Refactor project structure: separate backend dependencies into pyproject.toml

This commit is contained in:
Orfeo Terkuci
2026-03-24 20:03:51 +01:00
parent b87e9c36a6
commit fa2d47ca66
3 changed files with 99 additions and 72 deletions
+27
View File
@@ -0,0 +1,27 @@
[project]
name = "backend"
version = "0.9.5"
requires-python = ">=3.10"
dependencies = [
"apscheduler==3.10.3",
"cachetools==5.5.2",
"cloudscraper==1.2.71",
"fastapi==0.115.12",
"feedparser==6.0.10",
"httpx==0.28.1",
"playwright==1.50.0",
"playwright-stealth==1.0.6",
"pydantic==2.11.1",
"pydantic-settings==2.8.1",
"pystac-client==0.8.6",
"python-dotenv==1.0.1",
"requests==2.31.0",
"reverse-geocoder==1.5.1",
"sgp4==2.23",
"slowapi==0.1.9",
"uvicorn==0.34.0",
"yfinance==0.2.54",
]
[dependency-groups]
test = ["pytest>=8.3.4", "pytest-asyncio==0.25.0"]
+5 -21
View File
@@ -3,26 +3,10 @@ name = "shadowbroker"
version = "0.9.5"
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
"apscheduler==3.10.3",
"cachetools==5.5.2",
"cloudscraper==1.2.71",
"fastapi==0.115.12",
"feedparser==6.0.10",
"httpx==0.28.1",
"playwright==1.50.0",
"playwright-stealth==1.0.6",
"pydantic==2.11.1",
"pydantic-settings==2.8.1",
"pystac-client==0.8.6",
"python-dotenv==1.0.1",
"requests==2.31.0",
"reverse-geocoder==1.5.1",
"sgp4==2.23",
"slowapi==0.1.9",
"uvicorn==0.34.0",
"yfinance==0.2.54",
]
dependencies = []
[dependency-groups]
test = ["pytest>=8.3.4", "pytest-asyncio==0.25.0"]
test = []
[tool.uv.workspace]
members = ["backend"]
Generated
+67 -51
View File
@@ -11,6 +11,12 @@ resolution-markers = [
"python_full_version < '3.11'",
]
[manifest]
members = [
"backend",
"shadowbroker",
]
[[package]]
name = "annotated-types"
version = "0.7.0"
@@ -57,6 +63,65 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309", size = 67548, upload-time = "2026-03-19T14:22:23.645Z" },
]
[[package]]
name = "backend"
version = "0.9.5"
source = { virtual = "backend" }
dependencies = [
{ name = "apscheduler" },
{ name = "cachetools" },
{ name = "cloudscraper" },
{ name = "fastapi" },
{ name = "feedparser" },
{ name = "httpx" },
{ name = "playwright" },
{ name = "playwright-stealth" },
{ name = "pydantic" },
{ name = "pydantic-settings" },
{ name = "pystac-client" },
{ name = "python-dotenv" },
{ name = "requests" },
{ name = "reverse-geocoder" },
{ name = "sgp4" },
{ name = "slowapi" },
{ name = "uvicorn" },
{ name = "yfinance" },
]
[package.dev-dependencies]
test = [
{ name = "pytest" },
{ name = "pytest-asyncio" },
]
[package.metadata]
requires-dist = [
{ name = "apscheduler", specifier = "==3.10.3" },
{ name = "cachetools", specifier = "==5.5.2" },
{ name = "cloudscraper", specifier = "==1.2.71" },
{ name = "fastapi", specifier = "==0.115.12" },
{ name = "feedparser", specifier = "==6.0.10" },
{ name = "httpx", specifier = "==0.28.1" },
{ name = "playwright", specifier = "==1.50.0" },
{ name = "playwright-stealth", specifier = "==1.0.6" },
{ name = "pydantic", specifier = "==2.11.1" },
{ name = "pydantic-settings", specifier = "==2.8.1" },
{ name = "pystac-client", specifier = "==0.8.6" },
{ name = "python-dotenv", specifier = "==1.0.1" },
{ name = "requests", specifier = "==2.31.0" },
{ name = "reverse-geocoder", specifier = "==1.5.1" },
{ name = "sgp4", specifier = "==2.23" },
{ name = "slowapi", specifier = "==0.1.9" },
{ name = "uvicorn", specifier = "==0.34.0" },
{ name = "yfinance", specifier = "==0.2.54" },
]
[package.metadata.requires-dev]
test = [
{ name = "pytest", specifier = ">=8.3.4" },
{ name = "pytest-asyncio", specifier = "==0.25.0" },
]
[[package]]
name = "beautifulsoup4"
version = "4.13.3"
@@ -245,7 +310,7 @@ name = "exceptiongroup"
version = "1.3.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "typing-extensions", marker = "python_full_version < '3.11'" },
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" }
wheels = [
@@ -1397,60 +1462,11 @@ wheels = [
name = "shadowbroker"
version = "0.9.5"
source = { virtual = "." }
dependencies = [
{ name = "apscheduler" },
{ name = "cachetools" },
{ name = "cloudscraper" },
{ name = "fastapi" },
{ name = "feedparser" },
{ name = "httpx" },
{ name = "playwright" },
{ name = "playwright-stealth" },
{ name = "pydantic" },
{ name = "pydantic-settings" },
{ name = "pystac-client" },
{ name = "python-dotenv" },
{ name = "requests" },
{ name = "reverse-geocoder" },
{ name = "sgp4" },
{ name = "slowapi" },
{ name = "uvicorn" },
{ name = "yfinance" },
]
[package.dev-dependencies]
test = [
{ name = "pytest" },
{ name = "pytest-asyncio" },
]
[package.metadata]
requires-dist = [
{ name = "apscheduler", specifier = "==3.10.3" },
{ name = "cachetools", specifier = "==5.5.2" },
{ name = "cloudscraper", specifier = "==1.2.71" },
{ name = "fastapi", specifier = "==0.115.12" },
{ name = "feedparser", specifier = "==6.0.10" },
{ name = "httpx", specifier = "==0.28.1" },
{ name = "playwright", specifier = "==1.50.0" },
{ name = "playwright-stealth", specifier = "==1.0.6" },
{ name = "pydantic", specifier = "==2.11.1" },
{ name = "pydantic-settings", specifier = "==2.8.1" },
{ name = "pystac-client", specifier = "==0.8.6" },
{ name = "python-dotenv", specifier = "==1.0.1" },
{ name = "requests", specifier = "==2.31.0" },
{ name = "reverse-geocoder", specifier = "==1.5.1" },
{ name = "sgp4", specifier = "==2.23" },
{ name = "slowapi", specifier = "==0.1.9" },
{ name = "uvicorn", specifier = "==0.34.0" },
{ name = "yfinance", specifier = "==0.2.54" },
]
[package.metadata.requires-dev]
test = [
{ name = "pytest", specifier = ">=8.3.4" },
{ name = "pytest-asyncio", specifier = "==0.25.0" },
]
test = []
[[package]]
name = "six"