https://github.com/drorspei/ipython-suggestions
Get suggestions on misspelled names, and do system wide symbol searching in ipython
https://github.com/drorspei/ipython-suggestions
Last synced: about 1 year ago
JSON representation
Get suggestions on misspelled names, and do system wide symbol searching in ipython
- Host: GitHub
- URL: https://github.com/drorspei/ipython-suggestions
- Owner: drorspei
- License: mit
- Created: 2017-10-14T19:54:44.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-01-23T15:37:58.000Z (over 2 years ago)
- Last Synced: 2024-08-09T17:38:44.684Z (almost 2 years ago)
- Language: Python
- Size: 58.6 KB
- Stars: 1
- Watchers: 3
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# IPython Extension: ipython-suggestions
(i) Number one feature: system wide symbol searching!
When ipython is loaded, suggestions module will scan your python paths for
symbols and will create a cache. On the author's old 2008 computer (this
readme is from 2017), 50000 symbols load in 10 seconds.
But then you get a very easy way to import any symbol, without typing or
remembering the entrine import path.
First example:
In [1]: %findsymbol DecisionTreeClasifir # two typos here on purpose
Out[1]: 0 (C) from sklearn.tree import DecisionTreeClassifier
In [2]: %suggestion 0
from sklearn.tree import DecisionTreeClassifier # it's now imported!
%findsymbol searches string up to two character edits (deletion, substitution, transpose
and insertion).
Second example:
In [1]: %findsymbol pypl # now hit tab!
[this completes to:]
In [1]: %findsymbol pyplot...matplotlib # press enter now.
from matplotlib import pyplot
[pyplot is now imported]
Even better example:
In [1]: %findsymbol pypl # now hit tab!
[this completes to:]
In [1]: %findsymbol pyplot...matplotlib
[now add -as parameter]
In [1]: %findsymbol pyplot...matplotlib -as plt
from matplotlib import pyplot as plt
[pyplot is now imported as plt]
The completions offered by pressing tab in a %findsymbol line are all the
symbols that begin with what you wrote. Note that this is case-sensitive.
This also works in jupyter :)
(ii) Get suggestions on misspelled names:
In [1]: my_awesome_variable = 10
In [2]: 10 * my_awsome_variable ** 3
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
in ()
----> 1 10 * my_awsome_variable ** 3
NameError: name 'my_awsome_variable' is not defined
Did you mean:
0 my_awesome_variable
In [3]: %suggestion 0
[ipython automatically fills the next line]
In [4]: 10 * my_awesome_variable ** 3
Auto-filling of corrected code currently only works inside the shell and not
in jupyter.
# Installation
From pypi:
```shell
pip install ipython-suggestions
```
Or directly from source:
```shell
pip install git+https://github.com/drorspei/ipython-suggestions
```
then append the output of ``ipython -m ipython_suggestions``
to the output of ``ipython profile locate`` (typically
``~/.ipython/profile_default/ipython_config.py``).