HTML 77.2%
TypeScript 10.5%
Python 9.6%
JavaScript 2.5%
1[project]2name = "aiatlas"3version = "0.1.0"4description = "AI Atlas — the global intelligence layer for artificial intelligence: first-party connectors, raw historical archive, temporal knowledge graph, local LLM extraction factory and public API"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 "redis>=5.1",19 "apscheduler>=3.10,<4",20 "python-ulid>=2.7",21 "pyyaml>=6",22 "python-dateutil>=2.9",23 "tenacity>=9",24 "python-slugify>=8",25 "selectolax>=0.3.21",26 "feedparser>=6.0.11",27 "markdown-it-py>=3.0",28 "pypdf>=5.0",29 "rapidfuzz>=3.9",30 "pgvector>=0.3",31 "numpy>=2",32]3334[project.optional-dependencies]35dev = ["pytest>=8", "pytest-asyncio>=0.24", "ruff>=0.6", "respx>=0.21"]36browser = ["playwright>=1.47"]3738[project.scripts]39aia = "aiatlas.cli:app"4041[build-system]42requires = ["hatchling"]43build-backend = "hatchling.build"4445[tool.hatch.build.targets.wheel]46packages = ["src/aiatlas"]4748[tool.ruff]49line-length = 12050target-version = "py312"5152[tool.pytest.ini_options]53testpaths = ["tests"]54asyncio_mode = "auto"55markers = ["live: hits real external endpoints (skipped unless -m live)"]56