asdf_pydantic
=============

.. py:module:: asdf_pydantic


Subpackages
-----------

.. toctree::
   :maxdepth: 1

   /autoapi/asdf_pydantic/examples/index


Submodules
----------

.. toctree::
   :maxdepth: 1

   /autoapi/asdf_pydantic/converter/index
   /autoapi/asdf_pydantic/model/index
   /autoapi/asdf_pydantic/schema/index


Classes
-------

.. autoapisummary::

   asdf_pydantic.AsdfPydanticConverter
   asdf_pydantic.AsdfPydanticModel


Package Contents
----------------

.. py:class:: AsdfPydanticConverter

   Bases: :py:obj:`asdf.extension.Converter`


   Implements a converter compatible with all subclass of AsdfPydanticModel.

   The instance is a singleton.


   .. py:attribute:: _tag_to_class
      :type:  dict[str, Type[asdf_pydantic.model.AsdfPydanticModel]]


   .. py:attribute:: self


   .. py:method:: add_models(*model_classes: Type[asdf_pydantic.model.AsdfPydanticModel]) -> AsdfPydanticConverter
      :classmethod:



   .. py:property:: tags
      :type: tuple[str]



   .. py:property:: types
      :type: tuple[str | Type]



   .. py:method:: select_tag(obj, tags, ctx)


   .. py:method:: to_yaml_tree(obj: asdf_pydantic.model.AsdfPydanticModel, tag, ctx)


   .. py:method:: from_yaml_tree(node, tag, ctx)


.. py:class:: AsdfPydanticModel

   Bases: :py:obj:`pydantic.BaseModel`


   ASDF Serialization and Deserialization:
       Serialize to ASDF yaml tree is done with the
       py:classmethod`AsdfPydanticModel.asdf_yaml_tree()` and deserialize to an
       AsdfPydanticModel object with py:meth`AsdfPydanticModel.parse_obj()`.


   .. py:attribute:: _tag
      :type:  ClassVar[str | asdf.extension.TagDefinition]


   .. py:attribute:: model_config


   .. py:method:: asdf_yaml_tree() -> dict


   .. py:method:: get_tag_definition()
      :classmethod:



   .. py:method:: get_tag_uri()
      :classmethod:



   .. py:method:: model_asdf_schema(by_alias: bool = True, ref_template: str = DEFAULT_ASDF_SCHEMA_REF_TEMPLATE, schema_generator: type[asdf_pydantic.schema.GenerateAsdfSchema] = GenerateAsdfSchema)
      :classmethod:


      Get the ASDF schema definition for this model.



   .. py:method:: schema_asdf(*, metaschema: str = GenerateAsdfSchema.schema_dialect, **kwargs) -> str
      :classmethod:


      Get the ASDF schema definition for this model.

      Parameters
      ----------
      metaschema, optional
          A metaschema URI



