New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

anakin-language-server

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

anakin-language-server

Yet another Jedi Python language server

  • 1.22
  • Source
  • PyPI
  • Socket score

Maintainers
1

Stand With Ukraine

anakin-language-server

Yet another Jedi Python language server

Requirements

  • Python >= 3.6
  • pygls >= 1.3, <1.4
  • Jedi >= 0.19
  • pyflakes ~= 2.2
  • pycodestyle ~= 2.5
  • yapf ~=0.30

Optional requirements

  • mypy

Implemented features

  • textDocument/completion
  • textDocument/hover
  • textDocument/signatureHelp
  • textDocument/definition
  • textDocument/references
  • textDocument/publishDiagnostics
  • textDocument/documentSymbol
  • textDocument/codeAction (Inline variable)
  • textDocument/formatting
  • textDocument/rangeFormatting
  • textDocument/rename
  • textDocument/documentHighlight

Initialization option

Also one can set VIRTUAL_ENV or CONDA_PREFIX before running anakinls so Jedi will find proper environment. See get_default_environment.

Diagnostics

Diagnostics are published on document open and save.

Diagnostics providers:

  • Jedi

    See get_syntax_errors.

  • pyflakes

  • pycodestyle

    Server restart is needed after changing one of the configuration files.

  • mypy

    Install mypy in the same environment as anakinls and set mypy_enabled configuration option.

Configuration options

Configuration options must be passed under anakinls key in workspace/didChangeConfiguration notification.

Available options:

OptionDescriptionDefault
help_on_hoverUse help instead of infer for textDocument/hover.True
completion_snippet_firstTweak sortText property so snippet completion appear before plain completion.False
completion_fuzzyValue of the fuzzy parameter for complete.False
diagnostic_on_openPublish diagnostics on textDocument/didOpenTrue
diagnostic_on_changePublish diagnostics on textDocument/didChangeFalse
diagnostic_on_savePublish diagnostics on textDocument/didSaveTrue
pyflakes_errorsDiagnostic severity will be set to Error if Pyflakes message class name is in this list. See Pyflakes messages.['UndefinedName']
pycodestyle_configIn addition to project and user level config, specify pycodestyle config file. Same as --config option for pycodestyle.None
mypy_enabledUse mypy to provide diagnostics.False
yapf_style_configEither a style name or a path to a file that contains formatting style settings.'pep8'
jedi_settingsGlobal Jedi settings.
E.g. set it to {"case_insensitive_completion": False} to turn off case insensitive completion
{}

Configuration example

Here is eglot configuration:

(defvar my/lsp-venv nil
  "Name of virtualenv.
Set it in project's dir-locals file.")

(defclass my/eglot-anakinls (eglot-lsp-server) ()
  :documentation
  "Own eglot server class.")

(cl-defmethod eglot-initialization-options ((_server my/eglot-anakinls))
  "Pass initialization param to anakinls."
  `(:venv ,(when my/lsp-venv
             (expand-file-name
              (concat "~/.virtualenvs/" my/lsp-venv)))))

;; Add this server to eglot programs to handle python-mode and run `anakinls'
(add-to-list 'eglot-server-programs
             '(python-mode my/eglot-anakinls "anakinls"))

;; Also treat UnusedVariable as error
(setq-default eglot-workspace-configuration
              '((:anakinls :pyflakes_errors ["UndefinedName" "UnusedVariable"])))

Installation

pip install anakin-language-server

Development

pip install pre-commit
pre-commit install

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc