spb/company-atlas
Public
Python 66.3%
TypeScript 22.7%
JavaScript 8.6%
HTML 1.4%
CSS 0.7%
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 "brotli>=1.1",31]3233[project.optional-dependencies]34dev = ["pytest>=8", "pytest-asyncio>=0.24", "ruff>=0.6", "respx>=0.21"]35browser = ["playwright>=1.47"]3637[project.scripts]38catlas = "companyatlas.cli:app"3940[build-system]41requires = ["hatchling"]42build-backend = "hatchling.build"4344[tool.hatch.build.targets.wheel]45packages = ["src/companyatlas"]4647[tool.ruff]48line-length = 13049target-version = "py312"5051[tool.pytest.ini_options]52testpaths = ["tests"]53asyncio_mode = "auto"54markers = ["live: hits real external endpoints (skipped unless -m live)"]55