Skip to content

Commit d9de292

Browse files
committed
Reorganize installation documentation structure
Improves organization and flow of installation instructions based on logical grouping and user needs. Changes: - Move pre-built wheels info into package manager section where it's relevant - Move environment detection note to system-wide tool section where it's most helpful - Add proper PowerShell commands to Windows binary installation for parity with Linux/macOS - Move cargo build from source to end as the most advanced option - Remove redundant pre-built wheels section at the end
1 parent d91a4ed commit d9de292

File tree

1 file changed

+29
-22
lines changed

1 file changed

+29
-22
lines changed

README.md

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,14 @@ The Django Language Server can be installed using your preferred Python package
7575

7676
### Install with a package manager (recommended)
7777

78-
The language server is published to PyPI with pre-built wheels for common platforms. Installing it adds the `djls` command-line tool to your environment.
78+
The language server is published to PyPI with pre-built wheels for the following platforms:
79+
80+
- **Linux**: x86_64, aarch64 (both glibc and musl)
81+
- **macOS**: x86_64, aarch64
82+
- **Windows**: x64
83+
- **Source distribution**: Available for other platforms
84+
85+
Installing it adds the `djls` command-line tool to your environment.
7986

8087
#### System-wide tool installation
8188

@@ -95,6 +102,9 @@ uv tool install django-language-server
95102
pipx install django-language-server
96103
```
97104

105+
> [!NOTE]
106+
> The server will automatically detect and use your project's Python environment when you open a Django project. It needs access to your project's Django installation and other dependencies, but should be able to find these regardless of where the server itself is installed.
107+
98108
#### Install with pip
99109

100110
Install from PyPI using pip:
@@ -109,16 +119,6 @@ Or add as a development dependency with uv:
109119
uv add --dev django-language-server
110120
```
111121

112-
#### Install from source with cargo
113-
114-
Build and install directly from source using Rust's cargo:
115-
116-
```bash
117-
cargo install --git https://github.com/joshuadavidthomas/django-language-server djls --locked
118-
```
119-
120-
This requires a Rust toolchain (see [rust-toolchain.toml](rust-toolchain.toml) for the required version) and will compile the language server from source.
121-
122122
### Standalone binaries
123123

124124
Standalone binaries are available for macOS, Linux, and Windows from [GitHub Releases](https://github.com/joshuadavidthomas/django-language-server/releases).
@@ -147,21 +147,28 @@ sudo mv django-language-server-VERSION-linux-x64/djls /usr/local/bin/
147147

148148
#### Windows
149149

150-
Download the `.zip` file for Windows from the [releases page](https://github.com/joshuadavidthomas/django-language-server/releases), extract it, and add the directory containing `djls.exe` to your PATH.
150+
```powershell
151+
# Download the latest release for your platform
152+
# Example for Windows x64:
153+
Invoke-WebRequest -Uri "https://github.com/joshuadavidthomas/django-language-server/releases/latest/download/django-language-server-VERSION-windows-x64.zip" -OutFile "django-language-server-VERSION-windows-x64.zip"
151154
152-
### Pre-built wheels
155+
# Extract the archive
156+
Expand-Archive -Path "django-language-server-VERSION-windows-x64.zip" -DestinationPath .
153157
154-
The package provides pre-built wheels for the following platforms:
158+
# Move the binary to a location in your PATH (requires admin)
159+
# Or add the directory containing djls.exe to your PATH
160+
Move-Item -Path "django-language-server-VERSION-windows-x64\djls.exe" -Destination "$env:LOCALAPPDATA\Programs\djls.exe"
161+
```
155162

156-
- **Linux**: x86_64, aarch64 (both glibc and musl)
157-
- **macOS**: x86_64, aarch64
158-
- **Windows**: x64
159-
- **Source distribution**: Available for other platforms
163+
### Install from source with cargo
160164

161-
> [!NOTE]
162-
> The server will automatically detect and use your project's Python environment when you open a Django project. It needs access to your project's Django installation and other dependencies, but should be able to find these regardless of where the server itself is installed.
163-
>
164-
> It's recommended to use `uv` or `pipx` to install it system-wide for convenience, but installing in your project's environment will work just as well to give it a test drive around the block.
165+
Build and install directly from source using Rust's cargo:
166+
167+
```bash
168+
cargo install --git https://github.com/joshuadavidthomas/django-language-server djls --locked
169+
```
170+
171+
This requires a Rust toolchain (see [rust-toolchain.toml](rust-toolchain.toml) for the required version) and will compile the language server from source.
165172

166173
## Editor Setup
167174

0 commit comments

Comments
 (0)