Skip to main content

PyPI release Downloads Coverage Linting Coding Style Documentation Status

Welcome to the django-pony-express - class-based emails for Django shipping with a full test suite.

Similar to class-based view in Django core, this package provides a neat, DRY and testable (!) way to handle your emails in Django.

PyPIGitHubFull documentation

Creator & Maintainer: Beyonder Deutschland

Features

  • Class-based structure for emails
    • Avoid duplicate low-level setup
    • Utilise inheritance and OOP benefits
    • No duplicated templates for HTML and plain-text
  • Test suite to write proper unit-tests for your emails
    • Access your test outbox like a Django queryset

Etymology

The Pony Express was an American express mail service that used relays of horse-mounted riders. [...] During its 18 months of operation, the Pony Express reduced the time for messages to travel between the east and west US coast to about 10 days.

https://en.wikipedia.org/wiki/Pony_Express

The name of this package combines the Django mascot (a pony) with a once quite successful mail service in the US. Ingenious, right?

Installation

  • Install the package via pip:

    pip install django-pony-express

    or via uv:

    uv add django-pony-express

  • Add module to INSTALLED_APPS within the main django settings.py:

INSTALLED_APPS = (
    # ...
    "django_pony_express",
)

Releasing a new version

Releases are fully automated. Push a version tag and the pipeline will build, sign with Sigstore, publish to PyPI via Trusted Publishing, and create a GitHub Release — no API tokens needed.

git tag v<version>          # e.g. git tag v1.2.3
git push origin v<version>

Tags must start with v. Tags without the prefix won't trigger the pipeline.

First-time setup

Before the pipeline can run for the first time, an admin must:

  1. Create GitHub Environment pypi

    • Go to Settings → Environments → New environment, name it exactly pypi
    • Under Deployment branches and tags, add a tag rule with pattern v*
    • Optionally add required reviewers for a manual approval gate
  2. Configure PyPI Trusted Publisher

    • Go to PyPI → Project settings → Publishing → Add a new publisher
    • Fill in: Owner ambient-innovation, Repository django-pony-express, Workflow release.yml, Environment pypi

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.

Maintenance

Please note that this package supports the ambient-package-update. So you don't have to worry about the maintenance of this package. This updater is rendering all important configuration and setup files. It works similar to well-known updaters like pyupgrade or django-upgrade.

To run an update, refer to the documentation page of the "ambient-package-update".

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_pony_express-3.0.0.tar.gz (109.4 kB view details)

Uploaded Source

Built Distribution

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

django_pony_express-3.0.0-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file django_pony_express-3.0.0.tar.gz.

File metadata

  • Download URL: django_pony_express-3.0.0.tar.gz
  • Upload date:
  • Size: 109.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for django_pony_express-3.0.0.tar.gz
Algorithm Hash digest
SHA256 14827de01dcbd79656312b3fefd2523400d4eaaa6e8feb3ee1a7121304e55287
MD5 908ce57784daa3edd0d77bcd12ac6abf
BLAKE2b-256 179d5b54966548d630e31ed80f2b08115925cc0d8d0fda831cae866925708de9

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_pony_express-3.0.0.tar.gz:

Publisher: release.yml on ambient-innovation/django-pony-express

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

File details

Details for the file django_pony_express-3.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_pony_express-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4fdbe4a26c23ad8ddd1cb55beed344188dd56d07393a3e99b81e84e68362a4db
MD5 c7fc68dcaf28e48c185ca5aac317fe3f
BLAKE2b-256 792dd94e15e259ed241354204ee33a49ef311a4891b0e45aa1a74aadbc3a28e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_pony_express-3.0.0-py3-none-any.whl:

Publisher: release.yml on ambient-innovation/django-pony-express

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

Release history Release notifications | RSS feed

This release

3.0.0 This release

2 files

2.8.1

2 files

2.8.0

2 files

2.7.8

2 files

2.7.7

2 files

2.7.6

2 files

2.7.5

2 files

2.7.4

2 files

2.7.3

2 files

2.7.2

2 files

2.7.1

2 files

2.7.0

2 files

2.6.3

2 files

2.6.2

2 files

2.6.1

2 files

2.6.0

2 files

2.5.1

2 files

2.5.0

2 files

2.4.3

2 files

2.4.2

2 files

2.4.1

2 files

2.4.0

2 files

2.3.3

2 files

2.3.2

2 files

2.3.1

2 files

2.3.0

2 files

2.2.2

2 files

2.2.1

2 files

2.2.0

2 files

2.1.3

2 files

2.1.2

2 files

2.1.1

2 files

2.1.0

2 files

2.0.0

2 files

1.3.0

2 files

1.2.5

2 files

1.2.4

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.6

2 files

1.1.5

2 files

1.1.4

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page