summaryrefslogtreecommitdiff
path: root/python-click-extra.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-click-extra.spec')
-rw-r--r--python-click-extra.spec370
1 files changed, 370 insertions, 0 deletions
diff --git a/python-click-extra.spec b/python-click-extra.spec
new file mode 100644
index 0000000..bdc84c9
--- /dev/null
+++ b/python-click-extra.spec
@@ -0,0 +1,370 @@
+%global _empty_manifest_terminate_build 0
+Name: python-click-extra
+Version: 3.10.0
+Release: 1
+Summary: 🌈 Extra colorization and configuration loading for Click.
+License: GPL-2.0-or-later
+URL: https://github.com/kdeldycke/click-extra
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/06/04/c7c0cb18120e8cb8629c975ae5e118e5b44b2c0cfaa63dc39b45d779e66f/click_extra-3.10.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-Pallets-Sphinx-Themes
+Requires: python3-boltons
+Requires: python3-click
+Requires: python3-click-log
+Requires: python3-cloup
+Requires: python3-commentjson
+Requires: python3-furo
+Requires: python3-importlib-metadata
+Requires: python3-mergedeep
+Requires: python3-pygments
+Requires: python3-pygments-ansi-color
+Requires: python3-pyyaml
+Requires: python3-regex
+Requires: python3-requests
+Requires: python3-sphinx
+Requires: python3-tabulate[widechars]
+Requires: python3-tomli
+Requires: python3-wcmatch
+Requires: python3-xmltodict
+
+%description
+<p align="center">
+ <a href="https://github.com/kdeldycke/click-extra/">
+ <img src="https://raw.githubusercontent.com/kdeldycke/click-extra/main/docs/assets/logo-banner.svg" alt="Click Extra">
+ </a>
+</p>
+
+[![Last release](https://img.shields.io/pypi/v/click-extra.svg)](https://pypi.python.org/pypi/click-extra)
+[![Python versions](https://img.shields.io/pypi/pyversions/click-extra.svg)](https://pypi.python.org/pypi/click-extra)
+[![Unittests status](https://github.com/kdeldycke/click-extra/actions/workflows/tests.yaml/badge.svg?branch=main)](https://github.com/kdeldycke/click-extra/actions/workflows/tests.yaml?query=branch%3Amain)
+[![Documentation status](https://github.com/kdeldycke/click-extra/actions/workflows/docs.yaml/badge.svg?branch=main)](https://github.com/kdeldycke/click-extra/actions/workflows/docs.yaml?query=branch%3Amain)
+[![Coverage status](https://codecov.io/gh/kdeldycke/click-extra/branch/main/graph/badge.svg)](https://app.codecov.io/gh/kdeldycke/click-extra)
+[![DOI](https://zenodo.org/badge/418402236.svg)](https://zenodo.org/badge/latestdoi/418402236)
+
+## What is Click Extra?
+
+A ready-to-use wrapper for [Click](https://click.palletsprojects.com), the Python CLI framework.
+
+It is a drop-in replacement with good defaults that saves lots of boilerplate code and frustration.
+It also comes with
+[workarounds and patches](https://kdeldycke.github.io/click-extra/issues.html) that have not
+reached upstream yet (or are unlikely to).
+
+## Example
+
+It transforms this vanilla `click` CLI:
+
+![click CLI help screen](https://github.com/kdeldycke/click-extra/raw/main/docs/assets/click-help-screen.png)
+
+Into this:
+
+![click-extra CLI help screen](https://github.com/kdeldycke/click-extra/raw/main/docs/assets/click-extra-screen.png)
+
+To undestrand how we ended up with the result above, [go read the tutorial](https://kdeldycke.github.io/click-extra/tutorial.html).
+
+## Features
+
+- Configuration file loader for:
+ - `TOML`
+ - `YAML`
+ - `JSON`, with inline and block comments (Python-style `#` and Javascript-style `//`)
+ - `INI`, with extended interpolation, multi-level sections and non-native types (`list`, `set`, …)
+ - `XML`
+- Automatic inference of the configuration file structure from your CLI's options
+- Remote loading of configuration files from URLs
+- Optional strict validation of configuration
+- Search of configuration file from default user folder and glob patterns
+- Respect of `CLI` > `Configuration` > `Environment` > `Defaults` precedence
+- `--show-params` option to debug parameters defaults, values, environment variables and provenance
+- Colorization of help screens
+- `-h`/`--help` option names (see [rant on other inconsistencies](https://blog.craftyguy.net/cmdline-help/))
+- `--color`/`--no-color` option flag
+- Recognize the `NO_COLOR` environment variable convention from [`no-color.org`](https://no-color.org)
+- Colored `--version` option
+- Colored `--verbosity` option and logs
+- `--time`/`--no-time` flag to measure duration of command execution
+- Platform recognition utilities (macOS, Linux, Windows, UNIX, *BSD, …)
+- New conditional markers for `pytest`:
+ - `@skip_linux`, `@skip_macos` and `@skip_windows`
+ - `@unless_linux`, `@unless_macos` and `@unless_windows`
+ - `@destructive` and `@non_destructive`
+- [`.. click:example::` and `.. click:run::` Sphinx directives](https://kdeldycke.github.io/click-extra/sphinx.html) to document CLI source code and their execution
+- [ANSI-capable Pygments lexers](https://kdeldycke.github.io/click-extra/pygments.html#lexers) for shell session and console output
+- Pygments styles and filters for ANSI rendering
+- [Fixes 30+ bugs](https://kdeldycke.github.io/click-extra/issues.html) from other Click-related projects
+- Rely on [`cloup`](https://github.com/janluke/cloup) to add:
+ - option groups
+ - constraints
+ - subcommands sections
+ - aliases
+ - command suggestion (`Did you mean <subcommand>?`)
+
+## Used in
+
+Check these projects to get real-life examples of `click-extra` usage:
+
+- ![GitHub stars](https://img.shields.io/github/stars/kdeldycke/meta-package-manager?label=%E2%AD%90&style=flat-square) [Meta Package Manager](https://github.com/kdeldycke/meta-package-manager#readme)
+ \- A unifying CLI for multiple package managers.
+- ![GitHub stars](https://img.shields.io/github/stars/kdeldycke/mail-deduplicate?label=%E2%AD%90&style=flat-square) [Mail Deduplicate](https://github.com/kdeldycke/mail-deduplicate#readme) - A
+ CLI to deduplicate similar emails.
+- ![GitHub stars](https://img.shields.io/github/stars/Sprocket-Security/fireproxng?label=%E2%AD%90&style=flat-square) [fireproxng](https://github.com/Sprocket-Security/fireproxng#readme) - A rewrite of the fireprox tool.
+- ![GitHub stars](https://img.shields.io/github/stars/hugolundin/badger?label=%E2%AD%90&style=flat-square) [badger-proxy](https://github.com/hugolundin/badger#readme) - An mDNS-based reverse
+ proxy for naming services on a local network.
+- ![GitHub stars](https://img.shields.io/github/stars/tclick/mdstab?label=%E2%AD%90&style=flat-square) [Molecular Dynamics Trajectory Analysis](https://github.com/tclick/mdstab#readme)
+
+Feel free to send a PR to add your project in this list if you are relying on Click Extra in any way.
+
+## Development
+
+[Development guidelines](https://kdeldycke.github.io/meta-package-manager/development.html)
+are the same as
+[parent project `mpm`](https://github.com/kdeldycke/meta-package-manager), from
+which `click-extra` originated.
+
+
+
+%package -n python3-click-extra
+Summary: 🌈 Extra colorization and configuration loading for Click.
+Provides: python-click-extra
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-click-extra
+<p align="center">
+ <a href="https://github.com/kdeldycke/click-extra/">
+ <img src="https://raw.githubusercontent.com/kdeldycke/click-extra/main/docs/assets/logo-banner.svg" alt="Click Extra">
+ </a>
+</p>
+
+[![Last release](https://img.shields.io/pypi/v/click-extra.svg)](https://pypi.python.org/pypi/click-extra)
+[![Python versions](https://img.shields.io/pypi/pyversions/click-extra.svg)](https://pypi.python.org/pypi/click-extra)
+[![Unittests status](https://github.com/kdeldycke/click-extra/actions/workflows/tests.yaml/badge.svg?branch=main)](https://github.com/kdeldycke/click-extra/actions/workflows/tests.yaml?query=branch%3Amain)
+[![Documentation status](https://github.com/kdeldycke/click-extra/actions/workflows/docs.yaml/badge.svg?branch=main)](https://github.com/kdeldycke/click-extra/actions/workflows/docs.yaml?query=branch%3Amain)
+[![Coverage status](https://codecov.io/gh/kdeldycke/click-extra/branch/main/graph/badge.svg)](https://app.codecov.io/gh/kdeldycke/click-extra)
+[![DOI](https://zenodo.org/badge/418402236.svg)](https://zenodo.org/badge/latestdoi/418402236)
+
+## What is Click Extra?
+
+A ready-to-use wrapper for [Click](https://click.palletsprojects.com), the Python CLI framework.
+
+It is a drop-in replacement with good defaults that saves lots of boilerplate code and frustration.
+It also comes with
+[workarounds and patches](https://kdeldycke.github.io/click-extra/issues.html) that have not
+reached upstream yet (or are unlikely to).
+
+## Example
+
+It transforms this vanilla `click` CLI:
+
+![click CLI help screen](https://github.com/kdeldycke/click-extra/raw/main/docs/assets/click-help-screen.png)
+
+Into this:
+
+![click-extra CLI help screen](https://github.com/kdeldycke/click-extra/raw/main/docs/assets/click-extra-screen.png)
+
+To undestrand how we ended up with the result above, [go read the tutorial](https://kdeldycke.github.io/click-extra/tutorial.html).
+
+## Features
+
+- Configuration file loader for:
+ - `TOML`
+ - `YAML`
+ - `JSON`, with inline and block comments (Python-style `#` and Javascript-style `//`)
+ - `INI`, with extended interpolation, multi-level sections and non-native types (`list`, `set`, …)
+ - `XML`
+- Automatic inference of the configuration file structure from your CLI's options
+- Remote loading of configuration files from URLs
+- Optional strict validation of configuration
+- Search of configuration file from default user folder and glob patterns
+- Respect of `CLI` > `Configuration` > `Environment` > `Defaults` precedence
+- `--show-params` option to debug parameters defaults, values, environment variables and provenance
+- Colorization of help screens
+- `-h`/`--help` option names (see [rant on other inconsistencies](https://blog.craftyguy.net/cmdline-help/))
+- `--color`/`--no-color` option flag
+- Recognize the `NO_COLOR` environment variable convention from [`no-color.org`](https://no-color.org)
+- Colored `--version` option
+- Colored `--verbosity` option and logs
+- `--time`/`--no-time` flag to measure duration of command execution
+- Platform recognition utilities (macOS, Linux, Windows, UNIX, *BSD, …)
+- New conditional markers for `pytest`:
+ - `@skip_linux`, `@skip_macos` and `@skip_windows`
+ - `@unless_linux`, `@unless_macos` and `@unless_windows`
+ - `@destructive` and `@non_destructive`
+- [`.. click:example::` and `.. click:run::` Sphinx directives](https://kdeldycke.github.io/click-extra/sphinx.html) to document CLI source code and their execution
+- [ANSI-capable Pygments lexers](https://kdeldycke.github.io/click-extra/pygments.html#lexers) for shell session and console output
+- Pygments styles and filters for ANSI rendering
+- [Fixes 30+ bugs](https://kdeldycke.github.io/click-extra/issues.html) from other Click-related projects
+- Rely on [`cloup`](https://github.com/janluke/cloup) to add:
+ - option groups
+ - constraints
+ - subcommands sections
+ - aliases
+ - command suggestion (`Did you mean <subcommand>?`)
+
+## Used in
+
+Check these projects to get real-life examples of `click-extra` usage:
+
+- ![GitHub stars](https://img.shields.io/github/stars/kdeldycke/meta-package-manager?label=%E2%AD%90&style=flat-square) [Meta Package Manager](https://github.com/kdeldycke/meta-package-manager#readme)
+ \- A unifying CLI for multiple package managers.
+- ![GitHub stars](https://img.shields.io/github/stars/kdeldycke/mail-deduplicate?label=%E2%AD%90&style=flat-square) [Mail Deduplicate](https://github.com/kdeldycke/mail-deduplicate#readme) - A
+ CLI to deduplicate similar emails.
+- ![GitHub stars](https://img.shields.io/github/stars/Sprocket-Security/fireproxng?label=%E2%AD%90&style=flat-square) [fireproxng](https://github.com/Sprocket-Security/fireproxng#readme) - A rewrite of the fireprox tool.
+- ![GitHub stars](https://img.shields.io/github/stars/hugolundin/badger?label=%E2%AD%90&style=flat-square) [badger-proxy](https://github.com/hugolundin/badger#readme) - An mDNS-based reverse
+ proxy for naming services on a local network.
+- ![GitHub stars](https://img.shields.io/github/stars/tclick/mdstab?label=%E2%AD%90&style=flat-square) [Molecular Dynamics Trajectory Analysis](https://github.com/tclick/mdstab#readme)
+
+Feel free to send a PR to add your project in this list if you are relying on Click Extra in any way.
+
+## Development
+
+[Development guidelines](https://kdeldycke.github.io/meta-package-manager/development.html)
+are the same as
+[parent project `mpm`](https://github.com/kdeldycke/meta-package-manager), from
+which `click-extra` originated.
+
+
+
+%package help
+Summary: Development documents and examples for click-extra
+Provides: python3-click-extra-doc
+%description help
+<p align="center">
+ <a href="https://github.com/kdeldycke/click-extra/">
+ <img src="https://raw.githubusercontent.com/kdeldycke/click-extra/main/docs/assets/logo-banner.svg" alt="Click Extra">
+ </a>
+</p>
+
+[![Last release](https://img.shields.io/pypi/v/click-extra.svg)](https://pypi.python.org/pypi/click-extra)
+[![Python versions](https://img.shields.io/pypi/pyversions/click-extra.svg)](https://pypi.python.org/pypi/click-extra)
+[![Unittests status](https://github.com/kdeldycke/click-extra/actions/workflows/tests.yaml/badge.svg?branch=main)](https://github.com/kdeldycke/click-extra/actions/workflows/tests.yaml?query=branch%3Amain)
+[![Documentation status](https://github.com/kdeldycke/click-extra/actions/workflows/docs.yaml/badge.svg?branch=main)](https://github.com/kdeldycke/click-extra/actions/workflows/docs.yaml?query=branch%3Amain)
+[![Coverage status](https://codecov.io/gh/kdeldycke/click-extra/branch/main/graph/badge.svg)](https://app.codecov.io/gh/kdeldycke/click-extra)
+[![DOI](https://zenodo.org/badge/418402236.svg)](https://zenodo.org/badge/latestdoi/418402236)
+
+## What is Click Extra?
+
+A ready-to-use wrapper for [Click](https://click.palletsprojects.com), the Python CLI framework.
+
+It is a drop-in replacement with good defaults that saves lots of boilerplate code and frustration.
+It also comes with
+[workarounds and patches](https://kdeldycke.github.io/click-extra/issues.html) that have not
+reached upstream yet (or are unlikely to).
+
+## Example
+
+It transforms this vanilla `click` CLI:
+
+![click CLI help screen](https://github.com/kdeldycke/click-extra/raw/main/docs/assets/click-help-screen.png)
+
+Into this:
+
+![click-extra CLI help screen](https://github.com/kdeldycke/click-extra/raw/main/docs/assets/click-extra-screen.png)
+
+To undestrand how we ended up with the result above, [go read the tutorial](https://kdeldycke.github.io/click-extra/tutorial.html).
+
+## Features
+
+- Configuration file loader for:
+ - `TOML`
+ - `YAML`
+ - `JSON`, with inline and block comments (Python-style `#` and Javascript-style `//`)
+ - `INI`, with extended interpolation, multi-level sections and non-native types (`list`, `set`, …)
+ - `XML`
+- Automatic inference of the configuration file structure from your CLI's options
+- Remote loading of configuration files from URLs
+- Optional strict validation of configuration
+- Search of configuration file from default user folder and glob patterns
+- Respect of `CLI` > `Configuration` > `Environment` > `Defaults` precedence
+- `--show-params` option to debug parameters defaults, values, environment variables and provenance
+- Colorization of help screens
+- `-h`/`--help` option names (see [rant on other inconsistencies](https://blog.craftyguy.net/cmdline-help/))
+- `--color`/`--no-color` option flag
+- Recognize the `NO_COLOR` environment variable convention from [`no-color.org`](https://no-color.org)
+- Colored `--version` option
+- Colored `--verbosity` option and logs
+- `--time`/`--no-time` flag to measure duration of command execution
+- Platform recognition utilities (macOS, Linux, Windows, UNIX, *BSD, …)
+- New conditional markers for `pytest`:
+ - `@skip_linux`, `@skip_macos` and `@skip_windows`
+ - `@unless_linux`, `@unless_macos` and `@unless_windows`
+ - `@destructive` and `@non_destructive`
+- [`.. click:example::` and `.. click:run::` Sphinx directives](https://kdeldycke.github.io/click-extra/sphinx.html) to document CLI source code and their execution
+- [ANSI-capable Pygments lexers](https://kdeldycke.github.io/click-extra/pygments.html#lexers) for shell session and console output
+- Pygments styles and filters for ANSI rendering
+- [Fixes 30+ bugs](https://kdeldycke.github.io/click-extra/issues.html) from other Click-related projects
+- Rely on [`cloup`](https://github.com/janluke/cloup) to add:
+ - option groups
+ - constraints
+ - subcommands sections
+ - aliases
+ - command suggestion (`Did you mean <subcommand>?`)
+
+## Used in
+
+Check these projects to get real-life examples of `click-extra` usage:
+
+- ![GitHub stars](https://img.shields.io/github/stars/kdeldycke/meta-package-manager?label=%E2%AD%90&style=flat-square) [Meta Package Manager](https://github.com/kdeldycke/meta-package-manager#readme)
+ \- A unifying CLI for multiple package managers.
+- ![GitHub stars](https://img.shields.io/github/stars/kdeldycke/mail-deduplicate?label=%E2%AD%90&style=flat-square) [Mail Deduplicate](https://github.com/kdeldycke/mail-deduplicate#readme) - A
+ CLI to deduplicate similar emails.
+- ![GitHub stars](https://img.shields.io/github/stars/Sprocket-Security/fireproxng?label=%E2%AD%90&style=flat-square) [fireproxng](https://github.com/Sprocket-Security/fireproxng#readme) - A rewrite of the fireprox tool.
+- ![GitHub stars](https://img.shields.io/github/stars/hugolundin/badger?label=%E2%AD%90&style=flat-square) [badger-proxy](https://github.com/hugolundin/badger#readme) - An mDNS-based reverse
+ proxy for naming services on a local network.
+- ![GitHub stars](https://img.shields.io/github/stars/tclick/mdstab?label=%E2%AD%90&style=flat-square) [Molecular Dynamics Trajectory Analysis](https://github.com/tclick/mdstab#readme)
+
+Feel free to send a PR to add your project in this list if you are relying on Click Extra in any way.
+
+## Development
+
+[Development guidelines](https://kdeldycke.github.io/meta-package-manager/development.html)
+are the same as
+[parent project `mpm`](https://github.com/kdeldycke/meta-package-manager), from
+which `click-extra` originated.
+
+
+
+%prep
+%autosetup -n click-extra-3.10.0
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-click-extra -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 3.10.0-1
+- Package Spec generated