pyproject.toml 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. [project]
  2. name = "cipy"
  3. version = "0.1.0"
  4. description = "Python based tool for operating CI Pipelines"
  5. readme = "README.md"
  6. requires-python = ">=3.14"
  7. dependencies = [
  8. "chevron>=0.14.0",
  9. "colored>=2.3.2",
  10. "pydantic>=2.12.5",
  11. "python-dotenv>=1.2.2",
  12. ]
  13. [dependency-groups]
  14. dev = [
  15. "black>=26.3.1",
  16. "coverage>=7.13.5",
  17. "mypy>=1.19.1",
  18. "pylint>=4.0.5",
  19. "pytest>=9.0.2",
  20. "pytest-cov>=7.1.0",
  21. ]
  22. [tool.pytest.ini_options]
  23. pythonpath = [ "src/" ]
  24. addopts = [ "--cov" ]
  25. [tool.coverage.run]
  26. branch = true
  27. source = [ "src/" ]
  28. [tool.coverage.report]
  29. exclude_also = [
  30. # Don't complain about missing debug-only code:
  31. "def __repr__",
  32. "if self.debug:",
  33. "if settings.DEBUG",
  34. # Don't complain if tests don't hit defensive assertion code:
  35. "raise AssertionError",
  36. "raise NotImplementedError",
  37. # Don't complain if non-runnable code isn't run:
  38. "if 0:",
  39. "if __name__ == .__main__.:",
  40. "if TYPE_CHECKING:",
  41. "class .*\\bProtocol\\):",
  42. # Don't complain about abstract methods, they aren't run:
  43. "@(abc\\.)?abstractmethod",
  44. ]
  45. fail_under = 90.0
  46. show_missing = true
  47. skip_covered = true
  48. [tool.mypy]
  49. mypy_path = "src/"
  50. exclude = "build/"
  51. [build-system]
  52. requires = ["uv_build>=0.10.9,<0.11"]
  53. build-backend = "uv_build"