Welcome to ft_utils!
We're excited to share this library with you, designed to help you build high-performance applications with Free Threaded Python.
License
ft_utils is open-source software, licensed under the permissive MIT license. You can find the full license terms in our LICENSE file.
Contributing and Code Standards
We'd love for you to contribute to ft_utils! To ensure that our codebase remains maintainable and efficient, we follow some simple guidelines. Please take a look at our CONTRIBUTING.md document for more information.
Extra Guidelines
In addition to these guidelines, we have a few extra rules to keep in mind:
- Language: We use C11 and Python as our only programming languages. Build scripts can be in other languages.
- Cross-Platform Compatibility: Our code must compile on Windows, Linux, and Mac(arm).
- GIL and Free Threaded Python: All functionality should work seamlessly on both GIL and Free Threaded Python, although results may vary slightly between the two environments.
- Unit Tests: Every feature must have at least one unit test to ensure it works correctly.
- Benchmarks: It is best practice to write benchmarks for all new features to further test and to drive our aim of high performance.
Documentation
See to documentation.
Build And CI
ft_utils is built and tested against the following configurations:
| CPython 3.13 | CPython 3.13t | CPython 3.14 | CPython 3.14t | |
|---|---|---|---|---|
| manylinux: glibc 2.17+ x86-64 | ✅ | ✅ | ✅ | ✅ |
| manylinux: glibc 2.17+ i686 | ✅ | ✅ | ✅ | ✅ |
| manylinux: glibc 2.17+ aarch64 | ✅ | ✅ | ✅ | ✅ |
| musllinux: musl 1.2+ x86-64 | ✅ | ✅ | ✅ | ✅ |
| musllinux: musl 1.2+ i686 | ✅ | ✅ | ✅ | ✅ |
| musllinux: musl 1.2+ aarch64 | ✅ | ✅ | ✅ | ✅ |
| Windows x86-64 | ✅ | ✅ | ✅ | ✅ |
| macOS 11.0+ ARM64 | ✅ | ✅ | ✅ | ✅ |
These wheels are uploaded to and available on PyPI, along with a source distribution for platforms not covered above.
Build from source
You will need a source code version of CPython. To run for Free Threaded Python, at the time of writing, this means you will require CPython 3.13+ and compile as <PYTHON_VERSION>t.
Please ensure you are in a virtual environment. If you cannot, or do not wish to do this then you will need to comment out the call to check_env() in setup.py.
Once you have everything in place, please execute setup.py as a python script:
python -P setup.py bdist_wheel
If this does not work due to networking then you might need use a proxy; for example:
https_proxy=http://fwdproxy:8080 python setup.py
To install just install the wheel; for example on Windows:
python -m pip install build\dist\ft_utils-0.2.0-cp314-cp314-win_amd64.whl
Or:
python -m pip install --force-reinstall build\dist\ft_utils-0.2.0-cp314-cp314-win_amd64.whl
Testing from source
Once installed you can test the code via python -m ft_utils.tests.test_run_all. This will run all the tests and benchmarks which are known to be good and report any failures.
Release files for ft-utils 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ft_utils-0.2.0.tar.gz | 80.8 kB | Details |
Built distributions (wheels)
Total release size: 3.0 MB
Release files / ft_utils-0.2.0.tar.gz
| Download URL | ft_utils-0.2.0.tar.gz |
|---|---|
| Size | 80.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
12d16cb553011273bdbd365a7e26e795536a42ce2a84f3f645c0572e4c309b00
|
|
BLAKE2b-256 checksum How to use checksums |
8d121adc6ff4cdd347b7b52e2427643a73212fc8030dba18f9c9a235e20b9a58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.
Transparency logRelease files / ft_utils-0.2.0-cp314-cp314-win_amd64.whl
| Download URL | ft_utils-0.2.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 116.3 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7d98521976c87820fda854c6d6eb85a84ccc34b6c7231d9897119ca8ea87fb99
|
|
BLAKE2b-256 checksum How to use checksums |
a5729907d2183dcdd2676e01db7cf2825dfcc207ee4e786483810892aeb71a0e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.
Transparency logRelease files / ft_utils-0.2.0-cp314-cp314-win32.whl
| Download URL | ft_utils-0.2.0-cp314-cp314-win32.whl |
|---|---|
| Size | 113.1 kB |
| Tags | CPython 3.14 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
f3976b60db3e94e3d9630bffcd1129f4cbd7f06e8f68edd0aca5c54483453848
|
|
BLAKE2b-256 checksum How to use checksums |
8d2ab563185c224b169e0da3c4421bb05f1f8825863194288c9f37cfa30459c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.
Transparency logRelease files / ft_utils-0.2.0-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | ft_utils-0.2.0-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 281.1 kB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
c447e376fc69c5522e9564e940bfb64b762823dd3aae0ef959645132fc4c87d5
|
|
BLAKE2b-256 checksum How to use checksums |
204070b74958a383c0914bafe8f06e7b1e5f4f663a3d54a5eff45ead04e55740
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.
Transparency logRelease files / ft_utils-0.2.0-cp314-cp314-musllinux_1_2_aarch64.whl
| Download URL | ft_utils-0.2.0-cp314-cp314-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 284.3 kB |
| Tags | CPython 3.14 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
bd3161446d964668a7eeb52ad9a704470639d9daa122338d38ef2ce345f07480
|
|
BLAKE2b-256 checksum How to use checksums |
e5a9b61b5afc64b99fe14c4698297c8a3462920749b5c23fc5beae1fb1db44a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.
Transparency logRelease files / ft_utils-0.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ft_utils-0.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 282.3 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
64bda3ff6cc981c49a1d79593a82e756f383d0ba00b4f457983e5c987a928c2d
|
|
BLAKE2b-256 checksum How to use checksums |
44fe56a5886a7f5e830572602b1763cb06307912cddb05734eb4762d677ef1d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.
Transparency logRelease files / ft_utils-0.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | ft_utils-0.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 292.2 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
72d7a4215d8b1e20c1aee18ea5fbd1d0218986b09197497a8b436579c580659d
|
|
BLAKE2b-256 checksum How to use checksums |
609abc9ce72d6c145518c6ef20a1861d86054e0ad5997d455591a108b364164a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.
Transparency logRelease files / ft_utils-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | ft_utils-0.2.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 107.5 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
da120d576a4da12e26b308bc3f670e9e1f44da9526c717561c30abedbf7fc66b
|
|
BLAKE2b-256 checksum How to use checksums |
6c3bf14a935583d290541a2690aa83a63d860567e3ba98e67f8a286466be34e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.
Transparency logRelease files / ft_utils-0.2.0-cp313-cp313-win_amd64.whl
| Download URL | ft_utils-0.2.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 115.3 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
63bd6e7ac324c329a31816954ee3d6c934514e42be981dde7eedc200bfd9db41
|
|
BLAKE2b-256 checksum How to use checksums |
30deed356dd6a6267d258b04c5779b8ecc8e23a5afa6e9f249df3ca64c3fddda
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.
Transparency logRelease files / ft_utils-0.2.0-cp313-cp313-win32.whl
| Download URL | ft_utils-0.2.0-cp313-cp313-win32.whl |
|---|---|
| Size | 111.8 kB |
| Tags | CPython 3.13 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
70e428768ba5171aa5a0e473ae7388e5132dd74b8b3ee7497123020936a847d9
|
|
BLAKE2b-256 checksum How to use checksums |
cccb0ea7ea6ea2558087f250f9b57bd9c16d7a6aa49d1604f50bd980b45c98ac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.
Transparency logRelease files / ft_utils-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | ft_utils-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 280.7 kB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
066e2bd2ea1a115fa1a8a6cf72c5194fc178e32616d56696fe6a782a01dbcbfd
|
|
BLAKE2b-256 checksum How to use checksums |
e1687a4957ab9b02d40b84b8ad6e3bb1be5620e751b41944b1ac796dcfd9a0f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.
Transparency logRelease files / ft_utils-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl
| Download URL | ft_utils-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 283.4 kB |
| Tags | CPython 3.13 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
12427e5c21424fde001ea853c507990a8c40227a993844dc7c9b079323f59fdd
|
|
BLAKE2b-256 checksum How to use checksums |
2beddc07bdd0d5b784b6d02a5b278db1cfb168e065dd5b83820fd9f952ed8bf5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.
Transparency logRelease files / ft_utils-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ft_utils-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 281.9 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
62f8b7eacb08d6310b555e425575815e37cb60bc684a2c6b1f12f74bb88ed124
|
|
BLAKE2b-256 checksum How to use checksums |
b2110ef418d3de096a37c34ab213dc6b0dd2ab1095ca1610387f59e72c58035e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.
Transparency logRelease files / ft_utils-0.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | ft_utils-0.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 291.3 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
ddae5007cdee8204fc2d62b78127742d2e26d84f16d5820e035c7e3a73e72e5c
|
|
BLAKE2b-256 checksum How to use checksums |
3d5d8f5a29e734dc12da4c172f7feb238d49e030ca7df2556b9b9fe9e938a9ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.
Transparency logRelease files / ft_utils-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | ft_utils-0.2.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 107.4 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6323397616b49b548e97bb60e9bdc15f52e1c442fb0259238696f3015c9785aa
|
|
BLAKE2b-256 checksum How to use checksums |
906c97c330740a5d45a8fd83cce901193127e354854527ca2950b6cc3bde885d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.
Transparency log