-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
pyproject.toml
96 lines (84 loc) · 3.33 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
[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/`.
"expandvars",
"setuptools >= 47", # Minimum required for `version = attr:`
"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`
[tool.local.cythonize]
# This attr can contain multiple globs
src = ["src/propcache/*.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"
linetrace = "True" # Implies `profile=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]
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/test.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
[tool.cibuildwheel.linux]
before-all = "yum install -y libffi-devel || apk add --upgrade libffi-dev || apt-get install libffi-dev"