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.
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.
- Documentation index provides the complete guide map.
Current scope
- workspace model indexing
- completion inside
filter(...),exclude(...), andget(...) - forward, reverse, and recursive relation traversal
AUTH_USER_MODELsupport- 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
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.2-py3-none-win_amd64.whl.
File metadata
- Download URL: django_lsp-0.1.2-py3-none-win_amd64.whl
- Upload date:
- Size: 2.8 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 |
2f9e3b00893a3999bbe7da2c7084fc541988ed756f792723d3c921b0b278a16b
|
|
| MD5 |
a21d61a00c581afa9aed5c1d9a45375e
|
|
| BLAKE2b-256 |
79f79f5e45a643e4995cc0b2a881ca7b1af620309c4bb2ccd78634a0f4457709
|
Provenance
The following attestation bundles were made for django_lsp-0.1.2-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.2-py3-none-win_amd64.whl -
Subject digest:
2f9e3b00893a3999bbe7da2c7084fc541988ed756f792723d3c921b0b278a16b - Sigstore transparency entry: 2367601824
- Sigstore integration time:
-
Permalink:
patrick91/django-lsp@44e2a0f44c04494cad3512cf2c819d2f4e495a30 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/patrick91
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@44e2a0f44c04494cad3512cf2c819d2f4e495a30 -
Trigger Event:
push
-
Statement type:
File details
Details for the file django_lsp-0.1.2-py3-none-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: django_lsp-0.1.2-py3-none-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.8 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 |
f5c99666d4d4603d2f5475f4ffe9c92662ee3a88130d9605d7acd7884b6d1666
|
|
| MD5 |
7634eaa8966310cd212dba9e45ef972a
|
|
| BLAKE2b-256 |
c3c67229ac5cd6cd5a9d72e7a40ca9ebae11a6642552c1fff8faec095fa5af08
|
Provenance
The following attestation bundles were made for django_lsp-0.1.2-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.2-py3-none-manylinux_2_28_x86_64.whl -
Subject digest:
f5c99666d4d4603d2f5475f4ffe9c92662ee3a88130d9605d7acd7884b6d1666 - Sigstore transparency entry: 2367601751
- Sigstore integration time:
-
Permalink:
patrick91/django-lsp@44e2a0f44c04494cad3512cf2c819d2f4e495a30 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/patrick91
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@44e2a0f44c04494cad3512cf2c819d2f4e495a30 -
Trigger Event:
push
-
Statement type:
File details
Details for the file django_lsp-0.1.2-py3-none-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: django_lsp-0.1.2-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 |
831322c229286a7f07a60cb52a2b3a046d057a21b4772d0c1fa147672083ac59
|
|
| MD5 |
2036e7148dcc6f55a379cf1d61a6c77c
|
|
| BLAKE2b-256 |
8e72f788caba9c260701335725e9e9f18c9e70e10a08eb6543f133090ede70fb
|
Provenance
The following attestation bundles were made for django_lsp-0.1.2-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.2-py3-none-manylinux_2_28_aarch64.whl -
Subject digest:
831322c229286a7f07a60cb52a2b3a046d057a21b4772d0c1fa147672083ac59 - Sigstore transparency entry: 2367601712
- Sigstore integration time:
-
Permalink:
patrick91/django-lsp@44e2a0f44c04494cad3512cf2c819d2f4e495a30 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/patrick91
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@44e2a0f44c04494cad3512cf2c819d2f4e495a30 -
Trigger Event:
push
-
Statement type:
File details
Details for the file django_lsp-0.1.2-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: django_lsp-0.1.2-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.7 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 |
ab1f5a365b8e34f1dd2a30ca4b34d9746983772b7acc1f212a0172235cf8aac2
|
|
| MD5 |
51c105eb8af29b796bada66507335ef0
|
|
| BLAKE2b-256 |
7bf750d6a0c8e23229ad46885bcc1f146e494c4eabfd031af115a32978db3250
|
Provenance
The following attestation bundles were made for django_lsp-0.1.2-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.2-py3-none-macosx_11_0_arm64.whl -
Subject digest:
ab1f5a365b8e34f1dd2a30ca4b34d9746983772b7acc1f212a0172235cf8aac2 - Sigstore transparency entry: 2367601585
- Sigstore integration time:
-
Permalink:
patrick91/django-lsp@44e2a0f44c04494cad3512cf2c819d2f4e495a30 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/patrick91
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@44e2a0f44c04494cad3512cf2c819d2f4e495a30 -
Trigger Event:
push
-
Statement type:
File details
Details for the file django_lsp-0.1.2-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: django_lsp-0.1.2-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 2.8 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 |
852f526ab18eef521a2c0ae4d62688f0c978b5df74363c90c509640a93003beb
|
|
| MD5 |
ac9d963d2cef6b730a789a360d6631b4
|
|
| BLAKE2b-256 |
792a0d1238341e0b724dd644cdfaa76f902952a35eb2c3b6e775e3f8bef71074
|
Provenance
The following attestation bundles were made for django_lsp-0.1.2-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.2-py3-none-macosx_10_12_x86_64.whl -
Subject digest:
852f526ab18eef521a2c0ae4d62688f0c978b5df74363c90c509640a93003beb - Sigstore transparency entry: 2367601645
- Sigstore integration time:
-
Permalink:
patrick91/django-lsp@44e2a0f44c04494cad3512cf2c819d2f4e495a30 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/patrick91
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@44e2a0f44c04494cad3512cf2c819d2f4e495a30 -
Trigger Event:
push
-
Statement type: