-
Notifications
You must be signed in to change notification settings - Fork 5
/
pyproject.toml
109 lines (93 loc) · 2.61 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
[build-system]
build-backend = "scikit_build_core.build"
requires = ["scikit-build-core >= 0.10.7"]
[project]
name = "clp_ffi_py"
version = "0.0.13"
license = { text = "Apache License 2.0" }
authors = [
{ name="zhihao lin", email="[email protected]" },
]
description = "Python interface to the CLP Core Features through CLP's FFI"
readme = "README.md"
requires-python = ">=3.7"
dependencies = [
"Deprecated >= 1.2.14",
# We lock msgpack to 1.0.5 to support Python3.7
"msgpack == 1.0.5",
"python-dateutil >= 2.7.0",
"typing-extensions >= 4.1.1",
"zstandard >= 0.18.0",
]
classifiers = [
"License :: OSI Approved :: Apache Software License",
]
[project.urls]
"Homepage" = "https://github.com/y-scope/clp-ffi-py"
"Bug Tracker" = "https://github.com/y-scope/clp-ffi-py/issues"
[tool.black]
line-length = 100
target-version = ["py311"]
color = true
preview = true
[tool.cibuildwheel]
# NOTE: The wheels to be built (and skipped) must be kept in-sync with the GitHub workflow. The GH
# workflow doesn't use pyproject.toml to determine which wheels to build, but instead uses
# environment variables so that it can build the wheels in parallel jobs.
# Use `musllinux_1_2` to support C++20 compilation
musllinux-aarch64-image = "musllinux_1_2"
musllinux-i686-image = "musllinux_1_2"
musllinux-ppc64le-image = "musllinux_1_2"
musllinux-s390x-image = "musllinux_1_2"
musllinux-x86_64-image = "musllinux_1_2"
skip = "pp*"
test-command = [
"python -m unittest discover --failfast --verbose --start-directory={package}/tests"
]
test-requires = [
"smart_open==6.4.0"
]
test-skip = [
"cp39-*",
"cp310-*",
"*-*linux_i686",
]
[tool.cibuildwheel.linux]
archs = ["auto", "aarch64"]
[tool.cibuildwheel.macos]
archs = ["x86_64", "universal2", "arm64"]
[tool.cibuildwheel.macos.environment]
# We need 10.15 since CLP core uses std::from_chars.
MACOSX_DEPLOYMENT_TARGET = "10.15"
[tool.cibuildwheel.windows]
archs = ["AMD64"]
[tool.docformatter]
make-summary-multi-line = true
pre-summary-newline = true
recursive = true
wrap-summaries = 100
wrap-descriptions = 100
[tool.mypy]
explicit_package_bases = true
mypy_path = ["tests"]
strict = true
pretty = true
[tool.ruff]
exclude = [
"clp_ffi_py/ir/__init__.py"
]
line-length = 100
src = ["."]
[tool.ruff.lint]
select = ["E", "I", "F"]
isort.order-by-type = false
[tool.scikit-build]
cmake.build-type = "Release"
logging.level = "INFO"
# By default, sdist-build-core uses `.gitignore` to select what to exclude from the source
# distribution. This list is to explicitly exclude files not specified in `.gitignore`.
sdist.exclude = [
".*",
"docs",
"Taskfile.yml",
]