asdf_pydantic.schema
====================

.. py:module:: asdf_pydantic.schema


Attributes
----------

.. autoapisummary::

   asdf_pydantic.schema.DEFAULT_ASDF_SCHEMA_REF_TEMPLATE
   asdf_pydantic.schema.DESIRED_ASDF_SCHEMA_KEY_ORDER


Classes
-------

.. autoapisummary::

   asdf_pydantic.schema.GenerateAsdfSchema


Module Contents
---------------

.. py:data:: DEFAULT_ASDF_SCHEMA_REF_TEMPLATE
   :value: '#/definitions/{model}'


.. py:data:: DESIRED_ASDF_SCHEMA_KEY_ORDER
   :value: ('$schema', 'id', 'title', 'type', 'properties', 'allOf', 'anyOf', 'required', 'definitions')


.. py:class:: GenerateAsdfSchema(by_alias: bool = True, ref_template: str = DEFAULT_ASDF_SCHEMA_REF_TEMPLATE, tag_uri: Optional[str] = None)

   Bases: :py:obj:`pydantic.json_schema.GenerateJsonSchema`


   Generates ASDF-compatible schema from Pydantic's default JSON schema generator.

   ```{caution} Experimental
   This schema generator is not complete. It currently creates JSON 2020-12
   schema (despite `$schema` says it's `asdf-schema-1.0.0`) which are not
   compatible with ASDF.
   ```


   .. py:attribute:: schema_dialect
      :value: 'http://stsci.edu/schemas/asdf/asdf-schema-1.0.0'



   .. py:attribute:: tag_uri


   .. py:method:: generate(schema, mode='validation')


