traitlets icon indicating copy to clipboard operation
traitlets copied to clipboard

Is there a way to only show base "--help" for explicitly defined options?

Open aclarknexient opened this issue 2 years ago • 0 comments

When creating the aliases, flags, etc for the options, is there a way to only show those options that I've explicitly defined?

For example, consider this code:

from traitlets import Unicode
from traitlets.config import SingletonConfigurable
from traitlets.config.application import Application


class ConfigStore(SingletonConfigurable):
    github_token = Unicode("", help="Your Github access token").tag(config=True)


class AppController(Application):
    classes = [ConfigStore]
    aliases = {
        ("github-token"): (
            "ConfigStore.github_token",
            "your github access token, usually set via environment variable GITHUB_TOKEN",
        ),
    }

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)


if __name__ == "__main__":
    app = AppController()
    app.launch_instance()

When called with --help it outputs the following:

This is an application.

Options
=======
The options below are convenience aliases to configurable class-options,
as listed in the "Equivalent to" description-line of the aliases.
To see all configurable class-options for some <cmd>, use:
    <cmd> --help-all

--debug
    Set log-level to debug, for the most verbose logging.
    Equivalent to: [--Application.log_level=10]
--show-config
    Show the application's configuration (human-readable format)
    Equivalent to: [--Application.show_config=True]
--show-config-json
    Show the application's configuration (json format)
    Equivalent to: [--Application.show_config_json=True]
--github-token=<Unicode>
    your github access token, usually set via environment variable GITHUB_TOKEN
    Default: ''
    Equivalent to: [--ConfigStore.github_token]

To see all available configurables, use `--help-all`.

Is there a way to configure the Application such that it only displays this:

--github-token=<Unicode>
    your github access token, usually set via environment variable GITHUB_TOKEN
    Default: ''

Sorry to ask a question in a github issue. Is there a better forum to ask these sorts of questions? Thank you!!

aclarknexient avatar Aug 18 '23 15:08 aclarknexient