Releases: spacetelescope/vo-models
v0.2.1
- Adds documentation for ShortJobDescription
- fixes package discovery
v0.2.0
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
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
Changes:
- updates missed references to old
VODatetime
model
v0.1.0
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.