Skip to main content

tag-release

CI Packages (Debian) Publish (Launchpad)

I'm tired of looking up the correct tag name to use, hence this script. It follows the semantic versioning rules. Should work with any semi-recent Python version.

Installation

  • Python: PyPI
  • Arch Linux: AUR
  • Ubuntu: PPA
  • Alternatively, just clone this repo and run src/release.py instead of tag-release.

Usage

  • View usage info:

    tag-release -h
    
  • Make a new patch version release in the current repo. Tries to parse the latest tag (say, v2.1.3) and will add a new tag (in this case, v2.1.4).

    tag-release patch
    
  • Make a new minor version release in the current repo (v2.1.3 -> v2.2.0):

    tag-release minor
    
  • Similar for major versions (v2.1.3 -> v3.0.0):

    tag-release major
    
  • Accepts path to repository as an optional argument:

    tag-release patch path/to/your/repo
    
  • You can customize the version prefix ("v" by default). It will search for the latest tag with the given prefix then. For example, this command, given that tag "2.1.3" exists, will create tag "2.1.4":

    tag-release -p '' patch
    
  • A prefix can be anything, basically; this will create tag "release/v2.2.0" if the latest tag is "release/v2.1.3":

    tag-release -p 'release/v' minor
    
  • If no tags were found, the implicit version 0.0.0 is assumed. In a repository with no matching tags, this will create tag "v1.0.0":

    tag-release major
    
  • Customize the tag message:

    tag-release -m 'Release: version {}' patch
    
  • You can "retag" parent versions. For example, given that the latest tag is "v1.1.3", this will create/update tags "v1" & "v1.1" to point to the new tag "v1.1.4":

    tag-release -r patch
    
  • Push new/updated tags automatically using --push (retagged tags are pushed forcefully):

    tag-release -u patch
    
  • Create lightweight tags, if you wish (using annotated tags, which is the default, is almost always the preferred option):

    tag-release -l patch
    

License

Distributed under the MIT License. See LICENSE.txt for details.

Metadata

Release files for git-tag-release 1.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for git-tag-release 1.0.6
File Size Uploaded Provenance
git_tag_release-1.0.6.tar.gz 16.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for git-tag-release 1.0.6
File Interpreter ABI Platform
git_tag_release-1.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 25.0 kB

Release files / git_tag_release-1.0.6.tar.gz

Download URL git_tag_release-1.0.6.tar.gz
Size 16.7 kB
Tags Source
SHA-256 checksum
How to use checksums
708253293939513ea4785b8baf3e9d581979b9885d9f64fab2ead0fff3544b46
BLAKE2b-256 checksum
How to use checksums
33455399ae70a347b1c609b2923f572053bfa5eed178b07692dca891c4e6bb81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / git_tag_release-1.0.6-py3-none-any.whl

Download URL git_tag_release-1.0.6-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7db8c2089deb93ac1a81364330ca43f5c3f7fcb4768886a622d3acf7c7d9de9a
BLAKE2b-256 checksum
How to use checksums
7f22b5644f0961ca9fb3326e662a91b8e5ab6cf9d73e61ce29cea976a00cecac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for git-tag-release 1.0.6

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page