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

style: argparse inheritance, hide some options from --help #3272

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

pajod
Copy link
Contributor

@pajod pajod commented Aug 13, 2024

We have way too much options (#3266)

Idea: We could hide deprecated ones from --help, and possibly move both unstable and deprecated ones to their own, bottom-most section in the documentation.

Attached patch hacks (style improvements welcome) the config.py-class-to-argparse code so we can subclass while keeping metaclass intact. Then it adds a Deprecated class that hides certain settings from --help. I tried to avoid additional functional changes.

If this PR moves forward with minor changes, then the following changes are the next steps:

  1. change some options default value to None and have not specifying them mean "feature not used"
    • --user/--group unset should mean do not do that
  2. permit and document some options with existing default to be overridden to some None-like value
    • --config="" should mean do not read config (as in: --config=/dev/null)
  3. options that do not take effect based on environment / other options should be warned about
    • behavior of --bind when LISTEN_FDS set can be surprising, it should not be
  • Suggested merge order: after any feature/bugfix PRs. merge conflicts more easily solved within this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant