Versioning

asdf-pydantic provides a few tools and recommendations to help propagate versions of your models to ASDF extensions, tags, schemas, etc. following the guidelines in the ASDF documentation on versioning extensions.

Use the package version

asdf-pydantic recommends maintainers to use the versioning scheme of their Python package for all versioned resources in ASDF.

__version__ = ...

class MyModel(AsdfPydanticModel):
    _tag = f"asdf://asdf-pydantic/examples/tags/mymodel-{__version__}"


class MyModel(AsdfPydanticModel):
    _tag = TagDefinition(
        tag=f"asdf://asdf-pydantic/examples/tags/mymodel-{__version__}",
        schema_uri=f"asdf://asdf-pydantic/examples/schemas/mymodel-{__version__}",
    )


class MyExtension(Extension):
    extension_uri = f"asdf://asdf-pydantic/examples/extensions/test-extension-{__version__}"