Subcategories
Packages
Automatically extracts and manages Python package versions from git or Mercurial metadata instead of hardcoding them, and includes SCM-tracked files in source distributions.
Dulwich provides pure Python access to Git repositories—both local and remote—without requiring Git or native code to be installed, offering an alternative to calling Git directly.
setuptools-rust is a setuptools plugin that compiles and packages Python extensions written in Rust, using PyO3 or rust-cpython bindings.
pygit2 provides Python bindings to libgit2, enabling direct programmatic access to Git repository operations at the plumbing level without shelling out to the git command-line tool.
A Poetry plugin that automatically derives and injects version numbers from version control tags into your project during builds, using Dunamai to support multiple VCS systems.
Install it if you use Poetry 1.2.0+ and want to eliminate manual version management in your build workflow.
Parses and applies patch files in multiple diff formats (unified, context, normal, ed, rcs) and from several source control systems (Git, SVN, CVS).
Automatically determines your Python package's version from Git or Mercurial tags and writes it to your build system, with customizable version formatting and optional runtime file generation.
Strips output cells and metadata from Jupyter and IPython notebooks, typically for use as a Git filter to keep notebooks clean in version control without losing local output.
Install it if you work with notebooks in version control.
Automates version number management in projects by parsing, incrementing, and serializing version strings across multiple files, with support for semantic versioning, calendar versioning, and custom schemes.
Install it if your project cuts releases and you want to eliminate manual version-number edits.
Reduces boilerplate in setup.py by auto-detecting project metadata from conventional file locations and git tags, then generating version numbers based on git history.
Install it if you want to eliminate setup.py boilerplate and adopt git-based versioning; skip it only if your project has highly non-standard metadata or you prefer…
Yoyo-migrations is a database schema migration tool that lets you write and manage migrations as SQL files or Python scripts, with command-line tools to apply, rollback, and track dependencies across PostgreSQL, MySQL, and SQLite databases.
However, be aware that the package is dormant (no releases for 734 days), so consider whether you need active maintenance for compatibility with newer database…
ClearML is an ML/DL development and production suite that automates experiment tracking, captures environment and hyperparameter data, logs outputs and metrics, and provides orchestration and data management for machine learning workflows.
A setuptools plugin that automatically includes all git-tracked files in Python package distributions, eliminating the need for manual MANIFEST.in specifications.
Mercurial is a distributed version control system that tracks and manages changes to source code across multiple developers and repositories.
However, consider your team's existing tooling; install Mercurial only if you have a specific reason to use it.
A high-level Python wrapper around the lakeFS SDK that simplifies interaction with lakeFS repositories, branches, and objects through a cleaner API with environment-based credential inference.
p4python wraps the Perforce C++ API to provide a Python interface for interacting with Perforce version control systems, prioritizing performance and ease of use.
However, verify that the LICENSE.txt terms are compatible with your project, and confirm your Perforce server version is supported before deploying to production.
Enables Git to use Amazon S3 as a remote repository and LFS server, implementing a git remote helper and git-lfs custom transfer protocol.
Install it if you need S3-backed Git repositories and have AWS infrastructure already in place; skip it if you prefer traditional Git hosting or don't use AWS.
YORM maps Python object attributes bidirectionally to YAML files, automatically synchronizing changes between in-memory objects and text-based storage.
Gitman manages nested Git repositories as dependencies, offering a Git-based alternative to submodules with support for version pinning, sparse checkouts, and post-install scripts.
vcstool is a command-line tool that manages multiple version control repositories (Git, Mercurial, Subversion, Bazaar) from a single interface, letting you run VCS commands across many repos at once.
However, be aware that the package is dormant (last release 2021-08-09) and receives no active maintenance—it works for its stated purpose but may not evolve with…
Generates a formatted changelog from git commit history, filtering and classifying commits according to configurable rules and templates.
Consider it suitable for established projects with stable workflows, not for bleeding-edge setups.
A setuptools plugin that automates compilation of protobuf files during the Python package build process, generating Python code from .proto definitions.
Parses and compares package version strings in RPM/Yum format using pure Python, without requiring system tools or external dependencies.