Skip to content

Update Python to v3.14.7 - #403

Open
EnterTheArcane wants to merge 5 commits into
o3de:mainfrom
EnterTheArcane:python-3-14
Open

EnterTheArcane wants to merge 5 commits into
o3de:mainfrom
EnterTheArcane:python-3-14

Conversation

@EnterTheArcane

@EnterTheArcane EnterTheArcane commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

WHAT / WHY

  • Updates Python to 3.14.7-rev1 on Windows-X64, Linux-X64, Linux-ARM, and Mac-ARM.
  • Moves the Mac build onto pull_and_build_from_git.py and the O3DE OpenSSL-3.6.3-rev1-mac-arm64 package instead of the installer's own OpenSSL download, and adds a test-python.sh validation step. Linux picks up OpenSSL-3.6.3-rev1 in place of 1.1.1t.
  • Adds a static zstd 1.5.7 to the Linux and Mac builds so the new compression.zstd stdlib module is present, and ships LICENSE.ZSTD with every package.
  • Adds Scripts/packaging/sign_macos_binaries.py, which signs every Mach-O in the framework. Ad-hoc by default, or a Developer ID with hardened runtime and a secure timestamp when 3PS_MACOS_CODE_SIGN_IDENTITY is set. Bytecode is precompiled for all three optimization levels before signing so first launch does not invalidate the sealed bundle.
  • Updates the Mac installer patch for Tcl/Tk 9.0 and raises the deployment target to 13.0.
  • Builds Windows with the VS2022 v143 toolset and drops the vendored libexpat copy and the open3d_python.patch, both of which upstream no longer needs.
  • Replaces the get-pip.py download, manual pip/setuptools/wheel upgrades, and shebang rewriting with --with-ensurepip=install (ensurepip --upgrade on Windows).
  • Fixes latent bugs in the Linux Docker build: LIBFFI_GIT_URL and LIBFFI_LIB_PATH were misspelled, several retVal checks tested a stale value, and the OpenSSL pkg-config files are now rewritten to the downloaded package prefix so a non-relocatable .pc does not break configure.
  • Extends quick_validate_python.py to assert the exact version, reject a free-threaded build, import compression.zstd, ensurepip, pip, and venv, and print the SOABI.

distutils was removed in 3.12, so --include-distutils is gone from the Windows layout and consumers that still import it need setuptools. The standard GIL-enabled interpreter is used on every platform. The free-threaded build is intentionally not packaged.

TEST

All GitHub Actions package builds and validations pass.

Signed-off-by: EnterTheArcane <96613937+EnterTheArcane@users.noreply.github.com>
Signed-off-by: EnterTheArcane <96613937+EnterTheArcane@users.noreply.github.com>
Signed-off-by: EnterTheArcane <96613937+EnterTheArcane@users.noreply.github.com>
Signed-off-by: EnterTheArcane <96613937+EnterTheArcane@users.noreply.github.com>
Signed-off-by: EnterTheArcane <96613937+EnterTheArcane@users.noreply.github.com>
@EnterTheArcane
EnterTheArcane marked this pull request as ready for review August 22, 2026 18:53
@EnterTheArcane EnterTheArcane self-assigned this Sep 2, 2026
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.

1 participant