Merge pull request #4561 from mwichmann/variables-niggles
[scons.git] / pyproject.toml
blob60bc9e607d7dac3bfa528bacd753f7b78bf427ef
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.packages.find]
56 exclude = ["template"]
57 namespaces = false
59 [tool.setuptools.package-data]
60 "*" = ["*.txt", "*.rst", "*.1"]
61 "scons.tool.docbook" = ["*.*"]
63 [tool.distutils.sdist]
64 dist-dir = "build/dist"
66 [tool.distutils.bdist_wheel]
67 dist-dir = "build/dist"
69 [tool.ruff]
70 target-version = "py37" # Lowest python version supported
71 extend-include = ["SConstruct", "SConscript"]
72 extend-exclude = [
73     "bench",
74     "bin",
75     "doc",
76     "src",
77     "template",
78     "test",
79     "testing",
80     "timings",
81     "SCons/Tool/docbook/docbook-xsl-1.76.1",
82     "bootstrap.py",
83     "runtest.py",
86 [tool.ruff.format]
87 quote-style = "preserve" # Equivalent to black's "skip-string-normalization"
89 [tool.ruff.lint.per-file-ignores]
90 "SCons/Util/__init__.py" = [
91     "F401",  # Module imported but unused
93 "SCons/Variables/__init__.py" = [
94     "F401",  # Symbol imported but unused
97 [tool.mypy]
98 python_version = "3.8"