Skip to main content
Patman

Patman patch manager

Test status PyPI version Documentation status Supported Python versions

Patman is a command-line tool that automates the boring parts of preparing and sending patches by email, in the style used by the U-Boot and Linux kernel projects. It:

  • creates patches directly from a git branch;

  • cleans them up by removing unwanted tags and inserting a cover letter;

  • runs checkpatch.pl and the project’s checks before anything is sent;

  • looks up the maintainers to Cc, and emails the series out;

  • tracks series in a local database and integrates with Patchwork to gather review tags and follow up on comments.

Installation

Install the latest release from PyPI:

pip install patch-manager

Optional features are available as extras:

pip install patch-manager[review]   # patch review using a Claude agent
pip install patch-manager[gmail]    # Gmail drafts of reviews and replies
pip install patch-manager[all]      # everything

The patman command is then on your path. It is also installed as patch-manager, which is the only name the Debian package provides, since Debian already has an unrelated patman command.

Quick start

From a git branch containing the commits you want to send:

patman              # create, check and email the series
patman -n           # dry run: create and check, but do not send

See patman --full-help for the complete manual, or the documentation linked below.

Documentation

The documentation is on Read the Docs, at https://patman.readthedocs.io/ Start with the guide, which goes through using patman step by step with a real U-Boot series:

https://patman.readthedocs.io/en/latest/guide/index.html

There is a short introduction, with a demo, at https://deinde.dev/patman/

Development

Run the test suite from a checkout:

pip install -r requirements.txt
pip install -e .
patman test

The suite is self-contained: a pinned checkpatch.pl and its helper files live in scripts/, and u_boot_pylib is installed from PyPI as u-boot-pylib, so no surrounding U-Boot source is required.

Build the documentation locally with:

pip install -r doc/requirements.txt
make -C doc html

The rendered HTML is written to doc/_build/html.

License

GPL-2.0-or-later. See the LICENSE file for the full text.

Metadata

Release files for patch-manager 0.5.0

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

Source distribution (sdist)

Source distribution for patch-manager 0.5.0
File Size Uploaded Provenance
patch_manager-0.5.0.tar.gz 386.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for patch-manager 0.5.0
File Interpreter ABI Platform
patch_manager-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 807.5 kB

Release files / patch_manager-0.5.0.tar.gz

Download URL patch_manager-0.5.0.tar.gz
Size 386.1 kB
Tags Source
SHA-256 checksum
How to use checksums
a25383fb37b981f5b5b1a0f1219d8b015a98316b91be1b6c5aa3e3e4b1f45dea
BLAKE2b-256 checksum
How to use checksums
ecb178d0097eaac360a4959df13df7a09bc8258cb3f8919b9d29a236af7c1d8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 19, 2026.

Transparency log

Release files / patch_manager-0.5.0-py3-none-any.whl

Download URL patch_manager-0.5.0-py3-none-any.whl
Size 421.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ac3563fcef88796caa3e3f805e81283059134c8ca98e358c892cbdc1a96118ed
BLAKE2b-256 checksum
How to use checksums
f014d33f818cfac81d0b405b872c1118988d2187b64fa72f8cd7e5f04e42f8a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 19, 2026.

Transparency log

Security for patch-manager 0.5.0

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 patch_manager-0.5.0.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 Oct 19, 2026.

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