[project] name = "bot" description = "a bluesky bot" readme = "README.md" authors = [{ name = "zzstoatzz", email = "thrast36@gmail.com" }] requires-python = ">=3.12" dynamic = ["version"] dependencies = [ "anthropic", "atproto@git+https://github.com/MarshalX/atproto.git@refs/pull/605/head", "fastapi", "fastmcp>=0.8.0", "logfire[fastapi]", "numpy>=2.4.4", "openai", "pydantic-ai>=1.9", "pydantic-ai-skills>=0.8.0", "pydantic-settings", "slowapi>=0.1.9", "turbopuffer", "uvicorn", ] [tool.hatch.version] source = "vcs" [tool.ruff.lint] extend-select = ["I", "UP"] [tool.pytest.ini_options] asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "function" filterwarnings = [ "ignore::logfire._internal.config.LogfireNotConfiguredWarning", # upstream otel 1.39 renamed EventLogger → Logger; pydantic-ai + otel internals still use old names "ignore:.*Deprecated since version 1\\.39\\.0:DeprecationWarning", # atproto SDK's lexicon model loader uses Field(default=None) inside an Annotated # type alias context that newer pydantic warns about. nothing we can do until the # SDK fixes it; the warning fires once at import and isn't actionable on our side. "ignore::pydantic.warnings.UnsupportedFieldAttributeWarning", ] [dependency-groups] dev = [ "pytest-asyncio", "pytest-sugar", "ruff", "ty", ] [tool.hatch.metadata] allow-direct-references = true [build-system] requires = ["hatchling", "hatch-vcs"] build-backend = "hatchling.build"