This module contains variables with global Jedi settings. To change the behavior of Jedi, change the variables defined in jedi.settings.

Plugins should expose an interface so that the user can adjust the configuration.

Example usage:

from jedi import settings
settings.case_insensitive_completion = True

Completion output

jedi.settings.case_insensitive_completion = True

Completions are by default case insensitive.

jedi.settings.add_bracket_after_function = False

Adds an opening bracket after a function for completions.

Filesystem cache

jedi.settings.cache_directory = '/home/docs/.cache/jedi'

The path where the cache is stored.

On Linux, this defaults to ~/.cache/jedi/, on OS X to ~/Library/Caches/Jedi/ and on Windows to %LOCALAPPDATA%\Jedi\Jedi\. On Linux, if the environment variable $XDG_CACHE_HOME is set, $XDG_CACHE_HOME/jedi is used instead of the default one.


jedi.settings.fast_parser = True

Uses Parso’s diff parser. If it is enabled, this might cause issues, please read the warning on Script. This feature makes it possible to only parse the parts again that have changed, while reusing the rest of the syntax tree.

Dynamic stuff

jedi.settings.dynamic_array_additions = True

check for append, etc. on arrays: [], {}, () as well as list/set calls.

jedi.settings.dynamic_params = True

A dynamic param completion, finds the callees of the function, which define the params of a function.

jedi.settings.dynamic_params_for_other_modules = True

Do the same for other modules.

jedi.settings.auto_import_modules = ['gi']

Modules that will not be analyzed but imported, if they contain Python code. This improves autocompletion for libraries that use setattr or globals() modifications a lot.


jedi.settings.call_signatures_validity = 3.0

Finding function calls might be slow (0.1-0.5s). This is not acceptible for normal writing. Therefore cache it for a short time.