Compare commits

...

6 Commits

7 changed files with 3828 additions and 2946 deletions

View File

@ -24,13 +24,13 @@ jobs:
id: setup-python id: setup-python
uses: actions/setup-python@v4 uses: actions/setup-python@v4
with: with:
python-version: '3.12.4' python-version: '3.13.1'
#---------------------------------------------- #----------------------------------------------
# ----- install & configure poetry ----- # ----- install & configure poetry -----
#---------------------------------------------- #----------------------------------------------
- name: Install poetry - name: Install poetry
env: # Keep in sync with `POETRY_VERSION` in `Dockerfile` env: # Keep in sync with `POETRY_VERSION` in `Dockerfile`
POETRY_VERSION: "1.8.3" POETRY_VERSION: "2.0.0"
run: | run: |
curl -sSL "https://install.python-poetry.org" | python - curl -sSL "https://install.python-poetry.org" | python -
# Adding `poetry` to `$PATH`: # Adding `poetry` to `$PATH`:
@ -59,12 +59,18 @@ jobs:
poetry install --no-interaction --no-ansi --no-root poetry install --no-interaction --no-ansi --no-root
poetry run pip install -U pip poetry run pip install -U pip
#---------------------------------------------- #----------------------------------------------
# check poetry file
#----------------------------------------------
- name: Poetry consistency check
continue-on-error: true
run: |
poetry check
#----------------------------------------------
# check dependencies # check dependencies
#---------------------------------------------- #----------------------------------------------
- name: Extended checks - name: Extended checks
continue-on-error: true continue-on-error: true
run: | run: |
poetry run poetry check
poetry run pip check poetry run pip check
poetry run safety check --full-report poetry run safety check --full-report
poetry run pip-audit poetry run pip-audit

0
=
View File

View File

@ -1,6 +1,6 @@
FROM python:3.12.4 FROM python:3.13.1
ARG POETRY_VERSION=1.8.3 ARG POETRY_VERSION=2.0.0
ARG USER ARG USER
# python: # python:

6218
poetry.lock generated

File diff suppressed because one or more lines are too long

View File

@ -5,7 +5,7 @@ description = "poetry requiremts creation"
authors = ["Dmitry Afanasyev <Balshbox@gmail.com>"] authors = ["Dmitry Afanasyev <Balshbox@gmail.com>"]
[tool.poetry.dependencies] [tool.poetry.dependencies]
Python="^3.12" Python="^3.13"
aiohttp = "^3.9" aiohttp = "^3.9"
loguru = "^0.7" loguru = "^0.7"
requests = "^2.31" requests = "^2.31"
@ -23,5 +23,5 @@ coverage = "^7.3"
safety = "^2" safety = "^2"
[build-system] [build-system]
requires = ["poetry-core>=1.8.3"] requires = ["poetry-core>=2.0.0"]
build-backend = "poetry.core.masonry.api" build-backend = "poetry.core.masonry.api"

View File

@ -1,16 +1,20 @@
[tool.poetry] [project]
name = "main packages" name = "main-packages"
version = "1.6.0" version = "1.7.0"
description = "poetry requirements creation" description = "poetry requirements creation"
authors = ["Dmitry Afanasyev <Balshbox@gmail.com>"] authors = [{"name" = "Dmitry Afanasyev", "email" = "Balshbox@gmail.com"}]
requires-python = ">=3.13,<3.14"
[build-system] [build-system]
requires = ["poetry-core>=1.8.3"] requires = ["poetry-core>=2.0.0"]
build-backend = "poetry.core.masonry.api" build-backend = "poetry.core.masonry.api"
[tool.poetry]
package-mode = false
[tool.poetry.dependencies] [tool.poetry.dependencies]
python=">=3.12,<3.13" aiohttp = "^3.11"
aiohttp = "^3.9"
alembic = "^1.13" alembic = "^1.13"
bcrypt = "^4.1" bcrypt = "^4.1"
celery = "^5.4" celery = "^5.4"
@ -20,53 +24,54 @@ decorator = "^5.1"
Django = "^5.0" Django = "^5.0"
factory-boy = "^3.3" factory-boy = "^3.3"
Faker = "^25" Faker = "^25"
fastapi = "^0.111" fastapi = "^0.115"
gunicorn = "^22.0" gunicorn = "^23.0"
httpx = "^0.27" httpx = "^0.28"
Jinja2 = "^3.1" Jinja2 = "^3.1"
loguru = "^0.7" loguru = "^0.7"
MouseInfo = "0.1" MouseInfo = "0.1"
numpy = "^1.26" numpy = "^2.2"
orjson = "^3.10" orjson = "^3.10"
Pillow = "^10.3" Pillow = "^10.3"
pre-commit = "^3.7" pre-commit = "^4.0"
prompt-toolkit = "^3.0" prompt-toolkit = "^3.0"
psycopg2-binary = "^2.9" psycopg2-binary = "^2.9"
PyAutoGUI = "^0.9" PyAutoGUI = "^0.9"
pydantic = "^2.7" pydantic = "^2.10"
Pygments = "^2.16" Pygments = "^2.16"
pyinstaller = "^6.8" pyinstaller = "^6.8"
PyQt6 = "^6.5" PyQt6 = "^6.5"
python-decouple = "^3.8" python-decouple = "^3.8"
pytz = "^2024.1" pytz = "^2024.1"
redis = {version = "^5.0", extras = ["asyncio"]} redis = {version = "^5.2", extras = ["asyncio"]}
requests = "^2.32" requests = "^2.32"
selenium = "^4.21" selenium = "^4.21"
simple-term-menu = "^1.6" simple-term-menu = "^1.6"
six = "^1.16" six = "^1.17"
SQLAlchemy = {version = "^2.0", extras = ["asyncio"]} SQLAlchemy = {version = "^2.0", extras = ["asyncio"]}
termcolor = "^2.4" termcolor = "^2.4"
uvicorn = "^0.30" uvicorn = "^0.34"
validators = "^0.28" validators = "^0.34"
virtualenv = "^20.26" virtualenv = "^20.28"
wget = "^3.2" wget = "^3.2"
zipp = "^3.19" zipp = "^3.19"
poetry = "^2.0.0"
[tool.poetry.dev-dependencies] [tool.poetry.group.dev.dependencies]
ipython = "^8.25" ipython = "^8.31"
black = "^24.4" black = "^24.4"
mypy = "^1.10" mypy = "^1.14"
autoflake = "^2.3" autoflake = "^2.3"
flake8 = "^7.0" flake8 = "^7.1"
flake8-logging-format = "^2024.24.12" flake8-logging-format = "^2024.24.12"
flake8-comprehensions = "^3.14" flake8-comprehensions = "^3.14"
flake8-eradicate = "^1.5" flake8-eradicate = "^1.5"
flake8-deprecated = "^2.2" flake8-deprecated = "^2.2"
flake8-pytest-style = "^2.0" flake8-pytest-style = "^2.1"
flake8-aaa = "^0.17" flake8-aaa = "^0.17"
flake8-bugbear = "^24.4" flake8-bugbear = "^24.12"
flake8-warnings = "^0.4" flake8-warnings = "^0.4"
flake8-debugger = "^4.1" flake8-debugger = "^4.1"
flake8-annotations-complexity = "^0.0.8" flake8-annotations-complexity = "^0.0.8"
@ -82,12 +87,12 @@ flake8-comments = "^0.1"
flake8-newspaper-style = "^0.4" flake8-newspaper-style = "^0.4"
Flake8-pyproject = "^1.2.3" Flake8-pyproject = "^1.2.3"
pytest = "^8.2" pytest = "^8.3"
pytest-asyncio = "^0.23" pytest-asyncio = "^0.25"
pytest-deadfixtures = "^2.2" pytest-deadfixtures = "^2.2"
pytest-repeat = "^0.9" pytest-repeat = "^0.9"
pytest-mock = "^3.14" pytest-mock = "^3.14"
pytest-cov = "^5.0" pytest-cov = "^6.0"
pytest-timeout = "^2.3" pytest-timeout = "^2.3"
pytest-timeouts = "^1.2" pytest-timeouts = "^1.2"
pytest-sugar = "^1.0" pytest-sugar = "^1.0"
@ -96,13 +101,13 @@ pytest-env = "^1.1"
nest-asyncio = "^1.6" nest-asyncio = "^1.6"
pytest-html = "^4.1" pytest-html = "^4.1"
pytest-randomly = "^3.15" pytest-randomly = "^3.15"
pytest-split = "^0.8" pytest-split = "^0.10"
pytest-freezegun = "^0.4" pytest-freezegun = "^0.4"
pytest-socket = "^0.7" pytest-socket = "^0.7"
assertpy = "^1.1" assertpy = "^1.1"
respx = "^0.21" respx = "^0.22"
safety = "^3.2" safety = "^3.2"
pip-audit = "^2.7" pip-audit = "^2.7"
ruff = "^0.4" ruff = "^0.9"

View File

@ -1,230 +1,241 @@
aiohappyeyeballs==2.4.3 aiohappyeyeballs==2.4.4 ; python_version >= "3.13" and python_version < "3.14"
aiohttp==3.11.8 aiohttp==3.11.11 ; python_version >= "3.13" and python_version < "3.14"
aiosignal==1.3.1 aiosignal==1.3.2 ; python_version >= "3.13" and python_version < "3.14"
alembic==1.14.0 alembic==1.14.0 ; python_version >= "3.13" and python_version < "3.14"
altgraph==0.17.4 altgraph==0.17.4 ; python_version >= "3.13" and python_version < "3.14"
amqp==5.3.1 amqp==5.3.1 ; python_version >= "3.13" and python_version < "3.14"
annotated-types==0.7.0 annotated-types==0.7.0 ; python_version >= "3.13" and python_version < "3.14"
anyio==4.6.2.post1 anyio==4.8.0 ; python_version >= "3.13" and python_version < "3.14"
arrow==1.3.0 arrow==1.3.0 ; python_version >= "3.13" and python_version < "3.14"
asgiref==3.8.1 asgiref==3.8.1 ; python_version >= "3.13" and python_version < "3.14"
assertpy==1.1 assertpy==1.1 ; python_version >= "3.13" and python_version < "3.14"
astor==0.8.1 astor==0.8.1 ; python_version >= "3.13" and python_version < "3.14"
astroid==3.3.5 astroid==3.3.8 ; python_version >= "3.13" and python_version < "3.14"
asttokens==2.4.1 asttokens==3.0.0 ; python_version >= "3.13" and python_version < "3.14"
attrs==24.2.0 attrs==24.3.0 ; python_version >= "3.13" and python_version < "3.14"
authlib==1.3.2 authlib==1.4.0 ; python_version >= "3.13" and python_version < "3.14"
autoflake==2.3.1 autoflake==2.3.1 ; python_version >= "3.13" and python_version < "3.14"
bandit==1.8.0 bandit==1.8.0 ; python_version >= "3.13" and python_version < "3.14"
bcrypt==4.2.1 bcrypt==4.2.1 ; python_version >= "3.13" and python_version < "3.14"
billiard==4.2.1 billiard==4.2.1 ; python_version >= "3.13" and python_version < "3.14"
binaryornot==0.4.4 binaryornot==0.4.4 ; python_version >= "3.13" and python_version < "3.14"
black==24.10.0 black==24.10.0 ; python_version >= "3.13" and python_version < "3.14"
boolean-py==4.0 boolean-py==4.0 ; python_version >= "3.13" and python_version < "3.14"
cachecontrol[filecache]==0.14.1 build==1.2.2.post1 ; python_version >= "3.13" and python_version < "3.14"
celery==5.4.0 cachecontrol[filecache]==0.14.2 ; python_version >= "3.13" and python_version < "3.14"
certifi==2024.8.30 celery==5.4.0 ; python_version >= "3.13" and python_version < "3.14"
cffi==1.17.1 certifi==2024.12.14 ; python_version >= "3.13" and python_version < "3.14"
cfgv==3.4.0 cffi==1.17.1 ; python_version >= "3.13" and python_version < "3.14" and (os_name == "nt" or platform_python_implementation != "PyPy" or sys_platform == "darwin") and (implementation_name != "pypy" or platform_python_implementation != "PyPy" or sys_platform == "darwin")
chardet==5.2.0 cfgv==3.4.0 ; python_version >= "3.13" and python_version < "3.14"
charset-normalizer==3.4.0 chardet==5.2.0 ; python_version >= "3.13" and python_version < "3.14"
click-didyoumean==0.3.1 charset-normalizer==3.4.1 ; python_version >= "3.13" and python_version < "3.14"
click-plugins==1.1.1 cleo==2.1.0 ; python_version >= "3.13" and python_version < "3.14"
click-repl==0.3.0 click-didyoumean==0.3.1 ; python_version >= "3.13" and python_version < "3.14"
click==8.1.7 click-plugins==1.1.1 ; python_version >= "3.13" and python_version < "3.14"
colorama==0.4.6 click-repl==0.3.0 ; python_version >= "3.13" and python_version < "3.14"
cookiecutter==2.6.0 click==8.1.8 ; python_version >= "3.13" and python_version < "3.14"
coverage[toml]==7.6.8 colorama==0.4.6 ; python_version >= "3.13" and python_version < "3.14" and (platform_system == "Windows" or sys_platform == "win32" or os_name == "nt")
cryptography==44.0.0 cookiecutter==2.6.0 ; python_version >= "3.13" and python_version < "3.14"
cyclonedx-python-lib==7.6.2 coverage[toml]==7.6.10 ; python_version >= "3.13" and python_version < "3.14"
decorator==5.1.1 crashtest==0.4.1 ; python_version >= "3.13" and python_version < "3.14"
defusedxml==0.7.1 cryptography==44.0.0 ; python_version >= "3.13" and python_version < "3.14"
distlib==0.3.9 cyclonedx-python-lib==7.6.2 ; python_version >= "3.13" and python_version < "3.14"
django==5.1.3 decorator==5.1.1 ; python_version >= "3.13" and python_version < "3.14"
dnspython==2.7.0 defusedxml==0.7.1 ; python_version >= "3.13" and python_version < "3.14"
dparse==0.6.4 distlib==0.3.9 ; python_version >= "3.13" and python_version < "3.14"
email-validator==2.2.0 django==5.1.4 ; python_version >= "3.13" and python_version < "3.14"
eradicate==2.3.0 dparse==0.6.4 ; python_version >= "3.13" and python_version < "3.14"
executing==2.1.0 dulwich==0.22.7 ; python_version >= "3.13" and python_version < "3.14"
factory-boy==3.3.1 eradicate==2.3.0 ; python_version >= "3.13" and python_version < "3.14"
faker==25.9.2 executing==2.1.0 ; python_version >= "3.13" and python_version < "3.14"
fastapi-cli==0.0.5 factory-boy==3.3.1 ; python_version >= "3.13" and python_version < "3.14"
fastapi==0.111.1 faker==25.9.2 ; python_version >= "3.13" and python_version < "3.14"
filelock==3.16.1 fastapi==0.115.6 ; python_version >= "3.13" and python_version < "3.14"
flake8-aaa==0.17.0 fastjsonschema==2.21.1 ; python_version >= "3.13" and python_version < "3.14"
flake8-annotations-complexity==0.0.8 filelock==3.16.1 ; python_version >= "3.13" and python_version < "3.14"
flake8-bandit==4.1.1 flake8-aaa==0.17.0 ; python_version >= "3.13" and python_version < "3.14"
flake8-bugbear==24.10.31 flake8-annotations-complexity==0.0.8 ; python_version >= "3.13" and python_version < "3.14"
flake8-comments==0.1.2 flake8-bandit==4.1.1 ; python_version >= "3.13" and python_version < "3.14"
flake8-comprehensions==3.16.0 flake8-bugbear==24.12.12 ; python_version >= "3.13" and python_version < "3.14"
flake8-debugger==4.1.2 flake8-comments==0.1.2 ; python_version >= "3.13" and python_version < "3.14"
flake8-deprecated==2.2.1 flake8-comprehensions==3.16.0 ; python_version >= "3.13" and python_version < "3.14"
flake8-eradicate==1.5.0 flake8-debugger==4.1.2 ; python_version >= "3.13" and python_version < "3.14"
flake8-fixme==1.1.1 flake8-deprecated==2.2.1 ; python_version >= "3.13" and python_version < "3.14"
flake8-logging-format==2024.24.12 flake8-eradicate==1.5.0 ; python_version >= "3.13" and python_version < "3.14"
flake8-mock==0.4 flake8-fixme==1.1.1 ; python_version >= "3.13" and python_version < "3.14"
flake8-newspaper-style==0.4.3 flake8-logging-format==2024.24.12 ; python_version >= "3.13" and python_version < "3.14"
flake8-noqa==1.4.0 flake8-mock==0.4 ; python_version >= "3.13" and python_version < "3.14"
flake8-plugin-utils==1.3.3 flake8-newspaper-style==0.4.3 ; python_version >= "3.13" and python_version < "3.14"
flake8-pyproject==1.2.3 flake8-noqa==1.4.0 ; python_version >= "3.13" and python_version < "3.14"
flake8-pytest-style==2.0.0 flake8-plugin-utils==1.3.3 ; python_version >= "3.13" and python_version < "3.14"
flake8-simplify==0.21.0 flake8-pyproject==1.2.3 ; python_version >= "3.13" and python_version < "3.14"
flake8-tidy-imports==4.11.0 flake8-pytest-style==2.1.0 ; python_version >= "3.13" and python_version < "3.14"
flake8-useless-assert==0.4.4 flake8-simplify==0.21.0 ; python_version >= "3.13" and python_version < "3.14"
flake8-variables-names==0.0.6 flake8-tidy-imports==4.11.0 ; python_version >= "3.13" and python_version < "3.14"
flake8-warnings==0.4.1 flake8-useless-assert==0.4.4 ; python_version >= "3.13" and python_version < "3.14"
flake8==7.1.1 flake8-variables-names==0.0.6 ; python_version >= "3.13" and python_version < "3.14"
freezegun==1.5.1 flake8-warnings==0.4.1 ; python_version >= "3.13" and python_version < "3.14"
frozenlist==1.5.0 flake8==7.1.1 ; python_version >= "3.13" and python_version < "3.14"
greenlet==3.1.1 freezegun==1.5.1 ; python_version >= "3.13" and python_version < "3.14"
gunicorn==22.0.0 frozenlist==1.5.0 ; python_version >= "3.13" and python_version < "3.14"
h11==0.14.0 greenlet==3.1.1 ; python_version < "3.14" and python_version >= "3.13"
html5lib==1.1 gunicorn==23.0.0 ; python_version >= "3.13" and python_version < "3.14"
httpcore==1.0.7 h11==0.14.0 ; python_version >= "3.13" and python_version < "3.14"
httptools==0.6.4 html5lib==1.1 ; python_version >= "3.13" and python_version < "3.14"
httpx==0.27.2 httpcore==1.0.7 ; python_version >= "3.13" and python_version < "3.14"
identify==2.6.3 httpx==0.28.1 ; python_version >= "3.13" and python_version < "3.14"
idna==3.10 identify==2.6.5 ; python_version >= "3.13" and python_version < "3.14"
iniconfig==2.0.0 idna==3.10 ; python_version >= "3.13" and python_version < "3.14"
ipython==8.29.0 iniconfig==2.0.0 ; python_version >= "3.13" and python_version < "3.14"
jedi==0.19.2 installer==0.7.0 ; python_version >= "3.13" and python_version < "3.14"
jinja2==3.1.4 ipython==8.31.0 ; python_version >= "3.13" and python_version < "3.14"
kombu==5.4.2 jaraco-classes==3.4.0 ; python_version >= "3.13" and python_version < "3.14"
license-expression==30.4.0 jaraco-context==6.0.1 ; python_version >= "3.13" and python_version < "3.14"
loguru==0.7.2 jaraco-functools==4.1.0 ; python_version >= "3.13" and python_version < "3.14"
macholib==1.16.3 jedi==0.19.2 ; python_version >= "3.13" and python_version < "3.14"
mako==1.3.6 jeepney==0.8.0 ; python_version >= "3.13" and python_version < "3.14" and sys_platform == "linux"
markdown-it-py==3.0.0 jinja2==3.1.5 ; python_version >= "3.13" and python_version < "3.14"
markupsafe==3.0.2 keyring==25.6.0 ; python_version >= "3.13" and python_version < "3.14"
marshmallow==3.23.1 kombu==5.4.2 ; python_version >= "3.13" and python_version < "3.14"
matplotlib-inline==0.1.7 license-expression==30.4.0 ; python_version >= "3.13" and python_version < "3.14"
mccabe==0.7.0 loguru==0.7.3 ; python_version >= "3.13" and python_version < "3.14"
mdurl==0.1.2 macholib==1.16.3 ; python_version >= "3.13" and python_version < "3.14" and sys_platform == "darwin"
mouseinfo==0.1.0 mako==1.3.8 ; python_version >= "3.13" and python_version < "3.14"
msgpack==1.1.0 markdown-it-py==3.0.0 ; python_version >= "3.13" and python_version < "3.14"
multidict==6.1.0 markupsafe==3.0.2 ; python_version >= "3.13" and python_version < "3.14"
mypy-extensions==1.0.0 marshmallow==3.25.0 ; python_version >= "3.13" and python_version < "3.14"
mypy==1.13.0 matplotlib-inline==0.1.7 ; python_version >= "3.13" and python_version < "3.14"
nest-asyncio==1.6.0 mccabe==0.7.0 ; python_version >= "3.13" and python_version < "3.14"
nodeenv==1.9.1 mdurl==0.1.2 ; python_version >= "3.13" and python_version < "3.14"
numpy==1.26.4 more-itertools==10.5.0 ; python_version >= "3.13" and python_version < "3.14"
orjson==3.10.12 mouseinfo==0.1.0 ; python_version >= "3.13" and python_version < "3.14"
outcome==1.3.0.post0 msgpack==1.1.0 ; python_version >= "3.13" and python_version < "3.14"
packageurl-python==0.16.0 multidict==6.1.0 ; python_version >= "3.13" and python_version < "3.14"
packaging==24.2 mypy-extensions==1.0.0 ; python_version >= "3.13" and python_version < "3.14"
parso==0.8.4 mypy==1.14.1 ; python_version >= "3.13" and python_version < "3.14"
pathspec==0.12.1 nest-asyncio==1.6.0 ; python_version >= "3.13" and python_version < "3.14"
pbr==6.1.0 nodeenv==1.9.1 ; python_version >= "3.13" and python_version < "3.14"
pefile==2023.2.7 numpy==2.2.1 ; python_version >= "3.13" and python_version < "3.14"
pexpect==4.9.0 orjson==3.10.14 ; python_version >= "3.13" and python_version < "3.14"
pillow==10.4.0 outcome==1.3.0.post0 ; python_version >= "3.13" and python_version < "3.14"
pip-api==0.0.34 packageurl-python==0.16.0 ; python_version >= "3.13" and python_version < "3.14"
pip-audit==2.7.3 packaging==24.2 ; python_version >= "3.13" and python_version < "3.14"
pip-requirements-parser==32.0.1 parso==0.8.4 ; python_version >= "3.13" and python_version < "3.14"
pip==24.3.1 pathspec==0.12.1 ; python_version >= "3.13" and python_version < "3.14"
platformdirs==4.3.6 pbr==6.1.0 ; python_version >= "3.13" and python_version < "3.14"
pluggy==1.5.0 pefile==2023.2.7 ; python_version >= "3.13" and python_version < "3.14" and sys_platform == "win32"
pprintpp==0.4.0 pexpect==4.9.0 ; python_version >= "3.13" and python_version < "3.14" and (sys_platform != "win32" and sys_platform != "emscripten")
pre-commit==3.8.0 pillow==10.4.0 ; python_version >= "3.13" and python_version < "3.14"
prompt-toolkit==3.0.48 pip-api==0.0.34 ; python_version >= "3.13" and python_version < "3.14"
propcache==0.2.0 pip-audit==2.7.3 ; python_version >= "3.13" and python_version < "3.14"
psycopg2-binary==2.9.10 pip-requirements-parser==32.0.1 ; python_version >= "3.13" and python_version < "3.14"
ptyprocess==0.7.0 pip==24.3.1 ; python_version >= "3.13" and python_version < "3.14"
pure-eval==0.2.3 pkginfo==1.12.0 ; python_version >= "3.13" and python_version < "3.14"
py-serializable==1.1.2 platformdirs==4.3.6 ; python_version >= "3.13" and python_version < "3.14"
pyautogui==0.9.54 pluggy==1.5.0 ; python_version >= "3.13" and python_version < "3.14"
pycodestyle==2.12.1 poetry-core==2.0.0 ; python_version >= "3.13" and python_version < "3.14"
pycparser==2.22 poetry==2.0.0 ; python_version >= "3.13" and python_version < "3.14"
pydantic-core==2.27.1 pprintpp==0.4.0 ; python_version >= "3.13" and python_version < "3.14"
pydantic==2.10.2 pre-commit==4.0.1 ; python_version >= "3.13" and python_version < "3.14"
pyflakes==3.2.0 prompt-toolkit==3.0.48 ; python_version >= "3.13" and python_version < "3.14"
pygetwindow==0.0.9 propcache==0.2.1 ; python_version >= "3.13" and python_version < "3.14"
pygments==2.18.0 psycopg2-binary==2.9.10 ; python_version >= "3.13" and python_version < "3.14"
pyinstaller-hooks-contrib==2024.10 ptyprocess==0.7.0 ; python_version >= "3.13" and python_version < "3.14" and (sys_platform != "win32" and sys_platform != "emscripten")
pyinstaller==6.11.1 pure-eval==0.2.3 ; python_version >= "3.13" and python_version < "3.14"
pymsgbox==1.0.9 py-serializable==1.1.2 ; python_version >= "3.13" and python_version < "3.14"
pyparsing==3.2.0 pyautogui==0.9.54 ; python_version >= "3.13" and python_version < "3.14"
pyperclip==1.9.0 pycodestyle==2.12.1 ; python_version >= "3.13" and python_version < "3.14"
pyqt6-qt6==6.7.3 pycparser==2.22 ; python_version >= "3.13" and python_version < "3.14" and (os_name == "nt" or platform_python_implementation != "PyPy" or sys_platform == "darwin") and (implementation_name != "pypy" or platform_python_implementation != "PyPy" or sys_platform == "darwin")
pyqt6-sip==13.8.0 pydantic-core==2.27.2 ; python_version >= "3.13" and python_version < "3.14"
pyqt6==6.7.1 pydantic==2.10.5 ; python_version >= "3.13" and python_version < "3.14"
pyrect==0.2.0 pyflakes==3.2.0 ; python_version >= "3.13" and python_version < "3.14"
pyscreeze==1.0.1 pygetwindow==0.0.9 ; python_version >= "3.13" and python_version < "3.14"
pysocks==1.7.1 pygments==2.19.1 ; python_version >= "3.13" and python_version < "3.14"
pytest-asyncio==0.23.8 pyinstaller-hooks-contrib==2024.11 ; python_version >= "3.13" and python_version < "3.14"
pytest-clarity==1.0.1 pyinstaller==6.11.1 ; python_version >= "3.13" and python_version < "3.14"
pytest-cov==5.0.0 pymsgbox==1.0.9 ; python_version >= "3.13" and python_version < "3.14"
pytest-deadfixtures==2.2.1 pyparsing==3.2.1 ; python_version >= "3.13" and python_version < "3.14"
pytest-env==1.1.5 pyperclip==1.9.0 ; python_version >= "3.13" and python_version < "3.14"
pytest-freezegun==0.4.2 pyproject-hooks==1.2.0 ; python_version >= "3.13" and python_version < "3.14"
pytest-html==4.1.1 pyqt6-qt6==6.8.1 ; python_version >= "3.13" and python_version < "3.14"
pytest-metadata==3.1.1 pyqt6-sip==13.9.1 ; python_version >= "3.13" and python_version < "3.14"
pytest-mock==3.14.0 pyqt6==6.8.0 ; python_version >= "3.13" and python_version < "3.14"
pytest-randomly==3.16.0 pyrect==0.2.0 ; python_version >= "3.13" and python_version < "3.14"
pytest-repeat==0.9.3 pyscreeze==1.0.1 ; python_version >= "3.13" and python_version < "3.14"
pytest-socket==0.7.0 pysocks==1.7.1 ; python_version >= "3.13" and python_version < "3.14"
pytest-split==0.8.2 pytest-asyncio==0.25.2 ; python_version >= "3.13" and python_version < "3.14"
pytest-sugar==1.0.0 pytest-clarity==1.0.1 ; python_version >= "3.13" and python_version < "3.14"
pytest-timeout==2.3.1 pytest-cov==6.0.0 ; python_version >= "3.13" and python_version < "3.14"
pytest-timeouts==1.2.1 pytest-deadfixtures==2.2.1 ; python_version >= "3.13" and python_version < "3.14"
pytest==8.3.3 pytest-env==1.1.5 ; python_version >= "3.13" and python_version < "3.14"
python-dateutil==2.9.0.post0 pytest-freezegun==0.4.2 ; python_version >= "3.13" and python_version < "3.14"
python-decouple==3.8 pytest-html==4.1.1 ; python_version >= "3.13" and python_version < "3.14"
python-dotenv==1.0.1 pytest-metadata==3.1.1 ; python_version >= "3.13" and python_version < "3.14"
python-multipart==0.0.17 pytest-mock==3.14.0 ; python_version >= "3.13" and python_version < "3.14"
python-slugify==8.0.4 pytest-randomly==3.16.0 ; python_version >= "3.13" and python_version < "3.14"
python3-xlib==0.15 pytest-repeat==0.9.3 ; python_version >= "3.13" and python_version < "3.14"
pytweening==1.2.0 pytest-socket==0.7.0 ; python_version >= "3.13" and python_version < "3.14"
pytz==2024.2 pytest-split==0.10.0 ; python_version >= "3.13" and python_version < "3.14"
pywin32-ctypes==0.2.3 pytest-sugar==1.0.0 ; python_version >= "3.13" and python_version < "3.14"
pyyaml==6.0.2 pytest-timeout==2.3.1 ; python_version >= "3.13" and python_version < "3.14"
redis[asyncio]==5.2.0 pytest-timeouts==1.2.1 ; python_version >= "3.13" and python_version < "3.14"
requests==2.32.3 pytest==8.3.4 ; python_version >= "3.13" and python_version < "3.14"
respx==0.21.1 python-dateutil==2.9.0.post0 ; python_version >= "3.13" and python_version < "3.14"
rich==13.9.4 python-decouple==3.8 ; python_version >= "3.13" and python_version < "3.14"
ruamel-yaml-clib==0.2.12 python-slugify==8.0.4 ; python_version >= "3.13" and python_version < "3.14"
ruamel-yaml==0.18.6 python3-xlib==0.15 ; platform_system == "Linux" and python_version >= "3.13" and python_version < "3.14"
ruff==0.4.10 pytweening==1.2.0 ; python_version >= "3.13" and python_version < "3.14"
safety-schemas==0.0.5 pytz==2024.2 ; python_version >= "3.13" and python_version < "3.14"
safety==3.2.3 pywin32-ctypes==0.2.3 ; python_version >= "3.13" and python_version < "3.14" and sys_platform == "win32"
selenium==4.27.1 pyyaml==6.0.2 ; python_version >= "3.13" and python_version < "3.14"
setuptools==75.6.0 rapidfuzz==3.11.0 ; python_version >= "3.13" and python_version < "3.14"
shellingham==1.5.4 redis[asyncio]==5.2.1 ; python_version >= "3.13" and python_version < "3.14"
simple-term-menu==1.6.5 requests-toolbelt==1.0.0 ; python_version >= "3.13" and python_version < "3.14"
six==1.16.0 requests==2.32.3 ; python_version >= "3.13" and python_version < "3.14"
sniffio==1.3.1 respx==0.22.0 ; python_version >= "3.13" and python_version < "3.14"
sortedcontainers==2.4.0 rich==13.9.4 ; python_version >= "3.13" and python_version < "3.14"
sqlalchemy==2.0.36 ruamel-yaml==0.18.10 ; python_version >= "3.13" and python_version < "3.14"
sqlalchemy[asyncio]==2.0.36 ruff==0.9.1 ; python_version >= "3.13" and python_version < "3.14"
sqlparse==0.5.2 safety-schemas==0.0.5 ; python_version >= "3.13" and python_version < "3.14"
stack-data==0.6.3 safety==3.2.3 ; python_version >= "3.13" and python_version < "3.14"
starlette==0.37.2 secretstorage==3.3.3 ; python_version >= "3.13" and python_version < "3.14" and sys_platform == "linux"
stevedore==5.4.0 selenium==4.27.1 ; python_version >= "3.13" and python_version < "3.14"
termcolor==2.5.0 setuptools==75.8.0 ; python_version >= "3.13" and python_version < "3.14"
text-unidecode==1.3 shellingham==1.5.4 ; python_version >= "3.13" and python_version < "3.14"
toml==0.10.2 simple-term-menu==1.6.6 ; python_version >= "3.13" and python_version < "3.14"
traitlets==5.14.3 six==1.17.0 ; python_version >= "3.13" and python_version < "3.14"
trio-websocket==0.11.1 sniffio==1.3.1 ; python_version >= "3.13" and python_version < "3.14"
trio==0.27.0 sortedcontainers==2.4.0 ; python_version >= "3.13" and python_version < "3.14"
typer==0.13.1 sqlalchemy==2.0.37 ; python_version >= "3.13" and python_version < "3.14"
types-python-dateutil==2.9.0.20241003 sqlalchemy[asyncio]==2.0.37 ; python_version >= "3.13" and python_version < "3.14"
typing-extensions==4.12.2 sqlparse==0.5.3 ; python_version >= "3.13" and python_version < "3.14"
tzdata==2024.2 stack-data==0.6.3 ; python_version >= "3.13" and python_version < "3.14"
urllib3==2.2.3 starlette==0.41.3 ; python_version >= "3.13" and python_version < "3.14"
urllib3[socks]==2.2.3 stevedore==5.4.0 ; python_version >= "3.13" and python_version < "3.14"
uvicorn==0.30.6 termcolor==2.5.0 ; python_version >= "3.13" and python_version < "3.14"
uvicorn[standard]==0.30.6 text-unidecode==1.3 ; python_version >= "3.13" and python_version < "3.14"
uvloop==0.21.0 toml==0.10.2 ; python_version >= "3.13" and python_version < "3.14"
validators==0.28.3 tomlkit==0.13.2 ; python_version >= "3.13" and python_version < "3.14"
vine==5.1.0 traitlets==5.14.3 ; python_version >= "3.13" and python_version < "3.14"
virtualenv==20.28.0 trio-websocket==0.11.1 ; python_version >= "3.13" and python_version < "3.14"
watchfiles==1.0.0 trio==0.28.0 ; python_version >= "3.13" and python_version < "3.14"
wcwidth==0.2.13 trove-classifiers==2025.1.10.15 ; python_version >= "3.13" and python_version < "3.14"
webencodings==0.5.1 typer==0.15.1 ; python_version >= "3.13" and python_version < "3.14"
websocket-client==1.8.0 types-python-dateutil==2.9.0.20241206 ; python_version >= "3.13" and python_version < "3.14"
websockets==14.1 typing-extensions==4.12.2 ; python_version >= "3.13" and python_version < "3.14"
wget==3.2 tzdata==2024.2 ; python_version >= "3.13" and python_version < "3.14"
win32-setctime==1.1.0 urllib3==2.3.0 ; python_version >= "3.13" and python_version < "3.14"
wsproto==1.2.0 urllib3[socks]==2.3.0 ; python_version >= "3.13" and python_version < "3.14"
yarl==1.18.0 uvicorn==0.34.0 ; python_version >= "3.13" and python_version < "3.14"
zipp==3.21.0 validators==0.34.0 ; python_version >= "3.13" and python_version < "3.14"
vine==5.1.0 ; python_version >= "3.13" and python_version < "3.14"
virtualenv==20.28.1 ; python_version >= "3.13" and python_version < "3.14"
wcwidth==0.2.13 ; python_version >= "3.13" and python_version < "3.14"
webencodings==0.5.1 ; python_version >= "3.13" and python_version < "3.14"
websocket-client==1.8.0 ; python_version >= "3.13" and python_version < "3.14"
wget==3.2 ; python_version >= "3.13" and python_version < "3.14"
win32-setctime==1.2.0 ; python_version >= "3.13" and python_version < "3.14" and sys_platform == "win32"
wsproto==1.2.0 ; python_version >= "3.13" and python_version < "3.14"
xattr==1.1.4 ; python_version >= "3.13" and python_version < "3.14" and sys_platform == "darwin"
yarl==1.18.3 ; python_version >= "3.13" and python_version < "3.14"
zipp==3.21.0 ; python_version >= "3.13" and python_version < "3.14"