vo-models
=========
``vo-models`` an open-source project to provide Python models for `IVOA `_ service protocols.
The project is designed to be used by IVOA members, service implementors, and developers to help facilitate the development of IVOA-compliant services and clients.
Features
^^^^^^^^
- **Pydantic-xml Models:** The project includes Python models for IVOA protocols, using `pydantic-xml `_. Based on `Pydantic `_, these models describe transactions for an IVOA protocol, such as UWS, and feature automatic validation, parsing and serialization of XML data for use with Python clients and web frameworks.
Using the models in your project for validation and serialization to XML is as simple as:
.. code-block:: python
from vo_models.uws import ShortJobDescription
from vo_models.uws.types import ExecutionPhase
job = ShortJobDescription(
phase=ExecutionPhase.PENDING, # or use "PENDING"
run_id = "run_1",
job_id = "job_1",
creation_time = "2021-01-01T00:00:00Z",
)
job.to_xml()
.. code-block:: xml
PENDING
run_1
For more information on getting started with ``vo-models``, see :ref:`quickstart`.
User Guide
^^^^^^^^^^
.. toctree::
:maxdepth: 1
pages/quickstart
pages/installation
Supported Protocols
^^^^^^^^^^^^^^^^^^^
.. toctree::
:maxdepth: 2
pages/protocols/index
API Documentation
^^^^^^^^^^^^^^^^^
.. toctree::
:maxdepth: 1
pages/api/index
Links
^^^^^
- `Source Code `_
- `Pydantic-xml `_
- `Pydantic `_
Indices and tables
^^^^^^^^^^^^^^^^^^
* :ref:`genindex`
* :ref:`modindex`