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.43.0
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.43.0.tar.gz | 169.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hyperdjango-0.43.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 325.5 kB
Release files / hyperdjango-0.43.0.tar.gz
| Download URL | hyperdjango-0.43.0.tar.gz |
|---|---|
| Size | 169.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8333404e7ef99dc0c28487b51ef7a40407962827f89c68ac8373ac44a4df3049
|
|
BLAKE2b-256 checksum How to use checksums |
2729814297649c383f65fdfe9fd8dd82cd1f4c79062b3daf31a1deb5314d26d6
|
| 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.43.0-py3-none-any.whl
| Download URL | hyperdjango-0.43.0-py3-none-any.whl |
|---|---|
| Size | 156.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
11a77d01d83b03dfb879c3aa62f6aebb81d6288fe716cb5047531afc9eeb1392
|
|
BLAKE2b-256 checksum How to use checksums |
07e31756eea76b64ae1ae1bb27befa141a44f7848567015f08163ab0065cc481
|
| 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}
|