Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
73 changes: 44 additions & 29 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ jobs:
environment: release
permissions:
id-token: write
needs: ["build_wheels", "build-win32-wheels"]
needs: ["build_wheels"]
steps:
- uses: actions/download-artifact@v4
with:
Expand All @@ -70,6 +70,49 @@ jobs:
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: deploy
build_wheels_windows_arm64:
name: Build Windows ARM64 wheels
runs-on: windows-latest
environment: release
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.12'
architecture: x64
- uses: dtolnay/rust-toolchain@stable
with:
targets: aarch64-pc-windows-msvc
- name: Install cibuildwheel
run: |
python -m pip install -U --group releaseinfra
- name: Build wheels
run: |
python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_ARCHS_WINDOWS: ARM64
CIBW_TEST_SKIP: "*"
- uses: actions/upload-artifact@v4
with:
path: ./wheelhouse/*.whl
name: wheel-builds-windows-arm64
upload_wheels_windows_arm64:
name: Upload Windows ARM64 wheels
runs-on: ubuntu-latest
environment: release
permissions:
id-token: write
needs: ["build_wheels_windows_arm64", "upload_shared_wheels"]
steps:
- uses: actions/download-artifact@v4
with:
name: wheel-builds-windows-arm64
path: wheelhouse
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: wheelhouse/
build_wheels_ppc64le:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -207,31 +250,3 @@ jobs:
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: wheelhouse/
build-win32-wheels:
name: Build wheels on win32
runs-on: windows-latest
environment: release
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.12'
architecture: 'x86'
- uses: dtolnay/rust-toolchain@stable
with:
targets: i686-pc-windows-msvc
- name: Force win32 rust
run: rustup default stable-i686-pc-windows-msvc
- name: Install cibuildwheel
run: |
python -m pip install -U --group releaseinfra
- name: Build wheels
run: |
python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_SKIP: pp* c*t-win* *amd64 *musl*
- uses: actions/upload-artifact@v4
with:
path: ./wheelhouse/*.whl
name: shared-wheel-builds-win32
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ rustworkx.dijkstra_shortest_paths(graph, a, c, weight_fn=float)

## Installing rustworkx

rustworkx is published on [PyPI](https://pypi.org/project/rustworkx/) so on x86\_64, i686, ppc64le, s390x, and
aarch64 Linux systems, x86\_64 on Mac OSX, and 32 and 64 bit Windows
rustworkx is published on [PyPI](https://pypi.org/project/rustworkx/) so on x86\_64, ppc64le, s390x, and
aarch64 Linux systems, x86\_64 on Mac OSX, and 64-bit Windows
installing is as simple as running:

```bash
Expand Down
4 changes: 2 additions & 2 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ inherent performance and safety. While this provides numerous advantages
including significantly improved performance it does mean that the library
needs to be compiled when being installed from source (as opposed to a pure
Python library which can just be installed). rustworkx supports and publishes
pre-compiled binaries for Linux on x86, x86_64, aarch64, s390x, and ppc64le,
MacOS on x86_64, and arm64, and Windows 32bit and 64bit systems. However, if
pre-compiled binaries for Linux on x86_64, aarch64, s390x, and ppc64le,
MacOS on x86_64 and arm64, and 64-bit Windows systems. However, if
you are not running on one of these platforms, you will need a rust compiler
to install rustworkx.

Expand Down
14 changes: 5 additions & 9 deletions docs/source/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ application.
Installing Rustworkx
====================

rustworkx is published on pypi so on x86_64, i686, ppc64le, s390x, and aarch64
Linux systems, x86_64 and arm64 on macOS, and 32 and 64 bit Windows
rustworkx is published on pypi so on x86_64, ppc64le, s390x, and aarch64
Linux systems, x86_64 and arm64 on macOS, and 64-bit Windows
installing is as simple as running::

pip install rustworkx
Expand Down Expand Up @@ -77,10 +77,6 @@ source.
- aarch64
- :ref:`tier-1`
- Distributions compatible with the `manylinux 2014`_ packaging specification
* - Linux
- i686
- :ref:`tier-4`
- Distributions compatible with the `manylinux 2014`_ packaging specification
* - Linux
- pp64le
- :ref:`tier-4`
Expand Down Expand Up @@ -109,10 +105,10 @@ source.
- x86_64
- :ref:`tier-1`
-
* - Windows 32bit
- i686 or x86_64
* - Windows 64bit
- ARM64 (aarch64)
- :ref:`tier-4`
-
- Wheels are cross-compiled on AMD64 and are not tested
* - Pyodide
- WASM (Emscripten)
- :ref:`tier-experimental`
Expand Down
5 changes: 2 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -130,15 +130,14 @@ extend-ignore-words-re = [

[tool.cibuildwheel]
manylinux-x86_64-image = "manylinux_2_28"
manylinux-i686-image = "manylinux_2_28"
manylinux-aarch64-image = "manylinux_2_28"
manylinux-ppc64le-image = "manylinux_2_28"
manylinux-s390x-image = "manylinux_2_28"
skip = "pp* cp314t-win* c*t-*i686 cp314t-*s390x *win32 *musllinux*i686"
skip = "pp* *i686 cp314t-win* cp314t-*s390x *win32"
test-requires = "networkx"
test-command = "python -m unittest discover {project}/tests"
before-build = 'pip install -U "maturin>=1.9.0,<2.0"'
test-skip = "*linux_s390x *ppc64le *i686 *win32"
test-skip = "*linux_s390x *ppc64le"

[tool.cibuildwheel.linux]
before-all = "yum install -y wget && {package}/tools/install_rust.sh"
Expand Down
4 changes: 4 additions & 0 deletions releasenotes/notes/drop-i686-win32-48bf532a7d1ec609.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
upgrade:
- |
Precompiled wheels are no longer published for Linux i686 or 32-bit
Windows.
4 changes: 4 additions & 0 deletions releasenotes/notes/windows-arm64-wheels-369fde2ca8417b50.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
features:
- |
Tier 4 precompiled wheels are now published for Windows ARM64. These wheels
are cross-compiled on AMD64 and are not tested.
Loading