{"id":23792,"library":"gitman","title":"Gitman","description":"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.","status":"active","version":"3.8.1","language":"python","source_language":"en","source_url":"https://github.com/jacebrowning/gitman","tags":["git","dependency-manager","monorepo","vcs"],"install":[{"cmd":"pip install gitman","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"Direct import of 'gitman' does not expose the GitMan class; you must import it explicitly.","wrong":"import gitman","symbol":"GitMan","correct":"from gitman import GitMan"},{"note":"models is a submodule; importing it directly works but is non-standard.","wrong":"from gitman import models","symbol":"models","correct":"from gitman.models import Dependency"}],"quickstart":{"code":"from gitman import GitMan\n\ngm = GitMan()\n# Initialize a gitman.yml file\ngm.init()\n# Add a dependency\ngm.add('my-dep', 'https://github.com/example/repo.git', branch='main')\n# Install all dependencies\ngm.install()\n# Update dependencies\ngm.update()","lang":"python","description":"Initialize Gitman, add a dependency, install and update."},"warnings":[{"fix":"Migrate your gitman.yml file if upgrading from v2. See migration docs.","message":"Gitman v3.0 dropped support for Python 2.x and restructured configuration to use YAML. Existing v2 configs will break.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Always commit gitman.lock alongside gitman.yml.","message":"Gitman uses an internal lockfile (gitman.lock) that must be committed to version control. Forgetting to commit it leads to non-reproducible builds.","severity":"gotcha","affected_versions":"all"},{"fix":"Use 'gitman update' instead of 'gitman install --force'.","message":"The --force flag in 'gitman install' is deprecated in favor of explicit 'gitman update' to avoid unintentional overwrites.","severity":"deprecated","affected_versions":">=3.6.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Ensure you are using Python >=3.10 and <3.15. Run 'python --version' to check.","cause":"pip cannot find a compatible Gitman version for the specified Python range; Gitman 3.8.1 requires Python <3.15,>=3.10","error":"ERROR: Could not find a version that satisfies the requirement gitman<3.15,>=3.10"},{"fix":"Ensure your gitman.yml has a 'dependencies' key at the top level. Example: 'dependencies:' followed by list items.","cause":"The gitman.yml file is missing the 'dependencies' key, and Gitman 3+ expects YAML structure with 'dependencies' list.","error":"KeyError: 'dependencies'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}