Skip to content

Instantly share code, notes, and snippets.

@l34marr
Last active June 9, 2022 13:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save l34marr/46f508aee13b74672702 to your computer and use it in GitHub Desktop.
Save l34marr/46f508aee13b74672702 to your computer and use it in GitHub Desktop.
IPython

Installation

Basic Concepts

>>> a = 1 # What's the difference between the following operations? In [1]: print a In [2]: a

While the outlook values look preety much the same, there is a difference. The print statements use the "unofficial" string representation, while the bare value variable names use the "official" string representation.

>>> import datetime >>> t = datetime.datetime.now() In [1]: print t In [2]: t

class DoubleRep(object):
def __str__(self):

return "Hi, I'm a __str__"

def __repr__(self):

return "Hi, I'm a __repr__"

The standard Python prompt is >>>, whereas the IPython prompt consists of the word "In," followed by a number in brackets, floowed by a colon.

In [3]: print In In [4]: print Out

In [5]: type(In) In [6]: type(Out)

In is an IPython input list object and Out is a dict object. They, respectively, hold the input that you typed in and the output that none-None statements and expressions evaluated to.

Tab Completion

>>> import rlcompleter, readline >>> readline.parse_and_bind('tab: complete')

>>> import os >>> os.list<TAB> >>> os.ls<TAB><TAB>

Configuring IPython

.ipython/ipy_user_conf.py

Help with Magic Functions

In [1]: lsmagic In [2]: %<TAB> In [3]: %page ?

Unix Shell

alias

In [1]: alias nss netstat -lptn

Shell Execute

In [1]: user = 'marr' In [2]: process = 'bash' In [3]: !ps aux | grep $user | grep $process In [4]: l = !ps aux | grep $user | grep $process

rehash

rehashx

cd

Information Gathering

page

pdef

pdoc

pfile

pinfo

psource

psearch

Automation and Shortcuts

macro

store

reset

run

save

rep

kind: ConfigMap apiVersion: v1 metadata: name: elasticsearch-config-csc data: elasticsearch.yml: | cluster.name: "docker-cluster" network.host: 0.0.0.0 xpack.license.self_generated.type: trial xpack.monitoring.collection.enabled: true

kind: Deployment apiVersion: apps/v1 metadata: name: csc-elasticsearch spec: replicas: 1 selector: matchLabels: app: csc-elasticsearch template: metadata: labels: app: csc-elasticsearch spec: volumes: - name: config configMap: name: elasticsearch-config-csc defaultMode: 420 initContainers: - name: increase-vm-max-map image: busybox command: - sysctl - '-w' - vm.max_map_count=262144 securityContext: privileged: true containers: - name: csc-elasticsearch image: 'docker.elastic.co/elasticsearch/elasticsearch:7.15.2' ports: - containerPort: 9200 protocol: TCP - containerPort: 9300 protocol: TCP env: - name: ES_JAVA_OPTS value: '-Xms512m -Xmx512m' - name: discovery.type value: single-node volumeMounts: - name: config mountPath: /usr/share/elasticsearch/config/elasticsearch.yml subPath: elasticsearch.yml

kind: Service apiVersion: v1 metadata: name: csc-elasticsearch spec: ports: - name: csc-elasticsearch protocol: TCP port: 80 targetPort: 9200 selector: app: csc-elasticsearch type: ClusterIP sessionAffinity: None

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment