Skip to content

Publish cp313t (free-threaded) wheels #1242

Open
@ngoldbaum

Description

Currently pip install libcst will do a from-source build on free-threaded 3.13.0:

goldbaum at Nathans-MBP in ~/Documents/cryptography on main!
± pip install libcst
Collecting libcst
  Downloading libcst-1.5.0.tar.gz (772 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 773.0/773.0 kB 22.9 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pyyaml>=5.2 (from libcst)
  Using cached PyYAML-6.0.2-cp313-cp313t-macosx_14_0_arm64.whl
Building wheels for collected packages: libcst
  Building wheel for libcst (pyproject.toml) ... done
  Created wheel for libcst: filename=libcst-1.5.0-cp313-cp313t-macosx_14_0_arm64.whl size=2027094 sha256=ec7f1a08268640717734e28b8454ca23043112fb2f002b46694494c82cf6b6bf
  Stored in directory: /Users/goldbaum/Library/Caches/pip/wheels/af/db/82/f05ed1829e60f978a9af19520c78cb52df1bed762e579d7f84
Successfully built libcst
Installing collected packages: pyyaml, libcst
Successfully installed libcst-1.5.0 pyyaml-6.0.2

[notice] A new release of pip is available: 24.2 -> 24.3.1
[notice] To update, run: pip install --upgrade pip

goldbaum at Nathans-MBP in ~/Documents/cryptography on main!
± python -VV
Python 3.13.0 experimental free-threading build (main, Nov  5 2024, 16:45:19) [Clang 16.0.0 (clang-1600.0.26.3)]

The build succeeds, but it probably shouldn't, and immediately segfaults if I try to import anything that imports the native module:

$  python
Python 3.13.0 experimental free-threading build (main, Nov  5 2024, 16:45:19) [Clang 16.0.0 (clang-1600.0.26.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import libcst.codegen.gen_matcher_classes as matcher_codegen
[1]    33127 segmentation fault  python

I think the first step is likely going to be updating the PyO3 dependency to 0.23 once that comes out (hopefully this week). Since the crate is at PyO3 0.20 right now, updating to 0.21 and 0.22 first will likely help.

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions