Todo-list¶
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/config/formats.py:docstring of click_extra.config.formats.ConfigFormat, line 15.)
Todo
Use platformdirs for more advanced configuration folder detection?
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/config/option.py:docstring of click_extra.config.option.ConfigOption.default_pattern, line 13.)
Todo
Propose addition of meta keyword upstream to Click.
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/context.py:docstring of click_extra.context.Context, line 16.)
Todo
Drop this override once the minimum supported Click rises to
8.4.0 (which includes pallets/click#3420). The
term_len-based visible-width check below becomes redundant
once Click’s own wrapper counts visible width.
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/highlight.py:docstring of click_extra.highlight.HelpFormatter.write_usage, line 28.)
Todo
Allow passing extra parameters to the self.lazy_subcommands so we can
register commands with custom settings like Cloup’s section or
fallback_to_default_section:
section: Section | None = None,
fallback_to_default_section: bool = True,
See: https://github.com/janluke/cloup/blob/master/cloup/_sections.py#L169
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/commands.py:docstring of click_extra.commands.LazyGroup.get_command, line 3.)
Todo
Pretty print JSON output (easier to read in bug reports)?
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/version.py:docstring of click_extra.version.VersionOption.print_debug_message, line 3.)
Todo
Submit a PR to Click to separate production of param spec and help record. That way we can always produce the param spec even if the parameter is hidden. See: https://github.com/kdeldycke/click-extra/issues/689
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/__init__.py:docstring of click_extra.parameters.get_param_spec, line 8.)
Todo
Propose upstream to Click to extract the inline name.replace("-", "_")
into a private _normalize_param_name helper, so downstream projects
like Click Extra can reuse it instead of duplicating the transform.
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/__init__.py:docstring of click_extra.config.schema.normalize_config_keys, line 23.)
Todo
For bullet-proof handling of edge-cases, we should probably add an indirection layer to have the processing order of options (the one below) different from the presentation order of options in the help screen.
This is probably something that has been requested in issue #544.
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/commands.py:docstring of click_extra.commands.default_params, line 51.)
Todo
Allow passing extra parameters to the self.lazy_subcommands so we can
register commands with custom settings like Cloup’s section or
fallback_to_default_section:
section: Section | None = None,
fallback_to_default_section: bool = True,
See: https://github.com/janluke/cloup/blob/master/cloup/_sections.py#L169
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/commands.py:docstring of click_extra.commands.LazyGroup.get_command, line 3.)
Todo
Drop this override once the minimum supported Click rises to
8.4.0 (which includes pallets/click#3420). The
term_len-based visible-width check below becomes redundant
once Click’s own wrapper counts visible width.
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/highlight.py:docstring of click_extra.highlight.HelpFormatter.write_usage, line 28.)
Todo
Support case-foldeing, so we can have the Straße string matching the
Strasse content.
This could be tricky as it messes with string length and characters index, which our logic relies on.
Danger
Danger
Roundtrip through lower-casing/upper-casing is a can of worms, because some characters change length when their case is changed:
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/highlight.py:docstring of click_extra.highlight.highlight, line 6.)
Todo
Submit a PR to Click to separate production of param spec and help record. That way we can always produce the param spec even if the parameter is hidden. See: https://github.com/kdeldycke/click-extra/issues/689
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/parameters.py:docstring of click_extra.parameters.get_param_spec, line 8.)
Todo
Add the following build-time template fields, mirroring the constants shadow-rs injects:
{build_time}: when the distribution was built (shadow-rs exposes it asBUILD_TIME, with RFC 2822 and RFC 3339 variantsBUILD_TIME_2822/BUILD_TIME_3339).{build_os}/{build_target}/{build_target_arch}: the OS, target triple and architecture the build ran on. These describe the build host, unlike{env_info}which reports the runtime Python, OS and architecture, so both are worth keeping for cross-built binaries.
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/prebake.py:docstring of click_extra.prebake, line 14.)
Todo
Pretty print JSON output (easier to read in bug reports)?
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/version.py:docstring of click_extra.version.VersionOption.print_debug_message, line 3.)
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/config/formats.py:docstring of click_extra.config.formats.ConfigFormat, line 15.)
Todo
Use platformdirs for more advanced configuration folder detection?
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/config/option.py:docstring of click_extra.config.option.ConfigOption.default_pattern, line 13.)
Todo
Propose upstream to Click to extract the inline name.replace("-", "_")
into a private _normalize_param_name helper, so downstream projects
like Click Extra can reuse it instead of duplicating the transform.
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/config/__init__.py:docstring of click_extra.config.schema.normalize_config_keys, line 23.)
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/config/formats.py:docstring of click_extra.config.formats.ConfigFormat, line 15.)
Todo
Add a --dump-config or --export-config option to write down the current
configuration (or a template) into a file or <stdout>.
Help message would be: you can use this option with other options or environment variables to have them set in the generated configuration.
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/config/option.py:docstring of click_extra.config.option, line 19.)
Todo
Use platformdirs for more advanced configuration folder detection?
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/config/option.py:docstring of click_extra.config.option.ConfigOption.default_pattern, line 13.)
Todo
Propose upstream to Click to extract the inline name.replace("-", "_")
into a private _normalize_param_name helper, so downstream projects
like Click Extra can reuse it instead of duplicating the transform.
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/config/schema.py:docstring of click_extra.config.schema.normalize_config_keys, line 23.)
Todo
Drop this override once the minimum supported Click rises to
8.4.0 (which includes pallets/click#3420). The
term_len-based visible-width check below becomes redundant
once Click’s own wrapper counts visible width.
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/highlight.py:docstring of click_extra.highlight.HelpFormatter.write_usage, line 28.)
Todo
Support case-foldeing, so we can have the Straße string matching the
Strasse content.
This could be tricky as it messes with string length and characters index, which our logic relies on.
Danger
Danger
Roundtrip through lower-casing/upper-casing is a can of worms, because some characters change length when their case is changed:
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/highlight.py:docstring of click_extra.highlight.highlight, line 6.)
Todo
For bullet-proof handling of edge-cases, we should probably add an indirection layer to have the processing order of options (the one below) different from the presentation order of options in the help screen.
This is probably something that has been requested in issue #544.
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/commands.py:docstring of click_extra.commands.default_params, line 51.)
Todo
Allow passing extra parameters to the self.lazy_subcommands so we can
register commands with custom settings like Cloup’s section or
fallback_to_default_section:
section: Section | None = None,
fallback_to_default_section: bool = True,
See: https://github.com/janluke/cloup/blob/master/cloup/_sections.py#L169
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/commands.py:docstring of click_extra.commands.LazyGroup.get_command, line 3.)
Todo
Write example.
(The original entry is located in /home/runner/work/click-extra/click-extra/docs/config.md, line 1003.)
Todo
Write example.
(The original entry is located in /home/runner/work/click-extra/click-extra/docs/config.md, line 1013.)
Todo
Write example.
(The original entry is located in /home/runner/work/click-extra/click-extra/docs/config.md, line 1023.)
Todo
Write example.
(The original entry is located in /home/runner/work/click-extra/click-extra/docs/config.md, line 1031.)
Todo
Write example.
(The original entry is located in /home/runner/work/click-extra/click-extra/docs/config.md, line 1041.)
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/config/formats.py:docstring of click_extra.config.formats.ConfigFormat, line 15.)
Todo
Add a --dump-config or --export-config option to write down the current
configuration (or a template) into a file or <stdout>.
Help message would be: you can use this option with other options or environment variables to have them set in the generated configuration.
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/config/option.py:docstring of click_extra.config.option, line 19.)
Todo
Use platformdirs for more advanced configuration folder detection?
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/config/option.py:docstring of click_extra.config.option.ConfigOption.default_pattern, line 13.)
Todo
Propose upstream to Click to extract the inline name.replace("-", "_")
into a private _normalize_param_name helper, so downstream projects
like Click Extra can reuse it instead of duplicating the transform.
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/config/schema.py:docstring of click_extra.config.schema.normalize_config_keys, line 23.)
Todo
Propose addition of meta keyword upstream to Click.
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/context.py:docstring of click_extra.context.Context, line 16.)
Todo
Write example and tutorial.
(The original entry is located in /home/runner/work/click-extra/click-extra/docs/parameters.md, line 184.)
Todo
Submit a PR to Click to separate production of param spec and help record. That way we can always produce the param spec even if the parameter is hidden. See: https://github.com/kdeldycke/click-extra/issues/689
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/parameters.py:docstring of click_extra.parameters.get_param_spec, line 8.)
Todo
Write example and tutorial.
(The original entry is located in /home/runner/work/click-extra/click-extra/docs/pytest.md, line 13.)
Todo
Write example and tutorial.
(The original entry is located in /home/runner/work/click-extra/click-extra/docs/pytest.md, line 19.)
Todo
Write example and tutorial.
(The original entry is located in /home/runner/work/click-extra/click-extra/docs/testing.md, line 3.)
Todo
Test standalone scripts setting package name to filename and version to None.
(The original entry is located in /home/runner/work/click-extra/click-extra/tests/test_version.py:docstring of tests.test_version, line 3.)
Todo
Test standalone script fetching version from __version__ variable.
(The original entry is located in /home/runner/work/click-extra/click-extra/tests/test_version.py:docstring of tests.test_version, line 7.)
Todo
Get rid of this method, and make the test case provide its own sphinx_app.
(The original entry is located in /home/runner/work/click-extra/click-extra/tests/sphinx/conftest.py:docstring of tests.sphinx.conftest.DirectiveTestCase.supports_format, line 3.)
Todo
Pretty print JSON output (easier to read in bug reports)?
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/version.py:docstring of click_extra.version.VersionOption.print_debug_message, line 3.)
Todo
Add the following build-time template fields, mirroring the constants shadow-rs injects:
{build_time}: when the distribution was built (shadow-rs exposes it asBUILD_TIME, with RFC 2822 and RFC 3339 variantsBUILD_TIME_2822/BUILD_TIME_3339).{build_os}/{build_target}/{build_target_arch}: the OS, target triple and architecture the build ran on. These describe the build host, unlike{env_info}which reports the runtime Python, OS and architecture, so both are worth keeping for cross-built binaries.
(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/prebake.py:docstring of click_extra.prebake, line 14.)