[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "AgentOps-API" version = "1.0.0" description = "AgentOps API" requires-python = ">=3.12,<3.13" authors = [ { name = "Alex Reibman", email = "areibman@gmail.com" }, { name = "Shawn Qiu", email = "siyangqiu@gmail.com" }, { name = "Braelyn Boynton", email = "bboynton97@gmail.com" }, { name = "Howard Gil", email = "howardbgil@gmail.com" }, { name = "Constantin Teodorescu", email = "teocns@gmail.com" }, ] dependencies = [ "fastapi>=0.110.0", "uvicorn[standard]>=0.27.0", "httpx>=0.27.0", "python-dotenv>=1.0.0", "Werkzeug>=3.0.3", "tokencost>=0.1.26", "sentry-sdk>=1.39.1", "jsonschema", "pyjwt>=2.8.0", "termcolor>=2.0.0", "uvloop>=0.19.0", "httpcore>=1.0.5", "supabase>=2.12.0", "opentelemetry-semantic-conventions>=0.43b0", "opentelemetry-semantic-conventions-ai>=0.4.2", "clickhouse-connect>=0.8.15", "clickhouse-driver>=0.2.9", "dotenv>=0.9.9", "opentelemetry-api>=1.30.0", "opentelemetry-sdk>=1.30.0", "psycopg-pool>=3.2.6", "psycopg[binary]>=3.2.5", "pydantic>=2.10.6", "boto3>=1.37.22", "redis>=5.2.1", "jinja2>=3.1.6", "sqlalchemy>=2.0.40", "greenlet>=3.1.1", "stripe", "jockey", "gotrue>=2.12.4", ] [tool.uv.sources] jockey = { path = "jockey", editable = true } [dependency-groups] dev = [ "pytest>=8.0.0", # Testing framework with good async support "pytest-depends", # For testing complex agent workflows "pytest-asyncio", # Async test support for testing concurrent agent operations "pytest-mock", # Mocking capabilities for isolating agent components "pyfakefs", # File system testing "pytest-recording", # Alternative to pytest-vcr with better Python 3.x support # TODO: Use release version after vcrpy is released with this fix. "vcrpy @ git+https://github.com/kevin1024/vcrpy.git@5f1b20c4ca4a18c1fc8cfe049d7df12ca0659c9b", # "agentops @ git+https://github.com/AgentOps-AI/agentops.git@bd621f1ae76f0881aa05d780d70054d8a5caee07", # Code quality and type checking "python-dotenv", # Environment management for secure testing # Agent integration testing "pytest-sugar>=1.0.0", "pdbpp>=0.10.3", "pytest-env>=1.1.5", "pyinstrument>=5.0.1", ] [tool.hatch.metadata] allow-direct-references = true [tool.hatch.build.targets.wheel] packages = ["agentops"] [tool.pytest.ini_options] asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "session" testpaths = ["tests"] addopts = "--tb=short -p no:warnings -s --import-mode=importlib --ignore=tests/integration" faulthandler_timeout = 30 timeout = 60 disable_socket = true pythonpath = ["../deploy"] [tool.pytest_env] # https://github.com/pytest-dev/pytest-env JWT_SECRET_KEY = "test" [tool.mypy] plugins = ["pydantic.mypy"]