Collection of convenience functions to patch `pyproject.toml` in place
Project description
pyproject-patcher
This Python package is an attempt to make it a little easier to
patch pyproject.toml
in place.
It is mainly useful for maintainers of system packages.
If you’re not a maintainer of system packages, or if you don’t know
what that means, then pyproject-patcher
is probably not for you.
Features
-
Hard code a version number into
project.version
-
Disable all invocations of the dynamic version generator
setuptools-git-versioning
-
Remove dependency to
setuptools-git-versioning
frombuild-system.requires
-
Configure
setuptools-git-versioning
to use a version template without a.dirty
suffix
Installation
Installing from PyPI
To install pyproject-patcher from PyPI, open a shell and run:
pip install pyproject-patcher
If that doesn’t work, try:
python3 -m pip install pyproject-patcher
Installing from the AUR
Direct your favorite
AUR helper to the
python-pyproject-patcher
package.
Usage
See USAGE.md
for details.
Contributing to pyproject-patcher
See CONTRIBUTING.md
.
License
Copyright (c) 2024 Claudia Pellegrino
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. For a copy of the License, see LICENSE.
Description
This Python package is an attempt to make it a little easier to
patch pyproject.toml
in place.
It is mainly useful for maintainers of system packages.
If you’re not a maintainer of system packages, or if you don’t know
what that means, then pyproject-patcher
is probably not for you.
Examples
Recommended import statement
The following examples all assume the following import statement:
from pyproject_patcher import patch_in_place
Set a static project version
with patch_in_place('pyproject.toml') as toml:
toml.set_project_version('1.2.3')
Strip the version constraint of a dependency
with patch_in_place('pyproject.toml') as toml:
toml.strip_build_system_dependency_constraint('setuptools-git-versioning')
# or, equivalently:
# toml.build_system_requires.strip_constraint('setuptools-git-versioning')
Remove an entry from a dependency list
with patch_in_place('pyproject.toml') as toml:
toml.remove_build_system_dependency('setuptools-git-versioning')
# or, equivalently:
# toml.build_system_requires.remove_dependency('setuptools-git-versioning')
Remove setuptools-git-versioning
from pyproject.toml
entirely
with patch_in_place('pyproject.toml') as toml:
toml.set_project_version('1.2.3')
toml.tools.setuptools_git_versioning.remove()
Configure a version template without a .dirty
suffix
with patch_in_place('pyproject.toml') as toml:
toml.tools.setuptools_git_versioning.template_ignore_dirty_git()
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
Built Distribution
Hashes for pyproject_patcher-0.2.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a35f56a34e8dcaae926774c5045407271e7093010255f82e935afed2352e7b94 |
|
MD5 | 61b05ef9dc6919e3eaa730df44f50f88 |
|
BLAKE2b-256 | c92f148c82961d989d3c46e9b1b4f49eea530540eb1fb05b88fabcd033e8f8f1 |