Skip to content

feat: add wheels for Python 3.14#571

Merged
biojppm merged 2 commits intobiojppm:masterfrom
davidrudlstorfer:add_python_314_wheels
Feb 8, 2026
Merged

feat: add wheels for Python 3.14#571
biojppm merged 2 commits intobiojppm:masterfrom
davidrudlstorfer:add_python_314_wheels

Conversation

@davidrudlstorfer
Copy link
Copy Markdown
Contributor

@davidrudlstorfer davidrudlstorfer commented Feb 6, 2026

Closes #569

FYI @alessandrofelder

EDIT: tested local wheel build for Python 3.14 and worked flawlessly

@davidrudlstorfer
Copy link
Copy Markdown
Contributor Author

If it is possible that the wheels are rebuilt based on release 0.10.0, this would also close #570

@davidrudlstorfer
Copy link
Copy Markdown
Contributor Author

@biojppm thanks for triggering the build!

Locally the build works flawlessly ...

Log
cibuildwheel --only cp314-manylinux_x86_64 --output-dir dist

     _ _       _ _   _       _           _
 ___|_| |_ _ _|_| |_| |_ _ _| |_ ___ ___| |
|  _| | . | | | | | . | | | |   | -_| -_| |
|___|_|___|___|_|_|___|_____|_|_|___|___|_|

cibuildwheel version 3.3.1

Build options:
  platform: linux
  allow_empty: False
  architectures: aarch64, armv7l, i686, ppc64le, riscv64, s390x, x86_64
  build_selector: 
    build_config: cp314-manylinux_x86_64
    skip_config: 
    requires_python: >=3.6
    enable: ['cpython-freethreading', 'cpython-prerelease', 'graalpy', 'pyodide-prerelease', 'pypy', 'pypy-eol']
  output_dir: /home/rudlstorfer/01_work/01_workspace/rapidyaml/dist
  package_dir: /home/rudlstorfer/01_work/01_workspace/rapidyaml
  test_selector: 
    skip_config:
  before_all: 
  before_build: 
  before_test: 
  build_frontend: build
  build_verbosity: 0
  config_settings: 
  container_engine: docker
  dependency_constraints: pinned
  environment: 
  manylinux_images: 
    x86_64: quay.io/pypa/manylinux_2_28_x86_64:2026.01.04-1
    i686: quay.io/pypa/manylinux_2_28_i686:2026.01.04-1
    pypy_x86_64: quay.io/pypa/manylinux_2_28_x86_64:2026.01.04-1
    aarch64: quay.io/pypa/manylinux_2_28_aarch64:2026.01.04-1
    ppc64le: quay.io/pypa/manylinux_2_28_ppc64le:2026.01.04-1
    s390x: quay.io/pypa/manylinux_2_28_s390x:2026.01.04-1
    armv7l: quay.io/pypa/manylinux_2_31_armv7l:2026.01.04-1
    riscv64: quay.io/pypa/manylinux_2_39_riscv64:2026.01.04-1
    pypy_aarch64: quay.io/pypa/manylinux_2_28_aarch64:2026.01.04-1
    pypy_i686: quay.io/pypa/manylinux_2_28_i686:2026.01.04-1
  musllinux_images: 
    x86_64: quay.io/pypa/musllinux_1_2_x86_64:2026.01.04-1
    i686: quay.io/pypa/musllinux_1_2_i686:2026.01.04-1
    aarch64: quay.io/pypa/musllinux_1_2_aarch64:2026.01.04-1
    ppc64le: quay.io/pypa/musllinux_1_2_ppc64le:2026.01.04-1
    s390x: quay.io/pypa/musllinux_1_2_s390x:2026.01.04-1
    armv7l: quay.io/pypa/musllinux_1_2_armv7l:2026.01.04-1
    riscv64: quay.io/pypa/musllinux_1_2_riscv64:2026.01.04-1
  pyodide_version: None
  repair_command: auditwheel repair -w {dest_dir} {wheel}
  test_command: 
  test_environment: 
  test_extras: 
  test_groups: 
  test_requires: 
  test_runtime: 
    args: ()
  test_sources: 
  xbuild_tools: None

Cache folder: /home/rudlstorfer/.cache/cibuildwheel

Here we go!

Starting container image quay.io/pypa/manylinux_2_28_x86_64:2026.01.04-1...

info: This container will host the build for cp314-manylinux_x86_64...
+ docker version -f '{{json .}}'
+ docker image inspect quay.io/pypa/manylinux_2_28_x86_64:2026.01.04-1 --format '{{.Os}}/{{.Architecture}}'
c15e119e8bbbfec96aced7bd8ed129466ce6b6dfc0471834fdff0a803246758e
    + /bin/true
    + mkdir -p /project
    + manylinux-interpreters --help
    + manylinux-interpreters ensure cp314-cp314
'cp314-cp314' already installed at '/opt/python/cp314-cp314'

                                                              ✓ 0.38s
Copying project into container...

    + mkdir -p /project

                                                              ✓ 0.20s

Building cp314-manylinux_x86_64 wheel
CPython 3.14 manylinux x86_64

Setting up build environment...

    + mkdir -p /
    + /opt/python/cp39-cp39/bin/python -c 'import sys, json, os; json.dump(os.environ.copy(), sys.stdout)'
    + which python
    + which pip

                                                              ✓ 0.12s
Building wheel...

    + rm -rf /tmp/cibuildwheel/built_wheel
    + mkdir -p /tmp/cibuildwheel/built_wheel
    + python -m build /project --wheel --outdir=/tmp/cibuildwheel/built_wheel
* Creating isolated environment: venv+pip...
* Installing packages in isolated environment:
  - cmake_build_extension
  - ninja
  - setuptools-git
  - setuptools>=42
  - setuptools_scm[toml]>=3.4
  - swig
  - wheel
* Getting build dependencies for wheel...
Compiling with CMake flags:
  -DBUILD_SHARED_LIBS:BOOL=ON
  -DRYML_DEV:BOOL=OFF
  -DRYML_BUILD_API:BOOL=ON
  -DRYML_DEFAULT_CALLBACKS:BOOL=ON
  -DRYML_DEFAULT_CALLBACK_USES_EXCEPTIONS:BOOL=ON
  -DPython3_EXECUTABLE:FILEPATH=/tmp/build-env-5ecx9cnx/bin/python
* Installing packages in isolated environment:
  - setuptools
  - setuptools-git
  - setuptools_scm
* Building wheel...
toml section missing PosixPath('pyproject.toml') does not contain a tool.setuptools_scm section
toml section missing PosixPath('pyproject.toml') does not contain a tool.setuptools_scm section
Compiling with CMake flags:
  -DBUILD_SHARED_LIBS:BOOL=ON
  -DRYML_DEV:BOOL=OFF
  -DRYML_BUILD_API:BOOL=ON
  -DRYML_DEFAULT_CALLBACKS:BOOL=ON
  -DRYML_DEFAULT_CALLBACK_USES_EXCEPTIONS:BOOL=ON
  -DPython3_EXECUTABLE:FILEPATH=/tmp/build-env-5ecx9cnx/bin/python
running bdist_wheel
running build
running build_py
creating build/lib.linux-x86_64-cpython-314/ryml
copying api/python/ryml/ryml.py -> build/lib.linux-x86_64-cpython-314/ryml
copying api/python/ryml/version.py -> build/lib.linux-x86_64-cpython-314/ryml
copying api/python/ryml/__init__.py -> build/lib.linux-x86_64-cpython-314/ryml
running egg_info
writing api/python/rapidyaml.egg-info/PKG-INFO
writing dependency_links to api/python/rapidyaml.egg-info/dependency_links.txt
writing requirements to api/python/rapidyaml.egg-info/requires.txt
writing top-level names to api/python/rapidyaml.egg-info/top_level.txt
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE.txt'
writing manifest file 'api/python/rapidyaml.egg-info/SOURCES.txt'
running build_ext
-- The CXX compiler identification is GNU 14.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/rh/gcc-toolset-14/root/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- ryml: using C++ standard: C++11
-- ryml: setting C++ standard: 11
-- ryml: setting C++ standard required: ON
-- ryml: importing subproject c4core (SUBDIRECTORY)... /project/ext/c4core
-- c4core: using C++ standard: C++11
-- ryml: -----> target ryml PUBLIC incorporating lib c4core
-- ryml: packing the project: 
-- ryml: cpack tag: v0.10.0-68-ga2b1b68-add_python_314_wheels
-- ryml: enabling API
-- Found SWIG: /tmp/build-env-5ecx9cnx/bin/swig4.0 (found version "4.4.1")
-- ryml: found swig 4.4.1: /tmp/build-env-5ecx9cnx/bin/swig4.0
-- The C compiler identification is GNU 14.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /opt/rh/gcc-toolset-14/root/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- ryml: add CPU architecture defines __x86_64__
-- ryml: enabling python3 API
-- Found Python3: /tmp/build-env-5ecx9cnx/bin/python (found version "3.14.2") found components: Interpreter Development.Module
-- ryml: found python:
    ver=3.14.2
    exe=/tmp/build-env-5ecx9cnx/bin/python
    lib=
    inc=/opt/python/cp314-cp314/include/python3.14

CMake Deprecation Warning at /tmp/build-env-5ecx9cnx/lib/python3.14/site-packages/cmake/data/share/cmake-4.2/Modules/UseSWIG.cmake:1110 (message):
  SWIG_LINK_LIBRARIES is deprecated.  Use TARGET_LINK_LIBRARIES instead.
Call Stack (most recent call first):
  api/CMakeLists.txt:96 (swig_link_libraries)


-- Configuring done (0.4s)
-- Generating done (0.0s)
-- Build files have been written to: /project/build/temp.linux-x86_64-cpython-314_ryml.ryml
[1/52] Building CXX object CMakeFiles/ryml.dir/ext/c4core/src/c4/version.cpp.o
[2/52] Building CXX object CMakeFiles/ryml.dir/ext/c4core/src/c4/language.cpp.o
[3/52] Building CXX object subprojects/c4core/build/CMakeFiles/c4core.dir/src/c4/language.cpp.o
[4/52] Building CXX object subprojects/c4core/build/CMakeFiles/c4core.dir/src/c4/version.cpp.o
[5/52] Building CXX object CMakeFiles/ryml.dir/ext/c4core/src/c4/memory_util.cpp.o
[6/52] Building CXX object subprojects/c4core/build/CMakeFiles/c4core.dir/src/c4/memory_util.cpp.o
[7/52] Building CXX object CMakeFiles/ryml.dir/src/c4/yml/version.cpp.o
[8/52] Building CXX object subprojects/c4core/build/CMakeFiles/c4core.dir/src/c4/error.cpp.o
[9/52] Building CXX object CMakeFiles/ryml.dir/ext/c4core/src/c4/error.cpp.o
[10/52] Building CXX object subprojects/c4core/build/CMakeFiles/c4core.dir/src/c4/char_traits.cpp.o
[11/52] Building CXX object CMakeFiles/ryml.dir/ext/c4core/src/c4/char_traits.cpp.o
[12/52] Building CXX object CMakeFiles/ryml.dir/ext/c4core/src/c4/memory_resource.cpp.o
[13/52] Building CXX object subprojects/c4core/build/CMakeFiles/c4core.dir/src/c4/memory_resource.cpp.o
[14/52] Building CXX object CMakeFiles/ryml.dir/ext/c4core/src/c4/base64.cpp.o
[15/52] Building CXX object CMakeFiles/ryml.dir/ext/c4core/src/c4/format.cpp.o
[16/52] Building CXX object CMakeFiles/ryml.dir/ext/c4core/src/c4/utf.cpp.o
[17/52] Swig compile /project/api/ryml.i for python
[18/52] Building CXX object subprojects/c4core/build/CMakeFiles/c4core.dir/src/c4/base64.cpp.o
[19/52] Building CXX object CMakeFiles/ryml.dir/src/c4/yml/preprocess.cpp.o
[20/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/__/ext/c4core/src/c4/language.cpp.o
[21/52] Building CXX object CMakeFiles/ryml.dir/src/c4/yml/tag.cpp.o
[22/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/__/src/c4/yml/version.cpp.o
[23/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/__/ext/c4core/src/c4/error.cpp.o
[24/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/__/ext/c4core/src/c4/version.cpp.o
[25/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/__/ext/c4core/src/c4/memory_util.cpp.o
[26/52] Building CXX object subprojects/c4core/build/CMakeFiles/c4core.dir/src/c4/format.cpp.o
[27/52] Building CXX object subprojects/c4core/build/CMakeFiles/c4core.dir/src/c4/utf.cpp.o
[28/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/__/ext/c4core/src/c4/char_traits.cpp.o
[29/52] Linking CXX shared library subprojects/c4core/build/libc4core.so.0.2.8
[30/52] Building CXX object CMakeFiles/ryml.dir/src/c4/yml/common.cpp.o
[31/52] Creating library symlink subprojects/c4core/build/libc4core.so
[32/52] Building CXX object CMakeFiles/ryml.dir/src/c4/yml/node.cpp.o
[33/52] Building CXX object CMakeFiles/ryml.dir/src/c4/yml/reference_resolver.cpp.o
[34/52] Building CXX object CMakeFiles/ryml.dir/src/c4/yml/node_type.cpp.o
[35/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/__/ext/c4core/src/c4/memory_resource.cpp.o
[36/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/__/ext/c4core/src/c4/utf.cpp.o
[37/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/__/src/c4/yml/node.cpp.o
[38/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/__/src/c4/yml/preprocess.cpp.o
[39/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/__/src/c4/yml/tag.cpp.o
[40/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/__/src/c4/yml/common.cpp.o
[41/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/__/ext/c4core/src/c4/base64.cpp.o
[42/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/__/ext/c4core/src/c4/format.cpp.o
[43/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/__/src/c4/yml/reference_resolver.cpp.o
[44/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/__/src/c4/yml/node_type.cpp.o
[45/52] Building CXX object CMakeFiles/ryml.dir/src/c4/yml/tree.cpp.o
[46/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/__/src/c4/yml/tree.cpp.o
[47/52] Building CXX object CMakeFiles/ryml.dir/src/c4/yml/parse.cpp.o
[48/52] Linking CXX shared library libryml.so.0.10.0
[49/52] Creating library symlink libryml.so
[50/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/__/src/c4/yml/parse.cpp.o
[51/52] Building CXX object api/CMakeFiles/ryml-api-python3.dir/src/python3/rymlPYTHON_wrap.cxx.o
[52/52] Linking CXX shared module api/python3/_ryml.so
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/lib/libryml.so.0.10.0
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/lib/libryml.so
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/allocator.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/base64.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/blob.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/bitmask.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/charconv.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/c4_pop.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/c4_push.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/char_traits.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/common.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/compiler.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/config.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/cpu.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/ctor_dtor.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/dump.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/enum.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/error.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/export.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/format.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/gcc-4.8.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/hash.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/language.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/memory_resource.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/memory_util.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/platform.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/preprocessor.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/restrict.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/span.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/std/std.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/std/std_fwd.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/std/string.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/std/string_fwd.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/std/string_view.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/std/tuple.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/std/vector.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/std/vector_fwd.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/substr.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/substr_fwd.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/szconv.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/type_name.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/types.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/unrestrict.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/utf.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/windows.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/version.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/windows_pop.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/windows_push.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/ext/debugbreak/debugbreak.h
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/ext/rng/rng.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/ext/sg14/inplace_function.h
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/ext/fast_float.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/ext/fast_float_all.h
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/c4core.natvis
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/ryml.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/ryml_std.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/detail/checks.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/detail/dbgprint.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/detail/print.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/detail/stack.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/common.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/emit.def.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/emit.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/error.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/error.def.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/escape_scalar.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/event_handler_stack.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/event_handler_tree.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/filter_processor.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/fwd.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/export.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/node.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/node_type.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/parser_state.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/parse.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/parse_engine.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/parse_engine.def.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/preprocess.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/reference_resolver.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/std/map.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/std/std.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/std/string.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/std/vector.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/tag.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/tree.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/version.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/writer.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/yml/yml.hpp
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/include/ryml.natvis
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/lib/cmake/ryml/rymlTargets.cmake
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/lib/cmake/ryml/rymlTargets-release.cmake
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/lib/cmake/ryml/rymlConfig.cmake
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/lib/cmake/ryml/rymlConfigVersion.cmake
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/lib/libc4core.so.0.2.8
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/lib/libc4core.so
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/allocator.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/base64.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/blob.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/bitmask.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/charconv.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/c4_pop.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/c4_push.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/char_traits.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/common.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/compiler.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/config.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/cpu.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/ctor_dtor.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/dump.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/enum.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/error.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/export.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/format.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/gcc-4.8.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/hash.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/language.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/memory_resource.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/memory_util.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/platform.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/preprocessor.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/restrict.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/span.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/std/std.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/std/std_fwd.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/std/string.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/std/string_fwd.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/std/string_view.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/std/tuple.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/std/vector.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/std/vector_fwd.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/substr.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/substr_fwd.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/szconv.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/type_name.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/types.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/unrestrict.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/utf.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/windows.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/version.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/windows_pop.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/windows_push.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/ext/debugbreak/debugbreak.h
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/ext/rng/rng.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/ext/sg14/inplace_function.h
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/ext/fast_float.hpp
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/ext/fast_float_all.h
-- Up-to-date: /project/build/lib.linux-x86_64-cpython-314/ryml/include/c4/c4core.natvis
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/lib/cmake/c4core/c4coreTargets.cmake
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/lib/cmake/c4core/c4coreTargets-release.cmake
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/lib/cmake/c4core/c4coreConfig.cmake
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/lib/cmake/c4core/c4coreConfigVersion.cmake
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/_ryml.so
-- Installing: /project/build/lib.linux-x86_64-cpython-314/ryml/ryml.py

==> Configuring:
$ cmake -S /project -B /project/build/temp.linux-x86_64-cpython-314_ryml.ryml -G Ninja -DCMAKE_MAKE_PROGRAM=/tmp/build-env-5ecx9cnx/bin/ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/project/build/lib.linux-x86_64-cpython-314/ryml -DBUILD_SHARED_LIBS:BOOL=ON -DRYML_DEV:BOOL=OFF -DRYML_BUILD_API:BOOL=ON -DRYML_DEFAULT_CALLBACKS:BOOL=ON -DRYML_DEFAULT_CALLBACK_USES_EXCEPTIONS:BOOL=ON -DPython3_EXECUTABLE:FILEPATH=/tmp/build-env-5ecx9cnx/bin/python

==> Building:
$ cmake --build /project/build/temp.linux-x86_64-cpython-314_ryml.ryml --config Release

==> Installing:
$ cmake --install /project/build/temp.linux-x86_64-cpython-314_ryml.ryml --config Release

rapidyaml: Removing everything under: /project/build/lib.linux-x86_64-cpython-314/ryml/lib
rapidyaml: Removing everything under: /project/build/lib.linux-x86_64-cpython-314/ryml/include
rapidyaml: /project/build/lib.linux-x86_64-cpython-314/ryml/cmake not found
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/ryml
copying build/lib.linux-x86_64-cpython-314/ryml/ryml.py -> build/bdist.linux-x86_64/wheel/./ryml
copying build/lib.linux-x86_64-cpython-314/ryml/version.py -> build/bdist.linux-x86_64/wheel/./ryml
copying build/lib.linux-x86_64-cpython-314/ryml/__init__.py -> build/bdist.linux-x86_64/wheel/./ryml
copying build/lib.linux-x86_64-cpython-314/ryml/_ryml.so -> build/bdist.linux-x86_64/wheel/./ryml
running install_egg_info
Copying api/python/rapidyaml.egg-info to build/bdist.linux-x86_64/wheel/./rapidyaml-0.10.0.post68-py3.14.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/rapidyaml-0.10.0.post68.dist-info/WHEEL
creating '/tmp/cibuildwheel/built_wheel/.tmp-pt27b7wr/rapidyaml-0.10.0.post68-cp314-cp314-linux_x86_64.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'rapidyaml-0.10.0.post68.dist-info/licenses/LICENSE.txt'
adding 'ryml/__init__.py'
adding 'ryml/_ryml.so'
adding 'ryml/ryml.py'
adding 'ryml/version.py'
adding 'rapidyaml-0.10.0.post68.dist-info/METADATA'
adding 'rapidyaml-0.10.0.post68.dist-info/WHEEL'
adding 'rapidyaml-0.10.0.post68.dist-info/top_level.txt'
adding 'rapidyaml-0.10.0.post68.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built rapidyaml-0.10.0.post68-cp314-cp314-linux_x86_64.whl
    + /opt/python/cp39-cp39/bin/python -c 'import sys, json, glob; json.dump(glob.glob('"'"'/tmp/cibuildwheel/built_wheel/*.whl'"'"'), sys.stdout)'
    + rm -rf /tmp/cibuildwheel/repaired_wheel
    + mkdir -p /tmp/cibuildwheel/repaired_wheel

                                                              ✓ 9.79s
Repairing wheel...

    + sh -c 'auditwheel repair -w /tmp/cibuildwheel/repaired_wheel /tmp/cibuildwheel/built_wheel/rapidyaml-0.10.0.post68-cp314-cp314-linux_x86_64.whl'
INFO:auditwheel.main_repair:Repairing rapidyaml-0.10.0.post68-cp314-cp314-linux_x86_64.whl
INFO:auditwheel.main_repair:Wheel is eligible for a higher priority tag. You requested manylinux_2_28_x86_64 but I have found this wheel is eligible for manylinux_2_17_x86_64.
INFO:auditwheel.wheeltools:Previous filename tags: linux_x86_64
INFO:auditwheel.wheeltools:New filename tags: manylinux_2_17_x86_64, manylinux2014_x86_64, manylinux_2_28_x86_64
INFO:auditwheel.wheeltools:Previous WHEEL info tags: cp314-cp314-linux_x86_64
INFO:auditwheel.wheeltools:New WHEEL info tags: cp314-cp314-manylinux_2_17_x86_64, cp314-cp314-manylinux2014_x86_64, cp314-cp314-manylinux_2_28_x86_64
INFO:auditwheel.main_repair:
Fixed-up wheel written to /tmp/cibuildwheel/repaired_wheel/rapidyaml-0.10.0.post68-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
    + /opt/python/cp39-cp39/bin/python -c 'import sys, json, glob; json.dump(glob.glob('"'"'/tmp/cibuildwheel/repaired_wheel/*.whl'"'"'), sys.stdout)'
    + mkdir -p /output
    + mv /tmp/cibuildwheel/repaired_wheel/rapidyaml-0.10.0.post68-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl /output

                                                              ✓ 0.48s

✓ cp314-manylinux_x86_64 finished in 10 seconds
Copying wheels back to host...

+ docker cp cibuildwheel-63c929da-155d-48ec-baa5-54acb017d692:/output/. /home/rudlstorfer/01_work/01_workspace/rapidyaml/dist
Successfully copied 276kB to /home/rudlstorfer/01_work/01_workspace/rapidyaml/dist

                                                              ✓ 0.01s

1 wheel produced in 11 seconds

  cp314-manylinux_x86_64: rapidyaml-0.10.0.post68-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl 272.8 kB in 10 seconds, SHA256=6ad395ab5e896b0eca85338f72188e0f296e0c3b061ce7c2415e8840d79739bd

I need to investigate why the build fails in the CI

@biojppm
Copy link
Copy Markdown
Owner

biojppm commented Feb 6, 2026

Thanks for the PR! And good catch dealing with the yamlscript workflows.

Regarding the failing 3.14 pipelines, I think you need to update the version of cibuildwheel as well. See https://github.com/pypa/cibuildwheel

@davidrudlstorfer
Copy link
Copy Markdown
Contributor Author

Based on the incompatibility of cibuildwheel with Python Versions < 3.8 I would propose to remove Python 3.6 and 3.7 from the build process (since they are already EOL since 3 years https://devguide.python.org/versions/)

Otherwise I could try to split up the wheel building into two cibuildwheel versions, i.e., 2.x for Python versions 3.6 and 3.7 and cibuildwheel version 3.x for all newer Python versions

@biojppm
Copy link
Copy Markdown
Owner

biojppm commented Feb 6, 2026

I'd like to go on supporting the older versions; AFAICT there are some older embedded platforms using these versions.

Please reinstate 3.7 and 3.6 as before, and split the cibw version by doing something like this diff:

@@ -1,7 +1,7 @@
 !yamlscript/v0
 
 
-defn pywhl(pyv cibwpyv cibwarch cibwplatform os vsenvarch='' cmkflags='')::  # NOTE: cannot use _ in names?
+defn pywhl(pyv cibwpyv cibwarch cibwplatform os vsenvarch='' cmkflags='' cibwv='3.3.1')::  # NOTE: cannot use _ in names?
     name:: "python/$pyv/$cibwplatform"
     sfx:: "python$pyv-$cibwplatform" # suffix
     os:: os
@@ -9,12 +9,20 @@ defn pywhl(pyv cibwpyv cibwarch cibwplatform os vsenvarch='' cmkflags='')::  # N
     cibw_pyv:: cibwpyv #pyv.replace(/\.//) # WTF??
     cibw_arch:: cibwarch
     cibw_platform:: cibwplatform
+    cibw_ver:: cibwv
     #cmakeflags:: cmkflags
     vsenvarch:: vsenvarch
 
 
 python-wheel-matrix =::
 #          pyv        arch         platform            os
+- ! pywhl('3.14' 314 'x86_64'     'manylinux_x86_64'  'ubuntu-24.04')
+- ! pywhl('3.14' 314 'i686'       'manylinux_i686'    'ubuntu-24.04')
+- ! pywhl('3.14' 314 'aarch64'    'manylinux_aarch64' 'ubuntu-24.04-arm')
+- ! pywhl('3.14' 314 'x86_64'     'macosx_x86_64'     'macos-15-intel')
+- ! pywhl('3.14' 314 'arm64'      'macosx_arm64'      'macos-latest')
+- ! pywhl('3.14' 314 'universal2' 'macosx_universal2' 'macos-latest')
+#          pyv        arch         platform            os
 - ! pywhl('3.13' 313 'x86_64'     'manylinux_x86_64'  'ubuntu-24.04')
 - ! pywhl('3.13' 313 'i686'       'manylinux_i686'    'ubuntu-24.04')
 - ! pywhl('3.13' 313 'aarch64'    'manylinux_aarch64' 'ubuntu-24.04-arm')
@@ -56,14 +64,14 @@ python-wheel-matrix =::
 - ! pywhl('3.8'  38  'x86_64'     'macosx_x86_64'     'macos-15-intel')
 #- ! pywhl('3.8'  38  'arm64'      'macosx_arm64'      'macos-14'    ) # disabled: https://cibuildwheel.pypa.io/en/stable/faq/#macos-building-cpython-38-wheels-on-arm64
 #- ! pywhl('3.8'  38  'universal2' 'macosx_universal2' 'macos-14'    ) # disabled: https://cibuildwheel.pypa.io/en/stable/faq/#macos-building-cpython-38-wheels-on-arm64
-#          pyv        arch         platform            os
-- ! pywhl('3.7'  37  'x86_64'     'manylinux_x86_64'  'ubuntu-22.04')
-- ! pywhl('3.7'  37  'i686'       'manylinux_i686'    'ubuntu-22.04')
-- ! pywhl('3.7'  37  'x86_64'     'macosx_x86_64'     'macos-15-intel')
-#          pyv        arch         platform            os
-#- ! pywhl('3.6'  36  'x86_64'     'manylinux_x86_64'  'ubuntu-20.04') # setup-python 3.6 requires ubuntu 20.04
-#- ! pywhl('3.6'  36  'i686'       'manylinux_i686'    'ubuntu-20.04') # setup-python 3.6 requires ubuntu 20.04
-#- ! pywhl('3.6'  36  'x86_64'     'macosx_x86_64'     'macos-15-intel')
+#          pyv        arch         platform            os              vsenvarch  cmakeflags  cibw_ver
+- ! pywhl('3.7'  37  'x86_64'     'manylinux_x86_64'  'ubuntu-22.04'   ''         ''          '2.23')
+- ! pywhl('3.7'  37  'i686'       'manylinux_i686'    'ubuntu-22.04'   ''         ''          '2.23')
+- ! pywhl('3.7'  37  'x86_64'     'macosx_x86_64'     'macos-15-intel' ''         ''          '2.23')
+#          pyv        arch         platform            os              vsenvarch  cmakeflags  cibw_ver
+#- ! pywhl('3.6'  36  'x86_64'     'manylinux_x86_64'  'ubuntu-20.04'   ''         ''          '2.23') # setup-python 3.6 requires ubuntu 20.04
+#- ! pywhl('3.6'  36  'i686'       'manylinux_i686'    'ubuntu-20.04'   ''         ''          '2.23') # setup-python 3.6 requires ubuntu 20.04
+#- ! pywhl('3.6'  36  'x86_64'     'macosx_x86_64'     'macos-15-intel' ''         ''          '2.23')
 
 
 python-wheel-matrix-win =::
@@ -91,11 +99,11 @@ python-wheel-matrix-win =::
 - ! pywhl('3.8'  38  'AMD64'  'win_amd64'  'windows-2022' 'x64'         '-G "Visual Studio 17 2022" -A x64')
 - ! pywhl('3.8'  38  'x86'    'win32'      'windows-2022' 'x86'         '-G "Visual Studio 17 2022" -A Win32')
 #
-- ! pywhl('3.7'  37  'AMD64'  'win_amd64'  'windows-2022' 'x64'         '-G "Visual Studio 17 2022" -A x64')
-#- ! pywhl('3.7'  37  'x86'    'win32'      'windows-2022' 'x86'         '-G "Visual Studio 17 2022" -A Win32')
+- ! pywhl('3.7'  37  'AMD64'  'win_amd64'  'windows-2022' 'x64'         '-G "Visual Studio 17 2022" -A x64'      '2.23')
+#- ! pywhl('3.7'  37  'x86'    'win32'      'windows-2022' 'x86'         '-G "Visual Studio 17 2022" -A Win32'    '2.23')
 #
-- ! pywhl('3.6'  36  'AMD64'  'win_amd64'  'windows-2022' 'x64'         '-G "Visual Studio 17 2022" -A x64')
-- ! pywhl('3.6'  36  'x86'    'win32'      'windows-2022' 'x86'         '-G "Visual Studio 17 2022" -A Win32')
+- ! pywhl('3.6'  36  'AMD64'  'win_amd64'  'windows-2022' 'x64'         '-G "Visual Studio 17 2022" -A x64'     '2.23')
+- ! pywhl('3.6'  36  'x86'    'win32'      'windows-2022' 'x86'         '-G "Visual Studio 17 2022" -A Win32'   '2.23')
 
 
 setup-env =::
@@ -136,7 +144,7 @@ setup-env-win =::
       - :: checkout-action
       - :: setup-env
       - name: create wheel
-        uses: pypa/cibuildwheel@v2.23
+        uses: pypa/cibuildwheel@v${{matrix.config.cibw_ver}}
       - name: rename wheelhouse -> dist
         run: mv -fv wheelhouse dist
       - name: Verify artifacts

@biojppm biojppm force-pushed the add_python_314_wheels branch from fa328ec to 2f20364 Compare February 7, 2026 20:18
@biojppm
Copy link
Copy Markdown
Owner

biojppm commented Feb 7, 2026

Please reinstate 3.7 and 3.6 as before, and split the cibw version by doing something like this diff:

I did it and pushed to your branch. Waiting for the pipelines to do their stuff before merging.

@biojppm
Copy link
Copy Markdown
Owner

biojppm commented Feb 8, 2026

The failure in the coverage pipelines is unrelated. Merging now.

Thanks!

@biojppm biojppm merged commit c1d0047 into biojppm:master Feb 8, 2026
240 of 246 checks passed
@davidrudlstorfer
Copy link
Copy Markdown
Contributor Author

@biojppm sorry that I was not able to finish this on Friday 😬 thanks a lot for taking care and now also enabling Python 3.14 :)

@alessandrofelder
Copy link
Copy Markdown

Thanks a lot @davidrudlstorfer and @biojppm !

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.

Support for Python 3.14

3 participants