/anaconda

Anaconda turns your Sublime Text 3 in a full featured Python development IDE including autocompletion, code linting, IDE features, autopep8 formating, McCabe complexity checker Vagrant and Docker support for Sublime Text 3 using Jedi, PyFlakes, pep8, MyPy, PyLint, pep257 and McCabe that will never freeze your Sublime Text 3

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

VERY IMPORTANT NOTICE, PLEASE, READ CAREFULLY

New versions of this plugin only works with Python >= 3.6 and requires Sublime Text 4 build >= 4107

This means versions higher than 2.2.3 will not work in Sublime Text 3

For Sublime Text 3 Users

If for whatever reason you can not - you do not want to upgrade to Sublime Text 4, remove Anaconda from your setup using Package Control, download v2.2.3, unpack it in your Users package directory and never ever try to install it through package control

Alternatives

The plugins ecosystem in Sublime Text have improved by a lot in the past few years, there are many alternatives to anaconda that might work better for you

Python: Give a try to LSP-pyright it works pretty well afaik
Go: More LSP plugins LSP-gopls works well and uses the official gopls server
Rust: Same for Rust LSP-rust-analyzer it is pretty ussable it needs a bit of tuning but it works well

For all of these ^^ you need to install LSP

Join the chat at https://gitter.im/DamnWidget/anaconda GitHub release Build Status Package Control

Anaconda

                                                      |
          _` |  __ \    _` |   __|   _ \   __ \    _` |   _` |
         (   |  |   |  (   |  (     (   |  |   |  (   |  (   |
        \__,_| _|  _| \__,_| \___| \___/  _|  _| \__,_| \__,_|
                                 The Sublime Text 4 Python IDE

Anaconda turns your Sublime Text 3 into a full featured Python IDE. Read the plugin documentation on http://damnwidget.github.io/anaconda.

Donations help keep this project alive. Donate today. PayPal

Build Status

Component Travis CI
JsonServer Build Status

Getting Started

Anaconda works out of the box but there are multitude of options and features that you can tune and adapt to your own style or needs.

License

This program is distributed under the terms of the GNU GPL v3. See the LICENSE file for more details.

Tooltips

anaconda officially supports user themeable tooltips and displaying advanced signatures. This is how it looks in a dark theme:

Tooltips Image

Note: This feature is enabled for users of Sublime Text 3 build 3070 or superior only.

Troubleshooting

This section lists some common issues faced by users, along with workarounds.

Anaconda does not appear in the Available Packages list on Package Control.

Work-around: You have to update your Package Control version to the version 2.0 or better.

Errors in the console about "the file can't be open" in worker.py file.

Your Sublime Text can't find the interpreter that you set in your configuration, by default, anaconda sets this as python so it will get your configured Python interpreter in your PATH (if any).

Work-around: Add a Python interpreter (named python) to your PATH or set a right full path to your python interpreter as parameter of python_interpreter settings option, for example /usr/local/bin/python3.4.

Auto-complete for import behaves badly.

Sublime Text 3's default Python package cancels the auto-completion when some words are detected (for example def or class). This list of words includes import.

Work-around: Create a new Python directory in your Packages directory and copy the contents of the file Completion Rules.tmPreferences there with the same name. Delete your Sublime Text Cache file Cache/Python/Completion Rules.tmPreferences.cache.

NOTE: The cache path can be obtained from the Sublime TExt 3 console using the code sublime.cache_path()

Auto-complete drop-down shows up incorrectly.

SublimeCodeIntel interferes with anaconda's auto-completion.

Work-around: Consider disabling SublimeCodeIntel for Python views or disabling/removing it completely when using anaconda.

Anaconda behaves slowly and jsonserver crashes

If you are in POSIX systems (Linux or OS X) take a look at the owner of the anaconda's jsonserver log files, they must be owned by your user or the jsonserver would be unable to start up. Log files can be found in:

  • GNU/Linux: ~/.local/share/anaconda/logs
  • OS X: ~/Library/Logs/anaconda
  • Windows: %APPDATA%\Anaconda\Logs

Contributing to Anaconda

There are several ways to contribute with anaconda.

Note: A Developers Documentation book is maintained up to date with the latest information about anaconda's internals and useful information about how to contribute to the project.

Feedback

Giving feedback about the plugin and how it works in your platform, helps make the plugin better.

Bug Hunting

Did you found a bug and you know how to fix it? First of all, Thank you very much. You just have to report the bug as a new issue, fork the repository, make your changes and send a new pull request.

Suggesting and Implementing Features

So you thought of a new killer feature to implement in Anaconda? Great! Open an issue for it and we will discuss it with you.

Available plugins for Anaconda

Anaconda is a plugable architecture platform itself, it means that anaconda can be extended to offer rich IDE like features to other languages, I created other extensions that brings anaconda capabilities to other languages, the complete list of them can be shown below

Language Web Site Package Control Status
Go https://github.com/DamnWidget/anaconda_go Yes Unmaintained
Rust https://github.com/DamnWidget/anaconda_rust Yes Unmaintained
PHP https://github.com/DamnWidget/anaconda_php Yes Unmaintained

Would you like to see your language empowered by anaconda? Use anaconda_rust or anaconda_php as templates and bring your language to life with anaconda's plugable architecture.

Donations

Please donate to help keep this project alive.

PayPal