-
-
Notifications
You must be signed in to change notification settings - Fork 106
Python 3.14.0rc1 #805
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
base: main
Are you sure you want to change the base?
Python 3.14.0rc1 #805
Conversation
…nda-forge-pinning 2025.07.08.08.15.46
…nda-forge-pinning 2025.07.11.09.44.45
…nda-forge-pinning 2025.07.11.09.44.45
Let's get this building, we shouldn't merge it before we have updated it to a release candidate. |
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( I do have some suggestions for making it better though... For recipe/meta.yaml:
This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/16779745473. Examine the logs at this URL for more detail. |
The following error is related to the compiler update and also shows up in Python 3.13:
|
Pinning the compiler to GCC 13 leads to the same error, so it could also be related to the sysroot. |
…nda-forge-pinning 2025.07.22.16.20.36
…nda-forge-pinning 2025.07.22.16.20.36
…nda-forge-pinning 2025.07.22.16.20.36
@conda-forge/python This is ready for review. We should not merge before the RC is built but I would like to get reviews in as there will only be minimal changes (or none) needed for that. |
Actually: Here is the RC ;) |
- clang-19 # [not win] | ||
- llvm-tools-19 # [not win] | ||
- clang 19.* # [win] | ||
- llvm-tools 19.* # [win] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Python 3.14 provides a new build option --with-tail-call-interp
, which provides ~5% or more speedup:
This new interpreter type is an internal implementation detail of the CPython interpreter. It doesn’t change the visible behavior of Python programs at all. It can improve their performance, but doesn’t change anything else.
We could perhaps consider enabling it by default? 🤔
As noted in that section of the release notes, there's a performance-affecting clang bug (llvm/llvm-project#106846), which is still present in clang 19 and will affect the regular interpreter too AFAIU. So in either case we should probably use v20 here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This interpreter currently only works with Clang 19 and newer on x86-64 and AArch64 architectures. However, we expect that a future release of GCC will support this as well.
So for now, we would enable this only on macOS as we don't use clang to build Python on Linux, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
More precisely: Only on osx-64
as we don't do PGO on osx-arm64
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AFAIU, PGO is "only" recommended for that option, but not strictly speaking necessary.
So for now, we would enable this only on macOS as we don't use clang to build Python on Linux, right?
Presumably, unless people are comfortable with switching compilers. In principle we could make it another (non-default?) variant, but we already have quite a few on this feedstock...
…nda-forge-pinning 2025.07.23.06.31.04
…nda-forge-pinning 2025.07.23.06.32.39
As an impatiently waiting user, is this only waiting on reviews before merge or is this waiting on the final 3.14 release? Thanks for everyone's work on this! Very excited! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM (as core, and active contributor to this feedstock)
recipe/conda_build_config.yaml
Outdated
# Needs pthread_jit_write_protect_np | ||
c_stdlib_version: # [osx and x86_64] | ||
- 11.0 # [osx and x86_64] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Python requiring this is a good reason to revisit conda-forge/conda-forge.github.io#2467
I'm preparing a presentation about free-threading and decided to build this locally while waiting for a merge on my linux_64 system, but when using
Edit: |
From 5248a46154b3ca6bc9b7f3546dfa40c319b16486 Mon Sep 17 00:00:00 2001 | ||
From: "Uwe L. Korn" <[email protected]> | ||
Date: Mon, 21 Jul 2025 20:03:19 +0200 | ||
Subject: [PATCH 25/25] Use zlib-ng.h on windows |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are we using zlib-ng
on windows? I don't see a change in recipe.yaml
diff --git a/PC/pyconfig.h.in b/PC/pyconfig.h.in | ||
index 424421f6ff1..2c1b5a5b834 100644 | ||
--- a/PC/pyconfig.h.in | ||
+++ b/PC/pyconfig.h.in | ||
@@ -230,8 +230,6 @@ typedef _W64 int Py_ssize_t; | ||
#endif | ||
#endif /* MS_WIN32 && !MS_WIN64 */ | ||
|
||
-typedef int pid_t; | ||
- | ||
/* define some ANSI types that are not defined in earlier Win headers */ | ||
#if _MSC_VER >= 1200 | ||
/* This file only exists in VC 6.0 or higher */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is not there anymore, this whole patch can be dropped right?
recipe/conda_build_config.yaml
Outdated
@@ -1,9 +1,17 @@ | |||
MACOSX_SDK_VERSION: # [osx and x86_64] | |||
- 11.0 # [osx and x86_64] | |||
# Needs pthread_jit_write_protect_np |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pthread_jit_write_protect_np
is not in the codebase right?
Depends on conda-forge/python_abi-feedstock#30