pyproject.toml 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. [build-system]
  2. requires = ["hatchling"]
  3. build-backend = "hatchling.build"
  4. [project]
  5. name = "supply-agent"
  6. version = "0.1.0"
  7. description = "A modern, extensible AI Agent framework with OpenRouter, Tools, and Skills support"
  8. readme = "README.md"
  9. requires-python = ">=3.11"
  10. dependencies = [
  11. "openai>=1.50.0",
  12. "pydantic>=2.0",
  13. "pydantic-settings>=2.0",
  14. "httpx>=0.27.0",
  15. "rich>=13.0",
  16. "sqlalchemy>=2.0",
  17. "pymysql>=1.1",
  18. "alembic>=1.13",
  19. "requests>=2.32",
  20. "apscheduler>=3.10",
  21. "python-dotenv>=1.0",
  22. "oss2>=2.18.0",
  23. "fastapi>=0.115.0",
  24. "uvicorn[standard]>=0.32.0",
  25. "markdown>=3.6",
  26. ]
  27. [project.optional-dependencies]
  28. odps = ["pyodps>=0.12"]
  29. media = ["imageio-ffmpeg>=0.5.1"]
  30. dev = [
  31. "pytest>=8.0",
  32. "pytest-asyncio>=0.24",
  33. "ruff>=0.8",
  34. ]
  35. [tool.hatch.build.targets.wheel]
  36. packages = ["supply_agent", "supply_infra", "agents", "api"]
  37. [project.scripts]
  38. supply-visualize = "supply_agent.logging.cli:main"
  39. supply-api = "api.run:main"
  40. supply-scheduler = "supply_infra.scheduler.__main__:main"
  41. supply-pipeline = "supply_infra.pipeline.cli:main"
  42. [tool.ruff]
  43. line-length = 100
  44. target-version = "py311"
  45. [tool.pytest.ini_options]
  46. asyncio_mode = "auto"
  47. testpaths = ["tests"]
  48. addopts = "-m 'not integration'"
  49. markers = [
  50. "integration: requires live network services, credentials, or an external database",
  51. ]