NASA-IMPACT / NASA-IMPACT/veda-odd
Enable configuration validation using Donfig + Pydantic
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 5
- Forks
- 0
- Avg merge
- 4d 19h
- Merged PRs (30d)
- 3
Description
I opened this issue a year ago in a private IMPACT repo, but think it'd actually be a better fit for veda-odd due to the open issue tracking and discussions.
Is your feature request related to a problem? Please describe.
Multiple open source libraries, including Zarr-Python v3, SatPy, Pyresample, and Cubed use donfig for runtime configuration. Dask also vendors its own donfig-like functionality (Donfig spun out of dask). A critical missing feature of donfig is typing and configuration validation support. Joe Hamman proposed a solution by using a third-party validation framework like Pydantic in https://github.com/pytroll/donfig/issues/39#issuecomment-1496207767, but no progress has been made in the last couple years. Configuration validation would immediately benefit core libraries like Zarr and possibly eventually prompt updates in Dask. I would also be more likely to use Donfig for new packages (for example a future ndquirk library for checking data quirkiness) if it included validation capabilities
Describe the solution you'd like
I think it'd be awesome to add validation and typing to Donfig as part of VEDA science support work next quarter.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no repository files, tests, or entry points. Start by reading Donfig issue #39 and the cited use cases in Zarr-Python v3, SatPy, Pyresample, and Cubed; done would require an agreed validation and typing design with an implementation scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100