build(deps): bump actions/download-artifact from 6 to 7#2
Closed
dependabot[bot] wants to merge 30 commits into
Closed
build(deps): bump actions/download-artifact from 6 to 7#2dependabot[bot] wants to merge 30 commits into
dependabot[bot] wants to merge 30 commits into
Conversation
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Major changes: - Rename package from `dvc` to `dvx` - Remove experiments, metrics, params, plots modules - Remove analytics, daemon, updater, studio integrations - Remove pipeline execution (repro, run, stage commands) - Remove ML-specific features (artifacts, datasets) - Slim dependencies: remove celery, hydra-core, kombu, dvc-render, dvc-studio-client, dvc-task, grandalf, gto, iterative-telemetry, omegaconf, pydot Retained core functionality: - Content-addressable storage (cache, remote, hash) - Commands: add, push, pull, checkout, status, gc, config, remote, init, fetch, diff, import, get, ls, etc. - .dvc file format and .dvc/ directory structure - All remote backends (s3, gs, azure, ssh, etc.) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Rewrite README.rst for minimal data versioning focus - Update GitHub Actions: fix paths, remove Slack/plugin_tests - Simplify issue/PR templates - Update pyproject.toml URLs and maintainers - Remove dvc.org links from code (pager, status, output) - Rename legacy DVC tags to `dvc/` prefix (574 tags) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
The daemon module was removed in the DVX fork. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Integrates dvc-run parallel execution engine into DVX: - `dvx/run/` module with DAG, executor, parser, and visualization - `dvx run` CLI command with options for parallelism, dry-run, etc. - 26 tests for DAG construction, parsing, and integration Usage: dvx run # Run all stages in parallel dvx run -j 4 # Limit parallel workers dvx run --dry-run # Show execution plan dvx run --dot g.dot # Export DAG to GraphViz 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add parallel pipelines to features list - Document `dvx run` command and options - Update "What's Different" section to reflect simplified pipeline model 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Key concepts: - Self-documenting .dvc files with embedded provenance (computation block) - SHA-based staleness detection (not timestamps) - DAG traversal for selective recomputation - Two-phase model: prep (generate .dvc) + run (execute) - DVX as both library (lazy pipeline construction) and engine (execution) - Dask-inspired delayed abstraction for parameterized pipelines 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Replace `meta` block with `computation` block in .dvc file schema
- Add `code_ref` field to record git SHA when artifact was computed
- Add `deps` field with input file hashes for staleness detection
- Update `is_output_fresh()` to check dependency hashes, not just output
- Executor captures git SHA once at start for consistent provenance
- Add 16 unit tests for new schema and freshness logic
- Move test/lint/dev deps from extras to dependency-groups (PEP 735)
New .dvc format:
```yaml
outs:
- md5: abc123...
path: output.parquet
computation:
cmd: "python process.py"
code_ref: "a1b2c3d..."
deps:
input.csv: def456...
```
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
SQLite-based artifact status tracking (.dvc/dvx.db): - Caches mtime + hash to avoid redundant hash computations - Thread-safe with WAL mode for parallel execution - Only recomputes hash when mtime changes Git blob comparison for code_ref checking: - get_git_blob_sha() to get blob SHA at any ref - has_file_changed_since() compares blob SHAs (fast, no file reads) - have_deps_changed_since() checks all deps against code_ref Updated is_output_fresh(): - Uses mtime cache for output hash (avoids O(file_size) on every check) - Uses git blob comparison for tracked deps (fast) - Falls back to hash comparison for untracked deps - New flags: check_code_ref, use_mtime_cache Tests: 11 new tests for status module, all 45 run tests pass 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Artifact class: represents data artifacts with optional provenance
- Computation class: captures how artifacts are produced (cmd, deps, params)
- delayed decorator: Dask-inspired lazy function composition
- write_dvc(): serialize artifacts to .dvc files with computation blocks
- materialize(): execute pending computations in dependency order
- write_all_dvc(): batch write .dvc files for artifact graphs
This enables programmatic pipeline construction:
from dvx.run import Artifact, Computation, delayed
@delayed
def normalize(ym: str, src: Artifact) -> Artifact:
return Artifact(
path=f"normalized/{ym}",
computation=Computation(cmd=f"ctbk norm {ym}", deps=[src])
)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implements selective recomputation using .dvc file provenance:
- repro(): Reproduce artifacts from .dvc files in dependency order
- status(): Check freshness status of artifacts
- ReproConfig: Configure force/cached patterns for selective recomputation
- Pattern matching with fnmatch for --force-upstream and --cached options
Features:
- Builds DAG by following computation.deps in .dvc files
- Topological sort ensures correct execution order
- Skips fresh artifacts automatically
- Supports glob patterns for selective upstream control
- CLI with dvx-repro run and dvx-repro check commands
Example usage:
dvx-repro run output.dvc # Reproduce artifact
dvx-repro run --force output.dvc # Force recomputation
dvx-repro run --force-upstream "*/raw/*" out # Force specific upstream
dvx-repro run --cached "*/raw/*" output.dvc # Use cached raw data
dvx-repro check *.dvc # Check freshness status
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Major simplification - DVX now works exclusively with .dvc files: Removed legacy dvc.yaml infrastructure: - parser.py - dvc.yaml parsing - stage.py - Stage dataclass - dag.py - DAG based on Stage deps/outs - dvc.py - DVCClient wrapper - viz.py - DAG visualization - repro.py, repro_cli.py - separate repro command Refactored executor.py: - Works with Artifact objects instead of Stage - Parallel execution using ThreadPoolExecutor - Level-based grouping for maximum parallelism - Pattern matching for --force-upstream and --cached Updated CLI (dvx run): - Takes .dvc files as targets (not dvc.yaml) - Defaults to *.dvc in current directory - Supports -j/--jobs for parallel workers - Supports --force-upstream and --cached patterns The run module is now focused and minimal: - artifact.py - Artifact/Computation classes - executor.py - parallel execution engine - dvc_files.py - .dvc file read/write - status.py - SQLite mtime cache - hash.py - MD5 utilities - cli.py - click-based CLI 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Rewrite dvx status to check artifact freshness using DVX's .dvc file format with computation blocks - Add parallel execution using ThreadPoolExecutor with imap_unordered - Add progress indicator showing completion percentage - Add dvx fsck command to verify hashes and rebuild mtime cache - Fix read_dvc_file() to handle .dvc file paths directly - Remove unused Click-based cli.py (using argparse CLI instead) - Update ROADMAP with fsck docs and Phase 7 (Rust optimization ideas) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix directory hash to use DVC's JSON format: [{"md5": ..., "relpath": ...}]
- Use DVC's JSON separators (', ' and ': ') for exact hash match
- Add .dir suffix to directory hashes in .dvc files
- Add nfiles field for directories
- Strip .dir suffix when reading, preserve is_dir flag
- Preserve full path in Artifact.from_dvc() for cross-directory deps
- Use relative path (filename only) in .dvc file output
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Default is min(32, cpu_count + 4), better than hardcoded 4 for machines with more cores. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
DVC rejects unknown top-level keys but allows arbitrary data in meta. This preserves backward compat by also reading top-level computation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
New commands: - `dvx cache path <file>` - get local cache path for a tracked file - `dvx cache md5 <file>` - extract MD5 hash from .dvc file - `dvx cat <file>` - display cached file contents All commands accept paths with or without .dvc extension. Support --rev flag for inspecting files at specific git revisions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
New command shows actual content differences between commits, with optional preprocessing pipeline support (via dffs package). Features: - Compare files between any two commits or vs worktree - Pass content through preprocessing commands before diffing - Directory diffing shows MD5 changes per file - Supports -R shorthand for "commit vs parent" comparison Dependencies: - click>=8 (explicit, was already transitive) - dffs>=0.0.7 (optional, under [diff] extra) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace argparse-based CLI with Click framework for cleaner, more maintainable command definitions. All core commands converted: - add, checkout, status, remove, move, commit - diff, gc, pull, push, fetch - init, destroy, unprotect, version, root - cache (path, md5), cat, xdiff Click provides better composability, automatic help generation, and cleaner option/argument handling. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove old argparse-based main() from dvx/cli/__init__.py - Re-export main from new Click-based dvx/cli/main.py - Fix Repo() parameter: use _wait_for_lock instead of wait_for_lock 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fix test imports to use dvx instead of dvc: - tests/conftest.py: dvx.env, dvx.stage, dvx.ui, dvx.repo - tests/scripts.py: dvx.testing.scripts - tests/remotes/__init__.py: make dvc-ssh imports optional The new test_import_dvc_fails test ensures the dvc package is not a dependency - dvx is a fork, not a wrapper around dvc. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Change `dvx cache path` to output relative paths by default. Add `--absolute` flag for when absolute paths are needed. This makes the output more portable and easier to use in scripts. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The diff command now shows actual content differences by default. Use -s/--summary to see which files changed with hashes (previous diff behavior). Changes: - Rename xdiff command to diff - Add -s/--summary flag for metadata/hash view - Change -s (shell-executable) to -e - Remove old diff command (now covered by -s/--summary) - Update tests and rename test_xdiff.py to test_diff.py 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- _get_cache_path_for_ref: Read .dvc file content directly from git using `git show ref:path` instead of broken switch() approach - main(): Capture return value from cli() instead of always returning 0 - CmdContentDiff.do_run(): Fix xdiff -> diff typo, capture return value 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The glob '**/*.dvc' was matching the .dvc directory itself in addition to .dvc files. Added is_file() filter. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add `tests` and `dev` to `[project.optional-dependencies]` for compatibility with `uv pip install ".[dev]"` in CI workflows - Exclude auto-generated `dvx/_version.py` from ruff linting 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Update `requires-python` to `>=3.10` - Remove 3.9 from test matrix and classifiers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 6 to 7. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](actions/download-artifact@v6...v7) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Contributor
Author
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
Member
|
Closing Dependabot PRs - managing dependencies manually for now |
Contributor
Author
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rebasing might not happen immediately, so don't worry if this takes some time.
Note: if you make any changes to this PR yourself, they will take precedence over the rebase.
Bumps actions/download-artifact from 6 to 7.
Release notes
Sourced from actions/download-artifact's releases.
Commits
37930b1Merge pull request #452 from actions/download-artifact-v7-release72582b9doc: update readme0d2ec9dchore: release v7.0.0 for Node.js 24 supportfd7ae8fMerge pull request #451 from actions/fix-storage-blobd484700chore: restore minimatch.dep.yml license file03a8080chore: remove obsolete dependency license files56fe6d9chore: update@actions/artifactlicense file to 5.0.18e3ebc4chore: update package-lock.json with@actions/artifact@5.0.11e3c4b4fix: update@actions/artifactto ^5.0.0 for Node.js 24 punycode fix458627dchore: use local@actions/artifactpackage for Node.js 24 testingDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)