Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
98 lines (91 loc) · 3.13 KB
/
Copy pathpyproject.toml
File metadata and controls
98 lines (91 loc) · 3.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
[build-system]
requires = [
# We need at least version 77 to support PEP 639
"setuptools>=77",
# In order to build wheels, and as required by PEP 517
"wheel",
# Require a new enough cython for the python versions we support
"Cython>=0.29.25",
"packaging",
]
build-backend = "setuptools.build_meta"
[project]
name = "BuildStream"
dynamic = ["version", "dependencies"]
description = "A framework for modelling build pipelines in YAML"
readme = "README.rst"
license = "Apache-2.0"
requires-python = ">=3.10"
authors = [
{ name = "The Apache Software Foundation", email = "dev@buildstream.apache.org" },
]
classifiers = [
"Environment :: Console",
"Intended Audience :: Developers",
"Operating System :: POSIX",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3.15",
"Topic :: Software Development :: Build Tools",
]
[project.urls]
Homepage = "https://buildstream.build"
Documentation = "https://docs.buildstream.build"
Source = "https://github.com/apache/buildstream"
Tracker = "https://github.com/apache/buildstream/issues"
"Mailing List" = "https://lists.apache.org/list.html?dev@buildstream.apache.org"
[project.scripts]
bst = "buildstream._frontend:cli"
[tool.black]
target-version = ["py310", "py311", "py312", "py313", "py314", "py315"]
line-length = 119
exclude = '''
(
/(
\.eggs
| \.git
| \.mypy_cache
| \.tox
| _build
| build
| dist
)/
| src/buildstream/_protos
| src/buildstream/plugins/sources/_tarfile.py
)
'''
[tool.cibuildwheel]
build-frontend = "build"
environment = { BST_BUNDLE_BUILDBOX = "1" }
# The BuildBox binaries produced in buildbox-integration are linked against GLIBC 2.28
# from Rocky Linux 8.10. See: https://gitlab.com/BuildGrid/buildbox/buildbox-integration.
#
# The PyPA manylinux_2_28 platform tag identifies that our wheel will run on any x86_64
# OS with GLIBC >= 2.28. Following this setting, `cibuildwheel` builds the packages in
# the corresponding manylinux_2_28 container image. See: https://github.com/pypa/manylinux
manylinux-x86_64-image = "manylinux_2_28"
skip = [
# PyPy may work, but nobody is testing it so avoid distributing prebuilt binaries.
"pp*",
# Skipping this niche archicture ~halves overall build time.
"*_i686",
# The prebuilt BuildBox binaries link against GLibc so will work on manylinux but not musllinux
"*-musllinux_*",
]