Skip to main content

Django runtime utilities, mixins, adapters, and reusable modules for Codex projects

Project description

codex-django

PyPI Python CI License Documentation

Django runtime integration layer for the Codex ecosystem: reusable modules, cabinet UI building blocks, and shared adapters for Codex-shaped Django projects. Project scaffolding now lives in the companion package codex-django-cli, while this repository focuses on installable runtime code.


Install

# Runtime library only
pip install codex-django

# Runtime + companion CLI package
pip install "codex-django[cli]"

# Optional admin theme and Prometheus integration
pip install "codex-django[admin,observability]"

# Runtime + CLI + day-to-day development toolchain
pip install "codex-django[dev]"

Requires Python 3.12 or newer.

Project Scaffolding

The codex-django runtime package no longer owns the CLI implementation. Use the companion package when you want to scaffold or extend a project:

pip install "codex-django[cli]"
# or: pip install codex-django-cli
codex-django init myproject
codex-django add-client-cabinet --project myproject

Temporary compatibility shims remain under codex_django.cli, but the real CLI code lives in codex-django-cli.

Development

uv sync --extra maintainer
uv run pytest
uv run mypy src/
uv run pre-commit run --all-files
uv run python tools/dev/check.py --ci
uv build --no-sources

Quick Start

Runtime Example

from datetime import date

from codex_django.booking import DjangoAvailabilityAdapter
from codex_django.booking.selectors import get_available_slots

adapter = DjangoAvailabilityAdapter(
    resource_model=Master,
    appointment_model=Appointment,
    service_model=Service,
    working_day_model=MasterWorkingDay,
    day_off_model=MasterDayOff,
    booking_settings_model=BookingSettings,
    timezone="UTC",
)

result = get_available_slots(
    adapter=adapter,
    service_ids=[1],
    target_date=date.today(),
)

print(result.get_unique_start_times())

What Each Optional Module Adds

  • cabinet: user-facing dashboard pages, profile/settings views, and cabinet adapters.
  • booking: booking app scaffolds, booking settings, cabinet booking pages, and booking templates.
  • notifications: notification content models, service hooks, and ARQ client scaffolding.

Modules

Module Extra Description
codex_django.core - Shared Django infrastructure: mixins, SEO access path, i18n helpers, sitemap base, Redis managers.
codex_django.system - Project-state models and admin workflows: site settings, static content, integrations, fixture orchestration.
codex_django.notifications - Django notification orchestration: content selector, payload builder, queue/direct adapters.
codex_django.booking - Django adapter layer over codex-services booking engine: model mixins, availability adapter, booking selectors.
codex_django.cabinet - Reusable cabinet/dashboard framework with registry-based navigation, widgets, and cached settings.
codex_django.cli compat only Temporary forwarding layer to codex-django-cli; not part of the long-term runtime surface.
codex_django.showcase - DEBUG-only showcase layer for demo screens and generated-project previews backed by mock data.

Documentation

Full docs with architecture, API reference, and generated project structure:

https://codexdlc.github.io/codex-django/

Part of the Codex ecosystem

Package Role
codex-core Foundation — immutable DTOs, PII masking, env settings
codex-platform Infrastructure — Redis, Streams, ARQ workers, Notifications
codex-ai LLM layer — unified async interface for OpenAI, Gemini, Anthropic
codex-services Business logic — Booking engine, CRM, Calendar

Each library is fully standalone — install only what your project needs. Together they form the backbone of codex-bot (Telegram AI-agent infrastructure built on aiogram) and codex-django (Django integration layer and scaffolding toolkit).

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

codex_django-0.6.1.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

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

codex_django-0.6.1-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file codex_django-0.6.1.tar.gz.

File metadata

  • Download URL: codex_django-0.6.1.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for codex_django-0.6.1.tar.gz
Algorithm Hash digest
SHA256 653e7997a8cf4254a69cc1f751426bd2204ca2d33f6b60ea33264986cfaf5ef4
MD5 6ce09d3c5fe6e522b772759d279f5373
BLAKE2b-256 0385b3cb6d3c6e5929985eade1a56dfa2ee6a9329d2f87aa6eb464c19b46705a

See more details on using hashes here.

Provenance

The following attestation bundles were made for codex_django-0.6.1.tar.gz:

Publisher: publish.yml on CodexDLC/codex-django

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

File details

Details for the file codex_django-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: codex_django-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for codex_django-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 38b2137b906cf6d91455c2cc387ef75016e30fbdf7ec8ccb2d73e8cb27fe4f0e
MD5 632d49ca450d53071455d8da0552d045
BLAKE2b-256 9d56417ab3517d13c9de0d98d0eb617b723ea74d2de6a022311ebd8124088a77

See more details on using hashes here.

Provenance

The following attestation bundles were made for codex_django-0.6.1-py3-none-any.whl:

Publisher: publish.yml on CodexDLC/codex-django

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