Skip to main content

HyperDjango

PyPI version Downloads License: MIT

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

hyperdjango-0.40.0.tar.gz (153.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hyperdjango-0.40.0-py3-none-any.whl (146.0 kB view details)

Uploaded Python 3

File details

Details for the file hyperdjango-0.40.0.tar.gz.

File metadata

  • Download URL: hyperdjango-0.40.0.tar.gz
  • Upload date:
  • Size: 153.4 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

Hashes for hyperdjango-0.40.0.tar.gz
Algorithm Hash digest
SHA256 c8e7c166ca632f550d4c6bd1e2122fc42c92235d8dd9f3b69673fa4cf0bd511b
MD5 9040f6bfa1291cafd40df57e174ae9d7
BLAKE2b-256 65bd28b5ac671f7f782bd524118bdb24bf422e8524182cf16c5a86dc7f940b8c

See more details on using hashes here.

File details

Details for the file hyperdjango-0.40.0-py3-none-any.whl.

File metadata

  • Download URL: hyperdjango-0.40.0-py3-none-any.whl
  • Upload date:
  • Size: 146.0 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

Hashes for hyperdjango-0.40.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3d0eca1f0d5b2bdb6a79dd3bc2e9b7e04b8dd8d56c0ed69121a54c6f1bd5a72a
MD5 dc3334e124d6f1cee26ab0da12412fb1
BLAKE2b-256 ba0c071d585ebae1d620eeb4fd75e5867e3a3d06e3e075816d753eaa5a56fcdb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page