Class-based emails including a test suite for Django
Project description
Class-based emails including a test suite for Django
Full documentation for the project is available at readthedocs.io.
Created and maintained by Ambient Digital.
Installation
-
Install the package via pip:
pip install django-pony-express
or via pipenv:
pipenv install django-pony-express
-
Add module to
INSTALLED_APPS
within the main djangosettings.py
:INSTALLED_APPS = ( ... 'django_pony_express', )
Contribute
Setup package for development
- Create a Python virtualenv and activate it
- Install "pip-tools" with
pip install pip-tools
- Compile the requirements with
pip-compile --extra dev -o requirements.txt pyproject.toml --resolver=backtracking
- Sync the dependencies with your virtualenv with
pip-sync
Add functionality
- Create a new branch for your feature
- Change the dependency in your requirements.txt to a local (editable) one that points to your local file system:
-e /Users/workspace/django-pony-express
or via pippip install -e /Users/workspace/django-pony-express
- Ensure the code passes the tests
- Create a pull request
Run tests
- Run tests
pytest --ds settings tests
Git hooks (via pre-commit)
We use pre-push hooks to ensure that only linted code reaches our remote repository and pipelines aren't triggered in vain.
To enable the configured pre-push hooks, you need to install pre-commit and run once:
pre-commit install -t pre-push -t pre-commit --install-hooks
This will permanently install the git hooks for both, frontend and backend, in your local
.git/hooks
folder.
The hooks are configured in the .pre-commit-config.yaml
.
You can check whether hooks work as intended using the run command:
pre-commit run [hook-id] [options]
Example: run single hook
pre-commit run ruff --all-files --hook-stage push
Example: run all hooks of pre-push stage
pre-commit run --all-files --hook-stage push
Update documentation
- To build the documentation run:
sphinx-build docs/ docs/_build/html/
. - Open
docs/_build/html/index.html
to see the documentation.
Translation files
If you have added custom text, make sure to wrap it in _()
where _
is
gettext_lazy (from django.utils.translation import gettext_lazy as _
).
How to create translation file:
- Navigate to
ai_django_core/ai_django_core
(the inner directory!) python manage.py makemessages -l de
- Have a look at the new/changed files within
ai_django_core/ai_django_core/locale
How to compile translation files:
- Navigate to
ai_django_core/ai_django_core
(the inner directory!) python manage.py compilemessages
- Have a look at the new/changed files within
ai_django_core/ai_django_core/locale
Publish to ReadTheDocs.io
- Fetch the latest changes in GitHub mirror and push them
- Trigger new build at ReadTheDocs.io (follow instructions in admin panel at RTD) if the GitHub webhook is not yet set up.
Publish to PyPi
-
Update documentation about new/changed functionality
-
Update the
Changelog
-
Increment version in main
__init__.py
-
Create pull request / merge to master
-
This project uses the flit package to publish to PyPI. Thus publishing should be as easy as running:
flit publish
To publish to TestPyPI use the following ensure that you have set up your .pypirc as shown here and use the following command:
flit publish --repository testpypi
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django-pony-express-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 478cfaa81156fc82469741574fa88adb974a700258b295fe5a1e43f93dec84c5 |
|
MD5 | 0c842985546256ef7213c5710a4d89f1 |
|
BLAKE2b-256 | e6e41885f8278fbd53ccc6000afce31aaf3cdfde7337c21e482c3061c3f56f80 |
Hashes for django_pony_express-1.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f14538a041d29fafd2f6d3d7a911bd15bc4498313e507906433b47e8484c0f0 |
|
MD5 | b2b61575335048015f990d4dcf609f27 |
|
BLAKE2b-256 | f58677e569ddc1f8188da7fd9256d7b669ac6dc47d522f630c69009f5a4ea906 |