Updates and slight refactor in fix
[scons.git] / pyproject.toml
blobcb824b7ba954d5af8022503c6bcded32122d02b3
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.6"
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.6",
20     "Programming Language :: Python :: 3.7",
21     "Programming Language :: Python :: 3.8",
22     "Programming Language :: Python :: 3.9",
23     "Programming Language :: Python :: 3.10",
24     "Programming Language :: Python :: 3.11",
25     "Programming Language :: Python :: 3.12",
26     "Programming Language :: Python :: 3.13",
27     "Environment :: Console",
28     "Intended Audience :: Developers",
29     "License :: OSI Approved :: MIT License",
30     "Operating System :: POSIX :: Linux",
31     "Operating System :: Unix",
32     "Operating System :: MacOS",
33     "Operating System :: Microsoft :: Windows",
36 [project.urls]
37 Homepage = "https://www.scons.org/"
38 Documentation = "https://scons.org/documentation.html"
39 Twitter = "https://twitter.com/SConsProject"
40 GitHub = "https://github.com/SCons/scons"
41 Bug-Tracker = "https://github.com/SCons/scons/issues"
42 Discord = "https://discord.gg/pejaFYrD9n"
43 "Mailing lists" = "https://scons.org/lists.html"
45 [project.scripts]
46 scons = "SCons.Script.Main:main"
47 sconsign = "SCons.Utilities.sconsign:main"
48 scons-configure-cache = "SCons.Utilities.ConfigureCache:main"
50 [tool.setuptools]
51 zip-safe = false
52 include-package-data = true
53 license-files = ["LICENSE"]
55 [tool.setuptools.dynamic]
56 version = {attr = "SCons.__version__"}
58 [tool.setuptools.packages.find]
59 exclude = ["template"]
60 namespaces = false
62 [tool.setuptools.package-data]
63 "*" = ["*.txt", "*.rst", "*.1"]
64 "scons.tool.docbook" = ["*.*"]
66 [tool.distutils.sdist]
67 dist-dir = "build/dist"
69 [tool.distutils.bdist_wheel]
70 dist-dir = "build/dist"
72 [tool.ruff]
73 target-version = "py37" # Lowest python version supported
74 extend-include = ["SConstruct", "SConscript"]
75 extend-exclude = [
76     "bench",
77     "bin",
78     "doc",
79     "src",
80     "template",
81     "test",
82     "testing",
83     "timings",
84     "SCons/Tool/docbook/docbook-xsl-1.76.1",
85     "bootstrap.py",
86     "runtest.py",
89 [tool.ruff.format]
90 quote-style = "preserve" # Equivalent to black's "skip-string-normalization"
92 [tool.ruff.lint.per-file-ignores]
93 "SCons/Util/__init__.py" = [
94     "F401",  # Module imported but unused
96 "SCons/Variables/__init__.py" = [
97     "F401",  # Symbol imported but unused
100 [tool.mypy]
101 python_version = "3.8"