Skip to main content

PatronX

PatronX is a small toolkit for managing PostgreSQL backups and point‑in‑time restores. It is written in typed Python and exposes a concise command‑line interface. Backups can be scheduled, diffed and off‑loaded to S3 with a minimal setup.

codecov Test Docker publish PyPI publish PyPI

Docker Tags are available on Docker Hub:

Utilities

Command Purpose
patronx backup create a new dump
patronx restore restore a dump into the database
patronx list list all dumps in BACKUP_DIR
patronx diff diff latest dump against the database
patronx check-db verify database connectivity
patronx start run scheduled backup/cleanup loops and listen for healthcheck
patronx enqueue-backup queue a backup job immediately
patronx enqueue-cleanup queue cleanup of old dumps

backup and enqueue-backup upload the dumps to s3 if s3 is configured.

Configuration

The following environment variables control how PatronX connects to the database and schedules jobs:

  • PGHOST – database host (default localhost)
  • PGPORT – database port (default 5432)
  • PGUSER – authentication user (default test_user)
  • PGPASSWORD – password for PGUSER
  • PGDATABASE – database name (default test_db)
  • BACKUP_DIR – where dumps are stored (default ./backups)
  • BACKUP_CRON – cron expression for automated backups
  • CLEANUP_CRON – cron expression for removing old dumps
  • RETENTION_DAYS – how long to keep dumps (default 30)
  • S3_BUCKET – optional bucket for S3 uploads
  • AMQP_URL – RabbitMQ connection string
  • LOGSTASH_HOST – Logstash host (default logstash)
  • LOGSTASH_PORT – Logstash port (default 5000)
  • HEALTH_PORT – port for the built‑in health server (default 7775)

Docs

For guidance on setting up an IAM user with minimum access for S3 uploads, see docs/aws-user-creation.md.

Development

Install uv:

pip install uv
pytest                   # run tests
ruff check . --fix       # lint
isort .                  # format imports

generate requirements.txt

uv pip install pip-tools
uv pip-compile --output-file=requirements.txt pyproject.toml 

Metadata

Release files for patronx 2.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for patronx 2.4.2
File Size Uploaded Provenance Actions
patronx-2.4.2.tar.gz 18.5 kB With provenance Details for patronx-2.4.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for patronx 2.4.2
File Interpreter ABI Platform Actions
patronx-2.4.2-py3-none-any.whl Python 3 none any Details for patronx-2.4.2-py3-none-any.whl

Total release size: 33.5 kB

Release files / patronx-2.4.2.tar.gz

Download URL patronx-2.4.2.tar.gz
Size 18.5 kB
Tags Source
SHA-256 checksum
How to use checksums
5c7c631236735798ab9c2172687629c538e3af67336bd79660122ed3b8520955
BLAKE2b-256 checksum
How to use checksums
b5c0ac6b4b2452709121840e50632cff3c3ef3798c05236240a732b7f546b4b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 14, 2025.

Transparency log

Release files / patronx-2.4.2-py3-none-any.whl

Download URL patronx-2.4.2-py3-none-any.whl
Size 15.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
95de5e67ea4e1fbbb7c782eb6eac8fde16d943bac0eab50d717948183a5553e4
BLAKE2b-256 checksum
How to use checksums
3fb17fb155d5f83373fdda8b688e8b1a24b435f87a490d1bcd46208857e18454
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 14, 2025.

Transparency log

Security for patronx 2.4.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for patronx-2.4.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 14, 2025.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page