Skip to main content

PyYAML-ft

A full-featured YAML processing framework for Python with support for free-threading

Why a fork?

PEP 703 introduced free-threaded Python as a separate build of CPython 3.13. Thread-safety issues that might have otherwise gone unnoticed are now much easier to trigger because of the absence of protection from the GIL. Also, because the free-threaded build is ABI-incompatible, extension modules need to be separate, free-threaded wheels and declare support for it.

The PyYAML maintainers decided to not port PyYAML to the free-threaded build before the latter, along with Cython support for it, has been tested more extensively in real-world applications. Our rationale with this fork is to implement support for the free-threaded build, so that PyYAML can be tested with it by its users, even before the port is merged upstream.

Differences compared with upstream

  • This fork uses Cython 3.1.0b1 which supports the free-threaded build, but is still in beta. Its support for the free-threaded build is also still experimental.

  • add_constructor, add_representer and add_*resolver now all use thread-local registries, so you will have to explicitly register your custom constrcutors, representers and resolvers in each thread. Here's a small test showcasing that:

    import io
    import threading
    import yaml
    
    
    class Dice:
        def __init__(self, first, second):
            self.first = first
            self.second = second
        def __repr__(self):
            return f"Dice({self.first}, {self.second})"
    
    
    def construct_dice(constructor, node):
        mapping = constructor.construct_mapping(node)
        return Dice(**mapping)
    
    
    def load_dice():
        yamlcode = io.StringIO("""\
    - !dice
      first: 1
      second: 6
    - !dice
      first: 4
      second: 4
    """)
        print(f"Thread {threading.current_thread().name}")
        try:
            objs = yaml.load(yamlcode, Loader=yaml.CLoader)
            print(f"\t{objs=}")
        except Exception as e:
            print(f"\tException occurred: {e!s}")
    
    yaml.add_constructor("!dice", construct_dice, Loader=yaml.CLoader)
    load_dice()
    
    t = threading.Thread(target=load_dice)
    t.start()
    t.join()
    

    Running the above script gives the following:

     python3.13t tmp/t.py
    Thread MainThread
            objs=[Dice(1, 6), Dice(4, 4)]
    Thread Thread-1 (load_dice)
            Exception occurred: could not determine a constructor for the tag '!dice'
      in "<file>", line 1, column 3
    

    If you see new errors in multithreaded programs using PyYAML-ft that work with PyYAML, you may need to add calls to yaml.add_constructor, yaml.add_representer yaml.add_implicit_resolver or yaml.add_path_resolver in your thread worker function or worker initialization function.

Python versions support

Because PyYAML-ft is only aiming to exist for as long as upstream PyYAML does not support the free-threaded build, we recommend that users only conditionally switch to PyYAML-ft.

At this time, PyYAML-ft only supports Python 3.13 and 3.13t (i.e. the free-threaded build of 3.13). To switch to it, you can do the following in your requirements.txt file:

...
PyYAML; python_version < '3.13'
PyYAML-ft; python_version >= '3.13'

If you're developing a library that depends on PyYAML and you're using pyproject.toml to specify your dependencies, you can do the following:

dependencies = [
  ...,
  "PyYAML; python_version<'3.13'",
  "PyYAML-ft; python_version>='3.13'",
]

Installation

To install, type pip install PyYAML-ft.

When LibYAML bindings are installed (enabled by default), you may use the fast LibYAML-based parser and emitter as follows:

>>> yaml.load(stream, Loader=yaml.CLoader)
>>> yaml.dump(data, Dumper=yaml.CDumper)

If you don't trust the input YAML stream, you should use:

>>> yaml.safe_load(stream)

Building from source and testing

To build PyYAML-ft from source:

  1. Clone the fork repository with git clone https://github.com/Quansight-Labs/pyyaml.

  2. Create a new virtual environment with python3.13 -m venv .venv.

  3. Run source .venv/bin/activate to activate your new virtual environment.

  4. Install the build dependencies with:

    python3.13 -m pip install setuptools wheel
    python3.13 -m pip install --pre Cython==3.1.0b1
    
  5. Run python3.13 -m pip install --no-build-isolation .. This will build PyYAML-ft from source and install it in the newly created virtual environment. By default, the installation process will try to install the LibYAML bindings as well, but will fail silently if it cannot and instead use the pure-Python version.

    To get the latest version of the LibYAML bindings, you can use the libyaml.sh installation script:

    ./packaging/build/libyaml.sh  # This will install the bindings
    

    After the bindings are installed, you can force installing the bindings with the following invocation:

    PYYAML_FORCE_CYTHON=1 \
    PYYAML_FORCE_LIBYAML=1 \
    CFLAGS="-Ilibyaml/include" \
    LDFLAGS="-Llibyaml/src/.libs" \
    python -m pip install -v --no-build-isolation .
    

To test PyYAML-ft:

  1. Install pytest with python3.13 -m pip install pytest.

  2. Run the tests by just invoking pytest in the root directory of the project.

  3. Optionally, you can also run the free-threading tests with pytest-run-parallel:

    python3.13 -m pip install pytest-run-parallel
    python3.13 -m pytest --parallel-threads=auto --iterations=20 tests/free_threading
    

Further Information

License

The PyYAML module was written by Kirill Simonov xi@resolvent.net. It is currently maintained by the YAML and Python communities.

PyYAML-ft was forked by Quansight-Labs and is currently maintained by a team of engineers working on ecosystem-wide support for free-threading. It is released under the MIT license.

See the file LICENSE for more details.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyyaml_ft-7.0.1.tar.gz (140.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyyaml_ft-7.0.1-cp313-cp313t-win_amd64.whl (171.2 kB view details)

Uploaded CPython 3.13tWindows x86-64

pyyaml_ft-7.0.1-cp313-cp313t-musllinux_1_1_x86_64.whl (805.2 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.1+ x86-64

pyyaml_ft-7.0.1-cp313-cp313t-musllinux_1_1_aarch64.whl (800.0 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.1+ ARM64

pyyaml_ft-7.0.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (813.5 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

pyyaml_ft-7.0.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl (830.0 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ s390x

pyyaml_ft-7.0.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (810.8 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

pyyaml_ft-7.0.1-cp313-cp313t-macosx_11_0_arm64.whl (182.2 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

pyyaml_ft-7.0.1-cp313-cp313t-macosx_10_13_x86_64.whl (190.7 kB view details)

Uploaded CPython 3.13tmacOS 10.13+ x86-64

pyyaml_ft-7.0.1-cp313-cp313-win_amd64.whl (161.5 kB view details)

Uploaded CPython 3.13Windows x86-64

pyyaml_ft-7.0.1-cp313-cp313-musllinux_1_1_x86_64.whl (756.6 kB view details)

Uploaded CPython 3.13musllinux: musl 1.1+ x86-64

pyyaml_ft-7.0.1-cp313-cp313-musllinux_1_1_aarch64.whl (731.6 kB view details)

Uploaded CPython 3.13musllinux: musl 1.1+ ARM64

pyyaml_ft-7.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (764.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pyyaml_ft-7.0.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (768.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ s390x

pyyaml_ft-7.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (738.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

pyyaml_ft-7.0.1-cp313-cp313-macosx_11_0_arm64.whl (176.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyyaml_ft-7.0.1-cp313-cp313-macosx_10_13_x86_64.whl (186.4 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

File details

Details for the file pyyaml_ft-7.0.1.tar.gz.

File metadata

  • Download URL: pyyaml_ft-7.0.1.tar.gz
  • Upload date:
  • Size: 140.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for pyyaml_ft-7.0.1.tar.gz
Algorithm Hash digest
SHA256 3dc548f723e71ed2c1ba3df02e7c0ff4fd32c33bacd70e4c4b69e1bd3469f370
MD5 7430c558c5c53b08da8709720824ae85
BLAKE2b-256 aeff976df0c1aa731d1dc1a9d6109a198acd2d8f4a115703fc39e956ad983d00

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyaml_ft-7.0.1.tar.gz:

Publisher: ci.yaml on Quansight-Labs/pyyaml-ft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyaml_ft-7.0.1-cp313-cp313t-win_amd64.whl.

File metadata

  • Download URL: pyyaml_ft-7.0.1-cp313-cp313t-win_amd64.whl
  • Upload date:
  • Size: 171.2 kB
  • Tags: CPython 3.13t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for pyyaml_ft-7.0.1-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 4d42a8f3b67bdadb347b1b64ff06a6941ca9d2d2db4e52f9096d97d742f6c159
MD5 dc5cf54a4572de469e5dca14171b4cd4
BLAKE2b-256 a72c479945d7faacf1f74838e0861a89d002540b99dbb63ea74e2d945106ec5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyaml_ft-7.0.1-cp313-cp313t-win_amd64.whl:

Publisher: ci.yaml on Quansight-Labs/pyyaml-ft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyaml_ft-7.0.1-cp313-cp313t-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pyyaml_ft-7.0.1-cp313-cp313t-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 0f7884aa20dfaa7b8da2239a1e798009ad115ad77aa51ec66f10e56becf4ef09
MD5 20c8c48666996d8a007a73da9133c2f9
BLAKE2b-256 e3661615add298dfc4016ab1fa7438882be1f3f344508fcc2c1e43bbcf5e96e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyaml_ft-7.0.1-cp313-cp313t-musllinux_1_1_x86_64.whl:

Publisher: ci.yaml on Quansight-Labs/pyyaml-ft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyaml_ft-7.0.1-cp313-cp313t-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for pyyaml_ft-7.0.1-cp313-cp313t-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 90b7fac2398bdbb1aca8527734a1df549579e6ec6442f73ff4ddd3c41da76cb4
MD5 fb72cb4bab81189b60bfd5fc33912159
BLAKE2b-256 61da4ec865f6ff48175b29f05bd081d5e6bc73cb0118d15b373eefd4520e5dc8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyaml_ft-7.0.1-cp313-cp313t-musllinux_1_1_aarch64.whl:

Publisher: ci.yaml on Quansight-Labs/pyyaml-ft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyaml_ft-7.0.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyyaml_ft-7.0.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1246c7d3999b606ce920348fc1c13f3928f94a958be9e14834cdc07525382b97
MD5 b74b5363f5ac8a2552fa071e9b64c8d9
BLAKE2b-256 94edcd8c9478f5a98c39db8a338a2348e134d83c9dbf67602e0d525951d92cf9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyaml_ft-7.0.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yaml on Quansight-Labs/pyyaml-ft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyaml_ft-7.0.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for pyyaml_ft-7.0.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 c1d06682a70564e596b4f3f83fc651de1681b1091ea529cea45b6b6f4f1f45ad
MD5 7f3306f9c55e9845eb5362d26dbb58c5
BLAKE2b-256 ee17bef7c483feb8773662089f49b37b65e47a353e16faa983e6dcfaddba547f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyaml_ft-7.0.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl:

Publisher: ci.yaml on Quansight-Labs/pyyaml-ft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyaml_ft-7.0.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyyaml_ft-7.0.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e8384600ce21dde15ab1f9784f44c2eaedc4f08f4233043cf71ff9a3054f46b5
MD5 7d2fa6b27c5352d5b076cc194615112e
BLAKE2b-256 f6d6243c599a3bf4cd3c37c1e73f9a95b9dba852a7b226ca2d5e36149105255c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyaml_ft-7.0.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yaml on Quansight-Labs/pyyaml-ft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyaml_ft-7.0.1-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyyaml_ft-7.0.1-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3b1198045c1d7c37e7e98a93c7c85628e4902a232ae9bf1c33c1888e576a4153
MD5 282d84b297dd71126bd8ae83677ef0b4
BLAKE2b-256 c6b8a1f5522b17bbbb1eca26d931921dec417aba763f8608f7a5e565c06632a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyaml_ft-7.0.1-cp313-cp313t-macosx_11_0_arm64.whl:

Publisher: ci.yaml on Quansight-Labs/pyyaml-ft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyaml_ft-7.0.1-cp313-cp313t-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyyaml_ft-7.0.1-cp313-cp313t-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 772b45e2620e4299fc91d3bb24692bad81db8de4ed60e8de45603802b6378c47
MD5 c9fd60e7e06f5fd94a08784e3cb7bdee
BLAKE2b-256 f1f8db600151de1376c08ed6b8e65195d714046c1423b0359bef2382664056cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyaml_ft-7.0.1-cp313-cp313t-macosx_10_13_x86_64.whl:

Publisher: ci.yaml on Quansight-Labs/pyyaml-ft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyaml_ft-7.0.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyyaml_ft-7.0.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 161.5 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for pyyaml_ft-7.0.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5418bc61c2eca297af0e38f88a432e483c9e9553751a26fb1921f90fe96fa11a
MD5 8f7271bf66f57840805986dd780d5f1b
BLAKE2b-256 d791c36a59ea7295709dd372c7dec0be8adc6d5a5f26f73bc223f6184847eb57

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyaml_ft-7.0.1-cp313-cp313-win_amd64.whl:

Publisher: ci.yaml on Quansight-Labs/pyyaml-ft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyaml_ft-7.0.1-cp313-cp313-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pyyaml_ft-7.0.1-cp313-cp313-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5398e4c9b5fa840323f328636fb49680a95d6aac7825943b2f7f85df28ddfffa
MD5 dcfbf5e19f01b30b400758aa1ed6a6cd
BLAKE2b-256 9ed6752b1487933646cde6c6b1d28c18aab4838f950d2fae9635563b6fc45cf6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyaml_ft-7.0.1-cp313-cp313-musllinux_1_1_x86_64.whl:

Publisher: ci.yaml on Quansight-Labs/pyyaml-ft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyaml_ft-7.0.1-cp313-cp313-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for pyyaml_ft-7.0.1-cp313-cp313-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 38bcfa5cd79f83c776d09403dd21da25dde3d406297def4aa817a149f2a2a337
MD5 466f17b4a87567ba12d55acace9fad2a
BLAKE2b-256 2b5f3ff1ec0424389310d45a6234768df48752d12de8e20b51d02172219f05eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyaml_ft-7.0.1-cp313-cp313-musllinux_1_1_aarch64.whl:

Publisher: ci.yaml on Quansight-Labs/pyyaml-ft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyaml_ft-7.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyyaml_ft-7.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cfa5770752ed40ae98ab8cda33223cad20a6f94907fdf14412f74f0c2e723ece
MD5 8a7a77a42f11ae713a8770faf4a91262
BLAKE2b-256 3ef8141b71063eb66c1f3343063e9afc5082013746ef971ed773a9b51687f97a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyaml_ft-7.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yaml on Quansight-Labs/pyyaml-ft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyaml_ft-7.0.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for pyyaml_ft-7.0.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 ceb3de99bf5dd82504715752e4b1933bf5c0545b0dfc4d9edf846335ad14c96b
MD5 dc068dc5f88b20a3b5689c652a988a1d
BLAKE2b-256 26f88fc4d88cee908975a227dfeb14abd5d5a5798a8f44c347ee144186a782cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyaml_ft-7.0.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl:

Publisher: ci.yaml on Quansight-Labs/pyyaml-ft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyaml_ft-7.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyyaml_ft-7.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2c2dbab63a10f2818969f814783545257c8887714ac0b74070988f147106e01b
MD5 db9bd8089e8ac559ac93a1a037b7a049
BLAKE2b-256 22cfaf4e85035a880b8e9531cf5aa2967ebca995daff6ee9f3dd954a32a37662

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyaml_ft-7.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yaml on Quansight-Labs/pyyaml-ft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyaml_ft-7.0.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyyaml_ft-7.0.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ab77b32f9e120d4c0a3a4142ce4c029ed18c58db18a9b7cddf9e96107006772e
MD5 38b8407aa4f31ad48ef41b43fbf19cec
BLAKE2b-256 2415ef019f66d3346c59dd43f5555e001f7c3d2302ef0100e2d2b40a401ab944

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyaml_ft-7.0.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: ci.yaml on Quansight-Labs/pyyaml-ft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyaml_ft-7.0.1-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyyaml_ft-7.0.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 cbb337bf1acc25b97b93a79416ab32a9176f005c7f98e94f656305ded03a99c8
MD5 83cc0cb2996daa371d407b1b8788ee76
BLAKE2b-256 c9cfefa561b4a6de0220b130c35ce79537d09d640ae2a5104fe8aa7c2ec9a722

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyaml_ft-7.0.1-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: ci.yaml on Quansight-Labs/pyyaml-ft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page