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
2 changes: 1 addition & 1 deletion .github/workflows/docs_dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
python-version: '3.12'
- name: Install dependencies
run: |
pip install -U --group testinfra
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
python-version: '3.12'
- name: Install dependencies
run: |
pip install -U --group testinfra
Expand Down
26 changes: 11 additions & 15 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.12"
- run: |
pip install -U --group lint
- uses: dtolnay/rust-toolchain@stable
Expand All @@ -38,9 +38,9 @@ jobs:
- name: Clippy
run: cargo clippy --workspace --all-targets -- -D warnings
- name: Black Codestyle Format
run: black --check --diff rustworkx tests retworkx
run: black --check --diff rustworkx tests
- name: Python Lint
run: ruff check rustworkx setup.py tests retworkx
run: ruff check rustworkx setup.py tests
- name: Check stray release notes
run: python tools/find_stray_release_notes.py
- name: rustworkx-core Rust Tests
Expand All @@ -61,7 +61,7 @@ jobs:
strategy:
matrix:
rust: [stable]
python-version: [3.9, "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.10", "3.11", "3.12", "3.13"]
platform: [
{ os: "macOS-13", python-architecture: "x64", rust-target: "x86_64-apple-darwin" },
{ os: "macOS-14", python-architecture: "arm64", rust-target: "aarch64-apple-darwin" },
Expand All @@ -70,20 +70,16 @@ jobs:
{ os: "windows-latest", python-architecture: "x64", rust-target: "x86_64-pc-windows-msvc" },
]
include:
# Test ARM + minimal supported Rust version
# Test minimal supported Rust version
- rust: 1.85.1
python-version: "3.10"
python-version: "3.12"
platform: { os: "ubuntu-latest", python-architecture: "x64", rust-target: "x86_64-unknown-linux-gnu" }
msrv: "MSRV"
# Test ARM + future versions of Rust and Python
# Test future versions of Rust and Python
- rust: beta
python-version: "3.13" # upgrade to 3.14-dev when the release candidate is available
python-version: "3.14" # upgrade to 3.15-dev when the release candidate is available
platform: { os: "ubuntu-latest", python-architecture: "x64", rust-target: "x86_64-unknown-linux-gnu" }
msrv: "Beta"
# Exclude python 3.9 on arm64 until actions/setup-python#808 is resolved
exclude:
- platform: {os: "macOS-14", python-architecture: "arm64", rust-target: "aarch64-apple-darwin" }
python-version: 3.9
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
Expand Down Expand Up @@ -112,7 +108,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.9, "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
Expand All @@ -137,7 +133,7 @@ jobs:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.12"
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
Expand Down Expand Up @@ -185,7 +181,7 @@ jobs:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.12"
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install binary deps
Expand Down
23 changes: 0 additions & 23 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -186,26 +186,3 @@ jobs:
with:
path: ./wheelhouse/*.whl
name: shared-wheel-builds-win32
retworkx-compat-build:
name: Build retworkx
runs-on: ubuntu-latest
environment: release
permissions:
id-token: write
needs: ["upload_shared_wheels"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.10'
- name: Install deps
run: pip install -U setuptools-rust wheel build
- name: Build sdist
run: pushd retworkx && python setup.py bdist_wheel && popd
- uses: actions/upload-artifact@v4
with:
path: ./retworkx/dist/*
name: sdist-retworkx
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ nalgebra-sparse = { version = "=0.10", features = ["io"] }

[dependencies.pyo3]
version = "0.26"
features = ["abi3-py39", "extension-module", "hashbrown", "num-bigint", "num-complex", "indexmap", "py-clone"]
features = ["abi3-py310", "extension-module", "hashbrown", "num-bigint", "num-complex", "indexmap", "py-clone"]

[dependencies.sprs]
version = "^0.11"
Expand Down
6 changes: 3 additions & 3 deletions noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def base_test(session):
def test(session):
base_test(session)

@nox.session(python=["3.9", "3.10", "3.11", "3.12"])
@nox.session(python=["3.10", "3.11", "3.12", "3.13"])
def test_with_version(session):
base_test(session)

Expand All @@ -34,7 +34,7 @@ def lint(session):
black(session)
typos(session)
session.install(*lint_deps)
session.run("ruff", "check", "rustworkx", "retworkx", "setup.py")
session.run("ruff", "check", "rustworkx", "setup.py")
session.run("cargo", "fmt", "--all", "--", "--check", external=True)
session.run("python", "tools/find_stray_release_notes.py")

Expand Down Expand Up @@ -74,7 +74,7 @@ def docs_clean(session):
@nox.session(python=["3"])
def black(session):
session.install(*[d for d in lint_deps if "black" in d])
session.run("black", "rustworkx", "tests", "retworkx", *session.posargs)
session.run("black", "rustworkx", "tests", *session.posargs)

@nox.session(python=["3"])
def typos(session):
Expand Down
9 changes: 4 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "rustworkx"
version = "0.17.1"
description = "A High-Performance Graph Library for Python"
requires-python = ">=3.9"
requires-python = ">=3.10"
dependencies = [
"numpy>=1.16.0,<3"
]
Expand All @@ -13,7 +13,6 @@ classifiers=[
"Intended Audience :: Science/Research",
"Programming Language :: Rust",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
Expand All @@ -29,7 +28,7 @@ packages = ["rustworkx", "rustworkx.visualization"]
include-package-data = true

[tool.distutils.bdist_wheel]
py-limited-api = "cp39"
py-limited-api = "cp310"

[[tool.setuptools-rust.ext-modules]]
target = "rustworkx.rustworkx"
Expand Down Expand Up @@ -105,7 +104,7 @@ releaseinfra = [

[tool.black]
line-length = 100
target-version = ['py39', 'py310', 'py311', 'py312', 'py313']
target-version = ['py310', 'py311', 'py312', 'py313']

[tool.ruff]
line-length = 105 # more lenient than black due to long function signatures
Expand All @@ -117,7 +116,7 @@ lint.select = [
"PYI", # flake8-pyi
"Q", # flake8-quotes
]
target-version = "py39"
target-version = "py310"
extend-exclude = ["doc"]

[tool.ruff.lint.per-file-ignores]
Expand Down
6 changes: 6 additions & 0 deletions releasenotes/notes/py39-unsupported-d41f902e327dffad.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
upgrade:
- |
The minimum supported Python version for using rustworkx has been raised to Python 3.10.
Python 3.9 has reached it's end-of-life and will no longer be supported. To use rustworkx
you will need to ensure you are using Python >=3.10.
7 changes: 7 additions & 0 deletions releasenotes/notes/retworkx-eol-bcbf18d805a73aed.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
upgrade:
- |
As announced in the 0.17 release, the legacy `retworkx` name has been sunset. We encourage users to depend on
'rustworkx' as previously instructed.

Thanks to all users that have used the library since the early days before the name change!
28 changes: 0 additions & 28 deletions retworkx/retworkx/__init__.py

This file was deleted.

75 changes: 0 additions & 75 deletions retworkx/retworkx/namespace.py

This file was deleted.

52 changes: 0 additions & 52 deletions retworkx/setup.py

This file was deleted.

Loading
Loading