From 76d5b34c4c735546a5250f5cf271ccf5357526a2 Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Tue, 4 Jun 2024 12:45:07 +1000 Subject: [PATCH 1/7] Include ffmpeg suitable for Apple Silicon, macos arm64 --- imageio_ffmpeg/_definitions.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/imageio_ffmpeg/_definitions.py b/imageio_ffmpeg/_definitions.py index 578971a..022ef63 100644 --- a/imageio_ffmpeg/_definitions.py +++ b/imageio_ffmpeg/_definitions.py @@ -1,25 +1,27 @@ import platform import struct -import sys __version__ = "0.5.0" def get_platform(): bits = struct.calcsize("P") * 8 - if sys.platform.startswith("linux"): + if platform.system().lower().startswith("linux"): architecture = platform.machine() if architecture == "aarch64": return "linuxaarch64" return "linux{}".format(bits) - elif sys.platform.startswith("freebsd"): + elif platform.system().lower().startswith("freebsd"): return "freebsd{}".format(bits) - elif sys.platform.startswith("win"): + elif platform.system().lower().startswith("win"): return "win{}".format(bits) - elif sys.platform.startswith("cygwin"): + elif platform.system().lower().startswith("cygwin"): return "win{}".format(bits) - elif sys.platform.startswith("darwin"): - return "osx{}".format(bits) + elif platform.system().lower().startswith("darwin"): + if platform.processor().lower().startswith("arm"): # Apple Silicon + return "osx-arm{}".format(bits) + else: + return "osx-{}".format(bits) else: # pragma: no cover return None @@ -34,6 +36,7 @@ def get_platform(): # Platform string -> ffmpeg filename FNAME_PER_PLATFORM = { + "osx-arm64": "ffmpeg-osx-arm64-v7", # Apple Silicon "osx64": "ffmpeg-osx64-v4.2.2", # 10.10+ "win32": "ffmpeg-win32-v4.2.2.exe", # Windows 7+ "win64": "ffmpeg-win64-v4.2.2.exe", @@ -43,12 +46,14 @@ def get_platform(): } osxplats = "macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64" +osxarmplats = "macosx_11_0_arm64.macosx_12_0_arm64.macosx_13_0_arm64.macosx_14_0_arm64" # Wheel tag -> platform string WHEEL_BUILDS = { "py3-none-manylinux2010_x86_64": "linux64", "py3-none-manylinux2014_aarch64": "linuxaarch64", - "py3-none-" + osxplats: "osx64", + "py3-none-" + osxplats: "osx64", # Apple Intel + "py3-none-" + osxarmplats: "osx-arm64", # Apple Silicon "py3-none-win32": "win32", "py3-none-win_amd64": "win64", } From 2d4c5c0ca51c084c07c44dce7ffadb531719b472 Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Thu, 6 Jun 2024 10:22:45 +1000 Subject: [PATCH 2/7] Update imageio_ffmpeg/_definitions.py, apple silicon binary filename ffmpeg-osx-arm64-v7.0 --- imageio_ffmpeg/_definitions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imageio_ffmpeg/_definitions.py b/imageio_ffmpeg/_definitions.py index 022ef63..156d3de 100644 --- a/imageio_ffmpeg/_definitions.py +++ b/imageio_ffmpeg/_definitions.py @@ -36,7 +36,7 @@ def get_platform(): # Platform string -> ffmpeg filename FNAME_PER_PLATFORM = { - "osx-arm64": "ffmpeg-osx-arm64-v7", # Apple Silicon + "osx-arm64": "ffmpeg-osx-arm64-v7.0", # Apple Silicon "osx64": "ffmpeg-osx64-v4.2.2", # 10.10+ "win32": "ffmpeg-win32-v4.2.2.exe", # Windows 7+ "win64": "ffmpeg-win64-v4.2.2.exe", From 1c056a7493100714830ec0d0a45abdd9d5fd92c5 Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Mon, 10 Jun 2024 10:37:22 +1000 Subject: [PATCH 3/7] Update imageio_ffmpeg/_definitions.py osx64 ffmpeg binary filename --- imageio_ffmpeg/_definitions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imageio_ffmpeg/_definitions.py b/imageio_ffmpeg/_definitions.py index 156d3de..e77721a 100644 --- a/imageio_ffmpeg/_definitions.py +++ b/imageio_ffmpeg/_definitions.py @@ -37,7 +37,7 @@ def get_platform(): # Platform string -> ffmpeg filename FNAME_PER_PLATFORM = { "osx-arm64": "ffmpeg-osx-arm64-v7.0", # Apple Silicon - "osx64": "ffmpeg-osx64-v4.2.2", # 10.10+ + "osx64": "ffmpeg-osx-x86-v7.0", # 10.9+ "win32": "ffmpeg-win32-v4.2.2.exe", # Windows 7+ "win64": "ffmpeg-win64-v4.2.2.exe", # "linux32": "ffmpeg-linux32-v4.2.2", From d4a8ea9c1b91fb737e4fd5cc976618a0e4ab08aa Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Mon, 10 Jun 2024 10:39:29 +1000 Subject: [PATCH 4/7] Update imageio_ffmpeg/_definitions.py, simpler osxarmplats string --- imageio_ffmpeg/_definitions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imageio_ffmpeg/_definitions.py b/imageio_ffmpeg/_definitions.py index e77721a..533ea9e 100644 --- a/imageio_ffmpeg/_definitions.py +++ b/imageio_ffmpeg/_definitions.py @@ -46,7 +46,7 @@ def get_platform(): } osxplats = "macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64" -osxarmplats = "macosx_11_0_arm64.macosx_12_0_arm64.macosx_13_0_arm64.macosx_14_0_arm64" +osxarmplats = "macosx_11_0_arm64" # Wheel tag -> platform string WHEEL_BUILDS = { From 13c32edae1682811fb2b8ffca785c1f289b8a282 Mon Sep 17 00:00:00 2001 From: Genevieve Buckley <30920819+GenevieveBuckley@users.noreply.github.com> Date: Mon, 10 Jun 2024 10:39:41 +1000 Subject: [PATCH 5/7] Update imageio_ffmpeg/_definitions.py, simpler osxplats string --- imageio_ffmpeg/_definitions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imageio_ffmpeg/_definitions.py b/imageio_ffmpeg/_definitions.py index 533ea9e..c9ea900 100644 --- a/imageio_ffmpeg/_definitions.py +++ b/imageio_ffmpeg/_definitions.py @@ -45,7 +45,7 @@ def get_platform(): "linuxaarch64": "ffmpeg-linuxaarch64-v4.2.2", } -osxplats = "macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64" +osxplats = "macosx_10_9_intel.macosx_10_9_x86_64" osxarmplats = "macosx_11_0_arm64" # Wheel tag -> platform string From db4e0eac79eb3fe0789af4d8ec67d232abab6860 Mon Sep 17 00:00:00 2001 From: Almar Klein Date: Thu, 16 Jan 2025 16:13:16 +0100 Subject: [PATCH 6/7] black --- imageio_ffmpeg/_definitions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imageio_ffmpeg/_definitions.py b/imageio_ffmpeg/_definitions.py index bdd36a6..801fb1d 100644 --- a/imageio_ffmpeg/_definitions.py +++ b/imageio_ffmpeg/_definitions.py @@ -36,7 +36,7 @@ def get_platform(): # Platform string -> ffmpeg filename FNAME_PER_PLATFORM = { - "osx-arm64": "ffmpeg-osx-arm64-v7.0", # Apple Silicon + "osx-arm64": "ffmpeg-osx-arm64-v7.0", # Apple Silicon "osx64": "ffmpeg-osx-x86-v7.0", # 10.9+ "win32": "ffmpeg-win32-v4.2.2.exe", # Windows 7+ "win64": "ffmpeg-win64-v4.2.2.exe", From 25dbaecd1c12d0f46ca6355fd8394fdb653478f0 Mon Sep 17 00:00:00 2001 From: Almar Klein Date: Thu, 16 Jan 2025 16:15:36 +0100 Subject: [PATCH 7/7] update pyversion support --- .github/workflows/ci.yml | 28 ++++++++++++++-------------- setup.py | 5 ++--- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ed38b91..b281913 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,10 +17,10 @@ jobs: fail-fast: false steps: - uses: actions/checkout@v4 - - name: Set up Python 3.10 + - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.10' + python-version: '3.13' - name: Install dependencies run: | python -m pip install --upgrade pip @@ -38,34 +38,34 @@ jobs: matrix: include: # Python versions - - name: Linux py37 - os: ubuntu-latest - pyversion: '3.7' - - name: Linux py38 - os: ubuntu-latest - pyversion: '3.8' - name: Linux py39 os: ubuntu-latest pyversion: '3.9' - name: Linux py310 os: ubuntu-latest pyversion: '3.10' + - name: Linux py311 + os: ubuntu-latest + pyversion: '3.11' - name: Linux py312 os: ubuntu-latest pyversion: '3.12' + - name: Linux py313 + os: ubuntu-latest + pyversion: '3.13' - name: Linux pypy os: ubuntu-latest pyversion: 'pypy3.9' # OS's - - name: Linux py311 + - name: Linux py313 os: ubuntu-latest - pyversion: '3.11' - - name: Windows py311 + pyversion: '3.13' + - name: Windows py313 os: windows-latest - pyversion: '3.11' - - name: MacOS py311 + pyversion: '3.13' + - name: MacOS py313 os: macos-latest - pyversion: '3.11' + pyversion: '3.13' steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.pyversion }} diff --git a/setup.py b/setup.py index ee6b492..24fb6bd 100644 --- a/setup.py +++ b/setup.py @@ -56,7 +56,7 @@ long_description=long_description, platforms="any", provides=["imageio_ffmpeg"], - python_requires=">=3.5", + python_requires=">=3.9", setup_requires=[], install_requires=[], packages=["imageio_ffmpeg", "imageio_ffmpeg.binaries"], @@ -74,11 +74,10 @@ "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ], )