Skip to main content

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, and files.
  • AI-ready templates such as ai-models, ai-prompts, ai-chat, ai-usage, and ai-rag.
  • A safer update workflow for copied app code: djux outdated and djux 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:

  1. Looks up the app in the registry.
  2. Downloads and extracts the app zip from GitHub.
  3. Validates the djux.json manifest.
  4. Copies the app/ folder into your project's apps/ directory.
  5. Patches config/settings.py with INSTALLED_APPS entries and settings blocks.
  6. Patches config/urls.py with the route include.
  7. Runs pip install for declared dependencies.
  8. Runs python manage.py migrate if the app has migrations.
  9. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

djux-0.1.0.tar.gz (17.1 kB view details)

Uploaded Source

Built Distribution

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

djux-0.1.0-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

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

Hashes for djux-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b2dbc0b851953b17e1d2242ad18a238d673a16d467b219a839cdfb3f108b1844
MD5 6880329e998a8ffb5117c6be7ac40513
BLAKE2b-256 c4ecfadf79ceebe32335ea8d5235a92715a7c77249c9cabf3cef8dc1dcef4763

See more details on using hashes here.

Provenance

The following attestation bundles were made for djux-0.1.0.tar.gz:

Publisher: workflow.yml on djuxhq/djux

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for djux-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb7bcaafaaecd7c0b3b2f6a2f56b85a5233177a336673824d069b5652cfc3bf2
MD5 75c95ecf32ef9eb210582d6bd704b3f8
BLAKE2b-256 800cafb3e808c0f1f3d995e8f861cf5a506f2290e4c35238312e605a4e61d00d

See more details on using hashes here.

Provenance

The following attestation bundles were made for djux-0.1.0-py3-none-any.whl:

Publisher: workflow.yml on djuxhq/djux

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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