pyproject.toml 993 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. "icalendar",
  13. ]
  14. [project.scripts]
  15. refresh-creds = "room_cal.service_api._scripts:refresh_cookies"
  16. refresh-airbnb = "room_cal.service_api._scripts:refresh_airbnb_cli"
  17. refresh-booking = "room_cal.service_api._scripts:refresh_booking_cli"
  18. room-cal = "room_cal.actions._cli:main"
  19. room-api = "room_cal.api._server:main"
  20. [dependency-groups]
  21. api = [
  22. "fastapi>=0.115",
  23. "uvicorn[standard]>=0.30",
  24. "pyjwt[crypto]>=2.0",
  25. ]
  26. dev = [
  27. {include-group = "api"},
  28. "pytest",
  29. "pytest-asyncio",
  30. "pytest-xdist",
  31. "radicale",
  32. ]
  33. [tool.hatch.build.targets.wheel]
  34. packages = ["room_cal"]
  35. [tool.pytest.ini_options]
  36. pythonpath = ["."]
  37. asyncio_mode = "auto"
  38. addopts = "-n auto --dist=loadfile"
  39. markers = [
  40. "live: makes live service-api calls; skipped unless ROOM_CAL_LIVE_TESTS=1",
  41. ]