Skip to main content

Pydantic data models for IVOA protocols

Project description

vo-models

vo-models is 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 and future versions of existing standards where possible.

Protocols

The following IVOA protocols are currently supported:

  • UWS (Universal Worker Service) version 1.1
  • VOSI (IVOA Support Interfaces) version 1.1
    • VOSI Availability
    • VOSI Tables
    • VOSI Capabilities
  • VODataService version 1.2 (limited)
    • DataType
    • FKColumn
    • ForeignKey
    • Table
    • TableParam
    • TableSchema
    • TableSet
    • others
  • VOResource version 1.1
  • TAPRegExt version 1.0
  • VORegistry 1.1
  • RegistryInterfaces version 1.0

You can read more about using these models in our documentation: https://vo-models.readthedocs.io/

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]

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.5.2.tar.gz (27.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vo_models-0.5.2-py3-none-any.whl (33.7 kB view details)

Uploaded Python 3

File details

Details for the file vo_models-0.5.2.tar.gz.

File metadata

  • Download URL: vo_models-0.5.2.tar.gz
  • Upload date:
  • Size: 27.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vo_models-0.5.2.tar.gz
Algorithm Hash digest
SHA256 e7761a84385eb2e617d9b3c2910c4a7d745438a5e38baa24b66d2e156ff03e15
MD5 93a18d15983f4c295abf5c9522438265
BLAKE2b-256 da5edaf28cfafcb59d5a559107103ccc7f52af4bf1728b6ea35adf4c2cbb8e46

See more details on using hashes here.

File details

Details for the file vo_models-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: vo_models-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 33.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vo_models-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8152752814a026be3efa81393c457c94e166f324ce68d97dc3c60cc5612f930d
MD5 d0ef8e9fd8c3c0c57265b1134c53a363
BLAKE2b-256 a32a778ff0a52cb801db93d8dfc90b568f0fc2e5569d399e0e69bbb1a6c19dba

See more details on using hashes here.

Supported by

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