Patman patch manager
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[gmail] # send/fetch review mail via Gmail pip install patch-manager[review] # AI-assisted patch review pip install patch-manager[all] # everything
The patman command is then on your path.
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
Full documentation is hosted on Read the Docs:
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 the bundled u_boot_pylib package is vendored in the tree, 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.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| patch_manager-0.3.0.tar.gz | 272.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| patch_manager-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 566.2 kB
Release files / patch_manager-0.3.0.tar.gz
| Download URL | patch_manager-0.3.0.tar.gz |
|---|---|
| Size | 272.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e5d1113c773892a0036d305485edd919da53d19fb84c6c0a1cf4515e42b7083f
|
|
BLAKE2b-256 checksum How to use checksums |
bbbdec1a3fcc32814287924437da924bdd64ddea45edb64325161824db851592
|
| 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 Sep 27, 2026.
Transparency logRelease files / patch_manager-0.3.0-py3-none-any.whl
| Download URL | patch_manager-0.3.0-py3-none-any.whl |
|---|---|
| Size | 293.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0ec30c9a90bb73aa1f9e1c5d776425ac2930ad5ba105c77d7a1aaf31152f88a5
|
|
BLAKE2b-256 checksum How to use checksums |
f36f9b9c1008783b9876dfe50707c47b83b337a9f78f7da60d9cee19bb1a1063
|
| 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 Sep 27, 2026.
Transparency log