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