emacs-ipython-notebook/Demo.ipynb
John Miller fcb4040850 ein-completer: Robuster oinfo
By covering our ears and ignoring as much as possible. Apparently SyntaxError is
not a subtype of Exception. Also need to send raw strings otherwise unicode
characters will cause fits.

Also added new command, `ein:pytools-reinject` to reinject ein's pytools code.
The name could probably use some work.
2018-11-05 17:05:38 -06:00

490 lines
74 KiB
Text

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"autoscroll": false,
"collapsed": false,
"ein.hycell": false,
"ein.tags": "worksheet-0",
"execute-time": [
"2018-11-05T22:48:49.882723Z",
"2018-11-05T22:48:49.898378Z"
],
"slideshow": {
"slide_type": "-"
}
},
"outputs": [],
"source": [
"import ast"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"autoscroll": false,
"collapsed": false,
"ein.hycell": false,
"ein.tags": "worksheet-0",
"slideshow": {
"slide_type": "-"
}
},
"outputs": [],
"source": [
"ast.literal_eval()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"autoscroll": false,
"collapsed": false,
"ein.hy_cell": true,
"ein.hycell": false,
"ein.tags": "worksheet-0",
"execute-time": [
"2018-11-05T22:49:00.227520Z",
"2018-11-05T22:49:00.243212Z"
],
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"data": {
"text/plain": [
"'3.6.6 | packaged by conda-forge | (default, Jul 26 2018, 11:48:23) [MSC v.1900 64 bit (AMD64)]'"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import sys\n",
"sys.version\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"ein.tags": "worksheet-0",
"slideshow": {
"slide_type": "-"
}
},
"source": [
"c:/Users/mille/Miniconda3/envs/datascience/Library/bin/"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"autoscroll": false,
"collapsed": false,
"ein.hycell": false,
"ein.tags": "worksheet-0",
"execute-time": [
"2018-11-05T22:34:50.809004Z",
"2018-11-05T22:34:50.824630Z"
],
"slideshow": {
"slide_type": "-"
}
},
"outputs": [],
"source": [
"sys.path.append('C:\\\\Users\\\\Miniconda3\\\\envs\\\\datascience\\\\Library\\\\bin\\\\')"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"autoscroll": false,
"collapsed": false,
"ein.hycell": false,
"ein.tags": "worksheet-0",
"execute-time": [
"2018-11-05T22:49:41.133042Z",
"2018-11-05T22:49:41.164290Z"
],
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"data": {
"text/plain": [
"['',\n 'C:\\\\Users\\\\mille\\\\Miniconda3\\\\envs\\\\datascience\\\\python36.zip',\n 'C:\\\\Users\\\\mille\\\\Miniconda3\\\\envs\\\\datascience\\\\DLLs',\n 'C:\\\\Users\\\\mille\\\\Miniconda3\\\\envs\\\\datascience\\\\lib',\n 'C:\\\\Users\\\\mille\\\\Miniconda3\\\\envs\\\\datascience',\n 'C:\\\\Users\\\\mille\\\\Miniconda3\\\\envs\\\\datascience\\\\lib\\\\site-packages',\n 'C:\\\\Users\\\\mille\\\\Miniconda3\\\\envs\\\\datascience\\\\lib\\\\site-packages\\\\win32',\n 'C:\\\\Users\\\\mille\\\\Miniconda3\\\\envs\\\\datascience\\\\lib\\\\site-packages\\\\win32\\\\lib',\n 'C:\\\\Users\\\\mille\\\\Miniconda3\\\\envs\\\\datascience\\\\lib\\\\site-packages\\\\Pythonwin',\n 'C:\\\\Users\\\\mille\\\\Miniconda3\\\\envs\\\\datascience\\\\lib\\\\site-packages\\\\IPython\\\\extensions',\n 'C:\\\\Users\\\\mille\\\\.ipython']"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sys.path"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"autoscroll": false,
"collapsed": false,
"ein.hycell": false,
"ein.tags": "worksheet-0",
"execute-time": [
"2018-11-05T22:50:28.971341Z",
"2018-11-05T22:50:28.986926Z"
],
"slideshow": {
"slide_type": "-"
}
},
"outputs": [],
"source": [
"a = np.zeros((10,10))"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"autoscroll": false,
"collapsed": false,
"ein.hy_cell": true,
"ein.hycell": false,
"ein.tags": "worksheet-0",
"execute-time": [
"2018-11-05T22:49:25.379578Z",
"2018-11-05T22:49:27.232239Z"
],
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x1e4f5b6def0>]"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": [
"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\n"
],
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"def plotnormal():\n",
" return plt.plot(np.random.randn(1000), np.random.randn(1000), 'o', alpha=0.3)\n",
"plotnormal()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"autoscroll": false,
"collapsed": false,
"ein.hycell": false,
"ein.tags": "worksheet-0",
"slideshow": {
"slide_type": "-"
}
},
"outputs": [],
"source": [
"np.zeros_like()"
]
},
{
"cell_type": "markdown",
"metadata": {
"ein.tags": "worksheet-0",
"slideshow": {
"slide_type": "-"
}
},
"source": [
"Errors are shown in informative ways:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"autoscroll": false,
"collapsed": false,
"ein.hy_cell": true,
"ein.hycell": false,
"ein.tags": "worksheet-0",
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"ERROR: File `'non_existent_file.py'` not found.\n"
]
}
],
"source": [
"%run non_existent_file"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"autoscroll": false,
"collapsed": false,
"ein.hy_cell": true,
"ein.hycell": false,
"ein.tags": "worksheet-0",
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"ename": "ZeroDivisionError",
"evalue": "division by zero",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mZeroDivisionError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-4-dc39888fd1d2>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[0mx\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[0my\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m4\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mz\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m/\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m-\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[1;31mZeroDivisionError\u001b[0m: division by zero"
]
}
],
"source": [
"x = 1\n",
"y = 4\n",
"z = y/(1-x)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"autoscroll": false,
"collapsed": false,
"ein.hy_cell": true,
"ein.hycell": false,
"ein.tags": "worksheet-0",
"slideshow": {
"slide_type": "-"
}
},
"outputs": [],
"source": [
"ip = get_ipython()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"autoscroll": false,
"collapsed": false,
"ein.hy_cell": true,
"ein.hycell": false,
"ein.tags": "worksheet-0",
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Installed hierarchymagic.py. To use it, type:\n",
" %load_ext hierarchymagic\n"
]
}
],
"source": [
"%install_ext https://raw.github.com/anaderi/ipython-hierarchymagic/master/hierarchymagic.py"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"autoscroll": false,
"collapsed": false,
"ein.hy_cell": true,
"ein.hycell": false,
"ein.tags": "worksheet-0",
"slideshow": {
"slide_type": "-"
}
},
"outputs": [],
"source": [
"%load_ext hierarchymagic"
]
},
{
"cell_type": "markdown",
"metadata": {
"ein.tags": "worksheet-0",
"slideshow": {
"slide_type": "-"
}
},
"source": [
"You need graphviz installed and on your PATH for the following to work."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"autoscroll": false,
"collapsed": false,
"ein.hy_cell": true,
"ein.hycell": false,
"ein.tags": "worksheet-0",
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"ename": "FileNotFoundError",
"evalue": "[WinError 2] The system cannot find the file specified",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mFileNotFoundError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-2-9d6fb4693659>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mget_ipython\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmagic\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'hierarchy get_ipython()'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[1;32mC:\\Users\\millejoh\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\u001b[0m in \u001b[0;36mmagic\u001b[1;34m(self, arg_s)\u001b[0m\n\u001b[0;32m 2161\u001b[0m \u001b[0mmagic_name\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0m_\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmagic_arg_s\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0marg_s\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpartition\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m' '\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2162\u001b[0m \u001b[0mmagic_name\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmagic_name\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlstrip\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mprefilter\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mESC_MAGIC\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2163\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrun_line_magic\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmagic_name\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmagic_arg_s\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2164\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2165\u001b[0m \u001b[1;31m#-------------------------------------------------------------------------\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\Users\\millejoh\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\u001b[0m in \u001b[0;36mrun_line_magic\u001b[1;34m(self, magic_name, line)\u001b[0m\n\u001b[0;32m 2082\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'local_ns'\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msys\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_getframe\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mstack_depth\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mf_locals\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2083\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mbuiltin_trap\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2084\u001b[1;33m \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfn\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2085\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2086\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m<decorator-gen-126>\u001b[0m in \u001b[0;36mhierarchy\u001b[1;34m(self, parameter_s)\u001b[0m\n",
"\u001b[1;32mC:\\Users\\millejoh\\Anaconda3\\lib\\site-packages\\IPython\\core\\magic.py\u001b[0m in \u001b[0;36m<lambda>\u001b[1;34m(f, *a, **k)\u001b[0m\n\u001b[0;32m 191\u001b[0m \u001b[1;31m# but it's overkill for just that one bit of state.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 192\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mmagic_deco\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0marg\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 193\u001b[1;33m \u001b[0mcall\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mlambda\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 194\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 195\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mcallable\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0marg\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\Users\\millejoh\\.ipython\\extensions\\hierarchymagic.py\u001b[0m in \u001b[0;36mhierarchy\u001b[1;34m(self, parameter_s)\u001b[0m\n\u001b[0;32m 245\u001b[0m graph_attrs={'rankdir': args.rankdir,\n\u001b[0;32m 246\u001b[0m 'size': '\"{0}\"'.format(args.size)})\n\u001b[1;32m--> 247\u001b[1;33m \u001b[0mstdout\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mrun_dot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcode\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mformat\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'png'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 248\u001b[0m \u001b[0mdisplay_png\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mstdout\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mraw\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 249\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\Users\\millejoh\\.ipython\\extensions\\hierarchymagic.py\u001b[0m in \u001b[0;36mrun_dot\u001b[1;34m(code, options, format)\u001b[0m\n\u001b[0;32m 111\u001b[0m \u001b[1;31m# * http://stackoverflow.com/a/2935727/727827\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 112\u001b[0m p = Popen(dot_args, stdout=PIPE, stdin=PIPE, stderr=PIPE,\n\u001b[1;32m--> 113\u001b[1;33m creationflags=0x08000000)\n\u001b[0m\u001b[0;32m 114\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 115\u001b[0m \u001b[0mp\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mPopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdot_args\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mstdout\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mPIPE\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mstdin\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mPIPE\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mstderr\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mPIPE\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\Users\\millejoh\\Anaconda3\\lib\\subprocess.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds)\u001b[0m\n\u001b[0;32m 948\u001b[0m \u001b[0mc2pread\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mc2pwrite\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 949\u001b[0m \u001b[0merrread\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0merrwrite\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 950\u001b[1;33m restore_signals, start_new_session)\n\u001b[0m\u001b[0;32m 951\u001b[0m \u001b[1;32mexcept\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 952\u001b[0m \u001b[1;31m# Cleanup if the child failed starting.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\Users\\millejoh\\Anaconda3\\lib\\subprocess.py\u001b[0m in \u001b[0;36m_execute_child\u001b[1;34m(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, unused_restore_signals, unused_start_new_session)\u001b[0m\n\u001b[0;32m 1218\u001b[0m \u001b[0menv\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1219\u001b[0m \u001b[0mcwd\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1220\u001b[1;33m startupinfo)\n\u001b[0m\u001b[0;32m 1221\u001b[0m \u001b[1;32mfinally\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1222\u001b[0m \u001b[1;31m# Child is launched. Close the parent's copy of those pipe\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mFileNotFoundError\u001b[0m: [WinError 2] The system cannot find the file specified"
]
}
],
"source": [
"%hierarchy get_ipython()"
]
},
{
"cell_type": "markdown",
"metadata": {
"ein.tags": "worksheet-0",
"slideshow": {
"slide_type": "-"
}
},
"source": [
"EIN also supports pretty printing from SymPy."
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {
"autoscroll": false,
"collapsed": false,
"ein.hy_cell": true,
"ein.hycell": false,
"ein.tags": "worksheet-0",
"slideshow": {
"slide_type": "-"
}
},
"outputs": [],
"source": [
"from sympy.interactive import printing\n",
"printing.init_printing()\n",
"\n",
"import sympy as sym\n",
"from sympy import *\n",
"x, y, z = symbols(\"x y z\")\n",
"\n",
"Rational(3,2)*pi + exp(I*x) / (x**2 + y)"
]
},
{
"cell_type": "markdown",
"metadata": {
"ein.tags": "worksheet-0",
"slideshow": {
"slide_type": "-"
}
},
"source": [
"If you install px can you get the below to work?\n",
"\n",
"$a^2=b$\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {
"autoscroll": false,
"collapsed": false,
"ein.hy_cell": true,
"ein.hycell": false,
"ein.tags": "worksheet-0",
"slideshow": {
"slide_type": "-"
}
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Data Science (py36)",
"name": "datascience"
},
"name": "Demo.ipynb"
},
"nbformat": 4,
"nbformat_minor": 0
}