Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add dependency exclusions for iOS and Android on 3.14. #104

Merged
merged 2 commits into from
Dec 21, 2024
Merged

Conversation

freakboy3742
Copy link
Member

A continuation of #103 - adds exclusions for the other binary modules, which won't be aren't available for 3.14.

PR Checklist:

  • All new features have been tested
  • All new features have been documented
  • I have read the CONTRIBUTING.md file
  • I will abide by the code of conduct

@mhsmith
Copy link
Member

mhsmith commented Dec 19, 2024

The current condition is:

(platform_system != 'iOS' and platform_system != 'Android') or python_version < '3.14'

This will enable the package on Python 3.14 on all desktop platforms, which I don't think was the intention?

Also, we don't necessarily know that mobile platforms will have packages any later than desktop platforms this time around. So what if for now we just say python_version < '3.14'? Once the packages start becoming available, we can add platform-specific conditions as necessary.

@freakboy3742
Copy link
Member Author

This will enable the package on Python 3.14 on all desktop platforms, which I don't think was the intention?

That was the intention.

Also, we don't necessarily know that mobile platforms will have packages any later than desktop platforms this time around. So what if for now we just say python_version < '3.14'? Once the packages start becoming available, we can add platform-specific conditions as necessary.

The difference is that on Desktop, source compilation is an option. With the PR that was merged yesterday, macOS successfully installs cryptography, Pillow and lru-dict under a 3.14 build, from source. I haven't tested Linux and Windows, but I suspect they will work (but we also can't turn on CI until the support packages exist - but building the support package on macOS should test binary module support).

A source build isn't possible on numpy because it specifically gates an upper Python versipn; and pandas has numpy as a requirement.

At least for now, source builds aren't possible for Android and iOS, so gating will be required until we publish wheels (either formally, or in the wheels folder of this repo).

My thinking is that until we resolve the mobile-source-install problem, we're always going to have a 2 tier gating - it's just that the upper gate may be a release that doesn't exist yet (3.15 today).

@mhsmith mhsmith merged commit 71a97e7 into main Dec 21, 2024
37 checks passed
@freakboy3742 freakboy3742 deleted the ios-3.14 branch December 22, 2024 00:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants