48 lines
1.1 KiB
TOML
48 lines
1.1 KiB
TOML
[project]
|
|
name = "the-scheduler"
|
|
version = "1.8.0"
|
|
description = "System-wide maintenance orchestration - backups, doc mirroring, cleanup, task automation"
|
|
readme = "README.md"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
# FastAPI ecosystem
|
|
"fastapi~=0.124.0",
|
|
"uvicorn[standard]~=0.38.0",
|
|
"pydantic~=2.12.5",
|
|
"pydantic-settings~=2.7.0",
|
|
# Task scheduling
|
|
"apscheduler~=3.11.1",
|
|
"sqlalchemy~=2.0.36",
|
|
# Database
|
|
"psycopg2-binary~=2.9.11",
|
|
"redis~=5.2.0",
|
|
# HTTP client
|
|
"httpx~=0.28.1",
|
|
# Web scraping (for doc mirroring)
|
|
"scrapy~=2.12.0",
|
|
"beautifulsoup4~=4.12.3",
|
|
"lxml~=5.1.0",
|
|
# Git operations
|
|
"gitpython~=3.1.43",
|
|
# Security/Auth
|
|
"python-jose[cryptography]~=3.3.0",
|
|
# Cloud storage
|
|
"google-cloud-storage~=2.18.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
test = [
|
|
"pytest~=8.3.4",
|
|
"pytest-asyncio~=0.25.2",
|
|
"pytest-cov~=6.0.0",
|
|
"freezegun~=1.5.1",
|
|
]
|
|
|
|
[build-system]
|
|
requires = ["setuptools>=61.0"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["."]
|
|
include = ["src*"]
|