skillfed

notifications-python-client

Python API client for GOV.UK Notify.

notifications-python-client v12.1.0 209.8K downloads/30d#9,508 on PyPI25
Permissive license MIT Active released

What it is and what it does

This is an official Python client for GOV.UK Notify, a UK government service that handles transactional communications. It wraps the Notify API to let you send emails, SMS text messages, and physical letters from Python code without managing SMTP servers or carrier integrations yourself. The client handles authentication via PyJWT, makes HTTP requests through requests, and provides a command-line interface via docopt.

The package is maintained by the UK government's digital service (alphagov) and is actively developed. It targets modern Python versions (3.9 through 3.14) and is classified as Beta maturity. Use it when your application needs to send notifications through an official government channel or when you're building services that integrate with GOV.UK infrastructure.

Use it for:

  • Send confirmation emails and SMS alerts from a UK government service or citizen-facing application.
  • Notify users of application events (password resets, appointment reminders, status updates) via email or text.
  • Dispatch physical letters for formal communications or official correspondence.
  • Integrate transactional notifications into a larger government digital service without managing mail infrastructure.
  • Batch-send notifications to multiple recipients using the Notify API from a Python backend.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

A Python client library for sending emails, text messages, and letters through the GOV.UK Notify API.

Yes, if you are building a service that uses GOV.UK Notify. The package is actively maintained, has no known vulnerabilities, low install friction, and a permissive license. It is the official client and integrates cleanly with standard Python tooling. Not relevant outside the GOV.UK Notify ecosystem.

Install

notifications-python-client on PyPI

pip

pip install notifications-python-client

uv

uv add notifications-python-client

poetry

poetry add notifications-python-client

Installing notifications-python-client

Before you install

Low install friction with a pure-Python wheel distribution. The package is actively maintained with a recent release and depends on three stable, widely-used libraries: requests, PyJWT, and docopt.

License in practice

MIT license is permissive and places no significant restrictions on use, modification, or distribution in commercial or private projects.

Quickstart

pip install notifications-python-client

from notifications_python_client.notifications import NotificationsAPIClient

client = NotificationsAPIClient(api_key='your-api-key')
response = client.send_email_notification(email_address='user@example.com', template_id='template-id')

Requires a GOV.UK Notify account and API key to send notifications; the service is specific to UK government use.

Verify before relying

  • Whether the package supports rate limiting or retry logic for production workloads.
  • Whether async/await patterns are supported for concurrent notification sending.
  • Specific rate limits or quotas imposed by the GOV.UK Notify service itself.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 3 — requests, PyJWT, docopt
Maintenance actively maintained — 80 days since the last release
Last repo commit
First released
Downloads 209,804/month — #9,508 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: notifications_python_client-12.1.0-py3-none-any.whl

Keywords: gds, govuk, notify

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

gov.uk notify python clientsend emails via govuk notifybulk sms and email apigovernment notification servicepython email sms letters apigovuk notify integrationtransactional email client
gov-uknotificationstransactional-email

More WWW/HTTP packages