Skip to content

Releases: spacetelescope/vo-models

v0.2.1

14 Dec 16:18
3af8127
Compare
Choose a tag to compare
  • Adds documentation for ShortJobDescription
  • fixes package discovery

v0.2.0

14 Dec 01:10
3549a59
Compare
Choose a tag to compare

Virtual Observatory OpenAPI specifications have been moved to their own open-source repo at https://github.com/spacetelescope/vo-openapi.

This repository will remain focused on Pydantic-xml python models.

Feature additions:

  • Adds support for the VOSI Availability interface protocol

v0.1.2

12 Dec 14:40
2425bb6
Compare
Choose a tag to compare

Changes behavior of the Parameters class to an abstract that should be subclassed by a service with service-specific parameter validation. Usage changes from:

parameters = Parameters(
    parameter=[
         Parameter(id="param1", value="value1")
         ]
   )

to

class TestParameters(Parameters):
    param1: Optional[Parameter] = element(tag="parameter", default=None)

parameters = self.TestParameters(
            param1=Parameter(id="param1", value="value1"),
        )

The behavior of most services that use UWS (like TAP) require ignoring extraneous parameters provided by the user, which this behavior should help tackle.

v0.1.1

08 Dec 22:57
d2ba22f
Compare
Choose a tag to compare

Changes:

  • updates missed references to old VODatetime model

v0.1.0

07 Dec 19:33
b0228d6
Compare
Choose a tag to compare

First official release of vo-models, a package aimed at making IVOA protocols simpler and easier to implement.

This release open-sources work that was originally done for MAST's new TAP and UWS services. Constructed as Python microservices, our TAP service uses the web framework FastAPI and makes heavy use of the data modeling and validation capabilities of Pydantic. Pydantic allows for simple request and response validation for FastAPI services. It was desired to move away from hand-crafting XML responses for the service, and find a tool that works well with the Pydantic models we had already written.

The pydantic-xml package was chosen, which allows simple serialization & deserialization of XML to and from Pydantic models.

Additionally, after hearing a desire for OpenAPI specifications at the Spring & May 2023 IVOA interoperability meetings, we have decided to also construct OpenAPI schema models based on IVOA protocols, which should allow service implementors to easily generate their own Python models, services, and clients.

This release adds support for:

UWS (Universal Worker Service)

  • Adds pydantic-xml models representing the complete request / response XML schema for UWS v1.1
  • Adds OpenAPI schema component models for representing UWS protocols in JSON or XML
  • Adds a basic OpenAPI UWS service model to interact with and view the usage of the schema components

VOResource

  • Implements the UTCTimestamp simple type as a datetime subclass, allowing for expanded validation / output in IVOA recommended format.