-
Notifications
You must be signed in to change notification settings - Fork 2
24_08_23
Laurent MICHEL edited this page Aug 24, 2023
·
4 revisions
We keep the pattern already implemented in lmichel/astropy
:
-
ModelMapping
class added to tree.py - An instance of that class is added to the
Resource
class - This instance holds the XML mapping block as a string.
- It is set by the
Resource
parser.
This hodler clas can also write the XML string into a Votable instance.
Whatchout: This writing method must be hardened in order to prevent non-XML string injection in a VOTable.
Implementing the annotation R/W operations into Astropy allows any other package (affiliated or not) to work with MIVOT.
Astropy is just enable to provide an XML string containing the annotations. This string must be processed at application level.
We propose to implement a stack of processing levels in PyVO. The architecture of this implementation could used in other packages or even other languages.
Below are the different proposed levels
- Parsing the XML contained in the string returned
- Resolver able to build a model XML instance by resolving references.
- bis Resolver able to build a model XXX (see Gilles proposal based in the Py reflexion) instance by resolving references.
- An iterator able to return a model view of the each data row.
- A resolver able to build Python classes for the most popular models
- A resolver able to build instances of Astropy classes from the annotations
- A resolver able to build instances of extended Astropy classes from the annotations.
-
home
- Mivot and AstropyVO
- First proposals for a PyVO API
- First proposals for VOModel classes
- Hack-a-Thon
- Contributions
- Vizier proposal
- UVIS proposal
- Data grouping example
- Python API definition
- Follow-up 21/07/2022
- API Guidelines
- Design options
- Follow-up 30/11/2022
- Roadmap 24/08/2022
- Validation and other tools.
- Rust parser 18/08/2023
- TAP Server 23/08/2023
- Language agnostic API definition 05/09/2023