You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

pyproject.toml 2.0 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. [build-system]
  2. requires = ["hatchling"]
  3. build-backend = "hatchling.build"
  4. [project]
  5. name = "agbench"
  6. dynamic = ["version"]
  7. authors = [
  8. { name="Adam Fourney", email="adamfo@microsoft.com" },
  9. ]
  10. description = "AGNext Benchmarking Tools"
  11. readme = "README.md"
  12. requires-python = ">=3.8, <3.13"
  13. classifiers = [
  14. "Programming Language :: Python :: 3",
  15. "License :: OSI Approved :: MIT License",
  16. "Operating System :: OS Independent",
  17. ]
  18. dependencies = [
  19. "openai",
  20. "docker",
  21. "huggingface_hub",
  22. "tabulate",
  23. "azure-identity",
  24. "pandas"
  25. ]
  26. [tool.hatch.envs.default]
  27. installer = "uv"
  28. dependencies = [
  29. "pyright==1.1.368",
  30. "mypy==1.10.0",
  31. "ruff==0.4.8",
  32. "types-tabulate",
  33. "types-docker"
  34. ]
  35. [tool.hatch.envs.default.extra-scripts]
  36. pip = "{env:HATCH_UV} pip {args}"
  37. [tool.hatch.envs.default.scripts]
  38. fmt = "ruff format"
  39. lint = "ruff check"
  40. check = [
  41. "ruff format",
  42. "ruff check --fix",
  43. "pyright",
  44. "mypy",
  45. ]
  46. [tool.hatch.version]
  47. path = "src/agbench/version.py"
  48. [project.scripts]
  49. agbench = "agbench.cli:main"
  50. [tool.ruff]
  51. line-length = 120
  52. fix = true
  53. exclude = ["build", "dist", "src/agbench/res/*", "src/agbench/template/*",]
  54. target-version = "py310"
  55. include = ["src/**"]
  56. [tool.ruff.lint]
  57. select = ["E", "F", "W", "B", "Q", "I", "ASYNC"]
  58. ignore = ["F401", "E501"]
  59. [tool.ruff.lint.flake8-tidy-imports]
  60. [tool.ruff.lint.flake8-tidy-imports.banned-api]
  61. "unittest".msg = "Use `pytest` instead."
  62. [tool.mypy]
  63. files = ["src"]
  64. strict = true
  65. python_version = "3.10"
  66. ignore_missing_imports = true
  67. # from https://blog.wolt.com/engineering/2021/09/30/professional-grade-mypy-configuration/
  68. disallow_untyped_defs = true
  69. no_implicit_optional = true
  70. check_untyped_defs = true
  71. warn_return_any = true
  72. show_error_codes = true
  73. warn_unused_ignores = false
  74. disallow_incomplete_defs = true
  75. disallow_untyped_decorators = true
  76. disallow_any_unimported = true
  77. [tool.pyright]
  78. include = ["src"]
  79. typeCheckingMode = "strict"
  80. reportUnnecessaryIsInstance = false
  81. reportMissingTypeStubs = false