Python completions for packages, variables, methods, functions, with their arguments. Powered by your choice of Jedi or Kite.
This package provides the following services:
This package consumes the following services:
Python Autocomplete Package
Python packages, variables, methods and functions with their arguments autocompletion in Atom powered by your choice of Jedi or Kite.
Please note that this package is sponsored by Kite. More info is provided during the install screens of autocomplete-python.
See releases for release notes.
Jedi-driven release notes follow. For more about using the Kite completions engine see kite.com.
The package requires a recent version of jedi
:
pip install jedi
Demo
Features
-
Works with 🍎 Mac OSX, 🐧 Linux and 🏁 Windows.
-
Works with both 🐍 Python 2 and 3.
-
Automatic lookup of virtual environments inside of your projects.
-
Configurable additional packages to include for completions.
-
Prints first N characters of statement value while completing variables.
-
Prints function arguments while completing functions.
-
Go-to-definition functionality, by default on
Alt+Cmd+G
/Ctrl+Alt+G
. Thanks to @patrys for idea and implementation. -
Method override functionality. Available as
override-method
command. Thanks to @pchomik for idea and help. -
If you have Hyperclick installed – you can click on anything to go-to-definition
-
Show usages of selected object
-
Rename across multiple files. It will not touch files outside of your project, but it will change VCS ignored files. I'm not responsible for any broken projects without VCS because of this.
Configuration
-
If using a virtualenv with third-party packages, everything should "just work", but if it's not – use the
Python Executable Paths
and/orExtra Paths For Packages
configuration options to specify the virtualenv's site-packages. Or launch Atom from the activated virtualenv to get completion for your third-party packages -
Be sure to check package settings and adjust them. Please read them carefully before creating any new issues
- Set path to python executable if package cannot find it automatically
- Set extra path if package cannot autocomplete external python libraries
- Select one of autocomplete function parameters if you want function arguments to be completed
Common problems
- "Error: spawn UNKNOWN" on Windows
- Solution: Find your python executable and uncheck the "Run this program as an administrator". See issue #22
- You have a separated folder for virtualenvs (e.g. by using
virtualenvwrapper
) and all your virtualenvs are stored in e.g.~/.virtualenvs/
- Create symlink to venv from your project root
- OR
- Add virtualenv folder as additional project root
- OR
- Use a virtualenv with the same name as the folder name of your project and use $PROJECT_NAME variable to set path to python executable. You can use same variable to set extra paths as well. For example:
/Users/name/.virtualenvs/$PROJECT_NAME/bin/python3.4
- See issue #143
- Create symlink to venv from your project root
- No argument completion after I type left parenthesis character
- Likely this is because you have non standard keyboard layout.
Try to install the keyboard-localization package from: https://atom.io/packages/keyboard-localization
and use keymap generator to check what unicode character being generated after you type
(
. Currently we trigger argument completion only onU+0028
,U+0038
andU+0039
.
- Likely this is because you have non standard keyboard layout.
Try to install the keyboard-localization package from: https://atom.io/packages/keyboard-localization
and use keymap generator to check what unicode character being generated after you type