Django app installer and registry CLI
Project description
djux
djux is a CLI and registry for adding production-ready Django app templates to a project in one command. It handles the repetitive setup work: app files, Django settings, URL wiring, pip dependencies, and migrations.
pip install djux
djux new myproject
cd myproject
djux add auth
Think of it as a Django app installer where the installed code is copied into your project so you can own it, edit it, and ship it like normal Django code.
Vision
Djux aims to make reusable Django app templates easier to discover, install, inspect, and customize. The project is intentionally open to community feedback: the registry should grow around apps Django developers actually want, with a safe update story for vendored app code.
Current focus:
- Core app templates such as
auth,users,api-keys, andfiles. - AI-ready templates such as
ai-models,ai-prompts,ai-chat,ai-usage, andai-rag. - A safer update workflow for copied app code:
djux outdatedanddjux update <app>.
See APP_ROADMAP.md for the full roadmap.
Installation
Requires Python 3.10+.
pip install djux
Verify:
djux --version
Quick start
# 1. Create a new project
djux new myproject
cd myproject
# 2. Set up your environment
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
# 3. Run initial migrations and start the server
python manage.py migrate
python manage.py runserver
# 4. Add apps
djux add auth
See docs/getting-started.md for a full walkthrough.
Available apps
| Name | Description | Tags |
|---|---|---|
auth |
JWT authentication: register, login, logout, refresh, me | auth jwt api |
users |
User profiles, avatars, preferences | planned |
api-keys |
API keys, scopes, rotation, revocation | planned |
ai-chat |
Basic chat API with conversation history | planned ai |
ai-models |
Provider/model registry and model selection | planned ai |
djux list
How it works
djux add <app> currently:
- Looks up the app in the registry.
- Downloads and extracts the app zip from GitHub.
- Validates the
djux.jsonmanifest. - Copies the
app/folder into your project'sapps/directory. - Patches
config/settings.pywithINSTALLED_APPSentries and settings blocks. - Patches
config/urls.pywith the route include. - Runs
pip installfor declared dependencies. - Runs
python manage.py migrateif the app has migrations. - Records the installed app in
djux.project.json.
Installed apps are vendored into the project. That means developers fully own the copied code after install.
Project layout
myproject/
|-- config/
| |-- settings.py # djux patches INSTALLED_APPS here
| `-- urls.py # djux adds URL includes here
|-- apps/ # all Django apps land here
|-- templates/
|-- static/
|-- manage.py
|-- djux.project.json # tracks installed apps
`-- requirements.txt
Documentation
| Document | Contents |
|---|---|
| Getting started | Install, scaffold, first app, what changed |
| CLI reference | Commands, options, errors |
| Creating apps | Build and publish a djux app |
| Manifest spec | djux.json contract and versioning rules |
| App conventions | Naming, layout, settings, migrations |
| Update design | Planned djux outdated and djux update <app> flow |
| Smoke test checklist | Quality checklist for official apps |
| Registry | Registry format, caching, custom registries |
Repositories
| Repo | Purpose |
|---|---|
| djuxhq/djux | CLI and project template |
| djuxhq/djux-registry | Registry index |
| djuxhq/djux-app-auth | Official auth app |
Contributing
Contributors and testers are welcome. Useful ways to help:
- Build official app templates.
- Test Djux in real Django projects.
- Improve the CLI and update workflow.
- Review app manifests and registry entries.
- Improve documentation.
Start with CONTRIBUTING.md, then check the roadmap and open issues.
License
MIT
Project details
Release history Release notifications | RSS feed
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 djux-0.1.0.tar.gz.
File metadata
- Download URL: djux-0.1.0.tar.gz
- Upload date:
- Size: 17.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2dbc0b851953b17e1d2242ad18a238d673a16d467b219a839cdfb3f108b1844
|
|
| MD5 |
6880329e998a8ffb5117c6be7ac40513
|
|
| BLAKE2b-256 |
c4ecfadf79ceebe32335ea8d5235a92715a7c77249c9cabf3cef8dc1dcef4763
|
Provenance
The following attestation bundles were made for djux-0.1.0.tar.gz:
Publisher:
workflow.yml on djuxhq/djux
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
djux-0.1.0.tar.gz -
Subject digest:
b2dbc0b851953b17e1d2242ad18a238d673a16d467b219a839cdfb3f108b1844 - Sigstore transparency entry: 2048404603
- Sigstore integration time:
-
Permalink:
djuxhq/djux@709be024609ad3b2cd77cced992874ed3bf4875c -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/djuxhq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@709be024609ad3b2cd77cced992874ed3bf4875c -
Trigger Event:
push
-
Statement type:
File details
Details for the file djux-0.1.0-py3-none-any.whl.
File metadata
- Download URL: djux-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb7bcaafaaecd7c0b3b2f6a2f56b85a5233177a336673824d069b5652cfc3bf2
|
|
| MD5 |
75c95ecf32ef9eb210582d6bd704b3f8
|
|
| BLAKE2b-256 |
800cafb3e808c0f1f3d995e8f861cf5a506f2290e4c35238312e605a4e61d00d
|
Provenance
The following attestation bundles were made for djux-0.1.0-py3-none-any.whl:
Publisher:
workflow.yml on djuxhq/djux
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
djux-0.1.0-py3-none-any.whl -
Subject digest:
cb7bcaafaaecd7c0b3b2f6a2f56b85a5233177a336673824d069b5652cfc3bf2 - Sigstore transparency entry: 2048404610
- Sigstore integration time:
-
Permalink:
djuxhq/djux@709be024609ad3b2cd77cced992874ed3bf4875c -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/djuxhq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@709be024609ad3b2cd77cced992874ed3bf4875c -
Trigger Event:
push
-
Statement type: