Skip to content

Conversation

@braingram
Copy link
Contributor

@braingram braingram commented Oct 14, 2025

Resolve all refs for load_schema(..., resolve_refs=True). This can create a recursive schema (which is fine for validation but will fail check_schema and result in infinite walks for itertree, walk, etc). I suspect we will want to make this an "opt-in" behavior since I think this is a breaking change. If we want to change the defaults it'll have to wait until asdf 6.0.

Lots of downstream failures from essentially:

  • pytest-asdf-plugin using resolve_refs (which I don't think is needed)
  • any schema referencing ndarray (or a similar recursive schema) now is a recursive dict
  • pytest-asdf-plugin passes this recursive dict to check_schema (which fails since that's not supported)

Making the behavior opt-in and/or updating pytest-asdf-plugin should those failures.

Closes: #1727

Description

Tasks

  • run pre-commit on your machine
  • run pytest on your machine
  • Does this PR add new features and / or change user-facing code / API? (if not, label with no-changelog-entry-needed)
    • write news fragment(s) in changes/: echo "changed something" > changes/<PR#>.<changetype>.rst (see below for change types)
    • update relevant docstrings and / or docs/ page
    • for any new features, add unit tests
news fragment change types...
  • changes/<PR#>.feature.rst: new feature
  • changes/<PR#>.bugfix.rst: bug fix
  • changes/<PR#>.doc.rst: documentation change
  • changes/<PR#>.removal.rst: deprecation or removal of public API
  • changes/<PR#>.general.rst: infrastructure or miscellaneous change

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

load_schema does not resolve local references

1 participant