summaryrefslogtreecommitdiff
path: root/python-click-option-group.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-click-option-group.spec')
-rw-r--r--python-click-option-group.spec561
1 files changed, 561 insertions, 0 deletions
diff --git a/python-click-option-group.spec b/python-click-option-group.spec
new file mode 100644
index 0000000..5dbb8a4
--- /dev/null
+++ b/python-click-option-group.spec
@@ -0,0 +1,561 @@
+%global _empty_manifest_terminate_build 0
+Name: python-click-option-group
+Version: 0.5.5
+Release: 1
+Summary: Option groups missing in Click
+License: BSD-3-Clause
+URL: https://github.com/click-contrib/click-option-group
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/4c/29/ff7cd69825b5bfb48e39853b75d5dc2e98a581730f2b6c9c014188730755/click-option-group-0.5.5.tar.gz
+BuildArch: noarch
+
+Requires: python3-Click
+Requires: python3-sphinx
+Requires: python3-Pallets-Sphinx-Themes
+Requires: python3-m2r2
+Requires: python3-pytest
+Requires: python3-pytest
+Requires: python3-pytest-cov
+Requires: python3-coverage
+Requires: python3-coveralls
+
+%description
+# click-option-group
+
+[![PyPI version](https://img.shields.io/pypi/v/click-option-group.svg)](https://pypi.python.org/pypi/click-option-group)
+[![Build status](https://travis-ci.org/click-contrib/click-option-group.svg?branch=master)](https://travis-ci.org/click-contrib/click-option-group)
+[![Coverage Status](https://coveralls.io/repos/github/click-contrib/click-option-group/badge.svg?branch=master)](https://coveralls.io/github/click-contrib/click-option-group?branch=master)
+![Supported Python versions](https://img.shields.io/pypi/pyversions/click-option-group.svg)
+[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
+
+
+**click-option-group** is a Click-extension package that adds option groups
+missing in [Click](https://github.com/pallets/click/).
+
+## Aim and Motivation
+
+Click is a package for creating powerful and beautiful command line interfaces (CLI) in Python,
+but it has no the functionality for creating option groups.
+
+Option groups are convenient mechanism for logical structuring CLI, also it allows you to set
+the specific behavior and set the relationship among grouped options (mutually exclusive options for example).
+Moreover, [argparse](https://docs.python.org/3/library/argparse.html) stdlib package contains this
+functionality out of the box.
+
+At the same time, many Click users need this functionality.
+You can read interesting discussions about it in the following issues:
+
+* [issue 257](https://github.com/pallets/click/issues/257)
+* [issue 373](https://github.com/pallets/click/issues/373)
+* [issue 509](https://github.com/pallets/click/issues/509)
+* [issue 1137](https://github.com/pallets/click/issues/1137)
+
+The aim of this package is to provide group options with extensible functionality
+using canonical and clean API (Click-like API as far as possible).
+
+## Quickstart
+
+### Installing
+
+Install and update using pip:
+
+```bash
+pip install -U click-option-group
+```
+
+### A Simple Example
+
+Here is a simple example how to use option groups in your Click-based CLI.
+Just use `optgroup` for declaring option groups by decorating
+your command function in Click-like API style.
+
+```python
+# app.py
+
+import click
+from click_option_group import optgroup, RequiredMutuallyExclusiveOptionGroup
+
+@click.command()
+@optgroup.group('Server configuration',
+ help='The configuration of some server connection')
+@optgroup.option('-h', '--host', default='localhost', help='Server host name')
+@optgroup.option('-p', '--port', type=int, default=8888, help='Server port')
+@optgroup.option('-n', '--attempts', type=int, default=3, help='The number of connection attempts')
+@optgroup.option('-t', '--timeout', type=int, default=30, help='The server response timeout')
+@optgroup.group('Input data sources', cls=RequiredMutuallyExclusiveOptionGroup,
+ help='The sources of the input data')
+@optgroup.option('--tsv-file', type=click.File(), help='CSV/TSV input data file')
+@optgroup.option('--json-file', type=click.File(), help='JSON input data file')
+@click.option('--debug/--no-debug', default=False, help='Debug flag')
+def cli(**params):
+ print(params)
+
+if __name__ == '__main__':
+ cli()
+```
+
+```bash
+$ python app.py --help
+Usage: app.py [OPTIONS]
+
+Options:
+ Server configuration: The configuration of some server connection
+ -h, --host TEXT Server host name
+ -p, --port INTEGER Server port
+ -n, --attempts INTEGER The number of connection attempts
+ -t, --timeout INTEGER The server response timeout
+ Input data sources: [mutually_exclusive, required]
+ The sources of the input data
+ --tsv-file FILENAME CSV/TSV input data file
+ --json-file FILENAME JSON input data file
+ --debug / --no-debug Debug flag
+ --help Show this message and exit.
+```
+
+## Documentation
+
+https://click-option-group.readthedocs.io
+
+# Changelog
+
+## v0.5.5 (12.10.2022)
+
+* Add `tests/` directory to tarball
+* Add `tests_cov` extra dependencies for testing with coverage
+
+## v0.5.4 (12.10.2022)
+
+* Move frame gathering into error code path (PR [#34](https://github.com/click-contrib/click-option-group/pull/34))
+* Fix typos (PR [#37](https://github.com/click-contrib/click-option-group/pull/37))
+* PEP 561 support (PR [#42](https://github.com/click-contrib/click-option-group/pull/42))
+* Update docs dependencies and Travis CI Python version matrix (PR [#43](https://github.com/click-contrib/click-option-group/pull/43))
+
+## v0.5.3 (14.05.2021)
+
+* Update Click dependency version to `<9` (Issue [#33](https://github.com/click-contrib/click-option-group/issues/33))
+
+## v0.5.2 (28.11.2020)
+
+* Do not use default option group name. An empty group name will not be displayed
+* Slightly edited error messages
+* All arguments except `name` in `optgroup` decorator must be keyword-only
+
+## v0.5.1 (14.06.2020)
+
+* Fix incompatibility with autocomplete: out of the box Click completion and click-repl (Issue [#14](https://github.com/click-contrib/click-option-group/issues/14))
+
+## v0.5.0 (10.06.2020)
+
+* Add `AllOptionGroup` class: all options from the group must be set or none must be set (PR [#13](https://github.com/click-contrib/click-option-group/pull/13))
+* Fix type hints
+* Update docs
+
+## v0.4.0 (18.05.2020)
+
+* Support multi-layer wrapped functions (PR [#10](https://github.com/click-contrib/click-option-group/pull/10))
+* Fix flake8 issues
+
+## v0.3.1
+
+* Add `hidden=True` to `_GroupTitleFakeOption` as a temporary workaroud for issue [#4](https://github.com/click-contrib/click-option-group/issues/4)
+
+## v0.3.0
+* Add support for hidden options inside groups (PR [#2](https://github.com/click-contrib/click-option-group/pull/2))
+
+## v0.2.3
+* Transfer the repo to click-contrib organisation
+
+## v0.2.2
+* Add true lineno in warning when declaring empty option group
+* Update readme
+
+## v0.2.1
+* Use RuntimeWarning and stacklevel 2 when declaring empty option group
+* Update readme
+
+## v0.2.0
+* Implement `RequiredMutuallyExclusiveOptionGroup` class instead of `required` argument for `MutuallyExclusiveOptionGroup`
+* Add tests with 100% coverage
+* Update readme
+
+## v0.1.0
+* First public release
+
+
+%package -n python3-click-option-group
+Summary: Option groups missing in Click
+Provides: python-click-option-group
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-click-option-group
+# click-option-group
+
+[![PyPI version](https://img.shields.io/pypi/v/click-option-group.svg)](https://pypi.python.org/pypi/click-option-group)
+[![Build status](https://travis-ci.org/click-contrib/click-option-group.svg?branch=master)](https://travis-ci.org/click-contrib/click-option-group)
+[![Coverage Status](https://coveralls.io/repos/github/click-contrib/click-option-group/badge.svg?branch=master)](https://coveralls.io/github/click-contrib/click-option-group?branch=master)
+![Supported Python versions](https://img.shields.io/pypi/pyversions/click-option-group.svg)
+[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
+
+
+**click-option-group** is a Click-extension package that adds option groups
+missing in [Click](https://github.com/pallets/click/).
+
+## Aim and Motivation
+
+Click is a package for creating powerful and beautiful command line interfaces (CLI) in Python,
+but it has no the functionality for creating option groups.
+
+Option groups are convenient mechanism for logical structuring CLI, also it allows you to set
+the specific behavior and set the relationship among grouped options (mutually exclusive options for example).
+Moreover, [argparse](https://docs.python.org/3/library/argparse.html) stdlib package contains this
+functionality out of the box.
+
+At the same time, many Click users need this functionality.
+You can read interesting discussions about it in the following issues:
+
+* [issue 257](https://github.com/pallets/click/issues/257)
+* [issue 373](https://github.com/pallets/click/issues/373)
+* [issue 509](https://github.com/pallets/click/issues/509)
+* [issue 1137](https://github.com/pallets/click/issues/1137)
+
+The aim of this package is to provide group options with extensible functionality
+using canonical and clean API (Click-like API as far as possible).
+
+## Quickstart
+
+### Installing
+
+Install and update using pip:
+
+```bash
+pip install -U click-option-group
+```
+
+### A Simple Example
+
+Here is a simple example how to use option groups in your Click-based CLI.
+Just use `optgroup` for declaring option groups by decorating
+your command function in Click-like API style.
+
+```python
+# app.py
+
+import click
+from click_option_group import optgroup, RequiredMutuallyExclusiveOptionGroup
+
+@click.command()
+@optgroup.group('Server configuration',
+ help='The configuration of some server connection')
+@optgroup.option('-h', '--host', default='localhost', help='Server host name')
+@optgroup.option('-p', '--port', type=int, default=8888, help='Server port')
+@optgroup.option('-n', '--attempts', type=int, default=3, help='The number of connection attempts')
+@optgroup.option('-t', '--timeout', type=int, default=30, help='The server response timeout')
+@optgroup.group('Input data sources', cls=RequiredMutuallyExclusiveOptionGroup,
+ help='The sources of the input data')
+@optgroup.option('--tsv-file', type=click.File(), help='CSV/TSV input data file')
+@optgroup.option('--json-file', type=click.File(), help='JSON input data file')
+@click.option('--debug/--no-debug', default=False, help='Debug flag')
+def cli(**params):
+ print(params)
+
+if __name__ == '__main__':
+ cli()
+```
+
+```bash
+$ python app.py --help
+Usage: app.py [OPTIONS]
+
+Options:
+ Server configuration: The configuration of some server connection
+ -h, --host TEXT Server host name
+ -p, --port INTEGER Server port
+ -n, --attempts INTEGER The number of connection attempts
+ -t, --timeout INTEGER The server response timeout
+ Input data sources: [mutually_exclusive, required]
+ The sources of the input data
+ --tsv-file FILENAME CSV/TSV input data file
+ --json-file FILENAME JSON input data file
+ --debug / --no-debug Debug flag
+ --help Show this message and exit.
+```
+
+## Documentation
+
+https://click-option-group.readthedocs.io
+
+# Changelog
+
+## v0.5.5 (12.10.2022)
+
+* Add `tests/` directory to tarball
+* Add `tests_cov` extra dependencies for testing with coverage
+
+## v0.5.4 (12.10.2022)
+
+* Move frame gathering into error code path (PR [#34](https://github.com/click-contrib/click-option-group/pull/34))
+* Fix typos (PR [#37](https://github.com/click-contrib/click-option-group/pull/37))
+* PEP 561 support (PR [#42](https://github.com/click-contrib/click-option-group/pull/42))
+* Update docs dependencies and Travis CI Python version matrix (PR [#43](https://github.com/click-contrib/click-option-group/pull/43))
+
+## v0.5.3 (14.05.2021)
+
+* Update Click dependency version to `<9` (Issue [#33](https://github.com/click-contrib/click-option-group/issues/33))
+
+## v0.5.2 (28.11.2020)
+
+* Do not use default option group name. An empty group name will not be displayed
+* Slightly edited error messages
+* All arguments except `name` in `optgroup` decorator must be keyword-only
+
+## v0.5.1 (14.06.2020)
+
+* Fix incompatibility with autocomplete: out of the box Click completion and click-repl (Issue [#14](https://github.com/click-contrib/click-option-group/issues/14))
+
+## v0.5.0 (10.06.2020)
+
+* Add `AllOptionGroup` class: all options from the group must be set or none must be set (PR [#13](https://github.com/click-contrib/click-option-group/pull/13))
+* Fix type hints
+* Update docs
+
+## v0.4.0 (18.05.2020)
+
+* Support multi-layer wrapped functions (PR [#10](https://github.com/click-contrib/click-option-group/pull/10))
+* Fix flake8 issues
+
+## v0.3.1
+
+* Add `hidden=True` to `_GroupTitleFakeOption` as a temporary workaroud for issue [#4](https://github.com/click-contrib/click-option-group/issues/4)
+
+## v0.3.0
+* Add support for hidden options inside groups (PR [#2](https://github.com/click-contrib/click-option-group/pull/2))
+
+## v0.2.3
+* Transfer the repo to click-contrib organisation
+
+## v0.2.2
+* Add true lineno in warning when declaring empty option group
+* Update readme
+
+## v0.2.1
+* Use RuntimeWarning and stacklevel 2 when declaring empty option group
+* Update readme
+
+## v0.2.0
+* Implement `RequiredMutuallyExclusiveOptionGroup` class instead of `required` argument for `MutuallyExclusiveOptionGroup`
+* Add tests with 100% coverage
+* Update readme
+
+## v0.1.0
+* First public release
+
+
+%package help
+Summary: Development documents and examples for click-option-group
+Provides: python3-click-option-group-doc
+%description help
+# click-option-group
+
+[![PyPI version](https://img.shields.io/pypi/v/click-option-group.svg)](https://pypi.python.org/pypi/click-option-group)
+[![Build status](https://travis-ci.org/click-contrib/click-option-group.svg?branch=master)](https://travis-ci.org/click-contrib/click-option-group)
+[![Coverage Status](https://coveralls.io/repos/github/click-contrib/click-option-group/badge.svg?branch=master)](https://coveralls.io/github/click-contrib/click-option-group?branch=master)
+![Supported Python versions](https://img.shields.io/pypi/pyversions/click-option-group.svg)
+[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
+
+
+**click-option-group** is a Click-extension package that adds option groups
+missing in [Click](https://github.com/pallets/click/).
+
+## Aim and Motivation
+
+Click is a package for creating powerful and beautiful command line interfaces (CLI) in Python,
+but it has no the functionality for creating option groups.
+
+Option groups are convenient mechanism for logical structuring CLI, also it allows you to set
+the specific behavior and set the relationship among grouped options (mutually exclusive options for example).
+Moreover, [argparse](https://docs.python.org/3/library/argparse.html) stdlib package contains this
+functionality out of the box.
+
+At the same time, many Click users need this functionality.
+You can read interesting discussions about it in the following issues:
+
+* [issue 257](https://github.com/pallets/click/issues/257)
+* [issue 373](https://github.com/pallets/click/issues/373)
+* [issue 509](https://github.com/pallets/click/issues/509)
+* [issue 1137](https://github.com/pallets/click/issues/1137)
+
+The aim of this package is to provide group options with extensible functionality
+using canonical and clean API (Click-like API as far as possible).
+
+## Quickstart
+
+### Installing
+
+Install and update using pip:
+
+```bash
+pip install -U click-option-group
+```
+
+### A Simple Example
+
+Here is a simple example how to use option groups in your Click-based CLI.
+Just use `optgroup` for declaring option groups by decorating
+your command function in Click-like API style.
+
+```python
+# app.py
+
+import click
+from click_option_group import optgroup, RequiredMutuallyExclusiveOptionGroup
+
+@click.command()
+@optgroup.group('Server configuration',
+ help='The configuration of some server connection')
+@optgroup.option('-h', '--host', default='localhost', help='Server host name')
+@optgroup.option('-p', '--port', type=int, default=8888, help='Server port')
+@optgroup.option('-n', '--attempts', type=int, default=3, help='The number of connection attempts')
+@optgroup.option('-t', '--timeout', type=int, default=30, help='The server response timeout')
+@optgroup.group('Input data sources', cls=RequiredMutuallyExclusiveOptionGroup,
+ help='The sources of the input data')
+@optgroup.option('--tsv-file', type=click.File(), help='CSV/TSV input data file')
+@optgroup.option('--json-file', type=click.File(), help='JSON input data file')
+@click.option('--debug/--no-debug', default=False, help='Debug flag')
+def cli(**params):
+ print(params)
+
+if __name__ == '__main__':
+ cli()
+```
+
+```bash
+$ python app.py --help
+Usage: app.py [OPTIONS]
+
+Options:
+ Server configuration: The configuration of some server connection
+ -h, --host TEXT Server host name
+ -p, --port INTEGER Server port
+ -n, --attempts INTEGER The number of connection attempts
+ -t, --timeout INTEGER The server response timeout
+ Input data sources: [mutually_exclusive, required]
+ The sources of the input data
+ --tsv-file FILENAME CSV/TSV input data file
+ --json-file FILENAME JSON input data file
+ --debug / --no-debug Debug flag
+ --help Show this message and exit.
+```
+
+## Documentation
+
+https://click-option-group.readthedocs.io
+
+# Changelog
+
+## v0.5.5 (12.10.2022)
+
+* Add `tests/` directory to tarball
+* Add `tests_cov` extra dependencies for testing with coverage
+
+## v0.5.4 (12.10.2022)
+
+* Move frame gathering into error code path (PR [#34](https://github.com/click-contrib/click-option-group/pull/34))
+* Fix typos (PR [#37](https://github.com/click-contrib/click-option-group/pull/37))
+* PEP 561 support (PR [#42](https://github.com/click-contrib/click-option-group/pull/42))
+* Update docs dependencies and Travis CI Python version matrix (PR [#43](https://github.com/click-contrib/click-option-group/pull/43))
+
+## v0.5.3 (14.05.2021)
+
+* Update Click dependency version to `<9` (Issue [#33](https://github.com/click-contrib/click-option-group/issues/33))
+
+## v0.5.2 (28.11.2020)
+
+* Do not use default option group name. An empty group name will not be displayed
+* Slightly edited error messages
+* All arguments except `name` in `optgroup` decorator must be keyword-only
+
+## v0.5.1 (14.06.2020)
+
+* Fix incompatibility with autocomplete: out of the box Click completion and click-repl (Issue [#14](https://github.com/click-contrib/click-option-group/issues/14))
+
+## v0.5.0 (10.06.2020)
+
+* Add `AllOptionGroup` class: all options from the group must be set or none must be set (PR [#13](https://github.com/click-contrib/click-option-group/pull/13))
+* Fix type hints
+* Update docs
+
+## v0.4.0 (18.05.2020)
+
+* Support multi-layer wrapped functions (PR [#10](https://github.com/click-contrib/click-option-group/pull/10))
+* Fix flake8 issues
+
+## v0.3.1
+
+* Add `hidden=True` to `_GroupTitleFakeOption` as a temporary workaroud for issue [#4](https://github.com/click-contrib/click-option-group/issues/4)
+
+## v0.3.0
+* Add support for hidden options inside groups (PR [#2](https://github.com/click-contrib/click-option-group/pull/2))
+
+## v0.2.3
+* Transfer the repo to click-contrib organisation
+
+## v0.2.2
+* Add true lineno in warning when declaring empty option group
+* Update readme
+
+## v0.2.1
+* Use RuntimeWarning and stacklevel 2 when declaring empty option group
+* Update readme
+
+## v0.2.0
+* Implement `RequiredMutuallyExclusiveOptionGroup` class instead of `required` argument for `MutuallyExclusiveOptionGroup`
+* Add tests with 100% coverage
+* Update readme
+
+## v0.1.0
+* First public release
+
+
+%prep
+%autosetup -n click-option-group-0.5.5
+
+%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-option-group -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.5.5-1
+- Package Spec generated