File python-click-extra.changes of Package python-click-extra

-------------------------------------------------------------------
Fri Apr  3 17:37:40 UTC 2026 - Dirk Müller <dmueller@suse.com>

- update to 7.10.0:
  * Highlight parent group names in subcommand help text, so
    ancestor command names are colored even when interleaved with
    options.
  * Add `range_label`, `required`, and `argument` theme slots to
    `HelpExtraTheme`. Argument metavars are now styled separately
    from option metavars.
  * Add `cross_ref_highlight` flag to `HelpExtraTheme`. Set to
    `False` to disable free-text highlighting of options,
    choices, arguments, metavars, and CLI names in descriptions
    and docstrings. Structural elements (bracket fields,
    deprecated messages, subcommand lists) are always styled.
  * Add type-aware flattening, field metadata, and nested
    dataclass support to `config_schema`. `flatten_config_keys()`
    and `normalize_config_keys()` accept an `opaque_keys`
    parameter to preserve data-keyed dicts. Fields support
    `click_extra.config_path` and `click_extra.normalize_keys`
    metadata. Nested dataclass fields are recursively
    instantiated with the same normalize/flatten/opaque logic.
  * Fix help text highlighting of hyphenated option names (e.g.
    `--table-format` split at the first hyphen), argument names
    (e.g. `keys`) colliding with option keywords, and substring
    matches in compound keywords (e.g. `outline` inside `rounded-
    outline`).
  * Fix enum coloring: use `normalize_choice()` to produce the
    exact strings shown in the metavar instead of raw enum member
    names.

-------------------------------------------------------------------
Wed Apr  1 06:34:32 UTC 2026 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 7.9.0:
  * Add flatten_config_keys() utility to flatten nested config
    dicts into a single level by joining keys with a separator.
  * Flatten nested config dicts before dataclass field matching in
    config_schema, so nested TOML sub-tables (e.g.
    [tool.myapp.sub-section]) map to flat dataclass fields (e.g.
    sub_section_key).
  * Add schema_strict parameter to ConfigOption and
    ExtraCommand/ExtraGroup: when True, unknown config keys raise
    ValueError during dataclass schema validation instead of being
    silently dropped.
  * Auto-discover pyproject.toml from the current working directory
    upward to the VCS root before falling back to the app config
    directory. Matches the discovery behavior of uv, ruff, and
    mypy. Only active during auto-discovery (not when --config is
    passed explicitly).
  * Instantiate config_schema defaults when no config file is
    found, so get_tool_config() never returns None when a schema is
    configured.
  * Forward included_params from ExtraCommand/ExtraGroup to
    ConfigOption. Allows @group(included_params=()) to disable
    merge_default_map when config keys are schema-only and would
    collide with subcommand names.
  * Move prebake_version(), prebake_dunder(), and
    discover_package_init_files() from ExtraVersionOption static
    methods to module-level functions in click_extra.version.
    Import them directly: from click_extra.version import
    prebake_version.
  * Add git_tag template field. Resolved from a __git_tag__ dunder
    or git describe --tags --exact-match HEAD at runtime. Returns
    the tag name if HEAD is at a tagged commit.
  * Add git_tag_sha template field. Resolved from a __git_tag_sha__
    dunder on the CLI module, with a git subprocess fallback.
    Replaces the old __tag_sha__ convention.
  * Git template fields (git_branch, git_long_hash, git_short_hash,
    git_date) now check for pre-baked __<field>__ dunders on the
    CLI module before falling back to subprocess calls. Enables
    compiled binaries (Nuitka/PyInstaller) to embed git metadata at
    build time.
  * Add click-extra prebake CLI with three subcommands: prebake all
    bakes __version__ and all git fields in one pass, prebake
    version injects Git hashes into __version__, and prebake field
    replaces any empty dunder variable. Field names auto-wrap with
    __...__ (e.g. git_tag_sha becomes __git_tag_sha__). All
    subcommands auto-discover target files from [project.scripts].
  * Add empty __git_*__ dunder placeholders to
    click_extra/__init__.py for dogfooding the prebake system.
  * Pin image URLs in readme.md and docs/tutorial.md to the release
    tag at bump time, and restore them to main on the next dev
    bump.

-------------------------------------------------------------------
Tue Mar 10 06:51:23 UTC 2026 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 7.8.0:
  * Add config_schema parameter to ConfigOption and
    ExtraCommand/ExtraGroup for typed configuration access via
    dataclasses or custom callables.
  * Add fallback_sections parameter for legacy configuration
    section name migration with deprecation warnings.
  * Add normalize_config_keys() utility to convert kebab-case
    config keys to snake_case Python identifiers.
  * Add get_tool_config() helper to retrieve typed configuration
    from context.
  * Check more variations of local, stable and dev CLI invocations.
  * Adopt RUF022 rule to let ruff enforce __all__ sorting.
  * Fix ruff 0.15.5 lint errors.

-------------------------------------------------------------------
Mon Mar  9 08:28:27 UTC 2026 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 7.7.0:
  * Add version_fields parameter to ExtraCommand and ExtraGroup.
    Forwards any ExtraVersionOption template field (e.g. prog_name,
    version, git_branch) from the command decorator without
    replacing the default params list.
  * Lazily evaluate version metadata fields in ctx.meta.
  * Remove version parameter from ExtraCommand and ExtraGroup.
  * Add hjson, json, json5, jsonc, toml, xml and yaml table formats
    for --table-format.
  * Add TableFormat.is_markup property.
  * Strip ANSI color codes from markup table formats (csv, html,
    latex, rst, etc.) by default. Use --color to preserve them.
  * Add [toml] extra dependency group for TOML table output via
    tomlkit.
  * Emit native types (booleans, nulls, lists) in --show-params
    output for structured serialization formats (JSON, YAML, TOML,
    HJSON, XML).
  * Fix --show-params ignoring --table-format when it appears first
    on the command line.
  * Expand dotted keys in configuration files (e.g.
    "subcommand.option": value) into nested dicts before merging,
    to allow for mixing flat dot-notation and nested structures.
  * Only capture timer start time when --time is actually
    requested.
  * Add click-extra entry point so uvx click-extra works out of the
    box. The click-extra-demo alias is kept for backward
    compatibility.

-------------------------------------------------------------------
Fri Mar  6 06:10:33 UTC 2026 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 7.6.5:
  * Bump tabulate requirement from >=0.9 to >=0.10.
  * Add new colon-grid table format.
  * Replace custom github table renderer with tabulate's pipe
    format. Backport of python-tabulate#410.

-------------------------------------------------------------------
Wed Mar  4 21:45:16 UTC 2026 - Dirk Müller <dmueller@suse.com>

- update to 7.6.4:
  * Fix `ExtraVersionOption.cli_frame()` crashing in Nuitka-
    compiled binaries where all stack frames belong to the Click
    ecosystem.
  * Fix `ExtraVersionOption.module_version` returning `None` in
    `__main__` entry points by checking the parent package's
    `__version__`.
  * Fix test plan for Nuitka-compiled binary.
  * Add `@pytest.mark.once` marker for platform-independent
    structural tests. Run them in a single CI job instead of
    across the full matrix.

-------------------------------------------------------------------
Mon Mar  2 12:10:37 UTC 2026 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 7.6.3:
  * Fix test_default_pattern_roaming_force_posix test failures when
    XDG_CONFIG_HOME is set. Closes {issue}1541.

-------------------------------------------------------------------
Mon Mar  2 06:40:13 UTC 2026 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 7.6.2:
  * Add ExtraVersionOption.prebake_version() static method to pre-bake
    __version__ strings with Git hashes at compile time, complementing
    the runtime version property for Nuitka/PyInstaller binaries.

-------------------------------------------------------------------
Fri Feb 27 12:34:49 UTC 2026 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 7.6.1:
  * Fix test failures when optional config format dependencies are not
    installed. Closes {issue}1538.

-------------------------------------------------------------------
Fri Feb 27 06:27:23 UTC 2026 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 7.6.0:
  * Add '_default_subcommands' reserved configuration key to
    auto-invoke subcommands when none are provided on the CLI.
    Closes {issue}1405.
  * Add '_prepend_subcommands' reserved configuration key to always
    prepend subcommands to every invocation (requires chain=True).
    Closes {issue}1405.
  * Add --validate-config option to validate configuration files.
  * Add ConfigFormat.PYPROJECT_TOML format for [tool.*] section
    support in pyproject.toml. Closes {issue}1524.
  * Stop parent directory walk on inaccessible directories.
  * Add stop_at parameter to @config_option to limit parent
    directory walking. Defaults to VCS. Closes {issue}651.
  * Add VCS sentinel and VCS_DIRS constant for VCS root detection.
  * Resolve relative paths to absolute in parent_patterns before
    yielding.
  * Add included_params allowlist to ConfigOption and
    @config_option, the inverse of excluded_params. Closes
    {issue}1362.
  * Add human-friendly display labels to ConfigFormat.
  * Switch back from SPLIT to BRACE flag for multi-format config
    file patterns. Fixes a bug where only the first format received
    the directory prefix with SPLIT.
  * Hard code icon workaround for Sphinx index entries.
  * Automatically append Git short hash as a PEP 440 local version
    identifier to .dev versions (e.g., 1.2.3.dev0+abc1234).
  * Skip Git hash suffix for versions that already contain +
    (pre-baked local identifiers) to avoid invalid double-suffixed
    versions.
  * Recognize LLM environment variable to strip ANSI codes when
    running under an AI agent.

-------------------------------------------------------------------
Thu Feb 26 06:56:58 UTC 2026 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 7.5.3:
  * Allow disabling of autodiscovery of configuration files by
    setting default=NO_CONFIG on @config_option. Closes
    {issue}1495.
  * Implement resolve_any_xref in ClickDomain to prevent
    MyST-Parser warning. Closes {issue}1502.
  * Fix subcommand conflict detection checking against root-level
    params instead of parent params. Closes {pr}1286.
- update to 7.5.2:
  * Fix GitHub alerts converter mangling list-table directive
    content. Closes {issue}1490.
  * Replace Dependabot by Renovate.
  * Move click_extra/docs_update.py to docs/docs_update.py.
  * Add pygments-ansi-color to docs dependency group for lexer
    table generation.

-------------------------------------------------------------------
Fri Feb  6 06:12:35 UTC 2026 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 7.5.1:
  * Add new aligned table format with single-space column separators
    and no borders.
  * Fix parallel mode support in Sphinx extension. Closes {issue}1482.

-------------------------------------------------------------------
Tue Feb  3 11:57:41 UTC 2026 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 7.5.0:
  * Fix TableFormat.GITHUB to render proper alignment hints in the
    separator row (:---, :---:, ---:).
  * Move auto-lock time from 8:43 to 4:43.
  * Set cooldown period via the pyproject.toml.
  * Add Download link to project metadata.
  * Include license file in package.
  * Replace deprecated codecov/test-results-action by
    codecov/codecov-action.
  * Remove utilization workaround for macos-15-intel.
  * Bump requirement of extra-platforms to 8.0.0.

-------------------------------------------------------------------
Fri Dec 12 08:18:04 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 7.4.0:
    - Add cooldown period for dependabot and uv.lock updates.
    - Uncap all dependencies.
    - Replace tool.uv section by build-system.
    - Merge all label jobs into a single one.
    - Unlock a CPU core stuck at 100% utilization on
      macos-15-intel.
- update to 7.3.0:
    - Add click:source directive as an alias to click:example
      directive in Sphinx extension.
    - Flag click:example directive as deprecated in favor of
      click:source.
    - Add support for nested GitHub alerts.
    - Fix fetching version when the CLI is implemented as a
      standalone script and not as a package module.
- update to 7.2.0:
    - Add support for auto-conversion of GitHub alerts into MyST
      admonitions in Sphinx extension.
    - Rename click-extra demo CLI to click-extra-demo to avoid
      confusion with the package name.
    - Run tests on ubuntu-slim GitHub Actions runner.
    - Run docs update job on ubuntu-slim runner.

-------------------------------------------------------------------
Sat Nov 22 14:06:51 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 7.1.0:
  * Add support for aliases in EnumChoice type.
  * Register pre-configured render_table() utility in the context when
    table_format is set, in the same spirit as print_table().

-------------------------------------------------------------------
Wed Nov 19 12:03:06 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 7.0.1:
  * Restore support for @extra_command, @extra_group and
    @extra_version_option, but mark them as deprecated.
- update to 7.0.0:
  * Allow parent directories search for configuration files. Adds
    search_parents argument on @config_file. Closes {issue}651.
  * Allow fine-tuning of configuration file format pattern
    matching. Replaces formats argument on @config_file by
    file_format_patterns.
  * Adds search_pattern_flags and file_pattern_flags arguments on
    @config_file to allow user to tweak pattern matching behavior.
  * Use | as separator for multiple file patterns instead of {,}
    syntax. Replace glob.BRACE by glob.SPLIT for search pattern
    flags. Force glob.SPLIT for file pattern flags.
  * Remove glob.IGNORECASE flag to make case-sensitivity determined
    by the underlying platform at runtime.
  * Force glob.NODIR for search pattern flags to speed up search.
  * Rename click_extra.config.Formats enum to
    click_extra.config.ConfigFormat. Expose it at the root
    click_extra module.
  * Eat our own dog food: add a click-extra CLI to run self-tests.
  * Override base decorators and classes with Click Extra's own
    variants:
    - @command now points to what was @extra_command.
    - @group now points to what was @extra_group.
    - Option class now points to click_extra.Option, which is a
      subclass of cloup.Option.
    - Argument class now points to click_extra.Argument, which is a
      subclass of cloup.Argument.
    - @option now instantiates click_extra.Option by default.
    - @argument now instantiates click_extra.Argument by default.
    - @version_option now points to what was @extra_version_option.
    - Now if you want to use the previous aliases to Click's and
      Cloup's originals, import them directly from click or cloup
      instead of click_extra, which makes origination clearer.
  * Remove @extra_command, @extra_group and @extra_version_option.
  * Remove no_redefined argument in
    click_extra.pytest.command_decorators() method.
  * Validates that classes passed to the cls parameter of
    decorators are subclasses of the expected base classes.
  * Normalize the default value of EnumChoice parameters to their
    string choice representation in help screens.
  * Run tests on Python 3.14t and 3.15t free-threaded variants.

-------------------------------------------------------------------
Wed Nov  5 05:39:57 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 6.2.0:
  * Add new EnumChoice type for fine-tunable Enum-based
    choices. Expose EnumChoice and ChoiceSource at the root
    click_extra module.
  * Relax dependencies to support Python 3.10. Closes {issue}1385.
  * Re-introduce tomli dependency for Python 3.10 users.
  * Skip tests on intermediate Python versions (3.11, 3.12 and 3.13)
    to reduce CI load.

-------------------------------------------------------------------
Sun Nov  2 10:57:00 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 6.1.0:
  * Add support for JSON5, JSONC and HJSON configuration files.
  * YAML and XML configuration support is now optional. You need to
    install the click_extra[yaml] and click_extra[xml] extra
    dependency groups to enable it.
  * Add new @lazy_group decorator and LazyGroup class to create
    groups that only load their subcommands when invoked. Closes
    {issue}1332.
  * Move all custom types to click_extra._types module.
  * Avoid importing all types at runtime to reduce startup time.
  * Upgrade tests runs from macos-13 to macos-15-intel, and from
    macos-15 to macos-26.
  * Use astral-sh/setup-uv action to install uv.

-------------------------------------------------------------------
Wed Oct 22 03:11:57 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>

- Update to 6.0.3:
  * Fix @config_option to accept Path objects as default value.
  * Add official support of Python 3.14.
  * Add --table-format option by default on @extra_command and @extra_group.
  * Let --table-format and --no-color affect the rendering of --show-params
    table.
  * Swap Class and Spec. columns in --show-params output.
  * Classify table formats into two categories: markup formats and
    plain-text formats.
  * Fix display in --show-params for parameters sharing the same name.
  * Fix detection in the --version option of the module in which the user's
    CLI is implemented.
  * Rename click_extra.tabulate namespace to click_extra.table.
  * Expose click._utils.UNSET and click.logging.LogLevel at the root
    click_extra module.
  * Replace unmaintained mergedeep dependency by deepmerge.
- Ship the license and readme in the binary packages.

-------------------------------------------------------------------
Fri Aug  8 18:42:28 UTC 2025 - Matej Cepl <mcepl@cepl.eu>

- Currently broken, waiting on the resolution of the upstream
  click 8.2.2 drama (gh#pallets/click#3024).
- update to 5.1.0:
  * Add support for MyST Markdown syntax for click:example and
    click:run Sphinx directives.
  * Add support for all code-block options to click:example and
    click:run: :linenos:, :lineno-start:, :emphasize-lines:,
    :force:, :caption:, :name:, :class: and :dedent:.
  * Add new :show-source:/:hide-source:,
    :show-results:/:hide-results: and :language: options to
    click:example and click:run. Closes {issue}719.
  * Support non-string choices in colored help screens. Closes
    {issue}1284.
  * Replace LOG_LEVELS mapping with LogLevel enum.
  * Remove DEFAULT_LEVEL_NAME constants.
  * Fix rendering of default values in --show-params output.
  * Fix reconciliation of flags' environment variables.
  * Force requirement on cloup >= 3.0.7.
  * Be more informative when error is found in click:example and
    click:run Sphinx directives by displaying the path of the
    original document and the line number of the error.

-------------------------------------------------------------------
Sat May 31 13:26:50 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 5.0.2:
  * Set ExtraCommand default prog_name to CLI's name to avoid it to be
    named python -m <module_name> if invoked out of a module.
  * Tweak exit code rendering of CLI runs.

-------------------------------------------------------------------
Thu May 29 05:55:06 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 5.0.1:
  * Fix highlighting of deprecated messages.
  * Use ASCII characters instead of unicode for prompt rendering in
    messages.

-------------------------------------------------------------------
Tue May 27 12:36:44 UTC 2025 - Daniel Garcia <daniel.garcia@suse.com>

- Skip failing tests with python-click 8.2.1
  gh#kdeldycke/click-extra#1264

-------------------------------------------------------------------
Fri May 16 04:56:18 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 5.0.0:
  * Upgrade to Click 8.2.0.
  * Add support for custom deprecated messages on commands and
    parameters.
  * Remove ExtraOption.get_help_default() and rely on new
    Option.get_help_extra().
  * Remove dependency on pallets-sphinx-themes.
  * Drop supports for Python 3.10.
  * Add windows-11-arm to the test matrix.
  * Remove tests on ubuntu-22.04-arm, ubuntu-22.04 and windows-2022 to
    keep matrix small.

-------------------------------------------------------------------
Wed Mar  5 13:05:44 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 4.15.0:
  * Regroup all envronment variables-related code.
  * Rename extend_envvars() to merge_envvar_ids() and allow it to
    merge arbitrary-nested structures. Normalize names to uppercase
    on Windows.
  * Rename normalize_envvar() to clean_envvar_id().
  * Rename all_envvars() to param_envvar_ids().
  * Rename auto_envvar() to param_auto_envvar_id().
  * Remove unused normalize parameter on all_envvars().
  * Add missing line returns in render_cli_run().
  * Prefix all types with capital-T.

-------------------------------------------------------------------
Sun Feb 23 16:35:41 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 4.14.2:
  * Extract rendering part of the print_cli_run() helper to
    render_cli_run().
  * Remove unused click_extra.testing.run_cmd.
  * Relax requirement on extra-platforms.
  * Add tests on windows-2025. Remove tests on windows-2019.

-------------------------------------------------------------------
Sat Feb  8 09:42:12 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 4.14.1:
  - Fix upload of Python package to GitHub release on tagging.
- update to 4.14.0:
  - Add a new --verbose option on @extra_command and @extra_group
    to increase the verbosity level for each additional repetition.
  - Add new @verbose_option pre-configured decorator.
  - Reassign the short -v option from --verbosity to --verbose.
  - Improve logging documentation.
  - Align ExtraStreamHandler behavior to logging.StreamHandler.
  - Move stream_handler_class and formatter_class arguments from
    new_extra_logger to extraBasicConfig.
  - Add new file_handler_class argument to extraBasicConfig.
  - Fix upload of Python package to GitHub release on tagging.
  - Remove dependency on pytest-cases.

-------------------------------------------------------------------
Tue Jan 28 18:48:22 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 4.13.2:
  - Re-release to fix Github publishing.
  - Reactivates some color tests on Windows.
- update to 4.13.1:
  - [changelog] Release v4.13.1
- update to 4.13.0:
  - Revamps logging helpers and aligns them with Python's logging
    module.
  - Remove extra_basic_config.
  - Adds new extraBasicConfig, and aligns it with Python's
    basicConfig.
  - Replace ExtraLogFormatter with ExtraFormatter.
  - Replace ExtraLogHandler with ExtraStreamHandler.
  - Add new new_extra_logger helper.
  - Rewrite the logging documentation with all use-cases and custom
    configuration examples. Closes {issue}989.
  - Removes old platforms page from documentation.

-------------------------------------------------------------------
Mon Jan 20 06:03:47 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 4.12.0:
  - Remove Click Extra's own implementation of HelpOption class now
    that fixes have reached Click's upstream.
  - Redefine @help_option decorator to default to --help/-h
    options.
  - Add more logging examples in documentation.
  - Add tests on ubuntu-24.04-arm and ubuntu-22.04-arm.
  - Use uv to install specific versions of Python.
- remove patch click818.patch

-------------------------------------------------------------------
Thu Jan 16 11:19:15 UTC 2025 - Markéta Machová <mmachova@suse.com>

- Add click818.patch to fix tests with new click

-------------------------------------------------------------------
Thu Nov 14 09:06:16 UTC 2024 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- new package python-click-extra: Drop-in replacement for Click to
  make user-friendly and colorful CLI
openSUSE Build Service is sponsored by