Skip to main content

Create, check and email patch series, with Patchwork integration

Project description

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[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:

https://patman.readthedocs.io/

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

patch_manager-0.0.9.tar.gz (234.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

patch_manager-0.0.9-py3-none-any.whl (254.6 kB view details)

Uploaded Python 3

File details

Details for the file patch_manager-0.0.9.tar.gz.

File metadata

  • Download URL: patch_manager-0.0.9.tar.gz
  • Upload date:
  • Size: 234.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for patch_manager-0.0.9.tar.gz
Algorithm Hash digest
SHA256 7769a0fe4e82b378046265483f6cd1cb79cff16e7b7035be08f037adedab64e5
MD5 01550ec7f7d3dbb7f0fcf2db492fdea5
BLAKE2b-256 e2cebfc85cb27424a2c969f4b567dbbba719b9f742c5a6c868394ebd2c59db05

See more details on using hashes here.

Provenance

The following attestation bundles were made for patch_manager-0.0.9.tar.gz:

Publisher: release.yml on nxtboot/patman

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file patch_manager-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: patch_manager-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 254.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for patch_manager-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 bb8927609ca21863d768207cd8020263d0f79932a1b4d2072d2d8ec92524ed1f
MD5 f8811df38e5974acdb6901b6306d38bf
BLAKE2b-256 8b7b2484e54467efa8a329e21339cb9dca0f85be809ca68685cef1593e1dd490

See more details on using hashes here.

Provenance

The following attestation bundles were made for patch_manager-0.0.9-py3-none-any.whl:

Publisher: release.yml on nxtboot/patman

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page