Create, check and email patch series, with Patchwork integration
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file patch_manager-0.1.0.tar.gz.
File metadata
- Download URL: patch_manager-0.1.0.tar.gz
- Upload date:
- Size: 252.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f584db576713e15af24835395489377652a4b99444461ad7f3269f13a7e31c6f
|
|
| MD5 |
9656b654bc18b7a7c7c22b19ce566b6e
|
|
| BLAKE2b-256 |
780d3cb949831dd3c5e35d72eb5a880d8413c39ab5fbd9415f73c0f72b498771
|
Provenance
The following attestation bundles were made for patch_manager-0.1.0.tar.gz:
Publisher:
release.yml on nxtboot/patman
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
patch_manager-0.1.0.tar.gz -
Subject digest:
f584db576713e15af24835395489377652a4b99444461ad7f3269f13a7e31c6f - Sigstore transparency entry: 2082541045
- Sigstore integration time:
-
Permalink:
nxtboot/patman@dee6ae51ae747959f52afe53c038de09bd585ab6 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/nxtboot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@dee6ae51ae747959f52afe53c038de09bd585ab6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file patch_manager-0.1.0-py3-none-any.whl.
File metadata
- Download URL: patch_manager-0.1.0-py3-none-any.whl
- Upload date:
- Size: 273.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f5b20f0a6b4d58988efa14918d8844153005f578dd5c0bf77262806abcd9044
|
|
| MD5 |
4d25222300c3bf1987fdd913c9a7e3b0
|
|
| BLAKE2b-256 |
9b3fd315dd21878360cf66d44fe6b89c9d67d5ff3be9d67cce844a50c1e043d6
|
Provenance
The following attestation bundles were made for patch_manager-0.1.0-py3-none-any.whl:
Publisher:
release.yml on nxtboot/patman
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
patch_manager-0.1.0-py3-none-any.whl -
Subject digest:
6f5b20f0a6b4d58988efa14918d8844153005f578dd5c0bf77262806abcd9044 - Sigstore transparency entry: 2082541046
- Sigstore integration time:
-
Permalink:
nxtboot/patman@dee6ae51ae747959f52afe53c038de09bd585ab6 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/nxtboot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@dee6ae51ae747959f52afe53c038de09bd585ab6 -
Trigger Event:
push
-
Statement type: