skillfed

gto

Version and deploy your models following GitOps principles

gto v1.10.1 2.1M downloads/30d#3,333 on PyPI161
Permissive license Apache License 2.0 Active released

What it is and what it does

GTO is a command-line and Python tool that transforms a Git repository into an artifact registry by managing annotated Git tags in a standard format. It lets you track artifact versions, define lifecycle stages (like 'staging' or 'production'), and emit signals that trigger CI/CD automation when versions change or stages are updated. The tool works by creating and reading Git tags rather than maintaining a separate database, making it lightweight and Git-native.

The package is designed to work alongside DVC and serves as a backbone for Git-based model registries in systems like Iterative Studio. It has 10 runtime dependencies including click for CLI handling, pydantic for data validation, and ruamel.yaml for configuration. The codebase is actively maintained, supports Python 3.10 through 3.14, and carries no known security vulnerabilities.

Use it for:

  • Track model versions and their deployment status across environments using Git tags as the source of truth.
  • Automate CI/CD pipelines to deploy new artifact versions when lifecycle stages are updated (e.g., promoting from staging to production).
  • Manage release readiness by marking artifacts with stages that indicate their consumption status for specific environments.
  • Integrate with DVC-based ML workflows to maintain a Git-native model registry without external infrastructure.
  • Signal downstream systems about artifact changes without polling, using Git tags as events.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

GTO turns a Git repository into an artifact registry by creating annotated Git tags to track artifact versions, manage lifecycle stages, and signal CI/CD systems about deployments and readiness changes.

Yes, if you need Git-native artifact versioning and lifecycle management for CI/CD workflows. The package is actively maintained, has low install friction, carries no vulnerabilities, and integrates well with DVC-based ML pipelines. Pre-Alpha status means the API may change, but the core functionality is stable enough for production use in teams already using Git as their source of truth.

Install

gto on PyPI

pip

pip install gto

uv

uv add gto

poetry

poetry add gto

Installing gto

Before you install

Low friction: pure Python wheel with 10 runtime dependencies including click, pydantic, and ruamel.yaml. Active maintenance with a release 36 days ago and recent commits; requires Python 3.10 or later.

License in practice

Apache License 2.0 is permissive; you can use, modify, and distribute this package freely in commercial and private projects provided you include the license notice.

Quickstart

pip install gto

from gto import api
# Create a Git tag for artifact versioning
api.assign("path/to/repo", "artifact-name", "v1.0.0", "stage-name")

Requires Python 3.10 or later and a Git repository to operate on.

Verify before relying

  • Whether the Python API is fully documented or primarily a CLI tool.
  • Integration requirements or configuration needed to connect with DVC or other CI/CD systems.
  • Performance characteristics when managing large numbers of tags or artifacts.

Package facts

License Apache License 2.0 (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 10 — click, entrypoints, funcy, pydantic, pydantic-settings, rich, ruamel.yaml, scmrepo, semver, tabulate
Maintenance actively maintained — 36 days since the last release
Last repo commit
First released
Downloads 2,058,805/month — #3,333 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: gto-1.10.1-py3-none-any.whl

Keywords: git, repo, repository, artifact, registry, developer-tools, collaboration

Development Status :: 2 - Pre-AlphaProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

git tag artifact registryversion control model deploymentgitops artifact trackinggit-based model registryrelease lifecycle management gitci/cd deployment signalinggit version tagging automation
gitopsartifact-registryci-cd-automation

More Build Tools packages