Skip to content
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
ec2e5cc
ci(upload-pypi): upgrade version of artefact upload action
deepcharles Aug 28, 2025
05d9031
ci(upload-to-pypi): correct mistakes on versions
deepcharles Aug 28, 2025
36e42ff
ci(upload-to-pypi): remove wheels for py36 and py37
deepcharles Aug 28, 2025
cda9fbb
Give a name to each new artefact
deepcharles Sep 8, 2025
8cad1d3
Update upload-to-pypi.yml
deepcharles Sep 9, 2025
17c3b35
prevent artifact name colision
deepcharles Sep 9, 2025
994dc6f
adding support for py314
deepcharles Sep 9, 2025
a075052
skipping py314t for win32
deepcharles Sep 9, 2025
90b5f5a
bumping versions of various gha
deepcharles Sep 9, 2025
f9cc695
remove pp* from skip selector
deepcharles Sep 9, 2025
bd5e03f
only build wheels for python >= 3.8
deepcharles Sep 9, 2025
1d52de6
updater python version for cibuildwheel
deepcharles Sep 9, 2025
a02fb9d
upgrade python version to build dist
deepcharles Sep 9, 2025
935e989
only support python >= 3.9
deepcharles Sep 9, 2025
0ef139d
no wheel for py38
deepcharles Sep 9, 2025
ed8b5d7
bum versions of gha and remove python3.8 from tests
deepcharles Sep 9, 2025
b08b1d8
bump python version and gha
deepcharles Sep 9, 2025
cde385f
bump python version and gha versions
deepcharles Sep 9, 2025
332fc31
adding py3.14 to the test
deepcharles Sep 10, 2025
50230be
only support up to python3.13
deepcharles Sep 10, 2025
335d257
Update README.md with supported python versions
deepcharles Sep 10, 2025
7cd9ccf
Update run-test.yml to remove py314
deepcharles Sep 10, 2025
14bfd56
Update setup.cfg (typo)
deepcharles Sep 10, 2025
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
8 changes: 4 additions & 4 deletions .github/workflows/check-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ jobs:
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
- uses: actions/checkout@v5
- name: Set up Python 3.x
uses: actions/setup-python@v6
with:
python-version: '3.8'
python-version: '3.13'
- name: Install sndfile library # for librose, see https://github.com/deepcharles/ruptures/pull/121
run: |
sudo apt-get install libsndfile1-dev
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/publish-doc-to-remote.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ jobs:
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v5
- name: Set up Python 3.x
uses: actions/setup-python@v2
uses: actions/setup-python@v6
with:
python-version: '3.8'
python-version: '3.13'
- name: Install sndfile library # for librose, see https://github.com/deepcharles/ruptures/pull/121
run: |
sudo apt-get install libsndfile1-dev
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/run-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@ jobs:
tests:
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(question): no 3.14 here?

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done ! 332fc31

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unfortunately, there is no simple way to test ruptures on py3.14. The gh action running the tests raises this error:

Error: The version '3.14' with architecture 'x64' was not found for Ubuntu 24.04.

I'd rather not publish untested code, so I'll remove support for py3.14 for now.

Sorry for the noise

os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install ruptures
Expand All @@ -39,11 +39,11 @@ jobs:
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.10
uses: actions/setup-python@v2
- uses: actions/checkout@v5
- name: Set up Python 3.13
uses: actions/setup-python@v6
with:
python-version: '3.10'
python-version: '3.13'
- name: Install ruptures
run: |
python -m pip install --upgrade pip
Expand Down
45 changes: 25 additions & 20 deletions .github/workflows/upload-to-pypi.yml
Comment thread
deepcharles marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ on:
overrideVersion:
description: Manually force a version
uploadToPyPI:
description: Upload to PyPI
required: false
default: false
type: boolean
description: Upload to PyPI
required: false
default: false
type: boolean

env:
CIBW_BUILD_VERBOSITY: 3
Expand All @@ -23,17 +23,18 @@ jobs:
name: Make SDist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v5
- name: Setup Python
uses: actions/setup-python@v2
uses: actions/setup-python@v6
with:
python-version: "3.10"
python-version: "3.13"
- name: Install deps
run: python -m pip install build twine
- name: Build SDist
run: python -m build --sdist
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v4
with:
name: cibw-sdist
path: dist/*.tar.gz
- name: Check metadata
run: twine check dist/*
Expand All @@ -45,43 +46,45 @@ jobs:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v5

# Used to host cibuildwheel
- uses: actions/setup-python@v2

- uses: actions/setup-python@v6
with:
python-version: "3.13"
- name: Install cibuildwheel
run: python -m pip install cibuildwheel

- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
env:
# Disable explicitly building PyPI wheels for specific configurations
CIBW_SKIP: pp* cp{38,39,310,311,312,313}-manylinux_i686 *-musllinux_* cp{38,39,310,311,312,313}-win32
CIBW_SKIP: cp{38,39,310,311,312,313,314}-manylinux_i686 *-musllinux_* cp{38,39,310,311,312,313,314,314t}-win32
CIBW_PRERELEASE_PYTHONS: False
# Manually force a version (and avoid building local wheels)
CIBW_ENVIRONMENT: "SETUPTOOLS_SCM_PRETEND_VERSION=${{ github.event.inputs.overrideVersion }}"
CIBW_ARCHS_MACOS: x86_64 arm64

- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
path: wheelhouse/*.whl

build_aarch64_wheels:
name: Build wheels manylinux_aarch64
runs-on: ubuntu-latest
strategy:
matrix:
python: [36, 37, 38, 39, 310, 311, 312, 313]
python: [39, 310, 311, 312, 313, 314]
include:
- os: ubuntu-latest
arch: aarch64
platform_id: manylinux_aarch64
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v5

- name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v3

- name: Install cibuildwheel
run: python -m pip install cibuildwheel
Expand All @@ -93,18 +96,20 @@ jobs:
CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }}
# Manually force a version (and avoid building local wheels)
CIBW_ENVIRONMENT: "SETUPTOOLS_SCM_PRETEND_VERSION=${{ github.event.inputs.overrideVersion }}"
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v4
with:
name: cibw-aarch64_wheels-${{ matrix.os }}-${{ strategy.job-index }}
path: wheelhouse/*.whl

upload_all:
needs: [build_wheels, build_aarch64_wheels, make_sdist]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v5
with:
name: artifact
pattern: cibw-*
path: dist
merge-multiple: true
- name: Publish to PyPI
if: ${{ github.event.inputs.uploadToPyPI == 'true' }}
uses: pypa/gh-action-pypi-publish@release/v1
Expand All @@ -113,4 +118,4 @@ jobs:
password: ${{ secrets.PYPI_PASSWORD }}
- name: Skipped PyPI Upload
if: ${{ github.event.inputs.uploadToPyPI != 'true' }}
run: echo "Upload to PyPI was skipped due to workflow input."
run: echo "Upload to PyPI was skipped due to workflow input."
4 changes: 2 additions & 2 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ classifiers =
[options]
zip_safe = True
include_package_data = True
python_requires = >= 3.6
python_requires = >= 3.9
install_requires =
numpy
scipy
Expand Down Expand Up @@ -65,4 +65,4 @@ docs =
inplace=1

[coverage:run]
source_pkgs = ruptures
source_pkgs = ruptures
Loading