Extension¶
- class asdf.extension.Extension[source]¶
Bases:
ABC
Abstract base class defining an extension to ASDF.
Implementing classes must provide the
extension_uri
. Other properties are optional.Attributes Summary
Get the ASDF Standard version requirement for this extension.
Get the
asdf.extension.Compressor
instances for compression schemes supported by this extension.Get the
asdf.extension.Converter
instances for tags and Python types supported by this extension.Get the URI of the extension to the ASDF Standard implemented by this class.
Get the set of fully-qualified class names used by older versions of this extension.
Get the YAML tags supported by this extension.
Get a dictionary of custom yaml TAG handles defined by the extension.
Attributes Documentation
- asdf_standard_requirement¶
Get the ASDF Standard version requirement for this extension.
- Returns:
- str or None
If str, PEP 440 version specifier. If None, support all versions.
- compressors¶
Get the
asdf.extension.Compressor
instances for compression schemes supported by this extension.- Returns:
- iterable of asdf.extension.Compressor
- converters¶
Get the
asdf.extension.Converter
instances for tags and Python types supported by this extension.- Returns:
- iterable of asdf.extension.Converter
- extension_uri¶
Get the URI of the extension to the ASDF Standard implemented by this class. Note that this may not uniquely identify the class itself.
- Returns:
- str
- legacy_class_names¶
Get the set of fully-qualified class names used by older versions of this extension. This allows a new-style implementation of an extension to prevent warnings when a legacy extension is missing.
- Returns:
- iterable of str
- tags¶
Get the YAML tags supported by this extension.
- Returns:
- iterable of str or asdf.extension.TagDefinition
- yaml_tag_handles¶
Get a dictionary of custom yaml TAG handles defined by the extension.
The dictionary key indicates the TAG handles to be placed in the YAML header, the value defines the string for tag replacement. See https://yaml.org/spec/1.1/#tag%20shorthand/
Example:
{"!foo!": "tag:nowhere.org:custom/"}
- Returns:
- dict