Self-hosted open-source experiment tracker for logging ML training runs and metadata, with a UI to compare them and a Python SDK to query them.
treeverse/dvc
A command-line tool and VS Code extension for versioning data and models alongside Git and running reproducible ML experiments.
- Stars
- 15,964
- Forks
- 1,343
- Open issues
- 225
- Last commit
- 11 hours ago
What is it?
DVC (Data Version Control) helps developers make machine learning projects reproducible. Large data files and models are stored in cloud or on-premise remote storage, while lightweight metafiles that point to them are committed to the Git repository, so code and data versions stay in sync.
DVC lets you define pipelines as stages with dependencies, commands and outputs. When an input changes, only the affected steps are rerun. Experiments are tracked locally in Git without a server, and their parameters, metrics and plots can be compared, applied or shared so that others can reproduce them.
Supported remote storage includes S3, Azure, Google Cloud, OSS, SSH and Google Drive through optional dependencies. A VS Code extension provides a GUI for experiment tracking and data management, and it requires the core DVC package to be installed separately.
Key features
- 01Version large data and model files while keeping pointers in Git.
- 02Define reproducible pipelines that rerun only the stages affected by changes.
- 03Track, compare and apply experiments locally without a server.
- 04Push and pull data to S3, Azure, Google Cloud, SSH and other remotes.
- 05Use a VS Code extension for experiment tracking and data management.
Use cases
- Sharing large datasets with teammates without committing them to Git.
- Reproducing a colleague's model training by checking out a commit and pulling its data.
- Running and comparing many hyperparameter experiments in a single Git repository.
- Building multi-step ML pipelines that rerun only what changed.
Quick start
- 1
Install DVC with pip
pip install dvc - 2
Track a data folder with DVC inside a Git repo
dvc add images/ - 3
Connect code and data as a reproducible pipeline stage
dvc stage add -n featurize -d images/ -o features/ python featurize.py - 4
Run an experiment and compare results
dvc exp run -n exp-baseline
Things to know
- Installing optional remote storage backends (such as S3 or Azure) requires extra dependencies.
- The VS Code extension needs the core DVC tool installed separately.
In collections
Topics
FAQ
- What is dvc?
- A command-line tool and VS Code extension for versioning data and models alongside Git and running reproducible ML experiments. DVC (Data Version Control) helps developers make machine learning projects reproducible. Large data files and models are stored in cloud or on-premise remote storage, while lightweight metafiles that point to them are committed to the Git repository, so code and data versions stay in sync.
- Is dvc free to use? What license does it have?
- dvc is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is dvc still maintained?
- Actively maintained. The last commit to dvc was on Nov 6, 2026.
- What can I use dvc for?
- Sharing large datasets with teammates without committing them to Git. Reproducing a colleague's model training by checking out a commit and pulling its data. Running and comparing many hyperparameter experiments in a single Git repository. Building multi-step ML pipelines that rerun only what changed.
- How do I install dvc?
- Install DVC with pip: pip install dvc Track a data folder with DVC inside a Git repo: dvc add images/ Connect code and data as a reproducible pipeline stage: dvc stage add -n featurize -d images/ -o features/ python featurize.py Run an experiment and compare results: dvc exp run -n exp-baseline
- Where can I get dvc?
- The source code and installation instructions are on GitHub: https://github.com/treeverse/dvc
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source AI training tracking and visualization platform for logging metrics, hyperparameters and hardware stats, with cloud or self-hosted deployment.
Open-source Python platform for building ML and AI workflows as pipelines that run on your own or cloud infrastructure, from training models to agents.
Python library and hosted platform for tracking, visualizing and managing machine learning experiments, datasets and models.
Open-source MLOps/LLMOps suite covering experiment tracking, dataset versioning, pipelines, orchestration, scheduling and model serving.
A Python framework built on luigi for writing machine learning pipelines with automatic caching, reproducibility, and dependency management.