[ci skip] Fix contributors name in CHANGES.txt
[scons.git] / pyproject.toml
blob7d47aa2d05c088e092e0bbbb1f4af158bf778bdd
1 [build-system]
2 build-backend = "setuptools.build_meta"
3 requires = ["setuptools"]
5 [project]
6 name = "SCons"
7 description = "Open Source next-generation build tool."
8 requires-python = ">=3.7"
9 license = { text = "MIT" }
10 readme = { file = "README-package.rst", content-type = "text/x-rst" }
11 authors = [{ name = "William Deegan", email = "bill@baddogconsulting.com" }]
12 dynamic = ["version"]
13 classifiers = [
14     "Development Status :: 5 - Production/Stable",
15     "Topic :: Software Development :: Build Tools",
16     "Programming Language :: Python",
17     "Programming Language :: Python :: 3",
18     "Programming Language :: Python :: 3 :: Only",
19     "Programming Language :: Python :: 3.7",
20     "Programming Language :: Python :: 3.8",
21     "Programming Language :: Python :: 3.9",
22     "Programming Language :: Python :: 3.10",
23     "Programming Language :: Python :: 3.11",
24     "Programming Language :: Python :: 3.12",
25     "Programming Language :: Python :: 3.13",
26     "Environment :: Console",
27     "Intended Audience :: Developers",
28     "License :: OSI Approved :: MIT License",
29     "Operating System :: POSIX :: Linux",
30     "Operating System :: Unix",
31     "Operating System :: MacOS",
32     "Operating System :: Microsoft :: Windows",
35 [project.urls]
36 Homepage = "https://www.scons.org/"
37 Documentation = "https://scons.org/documentation.html"
38 Twitter = "https://twitter.com/SConsProject"
39 GitHub = "https://github.com/SCons/scons"
40 Bug-Tracker = "https://github.com/SCons/scons/issues"
41 Discord = "https://discord.gg/pejaFYrD9n"
42 "Mailing lists" = "https://scons.org/lists.html"
44 [project.scripts]
45 scons = "SCons.Script.Main:main"
46 sconsign = "SCons.Utilities.sconsign:main"
47 scons-configure-cache = "SCons.Utilities.ConfigureCache:main"
49 [tool.setuptools]
50 zip-safe = false
51 include-package-data = true
52 license-files = ["LICENSE"]
54 [tool.setuptools.dynamic]
55 version = {attr = "SCons.__version__"}
57 [tool.setuptools.packages.find]
58 exclude = ["template"]
59 namespaces = false
61 [tool.setuptools.package-data]
62 "*" = ["*.txt", "*.rst", "*.1"]
63 "scons.tool.docbook" = ["*.*"]
65 [tool.distutils.sdist]
66 dist-dir = "build/dist"
68 [tool.distutils.bdist_wheel]
69 dist-dir = "build/dist"
71 [tool.ruff]
72 target-version = "py37" # Lowest python version supported
73 extend-include = ["SConstruct", "SConscript"]
74 extend-exclude = [
75     "bench/",
76     "bin/",
77     "doc/",
78     "src/",
79     "template/",
80     "test/",
81     "testing/",
82     "timings/",
83     "SCons/Tool/docbook/docbook-xsl-1.76.1/",
86 [tool.ruff.lint]
87 extend-select = [
88     "FA", # Future annotations
89     "UP006", # Use {to} instead of {from} for type annotation
90     "UP007", # Use `X | Y` for type annotations
91     "UP037", # Remove quotes from type annotation
93 extend-safe-fixes = ["FA", "UP006", "UP007"]
95 [tool.ruff.format]
96 quote-style = "preserve" # Equivalent to black's "skip-string-normalization"
98 [tool.ruff.lint.per-file-ignores]
99 "SCons/Util/__init__.py" = [
100     "F401",  # Module imported but unused
102 "SCons/Variables/__init__.py" = [
103     "F401",  # Symbol imported but unused
106 [tool.mypy]
107 python_version = "3.8"
108 exclude = [
109     "^bench/",
110     "^bin/",
111     "^doc/",
112     "^src/",
113     "^template/",
114     "^test/",
115     "^testing/",
116     "^timings/",
117     "^SCons/Tool/docbook/docbook-xsl-1.76.1/",