Repolode
treeverse

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. 1

    Install DVC with pip

    pip install dvc
  2. 2

    Track a data folder with DVC inside a Git repo

    dvc add images/
  3. 3

    Connect code and data as a reproducible pipeline stage

    dvc stage add -n featurize -d images/ -o features/ python featurize.py
  4. 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