111 lines
2.4 KiB
TOML
111 lines
2.4 KiB
TOML
[project]
|
|
name = "republisher-redux"
|
|
version = "0.1.0"
|
|
description = "Mirror RSS and Atom feeds completely offline"
|
|
readme = "README.md"
|
|
authors = [{ name = "Abel Luck", email = "abel@guardianproject.info" }]
|
|
requires-python = ">=3.13"
|
|
dependencies = [
|
|
"scrapy>=2.11.1,<3.0.0",
|
|
"prometheus-client>=0.20.0,<0.21.0",
|
|
"python-dateutil>=2.9.0.post0,<3.0.0",
|
|
"colorlog>=6.8.2,<7.0.0",
|
|
"feedparser>=6.0.11,<7.0.0",
|
|
"lxml>=5.2.1,<6.0.0",
|
|
"pillow>=10.3.0,<11.0.0",
|
|
"ffmpeg-python>=0.2.0,<0.3.0",
|
|
"Quart>=0.20.0,<0.21.0",
|
|
"hypercorn>=0.18.0,<0.19.0",
|
|
"apscheduler>=3.11.0,<4.0.0",
|
|
"aiosqlite>=0.21.0,<0.22.0",
|
|
"datastar-py>=0.8.0,<0.9.0",
|
|
"greenlet>=3.2.4,<4.0.0",
|
|
"htpy>=25.12.0,<26.0.0",
|
|
"peewee>=3.19.0,<4.0.0",
|
|
"pygea @ git+https://guardianproject.dev/anynews/pygea.git",
|
|
]
|
|
|
|
[project.scripts]
|
|
repub = "repub.entrypoint:entrypoint"
|
|
qa = "repub.qa:qa_entrypoint"
|
|
qa-final = "repub.qa:qa_final_entrypoint"
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pytest>=8.1.1,<9.0.0",
|
|
"black>=24.4.0,<25.0.0",
|
|
"flake8>=7.0.0,<8.0.0",
|
|
"bandit>=1.7.8,<2.0.0",
|
|
"pyright>=1.1.403,<2.0.0",
|
|
"types-PyYAML>=6.0.12.20240311,<7.0.0",
|
|
"isort>=5.13.2,<6.0.0",
|
|
"flake8-black>=0.3.6,<0.4.0",
|
|
]
|
|
|
|
[build-system]
|
|
requires = ["setuptools>=68", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[tool.setuptools]
|
|
include-package-data = true
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["."]
|
|
include = ["repub*"]
|
|
|
|
[tool.setuptools.package-data]
|
|
repub = ["sql/*.sql", "static/*.css", "static/*.js"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
|
|
[tool.isort]
|
|
py_version = 311
|
|
profile = "black"
|
|
src_paths = ["repub", "tests"]
|
|
|
|
[tool.black]
|
|
line-length = 88
|
|
target-version = ['py313']
|
|
[tool.pylint.format]
|
|
max-line-length = "88"
|
|
|
|
[tool.pyright]
|
|
include = ["repub", "tests"]
|
|
exclude = [
|
|
"repub/crawl.py",
|
|
"repub/exporters.py",
|
|
"repub/media.py",
|
|
"repub/rss.py",
|
|
"repub/spiders",
|
|
"repub/srcset.py",
|
|
]
|
|
pythonVersion = "3.13"
|
|
typeCheckingMode = "basic"
|
|
reportMissingImports = false
|
|
|
|
[tool.flake8]
|
|
ignore = [
|
|
"D100",
|
|
"D101",
|
|
"D102",
|
|
"D104",
|
|
"D107",
|
|
]
|
|
exclude = [
|
|
".git",
|
|
"__pycache__",
|
|
"docs/source/conf.py",
|
|
"build",
|
|
"dist",
|
|
"data/db/",
|
|
"kealytics/tests/",
|
|
"*.pyc",
|
|
"*.egg-info",
|
|
".cache",
|
|
".eggs",
|
|
]
|
|
max-complexity = 10
|
|
import-order-style = "cryptography"
|
|
application-import-names = ["repub"]
|
|
format = "${cyan}%(path)s${reset}:${yellow_bold}%(row)d${reset}:${green_bold}%(col)d${reset}: ${red_bold}%(code)s${reset} %(text)s"
|