-
Fork and clone the repository.
-
Install
uvThis project usesuvfor fast environment and package management.If you don't have
uvinstalled:pip install uv
-
Create a virtual environment and install dependencies. This project uses
uvfor fast environment and package management.First, create and activate a virtual environment:
uv venv source .venv/bin/activateNext, install all required dependencies and extras for development in editable mode:
uv sync --all-extras
-
Optional: Change Python version
You can change the Python version:
uv python install 3.10
List all Python versions:
uv python list
- Twilio (SemVer) is supported till latest major version - 1 (e.g 9.x.x - 1 = version 8.x.x and higher)
- html2text (CalVer) is supported till current calendar year - 1 (e.g. 2025 - 1 = version 2024.x.x and newer)
To format your code with Black, open a terminal and ensure your virtual environment is activated.
uv run black .This will run tests with a SQLite3 in-memory database and coverage:
uv run coverage run -m django test --settings=tests.settings --pythonpath=. -v 2--pythonpath=.is required to set the context otherwise you will recieve the errorModuleNotFoundError: No module named 'tests'-v 3sets the verbosity high enough to be able to see pre-migrate handlers, migrations, and post-migrate handlers.
Show the coverage report to gain feedback on missing test case coverage:
uv run coverage report --show-missing| Environment Name | Description | Default Value |
|---|---|---|
HERALD_TEST_DB_NAME |
The path and name to the SQLite DB name. | db.sqlite3 |
You will need to run migrations:
uv run manage.py migrateRun server:
uv run manage.py runserver 0.0.0.0:8000Open a browser to: http://localhost:8000/