Skip to main content

Data models for IVOA protocols

Project description

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.

  • Expandability: The project is designed with future expansion in mind. Plans include extending the schema and models to cover other IVOA standards.

Protocols

The following IVOA protocols are currently supported:

  • UWS (Universal Worker Service) version 1.1
  • VOSI (IVOA Support Interfaces) version 1.1
    • VOSI Availability

Installation

The latest version of the project can be installed from PyPI:

pip install vo-models

Conda

To install the project using Conda, you can use the provided environment file:

git clone https://github.com/spacetelescope/vo-models.git
cd vo-models
conda env create -f environment.yml
conda activate vo-models
pip install -r requirements.txt
pip install .

For active development, install the project in development mode:

pip install -e .[dev,test]

Pydantic-XML Models

Python models using pydantic-xml, a library based on Pydantic, are provided in the vo/models/xml directory.

These models can be used to parse and validate XML data into Python objects, as well as serialize Python objects into XML data. These models can be used with any Python web framework, but are particularly useful when used libraries that leverage the power of Pydantic, such as FastAPI.

Contributing

Contributions to the project are more than welcome. Collaboration and discussion with other IVOA members, service implementors, and developers is what started this project, and is what makes the IVOA great.

If you are interested in contributing, whether that be adding a new protocol, improving the schema, fixing a bug or even a typo, please feel free to open an issue or pull request.

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vo-models-0.2.2.dev0.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

vo_models-0.2.2.dev0-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file vo-models-0.2.2.dev0.tar.gz.

File metadata

  • Download URL: vo-models-0.2.2.dev0.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for vo-models-0.2.2.dev0.tar.gz
Algorithm Hash digest
SHA256 2e60f512d71696768949a6fe0967ec083b47fd27d2f5c98821c41c38ce071548
MD5 90eabea903e5d302cfbb40f2d47bc9cc
BLAKE2b-256 1b79816eea847cae6f91b81e8a719c4fcfd3f0065d7f25be190d9b969cc50a60

See more details on using hashes here.

File details

Details for the file vo_models-0.2.2.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for vo_models-0.2.2.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 ab122b34045e4a85d2d3a65645b52e55d32688d072e11fd974786e27caab6cda
MD5 8aa1dcfac7b01826e984a597be8e9e13
BLAKE2b-256 107bf3f25a80a04328bc6e7c25e12b9a7aa28f97be6b519b554f2fe98366ab59

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page