Gitman
raw JSON → 3.8.1 verified Fri May 01 auth: no python
A language-agnostic dependency manager using Git, designed to manage multiple Git repositories as dependencies. Current version: 3.8.1. Release cadence: irregular, with occasional patches.
pip install gitman Common errors
error ERROR: Could not find a version that satisfies the requirement gitman<3.15,>=3.10 ↓
cause pip cannot find a compatible Gitman version for the specified Python range; Gitman 3.8.1 requires Python <3.15,>=3.10
fix
Ensure you are using Python >=3.10 and <3.15. Run 'python --version' to check.
error KeyError: 'dependencies' ↓
cause The gitman.yml file is missing the 'dependencies' key, and Gitman 3+ expects YAML structure with 'dependencies' list.
fix
Ensure your gitman.yml has a 'dependencies' key at the top level. Example: 'dependencies:' followed by list items.
Warnings
breaking Gitman v3.0 dropped support for Python 2.x and restructured configuration to use YAML. Existing v2 configs will break. ↓
fix Migrate your gitman.yml file if upgrading from v2. See migration docs.
gotcha Gitman uses an internal lockfile (gitman.lock) that must be committed to version control. Forgetting to commit it leads to non-reproducible builds. ↓
fix Always commit gitman.lock alongside gitman.yml.
deprecated The --force flag in 'gitman install' is deprecated in favor of explicit 'gitman update' to avoid unintentional overwrites. ↓
fix Use 'gitman update' instead of 'gitman install --force'.
Imports
- GitMan wrong
import gitmancorrectfrom gitman import GitMan - models wrong
from gitman import modelscorrectfrom gitman.models import Dependency
Quickstart
from gitman import GitMan
gm = GitMan()
# Initialize a gitman.yml file
gm.init()
# Add a dependency
gm.add('my-dep', 'https://github.com/example/repo.git', branch='main')
# Install all dependencies
gm.install()
# Update dependencies
gm.update()