Skip to main content

django-lsp

django-lsp is a Rust language server focused on Django ORM query completions. It uses Ruff's Python parser to build a static workspace index and follows Django model relations without importing or executing the project.

from .models import Blog

Blog.objects.filter(author__team__name__icontains="Django")

Installation

Install the language server from PyPI with uv:

uv tool install django-lsp

pipx install django-lsp and python -m pip install django-lsp are also supported. Confirm the installed executable is available with:

django-lsp --version

Point an editor's LSP client at the django-lsp command, with no arguments. The server uses standard input and output for LSP communication.

Visual Studio Code

Install the Django ORM Language Server extension for Visual Studio Code or Cursor. It runs django-lsp alongside Pylance, Pyright, Ruff, or another general Python language server and bundles the native server for supported platforms. See the extension README for configuration and development installation.

Zed

The repository includes a Zed extension that registers django-lsp alongside a general Python language server. It uses a server already installed on PATH, or downloads the matching executable from the latest GitHub release. See the extension README for development installation while its extension-gallery submission is in progress.

Documentation

  • Getting started covers installing, building, and connecting an editor.
  • Completion examples shows executable examples generated from the real LSP.
  • Configuration documents pyproject.toml options.
  • Testing explains the Rust, protocol, documentation, and Django compatibility test layers.

The website uses CrossDocs, the same documentation framework as Cross-Inertia. Preview the complete FastAPI and React application locally at http://localhost:8000 with:

cd website
uv sync --locked
bun install --frozen-lockfile
bun run serve

Current scope

  • workspace model indexing
  • completion inside filter(...), exclude(...), get(...), select_related(...), and prefetch_related(...)
  • forward, reverse, and recursive relation traversal
  • AUTH_USER_MODEL support
  • models re-exported from package __init__.py modules
  • function-local and dotted import resolution
  • unsaved editor buffer updates

Development

Building from source requires Rust 1.95 or newer.

cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo run --bin render-docs -- --check
cargo test --all-targets

Validate the documentation website separately with:

cd website
uv sync --locked
bun install --frozen-lockfile
bun run check
bun run build

The project intentionally does not provide Django runtime introspection, general Python language features, or exhaustive support for dynamic model-loading patterns.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

django_lsp-0.1.5-py3-none-win_amd64.whl (2.9 MB view details)

Uploaded Python 3Windows x86-64

django_lsp-0.1.5-py3-none-manylinux_2_28_x86_64.whl (2.9 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

django_lsp-0.1.5-py3-none-manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

django_lsp-0.1.5-py3-none-macosx_11_0_arm64.whl (2.8 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

django_lsp-0.1.5-py3-none-macosx_10_12_x86_64.whl (2.9 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file django_lsp-0.1.5-py3-none-win_amd64.whl.

File metadata

  • Download URL: django_lsp-0.1.5-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for django_lsp-0.1.5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 11ec215e16d45b78140b111424fcce593aa30e38eb0990b3f6d8b3ee83c4bc7b
MD5 b0772f83eaf43e264a2fd4c7d0b192e7
BLAKE2b-256 8e590e9be786e74853e6600b465ae9412c148034f1d591daf3fcc801a5f6752d

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_lsp-0.1.5-py3-none-win_amd64.whl:

Publisher: release.yml on patrick91/django-lsp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file django_lsp-0.1.5-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for django_lsp-0.1.5-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a311311017e0bf7c44df817b2d18b76e38754ddb02d0203bcdc754a139f52956
MD5 d7634036c3d6ab465b7642e7de0b6ec2
BLAKE2b-256 0031aa8d980c7c8334039f804d31c22ba6ec1f5eec6a3c4e471c69e71ca01ccd

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_lsp-0.1.5-py3-none-manylinux_2_28_x86_64.whl:

Publisher: release.yml on patrick91/django-lsp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file django_lsp-0.1.5-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for django_lsp-0.1.5-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 11f4e77c1af4e509da1ef056d872491911356a1ced5d6c45428a76d66eaaf5b5
MD5 a71916c0188366cca7adf606f57f18d4
BLAKE2b-256 6c2af3c0e9f31a50581ef89cd66ba948159f1f5800cee6830bfcaebffce08c63

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_lsp-0.1.5-py3-none-manylinux_2_28_aarch64.whl:

Publisher: release.yml on patrick91/django-lsp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file django_lsp-0.1.5-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for django_lsp-0.1.5-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c9d14997c0f4a8dfffc4ea38628b8943657fc1f36f2e26d343fd7feb50a75d7f
MD5 1f898fe078db9f4bd7974807ce86cacf
BLAKE2b-256 100d08ac1814b47e7011884fae61cd61a9a874b0b9129630ec4a83e032acf144

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_lsp-0.1.5-py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on patrick91/django-lsp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file django_lsp-0.1.5-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for django_lsp-0.1.5-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5d81b1140e7d8affda0744b4eee5028e73f181cd78c0e4d0e5441cf5ea519daf
MD5 1979fd9ff6cc79769ea2ed1a29932c5c
BLAKE2b-256 e96e3de7433224e788b5ad6f68b49bd568b0a6609c0f105e85f77c91e035a342

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_lsp-0.1.5-py3-none-macosx_10_12_x86_64.whl:

Publisher: release.yml on patrick91/django-lsp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page