diff options
author | cyfraeviolae <cyfraeviolae> | 2024-04-03 03:10:44 -0400 |
---|---|---|
committer | cyfraeviolae <cyfraeviolae> | 2024-04-03 03:10:44 -0400 |
commit | 6d7ba58f880be618ade07f8ea080fe8c4bf8a896 (patch) | |
tree | b1c931051ffcebd2bd9d61d98d6233ffa289bbce /venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info | |
parent | 4f884c9abc32990b4061a1bb6997b4b37e58ea0b (diff) |
venv
Diffstat (limited to 'venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info')
7 files changed, 696 insertions, 0 deletions
diff --git a/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/INSTALLER b/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/LICENSE b/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/LICENSE new file mode 100644 index 0000000..5e5043a --- /dev/null +++ b/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Phil Ewels + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. 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 new file mode 100644 index 0000000..13b442a --- /dev/null +++ b/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/METADATA @@ -0,0 +1,633 @@ +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). diff --git a/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/RECORD b/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/RECORD new file mode 100644 index 0000000..21f7d70 --- /dev/null +++ b/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/RECORD @@ -0,0 +1,33 @@ +../../../bin/rich-click,sha256=Ylf4dSuF-CTNRA5QOP3FoAM8OW4y5XGSd0Y9BDTrTiE,241
+rich_click-1.7.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
+rich_click-1.7.4.dist-info/LICENSE,sha256=1GDP5mZhei-Gy3xm-QQfCodhHIsMHy8_Z0ogIq3B8q8,1067
+rich_click-1.7.4.dist-info/METADATA,sha256=NVjDu01aao6aWeN4HxyV1u0KBqD-EQWZY_IJwemX9dM,22311
+rich_click-1.7.4.dist-info/RECORD,,
+rich_click-1.7.4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
+rich_click-1.7.4.dist-info/entry_points.txt,sha256=q-JckrJEfhmzklT5lIpe1oTf68OaWJpAy1Mik7lGeXs,51
+rich_click-1.7.4.dist-info/top_level.txt,sha256=tKHPQk1z9Wd8Lu2HqxHQyF7oqOeQE5__SUDHezQZ4WE,11
+rich_click/__init__.py,sha256=b2LdKYQ5TKVe8jRlhY0oH2slk827XenGk0Z4x24ObHY,4575
+rich_click/__main__.py,sha256=nGOmcLig1hCvEGRnrWBXzbp4RmowDp36TVO5LVT__EA,416
+rich_click/__pycache__/__init__.cpython-311.pyc,,
+rich_click/__pycache__/__main__.cpython-311.pyc,,
+rich_click/__pycache__/_compat_click.cpython-311.pyc,,
+rich_click/__pycache__/cli.cpython-311.pyc,,
+rich_click/__pycache__/decorators.cpython-311.pyc,,
+rich_click/__pycache__/rich_click.cpython-311.pyc,,
+rich_click/__pycache__/rich_command.cpython-311.pyc,,
+rich_click/__pycache__/rich_context.cpython-311.pyc,,
+rich_click/__pycache__/rich_group.cpython-311.pyc,,
+rich_click/__pycache__/rich_help_configuration.cpython-311.pyc,,
+rich_click/__pycache__/rich_help_formatter.cpython-311.pyc,,
+rich_click/__pycache__/utils.cpython-311.pyc,,
+rich_click/_compat_click.py,sha256=A0A3O8lPE9R7B90m07gHp3qwPEPjhodJBgRL2VK_B-I,705
+rich_click/cli.py,sha256=Ep1wa8m4cg6XspDNDqW3VC4spz3NaxxDLvp4YJQB758,5094
+rich_click/decorators.py,sha256=wGVHtNhlq6knqGuFowzZNSxj8acMmnF5jt-ocOsOJtg,6488
+rich_click/py.typed,sha256=-s8PDvSA6pOS_VHOhT4coDxkugZXVFxvowOj62wvX-s,57
+rich_click/rich_click.py,sha256=MXsvJ0DZ4O4EgTVXLYS_hI7Hba5fT4Zy2ML6WOCx0so,35279
+rich_click/rich_command.py,sha256=xbDTcQeeUOuPWDiwaIe6wqOO64-cz5haFidqA4kC54Y,9893
+rich_click/rich_context.py,sha256=DB-ibN1oCQJmx6Fcz6tQIHB7vM_1WghgZsIVUFtcNv4,1553
+rich_click/rich_group.py,sha256=Gy0UIzrlN3oMl0XcMf6528wtgR1F7awqha2Tp_LH3Kk,235
+rich_click/rich_help_configuration.py,sha256=Js_4U4wnTfOVhxMhx723RTId_UwmEi_fYKw64jko0sY,7513
+rich_click/rich_help_formatter.py,sha256=7rU8Yp6yaXQA-v9vU4ySidF4yQ_U_TaCNVHztoWIwX8,3201
+rich_click/utils.py,sha256=Au2t91a5z31q_QssUmEpBQuG6dXoLT0fCV9MaC7UqPk,424
diff --git a/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/WHEEL b/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/WHEEL new file mode 100644 index 0000000..bab98d6 --- /dev/null +++ b/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.43.0) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/entry_points.txt b/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/entry_points.txt new file mode 100644 index 0000000..f0c78cb --- /dev/null +++ b/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/entry_points.txt @@ -0,0 +1,2 @@ +[console_scripts] +rich-click = rich_click.cli:main diff --git a/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/top_level.txt b/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/top_level.txt new file mode 100644 index 0000000..6398ee0 --- /dev/null +++ b/venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/top_level.txt @@ -0,0 +1 @@ +rich_click |