[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 /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 (`/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"