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 support for Python 3.13 #49

Merged
merged 20 commits into from
Sep 5, 2024
Merged

Add support for Python 3.13 #49

merged 20 commits into from
Sep 5, 2024

Conversation

freakboy3742
Copy link
Member

@freakboy3742 freakboy3742 commented Nov 20, 2023

Python 3.13 finalised the "dead batteries" deprecations, so there are some modules that no longer exist.

Temporarily disabling the binary modules so that the 3.13 tests will pass.

This also drops Python 3.8 support, and makes some minor project format changes for recent Briefcase releases.

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

@freakboy3742 freakboy3742 marked this pull request as draft November 20, 2023 22:05
@freakboy3742
Copy link
Member Author

See the Briefcase PR for details on the merge strategy for this template change.

Comment on lines 108 to 113
exclude:
# Binary packages aren't available for 3.11+ on Android yet
- backend: "android"
python-version: "3.11"

- backend: "android"
# Binary packages aren't available for 3.12+ on Android yet
- backend: android
python-version: "3.12"
- backend: android
python-version: "3.13-dev"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do now have 3.12 Android wheels for Pillow and NumPy, so I guess that doesn't need to be excluded.

On 3.13 we don't have wheels for iOS either, so is the plan to exclude iOS as well, or to hold off merging this PR until you've built them?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch on the Android 3.12 exclusion; that exists because I originally wrote this PR late last year before 3.12 support landed in Chaquopy.

As for other platforms - we need to exclude binaries on all iOS versions because of the change in binary tag from the 3.13 backport; and we need to exclude numpy and pandas from all platforms on 3.13 specifically because there aren't 3.13 wheels yet. We can drop the "!= iOS" exclusion once I've updated mobile-forge et al and have published new wheels.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like we're still missing binary packages on Android for Cryptography on 3.11 and 3.12, though.

Copy link
Member

@mhsmith mhsmith Aug 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@freakboy3742 freakboy3742 marked this pull request as ready for review August 16, 2024 04:28
@freakboy3742
Copy link
Member Author

I've reverted the changes related to Android; this PR is now "no worse than it was before" regarding Android support. When wheels for Cryptography on 3.11+ are available, we can push an update to - at this point, we might as well wait until we have full 3.13 support for Android.

Binary package support for iOS has also been removed; again, we can restore that in a separate PR once the wheels are available.

@freakboy3742 freakboy3742 merged commit 42ea09b into main Sep 5, 2024
31 checks passed
@freakboy3742 freakboy3742 deleted the py3.13-support branch September 5, 2024 08:02
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