[project] name = "agent-framework-core" description = "Microsoft Agent Framework for building AI Agents with Python. This is the core package that has all the core abstractions and implementations." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" version = "1.0.0b251120" license-files = ["LICENSE"] urls.homepage = "https://aka.ms/agent-framework" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" urls.release_notes = "https://github.com/microsoft/agent-framework/releases?q=tag%3Apython-1&expanded=true" urls.issues = "https://github.com/microsoft/agent-framework/issues" classifiers = [ "License :: OSI Approved :: MIT License", "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Typing :: Typed", ] dependencies = [ # utilities "typing-extensions", "pydantic>=2,<3", "pydantic-settings>=2,<3", # telemetry "opentelemetry-api>=1.24", "opentelemetry-sdk>=1.24", "opentelemetry-exporter-otlp-proto-grpc>=1.36.0", "opentelemetry-semantic-conventions-ai>=0.4.13", # connectors and functions "openai>=1.99.0", "azure-identity>=1,<2", "mcp[ws]>=1.13", "packaging>=24.1", ] [project.optional-dependencies] all = [ "agent-framework-a2a", "agent-framework-ag-ui", "agent-framework-azure-ai-search", "agent-framework-anthropic", "agent-framework-azure-ai", "agent-framework-azurefunctions", "agent-framework-chatkit", "agent-framework-copilotstudio", "agent-framework-declarative", "agent-framework-devui", "agent-framework-lab", "agent-framework-mem0", "agent-framework-purview", "agent-framework-redis", ] [tool.uv] prerelease = "if-necessary-or-explicit" environments = [ "sys_platform == 'darwin'", "sys_platform == 'linux'", "sys_platform == 'win32'" ] [tool.uv-dynamic-versioning] fallback-version = "0.0.0" [tool.pytest.ini_options] testpaths = [ 'tests', 'packages/core/tests', 'packages/a2a/tests', 'packages/azure-ai/tests', 'packages/copilotstudio/tests', 'packages/mem0/tests', 'packages/runtime/tests' ] addopts = "-ra -q -r fEX" asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "function" filterwarnings = [] timeout = 120 [tool.coverage.run] omit = [ "**/__init__.py" ] [tool.ruff] extend = "../../pyproject.toml" [tool.pyright] extends = "../../pyproject.toml" [tool.mypy] plugins = ['pydantic.mypy'] strict = true python_version = "3.10" ignore_missing_imports = true disallow_untyped_defs = true no_implicit_optional = true check_untyped_defs = true warn_return_any = true show_error_codes = true warn_unused_ignores = false disallow_incomplete_defs = true disallow_untyped_decorators = true [tool.bandit] targets = ["agent_framework"] exclude_dirs = ["tests"] [tool.poe] executor.type = "uv" include = "../../shared_tasks.toml" [tool.poe.tasks] mypy = "mypy --config-file $POE_ROOT/pyproject.toml agent_framework" test = "pytest --cov=agent_framework --cov-report=term-missing:skip-covered tests" [tool.flit.module] name = "agent_framework" [build-system] requires = ["flit-core >= 3.11,<4.0"] build-backend = "flit_core.buildapi"