Skip to content

Remove Python 3.10 support, bump MSRV to Rust 1.89, and start testing Python 3.15 - #1661

Open
IvanIsCoding wants to merge 8 commits into
Qiskit:mainfrom
IvanIsCoding:remove-py310
Open

Remove Python 3.10 support, bump MSRV to Rust 1.89, and start testing Python 3.15#1661
IvanIsCoding wants to merge 8 commits into
Qiskit:mainfrom
IvanIsCoding:remove-py310

Conversation

@IvanIsCoding

Copy link
Copy Markdown
Collaborator
  • Python 3.10 is reaching EoL, most likely when rustworkx 0.19.0 is released it will be past the point to drop support for it.
  • Rust MSRV was bumped to 1.93.1. We advanced our MSRV in roughly one year
  • Python 3.15 beta is available, I think it's worth covering it in CI

Because of the MSRV bump, Clippy started finding new warnings. So most .rs changes are just addressing clippy

@IvanIsCoding IvanIsCoding added this to the 0.19.0 milestone Aug 1, 2026
@IvanIsCoding
IvanIsCoding requested a review from mtreinish August 1, 2026 18:03
@jakelishman

Copy link
Copy Markdown
Member

Is it possible to be a bit more conservative with the MSRV?

Rustworkx (of course) isn't bound by Qiskit's own policy, but we're at 1.89 with an MSRV policy that requires a Rust version at least 1y old at the start of a minor-version series. Rust 1.93 won't reach that til late January, after both the Qiskit 2.6 and 2.7 releases are already out, so if Rustworkx bumps now and we want to contribute changes here, we won't be able to pull them in until 2.8 in April next year.

@IvanIsCoding

Copy link
Copy Markdown
Collaborator Author

Ah, I forgot to check Qiskit MSRV’s because generally Qiskit was ahead. Of course, Rust 1.89 will it be

@IvanIsCoding IvanIsCoding changed the title Remove Python 3.10 support, bump MSRV to Rust 1.93.1, and start testing Python 3.15 Remove Python 3.10 support, bump MSRV to Rust 1.89, and start testing Python 3.15 Aug 11, 2026
@IvanIsCoding

Copy link
Copy Markdown
Collaborator Author

Is it possible to be a bit more conservative with the MSRV?

Rustworkx (of course) isn't bound by Qiskit's own policy, but we're at 1.89 with an MSRV policy that requires a Rust version at least 1y old at the start of a minor-version series. Rust 1.93 won't reach that til late January, after both the Qiskit 2.6 and 2.7 releases are already out, so if Rustworkx bumps now and we want to contribute changes here, we won't be able to pull them in until 2.8 in April next year.

Well that was easy because if let chains were introduced in 1.88. So the feature that caused the biggest diff and was the most convenience already landed. 1.89 it is

Comment thread tox.ini
@@ -1,93 +0,0 @@
[tox]
minversion = 4.4.0
envlist = py310, py311, lint

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

After py310, py311 is the only config left for the (ancient) tox.ini we have. I will just drop it all together. We don't even use black or setuptools-rust anymore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants