[build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [project] name = "hermes-agent" version = "0.1.0" description = "AI agent with advanced tool-calling and toolsets" readme = "README.md" requires-python = ">=3.10" authors = [{ name = "Nous Research" }] license = { text = "MIT" } dependencies = [ # Core "openai", "python-dotenv", "fire", "httpx", "rich", "tenacity", "pyyaml", "requests", "jinja2", "pydantic>=2.0", # Interactive CLI (prompt_toolkit is used directly by cli.py) "prompt_toolkit", # Tools "firecrawl-py", "fal-client", # mini-swe-agent deps (terminal tool) "litellm>=1.75.5", "typer", "platformdirs", ] [project.optional-dependencies] modal = ["swe-rex[modal]>=1.4.0"] dev = ["pytest", "pytest-asyncio"] messaging = ["python-telegram-bot>=20.0", "discord.py>=2.0", "aiohttp>=3.9.0"] cron = ["croniter"] cli = ["simple-term-menu"] all = [ "hermes-agent[modal]", "hermes-agent[messaging]", "hermes-agent[cron]", "hermes-agent[cli]", "hermes-agent[dev]", ] [project.scripts] hermes = "hermes_cli.main:main" hermes-agent = "run_agent:main" [tool.setuptools] py-modules = ["run_agent", "model_tools", "toolsets", "batch_runner", "trajectory_compressor", "toolset_distributions", "cli"] [tool.setuptools.packages.find] include = ["tools", "hermes_cli", "gateway", "cron"]