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.

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.8.tar.gz (234.0 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.8-py3-none-any.whl (254.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: patch_manager-0.0.8.tar.gz
  • Upload date:
  • Size: 234.0 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.8.tar.gz
Algorithm Hash digest
SHA256 211425a8f53d44c0969b3b1a52b98504ee0ebba6abdca1e916f436122e0a21cc
MD5 cecce003376580a7c54acd0f9362fa28
BLAKE2b-256 0379e163c7d133aebc2ca41a537d4ede2b9a7da97931ff7db91c4cbee47f4e49

See more details on using hashes here.

Provenance

The following attestation bundles were made for patch_manager-0.0.8.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.8-py3-none-any.whl.

File metadata

  • Download URL: patch_manager-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 254.3 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 808baedfde196bdf80569b74502bdf9af2eb665cd1c62989ef7443ccf3ae6b43
MD5 54d5548a037f455b7062acc4dd39edf9
BLAKE2b-256 a85df96cd4e8962cfc5bdfcbee2d22b33506712d8305304ecf167c580260d9fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for patch_manager-0.0.8-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