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.7

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.7
File Size Uploaded Provenance
git_tag_release-1.0.7.tar.gz 17.9 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 26.2 kB

Release files / git_tag_release-1.0.7.tar.gz

Download URL git_tag_release-1.0.7.tar.gz
Size 17.9 kB
Tags Source
SHA-256 checksum
How to use checksums
de1cee85753aa3c3cab761fe00755b7b29921430c283eda74a840177d9730637
BLAKE2b-256 checksum
How to use checksums
b066b0b112cc676eed2986cfb2670e26d622c1a75d0844941414b9a7b51939c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

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

Download URL git_tag_release-1.0.7-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6817ef17bd098b45bb2d2b191808917e956ca30a6ca1e5bf2164bee6bad25974
BLAKE2b-256 checksum
How to use checksums
04f45804aaa1beecbdf6393dea8560f394bba3869a4a47e9662edfecb1cdaaf3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for git-tag-release 1.0.7

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