-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
113 lines (96 loc) · 3.39 KB
/
pyproject.toml
File metadata and controls
113 lines (96 loc) · 3.39 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
[build-system]
requires = ["numpy>=2.0.0", "scikit-build-core", "nanobind>=2.0.0"]
build-backend = "scikit_build_core.build"
[project]
name = "spatula-analysis"
version = "0.2.0"
requires-python = ">=3.12"
description = "Point group symmetry analysis of local environments for point cloud data."
readme = "README.rst"
license = "BSD-3-Clause"
license-files = ["LICENSE"]
keywords = ["order parameter", "point groups", "molecular simulations", "symmetry", "crystallography", "condensed matter", "soft matter"]
classifiers = [
"Development Status :: 4 - Beta",
"Natural Language :: English",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
dependencies = [
"numpy",
"freud-analysis>=3.0.0,!=3.2.0",
"scipy",
]
[project.optional-dependencies]
test = [
"pytest",
"coxeter",
]
[project.urls]
Documentation = "https://spatula.readthedocs.io"
Download = "https://pypi.org/project/spatula-analysis/"
Source = "https://github.com/glotzerlab/spatula"
Issues = "https://github.com/glotzerlab/spatula/issues"
[tool.cibuildwheel]
archs = ["auto64"]
skip = ["*musllinux*","cp3??t-*"]
test-requires = [
"pytest==8.4.2", "coxeter==0.10.0", "pytest-xdist==3.8.0"
]
test-sources = ["tests"]
test-command = "pytest ./tests -n auto"
# Use abi3audit to catch issues with Limited API wheels
[tool.cibuildwheel.linux]
repair-wheel-command = [
"auditwheel repair -w {dest_dir} {wheel}",
"pipx run abi3audit --strict --verbose {wheel}",
]
before-all = """
mkdir ispc
curl -sSL https://github.com/ispc/ispc/releases/download/v1.30.0/ispc-v1.30.0-linux.tar.gz | tar -xvz --directory ispc --strip-components 1
./ispc/bin/ispc --version
"""
environment = { PATH="/project/ispc/bin:$PATH", CMAKE_ARGS="-DISPC_TARGET=avx2-i32x8" }
[tool.cibuildwheel.macos]
repair-wheel-command = [
"delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}",
"pipx run abi3audit --strict --verbose {wheel}",
]
before-all = """
mkdir ispc
curl -sSL https://github.com/ispc/ispc/releases/download/v1.30.0/ispc-v1.30.0-macos.universal.tar.gz | tar -xvz --directory ispc --strip-components 1
./ispc/bin/ispc --version
"""
environment = { PATH="/Users/runner/work/spatula/spatula/ispc/bin:$PATH", CMAKE_ARGS="-DISPC_TARGET=neon-i32x4" }
[tool.cibuildwheel.windows]
repair-wheel-command = [
"copy {wheel} {dest_dir}",
"pipx run abi3audit --strict --verbose {wheel}",
]
before-all = """
mkdir ispc
curl -sSL https://github.com/ispc/ispc/releases/download/v1.30.0/ispc-v1.30.0-windows.zip -o ispc-v1.30.0-windows.zip
mkdir ispc
tar -xf ispc-v1.30.0-windows.zip -C ispc --strip-components 1
./ispc/bin/ispc --version
echo "pwd: $(pwd)"
"""
environment = { PATH="/project/ispc/bin:$PATH", CMAKE_ARGS="-DISPC_TARGET=avx2-i32x8" }
[tool.ruff]
line-length = 88
[tool.ruff.lint]
select = [
"B","D","E","F","I","N","S","W","C4","UP","C90","NPY","PTH","SIM","PIE790","PIE794",
]
ignore = ["B905","D107","D213","D211","E741","S101","UP006","SIM116","D203"]
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["F401"]
"tests/*" = ["D", "B018", "F811"]
"tests/test_wignerd.py" = ["N802"]
"docs/source/conf.py" = ["D100"]
[tool.scikit-build]
sdist.exclude = [".github", "docs"]
wheel.packages = ["spatula"] # copy the whole Python package folder into the wheel
wheel.py-api = "cp312"