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.tomloptions. - 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(...), andprefetch_related(...) - forward, reverse, and recursive relation traversal
AUTH_USER_MODELsupport- models re-exported from package
__init__.pymodules - 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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11ec215e16d45b78140b111424fcce593aa30e38eb0990b3f6d8b3ee83c4bc7b
|
|
| MD5 |
b0772f83eaf43e264a2fd4c7d0b192e7
|
|
| BLAKE2b-256 |
8e590e9be786e74853e6600b465ae9412c148034f1d591daf3fcc801a5f6752d
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_lsp-0.1.5-py3-none-win_amd64.whl -
Subject digest:
11ec215e16d45b78140b111424fcce593aa30e38eb0990b3f6d8b3ee83c4bc7b - Sigstore transparency entry: 2396453468
- Sigstore integration time:
-
Permalink:
patrick91/django-lsp@a12cc93db3d96be7c09c8d088e24e41a97f2b37c -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/patrick91
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a12cc93db3d96be7c09c8d088e24e41a97f2b37c -
Trigger Event:
push
-
Statement type:
File details
Details for the file django_lsp-0.1.5-py3-none-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: django_lsp-0.1.5-py3-none-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.9 MB
- Tags: Python 3, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a311311017e0bf7c44df817b2d18b76e38754ddb02d0203bcdc754a139f52956
|
|
| MD5 |
d7634036c3d6ab465b7642e7de0b6ec2
|
|
| BLAKE2b-256 |
0031aa8d980c7c8334039f804d31c22ba6ec1f5eec6a3c4e471c69e71ca01ccd
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_lsp-0.1.5-py3-none-manylinux_2_28_x86_64.whl -
Subject digest:
a311311017e0bf7c44df817b2d18b76e38754ddb02d0203bcdc754a139f52956 - Sigstore transparency entry: 2396454029
- Sigstore integration time:
-
Permalink:
patrick91/django-lsp@a12cc93db3d96be7c09c8d088e24e41a97f2b37c -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/patrick91
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a12cc93db3d96be7c09c8d088e24e41a97f2b37c -
Trigger Event:
push
-
Statement type:
File details
Details for the file django_lsp-0.1.5-py3-none-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: django_lsp-0.1.5-py3-none-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 2.7 MB
- Tags: Python 3, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11f4e77c1af4e509da1ef056d872491911356a1ced5d6c45428a76d66eaaf5b5
|
|
| MD5 |
a71916c0188366cca7adf606f57f18d4
|
|
| BLAKE2b-256 |
6c2af3c0e9f31a50581ef89cd66ba948159f1f5800cee6830bfcaebffce08c63
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_lsp-0.1.5-py3-none-manylinux_2_28_aarch64.whl -
Subject digest:
11f4e77c1af4e509da1ef056d872491911356a1ced5d6c45428a76d66eaaf5b5 - Sigstore transparency entry: 2396454528
- Sigstore integration time:
-
Permalink:
patrick91/django-lsp@a12cc93db3d96be7c09c8d088e24e41a97f2b37c -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/patrick91
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a12cc93db3d96be7c09c8d088e24e41a97f2b37c -
Trigger Event:
push
-
Statement type:
File details
Details for the file django_lsp-0.1.5-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: django_lsp-0.1.5-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.8 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9d14997c0f4a8dfffc4ea38628b8943657fc1f36f2e26d343fd7feb50a75d7f
|
|
| MD5 |
1f898fe078db9f4bd7974807ce86cacf
|
|
| BLAKE2b-256 |
100d08ac1814b47e7011884fae61cd61a9a874b0b9129630ec4a83e032acf144
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_lsp-0.1.5-py3-none-macosx_11_0_arm64.whl -
Subject digest:
c9d14997c0f4a8dfffc4ea38628b8943657fc1f36f2e26d343fd7feb50a75d7f - Sigstore transparency entry: 2396452982
- Sigstore integration time:
-
Permalink:
patrick91/django-lsp@a12cc93db3d96be7c09c8d088e24e41a97f2b37c -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/patrick91
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a12cc93db3d96be7c09c8d088e24e41a97f2b37c -
Trigger Event:
push
-
Statement type:
File details
Details for the file django_lsp-0.1.5-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: django_lsp-0.1.5-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 2.9 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d81b1140e7d8affda0744b4eee5028e73f181cd78c0e4d0e5441cf5ea519daf
|
|
| MD5 |
1979fd9ff6cc79769ea2ed1a29932c5c
|
|
| BLAKE2b-256 |
e96e3de7433224e788b5ad6f68b49bd568b0a6609c0f105e85f77c91e035a342
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_lsp-0.1.5-py3-none-macosx_10_12_x86_64.whl -
Subject digest:
5d81b1140e7d8affda0744b4eee5028e73f181cd78c0e4d0e5441cf5ea519daf - Sigstore transparency entry: 2396455104
- Sigstore integration time:
-
Permalink:
patrick91/django-lsp@a12cc93db3d96be7c09c8d088e24e41a97f2b37c -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/patrick91
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a12cc93db3d96be7c09c8d088e24e41a97f2b37c -
Trigger Event:
push
-
Statement type: