Free-threaded Python Library Compatibility Checker

Compatibility Results: CPython 3.13t and 3.14t

Library Installation Status Heatmap
Loading...

Loading library status heatmap...

Loading...

Loading Python 3.13t heatmap...

Loading...

Loading Python 3.14t heatmap...

Success
Failed
No Data

Python 3.13t Compatibility Results

Library Version Build Result Error Details Last Updated At
google-cloud-storage 3.13.1 Failed
  error: subprocess-exited-with-error
  
  × installing build dependencies for cryptography did not run successfully.
  │ exit code: 1
  ╰─> [38 lines of output]
      Ignoring cffi: markers 'python_version >= "3.15" and platform_python_implementation != "PyPy"' don't match your environment
      Collecting maturin<2,>=1.14.1
        Using cached maturin-1.14.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl.metadata (16 kB)
      Collecting cffi>=2.0.0
        Using cached cffi-2.1.1.tar.gz (530 kB)
        Installing build dependencies: started
        Installing build dependencies: finished with status 'done'
        Getting requirements to build wheel: started
        Getting requirements to build wheel: finished with status 'error'
        error: subprocess-exited-with-error
      
        × Getting requirements to build wheel did not run successfully.
        │ exit code: 1
        ╰─> [20 lines of output]
            Traceback (most recent call last):
              File "/tmp/tmpwye50yxz/venv/lib/python3.13t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
                main()
                ~~~~^^
              File "/tmp/tmpwye50yxz/venv/lib/python3.13t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
                json_out["return_val"] = hook(**hook_input["kwargs"])
                                         ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
              File "/tmp/tmpwye50yxz/venv/lib/python3.13t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 143, in get_requires_for_build_wheel
                return hook(config_settings)
              File "/tmp/pip-build-env-5d1f62rt/overlay/lib/python3.13t/site-packages/setuptools/build_meta.py", line 333, in get_requires_for_build_wheel
                return self._get_build_requires(config_settings, requirements=[])
                       ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/tmp/pip-build-env-5d1f62rt/overlay/lib/python3.13t/site-packages/setuptools/build_meta.py", line 301, in _get_build_requires
                self.run_setup()
                ~~~~~~~~~~~~~~^^
              File "/tmp/pip-build-env-5d1f62rt/overlay/lib/python3.13t/site-packages/setuptools/build_meta.py", line 317, in run_setup
                exec(code, locals())
                ~~~~^^^^^^^^^^^^^^^^
              File "<string>", line 22, in <module>
            RuntimeError: CFFI does not support the free-threaded build of CPython 3.13. Upgrade to free-threaded 3.14 or newer to use CFFI with the free-threaded build.
            [end of output]
      
        note: This error originates from a subprocess, and is likely not a problem with pip.
      ERROR: Failed to build 'cffi' when getting requirements to build wheel
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed to build 'cryptography' when installing build dependencies for cryptography
2026-08-07 01:02:51
yarl 1.24.5 Success - 2026-07-21 01:03:51
pytest 9.1.1 Success - 2026-06-20 01:03:16
h11 0.16.0 Success - 2025-05-20 15:27:56
pyarrow 25.0.1 Failed
EST.in'
            warning: no previously-included files matching '*' found under directory 'native/target'
            adding license file 'LICENSE'
            writing manifest file 'libcst.egg-info/SOURCES.txt'
            /tmp/pip-build-env-3rydmt_1/overlay/lib/python3.13t/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'libcst.tests.pyre' is absent from the `packages` configuration.
            !!
      
                    ********************************************************************************
                    ############################
                    # Package would be ignored #
                    ############################
                    Python recognizes 'libcst.tests.pyre' as an importable package[^1],
                    but it is absent from setuptools' `packages` configuration.
      
                    This leads to an ambiguous overall configuration. If you want to distribute this
                    package, please make sure that 'libcst.tests.pyre' is explicitly added
                    to the `packages` configuration field.
      
                    Alternatively, you can also rely on setuptools' discovery methods
                    (for example by using `find_namespace_packages(...)`/`find_namespace:`
                    instead of `find_packages(...)`/`find:`).
      
                    You can read more about "package discovery" on setuptools documentation page:
      
                    - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
      
                    If you don't want 'libcst.tests.pyre' to be distributed and are
                    already explicitly excluding 'libcst.tests.pyre' via
                    `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
                    you can try to use `exclude_package_data`, or `include-package-data=False` in
                    combination with a more fine grained `package-data` configuration.
      
                    You can read more about "package data files" on setuptools documentation page:
      
                    - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
      
      
                    [^1]: For Python, any directory (with suitable naming) can be imported,
                          even if it does not contain any `.py` files.
                          On the other hand, currently there is no concept of package data
                          directory, all directories are treated like packages.
                    ********************************************************************************
      
            !!
              check.warn(importable)
            copying libcst/py.typed -> build/lib.linux-x86_64-cpython-313t/libcst
            creating build/lib.linux-x86_64-cpython-313t/libcst/tests/pyre
            copying libcst/tests/pyre/.pyre_configuration -> build/lib.linux-x86_64-cpython-313t/libcst/tests/pyre
            copying libcst/tests/pyre/simple_class.json -> build/lib.linux-x86_64-cpython-313t/libcst/tests/pyre
            copying libcst/tests/pyre/simple_class.py -> build/lib.linux-x86_64-cpython-313t/libcst/tests/pyre
            copying libcst/_parser/conversions/README.md -> build/lib.linux-x86_64-cpython-313t/libcst/_parser/conversions
            copying libcst/codemod/tests/codemod_formatter_error_input.py.txt -> build/lib.linux-x86_64-cpython-313t/libcst/codemod/tests
            running build_ext
            running build_rust
            error: failed to parse lock file at: /tmp/pip-install-w4khppf2/libcst_e8f0623980514513a8fde8208fb91cdb/native/Cargo.lock
      
            Caused by:
              lock file version `4` was found, but this version of Cargo does not understand this lock file, perhaps Cargo needs to be updated?
            error: `cargo metadata --manifest-path native/libcst/Cargo.toml --format-version 1` failed with code 101
            -- Output captured from stdout:
      
            [end of output]
      
        note: This error originates from a subprocess, and is likely not a problem with pip.
        ERROR: Failed building wheel for libcst
        Building wheel for numpy (pyproject.toml): started
        Building wheel for numpy (pyproject.toml): finished with status 'done'
        Created wheel for numpy: filename=numpy-2.5.2-cp313-cp313t-linux_x86_64.whl size=10053491 sha256=6d1abdf25190099c66fd76867c13c22347ebe79ad3079f2641f73d527f8e2ba2
        Stored in directory: /root/.cache/pip/wheels/d2/13/f5/36636b1175a8090f323b170d4171e9d6a823f2e85be7690b94
      Successfully built numpy
      Failed to build libcst
      error: failed-wheel-build-for-install
      
      × Failed to build installable wheels for some pyproject.toml based projects
      ╰─> libcst
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed to build 'pyarrow' when installing build dependencies for pyarrow
2026-08-11 01:04:30
beautifulsoup4 4.15.0 Success - 2026-06-08 01:01:51
grpcio 1.83.1 Success - 2026-08-29 01:19:38
httpx 0.28.1 Success - 2025-05-20 14:40:40
pygments 2.21.0 Success - 2026-08-18 01:01:53
sqlalchemy 2.0.52 Failed
eenlet/platform/switch_arm64_msvc.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_csky_gcc.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_loongarch64_linux.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_m68k_gcc.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_mips_unix.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_ppc64_aix.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_ppc64_linux.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_ppc_aix.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_ppc_linux.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_ppc_macosx.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_ppc_unix.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_riscv_unix.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_s390_unix.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_sh_gcc.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_sparc_sun_gcc.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_x32_unix.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_x64_masm.asm -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_x64_masm.obj -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_x64_msvc.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_x86_msvc.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/platform/switch_x86_unix.h -> build/lib.linux-x86_64-cpython-313t/greenlet/platform
      copying src/greenlet/tests/_test_extension.c -> build/lib.linux-x86_64-cpython-313t/greenlet/tests
      copying src/greenlet/tests/_test_extension_cpp.cpp -> build/lib.linux-x86_64-cpython-313t/greenlet/tests
      running build_ext
      building 'greenlet._greenlet' extension
      c++ -pthread -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -fPIC -fPIC -I/tmp/tmpbh2a30hx/venv/include -I/root/.local/share/uv/python/cpython-3.13.9+freethreaded-linux-x86_64-gnu/include/python3.13t -c src/greenlet/greenlet.cpp -o build/temp.linux-x86_64-cpython-313t/src/greenlet/greenlet.o
      In file included from src/greenlet/greenlet.cpp:36:
      src/greenlet/TPythonState.cpp: In member function ‘void greenlet::PythonState::operator<<(const PyThreadState*)’:
      src/greenlet/TPythonState.cpp:232:9: error: ‘_PyCriticalSection_SuspendAll’ was not declared in this scope; did you mean ‘PyCriticalSection_End’?
        232 |         _PyCriticalSection_SuspendAll(const_cast<PyThreadState*>(tstate));
            |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |         PyCriticalSection_End
      src/greenlet/TPythonState.cpp: In member function ‘void greenlet::PythonState::operator>>(PyThreadState*)’:
      src/greenlet/TPythonState.cpp:355:9: error: ‘_PyCriticalSection_Resume’ was not declared in this scope; did you mean ‘PyCriticalSection_Begin’?
        355 |         _PyCriticalSection_Resume(tstate);
            |         ^~~~~~~~~~~~~~~~~~~~~~~~~
            |         PyCriticalSection_Begin
      In file included from src/greenlet/greenlet.cpp:43:
      src/greenlet/PyGreenlet.cpp: In function ‘PyGreenlet* green_new(PyTypeObject*, PyObject*, PyObject*)’:
      src/greenlet/PyGreenlet.cpp:62:23: warning: unused variable ‘c’ [-Wunused-variable]
         62 |         UserGreenlet* c = new UserGreenlet(o, GET_THREAD_STATE().state().borrow_current());
            |                       ^
      error: Command '['c++', '-pthread', '-fno-strict-overflow', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-g', '-O3', '-Wall', '-fPIC', '-fPIC', '-I/tmp/tmpbh2a30hx/venv/include', '-I/root/.local/share/uv/python/cpython-3.13.9+freethreaded-linux-x86_64-gnu/include/python3.13t', '-c', 'src/greenlet/greenlet.cpp', '-o', 'build/temp.linux-x86_64-cpython-313t/src/greenlet/greenlet.o']' returned non-zero exit status 1.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for greenlet
error: failed-wheel-build-for-install

× Failed to build installable wheels for some pyproject.toml based projects
╰─> greenlet
2026-08-12 01:02:57
pillow 12.3.0 Failed
       self.distribution.run_command(command)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/tmp/pip-build-env-1o2c03gu/overlay/lib/python3.13t/site-packages/setuptools/dist.py", line 1107, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/tmp/pip-build-env-1o2c03gu/overlay/lib/python3.13t/site-packages/setuptools/_distutils/dist.py", line 1019, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File "/tmp/pip-build-env-1o2c03gu/overlay/lib/python3.13t/site-packages/setuptools/_distutils/command/build.py", line 135, in run
          self.run_command(cmd_name)
          ~~~~~~~~~~~~~~~~^^^^^^^^^^
        File "/tmp/pip-build-env-1o2c03gu/overlay/lib/python3.13t/site-packages/setuptools/_distutils/cmd.py", line 341, in run_command
          self.distribution.run_command(command)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/tmp/pip-build-env-1o2c03gu/overlay/lib/python3.13t/site-packages/setuptools/dist.py", line 1107, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/tmp/pip-build-env-1o2c03gu/overlay/lib/python3.13t/site-packages/setuptools/_distutils/dist.py", line 1019, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File "/tmp/pip-build-env-1o2c03gu/overlay/lib/python3.13t/site-packages/setuptools/command/build_ext.py", line 97, in run
          _build_ext.run(self)
          ~~~~~~~~~~~~~~^^^^^^
        File "/tmp/pip-build-env-1o2c03gu/overlay/lib/python3.13t/site-packages/setuptools/_distutils/command/build_ext.py", line 367, in run
          self.build_extensions()
          ~~~~~~~~~~~~~~~~~~~~~^^
        File "<string>", line 891, in build_extensions
      RequiredDependencyException: jpeg
      
      During handling of the above exception, another exception occurred:
      
      Traceback (most recent call last):
        File "/tmp/tmp_q5pzi8c/venv/lib/python3.13t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
          main()
          ~~~~^^
        File "/tmp/tmp_q5pzi8c/venv/lib/python3.13t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
          json_out["return_val"] = hook(**hook_input["kwargs"])
                                   ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/tmp_q5pzi8c/venv/lib/python3.13t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 280, in build_wheel
          return _build_backend().build_wheel(
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
              wheel_directory, config_settings, metadata_directory
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          )
          ^
        File "/tmp/pip-install-bdqcwznx/pillow_10aa82ce30bd439e95921e5e0a9a1019/_custom_build/backend.py", line 26, in build_wheel
          return super().build_wheel(wheel_directory, config_settings, metadata_directory)
                 ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-1o2c03gu/overlay/lib/python3.13t/site-packages/setuptools/build_meta.py", line 441, in build_wheel
          return _build(['bdist_wheel', '--dist-info-dir', str(metadata_directory)])
        File "/tmp/pip-build-env-1o2c03gu/overlay/lib/python3.13t/site-packages/setuptools/build_meta.py", line 429, in _build
          return self._build_with_temp_dir(
                 ~~~~~~~~~~~~~~~~~~~~~~~~~^
              cmd,
              ^^^^
          ...<3 lines>...
              self._arbitrary_args(config_settings),
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          )
          ^
        File "/tmp/pip-build-env-1o2c03gu/overlay/lib/python3.13t/site-packages/setuptools/build_meta.py", line 410, in _build_with_temp_dir
          self.run_setup()
          ~~~~~~~~~~~~~~^^
        File "/tmp/pip-install-bdqcwznx/pillow_10aa82ce30bd439e95921e5e0a9a1019/_custom_build/backend.py", line 20, in run_setup
          return super().run_setup(setup_script)
                 ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-1o2c03gu/overlay/lib/python3.13t/site-packages/setuptools/build_meta.py", line 317, in run_setup
          exec(code, locals())
          ~~~~^^^^^^^^^^^^^^^^
        File "<string>", line 1115, in <module>
      RequiredDependencyException:
      
      The headers or library files could not be found for jpeg,
      a required dependency when compiling Pillow from source.
      
      Please see the install instructions at:
         https://pillow.readthedocs.io/en/latest/installation/basic-installation.html
      
      
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pillow
error: failed-wheel-build-for-install

× Failed to build installable wheels for some pyproject.toml based projects
╰─> pillow
2026-07-02 01:03:11
rich 15.0.0 Success - 2026-04-13 01:01:52
requests-oauthlib 2.0.0 Success - 2025-05-20 15:46:17
tomli 2.4.1 Success - 2026-03-26 01:02:47
more-itertools 11.1.0 Success - 2026-05-23 01:02:38
tomlkit 0.15.1 Success - 2026-07-18 01:03:57
aiosignal 1.4.0 Success - 2025-05-20 15:46:24
httpcore 1.0.9 Success - 2025-05-20 14:40:42
docutils 0.23 Success - 2026-05-28 01:02:25
requests-toolbelt 1.0.0 Success - 2025-05-20 14:41:08

Python 3.14t Compatibility Results

Library Version Build Result Error Details Last Updated At
google-cloud-storage 3.13.1 Success - 2026-08-07 01:03:14
yarl 1.24.5 Success - 2026-07-21 01:03:29
pytest 9.1.1 Success - 2026-06-20 01:03:18
h11 0.16.0 Success - 2025-05-20 15:28:06
pyarrow 25.0.1 Success - 2026-08-11 01:02:01
beautifulsoup4 4.15.0 Success - 2026-06-08 01:03:12
grpcio 1.83.1 Success - 2026-08-29 01:28:30
httpx 0.28.1 Success - 2025-05-20 14:37:46
pygments 2.21.0 Success - 2026-08-18 01:01:50
sqlalchemy 2.0.52 Success - 2026-08-12 01:02:50
pillow 12.3.0 Success - 2026-07-02 01:02:47
rich 15.0.0 Success - 2026-04-13 01:01:54
requests-oauthlib 2.0.0 Success - 2025-05-20 15:28:31
tomli 2.4.1 Success - 2026-03-26 01:02:52
more-itertools 11.1.0 Success - 2026-05-23 01:02:28
tomlkit 0.15.1 Success - 2026-07-18 01:03:27
aiosignal 1.4.0 Success - 2025-05-20 15:28:44
httpcore 1.0.9 Success - 2025-05-20 15:28:27
docutils 0.23 Success - 2026-05-28 01:02:20
requests-toolbelt 1.0.0 Success - 2025-05-20 15:46:20