spb/company-atlas
Public
1[project]2name = "companyatlas"3version = "0.1.0"4description = "Company Atlas — the live atlas of global companies: a distributed public-web sensor network that turns corporate change into a continuously updated historical record"5requires-python = ">=3.12"6dependencies = [7 "fastapi>=0.115",8 "uvicorn[standard]>=0.30",9 "pydantic>=2.8",10 "pydantic-settings>=2.4",11 "sqlalchemy[asyncio]>=2.0.35",12 "asyncpg>=0.30",13 "alembic>=1.13",14 "httpx[http2]>=0.27",15 "orjson>=3.10",16 "typer>=0.12",17 "rich>=13",18 "apscheduler>=3.10,<4",19 "python-ulid>=2.7",20 "pyyaml>=6",21 "python-dateutil>=2.9",22 "tenacity>=9",23 "python-slugify>=8",24 "selectolax>=0.3.21",25 "feedparser>=6.0.11",26 "rapidfuzz>=3.9",27 "zstandard>=0.23",28 "tldextract>=5.1",29 "sse-starlette>=2.1",30]3132[project.optional-dependencies]33dev = ["pytest>=8", "pytest-asyncio>=0.24", "ruff>=0.6", "respx>=0.21"]34browser = ["playwright>=1.47"]3536[project.scripts]37catlas = "companyatlas.cli:app"3839[build-system]40requires = ["hatchling"]41build-backend = "hatchling.build"4243[tool.hatch.build.targets.wheel]44packages = ["src/companyatlas"]4546[tool.ruff]47line-length = 13048target-version = "py312"4950[tool.pytest.ini_options]51testpaths = ["tests"]52asyncio_mode = "auto"53markers = ["live: hits real external endpoints (skipped unless -m live)"]54