summaryrefslogtreecommitdiff
path: root/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/METADATA
diff options
context:
space:
mode:
Diffstat (limited to 'venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/METADATA')
-rw-r--r--venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/METADATA633
1 files changed, 0 insertions, 633 deletions
diff --git a/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/METADATA b/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/METADATA
deleted file mode 100644
index 13b442a..0000000
--- a/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/METADATA
+++ /dev/null
@@ -1,633 +0,0 @@
-Metadata-Version: 2.1
-Name: rich-click
-Version: 1.7.4
-Summary: Format click help output nicely with rich
-Home-page: https://github.com/ewels/rich-click
-Author: Phil Ewels
-Author-email: phil@ewels.co.uk
-Maintainer: Phil Ewels
-Maintainer-email: phil@ewels.co.uk
-License: MIT
-Project-URL: Documentation, https://github.com/ewels/rich-click
-Project-URL: Source Code, https://github.com/ewels/rich-click
-Project-URL: Issue Tracker, https://github.com/ewels/rich-click/issues/
-Classifier: Development Status :: 3 - Alpha
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: MIT License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
-Requires-Python: >=3.7
-Description-Content-Type: text/markdown
-License-File: LICENSE
-Requires-Dist: click >=7
-Requires-Dist: rich >=10.7.0
-Requires-Dist: typing-extensions
-Requires-Dist: importlib-metadata ; python_version < "3.8"
-Provides-Extra: dev
-Requires-Dist: mypy ; extra == 'dev'
-Requires-Dist: pre-commit ; extra == 'dev'
-Requires-Dist: pytest ; extra == 'dev'
-Requires-Dist: flake8 ; extra == 'dev'
-Requires-Dist: flake8-docstrings ; extra == 'dev'
-Requires-Dist: pytest-cov ; extra == 'dev'
-Requires-Dist: packaging ; extra == 'dev'
-Requires-Dist: types-setuptools ; extra == 'dev'
-
-<p align="center">
- <picture>
- <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ewels/rich-click/main/docs/images/rich-click-logo-darkmode.png">
- <img alt="rich-click logo" src="https://raw.githubusercontent.com/ewels/rich-click/main/docs/images/rich-click-logo.png">
- </picture>
-</p>
-<p align="center">
- <em>Richly rendered command line interfaces in click.</em>
-</p>
-<p align="center">
- <img src="https://github.com/ewels/rich-click/workflows/Test%20Coverage/badge.svg" alt="Test Coverage badge">
- <img src="https://github.com/ewels/rich-click/workflows/Lint%20code/badge.svg" alt="Lint code badge">
-</p>
-
----
-
-**rich-click** is a shim around [click](https://click.palletsprojects.com/) that renders help output nicely using [Rich](https://github.com/Textualize/rich).
-
-- Click is a _"Python package for creating beautiful command line interfaces"_.
-- Rich is a _"Python library for rich text and beautiful formatting in the terminal"_.
-
-The intention of `rich-click` is to provide attractive help output from
-click, formatted with rich, with minimal customisation required.
-
-## Features
-
-- 🌈 Rich command-line formatting of click help and error messages
-- 💫 Nice styles be default, usage is simply `import rich_click as click`
-- 💻 CLI tool to run on _other people's_ tools (prefix the command with `rich-click`)
-- 🎁 Group commands and options into named panels
-- ❌ Well formatted error messages
-- 🔢 Easily give custom sort order for options and commands
-- 🎨 Extensive customisation of styling and behaviour possible
-
-## Examples
-
-### Simple Example
-
-To use rich-click in your code, replace `import click` with `import rich_click as click` in your existing click CLI:
-
-```python
-import rich_click as click
-
-@click.command()
-@click.option("--count", default=1, help="Number of greetings.")
-@click.option("--name", prompt="Your name", help="The person to greet.")
-def hello(count, name):
- """Simple program that greets NAME for a total of COUNT times."""
- for _ in range(count):
- click.echo(f"Hello, {name}!")
-
-if __name__ == '__main__':
- hello()
-```
-
-![`python examples/11_hello.py --help`](docs/images/hello.svg)
-
-_Screenshot from [`examples/11_hello.py`](examples/11_hello.py)_
-
-### More complex example
-
-![examples/03_groups_sorting.py](docs/images/command_groups.svg)
-
-_Screenshot from [`examples/03_groups_sorting.py`](examples/03_groups_sorting.py)_
-
-## Installation
-
-You can install `rich-click` from the [Python Package Index (PyPI)](https://pypi.org/project/rich-click/) with `pip` or equivalent.
-
-```bash
-python -m pip install rich-click
-```
-
-Conda users can find `rich-click` on [conda forge](https://anaconda.org/conda-forge/rich-click).
-Just set up conda to use conda-forge (see [docs](https://conda-forge.org/docs/user/introduction.html#how-can-i-install-packages-from-conda-forge)) then run:
-
-```bash
-conda install rich-click
-```
-
-Users on macOS can install `rich-click` via [MacPorts](https://ports.macports.org/port/py-rich-click/).
-
-```bash
-sudo port install py-rich-click
-```
-
-Note that rich-click requires `click>=7` but formatted subcommands (groups) only work with `click>=8`. With v7 the output simply reverts to default click output.
-
-## Usage
-
-### Import as click
-
-To use `rich-click`, switch out your normal `click` import with `rich-click`, using the same namespace:
-
-```python
-import rich_click as click
-```
-
-That's it! ✨ Then continue to use `click` as you would normally.
-
-> See [`examples/01_simple.py`](examples/01_simple.py) for an example.
-
-The intention is to maintain most / all of the normal click functionality and arguments.
-If you spot something that breaks or is missing once you start using the plugin, please create an issue about it.
-
-### Declarative
-
-If you prefer, you can `RichGroup` or `RichCommand` with the `cls` argument in your click usage instead.
-This means that you can continue to use the unmodified `click` package in parallel.
-
-> See [`examples/02_declarative.py`](examples/02_declarative.py) for an example.
-
-### Command-line usage
-
-`rich-click` comes with a CLI tool that allows you to format the click help output from _any_ package.
-As long as that tool is using click and isn't already passing custom `cls` objects, it should work.
-However, please consider it an experimental feature at this point.
-
-To use, simply prefix to your normal command.
-For example, to get richified click help text from a package called `awesometool`, you could run:
-
-```console
-$ rich-click awesometool --help
-
-Usage: awesometool [OPTIONS]
-..more richified output below..
-```
-
-### Patching
-
-In some situations, you might be registering a command from another Click CLI that does not use Rich-Click:
-
-```python
-import rich_click as click
-from some_library import another_cli
-
-@click.group("my-cli")
-def cli():
- pass
-
-# `another_cli` will NOT have Rich-Click markup. :(
-cli.add_command(another_cli)
-```
-
-In this situation, `another_cli` retains its original behavior. In order to make `another_cli` work with Rich-Click, you need to patch `click` before you import `another_cli`. You can patch Click with `rich_click.cli.patch` like this:
-
-```python
-import rich_click as click
-from rich_click.cli import patch
-
-patch()
-
-from some_library import another_cli # noqa: E402
-
-@click.group("my-cli")
-def cli():
- pass
-
-# `another_cli` will have Rich-Click markup. :)
-cli.add_command(another_cli)
-```
-
-## Customisation
-
-There are a large number of customisation options in rich-click.
-These can be modified by changing variables in the `click.rich_click` namespace.
-
-Note that most normal click options should still work, such as `show_default=True`, `required=True` and `hidden=True`.
-
-> Note: All images below are auto-generated using another side-project of mine: [rich-codex](https://github.com/ewels/rich-codex). Pretty cool!
-
-### Using Rich markup
-
-In order to be as widely compatible as possible with a simple import, rich-click does _not_ parse rich formatting markup (eg. `[red]`) by default. You need to opt-in to this behaviour.
-
-To use rich markup in your help texts, add the following:
-
-```python
-click.rich_click.USE_RICH_MARKUP = True
-```
-
-Or alternatively, with the `rich_config` and `RichHelpConfiguration`:
-
-```python
-@click.command()
-@click.rich_config(help_config=click.RichHelpConfiguration(use_rich_markup=True))
-def cli():
- ...
-```
-
-Remember that you'll need to escape any regular square brackets using a back slash in your help texts,
-for example: `[dim]\[my-default: foo][\]`
-
-![`python examples/04_rich_markup.py --help`](docs/images/rich_markup.svg "Rich markup example")
-
-> See [`examples/04_rich_markup.py`](examples/04_rich_markup.py) for an example.
-
-### Using Markdown
-
-If you prefer, you can use Markdown text.
-You must choose either Markdown or rich markup. If you specify both, Markdown takes preference.
-
-```python
-click.rich_click.USE_MARKDOWN = True
-```
-
-Or alternatively, with the `RichHelpConfiguration`:
-
-```python
-@click.command()
-@click.rich_config(help_config=click.RichHelpConfiguration(use_markdown=True))
-def cli():
- ...
-```
-
-![`python examples/05_markdown.py --help`](docs/images/markdown.svg "Markdown example")
-
-> See [`examples/05_markdown.py`](examples/05_markdown.py) for an example.
-
-### Positional arguments
-
-The default click behaviour is to only show positional arguments in the top usage string,
-and not in the list below with the options.
-
-If you prefer, you can tell rich-click to show arguments with `SHOW_ARGUMENTS`.
-By default, they will get their own panel but you can tell rich-click to bundle them together with `GROUP_ARGUMENTS_OPTIONS`:
-
-```python
-click.rich_click.SHOW_ARGUMENTS = True
-click.rich_click.GROUP_ARGUMENTS_OPTIONS = True
-```
-
-Or alternatively, with the `RichHelpConfiguration`:
-
-```python
-help_config = click.RichHelpConfiguration(
- show_arguments=True,
- group_arguments_options=True
-)
-
-@click.command()
-@click.rich_config(help_config=help_config)
-def cli():
- ...
-```
-
-![`python examples/06_arguments.py --help`](docs/images/arguments.svg "Positional arguments example")
-
-> See [`examples/06_arguments.py`](examples/06_arguments.py) for an example.
-
-### Metavars and option choices
-
-Metavars are click's way of showing expected input types.
-For example, if you have an option that must be an integer, the metavar is `INTEGER`.
-If you have a choice, the metavar is a list of the possible values.
-
-By default, rich-click shows metavars in their own column.
-However, if you have a long list of choices, this column can be quite wide and result in a lot of white space:
-
-![`python examples/08_metavars_default.py --help`](docs/images/metavars_default.svg "Default metavar display")
-
-It may look better to show metavars appended to the help text, instead of in their own column.
-For this, use the following:
-
-```python
-click.rich_click.SHOW_METAVARS_COLUMN = False
-click.rich_click.APPEND_METAVARS_HELP = True
-```
-
-```python
-help_config = click.RichHelpConfiguration(
- show_metavars_column=False,
- append_metavars_help=True
-)
-
-@click.command()
-@click.rich_config(help_config=help_config)
-def cli():
- ...
-```
-
-![`python examples/08_metavars.py --help`](docs/images/metavars_appended.svg "Appended metavar")
-
-> See [`examples/08_metavars.py`](examples/08_metavars.py) for an example.
-
-### Error messages
-
-By default, rich-click gives some nice formatting to error messages:
-
-![`python examples/01_simple.py --hep || true`](docs/images/error.svg "Error message")
-
-You can customise the _Try 'command --help' for help._ message with `ERRORS_SUGGESTION`
-using rich-click though, and add some text after the error with `ERRORS_EPILOGUE`.
-
-For example, from [`examples/07_custom_errors.py`](examples/07_custom_errors.py):
-
-```python
-click.rich_click.STYLE_ERRORS_SUGGESTION = "magenta italic"
-click.rich_click.ERRORS_SUGGESTION = "Try running the '--help' flag for more information."
-click.rich_click.ERRORS_EPILOGUE = "To find out more, visit [link=https://mytool.com]https://mytool.com[/link]"
-```
-
-![`python examples/07_custom_errors.py --hep || true`](docs/images/custom_error.svg "Custom error message")
-
-> See [`examples/07_custom_errors.py`](examples/07_custom_errors.py) for an example.
-
-### Help width
-
-The default behaviour of rich-click is to use the full width of the terminal for output.
-However, if you've carefully crafted your help texts for the default narrow click output, you may find that you now have a lot of whitespace at the side of the panels.
-
-To limit the maximum width of the help output, regardless of the terminal size, set `WIDTH` in characters as follows:
-
-```python
-click.rich_click.WIDTH = 128
-```
-
-To still use the full width of the terminal up to a certain limit, set `MAX_WIDTH` in characters as follows:
-
-```python
-click.rich_click.MAX_WIDTH = 96
-```
-
-Setting `MAX_WIDTH` overrides the effect of `WIDTH`
-
-### Styling
-
-Most aspects of rich-click formatting can be customised, from colours to alignment.
-
-For example, to print the option flags in a different colour, you can use:
-
-```python
-click.rich_click.STYLE_OPTION = "magenta"
-```
-
-To add a blank line between rows of options, you can use:
-
-```python
-click.rich_click.STYLE_OPTIONS_TABLE_LEADING = 1
-click.rich_click.STYLE_OPTIONS_TABLE_BOX = "SIMPLE"
-```
-
-You can make some really ~horrible~ _colourful_ solutions using these styles if you wish:
-
-<!-- RICH-CODEX
-extra_env:
- TERMINAL_WIDTH: 160
--->
-
-![`python examples/10_table_styles.py --help`](docs/images/style_tables.svg "Rich markup example")
-
-> See [`examples/10_table_styles.py`](examples/10_table_styles.py) for an example.
-
-See the [_Configuration options_](#configuration-options) section below for the full list of available options.
-
-## Groups and sorting
-
-`rich-click` gives functionality to list options and subcommands in groups, printed as separate panels.
-It accepts a list of options / commands which means you can also choose a custom sorting order.
-
-- For options (flags), set `click.rich_click.OPTION_GROUPS`
-- For subcommands (groups), set `click.rich_click.COMMAND_GROUPS`
-
-![`python examples/03_groups_sorting.py --help`](docs/images/command_groups.svg "Command groups")
-
-When grouping subcommands into more than one group (in above example: 'Main usage' and 'Configuration') you may find that the automatically calculated widths of different groups do not line up, due to varying option name lengths.
-
-You can avoid this by enforcing the alignment of the help text across groups by setting `click.rich_click.STYLE_COMMANDS_TABLE_COLUMN_WIDTH_RATIO = (1, 2)`. This results in a fixed ratio of 1:2 for the width of command name and help text column.
-
-> See [`examples/03_groups_sorting.py`](examples/03_groups_sorting.py) for a full example.
-
-### Options
-
-To group option flags into two sections with custom names, see the following example:
-
-```python
-click.rich_click.OPTION_GROUPS = {
- "mytool": [
- {
- "name": "Simple options",
- "options": ["--name", "--description", "--version", "--help"],
- },
- {
- "name": "Advanced options",
- "options": ["--force", "--yes", "--delete"],
- },
- ]
-}
-```
-
-If you omit `name` it will use `Commands` (can be configured with `OPTIONS_PANEL_TITLE`).
-
-### Commands
-
-Here we create two groups of commands for the base command of `mytool`.
-Any subcommands not listed will automatically be printed in a panel at the end labelled "Commands" as usual.
-
-```python
-click.rich_click.COMMAND_GROUPS = {
- "mytool": [
- {
- "name": "Commands for uploading",
- "commands": ["sync", "upload"],
- },
- {
- "name": "Download data",
- "commands": ["get", "fetch", "download"],
- },
- ]
-}
-```
-
-If you omit `name` it will use `Commands` (can be configured with `COMMANDS_PANEL_TITLE`).
-
-### Multiple commands
-
-If you use multiple nested subcommands, you can specify their commands using the top-level dictionary keys:
-
-```python
-click.rich_click.COMMAND_GROUPS = {
- "mytool": [{"commands": ["sync", "auth"]}],
- "mytool sync": [
- {
- "name": "Commands for uploading",
- "commands": ["sync", "upload"],
- },
- {
- "name": "Download data",
- "commands": ["get", "fetch", "download"],
- },
- ],
- "mytool auth":[{"commands": ["login", "logout"]}],
-}
-```
-
-### Table styling
-
-Typically you would style the option / command tables using the global config options.
-However, if you wish you may style tables on a per-group basis using the `table_styles` key:
-
-```python
-click.rich_click.COMMAND_GROUPS = {
- "mytool": [
- {
- "commands": ["sync", "auth"],
- "table_styles": {
- "show_lines": True,
- "row_styles": ["magenta", "yellow", "cyan", "green"],
- "border_style": "red",
- "box": "DOUBLE",
- },
- },
- ],
-}
-```
-
-The available keys are: `show_lines`, `leading`, `box`, `border_style`, `row_styles`, `pad_edge`, `padding`.
-
-## Configuration options
-
-Here is the full list of config options:
-
-```python
-# Default styles
-STYLE_OPTION = "bold cyan"
-STYLE_ARGUMENT = "bold cyan"
-STYLE_COMMAND = "bold cyan"
-STYLE_SWITCH = "bold green"
-STYLE_METAVAR = "bold yellow"
-STYLE_METAVAR_APPEND = "dim yellow"
-STYLE_METAVAR_SEPARATOR = "dim"
-STYLE_HEADER_TEXT = ""
-STYLE_EPILOG_TEXT = ""
-STYLE_FOOTER_TEXT = ""
-STYLE_USAGE = "yellow"
-STYLE_USAGE_COMMAND = "bold"
-STYLE_DEPRECATED = "red"
-STYLE_HELPTEXT_FIRST_LINE = ""
-STYLE_HELPTEXT = "dim"
-STYLE_OPTION_HELP = ""
-STYLE_OPTION_DEFAULT = "dim"
-STYLE_OPTION_ENVVAR = "dim yellow"
-STYLE_REQUIRED_SHORT = "red"
-STYLE_REQUIRED_LONG = "dim red"
-STYLE_OPTIONS_PANEL_BORDER = "dim"
-ALIGN_OPTIONS_PANEL = "left"
-STYLE_OPTIONS_TABLE_SHOW_LINES = False
-STYLE_OPTIONS_TABLE_LEADING = 0
-STYLE_OPTIONS_TABLE_PAD_EDGE = False
-STYLE_OPTIONS_TABLE_PADDING = (0, 1)
-STYLE_OPTIONS_TABLE_BOX = ""
-STYLE_OPTIONS_TABLE_ROW_STYLES = None
-STYLE_OPTIONS_TABLE_BORDER_STYLE = None
-STYLE_COMMANDS_PANEL_BORDER = "dim"
-ALIGN_COMMANDS_PANEL = "left"
-STYLE_COMMANDS_TABLE_SHOW_LINES = False
-STYLE_COMMANDS_TABLE_LEADING = 0
-STYLE_COMMANDS_TABLE_PAD_EDGE = False
-STYLE_COMMANDS_TABLE_PADDING = (0, 1)
-STYLE_COMMANDS_TABLE_BOX = ""
-STYLE_COMMANDS_TABLE_ROW_STYLES = None
-STYLE_COMMANDS_TABLE_BORDER_STYLE = None
-STYLE_COMMANDS_TABLE_COLUMN_WIDTH_RATIO = (None, None)
-STYLE_ERRORS_PANEL_BORDER = "red"
-ALIGN_ERRORS_PANEL = "left"
-STYLE_ERRORS_SUGGESTION = "dim"
-STYLE_ERRORS_SUGGESTION_COMMAND = "blue"
-STYLE_ABORTED = "red"
-WIDTH = int(getenv("TERMINAL_WIDTH")) if getenv("TERMINAL_WIDTH") else None
-MAX_WIDTH = int(getenv("TERMINAL_WIDTH")) if getenv("TERMINAL_WIDTH") else WIDTH
-COLOR_SYSTEM = "auto" # Set to None to disable colors
-FORCE_TERMINAL = True if getenv("GITHUB_ACTIONS") or getenv("FORCE_COLOR") or getenv("PY_COLORS") else None
-
-# Fixed strings
-HEADER_TEXT = None
-FOOTER_TEXT = None
-DEPRECATED_STRING = "(Deprecated) "
-DEFAULT_STRING = "[default: {}]"
-ENVVAR_STRING = "[env var: {}]"
-REQUIRED_SHORT_STRING = "*"
-REQUIRED_LONG_STRING = "[required]"
-RANGE_STRING = " [{}]"
-APPEND_METAVARS_HELP_STRING = "({})"
-ARGUMENTS_PANEL_TITLE = "Arguments"
-OPTIONS_PANEL_TITLE = "Options"
-COMMANDS_PANEL_TITLE = "Commands"
-ERRORS_PANEL_TITLE = "Error"
-ERRORS_SUGGESTION = None # Default: Try 'cmd -h' for help. Set to False to disable.
-ERRORS_EPILOGUE = None
-ABORTED_TEXT = "Aborted."
-
-# Behaviours
-SHOW_ARGUMENTS = False # Show positional arguments
-SHOW_METAVARS_COLUMN = True # Show a column with the option metavar (eg. INTEGER)
-APPEND_METAVARS_HELP = False # Append metavar (eg. [TEXT]) after the help text
-GROUP_ARGUMENTS_OPTIONS = False # Show arguments with options instead of in own panel
-OPTION_ENVVAR_FIRST = False # Show env vars before option help text instead of avert
-USE_MARKDOWN = False # Parse help strings as markdown
-USE_MARKDOWN_EMOJI = True # Parse emoji codes in markdown :smile:
-USE_RICH_MARKUP = False # Parse help strings for rich markup (eg. [red]my text[/])
-COMMAND_GROUPS = {} # Define sorted groups of panels to display subcommands
-OPTION_GROUPS = {} # Define sorted groups of panels to display options and arguments
-USE_CLICK_SHORT_HELP = False # Use click's default function to truncate help text
-```
-
-Full type annotations of these config options are availble in `src/rich_click/rich_click.py`.
-
-100% of these options are supported in the `RichHelpConfiguration` class, as well.
-
-## Contributing
-
-Contributions and suggestions for new features are welcome, as are bug reports!
-Please create a new [issue](https://github.com/ewels/rich-click/issues)
-or better still, dive right in with a pull-request.
-
-### Local setup
-
-1. Create a new venv with a python3.7+ interpreter using `python3 -m venv venv`
-2. Activate the venv with `source venv/bin/activate`
-3. Install our the package as an editable including all dev dependencies with `pip3 install -e ."[dev]"`
-4. Install pre-commit with `pre-commit install`
-
-#### Pre-commit
-
-Our pre-commit hooks contain the following hooks:
-
-- [Prettier](https://prettier.io/): formats our markdown and yaml files nicely.
-- no relative imports: prevents you from using relative imports.
-- [iSort](https://pycqa.github.io/isort/): will automatically sort the imports alphabetically.
-- [black](https://black.readthedocs.io/): will automatically format your code to be according to standardized python format.
-- [flake8](https://flake8.pycqa.org/): will do linting checks to make sure all your code is correctly styled and used.
-- [mypy](http://mypy-lang.org/): static type checker which verifies you are not using objects incorrectly.
-
-As mentioned, some of these tools automatically fix your code while other only highlight potential issues.
-Sometimes it will be enough to try to commit a second time and it will pass, while other times it may require
-manual changes to your code.
-
-In rare cases it may be difficult or undesirable to change to code to pass the linting rules.
-If this happens, it's ok to add a flake8 `# noqa` or mypy `# type: ignore` comment to skip that line.
-For details of how to do this, please see the [flake8 docs](https://flake8.pycqa.org/en/3.1.1/user/ignoring-errors.html#in-line-ignoring-errors)
-and [mypy docs](https://mypy.readthedocs.io/en/stable/common_issues.html#spurious-errors-and-locally-silencing-the-checker).
-
-## Credits
-
-This package was written by Phil Ewels ([@ewels](http://github.com/ewels/)),
-based on initial code by Will McGugan ([@willmcgugan](https://github.com/willmcgugan)).
-
-rich-click is co-maintained by [@dwreeves](http://github.com/dwreeves/).
-
-Furthermore, these contributors helped make the package what it is today:
-
-- [@BrutalSimplicity](https://github.com/BrutalSimplicity)
-- [@harens](http://github.com/harens/)
-- [@fridex](http://github.com/fridex/)
-- [@pawamoy](http://github.com/pawamoy/)
-- [@jorrick](http://github.com/harens/)
-
-See the full list of contributors [here](https://github.com/ewels/rich-click/graphs/contributors).