mirror of
https://github.com/vale981/emacs-ipython-notebook
synced 2025-03-06 09:31:39 -05:00
657 lines
86 KiB
Text
657 lines
86 KiB
Text
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"source": [
|
|
"# Object Inspector"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"source": [
|
|
"Need to get python objects from strings. Is eval the best way?"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"import inspect"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"a=10"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"ename": "TypeError",
|
|
"evalue": "[<matplotlib.lines.Line2D object at 0x00000230960FF588>] is not a module, class, method, function, traceback, frame, or code object",
|
|
"output_type": "error",
|
|
"traceback": [
|
|
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
|
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
|
|
"\u001b[0;32m<ipython-input-8-5845b5b3edb0>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0m__import__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'ein_inspector'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgenerate_inspector_data\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'ax'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mglobals\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlocals\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
|
|
"\u001b[0;32mc:/Users/mille/Dropbox/Projects/emacs-ipython-notebook/lisp\\ein_inspector.py\u001b[0m in \u001b[0;36mgenerate_inspector_data\u001b[0;34m(obj_str, globals, locals)\u001b[0m\n\u001b[1;32m 34\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 35\u001b[0m \u001b[0modata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'type'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0modata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'repr'\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdetermine_object_type\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m---> 36\u001b[0;31m \u001b[0modata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'source_file'\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0minspect\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgetsourcefile\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 37\u001b[0m \u001b[0modata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'source_lines'\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0minspect\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgetsourcelines\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 38\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
"\u001b[0;32mC:\\Users\\mille\\Anaconda3\\lib\\inspect.py\u001b[0m in \u001b[0;36mgetsourcefile\u001b[0;34m(object)\u001b[0m\n\u001b[1;32m 658\u001b[0m \u001b[0mReturn\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mno\u001b[0m \u001b[0mway\u001b[0m \u001b[0mcan\u001b[0m \u001b[0mbe\u001b[0m \u001b[0midentified\u001b[0m \u001b[0mto\u001b[0m \u001b[0mget\u001b[0m \u001b[0mthe\u001b[0m \u001b[0msource\u001b[0m\u001b[1;33m.\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 659\u001b[0m \"\"\"\n\u001b[0;32m--> 660\u001b[0;31m \u001b[0mfilename\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgetfile\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobject\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 661\u001b[0m \u001b[0mall_bytecode_suffixes\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mimportlib\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmachinery\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mDEBUG_BYTECODE_SUFFIXES\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 662\u001b[0m \u001b[0mall_bytecode_suffixes\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[0mimportlib\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmachinery\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mOPTIMIZED_BYTECODE_SUFFIXES\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
"\u001b[0;32mC:\\Users\\mille\\Anaconda3\\lib\\inspect.py\u001b[0m in \u001b[0;36mgetfile\u001b[0;34m(object)\u001b[0m\n\u001b[1;32m 623\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mco_filename\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 624\u001b[0m raise TypeError('{!r} is not a module, class, method, '\n\u001b[0;32m--> 625\u001b[0;31m 'function, traceback, frame, or code object'.format(object))\n\u001b[0m\u001b[1;32m 626\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 627\u001b[0m \u001b[0mModuleInfo\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnamedtuple\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'ModuleInfo'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'name suffix mode module_type'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
"\u001b[0;31mTypeError\u001b[0m: [<matplotlib.lines.Line2D object at 0x00000230960FF588>] is not a module, class, method, function, traceback, frame, or code object"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"__import__('ein_inspector').generate_inspector_data('ax', globals(), locals())"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"module"
|
|
]
|
|
},
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"mylst = [1, 2, 3]\n",
|
|
"type(inspect)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"ename": "TypeError",
|
|
"evalue": "[1, 2, 3] is not a module, class, method, function, traceback, frame, or code object",
|
|
"output_type": "error",
|
|
"traceback": [
|
|
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
|
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
|
|
"\u001b[0;32m<ipython-input-14-5ce9bb5a72b4>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0minspect\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgetsourcefile\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmylst\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
|
|
"\u001b[0;32mC:\\Users\\mille\\Anaconda3\\lib\\inspect.py\u001b[0m in \u001b[0;36mgetsourcefile\u001b[0;34m(object)\u001b[0m\n\u001b[1;32m 658\u001b[0m \u001b[0mReturn\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mno\u001b[0m \u001b[0mway\u001b[0m \u001b[0mcan\u001b[0m \u001b[0mbe\u001b[0m \u001b[0midentified\u001b[0m \u001b[0mto\u001b[0m \u001b[0mget\u001b[0m \u001b[0mthe\u001b[0m \u001b[0msource\u001b[0m\u001b[1;33m.\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 659\u001b[0m \"\"\"\n\u001b[0;32m--> 660\u001b[0;31m \u001b[0mfilename\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgetfile\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobject\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 661\u001b[0m \u001b[0mall_bytecode_suffixes\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mimportlib\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmachinery\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mDEBUG_BYTECODE_SUFFIXES\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 662\u001b[0m \u001b[0mall_bytecode_suffixes\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[0mimportlib\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmachinery\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mOPTIMIZED_BYTECODE_SUFFIXES\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
"\u001b[0;32mC:\\Users\\mille\\Anaconda3\\lib\\inspect.py\u001b[0m in \u001b[0;36mgetfile\u001b[0;34m(object)\u001b[0m\n\u001b[1;32m 623\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mco_filename\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 624\u001b[0m raise TypeError('{!r} is not a module, class, method, '\n\u001b[0;32m--> 625\u001b[0;31m 'function, traceback, frame, or code object'.format(object))\n\u001b[0m\u001b[1;32m 626\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 627\u001b[0m \u001b[0mModuleInfo\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnamedtuple\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'ModuleInfo'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'name suffix mode module_type'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
"\u001b[0;31mTypeError\u001b[0m: [1, 2, 3] is not a module, class, method, function, traceback, frame, or code object"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"inspect.getsourcefile(mylst)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<module 'inspect' from 'C:\\\\Users\\\\mille\\\\Anaconda3\\\\lib\\\\inspect.py'>"
|
|
]
|
|
},
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"eval('inspect')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"ename": "TypeError",
|
|
"evalue": "10 is not a module, class, method, function, traceback, frame, or code object",
|
|
"output_type": "error",
|
|
"traceback": [
|
|
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
|
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
|
|
"\u001b[0;32m<ipython-input-16-01e131c13b92>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0minspect\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgetsource\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
|
|
"\u001b[0;32mC:\\Users\\mille\\Anaconda3\\lib\\inspect.py\u001b[0m in \u001b[0;36mgetsource\u001b[0;34m(object)\u001b[0m\n\u001b[1;32m 942\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0mcode\u001b[0m \u001b[0mobject\u001b[0m\u001b[1;33m.\u001b[0m \u001b[0mThe\u001b[0m \u001b[0msource\u001b[0m \u001b[0mcode\u001b[0m \u001b[1;32mis\u001b[0m \u001b[0mreturned\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0ma\u001b[0m \u001b[0msingle\u001b[0m \u001b[0mstring\u001b[0m\u001b[1;33m.\u001b[0m \u001b[0mAn\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 943\u001b[0m OSError is raised if the source code cannot be retrieved.\"\"\"\n\u001b[0;32m--> 944\u001b[0;31m \u001b[0mlines\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlnum\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgetsourcelines\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobject\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 945\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;34m''\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mjoin\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlines\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 946\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
"\u001b[0;32mC:\\Users\\mille\\Anaconda3\\lib\\inspect.py\u001b[0m in \u001b[0;36mgetsourcelines\u001b[0;34m(object)\u001b[0m\n\u001b[1;32m 929\u001b[0m raised if the source code cannot be retrieved.\"\"\"\n\u001b[1;32m 930\u001b[0m \u001b[0mobject\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0munwrap\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobject\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m--> 931\u001b[0;31m \u001b[0mlines\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlnum\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfindsource\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobject\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 932\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 933\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mismodule\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobject\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
"\u001b[0;32mC:\\Users\\mille\\Anaconda3\\lib\\inspect.py\u001b[0m in \u001b[0;36mfindsource\u001b[0;34m(object)\u001b[0m\n\u001b[1;32m 742\u001b[0m is raised if the source code cannot be retrieved.\"\"\"\n\u001b[1;32m 743\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m--> 744\u001b[0;31m \u001b[0mfile\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgetsourcefile\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobject\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 745\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mfile\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 746\u001b[0m \u001b[1;31m# Invalidate cache if needed.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
"\u001b[0;32mC:\\Users\\mille\\Anaconda3\\lib\\inspect.py\u001b[0m in \u001b[0;36mgetsourcefile\u001b[0;34m(object)\u001b[0m\n\u001b[1;32m 658\u001b[0m \u001b[0mReturn\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mno\u001b[0m \u001b[0mway\u001b[0m \u001b[0mcan\u001b[0m \u001b[0mbe\u001b[0m \u001b[0midentified\u001b[0m \u001b[0mto\u001b[0m \u001b[0mget\u001b[0m \u001b[0mthe\u001b[0m \u001b[0msource\u001b[0m\u001b[1;33m.\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 659\u001b[0m \"\"\"\n\u001b[0;32m--> 660\u001b[0;31m \u001b[0mfilename\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgetfile\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobject\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 661\u001b[0m \u001b[0mall_bytecode_suffixes\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mimportlib\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmachinery\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mDEBUG_BYTECODE_SUFFIXES\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 662\u001b[0m \u001b[0mall_bytecode_suffixes\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[0mimportlib\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmachinery\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mOPTIMIZED_BYTECODE_SUFFIXES\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
"\u001b[0;32mC:\\Users\\mille\\Anaconda3\\lib\\inspect.py\u001b[0m in \u001b[0;36mgetfile\u001b[0;34m(object)\u001b[0m\n\u001b[1;32m 623\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mco_filename\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 624\u001b[0m raise TypeError('{!r} is not a module, class, method, '\n\u001b[0;32m--> 625\u001b[0;31m 'function, traceback, frame, or code object'.format(object))\n\u001b[0m\u001b[1;32m 626\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 627\u001b[0m \u001b[0mModuleInfo\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnamedtuple\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'ModuleInfo'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'name suffix mode module_type'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
"\u001b[0;31mTypeError\u001b[0m: 10 is not a module, class, method, function, traceback, frame, or code object"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"inspect.getsource(a)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"False"
|
|
]
|
|
},
|
|
"execution_count": 18,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"inspect.isbuiltin(a)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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\nYII=\n",
|
|
"text/plain": [
|
|
"<matplotlib.figure.Figure at 0x2309609c128>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"%matplotlib inline\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"import numpy as np\n",
|
|
"ax = plt.plot(np.random.randn(1000), np.random.randn(1000), 'o', alpha=0.3)\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[<matplotlib.lines.Line2D at 0x230960ff588>]"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"ax"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[<matplotlib.lines.Line2D at 0x230960ff588>]"
|
|
]
|
|
},
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"eval('ax')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"\"list() -> new empty list\\nlist(iterable) -> new list initialized from iterable's items\""
|
|
]
|
|
},
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"inspect.getdoc(ax)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[('__abs__', <method-wrapper '__abs__' of int object at 0x00000000664B0310>),\n ('__add__', <method-wrapper '__add__' of int object at 0x00000000664B0310>),\n ('__and__', <method-wrapper '__and__' of int object at 0x00000000664B0310>),\n ('__bool__', <method-wrapper '__bool__' of int object at 0x00000000664B0310>),\n ('__ceil__', <function int.__ceil__>),\n ('__class__', int),\n ('__delattr__',\n <method-wrapper '__delattr__' of int object at 0x00000000664B0310>),\n ('__dir__', <function int.__dir__>),\n ('__divmod__',\n <method-wrapper '__divmod__' of int object at 0x00000000664B0310>),\n ('__doc__',\n \"int(x=0) -> integer\\nint(x, base=10) -> integer\\n\\nConvert a number or string to an integer, or return 0 if no arguments\\nare given. If x is a number, return x.__int__(). For floating point\\nnumbers, this truncates towards zero.\\n\\nIf x is not a number or if base is given, then x must be a string,\\nbytes, or bytearray instance representing an integer literal in the\\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\\nBase 0 means to interpret the base from the string as an integer literal.\\n>>> int('0b100', base=0)\\n4\"),\n ('__eq__', <method-wrapper '__eq__' of int object at 0x00000000664B0310>),\n ('__float__',\n <method-wrapper '__float__' of int object at 0x00000000664B0310>),\n ('__floor__', <function int.__floor__>),\n ('__floordiv__',\n <method-wrapper '__floordiv__' of int object at 0x00000000664B0310>),\n ('__format__', <function int.__format__>),\n ('__ge__', <method-wrapper '__ge__' of int object at 0x00000000664B0310>),\n ('__getattribute__',\n <method-wrapper '__getattribute__' of int object at 0x00000000664B0310>),\n ('__getnewargs__', <function int.__getnewargs__>),\n ('__gt__', <method-wrapper '__gt__' of int object at 0x00000000664B0310>),\n ('__hash__', <method-wrapper '__hash__' of int object at 0x00000000664B0310>),\n ('__index__',\n <method-wrapper '__index__' of int object at 0x00000000664B0310>),\n ('__init__', <method-wrapper '__init__' of int object at 0x00000000664B0310>),\n ('__int__', <method-wrapper '__int__' of int object at 0x00000000664B0310>),\n ('__invert__',\n <method-wrapper '__invert__' of int object at 0x00000000664B0310>),\n ('__le__', <method-wrapper '__le__' of int object at 0x00000000664B0310>),\n ('__lshift__',\n <method-wrapper '__lshift__' of int object at 0x00000000664B0310>),\n ('__lt__', <method-wrapper '__lt__' of int object at 0x00000000664B0310>),\n ('__mod__', <method-wrapper '__mod__' of int object at 0x00000000664B0310>),\n ('__mul__', <method-wrapper '__mul__' of int object at 0x00000000664B0310>),\n ('__ne__', <method-wrapper '__ne__' of int object at 0x00000000664B0310>),\n ('__neg__', <method-wrapper '__neg__' of int object at 0x00000000664B0310>),\n ('__new__', <function int.__new__>),\n ('__or__', <method-wrapper '__or__' of int object at 0x00000000664B0310>),\n ('__pos__', <method-wrapper '__pos__' of int object at 0x00000000664B0310>),\n ('__pow__', <method-wrapper '__pow__' of int object at 0x00000000664B0310>),\n ('__radd__', <method-wrapper '__radd__' of int object at 0x00000000664B0310>),\n ('__rand__', <method-wrapper '__rand__' of int object at 0x00000000664B0310>),\n ('__rdivmod__',\n <method-wrapper '__rdivmod__' of int object at 0x00000000664B0310>),\n ('__reduce__', <function int.__reduce__>),\n ('__reduce_ex__', <function int.__reduce_ex__>),\n ('__repr__', <method-wrapper '__repr__' of int object at 0x00000000664B0310>),\n ('__rfloordiv__',\n <method-wrapper '__rfloordiv__' of int object at 0x00000000664B0310>),\n ('__rlshift__',\n <method-wrapper '__rlshift__' of int object at 0x00000000664B0310>),\n ('__rmod__', <method-wrapper '__rmod__' of int object at 0x00000000664B0310>),\n ('__rmul__', <method-wrapper '__rmul__' of int object at 0x00000000664B0310>),\n ('__ror__', <method-wrapper '__ror__' of int object at 0x00000000664B0310>),\n ('__round__', <function int.__round__>),\n ('__rpow__', <method-wrapper '__rpow__' of int object at 0x00000000664B0310>),\n ('__rrshift__',\n <method-wrapper '__rrshift__' of int object at 0x00000000664B0310>),\n ('__rshift__',\n <method-wrapper '__rshift__' of int object at 0x00000000664B0310>),\n ('__rsub__', <method-wrapper '__rsub__' of int object at 0x00000000664B0310>),\n ('__rtruediv__',\n <method-wrapper '__rtruediv__' of int object at 0x00000000664B0310>),\n ('__rxor__', <method-wrapper '__rxor__' of int object at 0x00000000664B0310>),\n ('__setattr__',\n <method-wrapper '__setattr__' of int object at 0x00000000664B0310>),\n ('__sizeof__', <function int.__sizeof__>),\n ('__str__', <method-wrapper '__str__' of int object at 0x00000000664B0310>),\n ('__sub__', <method-wrapper '__sub__' of int object at 0x00000000664B0310>),\n ('__subclasshook__', <function int.__subclasshook__>),\n ('__truediv__',\n <method-wrapper '__truediv__' of int object at 0x00000000664B0310>),\n ('__trunc__', <function int.__trunc__>),\n ('__xor__', <method-wrapper '__xor__' of int object at 0x00000000664B0310>),\n ('bit_length', <function int.bit_length>),\n ('conjugate', <function int.conjugate>),\n ('denominator', 1),\n ('from_bytes', <function int.from_bytes>),\n ('imag', 0),\n ('numerator', 10),\n ('real', 10),\n ('to_bytes', <function int.to_bytes>)]"
|
|
]
|
|
},
|
|
"execution_count": 18,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"inspect.getmembers(a)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"source": [
|
|
"# Adding Imenu Support"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"source": [
|
|
"## Subheader"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"source": [
|
|
"Seems to be a couple ways of doing this:\n",
|
|
"\n",
|
|
"1. Configuring a [imenu-generic-expression](http://emacswiki.org/emacs/ImenuMode#toc12) regex's.\n",
|
|
"\n",
|
|
"2. Redifining imenu-create-index ala python.el.\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 19,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def func():\n",
|
|
" pass\n",
|
|
"\n",
|
|
"\n",
|
|
"class my_class(object):\n",
|
|
" def __init__(self):\n",
|
|
" pass\n",
|
|
"\n",
|
|
"\n",
|
|
"class my_class(object):\n",
|
|
" def __init__(self):\n",
|
|
" pass\n",
|
|
"\n",
|
|
" def funcme(arg1):\n",
|
|
" pass\n",
|
|
"\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"source": [
|
|
"# Another Header"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": 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-2-05c9758a9c21>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;36m1\u001b[0m\u001b[1;33m/\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
|
|
"\u001b[1;31mZeroDivisionError\u001b[0m: division by zero"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"1/0"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"import inspect"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"2"
|
|
]
|
|
},
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"1+1"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<module 'inspect' from 'C:\\\\Users\\\\millejoh\\\\Miniconda3\\\\envs\\\\py34\\\\lib\\\\inspect.py'>"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"inspect"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 0,
|
|
"metadata": {
|
|
"autoscroll": "json-false",
|
|
"collapsed": false,
|
|
"ein.tags": [
|
|
"worksheet-0"
|
|
],
|
|
"slideshow": {
|
|
"slide_type": "-"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python [default]",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.4.3"
|
|
},
|
|
"name": "Development Ideas.ipynb"
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 0
|
|
}
|