{"url":"https://pypi.sbomify.com/package/ruff/0.17.4","markdown_url":"https://pypi.sbomify.com/package/ruff/0.17.4.md","name":"ruff","version":"0.17.4","purl":"pkg:pypi/ruff@0.17.4","summary":"An extremely fast Python linter and code formatter, written in Rust.","author":null,"project_urls":{"Changelog":"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md","Documentation":"https://docs.astral.sh/ruff/","Homepage":"https://docs.astral.sh/ruff","Repository":"https://github.com/astral-sh/ruff"},"requires_python":">=3.7","license":null,"classifiers":["Development Status :: 5 - Production/Stable","Environment :: Console","Intended Audience :: Developers","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.14","Programming Language :: Python :: 3.15","Programming Language :: Python :: 3.7","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Programming Language :: Rust","Topic :: Software Development :: Libraries :: Python Modules","Topic :: Software Development :: Quality Assurance"],"wheels":[{"filename":"ruff-0.17.4-py3-none-linux_armv6l.whl","url":"https://files.pythonhosted.org/packages/e0/61/c83c78bbb6108f6c6270a106cf12b54175f4f42da088b9bb880f18e31289/ruff-0.17.4-py3-none-linux_armv6l.whl","sboms":[{"artifact_uuid":"125ade24-90c5-5871-b407-7f9d3e03f19b","path":"ruff-0.17.4.dist-info/sboms/ruff.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/125ade24-90c5-5871-b407-7f9d3e03f19b/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"ruff-0.17.4-py3-none-macosx_10_12_x86_64.whl","url":"https://files.pythonhosted.org/packages/0a/12/dd158708378866e8b53e145a465dbc51a7cccb9fa197a74d67eaedde7234/ruff-0.17.4-py3-none-macosx_10_12_x86_64.whl","sboms":[{"artifact_uuid":"a26473c0-2588-52cd-be82-a64428686247","path":"ruff-0.17.4.dist-info/sboms/ruff.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/a26473c0-2588-52cd-be82-a64428686247/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"ruff-0.17.4-py3-none-macosx_11_0_arm64.whl","url":"https://files.pythonhosted.org/packages/28/32/89a94a8eb11fd505a381ae6f04e190d038d9958695209dc1786ce5cfcda3/ruff-0.17.4-py3-none-macosx_11_0_arm64.whl","sboms":[{"artifact_uuid":"8bfe9576-fcad-513b-a916-002abf7b25c6","path":"ruff-0.17.4.dist-info/sboms/ruff.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/8bfe9576-fcad-513b-a916-002abf7b25c6/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"ruff-0.17.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl","url":"https://files.pythonhosted.org/packages/58/de/a392dc38b215798ae72e639d228b7f6c02d826a95d1c0ad7c4c0ee49ef5b/ruff-0.17.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl","sboms":[{"artifact_uuid":"5256312e-68b2-5627-8bc2-7c4777546269","path":"ruff-0.17.4.dist-info/sboms/ruff.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/5256312e-68b2-5627-8bc2-7c4777546269/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"ruff-0.17.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl","url":"https://files.pythonhosted.org/packages/b7/8f/a880f60f42005f6ffdf58f77af34c7ee327000b5607f48a2f6a69d8b242c/ruff-0.17.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl","sboms":[{"artifact_uuid":"40ea4509-1e58-503f-8978-963a4c814eb5","path":"ruff-0.17.4.dist-info/sboms/ruff.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/40ea4509-1e58-503f-8978-963a4c814eb5/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"ruff-0.17.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl","url":"https://files.pythonhosted.org/packages/09/55/98844264108af7d5ec27ca3a9cd5a989094ca657a14599c4b69a537a0e9a/ruff-0.17.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl","sboms":[{"artifact_uuid":"dd6fdfb9-633d-5bf5-9721-84c3dc5173c3","path":"ruff-0.17.4.dist-info/sboms/ruff.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/dd6fdfb9-633d-5bf5-9721-84c3dc5173c3/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"ruff-0.17.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl","url":"https://files.pythonhosted.org/packages/28/a2/5edf97659c3ac7c73f978003bd314936f671037fdac6b978e9de3e4b2b65/ruff-0.17.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl","sboms":[{"artifact_uuid":"a758c10e-22fa-5b6c-8c81-9eeed334b6bf","path":"ruff-0.17.4.dist-info/sboms/ruff.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/a758c10e-22fa-5b6c-8c81-9eeed334b6bf/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"ruff-0.17.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl","url":"https://files.pythonhosted.org/packages/f2/8f/51371ae856b2bef4d15a044a574695fbc0f6ae63aafa42a2a22428070fb6/ruff-0.17.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl","sboms":[{"artifact_uuid":"f085bc09-5033-51d4-84db-2e396be60d0c","path":"ruff-0.17.4.dist-info/sboms/ruff.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/f085bc09-5033-51d4-84db-2e396be60d0c/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"ruff-0.17.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl","url":"https://files.pythonhosted.org/packages/af/1b/62874f14c7873f27c7887d2b1ea41de990e14ba9518801ffe8eacb5d51a6/ruff-0.17.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl","sboms":[{"artifact_uuid":"fa8d2205-6ea6-57f1-8981-8ae05e3d38c8","path":"ruff-0.17.4.dist-info/sboms/ruff.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/fa8d2205-6ea6-57f1-8981-8ae05e3d38c8/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"ruff-0.17.4-py3-none-manylinux_2_31_riscv64.whl","url":"https://files.pythonhosted.org/packages/98/30/860b9dae67432b16b88558a9cb2d3194825fa62838f8b9cc49f5d9022095/ruff-0.17.4-py3-none-manylinux_2_31_riscv64.whl","sboms":[{"artifact_uuid":"ab6e4f47-8b5f-5f4e-857c-6128c92b21c0","path":"ruff-0.17.4.dist-info/sboms/ruff.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/ab6e4f47-8b5f-5f4e-857c-6128c92b21c0/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"ruff-0.17.4-py3-none-musllinux_1_2_aarch64.whl","url":"https://files.pythonhosted.org/packages/0f/08/781a4b41a1c83fd6e30fea610d6502a6f94e49cf94693fd37bdcbc6bfe11/ruff-0.17.4-py3-none-musllinux_1_2_aarch64.whl","sboms":[{"artifact_uuid":"3d7d65a6-7afb-5dc7-b4a2-0ed351d5f970","path":"ruff-0.17.4.dist-info/sboms/ruff.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/3d7d65a6-7afb-5dc7-b4a2-0ed351d5f970/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"ruff-0.17.4-py3-none-musllinux_1_2_armv7l.whl","url":"https://files.pythonhosted.org/packages/3c/e9/94b1c7b677120f30839254518924f73a8157e9bcfa200edcd5796fecdb99/ruff-0.17.4-py3-none-musllinux_1_2_armv7l.whl","sboms":[{"artifact_uuid":"371abda1-a22a-5c92-be56-63685e447197","path":"ruff-0.17.4.dist-info/sboms/ruff.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/371abda1-a22a-5c92-be56-63685e447197/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"ruff-0.17.4-py3-none-musllinux_1_2_i686.whl","url":"https://files.pythonhosted.org/packages/27/5f/a825910b9f309336dc33cb8c0774126662c1d2f765699b3e0a1bd538d01f/ruff-0.17.4-py3-none-musllinux_1_2_i686.whl","sboms":[{"artifact_uuid":"9875f480-44a2-53ce-bc1f-50355fa6979c","path":"ruff-0.17.4.dist-info/sboms/ruff.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/9875f480-44a2-53ce-bc1f-50355fa6979c/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"ruff-0.17.4-py3-none-musllinux_1_2_x86_64.whl","url":"https://files.pythonhosted.org/packages/8b/b8/0796468423413ea4df1a6e2442ae26cf49b8f7dda0eecf246e0d5d0dde54/ruff-0.17.4-py3-none-musllinux_1_2_x86_64.whl","sboms":[{"artifact_uuid":"9d0d4795-d4af-53e1-ac98-a6531e0098e5","path":"ruff-0.17.4.dist-info/sboms/ruff.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/9d0d4795-d4af-53e1-ac98-a6531e0098e5/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"ruff-0.17.4-py3-none-win32.whl","url":"https://files.pythonhosted.org/packages/b9/ab/d8e407669ffe5014429baf780c2df47e001968a6e4c17f615e2e7b13a9ba/ruff-0.17.4-py3-none-win32.whl","sboms":[{"artifact_uuid":"7374b14e-a1ba-575e-bd8e-8ced8a2fb0e9","path":"ruff-0.17.4.dist-info/sboms/ruff.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/7374b14e-a1ba-575e-bd8e-8ced8a2fb0e9/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"ruff-0.17.4-py3-none-win_amd64.whl","url":"https://files.pythonhosted.org/packages/bd/15/42af8a72d8946e3c9efd2bbf6641e462b6832783b0d043d63ef5b280ba7f/ruff-0.17.4-py3-none-win_amd64.whl","sboms":[{"artifact_uuid":"5280c0a1-6ade-5094-b545-2c2fe3b3afea","path":"ruff-0.17.4.dist-info/sboms/ruff.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/5280c0a1-6ade-5094-b545-2c2fe3b3afea/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"ruff-0.17.4-py3-none-win_arm64.whl","url":"https://files.pythonhosted.org/packages/68/9e/f1dbffcfb8ff25dadbc21f87a8b73c3848abe4abada9d4b08ccef8bec40c/ruff-0.17.4-py3-none-win_arm64.whl","sboms":[{"artifact_uuid":"3696e95a-3504-5499-9460-603dc8d39fd3","path":"ruff-0.17.4.dist-info/sboms/ruff.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/3696e95a-3504-5499-9460-603dc8d39fd3/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"not_available"}}],"formats":["CycloneDX"],"sbom_count":17,"has_attestation":false,"vulnerabilities":[{"id":"RUSTSEC-2026-0204","aliases":[],"summary":"Invalid pointer dereference in `fmt::Pointer` impl for `Atomic` and `Shared` when the underlying pointer is invalid","severity":"unknown","score":null,"package":"crossbeam-epoch","version":"0.9.18","ecosystem":"crates.io","purl":"pkg:cargo/crossbeam-epoch@0.9.18","fixed":["0.9.20"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0204","wheels":["ruff-0.17.4-py3-none-linux_armv6l.whl","ruff-0.17.4-py3-none-macosx_10_12_x86_64.whl","ruff-0.17.4-py3-none-macosx_11_0_arm64.whl","ruff-0.17.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl","ruff-0.17.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl","ruff-0.17.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl","ruff-0.17.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl","ruff-0.17.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl","ruff-0.17.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl","ruff-0.17.4-py3-none-manylinux_2_31_riscv64.whl","ruff-0.17.4-py3-none-musllinux_1_2_aarch64.whl","ruff-0.17.4-py3-none-musllinux_1_2_armv7l.whl","ruff-0.17.4-py3-none-musllinux_1_2_i686.whl","ruff-0.17.4-py3-none-musllinux_1_2_x86_64.whl","ruff-0.17.4-py3-none-win32.whl","ruff-0.17.4-py3-none-win_amd64.whl","ruff-0.17.4-py3-none-win_arm64.whl"]},{"id":"RUSTSEC-2024-0436","aliases":[],"summary":"paste - no longer maintained","severity":"unknown","score":null,"package":"paste","version":"1.0.15","ecosystem":"crates.io","purl":"pkg:cargo/paste@1.0.15","fixed":[],"url":"https://osv.dev/vulnerability/RUSTSEC-2024-0436","wheels":["ruff-0.17.4-py3-none-linux_armv6l.whl","ruff-0.17.4-py3-none-macosx_10_12_x86_64.whl","ruff-0.17.4-py3-none-macosx_11_0_arm64.whl","ruff-0.17.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl","ruff-0.17.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl","ruff-0.17.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl","ruff-0.17.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl","ruff-0.17.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl","ruff-0.17.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl","ruff-0.17.4-py3-none-manylinux_2_31_riscv64.whl","ruff-0.17.4-py3-none-musllinux_1_2_aarch64.whl","ruff-0.17.4-py3-none-musllinux_1_2_armv7l.whl","ruff-0.17.4-py3-none-musllinux_1_2_i686.whl","ruff-0.17.4-py3-none-musllinux_1_2_x86_64.whl","ruff-0.17.4-py3-none-win32.whl","ruff-0.17.4-py3-none-win_amd64.whl","ruff-0.17.4-py3-none-win_arm64.whl"]},{"id":"RUSTSEC-2026-0173","aliases":[],"summary":"proc-macro-error2 is unmaintained","severity":"unknown","score":null,"package":"proc-macro-error2","version":"2.0.1","ecosystem":"crates.io","purl":"pkg:cargo/proc-macro-error2@2.0.1","fixed":[],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0173","wheels":["ruff-0.17.4-py3-none-linux_armv6l.whl","ruff-0.17.4-py3-none-macosx_10_12_x86_64.whl","ruff-0.17.4-py3-none-macosx_11_0_arm64.whl","ruff-0.17.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl","ruff-0.17.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl","ruff-0.17.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl","ruff-0.17.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl","ruff-0.17.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl","ruff-0.17.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl","ruff-0.17.4-py3-none-manylinux_2_31_riscv64.whl","ruff-0.17.4-py3-none-musllinux_1_2_aarch64.whl","ruff-0.17.4-py3-none-musllinux_1_2_armv7l.whl","ruff-0.17.4-py3-none-musllinux_1_2_i686.whl","ruff-0.17.4-py3-none-musllinux_1_2_x86_64.whl","ruff-0.17.4-py3-none-win32.whl","ruff-0.17.4-py3-none-win_amd64.whl","ruff-0.17.4-py3-none-win_arm64.whl"]}],"vulnerability_scan":{"scanned_sboms":17,"total_sboms":17,"scanned_at":"2026-11-10","scanner":"osv-scanner 2.7.0","severity_counts":{"unknown":3}}}