Support building free-threaded CPython by colesbury · Pull Request #319 · actions/python-versions

@colesbury

Add support for Python's free threading build mode where the global
interpreter lock is disabled. The packages are marked using a suffix on
the architecture, like 'x64-freethreaded' or 'arm64-freethreaded'.

@colesbury

ionelmc added a commit to ionelmc/python-lazy-object-proxy that referenced this pull request

Nov 20, 2024

@ionelmc

@colesbury

@colesbury

This matches the macOS behavior and allows users to install both the
free-threading and default builds at the same time.

aparnajyothi-y

priyagupta108

priya-kinthali

HarithaVattikuti

EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request

Mar 7, 2025
See gitpython-developers#2005. Right now, this does not limit by operating system, but
that is just to verify that there are no OS-specific 3.13t problems
we should know about right now; once that is verified, the macOS
and Windows jobs will be removed (excluded) for the time being.

The 3.13t jobs added here use `Quansight-Labs/setup-python`, not
`actions/setup-python`. The latter also has the ability to use
3.13t since actions/python-versions#319
and actions/setup-python#973 (see also
actions/setup-python#771), but no version
tag includes this feature yet. It can be used by using `@main` or
`@...` where `...` is an OID. The former would risk pulling in
other untested features we're no trying to test with, while the
latter would not be easy to upgrade automatically as what we have
now (we would be deliberately keeping a hash not at any tag that is
already not the latest hash on any branch). In contrast, the
`Quansight-Labs/setup-python` fork adds this feature while staying
up to date with others. When `actions/setup-python` has a release
(stable or prerelease) with this feature, we can switch to it.

This could probably be done with less code duplication by using a
matrix variable for the action to use. Instead, the "Set up Python"
step is split in two, with opposite `if` conditions, so that each
is capable of being recognized and upgraded by Dependabot if a new
major version is released (in case this ends up remaining in place
longer than expected).

Byron pushed a commit to EliahKagan/GitPython that referenced this pull request

Mar 12, 2025
See gitpython-developers#2005. Right now, this does not limit by operating system, but
that is just to verify that there are no OS-specific 3.13t problems
we should know about right now; once that is verified, the macOS
and Windows jobs will be removed (excluded) for the time being.

The 3.13t jobs added here use `Quansight-Labs/setup-python`, not
`actions/setup-python`. The latter also has the ability to use
3.13t since actions/python-versions#319
and actions/setup-python#973 (see also
actions/setup-python#771), but no version
tag includes this feature yet. It can be used by using `@main` or
`@...` where `...` is an OID. The former would risk pulling in
other untested features we're no trying to test with, while the
latter would not be easy to upgrade automatically as what we have
now (we would be deliberately keeping a hash not at any tag that is
already not the latest hash on any branch). In contrast, the
`Quansight-Labs/setup-python` fork adds this feature while staying
up to date with others. When `actions/setup-python` has a release
(stable or prerelease) with this feature, we can switch to it.

This could probably be done with less code duplication by using a
matrix variable for the action to use. Instead, the "Set up Python"
step is split in two, with opposite `if` conditions, so that each
is capable of being recognized and upgraded by Dependabot if a new
major version is released (in case this ends up remaining in place
longer than expected).

clrpackages pushed a commit to clearlinux-pkgs/pypi-lazy_object_proxy that referenced this pull request

Apr 22, 2025
…0.0 to version 1.11.0

Ionel Cristian Mărieș (19):
      Add a tidelift security policy.
      Add support for __format__.
      Drop EOL python 3.8 and update some CI config.
      Run ruff over.
      Up ci conf.
      Allow building on 3.13 freetreading python.
      Add 3.13 to ci.
      I guess I need to wait on actions/python-versions#319 and maybe actions/python-versions#319.
      Add support for ndigits in __round__.
      Update changelog. Closes #86.
      Bump precommit and some actions.
      Add the freethread envs.
      Do not set binary dist if exts are disabled.
      Add long_description_content_type.
      Use unique actifact name.
      Fix some variables for freethread builds.
      Twine not needed.
      Workaround for twine being uninstalable on freethreaded (cryphtography bad)
      Bump version: 1.10.0 → 1.11.0

mxschmitt