Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-flake8-comprehensions for
openSUSE:Factory checked in at 2025-09-29 16:37:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-flake8-comprehensions (Old)
and /work/SRC/openSUSE:Factory/.python-flake8-comprehensions.new.11973
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-flake8-comprehensions"
Mon Sep 29 16:37:54 2025 rev:18 rq:1307767 version:3.17.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-flake8-comprehensions/python-flake8-comprehensions.changes
2024-10-30 17:37:41.260428951 +0100
+++
/work/SRC/openSUSE:Factory/.python-flake8-comprehensions.new.11973/python-flake8-comprehensions.changes
2025-09-29 16:38:26.942081676 +0200
@@ -1,0 +2,6 @@
+Mon Sep 29 11:38:02 UTC 2025 - Dirk Müller <[email protected]>
+
+- update to 3.17.0:
+ * Support Python 3.14.
+
+-------------------------------------------------------------------
Old:
----
flake8-comprehensions-3.16.0-gh.tar.gz
New:
----
flake8-comprehensions-3.17.0-gh.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-flake8-comprehensions.spec ++++++
--- /var/tmp/diff_new_pack.cXoCx5/_old 2025-09-29 16:38:27.462103475 +0200
+++ /var/tmp/diff_new_pack.cXoCx5/_new 2025-09-29 16:38:27.466103643 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-flake8-comprehensions
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-flake8-comprehensions
-Version: 3.16.0
+Version: 3.17.0
Release: 0
Summary: A flake8 plugin to help you write better list/set/dict
comprehensions
License: ISC
++++++ flake8-comprehensions-3.16.0-gh.tar.gz ->
flake8-comprehensions-3.17.0-gh.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/flake8-comprehensions-3.16.0/.github/FUNDING.yml
new/flake8-comprehensions-3.17.0/.github/FUNDING.yml
--- old/flake8-comprehensions-3.16.0/.github/FUNDING.yml 2024-10-27
22:49:55.000000000 +0100
+++ new/flake8-comprehensions-3.17.0/.github/FUNDING.yml 2025-09-10
00:36:04.000000000 +0200
@@ -1,3 +1,4 @@
+github: adamchainz
tidelift: pypi/flake8-comprehensions
custom:
- "https://adamj.eu/books/"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/flake8-comprehensions-3.16.0/.github/workflows/main.yml
new/flake8-comprehensions-3.17.0/.github/workflows/main.yml
--- old/flake8-comprehensions-3.16.0/.github/workflows/main.yml 2024-10-27
22:49:55.000000000 +0100
+++ new/flake8-comprehensions-3.17.0/.github/workflows/main.yml 2025-09-10
00:36:04.000000000 +0200
@@ -20,14 +20,15 @@
strategy:
matrix:
python-version:
- - 3.9
+ - '3.9'
- '3.10'
- '3.11'
- '3.12'
- '3.13'
+ - '3.14'
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
@@ -35,16 +36,12 @@
allow-prereleases: true
- name: Install uv
- uses: astral-sh/setup-uv@v3
+ uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- cache-dependency-glob: tests/requirements/*.txt
-
- - name: Install dependencies
- run: uv pip install --system tox tox-uv
- name: Run tox targets for ${{ matrix.python-version }}
- run: tox run -f py$(echo ${{ matrix.python-version }} | tr -d .)
+ run: uvx --with tox-uv tox run -f py$(echo ${{ matrix.python-version }}
| tr -d .)
release:
needs: [tests]
@@ -57,9 +54,9 @@
id-token: write
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
- - uses: astral-sh/setup-uv@v3
+ - uses: astral-sh/setup-uv@v6
- name: Build
run: uv build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/flake8-comprehensions-3.16.0/.pre-commit-config.yaml
new/flake8-comprehensions-3.17.0/.pre-commit-config.yaml
--- old/flake8-comprehensions-3.16.0/.pre-commit-config.yaml 2024-10-27
22:49:55.000000000 +0100
+++ new/flake8-comprehensions-3.17.0/.pre-commit-config.yaml 2025-09-10
00:36:04.000000000 +0200
@@ -2,11 +2,11 @@
autoupdate_schedule: monthly
default_language_version:
- python: python3.12
+ python: python3.13
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v5.0.0
+ rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c # frozen: v6.0.0
hooks:
- id: check-added-large-files
- id: check-case-conflict
@@ -16,50 +16,37 @@
- id: check-toml
- id: end-of-file-fixer
- id: trailing-whitespace
+- repo: https://github.com/crate-ci/typos
+ rev: edb4e206047e89b93ebe08f1a2ccc3d581a70cc7 # frozen: v1
+ hooks:
+ - id: typos
- repo: https://github.com/tox-dev/pyproject-fmt
- rev: 2.2.4
+ rev: 8184a5b72f4a8fcd003b041ecb04c41a9f34fd2b # frozen: v2.6.0
hooks:
- id: pyproject-fmt
- repo: https://github.com/tox-dev/tox-ini-fmt
- rev: 1.4.1
+ rev: 4e2cb0e98735e1a57a027d9440b91663e31d10b0 # frozen: 1.6.0
hooks:
- id: tox-ini-fmt
- repo: https://github.com/rstcheck/rstcheck
- rev: v6.2.4
+ rev: 27258fde1ee7d3b1e6a7bbc58f4c7b1dd0e719e5 # frozen: v6.2.5
hooks:
- id: rstcheck
additional_dependencies:
- tomli==2.0.1
-- repo: https://github.com/asottile/pyupgrade
- rev: v3.17.0
- hooks:
- - id: pyupgrade
- args: [--py39-plus]
-- repo: https://github.com/psf/black-pre-commit-mirror
- rev: 24.8.0
- hooks:
- - id: black
- repo: https://github.com/adamchainz/blacken-docs
- rev: 1.18.0
+ rev: 78a9dcbecf4f755f65d1f3dec556bc249d723600 # frozen: 1.19.1
hooks:
- id: blacken-docs
additional_dependencies:
- - black==23.1.0
-- repo: https://github.com/pycqa/isort
- rev: 5.13.2
- hooks:
- - id: isort
- name: isort (python)
-- repo: https://github.com/PyCQA/flake8
- rev: 7.1.1
- hooks:
- - id: flake8
- additional_dependencies:
- - flake8-bugbear
- - flake8-comprehensions
- - flake8-logging
- - flake8-tidy-imports
+ - black==25.1.0
+- repo: https://github.com/astral-sh/ruff-pre-commit
+ rev: db90487f48a9dd992d243ef63c156eaffddeaf28 # frozen: v0.12.11
+ hooks:
+ - id: ruff-check
+ args: [ --fix ]
+ - id: ruff-format
- repo: https://github.com/pre-commit/mirrors-mypy
- rev: v1.11.2
+ rev: 412de98d50e846f31ea6f4b0ad036f2c24a7a024 # frozen: v1.17.1
hooks:
- id: mypy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/flake8-comprehensions-3.16.0/.typos.toml
new/flake8-comprehensions-3.17.0/.typos.toml
--- old/flake8-comprehensions-3.16.0/.typos.toml 1970-01-01
01:00:00.000000000 +0100
+++ new/flake8-comprehensions-3.17.0/.typos.toml 2025-09-10
00:36:04.000000000 +0200
@@ -0,0 +1,10 @@
+# Configuration file for 'typos' tool
+# https://github.com/crate-ci/typos
+
+[default]
+extend-ignore-re = [
+ # Single line ignore comments
+ "(?Rm)^.*(#|//)\\s*typos: ignore$",
+ # Multi-line ignore comments
+ "(?s)(#|//)\\s*typos: off.*?\\n\\s*(#|//)\\s*typos: on"
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/flake8-comprehensions-3.16.0/CHANGELOG.rst
new/flake8-comprehensions-3.17.0/CHANGELOG.rst
--- old/flake8-comprehensions-3.16.0/CHANGELOG.rst 2024-10-27
22:49:55.000000000 +0100
+++ new/flake8-comprehensions-3.17.0/CHANGELOG.rst 2025-09-10
00:36:04.000000000 +0200
@@ -2,6 +2,11 @@
Changelog
=========
+3.17.0 (2025-09-09)
+-------------------
+
+* Support Python 3.14.
+
3.16.0 (2024-10-27)
-------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/flake8-comprehensions-3.16.0/README.rst
new/flake8-comprehensions-3.17.0/README.rst
--- old/flake8-comprehensions-3.16.0/README.rst 2024-10-27 22:49:55.000000000
+0100
+++ new/flake8-comprehensions-3.17.0/README.rst 2025-09-10 00:36:04.000000000
+0200
@@ -27,7 +27,7 @@
Requirements
============
-Python 3.9 to 3.13 supported.
+Python 3.9 to 3.14 supported.
Installation
============
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/flake8-comprehensions-3.16.0/pyproject.toml
new/flake8-comprehensions-3.17.0/pyproject.toml
--- old/flake8-comprehensions-3.16.0/pyproject.toml 2024-10-27
22:49:55.000000000 +0100
+++ new/flake8-comprehensions-3.17.0/pyproject.toml 2025-09-10
00:36:04.000000000 +0200
@@ -1,12 +1,12 @@
[build-system]
build-backend = "setuptools.build_meta"
requires = [
- "setuptools",
+ "setuptools>=77",
]
[project]
name = "flake8-comprehensions"
-version = "3.16.0"
+version = "3.17.0"
description = "A flake8 plugin to help you write better list/set/dict
comprehensions."
readme = "README.rst"
keywords = [
@@ -16,6 +16,8 @@
"list comprehension",
"set comprehension",
]
+license = "MIT"
+license-files = [ "LICENSE" ]
authors = [
{ name = "Adam Johnson", email = "[email protected]" },
]
@@ -24,7 +26,6 @@
"Development Status :: 5 - Production/Stable",
"Framework :: Flake8",
"Intended Audience :: Developers",
- "License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.9",
@@ -32,23 +33,61 @@
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
+ "Programming Language :: Python :: 3.14",
"Typing :: Typed",
]
dependencies = [
- "flake8!=3.2,>=3",
+ "flake8>=3,!=3.2",
]
urls = { Changelog =
"https://github.com/adamchainz/flake8-comprehensions/blob/main/CHANGELOG.rst",
Funding = "https://adamj.eu/books/", Repository =
"https://github.com/adamchainz/flake8-comprehensions" }
entry-points."flake8.extension".C4 =
"flake8_comprehensions:ComprehensionChecker"
-[tool.isort]
-add_imports = [
- "from __future__ import annotations",
+[dependency-groups]
+test = [
+ "pytest",
+ "pytest-flake8-path",
+ "pytest-randomly",
]
-force_single_line = true
-profile = "black"
+
+[tool.ruff]
+lint.select = [
+ # flake8-bugbear
+ "B",
+ # flake8-comprehensions
+ "C4",
+ # pycodestyle
+ "E",
+ # Pyflakes errors
+ "F",
+ # isort
+ "I",
+ # flake8-simplify
+ "SIM",
+ # flake8-tidy-imports
+ "TID",
+ # pyupgrade
+ "UP",
+ # Pyflakes warnings
+ "W",
+]
+lint.ignore = [
+ # flake8-bugbear opinionated rules
+ "B9",
+ # line-too-long
+ "E501",
+ # suppressible-exception
+ "SIM105",
+ # if-else-block-instead-of-if-exp
+ "SIM108",
+]
+lint.extend-safe-fixes = [
+ # non-pep585-annotation
+ "UP006",
+]
+lint.isort.required-imports = [ "from __future__ import annotations" ]
[tool.pyproject-fmt]
-max_supported_python = "3.13"
+max_supported_python = "3.14"
[tool.pytest.ini_options]
addopts = """\
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/flake8-comprehensions-3.16.0/src/flake8_comprehensions/__init__.py
new/flake8-comprehensions-3.17.0/src/flake8_comprehensions/__init__.py
--- old/flake8-comprehensions-3.16.0/src/flake8_comprehensions/__init__.py
2024-10-27 22:49:55.000000000 +0100
+++ new/flake8-comprehensions-3.17.0/src/flake8_comprehensions/__init__.py
2025-09-10 00:36:04.000000000 +0200
@@ -182,15 +182,7 @@
and not has_star_args(node)
and not has_double_star_args(node)
and node.func.id == "dict"
- ):
- yield (
- node.lineno,
- node.col_offset,
- self.messages["C408"].format(type=node.func.id),
- type(self),
- )
-
- elif (
+ ) or (
num_positional_args == 0
and num_keyword_args == 0
and node.func.id in ("tuple", "list")
@@ -215,10 +207,8 @@
for keyword in node.args[0].keywords:
if keyword.arg != "reverse":
continue
- if isinstance(keyword.value, ast.NameConstant):
- reverse_flag_value = keyword.value.value
- elif isinstance(keyword.value, ast.Num):
- reverse_flag_value = bool(keyword.value.n)
+ if isinstance(keyword.value, ast.Constant):
+ reverse_flag_value = bool(keyword.value.value)
else:
# Complex value
reverse_flag_value = None
@@ -226,9 +216,7 @@
if reverse_flag_value is None:
remediation = " - toggle reverse argument to
sorted()"
else:
- remediation = " - use sorted(...,
reverse={!r})".format(
- not reverse_flag_value
- )
+ remediation = f" - use sorted(..., reverse={not
reverse_flag_value!r})"
msg = self.messages["C413"].format(
inner=node.args[0].func.id,
@@ -277,8 +265,8 @@
and node.args[0].slice.upper is None
and isinstance(node.args[0].slice.step, ast.UnaryOp)
and isinstance(node.args[0].slice.step.op, ast.USub)
- and isinstance(node.args[0].slice.step.operand, ast.Num)
- and node.args[0].slice.step.operand.n == 1
+ and isinstance(node.args[0].slice.step.operand,
ast.Constant)
+ and node.args[0].slice.step.operand.value == 1
):
yield (
node.lineno,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/flake8-comprehensions-3.16.0/tests/requirements/compile.py
new/flake8-comprehensions-3.17.0/tests/requirements/compile.py
--- old/flake8-comprehensions-3.16.0/tests/requirements/compile.py
2024-10-27 22:49:55.000000000 +0100
+++ new/flake8-comprehensions-3.17.0/tests/requirements/compile.py
1970-01-01 01:00:00.000000000 +0100
@@ -1,26 +0,0 @@
-#!/usr/bin/env python
-from __future__ import annotations
-
-import os
-import subprocess
-import sys
-from functools import partial
-from pathlib import Path
-
-if __name__ == "__main__":
- os.chdir(Path(__file__).parent)
- common_args = [
- "uv",
- "pip",
- "compile",
- "--quiet",
- "--generate-hashes",
- "requirements.in",
- *sys.argv[1:],
- ]
- run = partial(subprocess.run, check=True)
- run([*common_args, "--python", "3.9", "--output-file", "py39.txt"])
- run([*common_args, "--python", "3.10", "--output-file", "py310.txt"])
- run([*common_args, "--python", "3.11", "--output-file", "py311.txt"])
- run([*common_args, "--python", "3.12", "--output-file", "py312.txt"])
- run([*common_args, "--python", "3.13", "--output-file", "py313.txt"])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/flake8-comprehensions-3.16.0/tests/requirements/py310.txt
new/flake8-comprehensions-3.17.0/tests/requirements/py310.txt
--- old/flake8-comprehensions-3.16.0/tests/requirements/py310.txt
2024-10-27 22:49:55.000000000 +0100
+++ new/flake8-comprehensions-3.17.0/tests/requirements/py310.txt
1970-01-01 01:00:00.000000000 +0100
@@ -1,53 +0,0 @@
-# This file was autogenerated by uv via the following command:
-# uv pip compile --generate-hashes requirements.in --python 3.10
--output-file py310.txt
-exceptiongroup==1.2.2 \
-
--hash=sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b \
-
--hash=sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc
- # via pytest
-flake8==7.1.1 \
-
--hash=sha256:049d058491e228e03e67b390f311bbf88fce2dbaa8fa673e7aea87b7198b8d38 \
-
--hash=sha256:597477df7860daa5aa0fdd84bf5208a043ab96b8e96ab708770ae0364dd03213
- # via pytest-flake8-path
-iniconfig==2.0.0 \
-
--hash=sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3 \
-
--hash=sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374
- # via pytest
-mccabe==0.7.0 \
-
--hash=sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325 \
-
--hash=sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e
- # via flake8
-packaging==24.1 \
-
--hash=sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002 \
-
--hash=sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124
- # via pytest
-pluggy==1.5.0 \
-
--hash=sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1 \
-
--hash=sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669
- # via pytest
-pycodestyle==2.12.1 \
-
--hash=sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3 \
-
--hash=sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521
- # via flake8
-pyflakes==3.2.0 \
-
--hash=sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f \
-
--hash=sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a
- # via flake8
-pytest==8.3.2 \
-
--hash=sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5 \
-
--hash=sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce
- # via
- # -r requirements.in
- # pytest-flake8-path
- # pytest-randomly
-pytest-flake8-path==1.5.0 \
-
--hash=sha256:2c144a3127995d34e82df397350dbef7780c9920c5b7e9ebc81f63299011381e \
-
--hash=sha256:8766879344883e67762fc3f4f8f0d624a0d143de71f6488788599b3583e279a9
- # via -r requirements.in
-pytest-randomly==3.15.0 \
-
--hash=sha256:0516f4344b29f4e9cdae8bce31c4aeebf59d0b9ef05927c33354ff3859eeeca6 \
-
--hash=sha256:b908529648667ba5e54723088edd6f82252f540cc340d748d1fa985539687047
- # via -r requirements.in
-tomli==2.0.1 \
-
--hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \
-
--hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f
- # via pytest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/flake8-comprehensions-3.16.0/tests/requirements/py311.txt
new/flake8-comprehensions-3.17.0/tests/requirements/py311.txt
--- old/flake8-comprehensions-3.16.0/tests/requirements/py311.txt
2024-10-27 22:49:55.000000000 +0100
+++ new/flake8-comprehensions-3.17.0/tests/requirements/py311.txt
1970-01-01 01:00:00.000000000 +0100
@@ -1,45 +0,0 @@
-# This file was autogenerated by uv via the following command:
-# uv pip compile --generate-hashes requirements.in --python 3.11
--output-file py311.txt
-flake8==7.1.1 \
-
--hash=sha256:049d058491e228e03e67b390f311bbf88fce2dbaa8fa673e7aea87b7198b8d38 \
-
--hash=sha256:597477df7860daa5aa0fdd84bf5208a043ab96b8e96ab708770ae0364dd03213
- # via pytest-flake8-path
-iniconfig==2.0.0 \
-
--hash=sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3 \
-
--hash=sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374
- # via pytest
-mccabe==0.7.0 \
-
--hash=sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325 \
-
--hash=sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e
- # via flake8
-packaging==24.1 \
-
--hash=sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002 \
-
--hash=sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124
- # via pytest
-pluggy==1.5.0 \
-
--hash=sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1 \
-
--hash=sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669
- # via pytest
-pycodestyle==2.12.1 \
-
--hash=sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3 \
-
--hash=sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521
- # via flake8
-pyflakes==3.2.0 \
-
--hash=sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f \
-
--hash=sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a
- # via flake8
-pytest==8.3.2 \
-
--hash=sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5 \
-
--hash=sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce
- # via
- # -r requirements.in
- # pytest-flake8-path
- # pytest-randomly
-pytest-flake8-path==1.5.0 \
-
--hash=sha256:2c144a3127995d34e82df397350dbef7780c9920c5b7e9ebc81f63299011381e \
-
--hash=sha256:8766879344883e67762fc3f4f8f0d624a0d143de71f6488788599b3583e279a9
- # via -r requirements.in
-pytest-randomly==3.15.0 \
-
--hash=sha256:0516f4344b29f4e9cdae8bce31c4aeebf59d0b9ef05927c33354ff3859eeeca6 \
-
--hash=sha256:b908529648667ba5e54723088edd6f82252f540cc340d748d1fa985539687047
- # via -r requirements.in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/flake8-comprehensions-3.16.0/tests/requirements/py312.txt
new/flake8-comprehensions-3.17.0/tests/requirements/py312.txt
--- old/flake8-comprehensions-3.16.0/tests/requirements/py312.txt
2024-10-27 22:49:55.000000000 +0100
+++ new/flake8-comprehensions-3.17.0/tests/requirements/py312.txt
1970-01-01 01:00:00.000000000 +0100
@@ -1,45 +0,0 @@
-# This file was autogenerated by uv via the following command:
-# uv pip compile --generate-hashes requirements.in --python 3.12
--output-file py312.txt
-flake8==7.1.1 \
-
--hash=sha256:049d058491e228e03e67b390f311bbf88fce2dbaa8fa673e7aea87b7198b8d38 \
-
--hash=sha256:597477df7860daa5aa0fdd84bf5208a043ab96b8e96ab708770ae0364dd03213
- # via pytest-flake8-path
-iniconfig==2.0.0 \
-
--hash=sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3 \
-
--hash=sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374
- # via pytest
-mccabe==0.7.0 \
-
--hash=sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325 \
-
--hash=sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e
- # via flake8
-packaging==24.1 \
-
--hash=sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002 \
-
--hash=sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124
- # via pytest
-pluggy==1.5.0 \
-
--hash=sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1 \
-
--hash=sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669
- # via pytest
-pycodestyle==2.12.1 \
-
--hash=sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3 \
-
--hash=sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521
- # via flake8
-pyflakes==3.2.0 \
-
--hash=sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f \
-
--hash=sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a
- # via flake8
-pytest==8.3.2 \
-
--hash=sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5 \
-
--hash=sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce
- # via
- # -r requirements.in
- # pytest-flake8-path
- # pytest-randomly
-pytest-flake8-path==1.5.0 \
-
--hash=sha256:2c144a3127995d34e82df397350dbef7780c9920c5b7e9ebc81f63299011381e \
-
--hash=sha256:8766879344883e67762fc3f4f8f0d624a0d143de71f6488788599b3583e279a9
- # via -r requirements.in
-pytest-randomly==3.15.0 \
-
--hash=sha256:0516f4344b29f4e9cdae8bce31c4aeebf59d0b9ef05927c33354ff3859eeeca6 \
-
--hash=sha256:b908529648667ba5e54723088edd6f82252f540cc340d748d1fa985539687047
- # via -r requirements.in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/flake8-comprehensions-3.16.0/tests/requirements/py313.txt
new/flake8-comprehensions-3.17.0/tests/requirements/py313.txt
--- old/flake8-comprehensions-3.16.0/tests/requirements/py313.txt
2024-10-27 22:49:55.000000000 +0100
+++ new/flake8-comprehensions-3.17.0/tests/requirements/py313.txt
1970-01-01 01:00:00.000000000 +0100
@@ -1,45 +0,0 @@
-# This file was autogenerated by uv via the following command:
-# uv pip compile --generate-hashes requirements.in --python 3.13
--output-file py313.txt
-flake8==7.1.1 \
-
--hash=sha256:049d058491e228e03e67b390f311bbf88fce2dbaa8fa673e7aea87b7198b8d38 \
-
--hash=sha256:597477df7860daa5aa0fdd84bf5208a043ab96b8e96ab708770ae0364dd03213
- # via pytest-flake8-path
-iniconfig==2.0.0 \
-
--hash=sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3 \
-
--hash=sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374
- # via pytest
-mccabe==0.7.0 \
-
--hash=sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325 \
-
--hash=sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e
- # via flake8
-packaging==24.1 \
-
--hash=sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002 \
-
--hash=sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124
- # via pytest
-pluggy==1.5.0 \
-
--hash=sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1 \
-
--hash=sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669
- # via pytest
-pycodestyle==2.12.1 \
-
--hash=sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3 \
-
--hash=sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521
- # via flake8
-pyflakes==3.2.0 \
-
--hash=sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f \
-
--hash=sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a
- # via flake8
-pytest==8.3.2 \
-
--hash=sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5 \
-
--hash=sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce
- # via
- # -r requirements.in
- # pytest-flake8-path
- # pytest-randomly
-pytest-flake8-path==1.5.0 \
-
--hash=sha256:2c144a3127995d34e82df397350dbef7780c9920c5b7e9ebc81f63299011381e \
-
--hash=sha256:8766879344883e67762fc3f4f8f0d624a0d143de71f6488788599b3583e279a9
- # via -r requirements.in
-pytest-randomly==3.15.0 \
-
--hash=sha256:0516f4344b29f4e9cdae8bce31c4aeebf59d0b9ef05927c33354ff3859eeeca6 \
-
--hash=sha256:b908529648667ba5e54723088edd6f82252f540cc340d748d1fa985539687047
- # via -r requirements.in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/flake8-comprehensions-3.16.0/tests/requirements/py39.txt
new/flake8-comprehensions-3.17.0/tests/requirements/py39.txt
--- old/flake8-comprehensions-3.16.0/tests/requirements/py39.txt
2024-10-27 22:49:55.000000000 +0100
+++ new/flake8-comprehensions-3.17.0/tests/requirements/py39.txt
1970-01-01 01:00:00.000000000 +0100
@@ -1,61 +0,0 @@
-# This file was autogenerated by uv via the following command:
-# uv pip compile --generate-hashes requirements.in --python 3.9
--output-file py39.txt
-exceptiongroup==1.2.2 \
-
--hash=sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b \
-
--hash=sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc
- # via pytest
-flake8==7.1.1 \
-
--hash=sha256:049d058491e228e03e67b390f311bbf88fce2dbaa8fa673e7aea87b7198b8d38 \
-
--hash=sha256:597477df7860daa5aa0fdd84bf5208a043ab96b8e96ab708770ae0364dd03213
- # via pytest-flake8-path
-importlib-metadata==8.4.0 \
-
--hash=sha256:66f342cc6ac9818fc6ff340576acd24d65ba0b3efabb2b4ac08b598965a4a2f1 \
-
--hash=sha256:9a547d3bc3608b025f93d403fdd1aae741c24fbb8314df4b155675742ce303c5
- # via pytest-randomly
-iniconfig==2.0.0 \
-
--hash=sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3 \
-
--hash=sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374
- # via pytest
-mccabe==0.7.0 \
-
--hash=sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325 \
-
--hash=sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e
- # via flake8
-packaging==24.1 \
-
--hash=sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002 \
-
--hash=sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124
- # via pytest
-pluggy==1.5.0 \
-
--hash=sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1 \
-
--hash=sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669
- # via pytest
-pycodestyle==2.12.1 \
-
--hash=sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3 \
-
--hash=sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521
- # via flake8
-pyflakes==3.2.0 \
-
--hash=sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f \
-
--hash=sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a
- # via flake8
-pytest==8.3.2 \
-
--hash=sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5 \
-
--hash=sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce
- # via
- # -r requirements.in
- # pytest-flake8-path
- # pytest-randomly
-pytest-flake8-path==1.5.0 \
-
--hash=sha256:2c144a3127995d34e82df397350dbef7780c9920c5b7e9ebc81f63299011381e \
-
--hash=sha256:8766879344883e67762fc3f4f8f0d624a0d143de71f6488788599b3583e279a9
- # via -r requirements.in
-pytest-randomly==3.15.0 \
-
--hash=sha256:0516f4344b29f4e9cdae8bce31c4aeebf59d0b9ef05927c33354ff3859eeeca6 \
-
--hash=sha256:b908529648667ba5e54723088edd6f82252f540cc340d748d1fa985539687047
- # via -r requirements.in
-tomli==2.0.1 \
-
--hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \
-
--hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f
- # via pytest
-zipp==3.20.1 \
-
--hash=sha256:9960cd8967c8f85a56f920d5d507274e74f9ff813a0ab8889a5b5be2daf44064 \
-
--hash=sha256:c22b14cc4763c5a5b04134207736c107db42e9d3ef2d9779d465f5f1bcba572b
- # via importlib-metadata
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/flake8-comprehensions-3.16.0/tests/requirements/requirements.in
new/flake8-comprehensions-3.17.0/tests/requirements/requirements.in
--- old/flake8-comprehensions-3.16.0/tests/requirements/requirements.in
2024-10-27 22:49:55.000000000 +0100
+++ new/flake8-comprehensions-3.17.0/tests/requirements/requirements.in
1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-pytest
-pytest-flake8-path
-pytest-randomly
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/flake8-comprehensions-3.16.0/tox.ini
new/flake8-comprehensions-3.17.0/tox.ini
--- old/flake8-comprehensions-3.16.0/tox.ini 2024-10-27 22:49:55.000000000
+0100
+++ new/flake8-comprehensions-3.17.0/tox.ini 2025-09-10 00:36:04.000000000
+0200
@@ -2,13 +2,12 @@
requires =
tox>=4.2
env_list =
- py{313, 312, 311, 310, 39}
+ py{314, 313, 312, 311, 310, 39}
[testenv]
+runner = uv-venv-lock-runner
package = wheel
wheel_build_env = .pkg
-deps =
- -r tests/requirements/{envname}.txt
set_env =
PYTHONDEVMODE = 1
commands =
@@ -17,7 +16,5 @@
-W error::DeprecationWarning \
-W error::PendingDeprecationWarning \
-m pytest {posargs:tests}
-
-[flake8]
-max-line-length = 88
-extend-ignore = E203,E501
+dependency_groups =
+ test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/flake8-comprehensions-3.16.0/uv.lock
new/flake8-comprehensions-3.17.0/uv.lock
--- old/flake8-comprehensions-3.16.0/uv.lock 1970-01-01 01:00:00.000000000
+0100
+++ new/flake8-comprehensions-3.17.0/uv.lock 2025-09-10 00:36:04.000000000
+0200
@@ -0,0 +1,239 @@
+version = 1
+revision = 3
+requires-python = ">=3.9"
+
+[[package]]
+name = "colorama"
+version = "0.4.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url =
"https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz",
hash =
"sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size
= 27697, upload-time = "2022-10-25T02:36:22.414Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl",
hash =
"sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size
= 25335, upload-time = "2022-10-25T02:36:20.889Z" },
+]
+
+[[package]]
+name = "exceptiongroup"
+version = "1.3.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "typing-extensions", marker = "python_full_version < '3.13'" },
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz",
hash =
"sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size
= 29749, upload-time = "2025-05-10T17:42:51.123Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl",
hash =
"sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size
= 16674, upload-time = "2025-05-10T17:42:49.33Z" },
+]
+
+[[package]]
+name = "flake8"
+version = "7.3.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "mccabe" },
+ { name = "pycodestyle" },
+ { name = "pyflakes" },
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/9b/af/fbfe3c4b5a657d79e5c47a2827a362f9e1b763336a52f926126aa6dc7123/flake8-7.3.0.tar.gz",
hash =
"sha256:fe044858146b9fc69b551a4b490d69cf960fcb78ad1edcb84e7fbb1b4a8e3872", size
= 48326, upload-time = "2025-06-20T19:31:35.838Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/9f/56/13ab06b4f93ca7cac71078fbe37fcea175d3216f31f85c3168a6bbd0bb9a/flake8-7.3.0-py2.py3-none-any.whl",
hash =
"sha256:b9696257b9ce8beb888cdbe31cf885c90d31928fe202be0889a7cdafad32f01e", size
= 57922, upload-time = "2025-06-20T19:31:34.425Z" },
+]
+
+[[package]]
+name = "flake8-comprehensions"
+version = "3.17.0"
+source = { editable = "." }
+dependencies = [
+ { name = "flake8" },
+]
+
+[package.dev-dependencies]
+test = [
+ { name = "pytest" },
+ { name = "pytest-flake8-path" },
+ { name = "pytest-randomly" },
+]
+
+[package.metadata]
+requires-dist = [{ name = "flake8", specifier = ">=3,!=3.2" }]
+
+[package.metadata.requires-dev]
+test = [
+ { name = "pytest" },
+ { name = "pytest-flake8-path" },
+ { name = "pytest-randomly" },
+]
+
+[[package]]
+name = "importlib-metadata"
+version = "8.7.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "zipp" },
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz",
hash =
"sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size
= 56641, upload-time = "2025-04-27T15:29:01.736Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl",
hash =
"sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", size
= 27656, upload-time = "2025-04-27T15:29:00.214Z" },
+]
+
+[[package]]
+name = "iniconfig"
+version = "2.1.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url =
"https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz",
hash =
"sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size
= 4793, upload-time = "2025-03-19T20:09:59.721Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl",
hash =
"sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size
= 6050, upload-time = "2025-03-19T20:10:01.071Z" },
+]
+
+[[package]]
+name = "mccabe"
+version = "0.7.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url =
"https://files.pythonhosted.org/packages/e7/ff/0ffefdcac38932a54d2b5eed4e0ba8a408f215002cd178ad1df0f2806ff8/mccabe-0.7.0.tar.gz",
hash =
"sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325", size
= 9658, upload-time = "2022-01-24T01:14:51.113Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl",
hash =
"sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e", size
= 7350, upload-time = "2022-01-24T01:14:49.62Z" },
+]
+
+[[package]]
+name = "packaging"
+version = "25.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url =
"https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz",
hash =
"sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size
= 165727, upload-time = "2025-04-19T11:48:59.673Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl",
hash =
"sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size
= 66469, upload-time = "2025-04-19T11:48:57.875Z" },
+]
+
+[[package]]
+name = "pluggy"
+version = "1.6.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url =
"https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz",
hash =
"sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size
= 69412, upload-time = "2025-05-15T12:30:07.975Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl",
hash =
"sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size
= 20538, upload-time = "2025-05-15T12:30:06.134Z" },
+]
+
+[[package]]
+name = "pycodestyle"
+version = "2.14.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url =
"https://files.pythonhosted.org/packages/11/e0/abfd2a0d2efe47670df87f3e3a0e2edda42f055053c85361f19c0e2c1ca8/pycodestyle-2.14.0.tar.gz",
hash =
"sha256:c4b5b517d278089ff9d0abdec919cd97262a3367449ea1c8b49b91529167b783", size
= 39472, upload-time = "2025-06-20T18:49:48.75Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/d7/27/a58ddaf8c588a3ef080db9d0b7e0b97215cee3a45df74f3a94dbbf5c893a/pycodestyle-2.14.0-py2.py3-none-any.whl",
hash =
"sha256:dd6bf7cb4ee77f8e016f9c8e74a35ddd9f67e1d5fd4184d86c3b98e07099f42d", size
= 31594, upload-time = "2025-06-20T18:49:47.491Z" },
+]
+
+[[package]]
+name = "pyflakes"
+version = "3.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url =
"https://files.pythonhosted.org/packages/45/dc/fd034dc20b4b264b3d015808458391acbf9df40b1e54750ef175d39180b1/pyflakes-3.4.0.tar.gz",
hash =
"sha256:b24f96fafb7d2ab0ec5075b7350b3d2d2218eab42003821c06344973d3ea2f58", size
= 64669, upload-time = "2025-06-20T18:45:27.834Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/c2/2f/81d580a0fb83baeb066698975cb14a618bdbed7720678566f1b046a95fe8/pyflakes-3.4.0-py2.py3-none-any.whl",
hash =
"sha256:f742a7dbd0d9cb9ea41e9a24a918996e8170c799fa528688d40dd582c8265f4f", size
= 63551, upload-time = "2025-06-20T18:45:26.937Z" },
+]
+
+[[package]]
+name = "pygments"
+version = "2.19.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url =
"https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz",
hash =
"sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size
= 4968631, upload-time = "2025-06-21T13:39:12.283Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl",
hash =
"sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size
= 1225217, upload-time = "2025-06-21T13:39:07.939Z" },
+]
+
+[[package]]
+name = "pytest"
+version = "8.4.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32'" },
+ { name = "exceptiongroup", marker = "python_full_version < '3.11'" },
+ { name = "iniconfig" },
+ { name = "packaging" },
+ { name = "pluggy" },
+ { name = "pygments" },
+ { name = "tomli", marker = "python_full_version < '3.11'" },
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/08/ba/45911d754e8eba3d5a841a5ce61a65a685ff1798421ac054f85aa8747dfb/pytest-8.4.1.tar.gz",
hash =
"sha256:7c67fd69174877359ed9371ec3af8a3d2b04741818c51e5e99cc1742251fa93c", size
= 1517714, upload-time = "2025-06-18T05:48:06.109Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/29/16/c8a903f4c4dffe7a12843191437d7cd8e32751d5de349d45d3fe69544e87/pytest-8.4.1-py3-none-any.whl",
hash =
"sha256:539c70ba6fcead8e78eebbf1115e8b589e7565830d7d006a8723f19ac8a0afb7", size
= 365474, upload-time = "2025-06-18T05:48:03.955Z" },
+]
+
+[[package]]
+name = "pytest-flake8-path"
+version = "1.6.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "flake8" },
+ { name = "pytest" },
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/45/12/ac2ca30fde8bd7f3efca685f0337a94491b81ec26db2bb9ed3c570911dd4/pytest_flake8_path-1.6.0.tar.gz",
hash =
"sha256:40bb85c806630e37097a45c4e67130b9655efbb81904a9bfa89b1e23bc2529a5", size
= 5908, upload-time = "2024-10-25T15:18:26.99Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/54/1a/13939124a49d987242b1f9fed052c98c4cb9b909e8c2883ba9ec13968002/pytest_flake8_path-1.6.0-py3-none-any.whl",
hash =
"sha256:dafc81dc8f2ba49060a45139caa153fba291163d670c00ae20e194989b73a34e", size
= 5601, upload-time = "2024-10-25T15:18:25.648Z" },
+]
+
+[[package]]
+name = "pytest-randomly"
+version = "3.16.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "importlib-metadata", marker = "python_full_version < '3.10'" },
+ { name = "pytest" },
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/c0/68/d221ed7f4a2a49a664da721b8e87b52af6dd317af2a6cb51549cf17ac4b8/pytest_randomly-3.16.0.tar.gz",
hash =
"sha256:11bf4d23a26484de7860d82f726c0629837cf4064b79157bd18ec9d41d7feb26", size
= 13367, upload-time = "2024-10-25T15:45:34.274Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/22/70/b31577d7c46d8e2f9baccfed5067dd8475262a2331ffb0bfdf19361c9bde/pytest_randomly-3.16.0-py3-none-any.whl",
hash =
"sha256:8633d332635a1a0983d3bba19342196807f6afb17c3eef78e02c2f85dade45d6", size
= 8396, upload-time = "2024-10-25T15:45:32.78Z" },
+]
+
+[[package]]
+name = "tomli"
+version = "2.2.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url =
"https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz",
hash =
"sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size
= 17175, upload-time = "2024-11-27T22:38:36.873Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl",
hash =
"sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size
= 131077, upload-time = "2024-11-27T22:37:54.956Z" },
+ { url =
"https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl",
hash =
"sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size
= 123429, upload-time = "2024-11-27T22:37:56.698Z" },
+ { url =
"https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size
= 226067, upload-time = "2024-11-27T22:37:57.63Z" },
+ { url =
"https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size
= 236030, upload-time = "2024-11-27T22:37:59.344Z" },
+ { url =
"https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
hash =
"sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size
= 240898, upload-time = "2024-11-27T22:38:00.429Z" },
+ { url =
"https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl",
hash =
"sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size
= 229894, upload-time = "2024-11-27T22:38:02.094Z" },
+ { url =
"https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl",
hash =
"sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size
= 245319, upload-time = "2024-11-27T22:38:03.206Z" },
+ { url =
"https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl",
hash =
"sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size
= 238273, upload-time = "2024-11-27T22:38:04.217Z" },
+ { url =
"https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl",
hash =
"sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size
= 98310, upload-time = "2024-11-27T22:38:05.908Z" },
+ { url =
"https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl",
hash =
"sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size
= 108309, upload-time = "2024-11-27T22:38:06.812Z" },
+ { url =
"https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl",
hash =
"sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size
= 132762, upload-time = "2024-11-27T22:38:07.731Z" },
+ { url =
"https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl",
hash =
"sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size
= 123453, upload-time = "2024-11-27T22:38:09.384Z" },
+ { url =
"https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size
= 233486, upload-time = "2024-11-27T22:38:10.329Z" },
+ { url =
"https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size
= 242349, upload-time = "2024-11-27T22:38:11.443Z" },
+ { url =
"https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
hash =
"sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size
= 252159, upload-time = "2024-11-27T22:38:13.099Z" },
+ { url =
"https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl",
hash =
"sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size
= 237243, upload-time = "2024-11-27T22:38:14.766Z" },
+ { url =
"https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl",
hash =
"sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size
= 259645, upload-time = "2024-11-27T22:38:15.843Z" },
+ { url =
"https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl",
hash =
"sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size
= 244584, upload-time = "2024-11-27T22:38:17.645Z" },
+ { url =
"https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl",
hash =
"sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size
= 98875, upload-time = "2024-11-27T22:38:19.159Z" },
+ { url =
"https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl",
hash =
"sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size
= 109418, upload-time = "2024-11-27T22:38:20.064Z" },
+ { url =
"https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl",
hash =
"sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size
= 132708, upload-time = "2024-11-27T22:38:21.659Z" },
+ { url =
"https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl",
hash =
"sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size
= 123582, upload-time = "2024-11-27T22:38:22.693Z" },
+ { url =
"https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size
= 232543, upload-time = "2024-11-27T22:38:24.367Z" },
+ { url =
"https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size
= 241691, upload-time = "2024-11-27T22:38:26.081Z" },
+ { url =
"https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
hash =
"sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size
= 251170, upload-time = "2024-11-27T22:38:27.921Z" },
+ { url =
"https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl",
hash =
"sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size
= 236530, upload-time = "2024-11-27T22:38:29.591Z" },
+ { url =
"https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl",
hash =
"sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size
= 258666, upload-time = "2024-11-27T22:38:30.639Z" },
+ { url =
"https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl",
hash =
"sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size
= 243954, upload-time = "2024-11-27T22:38:31.702Z" },
+ { url =
"https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl",
hash =
"sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size
= 98724, upload-time = "2024-11-27T22:38:32.837Z" },
+ { url =
"https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl",
hash =
"sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size
= 109383, upload-time = "2024-11-27T22:38:34.455Z" },
+ { url =
"https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl",
hash =
"sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size
= 14257, upload-time = "2024-11-27T22:38:35.385Z" },
+]
+
+[[package]]
+name = "typing-extensions"
+version = "4.14.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url =
"https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz",
hash =
"sha256:38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36", size
= 107673, upload-time = "2025-07-04T13:28:34.16Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/b5/00/d631e67a838026495268c2f6884f3711a15a9a2a96cd244fdaea53b823fb/typing_extensions-4.14.1-py3-none-any.whl",
hash =
"sha256:d1e1e3b58374dc93031d6eda2420a48ea44a36c2b4766a4fdeb3710755731d76", size
= 43906, upload-time = "2025-07-04T13:28:32.743Z" },
+]
+
+[[package]]
+name = "zipp"
+version = "3.23.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url =
"https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz",
hash =
"sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size
= 25547, upload-time = "2025-06-08T17:06:39.4Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl",
hash =
"sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size
= 10276, upload-time = "2025-06-08T17:06:38.034Z" },
+]