Skip to content

Commit

Permalink
Merge pull request #122 from tlambert03/py313
Browse files Browse the repository at this point in the history
build: support python 3.13, drop python 3.8
  • Loading branch information
marktsuchida authored Oct 2, 2024
2 parents 0be8db0 + 525fcd0 commit a596726
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 24 deletions.
12 changes: 5 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,21 +32,18 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.10", "3.12"]
python-version: ["3.9", "3.11", "3.13"]
os: [ubuntu-latest, windows-latest, macos-latest]
include:
- python-version: "3.8"
- python-version: "3.9"
os: ubuntu-latest
numpy: "==1.23.5"
numpy: "~=1.25"
- python-version: "3.10"
os: ubuntu-latest
numpy: "~=1.26"
- python-version: "3.9"
os: windows-latest
numpy: ">=2.0.0b1"
- python-version: "3.12"
os: ubuntu-latest
numpy: ">=2.0.0b1"
numpy: ">=2.0.0"

steps:
- uses: actions/checkout@v4
Expand All @@ -57,6 +54,7 @@ jobs:
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true

- name: Install dependencies
run: |
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Because pymmcore is distributed separately from Micro-Manager, it needs to be

## Installing

Suports Python 3.8 or later and Windows, macOS, and Linux (all 64-bit).
Suports Python 3.9 or later and Windows, macOS, and Linux (all 64-bit).

```
pip install pymmcore
Expand Down
20 changes: 4 additions & 16 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,18 +1,6 @@
# https://peps.python.org/pep-0517/
[build-system]
requires = [
"setuptools >=61.0.0",
"swig >=4.1",
# https://github.com/scipy/oldest-supported-numpy/blob/main/setup.cfg
"numpy==1.19.3; python_version=='3.8' and platform_machine=='aarch64' and platform_python_implementation != 'PyPy'",
"numpy==1.21.0; python_version=='3.8' and platform_machine=='arm64' and platform_system=='Darwin' and platform_python_implementation!='PyPy'",
"numpy==1.17.5; python_version=='3.8' and platform_machine=='s390x' and platform_python_implementation != 'PyPy'",
"numpy==1.17.3; python_version=='3.8' and platform_machine=='arm64' and platform_system=='Windows' and platform_python_implementation != 'PyPy'",
"numpy==1.17.3; python_version=='3.8' and platform_machine not in 'arm64|aarch64|s390x|loongarch64' and platform_python_implementation != 'PyPy'",
"numpy==1.22.2; python_version=='3.8' and platform_machine!='loongarch64' and platform_python_implementation=='PyPy'",
# https://numpy.org/devdocs/dev/depending_on_numpy.html#adding-a-dependency-on-numpy
"numpy>=2.0.0b1; python_version>='3.9'",
]
requires = ["setuptools ==72.1.0", "swig >=4.1", "numpy>=2.0.0"]
build-backend = "setuptools.build_meta"

# https://peps.python.org/pep-0621/
Expand All @@ -21,7 +9,7 @@ name = "pymmcore"
description = "Python bindings for MMCore, Micro-Manager's device control layer"
dynamic = ["version"]
readme = "README.md"
requires-python = ">=3.8"
requires-python = ">=3.9"
license = { text = "LGPL-2.1-only" }
authors = [{ name = "Micro-Manager Team" }]
classifiers = [
Expand All @@ -37,7 +25,7 @@ classifiers = [
"Topic :: System :: Hardware :: Hardware Drivers",
"Typing :: Typed",
]
dependencies = ["numpy>=1.23.5"]
dependencies = ["numpy>=1.25"]

[project.optional-dependencies]
test = ["pytest"]
Expand All @@ -61,7 +49,7 @@ version = { attr = "pymmcore._version.__version__" }
# Note: use of PTHREAD_MUTEX_RECURSIVE_NP in DeviceThreads.h
# is specific to glibc and not available in musl-libc
skip = ["*-manylinux_i686", "*-musllinux*", "*-win32", "pp*"]
build = ["cp38-*", "cp39-*", "cp310-*", "cp311-*", "cp312-*"]
build = ["cp39-*", "cp310-*", "cp311-*", "cp312-*", "cp313-*"]
test-requires = "pytest"
test-command = 'pytest "{project}/tests" -v'
test-skip = "*-macosx_arm64"
Expand Down

0 comments on commit a596726

Please sign in to comment.