From 44554be2e344ddbfc6cfd3a141c2d882a28def90 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2026 08:33:29 +0000 Subject: [PATCH] chore(deps): update dependency ruff to v0.16.4 --- package.py | 2 -- pyproject.toml | 2 +- scripts/archiver.py | 12 +++++----- scripts/backupper.py | 4 +--- scripts/checksum.py | 4 +--- scripts/common.py | 2 -- scripts/edx.py | 7 +++--- scripts/enny_mo.py | 5 ++--- scripts/feed_downloader.py | 2 -- scripts/ical.py | 7 +++--- scripts/inventory.py | 14 ++++++------ scripts/shift.py | 2 -- scripts/split.py | 2 -- scripts/tag.py | 8 ++++--- uv.lock | 45 +++++++++++++++++++------------------- 15 files changed, 51 insertions(+), 67 deletions(-) diff --git a/package.py b/package.py index fdcd29a..cae6a8b 100644 --- a/package.py +++ b/package.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - import sys import zipapp from pathlib import Path diff --git a/pyproject.toml b/pyproject.toml index 051adfb..c2948c6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,7 @@ dependencies = [ [dependency-groups] dev = [ "pytest==9.1.1", - "ruff==0.14.4", + "ruff==0.16.4", ] [tool.ruff.lint] diff --git a/scripts/archiver.py b/scripts/archiver.py index d7256a2..87563d2 100644 --- a/scripts/archiver.py +++ b/scripts/archiver.py @@ -1,11 +1,9 @@ -#!/usr/bin/env python3 - import os import shlex import subprocess import sys from argparse import ArgumentParser, ArgumentTypeError, Namespace -from typing import Iterator +from collections.abc import Iterator import common @@ -41,9 +39,9 @@ def create_archives( try: completed_process.check_returncode() - except subprocess.CalledProcessError as ex: + except subprocess.CalledProcessError: print(completed_process.stderr.decode(), file=sys.stderr) - raise ex + raise stdout = completed_process.stdout.decode() @@ -70,9 +68,9 @@ def test_archives( try: completed_process.check_returncode() - except subprocess.CalledProcessError as ex: + except subprocess.CalledProcessError: print(completed_process.stderr.decode(), file=sys.stderr) - raise ex + raise stdout = completed_process.stdout.decode() diff --git a/scripts/backupper.py b/scripts/backupper.py index 6c2bffa..3611609 100644 --- a/scripts/backupper.py +++ b/scripts/backupper.py @@ -1,8 +1,6 @@ -#!/usr/bin/env python3 - import os from argparse import ArgumentParser, ArgumentTypeError, Namespace -from typing import Iterator +from collections.abc import Iterator import checksum from archiver import Archiver diff --git a/scripts/checksum.py b/scripts/checksum.py index 0cb85b0..78c8a51 100644 --- a/scripts/checksum.py +++ b/scripts/checksum.py @@ -1,9 +1,7 @@ -#!/usr/bin/env python3 - import hashlib import os from argparse import ArgumentParser, Namespace -from typing import Iterator +from collections.abc import Iterator def _create_argument_parser() -> ArgumentParser: diff --git a/scripts/common.py b/scripts/common.py index 5c8a42e..dbb4a7e 100644 --- a/scripts/common.py +++ b/scripts/common.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - import json import logging import os diff --git a/scripts/edx.py b/scripts/edx.py index 38511ea..c8a6a42 100644 --- a/scripts/edx.py +++ b/scripts/edx.py @@ -1,7 +1,6 @@ -#!/usr/bin/env python3 - import os from pathlib import Path +from typing import ClassVar import requests from markdownify import markdownify as md @@ -19,7 +18,7 @@ class EdxCrawler: course_name = "k8s" email = "xxx" password = "xxx" - headers = { + headers: ClassVar[dict[str, str]] = { "User-Agent": ( "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 " "(KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36" @@ -70,7 +69,7 @@ def _get_content(self): breadcrumb_elements = self.driver.find_elements( By.XPATH, "//nav[@aria-label='breadcrumb']/ol/li" ) - breadcrumbs = list(map(lambda e: e.text, breadcrumb_elements)) + breadcrumbs = [element.text for element in breadcrumb_elements] section = " ".join(breadcrumbs[2:]) if self.current_section != section: self.current_section = section diff --git a/scripts/enny_mo.py b/scripts/enny_mo.py index 5916c11..d6abda9 100644 --- a/scripts/enny_mo.py +++ b/scripts/enny_mo.py @@ -1,8 +1,7 @@ -#!/usr/bin/env python3 - import re from functools import partial from pathlib import Path +from typing import ClassVar from urllib.parse import urljoin import scrapy @@ -11,7 +10,7 @@ class EnnyMoSpider(scrapy.Spider): - headers = { + headers: ClassVar[dict[str, str]] = { "User-Agent": ( "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) " "Gecko/20100101 Firefox/77.0" diff --git a/scripts/feed_downloader.py b/scripts/feed_downloader.py index e6dba60..f044344 100644 --- a/scripts/feed_downloader.py +++ b/scripts/feed_downloader.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - import re from pathlib import Path diff --git a/scripts/ical.py b/scripts/ical.py index 9aa4326..213fd18 100644 --- a/scripts/ical.py +++ b/scripts/ical.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - from datetime import datetime from pathlib import Path @@ -45,7 +43,10 @@ def create_ical(data): for event_date in data[event_name]: event = Event() event.add("summary", event_name) - event.add("dtstart", datetime.strptime(event_date, "%d.%m.%Y").date()) + event.add( + "dtstart", + datetime.strptime(event_date, "%d.%m.%Y").date(), # noqa: DTZ007 + ) event.add("transp", "TRANSPARENT") cal.add_component(event) diff --git a/scripts/inventory.py b/scripts/inventory.py index da1f014..4c3231f 100644 --- a/scripts/inventory.py +++ b/scripts/inventory.py @@ -1,9 +1,7 @@ -#!/usr/bin/env python3 - import argparse import csv import os -from datetime import datetime +from datetime import UTC, datetime from os import path from pathlib import Path @@ -42,13 +40,15 @@ def append_record(data, file_path, files): filetype = "l" elif path.isdir(file): filetype = "d" - mod_time = datetime.fromtimestamp(path.getmtime(file)).strftime( - "%Y-%m-%d-%H:%M" - ) + mod_time = datetime.fromtimestamp( + path.getmtime(file), tz=UTC + ).strftime("%Y-%m-%d-%H:%M") else: stat = os.stat(file) filesize = stat.st_size - mod_time = datetime.fromtimestamp(stat.st_mtime).strftime("%Y-%m-%d-%H:%M") + mod_time = datetime.fromtimestamp(stat.st_mtime, tz=UTC).strftime( + "%Y-%m-%d-%H:%M" + ) data.append([file, filetype, filesize, mod_time]) diff --git a/scripts/shift.py b/scripts/shift.py index e5638d1..9383a08 100644 --- a/scripts/shift.py +++ b/scripts/shift.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - import argparse LETTERS = "abcdefghijklmnopqrstuvwxyz" diff --git a/scripts/split.py b/scripts/split.py index 9088c0d..0bb6529 100644 --- a/scripts/split.py +++ b/scripts/split.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - import json import re import subprocess diff --git a/scripts/tag.py b/scripts/tag.py index 6725c75..4df5af8 100644 --- a/scripts/tag.py +++ b/scripts/tag.py @@ -1,6 +1,8 @@ +import re from pathlib import Path + +from mutagen import MutagenError from mutagen.oggopus import OggOpus -import re files = sorted(Path("/path/to/files").glob("*.opus")) @@ -17,7 +19,7 @@ # but NOT: # 11_003_Chapter 3 - m = re.match(r'^\d+_\d+_Chapter \d+_(.+)$', stem) + m = re.match(r"^\d+_\d+_Chapter \d+_(.+)$", stem) if m: current_book = m.group(1).strip() @@ -38,5 +40,5 @@ print(f"{file.name} -> {title}") - except Exception as e: + except (MutagenError, OSError) as e: print(f"ERROR {file.name}: {e}") diff --git a/uv.lock b/uv.lock index b909d54..dfc2c44 100644 --- a/uv.lock +++ b/uv.lock @@ -600,7 +600,7 @@ requires-dist = [ [package.metadata.requires-dev] dev = [ { name = "pytest", specifier = "==9.1.1" }, - { name = "ruff", specifier = "==0.14.4" }, + { name = "ruff", specifier = "==0.16.4" }, ] [[package]] @@ -650,28 +650,27 @@ wheels = [ [[package]] name = "ruff" -version = "0.14.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/df/55/cccfca45157a2031dcbb5a462a67f7cf27f8b37d4b3b1cd7438f0f5c1df6/ruff-0.14.4.tar.gz", hash = "sha256:f459a49fe1085a749f15414ca76f61595f1a2cc8778ed7c279b6ca2e1fd19df3", size = 5587844, upload-time = "2025-11-06T22:07:45.033Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/17/b9/67240254166ae1eaa38dec32265e9153ac53645a6c6670ed36ad00722af8/ruff-0.14.4-py3-none-linux_armv6l.whl", hash = "sha256:e6604613ffbcf2297cd5dcba0e0ac9bd0c11dc026442dfbb614504e87c349518", size = 12606781, upload-time = "2025-11-06T22:07:01.841Z" }, - { url = "https://files.pythonhosted.org/packages/46/c8/09b3ab245d8652eafe5256ab59718641429f68681ee713ff06c5c549f156/ruff-0.14.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:d99c0b52b6f0598acede45ee78288e5e9b4409d1ce7f661f0fa36d4cbeadf9a4", size = 12946765, upload-time = "2025-11-06T22:07:05.858Z" }, - { url = "https://files.pythonhosted.org/packages/14/bb/1564b000219144bf5eed2359edc94c3590dd49d510751dad26202c18a17d/ruff-0.14.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:9358d490ec030f1b51d048a7fd6ead418ed0826daf6149e95e30aa67c168af33", size = 11928120, upload-time = "2025-11-06T22:07:08.023Z" }, - { url = "https://files.pythonhosted.org/packages/a3/92/d5f1770e9988cc0742fefaa351e840d9aef04ec24ae1be36f333f96d5704/ruff-0.14.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81b40d27924f1f02dfa827b9c0712a13c0e4b108421665322218fc38caf615c2", size = 12370877, upload-time = "2025-11-06T22:07:10.015Z" }, - { url = "https://files.pythonhosted.org/packages/e2/29/e9282efa55f1973d109faf839a63235575519c8ad278cc87a182a366810e/ruff-0.14.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f5e649052a294fe00818650712083cddc6cc02744afaf37202c65df9ea52efa5", size = 12408538, upload-time = "2025-11-06T22:07:13.085Z" }, - { url = "https://files.pythonhosted.org/packages/8e/01/930ed6ecfce130144b32d77d8d69f5c610e6d23e6857927150adf5d7379a/ruff-0.14.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa082a8f878deeba955531f975881828fd6afd90dfa757c2b0808aadb437136e", size = 13141942, upload-time = "2025-11-06T22:07:15.386Z" }, - { url = "https://files.pythonhosted.org/packages/6a/46/a9c89b42b231a9f487233f17a89cbef9d5acd538d9488687a02ad288fa6b/ruff-0.14.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:1043c6811c2419e39011890f14d0a30470f19d47d197c4858b2787dfa698f6c8", size = 14544306, upload-time = "2025-11-06T22:07:17.631Z" }, - { url = "https://files.pythonhosted.org/packages/78/96/9c6cf86491f2a6d52758b830b89b78c2ae61e8ca66b86bf5a20af73d20e6/ruff-0.14.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a9f3a936ac27fb7c2a93e4f4b943a662775879ac579a433291a6f69428722649", size = 14210427, upload-time = "2025-11-06T22:07:19.832Z" }, - { url = "https://files.pythonhosted.org/packages/71/f4/0666fe7769a54f63e66404e8ff698de1dcde733e12e2fd1c9c6efb689cb5/ruff-0.14.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:95643ffd209ce78bc113266b88fba3d39e0461f0cbc8b55fb92505030fb4a850", size = 13658488, upload-time = "2025-11-06T22:07:22.32Z" }, - { url = "https://files.pythonhosted.org/packages/ee/79/6ad4dda2cfd55e41ac9ed6d73ef9ab9475b1eef69f3a85957210c74ba12c/ruff-0.14.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:456daa2fa1021bc86ca857f43fe29d5d8b3f0e55e9f90c58c317c1dcc2afc7b5", size = 13354908, upload-time = "2025-11-06T22:07:24.347Z" }, - { url = "https://files.pythonhosted.org/packages/b5/60/f0b6990f740bb15c1588601d19d21bcc1bd5de4330a07222041678a8e04f/ruff-0.14.4-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:f911bba769e4a9f51af6e70037bb72b70b45a16db5ce73e1f72aefe6f6d62132", size = 13587803, upload-time = "2025-11-06T22:07:26.327Z" }, - { url = "https://files.pythonhosted.org/packages/c9/da/eaaada586f80068728338e0ef7f29ab3e4a08a692f92eb901a4f06bbff24/ruff-0.14.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:76158a7369b3979fa878612c623a7e5430c18b2fd1c73b214945c2d06337db67", size = 12279654, upload-time = "2025-11-06T22:07:28.46Z" }, - { url = "https://files.pythonhosted.org/packages/66/d4/b1d0e82cf9bf8aed10a6d45be47b3f402730aa2c438164424783ac88c0ed/ruff-0.14.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:f3b8f3b442d2b14c246e7aeca2e75915159e06a3540e2f4bed9f50d062d24469", size = 12357520, upload-time = "2025-11-06T22:07:31.468Z" }, - { url = "https://files.pythonhosted.org/packages/04/f4/53e2b42cc82804617e5c7950b7079d79996c27e99c4652131c6a1100657f/ruff-0.14.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:c62da9a06779deecf4d17ed04939ae8b31b517643b26370c3be1d26f3ef7dbde", size = 12719431, upload-time = "2025-11-06T22:07:33.831Z" }, - { url = "https://files.pythonhosted.org/packages/a2/94/80e3d74ed9a72d64e94a7b7706b1c1ebaa315ef2076fd33581f6a1cd2f95/ruff-0.14.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:5a443a83a1506c684e98acb8cb55abaf3ef725078be40237463dae4463366349", size = 13464394, upload-time = "2025-11-06T22:07:35.905Z" }, - { url = "https://files.pythonhosted.org/packages/54/1a/a49f071f04c42345c793d22f6cf5e0920095e286119ee53a64a3a3004825/ruff-0.14.4-py3-none-win32.whl", hash = "sha256:643b69cb63cd996f1fc7229da726d07ac307eae442dd8974dbc7cf22c1e18fff", size = 12493429, upload-time = "2025-11-06T22:07:38.43Z" }, - { url = "https://files.pythonhosted.org/packages/bc/22/e58c43e641145a2b670328fb98bc384e20679b5774258b1e540207580266/ruff-0.14.4-py3-none-win_amd64.whl", hash = "sha256:26673da283b96fe35fa0c939bf8411abec47111644aa9f7cfbd3c573fb125d2c", size = 13635380, upload-time = "2025-11-06T22:07:40.496Z" }, - { url = "https://files.pythonhosted.org/packages/30/bd/4168a751ddbbf43e86544b4de8b5c3b7be8d7167a2a5cb977d274e04f0a1/ruff-0.14.4-py3-none-win_arm64.whl", hash = "sha256:dd09c292479596b0e6fec8cd95c65c3a6dc68e9ad17b8f2382130f87ff6a75bb", size = 12663065, upload-time = "2025-11-06T22:07:42.603Z" }, +version = "0.16.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/00/8f/d8074b1f25e003164087a8bfe79a0f1a3945135764dbb6aaab04103dcaf9/ruff-0.16.4.tar.gz", hash = "sha256:13171aa9d9af2240ee3504e639de73122c67e74036de5ba2e1d01422cd17e3dc", size = 4899731, upload-time = "2026-08-20T17:43:59.196Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ff/80/779895ef584e089d22f2c6df0d0e99a65ec2df0805f1fffd439415b8c1f0/ruff-0.16.4-py3-none-linux_armv6l.whl", hash = "sha256:df4075f71ddac40b9934af60c3ec8a53047dd5a5fdc43224e6e4e8e9a27cb6f7", size = 10006909, upload-time = "2026-08-20T17:43:16.888Z" }, + { url = "https://files.pythonhosted.org/packages/a9/e6/f553199b5e8927a05cb5c422d921fd0656b29ab976e91c44802107c6b0da/ruff-0.16.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:0c95538517af68004306b0fb3214ff2f2af67a65092aee77cd9eb86db6656604", size = 10240201, upload-time = "2026-08-20T17:43:19.337Z" }, + { url = "https://files.pythonhosted.org/packages/1c/70/4a6dc4bb34da4dee35e30f09bbd1bfbdd26f33b62fb9b8df31f08a199cd2/ruff-0.16.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:963f83df8e69e575b64d67dd447ebbc917db41a14bf38d4593a4183e7aaa8255", size = 9835122, upload-time = "2026-08-20T17:43:21.708Z" }, + { url = "https://files.pythonhosted.org/packages/24/12/c6e22d686372c15bcb7af99831f1a1be96df696491babf4f24e4f942c527/ruff-0.16.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32a5057c7ff3f6e6480a48fccfb3a412a690f48a3d03ac5cf08177d6c2da3ade", size = 9977162, upload-time = "2026-08-20T17:43:24.236Z" }, + { url = "https://files.pythonhosted.org/packages/46/49/72b10ec912f5ab5854992eaf7aa7cd36729b6937d9dc4e0fb41b3bf428ec/ruff-0.16.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b3dce8d9b0c57c265b91885a66a567d8ea1372e8eb4e250fa8e5e3f579e99cff", size = 9829789, upload-time = "2026-08-20T17:43:26.966Z" }, + { url = "https://files.pythonhosted.org/packages/fa/80/0f30e32e7f6ee26edc39075502db9d368d788a44a79b55f763eb4ab03796/ruff-0.16.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7dc651db49283c69f8e72c834eec4fe5573e4c646856aebece0ce385dceb2a80", size = 10527949, upload-time = "2026-08-20T17:43:29.384Z" }, + { url = "https://files.pythonhosted.org/packages/52/3d/86e8ad3542169e56cac3859a343afdb9df2ad54d35a59ce1e67baee83421/ruff-0.16.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3817b87dbcabc92f13b05019257c5b89b5b4d51b5fb20f56fb5235ceb723cd07", size = 11333695, upload-time = "2026-08-20T17:43:31.872Z" }, + { url = "https://files.pythonhosted.org/packages/d0/16/481c29b380c20a0054a8261066665e1b3488e23636c49d0a43e75975b9bb/ruff-0.16.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e9fce1499134b2c8c68e5166f95705a5812062bb93aacc5f9873bb1a27084bc7", size = 10727741, upload-time = "2026-08-20T17:43:34.596Z" }, + { url = "https://files.pythonhosted.org/packages/5e/b6/56bc0b8cf45b54b28b3a5e6381c8945d51b5b18adf659454c32295209a31/ruff-0.16.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2d812e482f5a7e02eee26cd73d2a37ebbdf47d795ea63ba1b89110ae93e9fb3", size = 10286522, upload-time = "2026-08-20T17:43:37.288Z" }, + { url = "https://files.pythonhosted.org/packages/e8/8b/b345b4fb110f2fbe2bd31eabd271e5e8b3b7e4ee6c0e02f2dc6be78db000/ruff-0.16.4-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:6baaf984aa7976edf93d3b627fe2d1d22ee94bbca05fa6f90fc76d73924e3454", size = 10584182, upload-time = "2026-08-20T17:43:39.984Z" }, + { url = "https://files.pythonhosted.org/packages/29/e5/827b34041c35f58774a9681a4213994c164fc987800f4dddabcf451da0bf/ruff-0.16.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:bdfcf0b28662eb890372d50f92c283bb94e67e7635ed93c7fd533970acff7b2b", size = 10134195, upload-time = "2026-08-20T17:43:42.351Z" }, + { url = "https://files.pythonhosted.org/packages/0f/10/d0bffcdd6729b87afc82ba0ef377173356a7dc8e972f5179968cf2fdf98c/ruff-0.16.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:b66b02cb9b04f537643cadf5768e5f98dc461890d530cb67113d71c8c76e605d", size = 9825821, upload-time = "2026-08-20T17:43:44.532Z" }, + { url = "https://files.pythonhosted.org/packages/f5/32/0db2a863b796ca62d83e92a07a3ccf00921b14db02059347576a2fda3d4b/ruff-0.16.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:8528bf9a4b291a60bf02ea453511e8ce6215bd2b982ee80405b66b008b6c30a0", size = 10267658, upload-time = "2026-08-20T17:43:46.989Z" }, + { url = "https://files.pythonhosted.org/packages/b2/a0/fbdeb59e48c6261f523e56c8f12e9c08fbe693786595cc7e3959207a9232/ruff-0.16.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:fbd85d2875fdd67e833213a651f613bbf25303abf6aa822a5121f4531195678d", size = 10697071, upload-time = "2026-08-20T17:43:49.891Z" }, + { url = "https://files.pythonhosted.org/packages/aa/28/0c6dd865859c6d17bc8ccc34cb72b0e02d6c7eb25e8a1e22b5bea681e2c0/ruff-0.16.4-py3-none-win32.whl", hash = "sha256:312769988007aaeb8e189b443ccdd03c0e6374489e053467be6d96518ebff76e", size = 10021687, upload-time = "2026-08-20T17:43:52.281Z" }, + { url = "https://files.pythonhosted.org/packages/a3/03/e724450f621698117f9aa6dd241c94d0274ae96781378dc86745ae29f0e7/ruff-0.16.4-py3-none-win_amd64.whl", hash = "sha256:05d9d27a18c4bcbefada602480ec9e01e0bc949d432e0ced5df77edac195919c", size = 10567657, upload-time = "2026-08-20T17:43:54.78Z" }, + { url = "https://files.pythonhosted.org/packages/0e/fe/da8b9e1347696bb22120b77280ec5ce25d500ca5cb39d5ad6e5c18de19c1/ruff-0.16.4-py3-none-win_arm64.whl", hash = "sha256:a3a61621c9b6f6a89573e938a080e648f1695baa3f58570a3a707bc51ff65a21", size = 10451579, upload-time = "2026-08-20T17:43:57.135Z" }, ] [[package]]