Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 188 lines (122 sloc) 6.458 kb
98cf9f0 @davidhalter Jedi description update.
authored
1 ###################################################################
2 Jedi - an awesome autocompletion/static analysis library for Python
3 ###################################################################
5d17359 @davidhalter simple readme
authored
4
bed7c3f @dbrgn Some README fixes
dbrgn authored
5 .. image:: https://secure.travis-ci.org/davidhalter/jedi.png?branch=master
6 :target: http://travis-ci.org/davidhalter/jedi
7 :alt: Travis-CI build status
8
26cabd5 @dbrgn Added coverage report to README
dbrgn authored
9 .. image:: https://coveralls.io/repos/davidhalter/jedi/badge.png?branch=master
10 :target: https://coveralls.io/r/davidhalter/jedi
11 :alt: Coverage Status
12
b106dc2 @davidhalter Update the README to tell more about Python features.
authored
13
1e62350 @davidhalter Fix README glitches.
authored
14 *If you have specific questions, please add an issue or ask on* `stackoverflow
15 <https://stackoverflow.com>`_ *with the label* ``python-jedi``.
b106dc2 @davidhalter Update the README to tell more about Python features.
authored
16
17
98cf9f0 @davidhalter Jedi description update.
authored
18 Jedi is a static analysis tool for Python that can be used in IDEs/editors. Its
19 historic focus is autocompletion, but does static analysis for now as well.
20 Jedi is fast and is very well tested. It understands Python on a deeper level
21 than all other static analysis frameworks for Python.
adbb2d1 @davidhalter Readme improved
authored
22
98cf9f0 @davidhalter Jedi description update.
authored
23 Jedi has support for two different goto functions. It's possible to search for
24 related names and to list all names in a Python file and infer them. Jedi
25 understands docstrings and you can use Jedi autocompletion in your REPL as
26 well.
5d17359 @davidhalter simple readme
authored
27
4eced17 @davidhalter better API description README text
authored
28 Jedi uses a very simple API to connect with IDE's. There's a reference
e6b050c @dbrgn Updated README
dbrgn authored
29 implementation as a `VIM-Plugin <https://github.com/davidhalter/jedi-vim>`_,
98cf9f0 @davidhalter Jedi description update.
authored
30 which uses Jedi's autocompletion. We encourage you to use Jedi in your IDEs.
31 It's really easy.
adbb2d1 @davidhalter Readme improved
authored
32
98cf9f0 @davidhalter Jedi description update.
authored
33 Jedi can currently be used with the following editors:
18dbbad @davidhalter removed the plugin list in the wrong place
authored
34
06cd975 @dbrgn Added YCM to plugin list
dbrgn authored
35 - Vim (jedi-vim_, YouCompleteMe_)
df48457 @abingham Added link to emacs-ycmd.
abingham authored
36 - Emacs (Jedi.el_, elpy_, anaconda-mode_, ycmd_)
2899673 @davidhalter added anaconda, another sublime/jedi plugin, cc @srusskih and @DamnWi…
authored
37 - Sublime Text (SublimeJEDI_ [ST2 + ST3], anaconda_ [only ST3])
cedae32 @davidhalter Add SynWrite to supported editors.
authored
38 - SynWrite_
14aca97 @davidhalter forgot to change to docs - only changed the readme
authored
39 - TextMate_ (Not sure if it's actually working)
60aff6f @davidhalter A kate plugin uses Jedi, fixes #322
authored
40 - Kate_ version 4.13+ supports it natively, you have to enable it, though. [`proof
41 <https://projects.kde.org/projects/kde/applications/kate/repository/show?rev=KDE%2F4.13>`_]
06cd975 @dbrgn Added YCM to plugin list
dbrgn authored
42
43 And it powers the following projects:
44
60aff6f @davidhalter A kate plugin uses Jedi, fixes #322
authored
45 - wdb_ - Web Debugger
18dbbad @davidhalter removed the plugin list in the wrong place
authored
46
47
f122c9b @davidhalter Document the new features better in the next release.
authored
48 Here are some pictures taken from jedi-vim_:
9f7b586 @davidhalter added screenshots to readme
authored
49
e01a6cd @dbrgn Changed directory structure
dbrgn authored
50 .. image:: https://github.com/davidhalter/jedi/raw/master/docs/_screenshots/screenshot_complete.png
9f7b586 @davidhalter added screenshots to readme
authored
51
52 Completion for almost anything (Ctrl+Space).
53
e01a6cd @dbrgn Changed directory structure
dbrgn authored
54 .. image:: https://github.com/davidhalter/jedi/raw/master/docs/_screenshots/screenshot_function.png
9f7b586 @davidhalter added screenshots to readme
authored
55
56 Display of function/class bodies, docstrings.
57
e01a6cd @dbrgn Changed directory structure
dbrgn authored
58 .. image:: https://github.com/davidhalter/jedi/raw/master/docs/_screenshots/screenshot_pydoc.png
9f7b586 @davidhalter added screenshots to readme
authored
59
f122c9b @davidhalter Document the new features better in the next release.
authored
60 Pydoc support (Shift+k).
9f7b586 @davidhalter added screenshots to readme
authored
61
62 There is also support for goto and renaming.
63
e6b050c @dbrgn Updated README
dbrgn authored
64 Get the latest version from `github <https://github.com/davidhalter/jedi>`_
a0813fd @dbrgn Some README changes
dbrgn authored
65 (master branch should always be kind of stable/working).
3f270c8 @dbrgn Converted README: markdown to rst (fixexs #13)
dbrgn authored
66
49150d7 @IanLee1521 Fixed #525 - Point to readthedocs.org rather than jedidjah.ch
IanLee1521 authored
67 Docs are available at `https://jedi.readthedocs.org/en/latest/
68 <https://jedi.readthedocs.org/en/latest/>`_. Pull requests with documentation
3681ade @davidhalter improve README
authored
69 enhancements and/or fixes are awesome and most welcome. Jedi uses `semantic
70 versioning <http://semver.org/>`_.
5d17359 @davidhalter simple readme
authored
71
e6b050c @dbrgn Updated README
dbrgn authored
72
22a5904 Added installation instructions (fixes #31)
Danilo Bargen authored
73 Installation
74 ============
75
3681ade @davidhalter improve README
authored
76 pip install jedi
22a5904 Added installation instructions (fixes #31)
Danilo Bargen authored
77
78 Note: This just installs the Jedi library, not the editor plugins. For
79 information about how to make it work with your editor, refer to the
80 corresponding documentation.
81
3681ade @davidhalter improve README
authored
82 You don't want to use ``pip``? Please refer to the `manual
49150d7 @IanLee1521 Fixed #525 - Point to readthedocs.org rather than jedidjah.ch
IanLee1521 authored
83 <https://jedi.readthedocs.org/en/latest/docs/installation.html>`_.
3681ade @davidhalter improve README
authored
84
22a5904 Added installation instructions (fixes #31)
Danilo Bargen authored
85
31492a7 @dbrgn Simplified README
dbrgn authored
86 Feature Support and Caveats
87 ===========================
88
3681ade @davidhalter improve README
authored
89 Jedi really understands your Python code. For a comprehensive list what Jedi
b106dc2 @davidhalter Update the README to tell more about Python features.
authored
90 understands, see: `Features
49150d7 @IanLee1521 Fixed #525 - Point to readthedocs.org rather than jedidjah.ch
IanLee1521 authored
91 <https://jedi.readthedocs.org/en/latest/docs/features.html>`_. A list of
e6b050c @dbrgn Updated README
dbrgn authored
92 caveats can be found on the same page.
93
2b193cb @IanLee1521 Update list of supported cPython versions in readme
IanLee1521 authored
94 You can run Jedi on cPython 2.6, 2.7, 3.2, 3.3 or 3.4, but it should also
b3d9b6c @dbrgn Removed py25 related code (fixes #206)
dbrgn authored
95 understand/parse code older than those versions.
96
3681ade @davidhalter improve README
authored
97 Tips on how to use Jedi efficiently can be found `here
49150d7 @IanLee1521 Fixed #525 - Point to readthedocs.org rather than jedidjah.ch
IanLee1521 authored
98 <https://jedi.readthedocs.org/en/latest/docs/recipes.html>`_.
adbb2d1 @davidhalter Readme improved
authored
99
b106dc2 @davidhalter Update the README to tell more about Python features.
authored
100 API
101 ---
102
103 You can find the documentation for the `API here <https://jedi.readthedocs.org/en/latest/docs/plugin-api.html>`_.
104
105
106 Autocompletion / Goto / Pydoc
107 -----------------------------
108
109 Please check the API for a good explanation. There are the following commands:
110
111 - ``jedi.Script.goto_assignments``
112 - ``jedi.Script.completions``
113 - ``jedi.Script.usages``
114
115 The returned objects are very powerful and really all you might need.
116
117
118 Autocompletion in your REPL (IPython, etc.)
119 -------------------------------------------
120
121 It's possible to have Jedi autocompletion in REPL modes - `example video <https://vimeo.com/122332037>`_.
122 This means that IPython and others are `supported
123 <https://jedi.readthedocs.org/en/latest/docs/usage.html#tab-completion-in-the-python-shell>`_.
124
125
f122c9b @davidhalter Document the new features better in the next release.
authored
126 Static Analysis / Linter
127 ------------------------
b106dc2 @davidhalter Update the README to tell more about Python features.
authored
128
129 To do all forms of static analysis, please try to use ``jedi.names``. It will
130 return a list of names that you can use to infer types and so on.
131
132 Linting is another thing that is going to be part of Jedi. For now you can try
133 an alpha version ``python -m jedi linter``. The API might change though and
134 it's still buggy. It's Jedi's goal to be smarter than classic linter and
135 understand ``AttributeError`` and other code issues.
bed7c3f @dbrgn Some README fixes
dbrgn authored
136
22a5904 Added installation instructions (fixes #31)
Danilo Bargen authored
137
b106dc2 @davidhalter Update the README to tell more about Python features.
authored
138 Refactoring
139 -----------
327a1de @dbrgn Note about testing in README
dbrgn authored
140
2221f12 @davidhalter Make refactoring clause clearer.
authored
141 Jedi's parser would support refactoring, but there's no API to use it right
142 now. If you're interested in helping out here, let me know. With the latest
143 parser changes, it should be very easy to actually make it work.
6051b76 @davidhalter added a note on how to ask questions on stackoverflow to the readme, …
authored
144
327a1de @dbrgn Note about testing in README
dbrgn authored
145
3681ade @davidhalter improve README
authored
146 Development
147 ===========
148
149 There's a pretty good and extensive `development documentation
49150d7 @IanLee1521 Fixed #525 - Point to readthedocs.org rather than jedidjah.ch
IanLee1521 authored
150 <https://jedi.readthedocs.org/en/latest/docs/development.html>`_.
3681ade @davidhalter improve README
authored
151
152
327a1de @dbrgn Note about testing in README
dbrgn authored
153 Testing
154 =======
155
24573c5 @dbrgn Extended testing information in README
dbrgn authored
156 The test suite depends on ``tox`` and ``pytest``::
327a1de @dbrgn Note about testing in README
dbrgn authored
157
158 pip install tox pytest
24573c5 @dbrgn Extended testing information in README
dbrgn authored
159
160 To run the tests for all supported Python versions::
161
b3d9b6c @dbrgn Removed py25 related code (fixes #206)
dbrgn authored
162 tox
327a1de @dbrgn Note about testing in README
dbrgn authored
163
24573c5 @dbrgn Extended testing information in README
dbrgn authored
164 If you want to test only a specific Python version (e.g. Python 2.7), it's as
165 easy as ::
166
167 tox -e py27
168
327a1de @dbrgn Note about testing in README
dbrgn authored
169 Tests are also run automatically on `Travis CI
170 <https://travis-ci.org/davidhalter/jedi/>`_.
29575b2 @davidhalter add some testing notes of the readme to the documentation
authored
171
7d4fe30 @davidhalter change autocomplete screenshot, which contained wrong information for…
authored
172 For more detailed information visit the `testing documentation
49150d7 @IanLee1521 Fixed #525 - Point to readthedocs.org rather than jedidjah.ch
IanLee1521 authored
173 <https://jedi.readthedocs.org/en/latest/docs/testing.html>`_
06cd975 @dbrgn Added YCM to plugin list
dbrgn authored
174
175
176 .. _jedi-vim: https://github.com/davidhalter/jedi-vim
177 .. _youcompleteme: http://valloric.github.io/YouCompleteMe/
c5a2ba3 @dbrgn s/emacs-jedi/Jedi.el/g
dbrgn authored
178 .. _Jedi.el: https://github.com/tkf/emacs-jedi
9854a42 @davidhalter add elpy to the list of supported emacs implementations
authored
179 .. _elpy: https://github.com/jorgenschaefer/elpy
52bbedd @davidhalter renamed company-jedi to anaconda-mode, cc @proofit404
authored
180 .. _anaconda-mode: https://github.com/proofit404/anaconda-mode
df48457 @abingham Added link to emacs-ycmd.
abingham authored
181 .. _ycmd: https://github.com/abingham/emacs-ycmd
76ff9e3 @dbrgn s/svaiter/srusskih/g
dbrgn authored
182 .. _sublimejedi: https://github.com/srusskih/SublimeJEDI
2899673 @davidhalter added anaconda, another sublime/jedi plugin, cc @srusskih and @DamnWi…
authored
183 .. _anaconda: https://github.com/DamnWidget/anaconda
cedae32 @davidhalter Add SynWrite to supported editors.
authored
184 .. _SynWrite: http://uvviewsoft.com/synjedi/
06cd975 @dbrgn Added YCM to plugin list
dbrgn authored
185 .. _wdb: https://github.com/Kozea/wdb
eb1c6f8 @davidhalter add a TextMate plugin link, by @lawrenceakka
authored
186 .. _TextMate: https://github.com/lawrenceakka/python-jedi.tmbundle
60aff6f @davidhalter A kate plugin uses Jedi, fixes #322
authored
187 .. _Kate: http://kate-editor.org
Something went wrong with that request. Please try again.