1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
# Common Table Expressions with Django
[](https://github.com/dimagi/django-cte/actions/workflows/tests.yml)
[](https://badge.fury.io/py/django-cte)
## Installation
```
pip install django-cte
```
## Documentation
The [django-cte documentation](https://dimagi.github.io/django-cte/) shows how
to use Common Table Expressions with the Django ORM.
## Running tests
```
cd django-cte
uv sync
pytest
ruff check
# To run tests against postgres
psql -U username -h localhost -p 5432 -c 'create database django_cte;'
export PG_DB_SETTINGS='{
"ENGINE":"django.db.backends.postgresql_psycopg2",
"NAME":"django_cte",
"USER":"username",
"PASSWORD":"password",
"HOST":"localhost",
"PORT":"5432"}'
# WARNING pytest will delete the test_django_cte database if it exists!
DB_SETTINGS="$PG_DB_SETTINGS" pytest
```
All feature and bug contributions are expected to be covered by tests.
## Publishing a new verison to PyPI
Push a new tag to Github using the format vX.Y.Z where X.Y.Z matches the version
in [`__init__.py`](django_cte/__init__.py).
A new version is published to https://test.pypi.org/p/django-cte on every
push to the *main* branch.
Publishing is automated with [Github Actions](.github/workflows/pypi.yml).
|