Files
cbwebreader/pyproject.toml
T
ajurna a7e9bd0743 **Replace Flake8 with Ruff, refactor type hints, and enhance archive processing logic**
- Removed `flake8` and `flake8-annotations` from dependencies, replaced by `ruff` for linting.
- Introduced cleaner type hinting and modern Python annotations (PEP 604 style) across multiple modules.
- Moved archive processing to a dedicated helper (`comic.archives`) for improved maintainability.
- Updated and simplified logic for archive file retrieval, directory cleaning, and user access validation.
- Improved error handling and added support for user classification restrictions in API responses.
2026-10-13 12:07:47 +01:00

79 lines
1.9 KiB
TOML

[project]
name = "cbwebreader"
version = "1.1.12"
description = "CBR/Z Web Reader"
readme = "README.md"
requires-python = ">=3.14"
authors = ["ajurna <ajurna@gmail.com>"]
license = "Creative Commons Attribution-ShareAlike 4.0 International License"
dependencies = [
"dj-database-url>=3.1.2",
"django>=6.1.2",
"django-boost>=2.2",
"django-bootstrap4>=26.3",
"django-cors-headers>=4.9.0",
"django-csp>=4.0",
"django-extensions>=4.1",
"django-filter>=26.2",
"django-imagekit>=6.1.1",
"django-permissions-policy>=4.34.0",
"django-silk>=5.6.0",
"django-sri>=1.0.0",
"django-webpack-loader>=3.2.4",
"djangorestframework>=3.18.3",
"djangorestframework-simplejwt>=5.5.1",
"drf-extensions>=0.7.1",
"drf-yasg>=1.21.18",
"gunicorn>=26.2.0",
"loguru>=0.7.3",
"mysqlclient>=2.3.0",
"pillow>=12.3.0",
"psycopg2-binary>=2.9.13",
"pymupdf>=1.28.2",
"python-dotenv>=1.2.4",
"rarfile>=4.5",
"setuptools>=84.0.0",
]
[dependency-groups]
dev = [
"coverage>=7.13.5",
"ipython>=9.13.0",
"mypy>=2",
"pre-commit>=4.6",
"pylint>=4.0.5",
"pylint-django>=2.7.0",
"pyopenssl>=26.2.0",
"pytest>=8.4",
"pytest-django>=4.8",
"ruff>=0.17.0",
"werkzeug>=3.1.8",
]
[tool.ruff]
target-version = "py314"
line-length = 120
extend-exclude = [
"*/migrations/*",
"cbreader/settings",
"frontend",
]
[tool.ruff.lint]
select = ["E", "F", "W", "I", "ANN", "B", "C4", "SIM", "UP"]
# These were ignored by the previous flake8-annotations setup (ANN001 is the
# modern name for the old ANN101).
ignore = ["ANN001", "ANN002", "ANN003"]
[tool.ruff.lint.isort]
combine-as-imports = true
[tool.pytest.ini_options]
DJANGO_SETTINGS_MODULE = "cbreader.settings.test"
python_files = ["test_*.py"]
filterwarnings = [
# drf_yasg still uses jsonschema.RefResolver, which is deprecated upstream.
"ignore::DeprecationWarning:swagger_spec_validator",
]