gitman
A language-agnostic dependency manager using Git.
Decision gist · record as of 2026-08-14
Yes. Gitman is actively maintained, carries no known vulnerabilities, uses a permissive MIT license, and installs with low friction. It solves a real problem—managing multiple Git repositories as dependencies—that submodules handle poorly. Use it if your project needs to pull code from several external Git sources and you want version control, reproducibility, and scripting support without submodule complexity.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Git 2.8+ with stored credentials configured; Python 3.10 or later.
- Low install friction with a pure Python wheel distribution.
- Actively maintained as of 2026-08-10 with recent releases.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions—suitable for most projects.
last release 2026-03-20 (147 days) · last repo commit 2026-08-10 · 225 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 121,910 downloads/mo, #11,968 on PyPI
Alternatives
Verify before relying
pipx install gitman
# Create config file
gitman init
# Update all dependencies
gitman update
# Restore specific versions
gitman install- Whether sparse_paths (partial repository clones) work with all Git versions or have specific version requirements.
- Performance characteristics when managing large numbers of nested repositories or very large individual repos.
What it is and what it does
Gitman is a language-agnostic tool for managing Git repositories as project dependencies. It replaces or augments Git submodules by allowing you to declare external repositories in a YAML configuration file, specify exact versions (by commit SHA, tag, or branch), and automatically fetch and link them into your project. It supports grouping dependencies, running post-install scripts, sparse checkouts of specific paths, and recording locked commit SHAs for reproducible installs.
You configure dependencies once in gitman.yml, then use simple commands to update all nested repos to their specified versions, list what's currently installed, or restore previous versions. It's designed for polyglot projects where you need to pull in code from multiple Git sources without the rigidity of submodules.
Use it for
- Manage multiple external Git repositories in a monorepo or multi-language project without Git submodules.
- Pin exact versions of third-party libraries or tools that live in separate Git repositories.
- Organize dependencies into logical groups and update them selectively by group name.
- Automatically run setup scripts (e.g., chmod, build steps) after checking out each dependency.
- Fetch only specific subdirectories from large repositories using sparse checkout paths.
- Lock and restore reproducible dependency states across team members and CI/CD pipelines.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Gitman is actively maintained, carries no known vulnerabilities, uses a permissive MIT license, and installs with low friction. It solves a real problem—managing multiple Git repositories as dependencies—that submodules handle poorly. Use it if your project needs to pull code from several external Git sources and you want version control, reproducibility, and scripting support without submodule complexity.
Install
gitman on PyPI
Before you install
Low install friction with a pure Python wheel distribution. Actively maintained as of 2026-08-10 with recent releases. Requires Python 3.10+ and Git 2.8+ with stored credentials configured.
Requires Git 2.8+ with stored credentials configured; Python 3.10 or later.
License in practice
MIT license permits commercial and private use with minimal restrictions—suitable for most projects.
Quickstart
pipx install gitman
# Create config file
gitman init
# Update all dependencies
gitman update
# Restore specific versions
gitman install
Verify before relying
- Whether sparse_paths (partial repository clones) work with all Git versions or have specific version requirements.
- Performance characteristics when managing large numbers of nested repositories or very large individual repos.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release <3.15,>=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesdatafilesminiloguniversal-startfile |
| Maintenance | Actively maintained 147 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 121,910 / month, #11,968 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software DevelopmentTopic :: Software Development :: Build ToolsTopic :: Software Development :: Version ControlTopic :: System :: Software Distribution |
Evidence: gitman-3.8.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “git dependency manager”
- gitmanGitman manages nested Git repositories as dependencies, offering a…
- lefthookLefthook is a Git hooks manager that installs and runs custom…
- idf-component-managerAutomatically downloads and manages ESP-IDF component dependencies…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also commitizen · colcon-metadata · gto · setuptools-scm-git-archive · unidep · ignore · prefect-gitlab · truffleHog · trufflehog3 · reno