dvc
Git for data scientists - manage your code and data together
What it is and what it does
DVC is a version control system for data and machine learning models that integrates with Git. It lets you store data artifacts and models outside your repository while keeping metadata in Git, similar to Git-LFS but without requiring a server. You define reproducible pipelines (computational graphs) that specify how to build models from code, data, and commands, then run only the steps affected by your changes.
The tool supports local experiment tracking—you can prepare and run many experiments, compare their results by hyperparameters and metrics, and visualize performance plots. It works with multiple remote storage backends (S3, Azure, Google Cloud, SSH, etc.) for sharing and backing up your data cache. The package has 42 runtime dependencies including celery, networkx, hydra-core, and fsspec, enabling distributed task execution and flexible storage integration.
Use it for:
- Version and share large datasets and trained models with team members using existing Git hosting (GitHub, GitLab)
- Build reproducible ML pipelines that automatically track which steps need to re-run when code or data changes
- Run and compare multiple experiments locally, filtering results by hyperparameters and metrics without external servers
- Integrate data pipelines with CI/CD workflows to automatically reproduce experiments on code changes
- Store data in cloud storage (S3, Azure, GCS) while keeping version metadata in Git for cost-effective large-scale projects
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
DVC is a command-line tool for versioning data and models alongside code, running reproducible machine learning pipelines, and tracking experiments locally using Git.
Yes. DVC is actively maintained, has low install friction, and solves a real problem for ML teams managing data versioning and reproducible pipelines. The Apache-2.0 license is permissive. No known vulnerabilities. The large dependency tree (42 packages) is justified by its feature set, and optional storage backends let you add only what you need. Suitable for both individual data scientists and collaborative teams.
Install
dvc on PyPI
pip
pip install dvcuv
uv add dvcpoetry
poetry add dvcInstalling dvc
Before you install
Low install friction with a pure-Python wheel. Actively maintained with recent commits and a large community (15818 stars). Supports Python 3.9 through 3.14. Optional storage-specific dependencies (s3, gs, azure, ssh) are available for cloud integration.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you must include a copy of the license and note any modifications.
Quickstart
pip install dvc
import dvc.api
# Track data in DVC
# dvc add data.csv
# dvc push # to remote storage
# Or use CLI: dvc init, dvc add, dvc run, dvc repro
Requires Python 3.9 or later. Optional cloud storage backends (s3, gs, azure, ssh) must be installed separately if using remote storage.
Verify before relying
- Whether DVC's experiment tracking requires external servers or works entirely locally as claimed
- Performance characteristics when working with very large datasets or complex pipelines
- Specific Git hosting platforms tested and officially supported for experiment collaboration
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 42 — attrs, celery, colorama, configobj, distro, dpath, dulwich, dvc-data, dvc-http, dvc-objects, dvc-render, dvc-studio-client, dvc-task, flatten-dict, flufl.lock, fsspec, funcy, grandalf, gto, hydra-core, iterative-telemetry, kombu, networkx, omegaconf, packaging, pathspec, platformdirs, psutil, pydot, pygtrie |
| Maintenance | actively maintained — 136 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,627,704/month — #2,964 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dvc-3.67.1-py3-none-any.whl
Keywords: ai, collaboration, data-science, data-version-control, developer-tools, git, machine-learning, reproducibility
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
dvc-azureAdds Azure Blob Storage and Azure Data Lake…
permissive · top 15,000 on PyPI
dvc-renderRenders data in DVC plots format into Vega…
permissive · top 5,000 on PyPI
dvc-studio-clientClient library for posting experiment metrics,…
permissive · top 5,000 on PyPI
dvcliveDVCLive logs machine learning metrics,…
permissive · top 15,000 on PyPI
laboratoryLaboratory lets you safely refactor critical…
permissive · top 15,000 on PyPI
dvc-sshAdds SSH remote storage support to DVC,…
permissive · top 15,000 on PyPI
dvc-objectsProvides filesystem and object-database…
permissive · top 5,000 on PyPI
dvc-httpEnables DVC to store and retrieve data over…
permissive · top 5,000 on PyPI
dvc-s3Enables DVC to read from, write to, and manage…
permissive · top 5,000 on PyPI
vcstoolvcstool is a command-line tool that manages…
permissive · top 15,000 on PyPI