-
Notifications
You must be signed in to change notification settings - Fork 617
feat: python 3.13 support #3602
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the 📝 WalkthroughWalkthroughThe continuous integration workflow configuration was updated to include Python 3.13 in the test matrix. This ensures that automated tests are now executed on Python 3.11, 3.12, and 3.13 across supported operating systems. No other logic or configuration changes were made. Changes
Assessment against linked issues
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Suggested reviewers
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
|
Since pulp is not supported yet, I converted to a draft |
|
PuLP works for python 3.13. The next tool on the list is CWLtool, which requires cheetah3 (https://github.com/conda-forge/cheetah3-feedstock/pulls). |
|
Cheetah3 is done, now waiting on conda-forge/cwltool-feedstock#166 , which is depended on pydot. |
|
It looks like all tests succeeded except the CWL involved test, since I commented the dependency out because of no python 3.13 compatibility. I will wait until python 3.13 compatibly version of cwltool is released (there is a fix implemented ). |
|
I can't find an issue on cwltool regarding Python 3.13, is it already supported or should I make a signpost issue? |
There is now in trunk/main of cwltool a patch to support 3.13, but there is not a release of cwltool with this patch. We are waiting on this. Maybe you can gently nudge a bit. |
|
How important is cwltool for snakemake? Maybe it could be made an optional dependency? I've made an issue to ask for a new release: common-workflow-language/cwltool#2136 |
|
It is needed for testng. You can disable this test, but often it is forgotten to reenable which makes me uncomfortable. |
|
There's a new release already! |
|
https://github.com/conda-forge/cwltool-feedstock does not build py313 packages. A fresh pull request is being made as we speak by the |
|
It looks like one test failed due to a network issue. first try to fix it is to rerun the tests. |
|
@johanneskoester Python 3.13 seems to work now. Can you merge this request? |
🤖 I have created a release *beep* *boop* --- ## [9.9.0](v9.8.2...v9.9.0) (2025-07-29) ### Features * python 3.13 support ([#3602](#3602)) ([429cff4](429cff4)) ### Bug Fixes * dag mermaid-js edges (bug:[#3556](#3556)) ([#3669](#3669)) ([c6e2e71](c6e2e71)) * if asset is present and no sha256 provided assume pass ([#3685](#3685)) ([7731175](7731175)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- ## [9.9.0](snakemake/snakemake@v9.8.2...v9.9.0) (2025-07-29) ### Features * python 3.13 support ([snakemake#3602](snakemake#3602)) ([429cff4](snakemake@429cff4)) ### Bug Fixes * dag mermaid-js edges (bug:[snakemake#3556](snakemake#3556)) ([snakemake#3669](snakemake#3669)) ([c6e2e71](snakemake@c6e2e71)) * if asset is present and no sha256 provided assume pass ([snakemake#3685](snakemake#3685)) ([7731175](snakemake@7731175)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
This should provide initial support for Python 3.13. The main issue was that conda-forge dependencies were not built for Python 3.13 (immutables and pulp). The immutables issue is solved, and for pulp, the pull request is ready conda-forge/pulp-feedstock#50
Also the pixi lock file needs to be updated (I assume this will be done automatically)
This should fix #3354
QC
docs/) is updated to reflect the changes or this is not necessary (e.g. if the change does neither modify the language nor the behavior or functionalities of Snakemake).Summary by CodeRabbit