-
Notifications
You must be signed in to change notification settings - Fork 33
ENH: Machine-readable validate output with store/reload #1822
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
yarikoptic
wants to merge
23
commits into
master
Choose a base branch
from
enh-validators
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
1e46e6b
refactor: git mv validate.py and validate_types.py into dandi/validat…
yarikoptic 0b1d1ca
refactor: update all import paths for dandi/validate/ subpackage
yarikoptic 20a97a5
refactor: move validation tests into dandi/validate/tests/
yarikoptic abedeed
refactor: extract _collect_results() and _filter_results() from valid…
yarikoptic 9844920
design: machine-readable validate output with store/reload
yarikoptic 113a812
feat: add record_version field to ValidationResult
yarikoptic 27ed62c
feat: add --format option to dandi validate CLI
yarikoptic 0bcf52b
feat: add --output option, io.py module, and auto-save sidecar
yarikoptic 1e231f0
feat: add --summary option to dandi validate CLI
yarikoptic 17436de
feat: add --load option to dandi validate CLI
yarikoptic 3873319
feat: persist upload validation results to sidecar JSONL
yarikoptic a66ff59
fix: add proper type annotations to cmd_validate helpers
yarikoptic 8c03dd3
feat: auto-detect --format from --output file extension
yarikoptic 5bd0f31
feat: add extended grouping options to dandi validate
yarikoptic dae0de5
feat: add --max-per-group truncation to dandi validate
yarikoptic f07d5e5
fix: auto-save validation sidecar for all output formats
yarikoptic 8a30f1b
refactor: address PR #1822 review feedback
yarikoptic e2bd9ab
refactor: rename "sidecar" to "companion" to avoid BIDS confusion + s…
yarikoptic c8e8f9e
test: add parametrized CLI tests for single and composite groupings
yarikoptic 2a0169f
refactor: merge write/append_validation_jsonl into single function
yarikoptic 9881001
DOC: add DEVELOPMENT.md about doc for doclass attributes
yarikoptic 87d4c81
refactor: rename validate submodules to private (_io, _core, _types)
yarikoptic 1c235d0
refactor: update imports for private validate submodules, add __all__
yarikoptic File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
1,108 changes: 1,108 additions & 0 deletions
1,108
.specify/specs/validate-machine-readable-output.md
Large diffs are not rendered by default.
Oops, something went wrong.
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is better of course than clobbering the namespace, but in the long term a better name that distinguishes API vs CLI functions (with CLI usually marked private since it is odd to expose them to library) is still preferred
Which would be a breaking change, not saying do it here, just thinking out loud
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah -- typically we just clobbered click's interfaces (sorry didn't interleave... but at least manually pruned some unrelated)
but frankly and unfortunately here it doesn't matter much since those
clickfunctions are not usable as python interfaces! I wish it was otherwise. So, no point of giving them any special names really.Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do you mean? Any other library can import them and manipulate the click groups; sometimes that might even be intentional, but I don't think so here