-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
43 lines (36 loc) · 1.55 KB
/
pyproject.toml
File metadata and controls
43 lines (36 loc) · 1.55 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
[build-system]
requires = ["setuptools>=64", "wheel", "pybind11>=2.10"]
build-backend = "setuptools.build_meta"
[project]
name = "easysba"
version = "0.1.0"
description = "Python bindings for easySBA"
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"marimo>=0.19.11",
"numpy>=1.20",
"pyzmq>=27.1.0",
]
[tool.cibuildwheel]
build-frontend = "build"
skip = "*-musllinux* *-win32"
test-skip = "*"
# Default environment for Linux
environment = { EASYSBA_LAPACK_LIBS = "openblas" }
[tool.cibuildwheel.linux]
before-all = "yum -y install openblas-devel lapack-devel"
[tool.cibuildwheel.macos]
environment = { EASYSBA_USE_ACCELERATE = "1", EASYSBA_LAPACK_LIBS = "" }
[tool.cibuildwheel.windows]
# We already installed these on the host, but we install them in the
# build venv as well to be safe for the repair step.
before-build = "pip install scipy-openblas64 delvewheel"
# Use the repair-wheel-command to bundle the DLL
repair-wheel-command = "python -c \"import scipy_openblas64, subprocess, sys; subprocess.check_call(['delvewheel', 'repair', '--add-path', scipy_openblas64.get_lib_dir(), '-w', sys.argv[1], sys.argv[2]])\" {dest_dir} {wheel}"
[tool.cibuildwheel.windows.environment]
EASYSBA_LAPACK_LIBS = "libscipy_openblas64_"
# Only add the library directory for linking. Do NOT add include directory
# to avoid conflicts with scipy-openblas64's lapack.h (has C99 complex types
# incompatible with MSVC). The project has its own lapack_compat.h header.
LIB = "$(python -c \"import scipy_openblas64; print(scipy_openblas64.get_lib_dir())\");$LIB"