Skip to content

Commit

Permalink
Merge pull request #99 from mhsmith/android-3.13
Browse files Browse the repository at this point in the history
Enable Python 3.11 - 3.13 on Android
  • Loading branch information
freakboy3742 authored Oct 23, 2024
2 parents b1b8168 + 2d2a91c commit 8cb8525
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 22 deletions.
20 changes: 2 additions & 18 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
- "windows-app"
- "iOS"
- "android"
python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13-dev" ]
python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ]
include:
- runs-on: ubuntu-latest
- pre-command:
Expand Down Expand Up @@ -105,23 +105,6 @@ jobs:
| sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
exclude:
# Cryptography isn't available for 3.11+ on Android yet
- backend: android
python-version: "3.11"
- backend: android
python-version: "3.12"
# Binary packages aren't available for 3.13 on Android yet
- backend: android
python-version: "3.13-dev"
# Support package isn't available for 3.13 on Linux
- backend: "linux-flatpak"
python-version: "3.13-dev"
# Support package isn't available for 3.13 on Window
- backend: "windows-VisualStudio"
python-version: "3.13-dev"
- backend: "windows-app"
python-version: "3.13-dev"
steps:
- name: Checkout
Expand All @@ -134,6 +117,7 @@ jobs:
if: matrix.python-version != 'system'
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true

- name: Install Dependencies
run: ${{ matrix.pre-command }}
Expand Down
9 changes: 5 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ requires = [
"cryptography",
"lru_dict",
"pillow",
# Numpy/pandas aren't available on 3.13.
"numpy; python_version < '3.13'",
"pandas; python_version < '3.13'",
# Numpy/pandas aren't available for iOS on 3.13+.
"numpy; python_version < '3.13' or platform_system != 'iOS'",
"pandas; python_version < '3.13' or platform_system != 'iOS'",
]
test_requires = [
"pytest",
Expand Down Expand Up @@ -77,7 +77,8 @@ flatpak_sdk = "org.gnome.Sdk"

[tool.briefcase.app.testbed.windows]
requires = [
"pythonnet>=3.0.0rc6",
# Python.net isn't avaialble for 3.13 yet.
"pythonnet>=3.0.0rc6; python_version < '3.13'",
# Windows doesn't provide the zoneinfo TZ database; use the Python provided one
"tzdata",
]
Expand Down
1 change: 1 addition & 0 deletions tests/test_common.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ def test_stdlib_modules():

# Modules that do not exist on Android
if hasattr(sys, "getandroidapilevel"):
all_modules.remove("_multiprocessing")
all_modules.remove("grp")

# Modules that do not exist on iOS
Expand Down
3 changes: 3 additions & 0 deletions tests/test_windows.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,13 @@

import pytest

from .test_thirdparty import xfail_if_not_installed

if sys.platform != "win32":
pytest.skip("Skipping Windows-only tests", allow_module_level=True)


@xfail_if_not_installed("pythonnet")
def test_pythonnet():
"Python.net integration works as expected"
# Set up CLR
Expand Down

0 comments on commit 8cb8525

Please sign in to comment.