-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpyproject.toml
82 lines (75 loc) · 2.32 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
[build-system]
requires = [
'meson-python',
'nanobind', # for stubgen
'typing_extensions', # for stubgen (should be declared by nanobind)
'ruff', # for stubgen
]
build-backend = 'mesonpy'
[project]
requires-python = ">=3.9"
name = "pymmcore-nano"
dynamic = ['version']
description = "Alternative python bindings for MMCore, Micro-Manager's device control layer"
readme = "README.md"
license = { text = "LGPL-2.1-only" }
authors = [
{ name = "Micro-Manager Team" },
{ name = "Mark Tsuchida", email = "marktsuchida@gmail.com" },
{ name = "Talley Lambert", email = "talley.lambert@gmail.com" },
]
classifiers = [
"Development Status :: 4 - Beta",
"License :: OSI Approved :: BSD License",
"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",
"Typing :: Typed",
]
dependencies = ["numpy>=1.25"]
[dependency-groups]
dev = [
"clang-format>=19.1.7",
"gcovr",
"ipython",
"meson-python",
"mypy",
"nanobind",
"ninja",
"pdbpp; sys_platform != 'win32'",
"pre-commit",
"pytest-cov",
"pytest",
"rich",
"ruff",
"rust-just",
]
# https://docs.pytest.org/
[tool.pytest.ini_options]
minversion = "7.0"
testpaths = ["tests"]
filterwarnings = ["error"]
# https://coverage.readthedocs.io/
[tool.coverage.report]
show_missing = true
[tool.coverage.run]
omit = ['subprojects/']
source = ["pymmcore_nano", "mmCoreAndDevices"]
[tool.cibuildwheel]
build-verbosity = 1
# Skip 32-bit builds, musllinux, and PyPy wheels on all platforms
# Note: use of PTHREAD_MUTEX_RECURSIVE_NP in DeviceThreads.h
# is specific to glibc and not available in musl-libc
skip = ["*-manylinux_i686", "*-musllinux*", "*-win32", "pp*"]
build = ["cp39-*", "cp310-*", "cp311-*", "cp312-*", "cp313-*"]
test-requires = "pytest"
test-command = 'pytest "{project}/tests" -v'
test-skip = ["*-macosx*", "*linux*"] # until we build device adapters locally
[tool.cibuildwheel.macos]
# https://cibuildwheel.readthedocs.io/en/stable/faq/#apple-silicon
archs = ["x86_64", "arm64"]
# Needed for full C++17 support on macOS
environment = { MACOSX_DEPLOYMENT_TARGET = "10.14" }