pyproject.toml 992 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. [build-system]
  2. requires = ["hatchling"]
  3. build-backend = "hatchling.build"
  4. [project]
  5. name = "room-cal"
  6. version = "0.1.0"
  7. requires-python = ">=3.14"
  8. dependencies = [
  9. "aiosqlite>=0.22.1",
  10. "caldav",
  11. "httpx>=0.27",
  12. "curl-cffi>=0.7",
  13. "icalendar",
  14. ]
  15. [project.scripts]
  16. refresh-creds = "room_cal.service_api._scripts:refresh_cookies"
  17. refresh-homestay = "room_cal.service_api._scripts:refresh_homestay_cookies"
  18. booking-2fa = "room_cal.service_api._scripts:_trigger_booking_chat_auth_cli"
  19. room-cal = "room_cal.actions._cli:main"
  20. room-api = "room_cal.api._server:main"
  21. room-mcp = "room_cal.mcp._server:main"
  22. [dependency-groups]
  23. api = [
  24. "fastapi>=0.115",
  25. "uvicorn[standard]>=0.30",
  26. ]
  27. mcp = [
  28. "fastmcp>=2.0",
  29. ]
  30. dev = [
  31. {include-group = "api"},
  32. {include-group = "mcp"},
  33. "pytest",
  34. "pytest-asyncio",
  35. "pytest-xdist",
  36. ]
  37. [tool.hatch.build.targets.wheel]
  38. packages = ["room_cal"]
  39. [tool.pytest.ini_options]
  40. pythonpath = ["."]
  41. asyncio_mode = "auto"
  42. addopts = "-n auto --dist=loadfile"