Metadata-Version: 2.5
Name: django-stack
Version: 0.3.0
Summary: The backend glue of DjangoStack: settings from environment variables, API defaults, health checks and system checks.
Project-URL: Homepage, https://github.com/dwarsbit/django-stack
Project-URL: Source, https://github.com/dwarsbit/django-stack/tree/main/python/django-stack
Project-URL: Issues, https://github.com/dwarsbit/django-stack/issues
Author-email: Leon van der Grient <leon@dwarsbit.nl>
License-Expression: MIT
License-File: LICENSE
Keywords: cms,django,django-content-studio,django-headless,headless,jamstack
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Framework :: Django
Classifier: Framework :: Django :: 5.2
Classifier: Framework :: Django :: 6.0
Classifier: Framework :: Django :: 6.1
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.12
Requires-Dist: django-content-studio[huey,images]<2,>=1.8
Requires-Dist: django-headless[schema]<2,>=1.1.1
Requires-Dist: django<7,>=5.2
Requires-Dist: djangorestframework<4,>=3.17
Provides-Extra: s3
Requires-Dist: django-storages[s3]>=1.14; extra == 's3'
Provides-Extra: server
Requires-Dist: gunicorn>=26; extra == 'server'
Requires-Dist: psycopg[binary]>=3.2; extra == 'server'
Requires-Dist: redis>=5; extra == 'server'
Requires-Dist: uvicorn-worker>=0.3; extra == 'server'
Requires-Dist: uvicorn[standard]>=0.34; extra == 'server'
Requires-Dist: whitenoise>=6.9; extra == 'server'
Description-Content-Type: text/markdown

# django-stack

The backend glue of [DjangoStack](https://github.com/dwarsbit/django-stack).
Projects created with `npx @django-stack/cli init` depend on it.

- `django_stack.settings.configure()` sets Django's settings from environment
  variables: database, cache, task queue, mail, storage, security, and safe
  defaults for Django Headless and Django Content Studio.
- `PublishableModel`: draft and published content, with preview access.
- API defaults: a closed API with a full-access and a read-only key, and
  rate-limited public forms.
- Preview tokens and signed revalidation requests to the frontend.
- `/healthz` and `/readyz`, system checks, and the management commands
  `create_admin`, `seed_content`, `export_content`, `import_content` and
  `wait_for_db`.

```python
# config/settings.py
from pathlib import Path

from django_stack.settings import configure

configure(globals(), base_dir=Path(__file__).resolve().parent.parent)
```

## License

MIT; see [LICENSE](LICENSE).
