drivendataorg / drivendataorg/zamba

Move to cyclopts

Open
#367 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
163
Forks
40
PR merge metrics
No merged PRs in 30d

Description

There's a lot of redundancy and complexity between the CLI and the Pydantic configs. Ideally all the CLI options come from introspecting the Pydantic objects, which cyclopts provides. This should also clear up some of the complexity around default values, which are set in at least one of at least three places right now.

For context, config values come from:

  1. yaml config files
  2. Passed-in cli args
  3. Default cli values
  4. Default Pydantic values
  5. Environment variables

Copied from drivendataorg/zamba-wildlabs #77

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

Start by inventorying how the CLI, Pydantic configs, YAML files, passed CLI arguments, defaults, and environment variables currently provide values. Then compare those paths with cyclopts' introspection support and the related zamba-wildlabs issue. Done means the migration scope and a single, consistent source for CLI options and defaults are agreed and verified.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, tooling
Issue type
Refactor
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.