Upload folder using huggingface_hub (part 7)
Browse files- venv/Lib/site-packages/ruff-0.16.9.dist-info/INSTALLER +1 -0
- venv/Lib/site-packages/ruff-0.16.9.dist-info/METADATA +483 -0
- venv/Lib/site-packages/ruff-0.16.9.dist-info/RECORD +14 -0
- venv/Lib/site-packages/ruff-0.16.9.dist-info/REQUESTED +0 -0
- venv/Lib/site-packages/ruff-0.16.9.dist-info/WHEEL +4 -0
- venv/Lib/site-packages/ruff-0.16.9.dist-info/licenses/LICENSE +430 -0
- venv/Lib/site-packages/ruff-0.16.9.dist-info/sboms/ruff.cyclonedx.json +0 -0
- venv/Lib/site-packages/ruff/__init__.py +5 -0
- venv/Lib/site-packages/ruff/__main__.py +27 -0
- venv/Lib/site-packages/ruff/_find_ruff.py +104 -0
venv/Lib/site-packages/ruff-0.16.9.dist-info/INSTALLER
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
pip
|
venv/Lib/site-packages/ruff-0.16.9.dist-info/METADATA
ADDED
|
@@ -0,0 +1,483 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Metadata-Version: 2.4
|
| 2 |
+
Name: ruff
|
| 3 |
+
Version: 0.16.9
|
| 4 |
+
Classifier: Development Status :: 5 - Production/Stable
|
| 5 |
+
Classifier: Environment :: Console
|
| 6 |
+
Classifier: Intended Audience :: Developers
|
| 7 |
+
Classifier: Operating System :: OS Independent
|
| 8 |
+
Classifier: Programming Language :: Python
|
| 9 |
+
Classifier: Programming Language :: Python :: 3.7
|
| 10 |
+
Classifier: Programming Language :: Python :: 3.8
|
| 11 |
+
Classifier: Programming Language :: Python :: 3.9
|
| 12 |
+
Classifier: Programming Language :: Python :: 3.10
|
| 13 |
+
Classifier: Programming Language :: Python :: 3.11
|
| 14 |
+
Classifier: Programming Language :: Python :: 3.12
|
| 15 |
+
Classifier: Programming Language :: Python :: 3.13
|
| 16 |
+
Classifier: Programming Language :: Python :: 3.14
|
| 17 |
+
Classifier: Programming Language :: Python :: 3 :: Only
|
| 18 |
+
Classifier: Programming Language :: Rust
|
| 19 |
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
| 20 |
+
Classifier: Topic :: Software Development :: Quality Assurance
|
| 21 |
+
License-File: LICENSE
|
| 22 |
+
Summary: An extremely fast Python linter and code formatter, written in Rust.
|
| 23 |
+
Keywords: automation,flake8,pycodestyle,pyflakes,pylint,clippy
|
| 24 |
+
Home-Page: https://docs.astral.sh/ruff
|
| 25 |
+
Author-email: "Astral Software Inc." <hey@astral.sh>
|
| 26 |
+
License-Expression: MIT
|
| 27 |
+
Requires-Python: >=3.7
|
| 28 |
+
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
| 29 |
+
Project-URL: Changelog, https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md
|
| 30 |
+
Project-URL: Documentation, https://docs.astral.sh/ruff/
|
| 31 |
+
Project-URL: Repository, https://github.com/astral-sh/ruff
|
| 32 |
+
|
| 33 |
+
<!-- Begin section: Overview -->
|
| 34 |
+
|
| 35 |
+
# Ruff
|
| 36 |
+
|
| 37 |
+
[](https://github.com/astral-sh/ruff)
|
| 38 |
+
[](https://pypi.python.org/pypi/ruff)
|
| 39 |
+
[](https://github.com/astral-sh/ruff/blob/main/LICENSE)
|
| 40 |
+
[](https://pypi.python.org/pypi/ruff)
|
| 41 |
+
[](https://github.com/astral-sh/ruff/actions)
|
| 42 |
+
[](https://discord.com/invite/astral-sh)
|
| 43 |
+
|
| 44 |
+
[**Docs**](https://docs.astral.sh/ruff/) | [**Playground**](https://play.ruff.rs/)
|
| 45 |
+
|
| 46 |
+
An extremely fast Python linter and code formatter, written in Rust.
|
| 47 |
+
|
| 48 |
+
<p align="center">
|
| 49 |
+
<img alt="Shows a bar chart with benchmark results." src="https://user-images.githubusercontent.com/1309177/232603516-4fb4892d-585c-4b20-b810-3db9161831e4.svg">
|
| 50 |
+
</p>
|
| 51 |
+
|
| 52 |
+
<p align="center">
|
| 53 |
+
<i>Linting the CPython codebase from scratch.</i>
|
| 54 |
+
</p>
|
| 55 |
+
|
| 56 |
+
- ⚡️ 10-100x faster than existing linters (like Flake8) and formatters (like Black)
|
| 57 |
+
- 🐍 Installable via `pip`
|
| 58 |
+
- 🛠️ `pyproject.toml` support
|
| 59 |
+
- 🤝 Python 3.14 compatibility
|
| 60 |
+
- ⚖️ Drop-in parity with [Flake8](https://docs.astral.sh/ruff/faq/#how-does-ruffs-linter-compare-to-flake8), [isort](https://docs.astral.sh/ruff/faq/#how-does-ruffs-import-sorting-compare-to-isort), and [Black](https://docs.astral.sh/ruff/faq/#how-does-ruffs-formatter-compare-to-black)
|
| 61 |
+
- 📦 Built-in caching, to avoid re-analyzing unchanged files
|
| 62 |
+
- 🔧 Fix support, for automatic error correction (e.g., automatically remove unused imports)
|
| 63 |
+
- 📏 Over [900 built-in rules](https://docs.astral.sh/ruff/rules/), with native re-implementations
|
| 64 |
+
of popular Flake8 plugins, like flake8-bugbear
|
| 65 |
+
- ⌨️ First-party [editor integrations](https://docs.astral.sh/ruff/editors) for [VS Code](https://github.com/astral-sh/ruff-vscode) and [more](https://docs.astral.sh/ruff/editors/setup)
|
| 66 |
+
- 🌎 Monorepo-friendly, with [hierarchical and cascading configuration](https://docs.astral.sh/ruff/configuration/#config-file-discovery)
|
| 67 |
+
|
| 68 |
+
Ruff aims to be orders of magnitude faster than alternative tools while integrating more
|
| 69 |
+
functionality behind a single, common interface.
|
| 70 |
+
|
| 71 |
+
Ruff can be used to replace [Flake8](https://pypi.org/project/flake8/) (plus dozens of plugins),
|
| 72 |
+
[Black](https://github.com/psf/black), [isort](https://pypi.org/project/isort/),
|
| 73 |
+
[pydocstyle](https://pypi.org/project/pydocstyle/), [pyupgrade](https://pypi.org/project/pyupgrade/),
|
| 74 |
+
[autoflake](https://pypi.org/project/autoflake/), and more, all while executing tens or hundreds of
|
| 75 |
+
times faster than any individual tool.
|
| 76 |
+
|
| 77 |
+
Ruff is extremely actively developed and used in major open-source projects like:
|
| 78 |
+
|
| 79 |
+
- [Apache Airflow](https://github.com/apache/airflow)
|
| 80 |
+
- [Apache Superset](https://github.com/apache/superset)
|
| 81 |
+
- [FastAPI](https://github.com/tiangolo/fastapi)
|
| 82 |
+
- [Hugging Face](https://github.com/huggingface/transformers)
|
| 83 |
+
- [Pandas](https://github.com/pandas-dev/pandas)
|
| 84 |
+
- [SciPy](https://github.com/scipy/scipy)
|
| 85 |
+
|
| 86 |
+
Ruff is backed by [Astral](https://astral.sh), the creators of
|
| 87 |
+
[uv](https://github.com/astral-sh/uv) and [ty](https://github.com/astral-sh/ty).
|
| 88 |
+
|
| 89 |
+
Read the [launch
|
| 90 |
+
post](https://astral.sh/blog/announcing-astral-the-company-behind-ruff), or the
|
| 91 |
+
original [project
|
| 92 |
+
announcement](https://notes.crmarsh.com/python-tooling-could-be-much-much-faster).
|
| 93 |
+
|
| 94 |
+
## Testimonials
|
| 95 |
+
|
| 96 |
+
[**Sebastián Ramírez**](https://twitter.com/tiangolo/status/1591912354882764802), creator
|
| 97 |
+
of [FastAPI](https://github.com/tiangolo/fastapi):
|
| 98 |
+
|
| 99 |
+
> Ruff is so fast that sometimes I add an intentional bug in the code just to confirm it's actually
|
| 100 |
+
> running and checking the code.
|
| 101 |
+
|
| 102 |
+
[**Nick Schrock**](https://twitter.com/schrockn/status/1612615862904827904), founder of [Elementl](https://www.elementl.com/),
|
| 103 |
+
co-creator of [GraphQL](https://graphql.org/):
|
| 104 |
+
|
| 105 |
+
> Why is Ruff a gamechanger? Primarily because it is nearly 1000x faster. Literally. Not a typo. On
|
| 106 |
+
> our largest module (dagster itself, 250k LOC) pylint takes about 2.5 minutes, parallelized across 4
|
| 107 |
+
> cores on my M1. Running ruff against our _entire_ codebase takes .4 seconds.
|
| 108 |
+
|
| 109 |
+
[**Bryan Van de Ven**](https://github.com/bokeh/bokeh/pull/12605), co-creator
|
| 110 |
+
of [Bokeh](https://github.com/bokeh/bokeh/), original author
|
| 111 |
+
of [Conda](https://docs.conda.io/en/latest/):
|
| 112 |
+
|
| 113 |
+
> Ruff is ~150-200x faster than flake8 on my machine, scanning the whole repo takes ~0.2s instead of
|
| 114 |
+
> ~20s. This is an enormous quality of life improvement for local dev. It's fast enough that I added
|
| 115 |
+
> it as an actual commit hook, which is terrific.
|
| 116 |
+
|
| 117 |
+
[**Timothy Crosley**](https://twitter.com/timothycrosley/status/1606420868514877440),
|
| 118 |
+
creator of [isort](https://github.com/PyCQA/isort):
|
| 119 |
+
|
| 120 |
+
> Just switched my first project to Ruff. Only one downside so far: it's so fast I couldn't believe
|
| 121 |
+
> it was working till I intentionally introduced some errors.
|
| 122 |
+
|
| 123 |
+
[**Tim Abbott**](https://github.com/zulip/zulip/pull/23431#issuecomment-1302557034), lead developer of [Zulip](https://github.com/zulip/zulip) (also [here](https://github.com/astral-sh/ruff/issues/465#issuecomment-1317400028)):
|
| 124 |
+
|
| 125 |
+
> This is just ridiculously fast... `ruff` is amazing.
|
| 126 |
+
|
| 127 |
+
<!-- End section: Overview -->
|
| 128 |
+
|
| 129 |
+
## Table of Contents
|
| 130 |
+
|
| 131 |
+
For more, see the [documentation](https://docs.astral.sh/ruff/).
|
| 132 |
+
|
| 133 |
+
1. [Getting Started](#getting-started)
|
| 134 |
+
1. [Configuration](#configuration)
|
| 135 |
+
1. [Rules](#rules)
|
| 136 |
+
1. [Contributing](#contributing)
|
| 137 |
+
1. [Support](#support)
|
| 138 |
+
1. [Acknowledgements](#acknowledgements)
|
| 139 |
+
1. [Show Your Support](#show-your-support)
|
| 140 |
+
1. [License](#license)
|
| 141 |
+
|
| 142 |
+
## Getting Started<a id="getting-started"></a>
|
| 143 |
+
|
| 144 |
+
For more, see the [documentation](https://docs.astral.sh/ruff/).
|
| 145 |
+
|
| 146 |
+
### Installation
|
| 147 |
+
|
| 148 |
+
Ruff is available as [`ruff`](https://pypi.org/project/ruff/) on PyPI.
|
| 149 |
+
|
| 150 |
+
Invoke Ruff directly with [`uvx`](https://docs.astral.sh/uv/):
|
| 151 |
+
|
| 152 |
+
```shell
|
| 153 |
+
uvx ruff@0.16.9 check # Lint all files in the current directory.
|
| 154 |
+
uvx ruff@0.16.9 format # Format all files in the current directory.
|
| 155 |
+
```
|
| 156 |
+
|
| 157 |
+
Or install Ruff with `uv` (recommended), `pip`, or `pipx`:
|
| 158 |
+
|
| 159 |
+
```shell
|
| 160 |
+
# With uv.
|
| 161 |
+
uv tool install ruff@latest # Install Ruff globally.
|
| 162 |
+
uv add --dev ruff # Or add Ruff to your project.
|
| 163 |
+
|
| 164 |
+
# With pip.
|
| 165 |
+
pip install ruff
|
| 166 |
+
|
| 167 |
+
# With pipx.
|
| 168 |
+
pipx install ruff
|
| 169 |
+
```
|
| 170 |
+
|
| 171 |
+
Starting with version `0.5.0`, Ruff can be installed with our standalone installers:
|
| 172 |
+
|
| 173 |
+
```shell
|
| 174 |
+
# On macOS and Linux.
|
| 175 |
+
curl -LsSf https://astral.sh/ruff/install.sh | sh
|
| 176 |
+
|
| 177 |
+
# On Windows.
|
| 178 |
+
powershell -c "irm https://astral.sh/ruff/install.ps1 | iex"
|
| 179 |
+
|
| 180 |
+
# For a specific version.
|
| 181 |
+
curl -LsSf https://astral.sh/ruff/0.16.9/install.sh | sh
|
| 182 |
+
powershell -c "irm https://astral.sh/ruff/0.16.9/install.ps1 | iex"
|
| 183 |
+
```
|
| 184 |
+
|
| 185 |
+
You can also install Ruff via [Homebrew](https://formulae.brew.sh/formula/ruff), [Conda](https://anaconda.org/conda-forge/ruff),
|
| 186 |
+
and with [a variety of other package managers](https://docs.astral.sh/ruff/installation/).
|
| 187 |
+
|
| 188 |
+
### Usage
|
| 189 |
+
|
| 190 |
+
To run Ruff as a linter, try any of the following:
|
| 191 |
+
|
| 192 |
+
```shell
|
| 193 |
+
ruff check # Lint all files in the current directory (and any subdirectories).
|
| 194 |
+
ruff check path/to/code/ # Lint all files in `/path/to/code` (and any subdirectories).
|
| 195 |
+
ruff check path/to/code/*.py # Lint all `.py` files in `/path/to/code`.
|
| 196 |
+
ruff check path/to/code/to/file.py # Lint `file.py`.
|
| 197 |
+
ruff check @arguments.txt # Lint using an input file, treating its contents as newline-delimited command-line arguments.
|
| 198 |
+
```
|
| 199 |
+
|
| 200 |
+
Or, to run Ruff as a formatter:
|
| 201 |
+
|
| 202 |
+
```shell
|
| 203 |
+
ruff format # Format all files in the current directory (and any subdirectories).
|
| 204 |
+
ruff format path/to/code/ # Format all files in `/path/to/code` (and any subdirectories).
|
| 205 |
+
ruff format path/to/code/*.py # Format all `.py` files in `/path/to/code`.
|
| 206 |
+
ruff format path/to/code/to/file.py # Format `file.py`.
|
| 207 |
+
ruff format @arguments.txt # Format using an input file, treating its contents as newline-delimited command-line arguments.
|
| 208 |
+
```
|
| 209 |
+
|
| 210 |
+
Ruff can also be used as a [pre-commit](https://pre-commit.com/) hook via [`ruff-pre-commit`](https://github.com/astral-sh/ruff-pre-commit):
|
| 211 |
+
|
| 212 |
+
```yaml
|
| 213 |
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
| 214 |
+
# Ruff version.
|
| 215 |
+
rev: v0.16.9
|
| 216 |
+
hooks:
|
| 217 |
+
# Run the linter.
|
| 218 |
+
- id: ruff-check
|
| 219 |
+
args: [ --fix ]
|
| 220 |
+
# Run the formatter.
|
| 221 |
+
- id: ruff-format
|
| 222 |
+
```
|
| 223 |
+
|
| 224 |
+
Ruff can also be used as a [VS Code extension](https://github.com/astral-sh/ruff-vscode) or with [various other editors](https://docs.astral.sh/ruff/editors/setup).
|
| 225 |
+
|
| 226 |
+
Ruff can also be used as a [GitHub Action](https://github.com/features/actions) via
|
| 227 |
+
[`ruff-action`](https://github.com/astral-sh/ruff-action):
|
| 228 |
+
|
| 229 |
+
```yaml
|
| 230 |
+
name: Ruff
|
| 231 |
+
on: [ push, pull_request ]
|
| 232 |
+
jobs:
|
| 233 |
+
ruff:
|
| 234 |
+
runs-on: ubuntu-latest
|
| 235 |
+
steps:
|
| 236 |
+
- uses: actions/checkout@v4
|
| 237 |
+
- uses: astral-sh/ruff-action@v3
|
| 238 |
+
```
|
| 239 |
+
|
| 240 |
+
### Configuration<a id="configuration"></a>
|
| 241 |
+
|
| 242 |
+
Ruff can be configured through a `pyproject.toml`, `ruff.toml`, or `.ruff.toml` file (see:
|
| 243 |
+
[_Configuration_](https://docs.astral.sh/ruff/configuration/), or [_Settings_](https://docs.astral.sh/ruff/settings/)
|
| 244 |
+
for a complete list of all configuration options).
|
| 245 |
+
|
| 246 |
+
For the complete list of enabled rules, see [_Default Rules_](https://docs.astral.sh/ruff/default-rules/).
|
| 247 |
+
|
| 248 |
+
If left unspecified, Ruff's default configuration is equivalent to the following `ruff.toml` file:
|
| 249 |
+
|
| 250 |
+
```toml
|
| 251 |
+
# Exclude a variety of commonly ignored directories.
|
| 252 |
+
exclude = [
|
| 253 |
+
".bzr",
|
| 254 |
+
".direnv",
|
| 255 |
+
".eggs",
|
| 256 |
+
".git",
|
| 257 |
+
".git-rewrite",
|
| 258 |
+
".hg",
|
| 259 |
+
".ipynb_checkpoints",
|
| 260 |
+
".mypy_cache",
|
| 261 |
+
".nox",
|
| 262 |
+
".pants.d",
|
| 263 |
+
".pyenv",
|
| 264 |
+
".pytest_cache",
|
| 265 |
+
".pytype",
|
| 266 |
+
".ruff_cache",
|
| 267 |
+
".svn",
|
| 268 |
+
".tox",
|
| 269 |
+
".venv",
|
| 270 |
+
".vscode",
|
| 271 |
+
"__pypackages__",
|
| 272 |
+
"_build",
|
| 273 |
+
"buck-out",
|
| 274 |
+
"build",
|
| 275 |
+
"dist",
|
| 276 |
+
"node_modules",
|
| 277 |
+
"site-packages",
|
| 278 |
+
"venv",
|
| 279 |
+
]
|
| 280 |
+
|
| 281 |
+
# Same as Black.
|
| 282 |
+
line-length = 88
|
| 283 |
+
indent-width = 4
|
| 284 |
+
|
| 285 |
+
# Assume Python 3.10
|
| 286 |
+
target-version = "py310"
|
| 287 |
+
|
| 288 |
+
[lint]
|
| 289 |
+
# select = [...] # See the Default Rules page for the full listing.
|
| 290 |
+
ignore = []
|
| 291 |
+
|
| 292 |
+
# Allow fix for all enabled rules (when `--fix`) is provided.
|
| 293 |
+
fixable = ["ALL"]
|
| 294 |
+
unfixable = []
|
| 295 |
+
|
| 296 |
+
# Allow unused variables when underscore-prefixed.
|
| 297 |
+
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
|
| 298 |
+
|
| 299 |
+
[format]
|
| 300 |
+
# Like Black, use double quotes for strings.
|
| 301 |
+
quote-style = "double"
|
| 302 |
+
|
| 303 |
+
# Like Black, indent with spaces, rather than tabs.
|
| 304 |
+
indent-style = "space"
|
| 305 |
+
|
| 306 |
+
# Like Black, respect magic trailing commas.
|
| 307 |
+
skip-magic-trailing-comma = false
|
| 308 |
+
|
| 309 |
+
# Like Black, automatically detect the appropriate line ending.
|
| 310 |
+
line-ending = "auto"
|
| 311 |
+
```
|
| 312 |
+
|
| 313 |
+
Note that, in a `pyproject.toml`, each section header should be prefixed with `tool.ruff`. For
|
| 314 |
+
example, `[lint]` should be replaced with `[tool.ruff.lint]`.
|
| 315 |
+
|
| 316 |
+
Some configuration options can be provided via dedicated command-line arguments, such as those
|
| 317 |
+
related to rule enablement and disablement, file discovery, and logging level:
|
| 318 |
+
|
| 319 |
+
```shell
|
| 320 |
+
ruff check --select F401 --select F403 --quiet
|
| 321 |
+
```
|
| 322 |
+
|
| 323 |
+
The remaining configuration options can be provided through a catch-all `--config` argument:
|
| 324 |
+
|
| 325 |
+
```shell
|
| 326 |
+
ruff check --config "lint.per-file-ignores = {'some_file.py' = ['F841']}"
|
| 327 |
+
```
|
| 328 |
+
|
| 329 |
+
To opt in to the latest lint rules, formatter style changes, interface updates, and more, enable
|
| 330 |
+
[preview mode](https://docs.astral.sh/ruff/preview/) by setting `preview = true` in your configuration
|
| 331 |
+
file or passing `--preview` on the command line. Preview mode enables a collection of unstable
|
| 332 |
+
features that may change prior to stabilization.
|
| 333 |
+
|
| 334 |
+
See `ruff help` for more on Ruff's top-level commands, or `ruff help check` and `ruff help format`
|
| 335 |
+
for more on the linting and formatting commands, respectively.
|
| 336 |
+
|
| 337 |
+
## Rules<a id="rules"></a>
|
| 338 |
+
|
| 339 |
+
<!-- Begin section: Rules -->
|
| 340 |
+
|
| 341 |
+
**Ruff supports over 900 lint rules**, many of which are inspired by popular tools like Flake8,
|
| 342 |
+
isort, pyupgrade, and others. Regardless of the rule's origin, Ruff re-implements every rule in
|
| 343 |
+
Rust as a first-party feature.
|
| 344 |
+
|
| 345 |
+
By default, Ruff enables rules from the `F`, `E`, `B`, `UP`, and `RUF` categories,
|
| 346 |
+
as well as many more, omitting any stylistic rules that overlap with the use of a formatter, like
|
| 347 |
+
`ruff format` or [Black](https://github.com/psf/black).
|
| 348 |
+
|
| 349 |
+
If you're just getting started with Ruff, **the default rule set is a great place to start**: it
|
| 350 |
+
catches a wide variety of common errors (like unused imports) with zero configuration. See
|
| 351 |
+
[_Default Rules_](https://docs.astral.sh/ruff/default-rules/) for the complete list.
|
| 352 |
+
|
| 353 |
+
<!-- End section: Rules -->
|
| 354 |
+
|
| 355 |
+
Beyond the defaults, Ruff re-implements some of the most popular Flake8 plugins and related code
|
| 356 |
+
quality tools, including:
|
| 357 |
+
|
| 358 |
+
- [autoflake](https://pypi.org/project/autoflake/)
|
| 359 |
+
- [eradicate](https://pypi.org/project/eradicate/)
|
| 360 |
+
- [flake8-2020](https://pypi.org/project/flake8-2020/)
|
| 361 |
+
- [flake8-annotations](https://pypi.org/project/flake8-annotations/)
|
| 362 |
+
- [flake8-async](https://pypi.org/project/flake8-async)
|
| 363 |
+
- [flake8-bandit](https://pypi.org/project/flake8-bandit/) ([#1646](https://github.com/astral-sh/ruff/issues/1646))
|
| 364 |
+
- [flake8-blind-except](https://pypi.org/project/flake8-blind-except/)
|
| 365 |
+
- [flake8-boolean-trap](https://pypi.org/project/flake8-boolean-trap/)
|
| 366 |
+
- [flake8-bugbear](https://pypi.org/project/flake8-bugbear/)
|
| 367 |
+
- [flake8-builtins](https://pypi.org/project/flake8-builtins/)
|
| 368 |
+
- [flake8-commas](https://pypi.org/project/flake8-commas/)
|
| 369 |
+
- [flake8-comprehensions](https://pypi.org/project/flake8-comprehensions/)
|
| 370 |
+
- [flake8-copyright](https://pypi.org/project/flake8-copyright/)
|
| 371 |
+
- [flake8-datetimez](https://pypi.org/project/flake8-datetimez/)
|
| 372 |
+
- [flake8-debugger](https://pypi.org/project/flake8-debugger/)
|
| 373 |
+
- [flake8-django](https://pypi.org/project/flake8-django/)
|
| 374 |
+
- [flake8-docstrings](https://pypi.org/project/flake8-docstrings/)
|
| 375 |
+
- [flake8-eradicate](https://pypi.org/project/flake8-eradicate/)
|
| 376 |
+
- [flake8-errmsg](https://pypi.org/project/flake8-errmsg/)
|
| 377 |
+
- [flake8-executable](https://pypi.org/project/flake8-executable/)
|
| 378 |
+
- [flake8-future-annotations](https://pypi.org/project/flake8-future-annotations/)
|
| 379 |
+
- [flake8-gettext](https://pypi.org/project/flake8-gettext/)
|
| 380 |
+
- [flake8-implicit-str-concat](https://pypi.org/project/flake8-implicit-str-concat/)
|
| 381 |
+
- [flake8-import-conventions](https://github.com/joaopalmeiro/flake8-import-conventions)
|
| 382 |
+
- [flake8-logging](https://pypi.org/project/flake8-logging/)
|
| 383 |
+
- [flake8-logging-format](https://pypi.org/project/flake8-logging-format/)
|
| 384 |
+
- [flake8-no-pep420](https://pypi.org/project/flake8-no-pep420)
|
| 385 |
+
- [flake8-pie](https://pypi.org/project/flake8-pie/)
|
| 386 |
+
- [flake8-print](https://pypi.org/project/flake8-print/)
|
| 387 |
+
- [flake8-pyi](https://pypi.org/project/flake8-pyi/)
|
| 388 |
+
- [flake8-pytest-style](https://pypi.org/project/flake8-pytest-style/)
|
| 389 |
+
- [flake8-quotes](https://pypi.org/project/flake8-quotes/)
|
| 390 |
+
- [flake8-raise](https://pypi.org/project/flake8-raise/)
|
| 391 |
+
- [flake8-return](https://pypi.org/project/flake8-return/)
|
| 392 |
+
- [flake8-self](https://pypi.org/project/flake8-self/)
|
| 393 |
+
- [flake8-simplify](https://pypi.org/project/flake8-simplify/)
|
| 394 |
+
- [flake8-slots](https://pypi.org/project/flake8-slots/)
|
| 395 |
+
- [flake8-super](https://pypi.org/project/flake8-super/)
|
| 396 |
+
- [flake8-tidy-imports](https://pypi.org/project/flake8-tidy-imports/)
|
| 397 |
+
- [flake8-todos](https://pypi.org/project/flake8-todos/)
|
| 398 |
+
- [flake8-type-checking](https://pypi.org/project/flake8-type-checking/)
|
| 399 |
+
- [flake8-use-pathlib](https://pypi.org/project/flake8-use-pathlib/)
|
| 400 |
+
- [flynt](https://pypi.org/project/flynt/) ([#2102](https://github.com/astral-sh/ruff/issues/2102))
|
| 401 |
+
- [isort](https://pypi.org/project/isort/)
|
| 402 |
+
- [mccabe](https://pypi.org/project/mccabe/)
|
| 403 |
+
- [pandas-vet](https://pypi.org/project/pandas-vet/)
|
| 404 |
+
- [pep8-naming](https://pypi.org/project/pep8-naming/)
|
| 405 |
+
- [pydocstyle](https://pypi.org/project/pydocstyle/)
|
| 406 |
+
- [pygrep-hooks](https://github.com/pre-commit/pygrep-hooks)
|
| 407 |
+
- [pylint-airflow](https://pypi.org/project/pylint-airflow/)
|
| 408 |
+
- [pyupgrade](https://pypi.org/project/pyupgrade/)
|
| 409 |
+
- [tryceratops](https://pypi.org/project/tryceratops/)
|
| 410 |
+
- [yesqa](https://pypi.org/project/yesqa/)
|
| 411 |
+
|
| 412 |
+
For a complete enumeration of the supported rules, see [_Rules_](https://docs.astral.sh/ruff/rules/).
|
| 413 |
+
|
| 414 |
+
## Contributing<a id="contributing"></a>
|
| 415 |
+
|
| 416 |
+
Contributions are welcome and highly appreciated. To get started, check out the
|
| 417 |
+
[**contributing guidelines**](https://docs.astral.sh/ruff/contributing/).
|
| 418 |
+
|
| 419 |
+
You can also join us on [**Discord**](https://discord.com/invite/astral-sh).
|
| 420 |
+
|
| 421 |
+
## Support<a id="support"></a>
|
| 422 |
+
|
| 423 |
+
Having trouble? Check out the existing issues on [**GitHub**](https://github.com/astral-sh/ruff/issues),
|
| 424 |
+
or feel free to [**open a new one**](https://github.com/astral-sh/ruff/issues/new).
|
| 425 |
+
|
| 426 |
+
You can also ask for help on [**Discord**](https://discord.com/invite/astral-sh).
|
| 427 |
+
|
| 428 |
+
## Acknowledgements<a id="acknowledgements"></a>
|
| 429 |
+
|
| 430 |
+
Ruff's linter draws on both the APIs and implementation details of many other
|
| 431 |
+
tools in the Python ecosystem, especially [Flake8](https://github.com/PyCQA/flake8), [Pyflakes](https://github.com/PyCQA/pyflakes),
|
| 432 |
+
[pycodestyle](https://github.com/PyCQA/pycodestyle), [pydocstyle](https://github.com/PyCQA/pydocstyle),
|
| 433 |
+
[pyupgrade](https://github.com/asottile/pyupgrade), and [isort](https://github.com/PyCQA/isort).
|
| 434 |
+
|
| 435 |
+
In some cases, Ruff includes a "direct" Rust port of the corresponding tool.
|
| 436 |
+
We're grateful to the maintainers of these tools for their work, and for all
|
| 437 |
+
the value they've provided to the Python community.
|
| 438 |
+
|
| 439 |
+
Ruff's formatter is built on a fork of Rome's [`rome_formatter`](https://github.com/rome/tools/tree/main/crates/rome_formatter),
|
| 440 |
+
and again draws on both API and implementation details from [Rome](https://github.com/rome/tools),
|
| 441 |
+
[Prettier](https://github.com/prettier/prettier), and [Black](https://github.com/psf/black).
|
| 442 |
+
|
| 443 |
+
Ruff's import resolver is based on the import resolution algorithm from [Pyright](https://github.com/microsoft/pyright).
|
| 444 |
+
|
| 445 |
+
Ruff is also influenced by a number of tools outside the Python ecosystem, like
|
| 446 |
+
[Clippy](https://github.com/rust-lang/rust-clippy) and [ESLint](https://github.com/eslint/eslint).
|
| 447 |
+
|
| 448 |
+
Ruff is the beneficiary of a large number of [contributors](https://github.com/astral-sh/ruff/graphs/contributors).
|
| 449 |
+
|
| 450 |
+
Ruff is released under the MIT license.
|
| 451 |
+
|
| 452 |
+
## Show Your Support
|
| 453 |
+
|
| 454 |
+
If you're using Ruff, consider adding the Ruff badge to your project's `README.md`:
|
| 455 |
+
|
| 456 |
+
```md
|
| 457 |
+
[](https://github.com/astral-sh/ruff)
|
| 458 |
+
```
|
| 459 |
+
|
| 460 |
+
...or `README.rst`:
|
| 461 |
+
|
| 462 |
+
```rst
|
| 463 |
+
.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
|
| 464 |
+
:target: https://github.com/astral-sh/ruff
|
| 465 |
+
:alt: Ruff
|
| 466 |
+
```
|
| 467 |
+
|
| 468 |
+
...or, as HTML:
|
| 469 |
+
|
| 470 |
+
```html
|
| 471 |
+
<a href="https://github.com/astral-sh/ruff"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff" style="max-width:100%;"></a>
|
| 472 |
+
```
|
| 473 |
+
|
| 474 |
+
## License<a id="license"></a>
|
| 475 |
+
|
| 476 |
+
This repository is licensed under the [MIT License](https://github.com/astral-sh/ruff/blob/main/LICENSE)
|
| 477 |
+
|
| 478 |
+
<div align="center">
|
| 479 |
+
<a target="_blank" href="https://astral.sh" style="background:none">
|
| 480 |
+
<img src="https://raw.githubusercontent.com/astral-sh/ruff/main/assets/svg/Astral.svg" alt="Made by Astral">
|
| 481 |
+
</a>
|
| 482 |
+
</div>
|
| 483 |
+
|
venv/Lib/site-packages/ruff-0.16.9.dist-info/RECORD
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
../../Scripts/ruff.exe,sha256=h_EC-aS6CHz6qOyk9b4zUmPW3fQSAfn9qWy9Juo7dGc,26428928
|
| 2 |
+
ruff-0.16.9.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
| 3 |
+
ruff-0.16.9.dist-info/METADATA,sha256=lPWPAsbbHH8KWB10XDyGD_flI5GlupIkaV-kyioMlJs,21205
|
| 4 |
+
ruff-0.16.9.dist-info/RECORD,,
|
| 5 |
+
ruff-0.16.9.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
| 6 |
+
ruff-0.16.9.dist-info/WHEEL,sha256=2zDlIYIdD4m4N3p5DVEG3iJhGLdhsBQgdH-FqVkAur8,94
|
| 7 |
+
ruff-0.16.9.dist-info/licenses/LICENSE,sha256=JZfYVBIrd93HGXFWTKI1CjdghXXOMkrcVlCisgUcjxg,20731
|
| 8 |
+
ruff-0.16.9.dist-info/sboms/ruff.cyclonedx.json,sha256=WV8LxcydE9b4Jgw_2qmY6mgY7ejtyryRhVp0Bmx63rs,417420
|
| 9 |
+
ruff/__init__.py,sha256=66in9yDSCiYhREjuxLSvAc_g5xf2p3PYcEAeBswQhC0,103
|
| 10 |
+
ruff/__main__.py,sha256=8o3628yJs3FaKnMjNfPmlbWxYJcI155LOprC-A5Vd00,547
|
| 11 |
+
ruff/__pycache__/__init__.cpython-314.pyc,,
|
| 12 |
+
ruff/__pycache__/__main__.cpython-314.pyc,,
|
| 13 |
+
ruff/__pycache__/_find_ruff.cpython-314.pyc,,
|
| 14 |
+
ruff/_find_ruff.py,sha256=JNxoKJXkqiSkmVrTCJ_sv4Ol0SwMBcozEe3W67bb0io,3250
|
venv/Lib/site-packages/ruff-0.16.9.dist-info/REQUESTED
ADDED
|
File without changes
|
venv/Lib/site-packages/ruff-0.16.9.dist-info/WHEEL
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Wheel-Version: 1.0
|
| 2 |
+
Generator: maturin (1.14.1)
|
| 3 |
+
Root-Is-Purelib: false
|
| 4 |
+
Tag: py3-none-win_amd64
|
venv/Lib/site-packages/ruff-0.16.9.dist-info/licenses/LICENSE
ADDED
|
@@ -0,0 +1,430 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2022 Charles Marsh
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 6 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 7 |
+
in the Software without restriction, including without limitation the rights
|
| 8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 9 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 10 |
+
furnished to do so, subject to the following conditions:
|
| 11 |
+
|
| 12 |
+
The above copyright notice and this permission notice shall be included in all
|
| 13 |
+
copies or substantial portions of the Software.
|
| 14 |
+
|
| 15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 21 |
+
SOFTWARE.
|
| 22 |
+
|
| 23 |
+
end of terms and conditions
|
| 24 |
+
|
| 25 |
+
The externally maintained libraries from which parts of the Software is derived
|
| 26 |
+
are:
|
| 27 |
+
|
| 28 |
+
- autoflake, licensed as follows:
|
| 29 |
+
"""
|
| 30 |
+
Copyright (C) 2012-2018 Steven Myint
|
| 31 |
+
|
| 32 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
| 33 |
+
this software and associated documentation files (the "Software"), to deal in
|
| 34 |
+
the Software without restriction, including without limitation the rights to
|
| 35 |
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
| 36 |
+
of the Software, and to permit persons to whom the Software is furnished to do
|
| 37 |
+
so, subject to the following conditions:
|
| 38 |
+
|
| 39 |
+
The above copyright notice and this permission notice shall be included in all
|
| 40 |
+
copies or substantial portions of the Software.
|
| 41 |
+
|
| 42 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 43 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 44 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 45 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 46 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 47 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 48 |
+
SOFTWARE.
|
| 49 |
+
"""
|
| 50 |
+
|
| 51 |
+
- autotyping, licensed as follows:
|
| 52 |
+
"""
|
| 53 |
+
MIT License
|
| 54 |
+
|
| 55 |
+
Copyright (c) 2023 Jelle Zijlstra
|
| 56 |
+
|
| 57 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 58 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 59 |
+
in the Software without restriction, including without limitation the rights
|
| 60 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 61 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 62 |
+
furnished to do so, subject to the following conditions:
|
| 63 |
+
|
| 64 |
+
The above copyright notice and this permission notice shall be included in all
|
| 65 |
+
copies or substantial portions of the Software.
|
| 66 |
+
|
| 67 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 68 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 69 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 70 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 71 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 72 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 73 |
+
SOFTWARE.
|
| 74 |
+
"""
|
| 75 |
+
|
| 76 |
+
- Flake8, licensed as follows:
|
| 77 |
+
"""
|
| 78 |
+
== Flake8 License (MIT) ==
|
| 79 |
+
|
| 80 |
+
Copyright (C) 2011-2013 Tarek Ziade <tarek@ziade.org>
|
| 81 |
+
Copyright (C) 2012-2016 Ian Cordasco <graffatcolmingov@gmail.com>
|
| 82 |
+
|
| 83 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
| 84 |
+
this software and associated documentation files (the "Software"), to deal in
|
| 85 |
+
the Software without restriction, including without limitation the rights to
|
| 86 |
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
| 87 |
+
of the Software, and to permit persons to whom the Software is furnished to do
|
| 88 |
+
so, subject to the following conditions:
|
| 89 |
+
|
| 90 |
+
The above copyright notice and this permission notice shall be included in all
|
| 91 |
+
copies or substantial portions of the Software.
|
| 92 |
+
|
| 93 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 94 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 95 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 96 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 97 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 98 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 99 |
+
SOFTWARE.
|
| 100 |
+
"""
|
| 101 |
+
|
| 102 |
+
- flake8-eradicate, licensed as follows:
|
| 103 |
+
"""
|
| 104 |
+
MIT License
|
| 105 |
+
|
| 106 |
+
Copyright (c) 2018 Nikita Sobolev
|
| 107 |
+
|
| 108 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 109 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 110 |
+
in the Software without restriction, including without limitation the rights
|
| 111 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 112 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 113 |
+
furnished to do so, subject to the following conditions:
|
| 114 |
+
|
| 115 |
+
The above copyright notice and this permission notice shall be included in all
|
| 116 |
+
copies or substantial portions of the Software.
|
| 117 |
+
|
| 118 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 119 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 120 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 121 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 122 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 123 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 124 |
+
SOFTWARE.
|
| 125 |
+
"""
|
| 126 |
+
|
| 127 |
+
- flake8-pyi, licensed as follows:
|
| 128 |
+
"""
|
| 129 |
+
The MIT License (MIT)
|
| 130 |
+
|
| 131 |
+
Copyright (c) 2016 Łukasz Langa
|
| 132 |
+
|
| 133 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 134 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 135 |
+
in the Software without restriction, including without limitation the rights
|
| 136 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 137 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 138 |
+
furnished to do so, subject to the following conditions:
|
| 139 |
+
|
| 140 |
+
The above copyright notice and this permission notice shall be included in all
|
| 141 |
+
copies or substantial portions of the Software.
|
| 142 |
+
|
| 143 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 144 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 145 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 146 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 147 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 148 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 149 |
+
SOFTWARE.
|
| 150 |
+
"""
|
| 151 |
+
|
| 152 |
+
- flake8-simplify, licensed as follows:
|
| 153 |
+
"""
|
| 154 |
+
MIT License
|
| 155 |
+
|
| 156 |
+
Copyright (c) 2020 Martin Thoma
|
| 157 |
+
|
| 158 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 159 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 160 |
+
in the Software without restriction, including without limitation the rights
|
| 161 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 162 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 163 |
+
furnished to do so, subject to the following conditions:
|
| 164 |
+
|
| 165 |
+
The above copyright notice and this permission notice shall be included in all
|
| 166 |
+
copies or substantial portions of the Software.
|
| 167 |
+
|
| 168 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 169 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 170 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 171 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 172 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 173 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 174 |
+
SOFTWARE.
|
| 175 |
+
"""
|
| 176 |
+
|
| 177 |
+
- isort, licensed as follows:
|
| 178 |
+
"""
|
| 179 |
+
The MIT License (MIT)
|
| 180 |
+
|
| 181 |
+
Copyright (c) 2013 Timothy Edmund Crosley
|
| 182 |
+
|
| 183 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 184 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 185 |
+
in the Software without restriction, including without limitation the rights
|
| 186 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 187 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 188 |
+
furnished to do so, subject to the following conditions:
|
| 189 |
+
|
| 190 |
+
The above copyright notice and this permission notice shall be included in
|
| 191 |
+
all copies or substantial portions of the Software.
|
| 192 |
+
|
| 193 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 194 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 195 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 196 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 197 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 198 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
| 199 |
+
THE SOFTWARE.
|
| 200 |
+
"""
|
| 201 |
+
|
| 202 |
+
- pygrep-hooks, licensed as follows:
|
| 203 |
+
"""
|
| 204 |
+
Copyright (c) 2018 Anthony Sottile
|
| 205 |
+
|
| 206 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 207 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 208 |
+
in the Software without restriction, including without limitation the rights
|
| 209 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 210 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 211 |
+
furnished to do so, subject to the following conditions:
|
| 212 |
+
|
| 213 |
+
The above copyright notice and this permission notice shall be included in
|
| 214 |
+
all copies or substantial portions of the Software.
|
| 215 |
+
|
| 216 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 217 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 218 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 219 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 220 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 221 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
| 222 |
+
THE SOFTWARE.
|
| 223 |
+
"""
|
| 224 |
+
|
| 225 |
+
- pycodestyle, licensed as follows:
|
| 226 |
+
"""
|
| 227 |
+
Copyright © 2006-2009 Johann C. Rocholl <johann@rocholl.net>
|
| 228 |
+
Copyright © 2009-2014 Florent Xicluna <florent.xicluna@gmail.com>
|
| 229 |
+
Copyright © 2014-2020 Ian Lee <IanLee1521@gmail.com>
|
| 230 |
+
|
| 231 |
+
Licensed under the terms of the Expat License
|
| 232 |
+
|
| 233 |
+
Permission is hereby granted, free of charge, to any person
|
| 234 |
+
obtaining a copy of this software and associated documentation files
|
| 235 |
+
(the "Software"), to deal in the Software without restriction,
|
| 236 |
+
including without limitation the rights to use, copy, modify, merge,
|
| 237 |
+
publish, distribute, sublicense, and/or sell copies of the Software,
|
| 238 |
+
and to permit persons to whom the Software is furnished to do so,
|
| 239 |
+
subject to the following conditions:
|
| 240 |
+
|
| 241 |
+
The above copyright notice and this permission notice shall be
|
| 242 |
+
included in all copies or substantial portions of the Software.
|
| 243 |
+
|
| 244 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
| 245 |
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
| 246 |
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
| 247 |
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
| 248 |
+
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
| 249 |
+
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
| 250 |
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 251 |
+
SOFTWARE.
|
| 252 |
+
"""
|
| 253 |
+
|
| 254 |
+
- pydocstyle, licensed as follows:
|
| 255 |
+
"""
|
| 256 |
+
Copyright (c) 2012 GreenSteam, <http://greensteam.dk/>
|
| 257 |
+
|
| 258 |
+
Copyright (c) 2014-2020 Amir Rachum, <http://amir.rachum.com/>
|
| 259 |
+
|
| 260 |
+
Copyright (c) 2020 Sambhav Kothari, <https://github.com/samj1912>
|
| 261 |
+
|
| 262 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
| 263 |
+
this software and associated documentation files (the "Software"), to deal in
|
| 264 |
+
the Software without restriction, including without limitation the rights to
|
| 265 |
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
| 266 |
+
of the Software, and to permit persons to whom the Software is furnished to do
|
| 267 |
+
so, subject to the following conditions:
|
| 268 |
+
|
| 269 |
+
The above copyright notice and this permission notice shall be included in all
|
| 270 |
+
copies or substantial portions of the Software.
|
| 271 |
+
|
| 272 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 273 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 274 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 275 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 276 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 277 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 278 |
+
SOFTWARE.
|
| 279 |
+
"""
|
| 280 |
+
|
| 281 |
+
- Pyflakes, licensed as follows:
|
| 282 |
+
"""
|
| 283 |
+
Copyright 2005-2011 Divmod, Inc.
|
| 284 |
+
Copyright 2013-2014 Florent Xicluna
|
| 285 |
+
|
| 286 |
+
Permission is hereby granted, free of charge, to any person obtaining
|
| 287 |
+
a copy of this software and associated documentation files (the
|
| 288 |
+
"Software"), to deal in the Software without restriction, including
|
| 289 |
+
without limitation the rights to use, copy, modify, merge, publish,
|
| 290 |
+
distribute, sublicense, and/or sell copies of the Software, and to
|
| 291 |
+
permit persons to whom the Software is furnished to do so, subject to
|
| 292 |
+
the following conditions:
|
| 293 |
+
|
| 294 |
+
The above copyright notice and this permission notice shall be
|
| 295 |
+
included in all copies or substantial portions of the Software.
|
| 296 |
+
|
| 297 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
| 298 |
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
| 299 |
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
| 300 |
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
| 301 |
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
| 302 |
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
| 303 |
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
| 304 |
+
"""
|
| 305 |
+
|
| 306 |
+
- Pyright, licensed as follows:
|
| 307 |
+
"""
|
| 308 |
+
MIT License
|
| 309 |
+
|
| 310 |
+
Pyright - A static type checker for the Python language
|
| 311 |
+
Copyright (c) Microsoft Corporation. All rights reserved.
|
| 312 |
+
|
| 313 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 314 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 315 |
+
in the Software without restriction, including without limitation the rights
|
| 316 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 317 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 318 |
+
furnished to do so, subject to the following conditions:
|
| 319 |
+
|
| 320 |
+
The above copyright notice and this permission notice shall be included in all
|
| 321 |
+
copies or substantial portions of the Software.
|
| 322 |
+
|
| 323 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 324 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 325 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 326 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 327 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 328 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 329 |
+
SOFTWARE
|
| 330 |
+
"""
|
| 331 |
+
|
| 332 |
+
- pyupgrade, licensed as follows:
|
| 333 |
+
"""
|
| 334 |
+
Copyright (c) 2017 Anthony Sottile
|
| 335 |
+
|
| 336 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 337 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 338 |
+
in the Software without restriction, including without limitation the rights
|
| 339 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 340 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 341 |
+
furnished to do so, subject to the following conditions:
|
| 342 |
+
|
| 343 |
+
The above copyright notice and this permission notice shall be included in
|
| 344 |
+
all copies or substantial portions of the Software.
|
| 345 |
+
|
| 346 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 347 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 348 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 349 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 350 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 351 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
| 352 |
+
THE SOFTWARE.
|
| 353 |
+
"""
|
| 354 |
+
|
| 355 |
+
- rome/tools, licensed under the MIT license:
|
| 356 |
+
"""
|
| 357 |
+
MIT License
|
| 358 |
+
|
| 359 |
+
Copyright (c) Rome Tools, Inc. and its affiliates.
|
| 360 |
+
|
| 361 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 362 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 363 |
+
in the Software without restriction, including without limitation the rights
|
| 364 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 365 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 366 |
+
furnished to do so, subject to the following conditions:
|
| 367 |
+
|
| 368 |
+
The above copyright notice and this permission notice shall be included in all
|
| 369 |
+
copies or substantial portions of the Software.
|
| 370 |
+
|
| 371 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 372 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 373 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 374 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 375 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 376 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 377 |
+
SOFTWARE.
|
| 378 |
+
"""
|
| 379 |
+
|
| 380 |
+
- RustPython, licensed as follows:
|
| 381 |
+
"""
|
| 382 |
+
MIT License
|
| 383 |
+
|
| 384 |
+
Copyright (c) 2020 RustPython Team
|
| 385 |
+
|
| 386 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 387 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 388 |
+
in the Software without restriction, including without limitation the rights
|
| 389 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 390 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 391 |
+
furnished to do so, subject to the following conditions:
|
| 392 |
+
|
| 393 |
+
The above copyright notice and this permission notice shall be included in all
|
| 394 |
+
copies or substantial portions of the Software.
|
| 395 |
+
|
| 396 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 397 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 398 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 399 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 400 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 401 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 402 |
+
SOFTWARE.
|
| 403 |
+
"""
|
| 404 |
+
|
| 405 |
+
- rust-analyzer/text-size, licensed under the MIT license:
|
| 406 |
+
"""
|
| 407 |
+
Permission is hereby granted, free of charge, to any
|
| 408 |
+
person obtaining a copy of this software and associated
|
| 409 |
+
documentation files (the "Software"), to deal in the
|
| 410 |
+
Software without restriction, including without
|
| 411 |
+
limitation the rights to use, copy, modify, merge,
|
| 412 |
+
publish, distribute, sublicense, and/or sell copies of
|
| 413 |
+
the Software, and to permit persons to whom the Software
|
| 414 |
+
is furnished to do so, subject to the following
|
| 415 |
+
conditions:
|
| 416 |
+
|
| 417 |
+
The above copyright notice and this permission notice
|
| 418 |
+
shall be included in all copies or substantial portions
|
| 419 |
+
of the Software.
|
| 420 |
+
|
| 421 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
|
| 422 |
+
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
|
| 423 |
+
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
| 424 |
+
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
| 425 |
+
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
| 426 |
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
| 427 |
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
|
| 428 |
+
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
| 429 |
+
DEALINGS IN THE SOFTWARE.
|
| 430 |
+
"""
|
venv/Lib/site-packages/ruff-0.16.9.dist-info/sboms/ruff.cyclonedx.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
venv/Lib/site-packages/ruff/__init__.py
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from __future__ import annotations
|
| 2 |
+
|
| 3 |
+
from ._find_ruff import find_ruff_bin
|
| 4 |
+
|
| 5 |
+
__all__ = ["find_ruff_bin"]
|
venv/Lib/site-packages/ruff/__main__.py
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from __future__ import annotations
|
| 2 |
+
|
| 3 |
+
import os
|
| 4 |
+
import sys
|
| 5 |
+
|
| 6 |
+
from ruff import find_ruff_bin
|
| 7 |
+
|
| 8 |
+
|
| 9 |
+
def _run() -> None:
|
| 10 |
+
ruff = find_ruff_bin()
|
| 11 |
+
|
| 12 |
+
if sys.platform == "win32":
|
| 13 |
+
import subprocess
|
| 14 |
+
|
| 15 |
+
# Avoid emitting a traceback on interrupt
|
| 16 |
+
try:
|
| 17 |
+
completed_process = subprocess.run([ruff, *sys.argv[1:]], check=False)
|
| 18 |
+
except KeyboardInterrupt:
|
| 19 |
+
sys.exit(2)
|
| 20 |
+
|
| 21 |
+
sys.exit(completed_process.returncode)
|
| 22 |
+
else:
|
| 23 |
+
os.execvp(ruff, [ruff, *sys.argv[1:]])
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
if __name__ == "__main__":
|
| 27 |
+
_run()
|
venv/Lib/site-packages/ruff/_find_ruff.py
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from __future__ import annotations
|
| 2 |
+
|
| 3 |
+
import os
|
| 4 |
+
import sys
|
| 5 |
+
import sysconfig
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
class RuffNotFound(FileNotFoundError): ...
|
| 9 |
+
|
| 10 |
+
|
| 11 |
+
def find_ruff_bin() -> str:
|
| 12 |
+
"""Return the ruff binary path."""
|
| 13 |
+
|
| 14 |
+
ruff_exe = "ruff" + sysconfig.get_config_var("EXE")
|
| 15 |
+
|
| 16 |
+
targets = [
|
| 17 |
+
# The scripts directory for the current Python
|
| 18 |
+
sysconfig.get_path("scripts"),
|
| 19 |
+
# The scripts directory for the base prefix
|
| 20 |
+
sysconfig.get_path("scripts", vars={"base": sys.base_prefix}),
|
| 21 |
+
# Above the package root, e.g., from `pip install --prefix` or `uv run --with`
|
| 22 |
+
(
|
| 23 |
+
# On Windows, with module path `<prefix>/Lib/site-packages/ruff`
|
| 24 |
+
_join(
|
| 25 |
+
_matching_parents(_module_path(), "Lib/site-packages/ruff"), "Scripts"
|
| 26 |
+
)
|
| 27 |
+
if sys.platform == "win32"
|
| 28 |
+
# On Unix, with module path `<prefix>/lib/python3.13/site-packages/ruff`
|
| 29 |
+
else _join(
|
| 30 |
+
_matching_parents(_module_path(), "lib/python*/site-packages/ruff"),
|
| 31 |
+
"bin",
|
| 32 |
+
)
|
| 33 |
+
),
|
| 34 |
+
# Adjacent to the package root, e.g., from `pip install --target`
|
| 35 |
+
# with module path `<target>/ruff`
|
| 36 |
+
_join(_matching_parents(_module_path(), "ruff"), "bin"),
|
| 37 |
+
# The user scheme scripts directory, e.g., `~/.local/bin`
|
| 38 |
+
sysconfig.get_path("scripts", scheme=_user_scheme()),
|
| 39 |
+
]
|
| 40 |
+
|
| 41 |
+
seen = []
|
| 42 |
+
for target in targets:
|
| 43 |
+
if not target:
|
| 44 |
+
continue
|
| 45 |
+
if target in seen:
|
| 46 |
+
continue
|
| 47 |
+
seen.append(target)
|
| 48 |
+
path = os.path.join(target, ruff_exe)
|
| 49 |
+
if os.path.isfile(path):
|
| 50 |
+
return path
|
| 51 |
+
|
| 52 |
+
locations = "\n".join(f" - {target}" for target in seen)
|
| 53 |
+
raise RuffNotFound(
|
| 54 |
+
f"Could not find the ruff binary in any of the following locations:\n{locations}\n"
|
| 55 |
+
)
|
| 56 |
+
|
| 57 |
+
|
| 58 |
+
def _module_path() -> str | None:
|
| 59 |
+
path = os.path.dirname(__file__)
|
| 60 |
+
return path
|
| 61 |
+
|
| 62 |
+
|
| 63 |
+
def _matching_parents(path: str | None, match: str) -> str | None:
|
| 64 |
+
"""
|
| 65 |
+
Return the parent directory of `path` after trimming a `match` from the end.
|
| 66 |
+
The match is expected to contain `/` as a path separator, while the `path`
|
| 67 |
+
is expected to use the platform's path separator (e.g., `os.sep`). The path
|
| 68 |
+
components are compared case-insensitively and a `*` wildcard can be used
|
| 69 |
+
in the `match`.
|
| 70 |
+
"""
|
| 71 |
+
from fnmatch import fnmatch
|
| 72 |
+
|
| 73 |
+
if not path:
|
| 74 |
+
return None
|
| 75 |
+
parts = path.split(os.sep)
|
| 76 |
+
match_parts = match.split("/")
|
| 77 |
+
if len(parts) < len(match_parts):
|
| 78 |
+
return None
|
| 79 |
+
|
| 80 |
+
if not all(
|
| 81 |
+
fnmatch(part, match_part)
|
| 82 |
+
for part, match_part in zip(reversed(parts), reversed(match_parts))
|
| 83 |
+
):
|
| 84 |
+
return None
|
| 85 |
+
|
| 86 |
+
return os.sep.join(parts[: -len(match_parts)])
|
| 87 |
+
|
| 88 |
+
|
| 89 |
+
def _join(path: str | None, *parts: str) -> str | None:
|
| 90 |
+
if not path:
|
| 91 |
+
return None
|
| 92 |
+
return os.path.join(path, *parts)
|
| 93 |
+
|
| 94 |
+
|
| 95 |
+
def _user_scheme() -> str:
|
| 96 |
+
if sys.version_info >= (3, 10):
|
| 97 |
+
user_scheme = sysconfig.get_preferred_scheme("user")
|
| 98 |
+
elif os.name == "nt":
|
| 99 |
+
user_scheme = "nt_user"
|
| 100 |
+
elif sys.platform == "darwin" and sys._framework: # ty: ignore[unresolved-attribute]
|
| 101 |
+
user_scheme = "osx_framework_user"
|
| 102 |
+
else:
|
| 103 |
+
user_scheme = "posix_user"
|
| 104 |
+
return user_scheme
|