-
Notifications
You must be signed in to change notification settings - Fork 69
/
pyproject.toml
120 lines (105 loc) · 2.72 KB
/
pyproject.toml
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# SPDX-FileCopyrightText: 2021 The meson-python developers
#
# SPDX-License-Identifier: MIT
[build-system]
build-backend = 'mesonpy'
backend-path = ['.']
requires = [
'meson >= 0.64.0; python_version < "3.12"',
'meson >= 1.2.3; python_version >= "3.12"',
'packaging >= 19.0',
'pyproject-metadata >= 0.8.0',
'tomli >= 1.0.0; python_version < "3.11"',
]
[project]
name = 'meson-python'
version = '0.18.0.dev0'
description = 'Meson Python build backend (PEP 517)'
readme = 'README.rst'
requires-python = '>= 3.7'
license = { file = 'LICENSES/MIT.txt' }
keywords = ['meson', 'build', 'backend', 'pep517', 'package']
maintainers = [
{ name = 'Ralf Gommers', email = 'ralf.gommers@gmail.com' },
{ name = 'Daniele Nicolodi', email = 'daniele@grinta.net' },
{ name = 'Henry Schreiner', email = 'HenrySchreinerIII@gmail.com' },
{ name = 'Thomas Li', email = '47963215+lithomas1@users.noreply.github.com' },
]
classifiers = [
'Development Status :: 5 - Production/Stable',
'Programming Language :: Python',
'Topic :: Software Development :: Build Tools',
]
dependencies = [
'meson >= 0.64.0; python_version < "3.12"',
'meson >= 1.2.3; python_version >= "3.12"',
'packaging >= 19.0',
'pyproject-metadata >= 0.8.0',
'tomli >= 1.0.0; python_version < "3.11"',
]
[project.optional-dependencies]
test = [
'build',
'packaging >= 23.1',
'pytest >= 6.0',
'pytest-cov[toml]',
'pytest-mock',
'cython >= 3.0.3', # required for Python 3.12 support
'wheel',
'typing-extensions >= 3.7.4; python_version < "3.11"',
]
docs = [
'furo >= 2024.08.06',
'sphinx ~= 8.1.0',
'sphinx-copybutton >= 0.5.0',
'sphinx-design >= 0.1.0',
'sphinxext-opengraph >= 0.7.0',
]
[project.urls]
homepage = 'https://github.com/mesonbuild/meson-python'
repository = 'https://github.com/mesonbuild/meson-python'
documentation = 'https://mesonbuild.com/meson-python/'
changelog = 'https://mesonbuild.com/meson-python/changelog.html'
[tool.mypy]
show_error_codes = true
ignore_missing_imports = true
strict = true
[tool.ruff]
line-length = 127
lint.extend-ignore = [
'B019',
]
lint.select = [
'B', # flake8-bugbear
'C4', # flake8-comprehensions
'E', # pycodestyle
'F', # pyflakes
'I', # isort
'W', # pycodestyle
'RUF100', # ruff
]
exclude = [
'docs/conf.py',
]
[tool.ruff.lint.isort]
lines-between-types = 1
lines-after-imports = 2
known-first-party = [
'mesonpy',
]
[tool.coverage.run]
disable_warnings = [
'couldnt-parse',
]
[tool.coverage.html]
show_contexts = true
[tool.pytest.ini_options]
minversion = '6.0'
addopts = ['-ra', '--strict-markers', '--strict-config']
log_cli_level = 'info'
norecursedirs = 'tests/packages/*'
testpaths = ['tests']
xfail_strict = true
filterwarnings = [
'error',
]