This commit is contained in:
2026-03-18 17:30:13 +01:00
parent 58a233236c
commit d80d912fb3
36 changed files with 3502 additions and 4 deletions
+75
View File
@@ -0,0 +1,75 @@
[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "pecflow-worker"
version = "1.0.0"
description = "PecFlow Worker IMAP sync + background jobs"
requires-python = ">=3.12"
dependencies = [
# Job queue
"arq>=0.26.1",
# Database (stessi driver del backend)
"sqlalchemy>=2.0.36",
"asyncpg>=0.29.0",
"alembic>=1.13.0",
# Configurazione
"pydantic>=2.9.0",
"pydantic-settings>=2.5.0",
# Redis
"redis[asyncio]>=5.0.0",
# IMAP async
"aioimaplib>=2.0.0",
# Storage MinIO/S3
"miniopy-async>=1.21.0",
# Sicurezza (stesso modulo del backend per decifratura credenziali)
"cryptography>=43.0.0",
"python-jose[cryptography]>=3.3.0",
"bcrypt>=4.0.0",
# Utilities
"python-dotenv>=1.0.0",
"email-validator>=2.2.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8.3.0",
"pytest-asyncio>=0.24.0",
"pytest-cov>=5.0.0",
"anyio>=4.6.0",
"ruff>=0.7.0",
"mypy>=1.13.0",
]
[tool.setuptools.packages.find]
where = ["."]
include = ["app*"]
[tool.ruff]
target-version = "py312"
line-length = 100
src = ["app", "tests"]
[tool.ruff.lint]
select = ["E", "W", "F", "I", "B", "C4", "UP"]
ignore = ["E501", "B008", "B904"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
filterwarnings = [
"ignore::DeprecationWarning",
"ignore::PendingDeprecationWarning",
]