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.3
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.3.tar.gz | 163.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hyperdjango-0.42.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 315.7 kB
Release files / hyperdjango-0.42.3.tar.gz
| Download URL | hyperdjango-0.42.3.tar.gz |
|---|---|
| Size | 163.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
29d70cfdc2cd2967baaf2cce3095dd1d663288cbba32825d247d0c9cea17150b
|
|
BLAKE2b-256 checksum How to use checksums |
cbb172f223dfbd59444c554797ac37ff95325ff8228e99ead9346b55f21b4eb9
|
| 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.3-py3-none-any.whl
| Download URL | hyperdjango-0.42.3-py3-none-any.whl |
|---|---|
| Size | 151.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
265aede5ae8c5ac603cfc85911c7c4b0226d82c127f1ea103c4e4cb0b9811508
|
|
BLAKE2b-256 checksum How to use checksums |
cc0b43ec5c1deb23c715e38528bc0fd65a7e361e0f4ac4c874356ea951c38a64
|
| 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}
|