Skip to content

iterative/gto

Repository files navigation

GTO

Check, test and release Codecov PyPi

Git Tag Ops. Turn your Git repository into an Artifact Registry:

  • Registry: Track new artifacts and their versions for releases and significant changes.
  • Lifecycle Management: Create actionable stages for versions marking status of artifact or it's readiness to be consumed by a specific environment.
  • GitOps: Signal CI/CD automation or other downstream systems to act upon these new versions and lifecycle updates.

GTO works by creating annotated Git tags in a standard format.

💡 Together with DVC, GTO serves as a backbone for Git-based Iterative Studio Model Registry.

Installation

GTO requires Python 3. It works on any OS.

$ pip install gto

This will install the gto command-line interface (CLI) and make the Python API available for use in code.

Getting started

To Get Started, please head to GTO docs.

Contributing

Contributions are welcome! Please see our Contributing Guide for more details.

Check out the DVC weekly board to learn about what we do, and about the exciting new functionality that is going to be added soon.

Thanks to all our contributors!

How to setup GTO development environment

  1. Clone this repository
$ git clone git@github.com:iterative/gto.git
$ cd gto
  1. Create virtual environment named venv
$ python3 -m venv .venv
$ source .venv/bin/activate

Install python libraries

$ pip install --upgrade pip ".[tests]"
  1. Run
$ pytest --basetemp=pytest-basetemp

This will create pytest-basetemp/ directory with some fixtures that can serve as examples.

Notably, check out this dir:

$ cd pytest-basetemp/test_api0/
$ gto show -v

The code that generates this folder could be found in this fixture.

To continue experimenting, call gto --help

Copyright

This project is distributed under the Apache license version 2.0 (see the LICENSE file in the project root).

By submitting a pull request to this project, you agree to license your contribution under the Apache license version 2.0 to this project.