Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide maturity annotation for classes and fields #466

Open
jsstevenson opened this issue Nov 15, 2024 · 0 comments
Open

Provide maturity annotation for classes and fields #466

jsstevenson opened this issue Nov 15, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@jsstevenson
Copy link
Contributor

jsstevenson commented Nov 15, 2024

GKS schemas often include maturity model annotations on objects and properties to indicate some expectation of model stability. It'd be nice to access this somehow within VRS-Python.

  • Most naive solution: put it in the docstring. Not machine-readable, but simple to implement.
  • Maybe the next simplest solution: include it as part of the model_json_schema() output. This is computationally accessible, albeit somewhat indirectly so. It would most directly match the schema itself.
  • Implement as some kind of private or dunder field on each schema class, e.g. Allele.__maturity__ = <MaturityModel.TRIAL_USE>. Not sure of what the equivalent way to get property maturity would be, though.

Possible use cases/helper functions to implement

  • A function that takes a Ga4ghIdentifiableObject and tells you which components or properties are most immature, i.e. are most liable to change in structure in future releases
  • A function that takes a Ga4ghIdentifiableObject and tells you whether it contains any components or properties that are below a particular maturity model threshold and/or are deprecated
@jsstevenson jsstevenson added the enhancement New feature or request label Nov 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant