pyproject.toml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. [build-system]
  2. requires = ["setuptools>=61.0"]
  3. build-backend = "setuptools.build_meta"
  4. [project]
  5. name = "gyp-next"
  6. version = "0.20.0"
  7. authors = [
  8. { name="Node.js contributors", email="ryzokuken@disroot.org" },
  9. ]
  10. description = "A fork of the GYP build system for use in the Node.js projects"
  11. readme = "README.md"
  12. license = { file="LICENSE" }
  13. requires-python = ">=3.8"
  14. dependencies = ["packaging>=24.0", "setuptools>=69.5.1"]
  15. classifiers = [
  16. "Development Status :: 3 - Alpha",
  17. "Environment :: Console",
  18. "Intended Audience :: Developers",
  19. "License :: OSI Approved :: BSD License",
  20. "Natural Language :: English",
  21. "Programming Language :: Python",
  22. "Programming Language :: Python :: 3",
  23. "Programming Language :: Python :: 3.8",
  24. "Programming Language :: Python :: 3.9",
  25. "Programming Language :: Python :: 3.10",
  26. "Programming Language :: Python :: 3.11",
  27. ]
  28. [project.optional-dependencies]
  29. dev = ["pytest", "ruff"]
  30. [project.scripts]
  31. gyp = "gyp:script_main"
  32. [project.urls]
  33. "Homepage" = "https://github.com/nodejs/gyp-next"
  34. [tool.ruff]
  35. extend-exclude = ["pylib/packaging"]
  36. line-length = 88
  37. target-version = "py37"
  38. [tool.ruff.lint]
  39. select = [
  40. "C4", # flake8-comprehensions
  41. "C90", # McCabe cyclomatic complexity
  42. "DTZ", # flake8-datetimez
  43. "E", # pycodestyle
  44. "F", # Pyflakes
  45. "G", # flake8-logging-format
  46. "ICN", # flake8-import-conventions
  47. "INT", # flake8-gettext
  48. "PL", # Pylint
  49. "PYI", # flake8-pyi
  50. "RSE", # flake8-raise
  51. "RUF", # Ruff-specific rules
  52. "T10", # flake8-debugger
  53. "TCH", # flake8-type-checking
  54. "TID", # flake8-tidy-imports
  55. "UP", # pyupgrade
  56. "W", # pycodestyle
  57. "YTT", # flake8-2020
  58. # "A", # flake8-builtins
  59. # "ANN", # flake8-annotations
  60. # "ARG", # flake8-unused-arguments
  61. # "B", # flake8-bugbear
  62. # "BLE", # flake8-blind-except
  63. # "COM", # flake8-commas
  64. # "D", # pydocstyle
  65. # "DJ", # flake8-django
  66. # "EM", # flake8-errmsg
  67. # "ERA", # eradicate
  68. # "EXE", # flake8-executable
  69. # "FBT", # flake8-boolean-trap
  70. # "I", # isort
  71. # "INP", # flake8-no-pep420
  72. # "ISC", # flake8-implicit-str-concat
  73. # "N", # pep8-naming
  74. # "NPY", # NumPy-specific rules
  75. # "PD", # pandas-vet
  76. # "PGH", # pygrep-hooks
  77. # "PIE", # flake8-pie
  78. # "PT", # flake8-pytest-style
  79. # "PTH", # flake8-use-pathlib
  80. # "Q", # flake8-quotes
  81. # "RET", # flake8-return
  82. # "S", # flake8-bandit
  83. # "SIM", # flake8-simplify
  84. # "SLF", # flake8-self
  85. # "T20", # flake8-print
  86. # "TRY", # tryceratops
  87. ]
  88. ignore = [
  89. "PLR1714",
  90. "PLW0603",
  91. "PLW2901",
  92. "RUF005",
  93. "RUF012",
  94. "UP031",
  95. ]
  96. [tool.ruff.lint.mccabe]
  97. max-complexity = 101
  98. [tool.ruff.lint.pylint]
  99. allow-magic-value-types = ["float", "int", "str"]
  100. max-args = 11
  101. max-branches = 108
  102. max-returns = 10
  103. max-statements = 286
  104. [tool.setuptools]
  105. package-dir = {"" = "pylib"}
  106. packages = ["gyp", "gyp.generator"]