Skip to content

Support consumer-selected bundle store paths - #98

Open
iskandr wants to merge 1 commit into
feature/bundle-metadata-inspectionfrom
feature/bundle-store-path
Open

iskandr wants to merge 1 commit into
feature/bundle-metadata-inspectionfrom
feature/bundle-store-path

Conversation

@iskandr

@iskandr iskandr commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes #93. Stacked on #97; this PR's diff is only the store-path callback change. Merge #97 first and retarget this PR to master before landing. Both changes are prepared in the prospective 1.17.0 release; neither PR is merged or published.

  • Add store_path(name, version) to VersionedDatasetRegistry, consistent with the archive registry.
  • Require exactly one destination strategy: cache_root, existing callable cache_dir, or the exact-path callback.
  • Construction does not invoke callbacks; custom path resolution computes a Path without filesystem inspection, directory creation, locks or downloads.
  • All existing inspect/install/refresh/recovery methods use the chosen managed store; internal immutable generations and foreign-directory protection are unchanged.
  • Document migration into new managed source directories beside application-owned legacy data/indexes.

Verification

  • 845 tests pass; 93% coverage.
  • 95 focused registry/bundle/API-reference tests pass.
  • Both offline examples, Ruff, and git diff --check pass.
  • Regressions cover pure default/sibling-version resolution, custom layout installation and refresh, read-only offline reuse, interrupted-publication recovery, foreign directories/symlinks, strategy exclusivity, and existing root APIs.

No PyEnsembl code is changed.

@coveralls

coveralls commented Oct 2, 2026 •

Copy link
Copy Markdown

Coverage Report for CI Build 36963646264

Coverage increased (+0.09%) to 93.438%

Details

  • Coverage increased (+0.09%) from the base build.
  • Patch coverage: 9 of 9 lines across 1 file are fully covered (100%).
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 2606
Covered Lines: 2435
Line Coverage: 93.44%
Coverage Strength: 3.73 hits per line

💛 - Coveralls

1 similar comment
@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 36963646264

Coverage increased (+0.09%) to 93.438%

Details

  • Coverage increased (+0.09%) from the base build.
  • Patch coverage: 9 of 9 lines across 1 file are fully covered (100%).
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 2606
Covered Lines: 2435
Line Coverage: 93.44%
Coverage Strength: 3.73 hits per line

💛 - Coveralls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants