-
-
Notifications
You must be signed in to change notification settings - Fork 36
Expand file tree
/
Copy pathpyproject.toml
More file actions
156 lines (134 loc) · 5.44 KB
/
pyproject.toml
File metadata and controls
156 lines (134 loc) · 5.44 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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
[build-system]
requires = [
# NOTE: The following build dependencies are necessary for initial
# NOTE: provisioning of the in-tree build backend located under
# NOTE: `packaging/pep517_backend/`.
# setuptools >= 67.0 required for Python 3.12+ support
# Next step should be >= 77.0 for PEP 639 support
# Don't bump too early to give distributors time to update
# their setuptools version.
"expandvars",
"setuptools >= 67.0",
"tomli; python_version < '3.11'",
]
backend-path = ["packaging"] # requires `pip >= 20` or `pep517 >= 0.6.0`
build-backend = "pep517_backend.hooks" # wraps `setuptools.build_meta`
[project]
name = "frozenlist"
license = {text = "Apache-2.0"}
description = "A list-like structure which implements collections.abc.MutableSequence"
maintainers = [{ name = "aiohttp team", email = "team@aiohttp.org" }]
requires-python = ">=3.9"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Operating System :: POSIX",
"Operating System :: MacOS :: MacOS X",
"Operating System :: Microsoft :: Windows",
"Programming Language :: Cython",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"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 :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
dynamic = ["version", "readme"]
[project.urls]
"Homepage" = "https://github.com/aio-libs/frozenlist"
"Chat: Matrix" = "https://matrix.to/#/#aio-libs:matrix.org"
"Chat: Matrix Space" = "https://matrix.to/#/#aio-libs-space:matrix.org"
"CI: Github Actions" = "https://github.com/aio-libs/frozenlist/actions"
"Code of Conduct" = "https://github.com/aio-libs/.github/blob/master/CODE_OF_CONDUCT.md"
"Coverage: codecov" = "https://codecov.io/github/aio-libs/frozenlist"
"Docs: Changelog" = "https://github.com/aio-libs/frozenlist/blob/master/CHANGES.rst#changelog"
"Docs: RTD" = "https://frozenlist.aio-libs.org"
"GitHub: issues" = "https://github.com/aio-libs/frozenlist/issues"
"GitHub: repo" = "https://github.com/aio-libs/frozenlist"
[tool.setuptools]
license-files = ["LICENSE"]
[tool.setuptools.dynamic]
version = { attr = "frozenlist.__version__" }
readme = { file = ["README.rst", "CHANGES.rst"] }
[tool.setuptools.packages.find]
include = ["frozenlist*"]
[tool.setuptools.package-data]
# https://setuptools.pypa.io/en/latest/userguide/datafiles.html#package-data
"*" = ["*.so"]
[tool.setuptools.exclude-package-data]
"*" = ["*.cpp", "*.c", "*.h"]
[tool.local.cythonize]
# This attr can contain multiple globs
src = ["frozenlist/*.pyx"]
[tool.local.cythonize.env]
# Env vars provisioned during cythonize call
#CFLAGS = "-DCYTHON_TRACE=1 ${CFLAGS}"
#LDFLAGS = "${LDFLAGS}"
[tool.local.cythonize.flags]
# This section can contain the following booleans:
# * annotate — generate annotated HTML page for source files
# * build — build extension modules using distutils
# * inplace — build extension modules in place using distutils (implies -b)
# * force — force recompilation
# * quiet — be less verbose during compilation
# * lenient — increase Python compat by ignoring some compile time errors
# * keep-going — compile as much as possible, ignore compilation failures
annotate = false
build = false
inplace = true
force = true
quiet = false
lenient = false
keep-going = false
[tool.local.cythonize.kwargs]
# This section can contain args that have values:
# * exclude=PATTERN exclude certain file patterns from the compilation
# * parallel=N run builds in N parallel jobs (default: calculated per system)
# exclude = "**.py"
# parallel = 12
[tool.local.cythonize.kwargs.directive]
# This section can contain compiler directives. Ref:
# https://cython.rtfd.io/en/latest/src/userguide/source_files_and_compilation.html#compiler-directives
embedsignature = "True"
emit_code_comments = "True"
[tool.local.cythonize.kwargs.compile-time-env]
# This section can contain compile time env vars
[tool.local.cythonize.kwargs.option]
# This section can contain cythonize options
# Ref: https://github.com/cython/cython/blob/d6e6de9/Cython/Compiler/Options.py#L694-L730
#docstrings = "True"
#embed_pos_in_docstring = "True"
#warning_errors = "True"
#error_on_unknown_names = "True"
#error_on_uninitialized = "True"
[tool.cibuildwheel]
enable = ["cpython-freethreading"]
build-frontend = "build"
before-test = [
# NOTE: Attempt to have pip pre-compile PyYAML wheel with our build
# NOTE: constraints unset. The hope is that pip will cache that wheel
# NOTE: and the test env provisioning stage will pick up PyYAML from
# NOTE: said cache rather than attempting to build it with a conflicting.
# NOTE: Version of Cython.
# Ref: https://github.com/pypa/cibuildwheel/issues/1666
"PIP_CONSTRAINT= pip install PyYAML",
]
# test-requires = "-r requirements/ci-wheel.txt"
# test-command = "pytest -v --no-cov {project}/tests"
# don't build PyPy wheels, install from source instead
skip = "pp*"
[tool.cibuildwheel.environment]
COLOR = "yes"
FORCE_COLOR = "1"
MYPY_FORCE_COLOR = "1"
PIP_CONSTRAINT = "requirements/cython.txt"
PRE_COMMIT_COLOR = "always"
PY_COLORS = "1"
[tool.cibuildwheel.config-settings]
pure-python = "false"
[tool.cibuildwheel.windows]
before-test = [] # Windows cmd has different syntax and pip chooses wheels