Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
01b0f3b
[pre-commit.ci] pre-commit autoupdate (#10924)
pre-commit-ci[bot] Dec 9, 2025
f717a96
Fork DVC to DVX: minimal data version control
ryan-williams Dec 11, 2025
3bd815a
Update docs, workflows, and references for DVX fork
ryan-williams Dec 11, 2025
aaee1a4
Remove obsolete daemon test
ryan-williams Dec 11, 2025
0c51340
Add `dvx run` command for parallel pipeline execution
ryan-williams Dec 11, 2025
2855dde
Update README with `dvx run` documentation
ryan-williams Dec 11, 2025
9dc76e4
Add ROADMAP.md outlining DVX vision and phased development plan
Dec 11, 2025
53a255c
Add computation block to .dvc files for provenance tracking
Dec 11, 2025
e29d84f
Add efficient freshness checking with mtime cache and code_ref
Dec 11, 2025
50d5b28
Add Python library API for lazy pipeline construction (Phase 5)
Dec 11, 2025
6c8cb2c
Add dvx repro command for DAG-based recomputation (Phase 3)
Dec 11, 2025
df5dce2
Unify on dvx run with .dvc files, remove dvc.yaml support
Dec 11, 2025
fefd864
Add parallel dvx status and dvx fsck commands
Dec 12, 2025
942f730
DVC-compatible directory hashing and .dvc format
Dec 12, 2025
0830578
Make dvx status default to recursive **/*.dvc (like git status)
Dec 12, 2025
145efc9
Use ThreadPoolExecutor default worker count for I/O-bound tasks
Dec 12, 2025
b61dd74
Move computation block into meta for DVC compatibility
Dec 12, 2025
f60ce83
Update ROADMAP.md examples to use meta.computation format
Dec 13, 2025
030e64e
Add cache plumbing commands and cat for inspecting DVC-tracked files
Dec 13, 2025
c83c527
Add dvx xdiff command for content diffing DVC-tracked files
Dec 13, 2025
bdd4b16
Convert CLI from argparse to Click
Dec 13, 2025
a9840a6
Clean up argparse main function and fix _wait_for_lock parameter
Dec 13, 2025
e319054
Add test verifying dvc package is not installed
Dec 13, 2025
41f5a0d
Make cache path output relative by default
Dec 13, 2025
21beca6
Rename xdiff to diff, add --summary flag for hash/file changes
Dec 13, 2025
618f46c
Fix dvx diff: read .dvc from git refs, propagate exit codes
Dec 14, 2025
ae181e8
Fix status: exclude .dvc directory from file glob
Dec 14, 2025
9471e64
Fix CI: add `tests`/`dev` extras and exclude `_version.py` from ruff
ryan-williams Dec 14, 2025
b9abce4
Drop Python 3.9 support (EOL)
ryan-williams Dec 14, 2025
3229e7e
build(deps): bump actions/download-artifact from 6 to 7
dependabot[bot] Dec 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
34 changes: 9 additions & 25 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,10 @@
---
name: "\U0001F41B Bug Report"
about: Create a bug report to help us improve DVC
name: "Bug Report"
about: Create a bug report to help us improve DVX
---

# Bug Report

<!--
## Issue name

Issue names must follow the pattern `command: description` where the command is the dvc command that you are trying to run. The description should describe the consequence of the bug.

Example: `repro: doesn't detect input changes`
-->

## Description

<!--
Expand All @@ -23,17 +15,12 @@ A clear and concise description of what the bug is.

<!--
Step list of how to reproduce the bug
-->

<!--
Example:

1. dvc init
2. Copy dataset.zip to the directory
3. dvc add dataset.zip
4. dvc run -d dataset.zip -o model ./train.sh
5. modify dataset.zip
6. dvc repro
1. dvx init
2. dvx add dataset.zip
3. dvx push
4. ...
-->

### Expected
Expand All @@ -48,17 +35,14 @@ A clear and concise description of what you expect to happen.
This is required to ensure that we can reproduce the bug.
-->

**Output of `dvc doctor`:**
**Output of `dvx version`:**

```console
$ dvc doctor
$ dvx version
```

**Additional Information (if any):**

<!--
Please check https://github.com/treeverse/dvc/wiki/Debugging-DVC on ways to gather more information regarding the issue.

If applicable, please also provide a `--verbose` output of the command, eg: `dvc add --verbose`.
If the issue is regarding the performance, please attach the profiling information and the benchmark comparisons.
If applicable, please also provide a `--verbose` output of the command, eg: `dvx add --verbose`.
-->
5 changes: 0 additions & 5 deletions .github/ISSUE_TEMPLATE/config.yml

This file was deleted.

18 changes: 16 additions & 2 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,18 @@
---
name: "\U0001F680 Feature Request"
about: Suggest an idea for this project
name: "Feature Request"
about: Suggest an idea for DVX
---

# Feature Request

## Description

<!--
A clear and concise description of the feature you'd like.
-->

## Use Case

<!--
Describe the problem this would solve or the use case it enables.
-->
11 changes: 8 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
* [ ] ❗ I have followed the [Contributing to DVC](https://dvc.org/doc/user-guide/contributing/core) checklist.
## Summary

* [ ] 📖 If this PR requires [documentation](https://dvc.org/doc) updates, I have created a separate PR (or issue, at least) in [dvc.org](https://github.com/treeverse/dvc.org) and linked it here.
<!--
Brief description of what this PR does.
-->

Thank you for the contribution - we'll try to review it as soon as possible. 🙏
## Checklist

- [ ] Tests pass locally (`pytest`)
- [ ] Linting passes (`pre-commit run --all-files`)
4 changes: 2 additions & 2 deletions .github/workflows/benchmarks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:

- run: uv pip install '.[tests]' --system
- name: run benchmarks on base branch
run: pytest --benchmark-autosave dvc/testing/benchmarks/ -k 'test_init or test_help'
run: pytest --benchmark-autosave dvx/testing/benchmarks/ -k 'test_init or test_help'

- uses: actions/checkout@v6
with:
Expand All @@ -41,4 +41,4 @@ jobs:
run: >
pytest --benchmark-compare --benchmark-compare-fail=min:5%
--benchmark-group-by name
dvc/testing/benchmarks/ -k 'test_init or test_help'
dvx/testing/benchmarks/ -k 'test_init or test_help'
14 changes: 7 additions & 7 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@ jobs:

- name: Omit local version for Test PyPI upload
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: echo SETUPTOOLS_SCM_OVERRIDES_FOR_DVC='{local_scheme="no-local-version"}' >> $GITHUB_ENV
run: echo SETUPTOOLS_SCM_OVERRIDES_FOR_DVX='{local_scheme="no-local-version"}' >> $GITHUB_ENV

- name: Build Python Package
run: |
echo 'PKG = "pip"'>dvc/_build.py
echo 'PKG = "pip"'>dvx/_build.py
uv build

- name: Check dist
Expand All @@ -51,17 +51,17 @@ jobs:
name: Publish dev package to test.pypi.org
runs-on: ubuntu-latest
needs: build
if: ${{ github.event.action == 'published' || (github.repository == 'treeverse/dvc' && github.event_name == 'push' && github.ref == 'refs/heads/main') }}
if: ${{ github.event.action == 'published' || (github.repository == 'runsascoded/dvx' && github.event_name == 'push' && github.ref == 'refs/heads/main') }}

environment:
name: test-pypi
url: https://test.pypi.org/p/dvc/${{ github.event.release.tag_name }}
url: https://test.pypi.org/p/dvx/${{ github.event.release.tag_name }}

permissions:
id-token: write

steps:
- uses: actions/download-artifact@v6
- uses: actions/download-artifact@v7
with:
name: Packages
path: dist
Expand All @@ -80,13 +80,13 @@ jobs:

environment:
name: pypi
url: https://pypi.org/p/dvc/${{ github.event.release.tag_name }}
url: https://pypi.org/p/dvx/${{ github.event.release.tag_name }}

permissions:
id-token: write

steps:
- uses: actions/download-artifact@v6
- uses: actions/download-artifact@v7
with:
name: Packages
path: dist
Expand Down
55 changes: 0 additions & 55 deletions .github/workflows/plugin_tests.yaml

This file was deleted.

29 changes: 1 addition & 28 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ jobs:
lint:
timeout-minutes: 10
runs-on: ${{ matrix.os }}
env:
DVC_NO_ANALYTICS: true
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -55,20 +53,8 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
pyv: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
pyv: ["3.10", "3.11", "3.12", "3.13", "3.14"]
include:
- os: windows-latest
pyv: "3.9"
pytestargs: "--splitting-algorithm=least_duration --splits 4 --group 1"
- os: windows-latest
pyv: "3.9"
pytestargs: "--splitting-algorithm=least_duration --splits 4 --group 2"
- os: windows-latest
pyv: "3.9"
pytestargs: "--splitting-algorithm=least_duration --splits 4 --group 3"
- os: windows-latest
pyv: "3.9"
pytestargs: "--splitting-algorithm=least_duration --splits 4 --group 4"
- os: windows-latest
pyv: "3.10"
pytestargs: "--splitting-algorithm=least_duration --splits 4 --group 1"
Expand Down Expand Up @@ -164,16 +150,3 @@ jobs:
- uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}
notify:
if: github.ref == 'refs/heads/main' && failure()
needs: [tests]
runs-on: ubuntu-latest
steps:
- name: Slack Notification
uses: rtCamp/action-slack-notify@v2.3.3
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_COLOR: ${{ job.status }}
SLACK_MESSAGE: 'CI Failed on main :boom:'
SLACK_TITLE: CI Status
SLACK_USERNAME: DVC-CI
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ repos:
- id: sort-simple-yaml
- id: trailing-whitespace
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: 'v0.14.7'
rev: 'v0.14.8'
hooks:
- id: ruff-check
args: [--fix, --exit-non-zero-on-fix]
Expand Down
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at info@dvc.org. All
reported by contacting the project maintainers via GitHub issues. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Expand Down
33 changes: 32 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1 +1,32 @@
### See our contribution guide at [dvc.org](https://dvc.org/doc/user-guide/contributing/core).
# Contributing to DVX

Contributions are welcome! DVX is a fork of [DVC](https://github.com/iterative/dvc) focused on minimal data versioning.

## Development Setup

```bash
# Clone the repo
git clone https://github.com/runsascoded/dvx.git
cd dvx

# Install development dependencies
pip install -e ".[dev]"

# Run tests
pytest
```

## Submitting Changes

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Run tests and linting: `pre-commit run --all-files`
5. Submit a pull request

## Code Style

This project uses:
- [ruff](https://github.com/astral-sh/ruff) for linting and formatting
- [mypy](https://mypy-lang.org/) for type checking
- [pre-commit](https://pre-commit.com/) for automated checks
Loading
Loading