HyperDjango
Built by Charing Cross Capital
Build interactive Django apps without splitting your product into "backend API + SPA frontend".
HyperDjango keeps rendering and business logic on the server, then layers in partial swaps, signals, and transitions for SPA-like UX.
Documentation & Examples
For full API reference, guides, and interactive examples, please visit hyperdjango.charingcrosscapital.com.
Why This Works
- Keep business logic in Django, not duplicated across REST + frontend app layers.
- Get SPA-like interactions (partial swaps, toasts, transitions) with HTML as the transport.
- Organize by feature using file-based routes and co-located templates/assets in a
hyper/directory.
Quick Start
pip install hyperdjango
python manage.py hyper_scaffold
See the Installation guide for details.
Example App
A full runnable demo lives in example/. See example/README.md for instructions.
Contributing
We welcome contributions. HyperDjango requires Python 3.13 or later. The project
uses a PEP 735 dev dependency group (currently containing the test tools), not
a dev optional extra, so pip install -e .[dev] is not valid.
Clone the repository and enter it:
git clone https://github.com/charingcrosscapital/hyperdjango.git
cd hyperdjango
With uv (recommended)
uv reads the committed lockfile and installs the project plus its development
dependency group:
uv sync --group dev
uv run pytest
Browser integration tests
The end-to-end runtime suite uses the example project and requires Node.js 20
or later. Install its dependencies and Chromium, then run it from example/:
cd example
npm ci
npx playwright install chromium
npm run test:browser
With pip
Create a virtual environment, update to pip 25.1 or later, and install the
editable project with its dev dependency group:
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e . --group dev
pytest
Open a pull request with your changes and tests that cover them.
License
This project is licensed under the MIT License.
Metadata
Release files for hyperdjango 0.42.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hyperdjango-0.42.6.tar.gz | 165.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hyperdjango-0.42.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 317.1 kB
Release files / hyperdjango-0.42.6.tar.gz
| Download URL | hyperdjango-0.42.6.tar.gz |
|---|---|
| Size | 165.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4eb7b00bce00525d6f40f59004f7e2d1c046394583398a8a62e193c485ba1526
|
|
BLAKE2b-256 checksum How to use checksums |
a4874bb79a15e0a5d10070bf516dfe69f68da6d2b758dba183e82bb3038dacd6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / hyperdjango-0.42.6-py3-none-any.whl
| Download URL | hyperdjango-0.42.6-py3-none-any.whl |
|---|---|
| Size | 152.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bef13c6a7e2f70a0b0ea92621a42a408ea3c57c97e51d9eab517a0e2a97f83ec
|
|
BLAKE2b-256 checksum How to use checksums |
33c7ffc45f42fad450c07817273347fbf13695a4b528840e66eb53e4f26456c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|