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.

Documentation

Current scope

  • workspace model indexing
  • completion inside filter(...), exclude(...), and get(...)
  • forward, reverse, and recursive relation traversal
  • AUTH_USER_MODEL support
  • 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

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.1-py3-none-win_amd64.whl (2.8 MB view details)

Uploaded Python 3Windows x86-64

django_lsp-0.1.1-py3-none-manylinux_2_28_x86_64.whl (2.8 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

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

Uploaded Python 3manylinux: glibc 2.28+ ARM64

django_lsp-0.1.1-py3-none-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

django_lsp-0.1.1-py3-none-macosx_10_12_x86_64.whl (2.8 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: django_lsp-0.1.1-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

Hashes for django_lsp-0.1.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 8e2b5d321fda8d7c8efe5a7aed4f6eee9f6f6ab0d252e6e18f7dba007c8ad1e1
MD5 1522bf7d8014f487bc017f8c54cf6a97
BLAKE2b-256 06250eb404b6b74218d0d8b822240a4b67d6c25a7035d24934bda1d734a7d041

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_lsp-0.1.1-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.1-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for django_lsp-0.1.1-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d8af78a676008ca1df86dd3caa7ae59cf87dc9ad570aff7d8f5ebfdc61b3dd00
MD5 e2bb2f7fcc1b21f500ac54eddd886714
BLAKE2b-256 749964a39fe5e269bbb10647899c063acb36d3cbdfab1a8d9e808563c9f242db

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_lsp-0.1.1-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.1-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for django_lsp-0.1.1-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 39dedd359fbd290c25ed6cac40bc1f123802f21a738ae16ccbf290cf08a0f013
MD5 52591bd0cc1c4a059ed4c021c7b90b1f
BLAKE2b-256 6dc1055370163d6d8f6db96d9c204a91baa0541010bd2ad5ad1680ae7f421fd7

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_lsp-0.1.1-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.1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for django_lsp-0.1.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 202c486e46309ebcc08f7076eebb99d5b5834385dc94de64b39cf58b8f0d2f40
MD5 c30c6096a7f43497fff56b9dcbeafd89
BLAKE2b-256 ffdd12dd7d284e889c22fedd4e60d1b1139ea8fa7d65afb1f2f1a001f5979762

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_lsp-0.1.1-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.1-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for django_lsp-0.1.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 56e8d3034cc0bb1b912887ade9b7acf146d84b4f19db92b67e772e3eb11405ad
MD5 c71328908860d4c0c49b6e2e297a6ebe
BLAKE2b-256 380d7155e24f0234c07fd14a6e6d1beeedf6aa7d5b04320e7935cf32fbdfb68c

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_lsp-0.1.1-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