add django, typer as tainted with alternatives

* add alternative: click, flask with anti-ai badge
* style: adjust breaks according to style guide
This commit is contained in:
hmn 2026-08-23 16:55:00 +02:00
commit 6083fad267
No known key found for this signature in database

View file

@ -1822,26 +1822,28 @@ Note that TypeScript is itself tainted; see [the Programming Languages section](
Note that CPython is itself tainted; see [the Programming Languages section](#programming-languages).
| Name | Last Untainted <br />Version/Commit ID | Evidence | Alternative(s) |
| Name | Last Untainted <br /> Version/Commit ID | Evidence | Alternative(s) |
|---|:---:|---|---|
| [Black](https://github.com/psf/black) | [`25.9.0`](https://github.com/psf/black/releases/tag/25.9.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/psf/black/commit/43dbc2f1ccbd74d4eea1c3615fe854961e6a07b7), [2](https://github.com/psf/black/commit/d745be69bfa9d85ec2ef6e5f9b7ec7e253b5e8ab), [3](https://github.com/psf/black/commit/8ab9719dcbeedccadf5d458d8139df38fcf84285))<br />[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/psf/black/pull/4790), [2](https://github.com/psf/black/pull/4804), [3](https://github.com/psf/black/pull/4825)) | [autopep8](https://github.com/hhatto/autopep8) |
| [Black](https://github.com/psf/black) | [`25.9.0`](https://github.com/psf/black/releases/tag/25.9.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/psf/black/commit/43dbc2f1ccbd74d4eea1c3615fe854961e6a07b7), [2](https://github.com/psf/black/commit/d745be69bfa9d85ec2ef6e5f9b7ec7e253b5e8ab), [3](https://github.com/psf/black/commit/8ab9719dcbeedccadf5d458d8139df38fcf84285)) <br /> [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/psf/black/pull/4790), [2](https://github.com/psf/black/pull/4804), [3](https://github.com/psf/black/pull/4825)) | [autopep8](https://github.com/hhatto/autopep8) |
| [chardet](https://github.com/chardet/chardet) | [`5.2.0`](https://github.com/chardet/chardet/releases/tag/5.2.0) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/chardet/chardet/issues/327), [2](https://github.com/chardet/chardet/commit/5038f52057e0cc84f622fb2a0546393c43a84a15), [3](https://github.com/chardet/chardet/issues/327#issuecomment-4006480251)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |
| [charset\_normalizer](https://github.com/jawah/charset_normalizer) | [`3.4.9`](https://github.com/jawah/charset_normalizer/releases/tag/3.4.9) <br />[`cc68407`](https://github.com/jawah/charset_normalizer/commits/cc6840753f17f00dea4e339ce37507747217e916) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jawah/charset_normalizer/commit/667b93c9243cc650354562b871fcfcc35282fe97)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |
| [`cryptography`](https://github.com/pyca/cryptography) | [`44.0.0`](https://github.com/pyca/cryptography/releases/tag/44.0.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/pyca/cryptography/blob/main/AGENTS.md), [2](https://github.com/pyca/cryptography/commit/ce7f263d2b5492222497966e4132010caf650a70), [3](https://github.com/pyca/cryptography/commit/62d0783211a329c5d1d27b52c527a245e9bc842b)) <br />[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/pyca/cryptography/pull/12976), [2](https://github.com/pyca/cryptography/pull/13137), [3](https://github.com/pyca/cryptography/pull/12937)) | [PyCryptodome](https://github.com/Legrandin/pycryptodome) |
| [isort](https://github.com/pycqa/isort) | [`8.0.0`](https://github.com/PyCQA/isort/releases/tag/8.0.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/PyCQA/isort/pull/2459), [2](https://github.com/PyCQA/isort/pull/2471), [3](https://github.com/PyCQA/isort/pull/2470))<br />[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/PyCQA/isort/pull/2509), [2](https://github.com/PyCQA/isort/pull/2516), [3](https://github.com/PyCQA/isort/pull/2503))<br />[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/PyCQA/isort/blob/dac090ce4d9ee313d086e2e89ab1acb8c2664fa1/README.md#why-isort)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |
| [charset\_normalizer](https://github.com/jawah/charset_normalizer) | [`3.4.9`](https://github.com/jawah/charset_normalizer/releases/tag/3.4.9) <br /> [`cc68407`](https://github.com/jawah/charset_normalizer/commits/cc6840753f17f00dea4e339ce37507747217e916) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jawah/charset_normalizer/commit/667b93c9243cc650354562b871fcfcc35282fe97)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |
| [`cryptography`](https://github.com/pyca/cryptography) | [`44.0.0`](https://github.com/pyca/cryptography/releases/tag/44.0.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/pyca/cryptography/blob/main/AGENTS.md), [2](https://github.com/pyca/cryptography/commit/ce7f263d2b5492222497966e4132010caf650a70), [3](https://github.com/pyca/cryptography/commit/62d0783211a329c5d1d27b52c527a245e9bc842b)) <br /> [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/pyca/cryptography/pull/12976), [2](https://github.com/pyca/cryptography/pull/13137), [3](https://github.com/pyca/cryptography/pull/12937)) | [PyCryptodome](https://github.com/Legrandin/pycryptodome) |
| [django](https://github.com/django/django) | [`5.2.9`](https://github.com/django/django/releases/tag/5.2.9) <br /> [`1820d35`](https://github.com/django/django/commits/1820d35b17f0a95f4ce888971b9ca0c7a3697c83) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/conduct/index.html#L490C11-L530), [2](https://github.com/django/django/pull/20568), [3](https://github.com/django/django/pull/20699)) <br /> [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/django/django/pull/20471), [2](https://github.com/django/django/pull/20811)) | [Flask](https://github.com/pallets/flask) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://palletsprojects.com/contributing/llm-ai)) |
| [isort](https://github.com/pycqa/isort) | [`8.0.0`](https://github.com/PyCQA/isort/releases/tag/8.0.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/PyCQA/isort/pull/2459), [2](https://github.com/PyCQA/isort/pull/2471), [3](https://github.com/PyCQA/isort/pull/2470)) <br /> [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/PyCQA/isort/pull/2509), [2](https://github.com/PyCQA/isort/pull/2516), [3](https://github.com/PyCQA/isort/pull/2503)) <br /> [![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/PyCQA/isort/blob/dac090ce4d9ee313d086e2e89ab1acb8c2664fa1/README.md#why-isort)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |
| [JupyterLab](https://github.com/jupyterlab/jupyterlab) | [`v4.5.6`](https://github.com/jupyterlab/jupyterlab/tree/v4.5.6) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jupyterlab/jupyterlab/blob/main/AGENTS.md)) <br> [![AI Functionality](./badges/ai-functionality.svg)](#ai-functionality) ([1](https://github.com/jupyterlab/jupyter-ai)) | Possibly GNU Emacs ([1](https://www.danliden.com/notes/20241112-python-setup.html), [2](https://blog.serghei.pl/posts/emacs-python-ide/)) |
| [Pygments](https://github.com/pygments/pygments) | [`2.19.2`](https://github.com/pygments/pygments/commits/2.19.2/) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/pygments/pygments/pull/3038)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |
| [PyJWT](https://github.com/jpadilla/pyjwt) | [`2.11.0`](https://github.com/jpadilla/pyjwt/releases/tag/2.11.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jpadilla/pyjwt/commit/412cb67a93363812ae4029d6a95f5d4d40ab2609), [2](https://github.com/jpadilla/pyjwt/commit/1451d70eca2059bc472703692f0bb0777bc0fe93), [3](https://github.com/jpadilla/pyjwt/commit/bd9700cca7f9258fadcc429c1034e508025931f2)) <br /> [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/jpadilla/pyjwt/pull/1112), [2](https://github.com/jpadilla/pyjwt/pull/1152), [3](https://github.com/jpadilla/pyjwt/pull/1101)) | [python-jwt](https://github.com/GehirnInc/python-jwt) |
| [Pylint](https://github.com/pylint-dev/pylint) | [`v3.3.9`](https://github.com/pylint-dev/pylint/releases/tag/v3.3.9) <br />[`3b9e2d2`](https://github.com/pylint-dev/pylint/commits/3b9e2d2271e49df3689428538e3775e20f9bc3ce) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/pylint-dev/pylint/blob/b080a21ca0005b13e985456537bb8510919a2672/.github/copilot-instructions.md), [2](https://github.com/pylint-dev/pylint/pull/10350), [3](https://github.com/pylint-dev/pylint/pull/10892))<br />[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/pylint-dev/pylint/pull/10321), [2](https://github.com/pylint-dev/pylint/pull/10322), [3](https://github.com/pylint-dev/pylint/pull/10930)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |
| [Pylint](https://github.com/pylint-dev/pylint) | [`v3.3.9`](https://github.com/pylint-dev/pylint/releases/tag/v3.3.9) <br /> [`3b9e2d2`](https://github.com/pylint-dev/pylint/commits/3b9e2d2271e49df3689428538e3775e20f9bc3ce) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/pylint-dev/pylint/blob/b080a21ca0005b13e985456537bb8510919a2672/.github/copilot-instructions.md), [2](https://github.com/pylint-dev/pylint/pull/10350), [3](https://github.com/pylint-dev/pylint/pull/10892)) <br /> [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/pylint-dev/pylint/pull/10321), [2](https://github.com/pylint-dev/pylint/pull/10322), [3](https://github.com/pylint-dev/pylint/pull/10930)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |
| [pytermgui](https://github.com/bczsalba/pytermgui) | [`v7.7.4`](https://github.com/bczsalba/pytermgui/releases/tag/v7.7.4) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bczsalba/pytermgui/issues/167)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |
| [Requests](https://github.com/psf/requests) | [`v2.32.5`](https://github.com/psf/requests/releases/tag/v2.32.5) <br />[`4bd79e3`](https://github.com/psf/requests/commits/4bd79e397304d46dfccd76f36c07f66c0295ff82) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/psf/requests/commit/b2a1d33f571518ca9a6148e7da787cc5827f897a)) | [`urllib.request` (Python Standard Lib)](https://docs.python.org/3/library/urllib.request.html) |
| [ruff](https://github.com/astral-sh/ruff) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/astral-sh/.github/blob/c5187e200db51bfe11d56e13053d29bd3793fdd8/AI_POLICY.md), [2](https://github.com/astral-sh/ruff/blob/bd3150f4e2cdf9278cf329ef12c875a4d30bf601/AGENTS.md), [3](https://github.com/astral-sh/ruff/commit/3ffc8b93d61ae91e2b6daf61c740e7df52448a50))<br />[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://astral.sh/blog/openai)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |
| [shtab](https://github.com/tqdm/shtab) | [`v1.7.2`](https://github.com/tqdm/shtab/releases/tag/v1.7.2) <br />[`171be68`](https://github.com/tqdm/shtab/commits/171be684ddbae82690b0f8cbd7f19406e3cbc74e) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/tqdm/shtab/pull/225), [2](https://github.com/tqdm/shtab/pull/232)) | [argcomplete](https://github.com/kislyuk/argcomplete) |
| [Textual](https://github.com/Textualize/textual) | [`v2.1.2`](https://github.com/Textualize/textual/releases/tag/v2.1.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Textualize/textual/blob/main/AI_POLICY.md), [2](https://github.com/Textualize/textual/commit/fefec041759b6a48f5c675d388e973a22a0f8b3d), [3](https://github.com/Textualize/textual/pull/6218#issuecomment-3512605833))<br />[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/Textualize/textual/pull/5681), [2](https://github.com/Textualize/textual/pull/5948), [3](https://github.com/Textualize/textual/pull/6202)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |
| [tqdm](https://github.com/tqdm/tqdm) | [`v4.68.1`](https://github.com/tqdm/tqdm/releases/tag/v4.68.1) <br />[`85940f9`](https://github.com/tqdm/tqdm/commits/85940f9d17a679f9189a8346b05c0580f313f69f) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/tqdm/tqdm/commit/55156ce4bed3457956d0557558b9bfb1c2de8a33)) <br />[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/tqdm/tqdm/commit/d2fb04af6fbf49501dce9cc82f0ea8971924dee7)) | [alive-progress](https://github.com/rsalmei/alive-progress) |
| [Requests](https://github.com/psf/requests) | [`v2.32.5`](https://github.com/psf/requests/releases/tag/v2.32.5) <br /> [`4bd79e3`](https://github.com/psf/requests/commits/4bd79e397304d46dfccd76f36c07f66c0295ff82) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/psf/requests/commit/b2a1d33f571518ca9a6148e7da787cc5827f897a)) | [`urllib.request` (Python Standard Lib)](https://docs.python.org/3/library/urllib.request.html) |
| [ruff](https://github.com/astral-sh/ruff) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/astral-sh/.github/blob/c5187e200db51bfe11d56e13053d29bd3793fdd8/AI_POLICY.md), [2](https://github.com/astral-sh/ruff/blob/bd3150f4e2cdf9278cf329ef12c875a4d30bf601/AGENTS.md), [3](https://github.com/astral-sh/ruff/commit/3ffc8b93d61ae91e2b6daf61c740e7df52448a50)) <br /> [![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://astral.sh/blog/openai)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |
| [shtab](https://github.com/tqdm/shtab) | [`v1.7.2`](https://github.com/tqdm/shtab/releases/tag/v1.7.2) <br /> [`171be68`](https://github.com/tqdm/shtab/commits/171be684ddbae82690b0f8cbd7f19406e3cbc74e) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/tqdm/shtab/pull/225), [2](https://github.com/tqdm/shtab/pull/232)) | [argcomplete](https://github.com/kislyuk/argcomplete) |
| [Textual](https://github.com/Textualize/textual) | [`v2.1.2`](https://github.com/Textualize/textual/releases/tag/v2.1.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Textualize/textual/blob/main/AI_POLICY.md), [2](https://github.com/Textualize/textual/commit/fefec041759b6a48f5c675d388e973a22a0f8b3d), [3](https://github.com/Textualize/textual/pull/6218#issuecomment-3512605833)) <br /> [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/Textualize/textual/pull/5681), [2](https://github.com/Textualize/textual/pull/5948), [3](https://github.com/Textualize/textual/pull/6202)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |
| [tqdm](https://github.com/tqdm/tqdm) | [`v4.68.1`](https://github.com/tqdm/tqdm/releases/tag/v4.68.1) <br /> [`85940f9`](https://github.com/tqdm/tqdm/commits/85940f9d17a679f9189a8346b05c0580f313f69f) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/tqdm/tqdm/commit/55156ce4bed3457956d0557558b9bfb1c2de8a33)) <br /> [![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/tqdm/tqdm/commit/d2fb04af6fbf49501dce9cc82f0ea8971924dee7)) | [alive-progress](https://github.com/rsalmei/alive-progress) |
| [Trio](https://github.com/python-trio/trio) | [`v0.28.0`](https://github.com/python-trio/trio/releases/tag/v0.28.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/python-trio/trio/pull/3145#discussion_r1867663598), [2](https://github.com/python-trio/trio/pull/3197#discussion_r2036484486), [3](https://github.com/python-trio/trio/pull/3394)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |
| [uv](https://github.com/astral-sh/uv) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/astral-sh/.github/blob/c5187e200db51bfe11d56e13053d29bd3793fdd8/AI_POLICY.md), [2](https://github.com/astral-sh/uv/blob/00d72dac7b789d1c64ed21626175b80f4a1b8f2b/CLAUDE.md), [3](https://github.com/astral-sh/uv/commit/bd2e0c9b09551c6570b14c4da80364fe90805b78))<br />[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://astral.sh/blog/openai)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |
| [ty](https://github.com/astral-sh/ty) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/astral-sh/.github/blob/c5187e200db51bfe11d56e13053d29bd3793fdd8/AI_POLICY.md), [2](https://github.com/astral-sh/ty/commit/065338a1fcc24ac5b974724dbb5d8a3ab740c5b7))<br />[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://astral.sh/blog/openai)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |
| [ty](https://github.com/astral-sh/ty) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/astral-sh/.github/blob/c5187e200db51bfe11d56e13053d29bd3793fdd8/AI_POLICY.md), [2](https://github.com/astral-sh/ty/commit/065338a1fcc24ac5b974724dbb5d8a3ab740c5b7)) <br /> [![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://astral.sh/blog/openai)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |
| [Typer](https://github.com/fastapi/typer) | [`0.25.1`](https://github.com/fastapi/typer/releases/tag/0.25.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/tiangolo/tiangolo.com/blob/master/docs/open-source/contributing.md#automated-code-and-ai), [2](https://github.com/fastapi/typer/pull/1623), [3](https://github.com/fastapi/typer/pull/1690)) | [`argparse` (Python Standard Lib)](https://docs.python.org/library/argparse.html) <br /> [Click](https://github.com/pallets/click) [![Anti-AI Policy](./badges/anti-ai-policy.svg)](#anti-ai-policy) ([1](https://palletsprojects.com/contributing/llm-ai)) |
| [uv](https://github.com/astral-sh/uv) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/astral-sh/.github/blob/c5187e200db51bfe11d56e13053d29bd3793fdd8/AI_POLICY.md), [2](https://github.com/astral-sh/uv/blob/00d72dac7b789d1c64ed21626175b80f4a1b8f2b/CLAUDE.md), [3](https://github.com/astral-sh/uv/commit/bd2e0c9b09551c6570b14c4da80364fe90805b78)) <br /> [![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://astral.sh/blog/openai)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) |
### Ruby