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

Implement ColocationSetup, ObsCollection, and ModelCollection classes with Pydantic #1085

Open
lewisblake opened this issue Apr 2, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@lewisblake
Copy link
Member

lewisblake commented Apr 2, 2024

Is your feature request related to a problem? Please describe.

EvalSetup is being implemented with pydantic in #1017. However, these three attributes of EvalSetup are not based on Pydantic's BaseModel and therefore are not subject to its parsing and validation.

Describe the solution you would like to see
A clear and concise description of what you want to happen.

I would like to see the classes ObsCollection, ModelCollection, and ColocationSetup be based on pydantic's BaseModel so that everything in the config interface EvalSetup is based on pydantic and gets its validation and parsing.

  • Would you be able to work on this solution yourself?
    Yes, perhaps. Or someone else could pick this up.
  • How can the Pyaerocom development team assist you?
    Dicussions on the structure of these classes. Whether they should be split into classes which hold data and classes which manipulate data.

Additional context
Extends the work in #1017. Will likely need to rewrite some of the workarounds in that PR, which should simplify EvalSetup.

Target classes are:

class ColocationSetup(BrowseDict):

class ObsCollection(BaseCollection):

class ModelCollection(BaseCollection):

NB: Arguably ObsCollection and ModelCollection could be dealt with in one PR where as ColocationSetup could be dealt which in another.

@lewisblake lewisblake added the enhancement New feature or request label Apr 2, 2024
@lewisblake lewisblake self-assigned this Jul 1, 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