--- id: incremental version: "24.11.0" license: unclear license_treatment: permissive maintenance: active --- # Incremental — A CalVer version manager that supports the future. License: permissive · Maintenance: active · Downloads: 17.8M/mo ## What it is and what it does Incremental is a version management tool designed for projects using CalVer (Calendar Versioning) in the YY.MM.PATCH format. It integrates with setuptools and Hatchling as a build plugin to automatically manage version numbers stored in a _version.py file within your package, eliminating the need to manually edit version strings in multiple places. The tool provides a command-line interface to bump versions (release candidates, patches, development releases, and post-releases) and automatically updates indeterminate version markers like "NEXT" throughout your codebase to concrete version numbers. It supports both build-time version injection and runtime version access through the incremental.Version class, making it useful for projects that need to expose version information to users or documentation. Use it for: - Automate version bumping in CI/CD pipelines without manually editing version files or configuration. - Manage release candidates and development versions alongside stable releases in a structured CalVer scheme. - Keep documentation and code comments synchronized with the current version by updating indeterminate version markers automatically. - Integrate version management into setuptools or Hatchling-based build workflows without external version files. - Expose the current package version at runtime through the incremental.Version API for version-aware application logic. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Incremental is a CalVer version manager that automates version numbering in the YY.MM.PATCH format and updates version references in your codebase through a command-line tool. Yes, if you use setuptools or Hatchling and want to adopt CalVer versioning with automated version management. The low install friction, active maintenance, permissive license, and lack of known vulnerabilities make it a safe choice. Not necessary if you prefer manual version management or use a different versioning scheme (semantic versioning, etc.). ## Install pip install incremental uv add incremental poetry add incremental ## Installing Incremental Before you install: Low install friction with a pure-Python wheel and only two lightweight runtime dependencies (packaging and tomli). The project is actively maintained with recent commits and has been stable since its 2015 inception. License in practice: Licensed under the MIT License (permissive), which allows free use, modification, and distribution with minimal restrictions. Quickstart: # Install pip install incremental # In your pyproject.toml, add to build-system requires and mark version dynamic: [build-system] requires = ["setuptools", "incremental>=24.7.2"] [project] dynamic = ["version"] # Then initialize: incremental update --create # In your package's _version.py: from incremental import Version __version__ = Version("mypackage", 24, 11, 0) Requires Python 3.8 or later; integration with setuptools or Hatchling build systems is the primary use case. Verify before relying: - Whether the click dependency mentioned in the description is actually required at runtime or only for the CLI tool. - Performance characteristics when managing versions in very large codebases with many version references. ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 17.8M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags calver version management, automated version bumping, setuptools version plugin, hatchling version integration, version number automation, release candidate management, development version tracking, version-management, calver, build-plugin [View on SkillFed](https://skillfed.io/packages/incremental) · [View on PyPI](https://pypi.org/project/incremental/)