Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 10 additions & 43 deletions .github/workflows/pr_to_master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:

- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true

Expand All @@ -28,74 +28,41 @@ jobs:
run: pipx run twine check --strict dist/*

- name: Upload sdist
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: sdist
path: dist/*.tar.gz
compression-level: 0

build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-latest]
steps:

- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true

- uses: ilammy/msvc-dev-cmd@v1
if: matrix.os == 'windows-latest'

- name: Install Python
uses: actions/setup-python@v5
with:
python-version: |
3.9
3.10
3.11
3.12
pypy3.9
pypy3.10

- name: Build wheels
uses: pypa/cibuildwheel@v2.16
uses: pypa/cibuildwheel@v4.2.1
env:
# Skip trying to test arm64 builds on Intel Macs
CIBW_TEST_SKIP: "*-macosx_arm64 *-macosx_universal2:arm64"

- name: Upload wheels
uses: actions/upload-artifact@v3
with:
path: wheelhouse/*.whl

build_arch_wheels:
name: Build wheels on Linux ${{ matrix.arch }}
runs-on: ubuntu-20.04
strategy:
matrix:
arch: [aarch64]
steps:

- uses: actions/checkout@v3
with:
submodules: true

- uses: docker/setup-qemu-action@v2
with:
platforms: all

- name: Build wheels
uses: pypa/cibuildwheel@v2.16
env:
CIBW_ARCHS: ${{ matrix.arch }}

- name: Verify clean directory
run: git diff --exit-code
shell: bash

- name: Upload wheels
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: bdist-${{ matrix.os }}
path: wheelhouse/*.whl
compression-level: 0
63 changes: 14 additions & 49 deletions .github/workflows/push_to_master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:

- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true

Expand All @@ -28,94 +28,59 @@ jobs:
run: pipx run twine check --strict dist/*

- name: Upload sdist
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: sdist
path: dist/*.tar.gz
compression-level: 0

build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-latest]
steps:

- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true

- uses: ilammy/msvc-dev-cmd@v1
if: matrix.os == 'windows-latest'

- name: Install Python
uses: actions/setup-python@v5
with:
python-version: |
3.9
3.10
3.11
3.12
pypy3.9
pypy3.10

- name: Build wheels
uses: pypa/cibuildwheel@v2.16
uses: pypa/cibuildwheel@v4.2.1
env:
# Skip trying to test arm64 builds on Intel Macs
CIBW_TEST_SKIP: "*-macosx_arm64 *-macosx_universal2:arm64"

- name: Upload wheels
uses: actions/upload-artifact@v3
with:
path: wheelhouse/*.whl

build_arch_wheels:
name: Build wheels on Linux ${{ matrix.arch }}
runs-on: ubuntu-20.04
strategy:
matrix:
arch: [aarch64]
steps:

- uses: actions/checkout@v3
with:
submodules: true

- uses: docker/setup-qemu-action@v2
with:
platforms: all

- name: Build wheels
uses: pypa/cibuildwheel@v2.16
env:
CIBW_ARCHS: ${{ matrix.arch }}

- name: Verify clean directory
run: git diff --exit-code
shell: bash

- name: Upload wheels
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: bdist-${{ matrix.os }}
path: wheelhouse/*.whl
compression-level: 0

upload_pypi:
needs: [build_arch_wheels, build_wheels, build_sdist]
needs: [build_wheels, build_sdist]
runs-on: ubuntu-latest
environment: PyPI release
if: github.ref == 'refs/heads/develop'
steps:

- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
# unpacks default artifact into dist/
# if `name: artifact` is omitted, the action will create extra parent dir
name: artifact
path: dist
merge-multiple: true

- name: Publish distribution to Test PyPI
uses: pypa/gh-action-pypi-publish@v1.8.6
uses: pypa/gh-action-pypi-publish@release/v1
with:
skip_existing: true
user: __token__
Expand Down
63 changes: 14 additions & 49 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:

- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true

Expand All @@ -32,91 +32,56 @@ jobs:
run: pipx run twine check --strict dist/*

- name: Upload sdist
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: sdist
path: dist/*.tar.gz
compression-level: 0

build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-latest]
steps:

- uses: actions/checkout@v3
- uses: actions/checkout@v
with:
submodules: true

- uses: ilammy/msvc-dev-cmd@v1
if: matrix.os == 'windows-latest'

- name: Install Python
uses: actions/setup-python@v5
with:
python-version: |
3.9
3.10
3.11
3.12
pypy3.9
pypy3.10

- name: Build wheels
uses: pypa/cibuildwheel@v2.16
uses: pypa/cibuildwheel@v4.2.1
env:
# Skip trying to test arm64 builds on Intel Macs
CIBW_TEST_SKIP: "*-macosx_arm64 *-macosx_universal2:arm64"

- name: Upload wheels
uses: actions/upload-artifact@v3
with:
path: wheelhouse/*.whl

build_arch_wheels:
name: Build wheels on Linux ${{ matrix.arch }}
runs-on: ubuntu-20.04
strategy:
matrix:
arch: [aarch64]
steps:

- uses: actions/checkout@v3
with:
submodules: true

- uses: docker/setup-qemu-action@v2
with:
platforms: all

- name: Build wheels
uses: pypa/cibuildwheel@v2.16
env:
CIBW_ARCHS: ${{ matrix.arch }}

- name: Verify clean directory
run: git diff --exit-code
shell: bash

- name: Upload wheels
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: bdist-${{ matrix.os }}
path: wheelhouse/*.whl
compression-level: 0

upload_pypi:
needs: [build_arch_wheels, build_wheels, build_sdist]
needs: [build_wheels, build_sdist]
runs-on: ubuntu-latest
environment: PyPI release
steps:
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
# unpacks default artifact into dist/
# if `name: artifact` is omitted, the action will create extra parent dir
name: artifact
path: dist
merge-multiple: true

- name: Publish distribution to PyPI
uses: pypa/gh-action-pypi-publish@v1.8.6
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
Expand Down
1 change: 1 addition & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
- Benoit Pierre
- Bruno Enten
- Marek Szuba
- s0600204 (GitHub user)


## Testing
Expand Down
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,31 @@ For details and minor changes, please see the [version control log
messages](https://github.com/SpotlightKid/python-rtmidi/commits/master).


## 1.6.0 (2025-04-18)

Project infrastructure:

- Support Python 3.13, drop support for Python 3.8 (#214):
- Set minimum required Python version 3.9 in `pyproject.toml`.
- Added Python 3.13 to CI builds and removed 3.8.
- Added Python 3.13 to classifiers in `pyproject.toml` and removed 3.8.
- Added Python 3.13 to `tox.ini` and removed 3.8.
- Updated minimum supported Python version mentioned in readme etc.
- Updated latest Python version mentioned in Windows install docs.
- Fixed compiler config in meson.build for alternative compilers on
Windows (#213, thanks @s0600204).
- Updated dev requirements with `pip-tools` (#215).

Changes:

- Update rtmidi sub-module's `python-rtmidi` branch to be based on latest
HEAD of `master` branch (fixes #204).

Fixes / Features:

- Add `set_buffer_size` method to `MidiIn` class (fixes #200).


## 1.5.8 (2023-11-20)

Fixes:
Expand Down
6 changes: 3 additions & 3 deletions INSTALL-windows.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# How to install python-rtmidi from source on Windows

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

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

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

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

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Windows (MultiMedia System) operating systems.
provides a thin wrapper around the RtMidi C++ interface. The API is basically
the same as the C++ one but with the naming scheme of classes, methods and
parameters adapted to the Python PEP-8 conventions and requirements of the
Python package naming structure. **python-rtmidi** supports Python 3 (3.8+).
Python package naming structure. **python-rtmidi** supports Python 3 (3.9+).

The [documentation] provides installation instructions, a history of changes
per release and an API reference.
Expand Down
Loading
Loading