-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathpyproject.toml
More file actions
93 lines (82 loc) · 3.65 KB
/
Copy pathpyproject.toml
File metadata and controls
93 lines (82 loc) · 3.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
[project]
name = 'amplifier-agent'
version = '0.9.0'
requires-python = '>=3.12'
license = 'MIT'
dependencies = [
'click>=8.1',
'amplifier-foundation',
'pyyaml>=6.0',
# G4: `tool-mcp` (declared in bundle.md) Python-imports `mcp` at mount time.
# Declaring it here makes the canonical install command
# `uv tool install --from git+https://github.com/microsoft/amplifier-agent`
# work out of the box; previously hosts had to know to pass `--with mcp`,
# and forgetting it produced a downstream `Bundle' object has no attribute
# 'origins'` AttributeError that masked the real cause.
'mcp',
# amplifier_agent_http (POC) deps. These are pulled in unconditionally for
# now; once the HTTP face graduates from POC it may move to an optional
# extra (`pip install amplifier-agent[http]`). See
# amplifier-opencode-poc-plan.md.
'fastapi>=0.110',
'uvicorn>=0.27',
'sse-starlette>=2.0',
'pydantic>=2.5',
]
[project.scripts]
amplifier-agent = "amplifier_agent_cli.__main__:main"
amplifier-agent-post-install = "amplifier_agent_lib.post_install:cli_entry"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/amplifier_agent_cli", "src/amplifier_agent_lib", "src/amplifier_agent_http"]
[tool.hatch.build.targets.wheel.force-include]
"src/amplifier_agent_lib/bundle/bundle.md" = "amplifier_agent_lib/bundle/bundle.md"
"src/amplifier_agent_lib/bundle/context/system.md" = "amplifier_agent_lib/bundle/context/system.md"
"src/amplifier_agent_lib/bundle/agents/explorer.md" = "amplifier_agent_lib/bundle/agents/explorer.md"
"src/amplifier_agent_lib/bundle/agents/architect.md" = "amplifier_agent_lib/bundle/agents/architect.md"
"src/amplifier_agent_lib/bundle/agents/builder.md" = "amplifier_agent_lib/bundle/agents/builder.md"
"src/amplifier_agent_lib/bundle/agents/debugger.md" = "amplifier_agent_lib/bundle/agents/debugger.md"
"src/amplifier_agent_lib/bundle/agents/git-ops.md" = "amplifier_agent_lib/bundle/agents/git-ops.md"
"src/amplifier_agent_lib/bundle/agents/researcher.md" = "amplifier_agent_lib/bundle/agents/researcher.md"
"src/amplifier_agent_lib/protocol/spec.md" = "amplifier_agent_lib/protocol/spec.md"
# Note: protocol/schemas and protocol/conformance/fixtures are NOT force-included.
# They are already shipped via the `packages = ["src/amplifier_agent_lib"]` entry above,
# and a second force-include of the same directories caused hatchling to abort the wheel
# build with "A second file is being added to the wheel archive at the same path".
[tool.uv.workspace]
members = ['wrappers/python-py']
[tool.uv.sources]
amplifier-foundation = { git = 'https://github.com/microsoft/amplifier-foundation', branch = 'main' }
[dependency-groups]
dev = [
'pytest>=8.4.2',
'pytest-asyncio>=0.24.0',
'ruff>=0.6.0',
'pyright>=1.1.380',
"pytest-timeout>=2.4.0",
"jsonschema>=4.20",
]
[tool.pyright]
pythonVersion = "3.12"
extraPaths = ["src", "wrappers/python-py/src"]
# Force pyright to resolve third-party imports from the project's local venv
# rather than the system Python install. Without this, pyright may pick a
# stale `amplifier_foundation` from a system site-packages and report bogus
# "unknown import symbol" errors for symbols (e.g., diagnose_transcript)
# that exist in the venv copy.
venvPath = "."
venv = ".venv"
[tool.ruff]
line-length = 120
target-version = 'py312'
[tool.ruff.lint]
select = ['E','F','I','B','UP','RUF']
ignore = ['E501']
[tool.pytest.ini_options]
testpaths = ['packages', 'tests']
pythonpath = ['src']
addopts = '--import-mode=importlib -ra'
asyncio_mode = 'strict'
markers = ['integration: slow end-to-end tests requiring full install']