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.5
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.5.tar.gz | 164.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hyperdjango-0.42.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 316.5 kB
Release files / hyperdjango-0.42.5.tar.gz
| Download URL | hyperdjango-0.42.5.tar.gz |
|---|---|
| Size | 164.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
89ca702c9411211d14eee24d4c623d449f7b3e76a9ac6e2cf3a88ba3a8966625
|
|
BLAKE2b-256 checksum How to use checksums |
8428114ee8dd148e40420767107d7538553ecca49df38b498c4f4fc1edaca91f
|
| 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.5-py3-none-any.whl
| Download URL | hyperdjango-0.42.5-py3-none-any.whl |
|---|---|
| Size | 152.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5bfd39c5fe61994404920a46843130ef023f0304bf1842388d3cb3bccee4d654
|
|
BLAKE2b-256 checksum How to use checksums |
df519eb0b9d87ae5b54fdf760c9f0c847b6cc314daa50dda7f704bb9ef58b13b
|
| 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}
|