asdf
asdf copied to clipboard
inspect asdf_standard resources to find supported versions
Requires https://github.com/asdf-format/asdf-standard/pull/416 (this is currently included in the CI to verify the sequence of fixes described in that PR work). This temporary change can be removed when the linked PR is merged.
This PR changes how asdf determines supported ASDF standard versions (the standard not the asdf-standard
python package). With this PR asdf will inspect the asdf-standard
package and support all versions that have a version-map
file. This should allow asdf-standard
to add new standards without breaking asdf (more on that below).
Currently if a new standard were added that contains schema changes that shouldn't require asdf code changes one would need to:
- update asdf-standard with the new version (breaking asdf tests)
- release asdf-standard (and/or add conditional logic in asdf)
- update asdf to support the new version and increase the asdf-standard lower pin
- (hopefully remember to remove the now unneeded conditional logic)
With this PR the above new standard would require no changes in asdf. This will not be true for all ASDF standard versions as some may require changes to the converters/etc where some version of the above coordination might be required.
After this PR is merged https://github.com/asdf-format/asdf-standard/pull/415 can be brought out of draft.
Checklist:
- [ ] pre-commit checks ran successfully
- [ ] tests ran successfully
- [ ] for a public change, a changelog entry was added
- [ ] for a public change, documentation was updated
- [ ] for any new features, unit tests were added
Should have done this a long time ago!
Closing as the required PR https://github.com/asdf-format/asdf-standard/pull/415 was closed.
It may be worth revisiting this in the future but at the moment this isn't ready for "prime time".