--- id: release-tag version: "0.5.2" license: MIT License Copyright (c) 2024 Jamison Lahman Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to… (full text in the JSON record) license_treatment: permissive maintenance: active --- # release-tag — Automatically create semantic version git tags License: permissive · Maintenance: active · Downloads: 186.2K/mo ## What it is and what it does release-tag is a command-line tool that calculates and creates semantic version git tags automatically. It reads your repository's existing tags, determines the next version according to SemVer precedence rules, and optionally pushes the tag to a remote. You control the increment level (major, minor, or patch), can add pre-release suffixes like 'alpha' or 'rc', and set custom prefixes or build metadata. The tool discourages duplicate tags on the same commit and integrates with pre-commit hooks for automated validation. It's written in Go but distributed as a Python package, with zero runtime dependencies when installed via pip. The tool runs as a standalone CLI command and is useful in CI/CD pipelines, release workflows, or local development where you want consistent, rule-based version tagging without manual calculation. Use it for: - Automate version tagging in CI/CD pipelines during release workflows to ensure consistent SemVer compliance. - Validate tag ancestry in pre-push hooks to prevent accidental duplicate or out-of-order tags. - Manage pre-release versions (alpha, beta, rc) with automatic suffix handling and increment logic. - Generate the next version number for scripted release processes without manual SemVer calculation. - Integrate with build systems to tag commits with appropriate version identifiers before deployment. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Automatically creates and optionally pushes semantic version git tags following SemVer rules, with support for major/minor/patch increments and pre-release versions. Yes. The tool solves a real problem—deterministic semantic versioning in git—with low friction, no dependencies, active maintenance, and permissive licensing. It's useful for any project automating releases or enforcing version discipline. The small repository size and recent activity suggest it's stable for its narrow scope. ## Install pip install release-tag uv add release-tag poetry add release-tag ## Installing release-tag Before you install: Low install friction with no runtime dependencies; actively maintained with recent commits and steady release cadence since initial release in late 2024. License in practice: MIT License permits unrestricted use, modification, and distribution with minimal obligations—suitable for any project type. Quickstart: pip install release-tag tag --help tag --patch --push Requires a git repository with existing tags to calculate the next version; git must be installed and accessible. Verify before relying: - Whether the tool correctly handles edge cases like jumping from pre-release to stable versions or vice versa. - Performance and behavior when used in repositories with very large tag histories. - Compatibility with non-standard git workflows or hosting platforms beyond GitHub. ## Package facts - License: MIT License Copyright (c) 2024 Jamison Lahman Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to… (full text in the JSON record) (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 186.2K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags semantic version git tagging, automated release tagging, semver tag creation, git tag automation, version tag management, release versioning tool, pre-release tag generator, git-workflow, release-automation, semver [View on SkillFed](https://skillfed.io/packages/release-tag) · [View on PyPI](https://pypi.org/project/release-tag/)