Skip to content

Commit 97e501c

Browse files
authored
Use more explicit rules for every platform, and use requirement_installer_args (#113)
1 parent 4b2d47f commit 97e501c

File tree

1 file changed

+28
-9
lines changed

1 file changed

+28
-9
lines changed

pyproject.toml

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,41 @@ sources = ["src/testbed"]
1919
test_sources = ["tests"]
2020

2121
requires = [
22-
# Skip binary dependencies on mobile for Python 3.14
23-
"cryptography; (platform_system != 'iOS' and platform_system != 'Android') or python_version < '3.14'",
24-
"lru_dict; (platform_system != 'iOS' and platform_system != 'Android') or python_version < '3.14'",
25-
"pillow; (platform_system != 'iOS' and platform_system != 'Android') or python_version < '3.14'",
26-
# Numpy/pandas aren't available for iOS on 3.13+, or at all on 3.14.
27-
"numpy; python_version < '3.13' or (platform_system != 'iOS' and python_version < '3.14')",
28-
"pandas; python_version < '3.13' or (platform_system != 'iOS' and python_version < '3.14')",
22+
# Cryptography provides an ABI3 wheel for all desktop platforms, but requires cffi which doesn't.
23+
"""cryptography; \
24+
(platform_system != 'iOS' and platform_system != 'Android' and python_version < '3.14') \
25+
or (platform_system == 'iOS' and python_version < '3.14') \
26+
or (platform_system == 'Android' and python_version < '3.14')""",
27+
# lru_dict not available anywhere on 3.14
28+
"""lru_dict; \
29+
(platform_system != 'iOS' and platform_system != 'Android' and python_version < '3.14') \
30+
or (platform_system == 'iOS' and python_version < '3.14') \
31+
or (platform_system == 'Android' and python_version < '3.14')""",
32+
# pillow not available anywhere on 3.14
33+
"""pillow; \
34+
(platform_system != 'iOS' and platform_system != 'Android' and python_version < '3.14') \
35+
or (platform_system == 'iOS' and python_version < '3.14') \
36+
or (platform_system == 'Android' and python_version < '3.14')""",
37+
# Numpy not available on iOS for 3.13+, or all on 3.14.
38+
"""numpy; \
39+
(platform_system != 'iOS' and platform_system != 'Android' and python_version < '3.14') \
40+
or (platform_system == 'iOS' and python_version < '3.13') \
41+
or (platform_system == 'Android' and python_version < '3.14')""",
42+
# Pandas not available on iOS for 3.13+, or all on 3.14.
43+
"""pandas; \
44+
(platform_system != 'iOS' and platform_system != 'Android' and python_version < '3.14') \
45+
or (platform_system == 'iOS' and python_version < '3.13') \
46+
or (platform_system == 'Android' and python_version < '3.14')""",
2947
]
3048
test_requires = [
3149
"pytest",
3250
]
33-
51+
requirement_installer_args = [
52+
"-f", "./wheels"
53+
]
3454
[tool.briefcase.app.testbed.macOS]
3555
requires = [
3656
# Provide a source of binary wheels that aren't provided on PyPI.
37-
"--find-links", "./wheels",
3857
"rubicon-objc",
3958
"std-nslog",
4059
]

0 commit comments

Comments
 (0)