[project] name = "agent-framework-lab-{{ cookiecutter.package_name }}" description = "{{ cookiecutter.package_description }}" authors = [{ name = "{{ cookiecutter.author_name }}", email = "{{ cookiecutter.author_email }}"}] readme = "README.md" requires-python = "{{ cookiecutter.python_requires }}" version = "{{ cookiecutter.version }}" license-files = ["LICENSE"] urls.homepage = "https://learn.microsoft.com/en-us/semantic-kernel/overview/" 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 :: {{ cookiecutter.license }} License", "Development Status :: 2 - Pre-Alpha", "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", ] dependencies = [ "agent-framework", "pydantic>=2.0.0", # Add your specific dependencies here ] {% if cookiecutter.include_cli_script == "y" %} [project.scripts] {{ cookiecutter.cli_script_name }} = "agent_framework_lab_{{ cookiecutter.package_name }}:main" {% endif %} [build-system] requires = ["setuptools>=64", "wheel"] build-backend = "setuptools.build_meta" [tool.setuptools] package-dir = {"" = "src"} packages = ["agent_framework_lab_{{ cookiecutter.package_name }}", "agent_framework.lab.{{ cookiecutter.package_name }}"] [tool.setuptools.package-data] agent_framework_lab_{{ cookiecutter.package_name }} = ["py.typed"] [tool.ruff] line-length = 120 target-version = "py310" extend-exclude = ["tests", "__pycache__"] [tool.ruff.lint] select = ["E", "F", "I", "W", "UP", "C4", "N"] ignore = ["N803", "N806", "N999", "UP007"] [tool.ruff.format] quote-style = "double" [tool.mypy] python_version = "3.10" strict = true check_untyped_defs = true disallow_untyped_defs = true disallow_incomplete_defs = true disallow_untyped_decorators = true warn_redundant_casts = true warn_unused_ignores = true warn_return_any = true warn_unreachable = true show_error_codes = true implicit_reexport = true packages = ["src.agent_framework_lab_{{ cookiecutter.package_name }}"] {% if cookiecutter.within_microsoft_agent_framework_repo == "y" %} [tool.poe] executor.type = "uv" include = "../../../shared_tasks.toml" [tool.poe.tasks] test = "pytest --cov=agent_framework_lab_{{ cookiecutter.package_name }} --cov-report=term-missing:skip-covered tests" mypy = "mypy agent_framework_lab_{{ cookiecutter.package_name }}" {% else %} [tool.poe.tasks] fmt = "ruff format" format = "ruff format" lint = "ruff check" test = "pytest --cov=agent_framework_lab_{{ cookiecutter.package_name }} --cov-report=term-missing:skip-covered tests" mypy = "mypy agent_framework_lab_{{ cookiecutter.package_name }}" {% endif %} [tool.pytest.ini_options] testpaths = ["tests"] pythonpath = ["src"] addopts = "--strict-markers --strict-config" markers = [ "unit: marks tests as unit tests", "integration: marks tests as integration tests", ]