Skip to content

Commit 9336d4d

Browse files
committed
feat: Python 3.13 support and CI builds
Signed-off-by: Christopher Arndt <[email protected]>
1 parent acd3409 commit 9336d4d

File tree

8 files changed

+22
-16
lines changed

8 files changed

+22
-16
lines changed

.github/workflows/pr_to_master.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,13 @@ jobs:
5858
3.10
5959
3.11
6060
3.12
61+
3.13
6162
pypy3.9
6263
pypy3.10
64+
pypy3.11
6365
6466
- name: Build wheels
65-
uses: pypa/cibuildwheel@v2.16
67+
uses: pypa/cibuildwheel@v2.22
6668
env:
6769
# Skip trying to test arm64 builds on Intel Macs
6870
CIBW_TEST_SKIP: "*-macosx_arm64 *-macosx_universal2:arm64"

.github/workflows/push_to_master.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,13 @@ jobs:
5858
3.10
5959
3.11
6060
3.12
61+
3.13
6162
pypy3.9
6263
pypy3.10
64+
pypy3.11
6365
6466
- name: Build wheels
65-
uses: pypa/cibuildwheel@v2.16
67+
uses: pypa/cibuildwheel@v2.22
6668
env:
6769
# Skip trying to test arm64 builds on Intel Macs
6870
CIBW_TEST_SKIP: "*-macosx_arm64 *-macosx_universal2:arm64"
@@ -91,7 +93,7 @@ jobs:
9193
platforms: all
9294

9395
- name: Build wheels
94-
uses: pypa/cibuildwheel@v2.16
96+
uses: pypa/cibuildwheel@v2.22
9597
env:
9698
CIBW_ARCHS: ${{ matrix.arch }}
9799

.github/workflows/release.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,13 @@ jobs:
6161
3.10
6262
3.11
6363
3.12
64+
3.13
6465
pypy3.9
6566
pypy3.10
67+
pypy3.11
6668
6769
- name: Build wheels
68-
uses: pypa/cibuildwheel@v2.16
70+
uses: pypa/cibuildwheel@v2.22
6971
env:
7072
# Skip trying to test arm64 builds on Intel Macs
7173
CIBW_TEST_SKIP: "*-macosx_arm64 *-macosx_universal2:arm64"
@@ -94,7 +96,7 @@ jobs:
9496
platforms: all
9597

9698
- name: Build wheels
97-
uses: pypa/cibuildwheel@v2.16
99+
uses: pypa/cibuildwheel@v2.22
98100
env:
99101
CIBW_ARCHS: ${{ matrix.arch }}
100102

INSTALL-windows.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# How to install python-rtmidi from source on Windows
22

33
These instructions should work for installing `python-rtmidi` from source with
4-
Python 3.8+ in the 64-bit or 32-bit versions (you can run the latter on Windows
4+
Python 3.9+ in the 64-bit or 32-bit versions (you can run the latter on Windows
55
64-bit versions with no problems).
66

77
Please follow all the steps below in the exact order.
@@ -10,8 +10,8 @@ Please follow all the steps below in the exact order.
1010

1111
You probably need administrator rights for some or all of the following steps.
1212

13-
1. Install the latest release of Python (3.12 at the time of writing, at least
14-
3.8+) from <https://www.python.org/downloads/windows/> to the default
13+
1. Install the latest release of Python (3.13 at the time of writing, at least
14+
3.9+) from <https://www.python.org/downloads/windows/> to the default
1515
location (e.g. `C:\Python312`). You can install either or both the 32-bit
1616
and the 64-bit version.
1717

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Windows (MultiMedia System) operating systems.
2020
provides a thin wrapper around the RtMidi C++ interface. The API is basically
2121
the same as the C++ one but with the naming scheme of classes, methods and
2222
parameters adapted to the Python PEP-8 conventions and requirements of the
23-
Python package naming structure. **python-rtmidi** supports Python 3 (3.8+).
23+
Python package naming structure. **python-rtmidi** supports Python 3 (3.9+).
2424

2525
The [documentation] provides installation instructions, a history of changes
2626
per release and an API reference.

pyproject.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@ classifiers = [
2828
"Operating System :: MacOS :: MacOS X",
2929
"Programming Language :: Python",
3030
"Programming Language :: Python :: 3",
31-
"Programming Language :: Python :: 3.8",
3231
"Programming Language :: Python :: 3.9",
3332
"Programming Language :: Python :: 3.10",
3433
"Programming Language :: Python :: 3.11",
3534
"Programming Language :: Python :: 3.12",
35+
"Programming Language :: Python :: 3.13",
3636
"Topic :: Multimedia :: Sound/Audio :: MIDI",
3737
"Topic :: Software Development :: Libraries :: Python Modules",
3838
]
@@ -63,11 +63,11 @@ file = "LICENSE.md"
6363
[tool.black]
6464
line-length = 99
6565
target-version = [
66-
"py38",
6766
"py39",
6867
"py310",
6968
"py311",
7069
"py312",
70+
"py313",
7171
]
7272

7373
[tool.isort]
@@ -98,7 +98,7 @@ test-command = "pytest -v -m ci {package}/tests"
9898

9999
# Install system library
100100
[tool.cibuildwheel.linux]
101-
build = ["cp3{9,10,11,12}-manylinux*", "pp3{9,10}-manylinux*"]
101+
build = ["cp3{9,10,11,12,13}-manylinux*", "pp3{9,10,11}-manylinux*"]
102102
archs = ["auto64"]
103103
before-all = [
104104
"dnf -y install alsa-lib-devel alsa-utils",
@@ -112,9 +112,9 @@ before-all = [
112112
repair-wheel-command = "auditwheel repair --exclude libasound.so.2 --lib-sdir . -w {dest_dir} {wheel}"
113113

114114
[tool.cibuildwheel.macos]
115-
build = "cp3{9,10,11,12}-macosx*"
115+
build = "cp3{9,10,11,12,13}-macosx*"
116116
archs = ["x86_64", "arm64"]
117117

118118
[tool.cibuildwheel.windows]
119-
build = "cp3{9,10,11,12}-win*"
119+
build = "cp3{9,10,11,12,13}-win*"
120120
archs = ["AMD64"]

src/_rtmidi.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ and Windows (MultiMedia System) operating systems.
1919
provides a thin wrapper around the RtMidi C++ interface. The API is basically
2020
the same as the C++ one but with the naming scheme of classes, methods and
2121
parameters adapted to the Python PEP-8 conventions and requirements of the
22-
Python package naming structure. **python-rtmidi** supports Python 3 (3.8+).
22+
Python package naming structure. **python-rtmidi** supports Python 3 (3.9+).
2323
2424
2525
Usage example

tox.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tox]
2-
envlist = flake8, py38, py39, py310, py311, py312
2+
envlist = flake8, py39, py310, py311, py312, py313
33
skip_missing_interpreters = True
44
isolated_build = True
55

0 commit comments

Comments
 (0)