JSON Schemas
============

Included in the directory ``/Utilities/json_schemas`` are JSON schema files defining the YAML configuration files' structure. The ``models.py`` file in that directory uses Pydantic to automatically generate the schema files based on the model classes defined within it.

A YAML loader class, :class:`~Utilities.json_schemas.models.TagFreeLoader`, is implemented and used to preserve the original structure and typings of the YAML data.

.. important::

   ``models.py`` depends on ``pydantic``, which is not included in the
   ``arcgispro-py3`` environment prior to ArcGIS Pro 3.4.

Running ``models.py``
---------------------

.. program-output:: python -m Utilities.json_schemas.models -h

``models.py`` Reference
-----------------------

.. automodule:: Utilities.json_schemas.models
   :member-order: bysource
   :members:
