-
Notifications
You must be signed in to change notification settings - Fork 837
Expand file tree
/
Copy pathpyproject.toml
More file actions
82 lines (72 loc) · 2.1 KB
/
pyproject.toml
File metadata and controls
82 lines (72 loc) · 2.1 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
[project]
name = "ml-intern"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
# Core dependencies
"datasets>=4.4.1",
"pydantic>=2.12.3",
"python-dotenv>=1.2.1",
# Agent runtime dependencies
"requests>=2.33.0",
"litellm>=1.83.0",
"boto3>=1.35.0",
"huggingface-hub>=1.12.0",
"fastmcp>=3.2.0",
"prompt-toolkit>=3.0.0",
"thefuzz>=0.22.1",
"rich>=13.0.0",
"nbconvert>=7.16.6",
"nbformat>=5.10.4",
"whoosh>=2.7.4",
# Web backend dependencies
"fastapi>=0.115.0",
"uvicorn[standard]>=0.32.0",
"httpx>=0.27.0",
"websockets>=13.0",
"apscheduler>=3.10,<4",
"pymongo>=4.17.0",
]
[project.optional-dependencies]
# Evaluation/benchmarking dependencies
eval = [
"inspect-ai>=0.3.149",
"pandas>=2.3.3",
"datasets>=4.3.0",
"tenacity>=8.0.0",
]
# Development and testing dependencies
dev = [
"pytest>=9.0.2",
"pytest-asyncio>=1.2.0",
"ruff>=0.15.12",
]
# All dependencies (eval + dev)
all = [
"ml-intern[eval,dev]",
]
[project.scripts]
ml-intern = "agent.main:cli"
[build-system]
requires = ["setuptools>=64"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
# `configs` ships the JSON files loaded by agent.main.CLI_CONFIG_PATH at
# runtime (resolves to <site-packages>/configs/cli_agent_config.json).
# Without it, `uv tool install` / `pip install` produce a broken install
# that imports fine but crashes at startup with FileNotFoundError.
include = ["agent*", "configs"]
[tool.setuptools.package-data]
configs = ["*.json"]
# Agent data files: system prompts loaded by ContextManager._load_system_prompt
# at runtime (`<site-packages>/agent/prompts/system_prompt_v3.yaml`), plus the
# package README. Without these, headless_main hangs forever — submission_loop
# crashes with FileNotFoundError but headless_main doesn't check agent_task.done()
# and just keeps awaiting the "ready" event_queue item that will never come.
agent = ["README.md", "prompts/*.yaml"]
[tool.uv]
package = true
[tool.pytest.ini_options]
asyncio_mode = "auto"