NASA-IMPACT / NASA-IMPACT/veda-odd

Enable configuration validation using Donfig + Pydantic

Open
#279 3 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.