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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hyperdjango-0.42.1.tar.gz.
File metadata
- Download URL: hyperdjango-0.42.1.tar.gz
- Upload date:
- Size: 163.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70c8ca88c64206fab3b479e9ea4a65aff4da6cf5674a8e93701eb07f5ecfa0b6
|
|
| MD5 |
0b30a87bc98e02b35185518c9e3fddaa
|
|
| BLAKE2b-256 |
44dfea6079d2b67f2ad84c1f4d57cff8e64f3d35914a47b40e57b257a42f04a2
|
File details
Details for the file hyperdjango-0.42.1-py3-none-any.whl.
File metadata
- Download URL: hyperdjango-0.42.1-py3-none-any.whl
- Upload date:
- Size: 151.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c0ada808249ffe799242e52409bac807a9bda4eb3e2ee325bc1208d8cb29c64
|
|
| MD5 |
76584cb542af8dd01fc293ea59bfd30b
|
|
| BLAKE2b-256 |
8583ce12e32dd4f9bd7c5fecd79b41fab0a71a4f1f74d0464cf18df8dbe3bc81
|