Files
microsoft--agent-framework/python/packages/lab/pyproject.toml
Eduard van Valkenburg d08200d00e Python: Bump package versions for 1.12.0 release (#7238)
* Bump Python package versions for 1.12.0 release

Bump packages represented in the 1.12.0 changelog, promote Foundry Hosting, Azure Content Understanding, Gemini, Mistral, Monty, and Tools to beta, and apply the requested beta cohort date stamp. Root and core move to 1.12.0, released and RC packages use their selected increments, alpha packages including Hosting MCP use the 260721 stamp, and core floors are raised only for proven consumers.

Copilot-Session: 2dd9980a-b869-4c16-8642-75b7a6d6ebdf

* fix version in readme

* Add Responses conversation ID changes to release notes

Include the breaking Hosting Responses conversation ID helper changes from #7234 in the Python 1.12.0 changelog.

Copilot-Session: 2dd9980a-b869-4c16-8642-75b7a6d6ebdf
2026-07-21 15:45:00 +00:00

172 lines
5.4 KiB
TOML

[project]
name = "agent-framework-lab"
description = "Experimental modules for Microsoft Agent Framework"
authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}]
readme = "README.md"
requires-python = ">=3.10"
version = "1.0.0b260721"
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",
]
dependencies = [
"agent-framework-core>=1.11.0,<2",
]
[project.optional-dependencies]
# GAIA benchmark module dependencies
gaia = [
"pydantic>=2.0.0",
"opentelemetry-api>=1.39.0",
"opentelemetry-sdk>=1.39.0,<2",
"tqdm>=4.60.0",
"huggingface-hub>=0.20.0",
"orjson>=3.10.7,<4",
"pyarrow>=18.0.0", # For reading parquet files
]
# Lightning RL training module dependencies
lightning = [
"agentlightning>=0.2.0,<0.4.0",
]
# TAU2 benchmark module dependencies
tau2 = [
"pydantic>=2.0.0",
"tiktoken>=0.11.0",
"loguru>=0.7.3",
"numpy",
]
# Dependencies for math-related training
math = [
"sympy>=1.13.0",
]
[dependency-groups]
dev = [
"uv==0.11.29",
"ruff==0.15.22",
"pytest==9.1.1",
"mypy==2.3.0",
"pyright==1.1.411",
#tasks
"poethepoet==0.48.0",
"rich>=13.7.1,<15.0.0",
"tomli==2.4.1",
"tomli-w==1.2.0",
"prek==0.4.10",
]
# tau2 is an executable optional feature fetched from source because it is not available on PyPI.
tau2 = [
"tau2@ git+https://github.com/sierra-research/tau2-bench@5ba9e3e56db57c5e4114bf7f901291f09b2c5619",
]
[project.scripts]
gaia_viewer = "agent_framework_lab_gaia:viewer_main"
lightning = "agent_framework_lab_lightning:main"
[build-system]
requires = ["setuptools>=64", "wheel"]
build-backend = "setuptools.build_meta"
[tool.setuptools]
packages = [
"agent_framework_lab_gaia",
"agent_framework_lab_lightning",
"agent_framework_lab_tau2",
"agent_framework.lab.gaia",
"agent_framework.lab.lightning",
"agent_framework.lab.tau2",
]
[tool.setuptools.package-dir]
"agent_framework_lab_gaia" = "gaia/agent_framework_lab_gaia"
"agent_framework_lab_lightning" = "lightning/agent_framework_lab_lightning"
"agent_framework_lab_tau2" = "tau2/agent_framework_lab_tau2"
"agent_framework.lab.gaia" = "namespace/agent_framework/lab/gaia"
"agent_framework.lab.lightning" = "namespace/agent_framework/lab/lightning"
"agent_framework.lab.tau2" = "namespace/agent_framework/lab/tau2"
[tool.setuptools.package-data]
agent_framework_lab_gaia = ["py.typed"]
agent_framework_lab_lightning = ["py.typed"]
agent_framework_lab_tau2 = ["py.typed"]
[tool.ruff]
extend = "../../pyproject.toml"
extend-exclude = ["**/data/**"]
[tool.ruff.lint]
ignore = [
"print", # Allow print statements in experimental/lab code for debugging purposes.
"blocking-open-call-in-async-function", # Allow blocking file opens in async experimental code.
"implicit-namespace-package", # Ignore missing __init__.py in namespace packages.
"unused-async", # Allow async functions without await in experimental code.
"blocking-path-method-in-async-function", # Allow blocking pathlib calls in async experimental code.
]
[tool.coverage.run]
omit = [
"**/__init__.py"
]
[tool.pyright]
extends = "../../pyproject.toml"
include = ["gaia/agent_framework_lab_gaia", "lightning/agent_framework_lab_lightning", "tau2/agent_framework_lab_tau2"]
exclude = ['gaia/tests', 'lightning/tests', 'tau2/tests', 'namespace', '**/samples']
[tool.bandit]
targets = ["agent_framework_lab_gaia", "agent_framework_lab_lightning", "agent_framework_lab_tau2"]
exclude_dirs = ["gaia/tests", "lightning/tests", "tau2/tests"]
[tool.poe]
include = "../../shared_tasks.toml"
[tool.poe.tasks.test]
help = "Run the default lab unit test suite."
cmd = 'pytest -m "not integration and not resource_intensive" --cov-report=term-missing:skip-covered --junitxml=test-results.xml'
[tool.poe.tasks.test-gaia]
help = "Run the GAIA lab test suite."
cmd = "pytest gaia/tests --cov=agent_framework_lab_gaia --cov-report=term-missing:skip-covered"
[tool.poe.tasks.test-lightning]
help = "Run the Lightning lab test suite."
cmd = "pytest lightning/tests --cov=agent_framework_lab_lightning --cov-report=term-missing:skip-covered"
[tool.poe.tasks.test-tau2]
help = "Run the Tau2 lab test suite."
cmd = "pytest tau2/tests --cov=agent_framework_lab_tau2 --cov-report=term-missing:skip-covered"
[tool.poe.tasks.build]
help = "Skip build for the lab package."
cmd = "echo 'Skipping build'"
[tool.poe.tasks.publish]
help = "Skip publish for the lab package."
cmd = "echo 'Skipping publish'"
[tool.pytest.ini_options]
pythonpath = ["."]
addopts = "--strict-markers --strict-config"
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
markers = [
"unit: marks tests as unit tests",
"integration: marks tests as integration tests",
"resource_intensive: marks tests that are expensive and excluded from default package test runs",
]