-
Notifications
You must be signed in to change notification settings - Fork 319
Expand file tree
/
Copy pathpyproject.toml
More file actions
114 lines (104 loc) · 3.64 KB
/
pyproject.toml
File metadata and controls
114 lines (104 loc) · 3.64 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
114
[build-system]
requires = ["scikit-build-core>=0.5.0", "pybind11>=2.9.0"]
build-backend = "scikit_build_core.build"
[tool.cibuildwheel]
enable = ["cpython-freethreading"]
test-requires = ["-r test-requirements.txt"]
test-command = "pytest {project}/tests"
# The manylinux container doesn't have a new enough glibc version,
# so we can't run post-wheel-build tests there.
# The musllinux containers on aarch64 take 6+ hours to test.
# Also testing any pypy versions fails, as TensorFlow isn't pypy compatible.
# cp313t is skipped because cffi doesn't support free-threaded Python 3.13.
test-skip = "*manylinux* *musllinux_aarch* *pp* *-macosx_universal2:arm64 *cp313t*"
musllinux-x86_64-image = "quay.io/pypa/musllinux_1_1_x86_64:latest"
musllinux-aarch64-image = "quay.io/pypa/musllinux_1_1_aarch64:latest"
# See: https://cibuildwheel.readthedocs.io/en/stable/options/#examples
[tool.cibuildwheel.linux]
before-all = "yum install -y libsndfile libX11-devel libXrandr-devel libXinerama-devel libXrender-devel libXcomposite-devel libXinerama-devel libXcursor-devel freetype-devel alsa-lib-devel"
repair-wheel-command = "pip install auditwheel-symbols && (auditwheel repair -w {dest_dir} {wheel} || auditwheel-symbols --manylinux 2010 {wheel})"
archs = ["auto64", "aarch64"]
[tool.cibuildwheel.macos]
archs = ["x86_64", "arm64", "universal2"]
[tool.cibuildwheel.windows]
archs = ["auto"]
[[tool.cibuildwheel.overrides]]
# Use apk instead of yum when building on Alpine Linux
# (Note: this is experimental, as most VSTs require glibc and thus Alpine Linux isn't that useful)
select = "*-musllinux*"
before-all = "apk add libsndfile libx11-dev libxrandr-dev libxinerama-dev libxrender-dev libxcomposite-dev libxinerama-dev libxcursor-dev freetype-dev libexecinfo-dev alsa-lib-dev"
[project]
name = "pedalboard"
authors = [{ name = "Peter Sobot", email = "[email protected]" }]
description = "A Python library for adding effects to audio."
readme = "README.md"
requires-python = ">=3.10"
license = { file = "LICENSE" }
classifiers = [
"Development Status :: 4 - Beta",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Operating System :: MacOS",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux",
"Programming Language :: C++",
"Programming Language :: Python",
"Topic :: Multimedia :: Sound/Audio",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
dependencies = ["numpy"]
version = "0.9.22"
[project.optional-dependencies]
test = [
"pytest",
"pyright",
"mutagen",
"pytest-cov",
"pytest-mock",
"tqdm",
"psutil",
"mypy",
"pyright",
"mido",
]
[tool.scikit-build]
cmake.build-type = "Release"
build.verbose = true
logging.level = "DEBUG"
wheel.packages = ["pedalboard", "pedalboard.io", "pedalboard_native"]
sdist.include = [
"pedalboard/**/*.py",
"pedalboard_native/**/*.py",
"pedalboard/py.typed",
"pedalboard_native/py.typed",
"JUCE/**/*.cpp",
"JUCE/**/*.c",
"JUCE/**/*.h",
"JUCE/**/*.mm",
"JUCE/**/*.m",
"vendors/**/*.c",
"vendors/**/*.cpp",
"vendors/**/*.h",
"vendors/**/*.inc",
]
sdist.exclude = ["**/__pycache__"]
# [tool.scikit-build.include]
# pedalboard = ["py.typed", "*.pyi", "**/*.pyi"]
# pedalboard_native = ["py.typed", "*.pyi", "**/*.pyi"]
[tool.ruff]
target-version = "py310"
line-length = 100
lint.extend-ignore = ["E203", "F541"]
exclude = [
".git",
"dist",
"doc",
"build",
"JUCE",
"examples",
"vendors",
"*.pyi",
]