Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

msgspec-toon

TOON (Token-Oriented Object Notation) is a line-oriented text format that reduces repeated keys in uniform JSON-shaped data.

msgspec is a high-performance serialization and validation library whose typed Struct objects are a faster, lighter alternative to Pydantic models.

msgspec-toon is a native TOON 4.1 codec for Python. It decodes TOON text directly into msgspec.Struct objects. It does not build an intermediate dict and list tree.

Use it when tabular data must fit in a language model context window, but the application still needs typed Python objects and fast in-process conversion.

This is a beta release. The project passes the pinned TOON 4.1.1 corpus, but it does not yet support every type that msgspec.json supports.

Install

Install the public beta from PyPI:

uv add msgspec-toon

The package requires Python 3.13 or newer. Its only runtime dependency is the exact pin msgspec==0.21.1. Benchmark codecs and tokenizers are optional development dependencies. They are not installed with the library.

Decode TOON into a Struct

import msgspec
import msgspec_toon as toon


class Metadata(msgspec.Struct, frozen=True):
    alias: str
    region: str


class Worker(msgspec.Struct, frozen=True):
    pid: int
    provider: str
    metadata: Metadata


class Document(msgspec.Struct, frozen=True):
    workers: list[Worker]


wire = b"""workers[2]{pid,provider,metadata{alias,region}}:
  9007199254740993,claude,worker-a,west
  80916,claude,worker-b,east"""

decoder = toon.Decoder(Document)
document = decoder.decode(wire)

assert isinstance(document, Document)
assert document.workers[0].pid == 9007199254740993
assert toon.encode(document) == wire

The parser uses the target type while it reads the input. It constructs the final Struct objects directly. The G2 allocation proof records zero temporary built-in dictionaries and lists for this path.

Read and write TOON files

The codec accepts bytes, bytearray, memoryview, or str. Encoding returns bytes, so normal Python file APIs work without an adapter.

from pathlib import Path

import msgspec_toon as toon


source = Path("workers.toon")
target = Path("workers-copy.toon")

decoder = toon.Decoder(Document)
encoder = toon.Encoder()

value = decoder.decode(source.read_bytes())
target.write_bytes(encoder.encode(value))

The conversion itself does not open files, sockets, or subprocesses. Your application controls all I/O.

Use untyped values

Omit type when you need normal Python dictionaries and lists:

value = toon.decode(b"name: ada\nactive: true")
wire = toon.encode(value)

The public surface follows msgspec.json where support exists:

  • encode and decode
  • reusable Encoder and Decoder
  • enc_hook and dec_hook
  • strict decoding by default
  • msgspec-compatible encode, decode, and validation errors

The encoder can use one through 16 spaces per indentation level. The decoder default is two spaces. If you select another width, the producer and consumer must use the same setting:

wire = toon.encode(value, delimiter="\t", indent=1)
toon.decode(wire, indent_size=1)

If they do not match, the decode error reports the observed leading-space count and tells the caller to pass the matching indent_size. Using indent=1 can reduce tokens in nested documents, but it makes the width an out-of-band pipeline setting. Payload shape still decides whether TOON uses fewer tokens than compact JSON.

Decode accepts a leading UTF-8 byte order mark, Windows CRLF line endings, and a final newline. These inputs normalize only while reading; encoding does not emit a byte order mark.

The functional and reusable decoders both accept float_hook:

from decimal import Decimal

value = toon.decode(b"1.25", float_hook=Decimal)
decoder = toon.Decoder(float_hook=Decimal)

assert value == decoder.decode(b"1.25") == Decimal("1.25")

Typed encode and decode support these msgspec-native values:

  • datetime, date, time, and timedelta
  • UUID
  • Decimal
  • string Enum and integer Enum

The encoder normalizes these values before it calls enc_hook. Decimal values keep all their digits and trailing zeroes. Typed decode constructs each value without a built-in container tree.

from decimal import Decimal
from uuid import UUID

toon.encode(Decimal("1.2300"))
# b'"1.2300"'

toon.encode(Decimal("1.2300"), decimal_format="number")
# b'1.2300'

toon.encode(UUID("12345678-1234-5678-1234-567812345678"), uuid_format="hex")
# b'"12345678123456781234567812345678"'

TOON 4.1 uses one canonical spelling for whole numbers. Thus, the encoder writes 1.0 as 1. It writes -0.0 as 0, as required by the official fixtures.

An untyped decode returns an int for these values. A typed float decode returns a float, but it cannot recover the sign of -0.0 because the sign is not on the wire.

The codec does not implement sorted or deterministic output. Both encoder entry points raise NotImplementedError for these order values. They never ignore an accepted option.

Typed decode supports recursive Structs, array-like Structs, tagged Struct unions in both object and positional forms, object as an open value, unions of bool, int, float, and str, native scalar values, and permissive scalar conversion. object uses the same requested open-value path as Any; it does not add an intermediate tree around a typed value. Scalar unions select an exact wire category before a widening conversion, matching msgspec when types overlap.

For a tagged array_like Struct, position zero is the discriminator and the declared fields follow it. A Struct union must use one shape throughout: mixing object-form and array-like Struct variants fails during plan construction. Set strict=False to accept the same bool, integer, and float string conversions as msgspec 0.21.1. Strict mode stays the default.

Other multi-member unions remain explicit plan errors. Use a tagged Struct union for object variants. Use object or Any when the value shape is intentionally open.

Non-string mapping keys are intentionally rejected in 0.3.0b1. See the mapping-key policy.

Why not wrap another TOON codec?

A wrapper must first convert a Struct into built-in containers. Typed decode must parse a built-in tree and then call msgspec.convert. Those extra trees can cost more than the codec work.

Project Format target Typed msgspec path Integration model
msgspec-toon TOON 4.1.1 corpus Direct Struct encode and decode Native, in process
toon-rust TOON 3.0 No Python msgspec path Rust library and CLI
toons 0.7.0 Earlier TOON grammar Built-in tree Python Rust extension
python-toon 0.1.3 Earlier TOON grammar to_builtins / convert Pure Python and CLI

TOON 4 nested field groups are important. They let a uniform nested record use one tabular header:

workers[2]{pid,provider,metadata{alias,region}}:
  20324,claude,worker-a,west
  80916,claude,worker-b,east

Older encoders can fall back to a larger entry form for the same data.

Tokens and speed

Empirical speed-token Pareto set

The figure shows absolute end-to-end time against absolute o200k_base token count. Pareto status is calculated separately for each payload shape and record count. Lines connect the same implementation across record counts. They show workload scaling, not an unmeasured continuous Pareto curve.

The generated benchmark report also publishes the detailed axes:

  • Direct encode, decode, and total time for each measured codec.
  • Absolute token counts, including compact JSON, under tiktoken o200k_base.

The report crosses four payload shapes with four record counts. Canonical TOON uses more tokens than compact JSON for the measured irregular shapes.

All timing rows come from one session and one release build. The estimator is the mean across ten independent worker processes. It never reports the minimum. Against v0.2.0b5, the 0.3.0b1 release guard found entry decode 9-24% faster, keyed decode 9-11% faster, and entry encode 11-15% faster. Its 2-8% untyped decode gain covered only uniform tabular records; it missed slower nested and irregular records. 0.3.0b2 adds both shapes to the permanent gate. Against 0.3.0b1, nested records are neutral at -1.1% with a 2.1% minimum detectable effect, and irregular records are 9.0% faster. These are direct time comparisons, not ratios to an arbitrary reference row. The raw evidence is in the conformance/report.json file.

Conformance and safety

  • All 538 pinned TOON 4.1.1 fixtures pass in both directions.
  • Typed decode creates no intermediate built-in container tree.
  • Integers keep Python precision and do not route through float.
  • Errors contain coordinates and static messages, never input payload text.
  • Malformed input must return an error. It must not panic or terminate Python.
  • Canonical output is byte-locked by tests.

The generated support matrix in the conformance/report.json file lists supported, rejected, and not-yet-supported msgspec features. Unsupported behavior fails clearly. It does not silently return a different value.

Optional msgspec Struct fast path

The stock package reads Struct fields through msgspec's public Python attributes. This is the compatible path for msgspec==0.21.1.

The repository also contains a versioned Struct-access capsule proposal for msgspec. You can build the same codec against that patch in an isolated environment:

make fastpath-build
make fastpath-check
make fastpath-bench
.venv-fastpath/bin/python

This workflow fetches a hash-pinned msgspec commit, applies the preserved patch, and builds both release wheels. It does not modify the normal .venv. The build fails unless the capsule path is active. Published wheels do not depend on the unreleased API.

Develop and reproduce

Use uv for all Python environment work:

uv sync --locked                         # library and developer tools
make build                              # release extension in .venv
make check                              # Rust and Python checks
make qualify                            # canonical release gate and evidence
uv run python conformance/run.py        # pinned 538-fixture corpus
make g2                                 # allocation proof in a separate build

uv sync --group bench --locked           # opt in to benchmark packages
make bench                              # same-run codec and typed ladders
make public-report                      # raw JSON, R charts, and BENCHMARKS.md

make public-report uses the host Rscript, ggplot2, jsonlite, and scales. It does not install R or add R packages to the Python environment. The release guide documents installed-artifact verification and Trusted Publishing.

License

MIT

Metadata

Release files for msgspec-toon 0.3.0b2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for msgspec-toon 0.3.0b2
File Size Uploaded
msgspec_toon-0.3.0b2.tar.gz 80.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for msgspec-toon 0.3.0b2
File
msgspec_toon-0.3.0b2-cp314-cp314t-win_arm64.whl CPython 3.14 CPython 3.14 free-threading Windows ARM64 Details
msgspec_toon-0.3.0b2-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
msgspec_toon-0.3.0b2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details
msgspec_toon-0.3.0b2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Details
msgspec_toon-0.3.0b2-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
msgspec_toon-0.3.0b2-cp314-cp314t-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64 Details
msgspec_toon-0.3.0b2-cp313-abi3-win_arm64.whl CPython 3.13 abi3 Windows ARM64 Details
msgspec_toon-0.3.0b2-cp313-abi3-win_amd64.whl CPython 3.13 abi3 Windows x86-64 Details
msgspec_toon-0.3.0b2-cp313-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 abi3 Linux glibc 2.17+ x86-64 Details
msgspec_toon-0.3.0b2-cp313-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 abi3 Linux glibc 2.17+ ARM64 Details
msgspec_toon-0.3.0b2-cp313-abi3-macosx_11_0_arm64.whl CPython 3.13 abi3 macOS 11.0+ ARM64 Details
msgspec_toon-0.3.0b2-cp313-abi3-macosx_10_12_x86_64.whl CPython 3.13 abi3 macOS 10.12+ x86-64 Details

Total release size: 4.3 MB

Release files / msgspec_toon-0.3.0b2.tar.gz

Download URL msgspec_toon-0.3.0b2.tar.gz
Size 80.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d0f5f8e96f447728dd8de01d2db17198b68fdf0c8650bfeef31a2d22df3c57fc
BLAKE2b-256 checksum
How to use checksums
ad8af529fca6e7f6f4156f531f9dabd65614bfbb8490ca6caaba31f2a04ff6a7
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 Aug 13, 2026.

Transparency log

Release files / msgspec_toon-0.3.0b2-cp314-cp314t-win_arm64.whl

Download URL msgspec_toon-0.3.0b2-cp314-cp314t-win_arm64.whl
Size 298.4 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
0db4f402d77ed3f844bd1ad0981bf52e573512e44e516085298a31d1263ccdf6
BLAKE2b-256 checksum
How to use checksums
035c53276bf6e9407939fcd89edb6e99c415518240174cb7d8ba38b1d4681871
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 Aug 13, 2026.

Transparency log

Release files / msgspec_toon-0.3.0b2-cp314-cp314t-win_amd64.whl

Download URL msgspec_toon-0.3.0b2-cp314-cp314t-win_amd64.whl
Size 309.3 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
d5fa8e3759621519f0095128aa59095761b34e6d6f69809cf0c9ef806ec79779
BLAKE2b-256 checksum
How to use checksums
fff1bc6e29d348acaf6568beb2e4b62768ec8857aabab722ffab63a72920ff9a
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 Aug 13, 2026.

Transparency log

Release files / msgspec_toon-0.3.0b2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL msgspec_toon-0.3.0b2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 399.4 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
815555837c70ef962faeab555572844f9a3d3a066061d89a6f5d90b2efd2a276
BLAKE2b-256 checksum
How to use checksums
6ffa78c22c61408152e6c12f30e960b6fb71a6280e24a034cd2014fc86074675
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 Aug 13, 2026.

Transparency log

Release files / msgspec_toon-0.3.0b2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL msgspec_toon-0.3.0b2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 379.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
3fc2794330172fc0a2699b0c628e3582236f427e688d0a44e03c1cd8040c994c
BLAKE2b-256 checksum
How to use checksums
a2240adfbfc1d2051a33fa6b53b54f549a29ec4ac8a7bb78fb261bf7cc112ff7
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 Aug 13, 2026.

Transparency log

Release files / msgspec_toon-0.3.0b2-cp314-cp314t-macosx_11_0_arm64.whl

Download URL msgspec_toon-0.3.0b2-cp314-cp314t-macosx_11_0_arm64.whl
Size 363.8 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
09dfc964623d8adb0ec186bff4b9c4e410438a2fe20d5e0f17ade318e13af69f
BLAKE2b-256 checksum
How to use checksums
77b494b276c652c6478f92f0891ab4ce84a34c106b20d23d54e220ad76515abc
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 Aug 13, 2026.

Transparency log

Release files / msgspec_toon-0.3.0b2-cp314-cp314t-macosx_10_12_x86_64.whl

Download URL msgspec_toon-0.3.0b2-cp314-cp314t-macosx_10_12_x86_64.whl
Size 379.6 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
767384e350c06ee9517ebca16c67946621ad373702ae5f6b9d6169cde004d892
BLAKE2b-256 checksum
How to use checksums
58c05b64d6e0e5f0da5116b7573aad8ed6aad68ff56c275c82335644a4af0162
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 Aug 13, 2026.

Transparency log

Release files / msgspec_toon-0.3.0b2-cp313-abi3-win_arm64.whl

Download URL msgspec_toon-0.3.0b2-cp313-abi3-win_arm64.whl
Size 298.8 kB
Tags CPython 3.13 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
9c11b154d1a12a58ec4cb33ad9288e7e2f87bf4e5c37ed6ae4f5da86effd0827
BLAKE2b-256 checksum
How to use checksums
12b3bf839ba8f9f4af5941a049fcac3c6fecd14e0b337e1ee0f72ecb688ff44e
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 Aug 13, 2026.

Transparency log

Release files / msgspec_toon-0.3.0b2-cp313-abi3-win_amd64.whl

Download URL msgspec_toon-0.3.0b2-cp313-abi3-win_amd64.whl
Size 309.4 kB
Tags CPython 3.13 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
df85a9a8a842ab6b64043d0020e6b57fec4d65b8fc03e8e8f747f7c1fb9f5ba1
BLAKE2b-256 checksum
How to use checksums
af51fb348d64131f2a88e95ebfea3d7d8eec3c013306a41233025be5b0a493a7
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 Aug 13, 2026.

Transparency log

Release files / msgspec_toon-0.3.0b2-cp313-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL msgspec_toon-0.3.0b2-cp313-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 399.0 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
d7c5d3dd396fe765948f62405205e575c225f54b1f863b260e8be3fc14d9642d
BLAKE2b-256 checksum
How to use checksums
bd7b225560777bd091cd5bc4595f6949cbf7947e8db47ce4df929f50b574e685
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 Aug 13, 2026.

Transparency log

Release files / msgspec_toon-0.3.0b2-cp313-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL msgspec_toon-0.3.0b2-cp313-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 380.2 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
da957045bc2ebc9e435564631e558e72e293a4716f1eec603e8a0a3646eb795a
BLAKE2b-256 checksum
How to use checksums
ecc8c30b3617acb81d204ea1af2bcf84774b73f9e7365afd4ffb59684d6baac7
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 Aug 13, 2026.

Transparency log

Release files / msgspec_toon-0.3.0b2-cp313-abi3-macosx_11_0_arm64.whl

Download URL msgspec_toon-0.3.0b2-cp313-abi3-macosx_11_0_arm64.whl
Size 364.4 kB
Tags CPython 3.13 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
978435c2bbda480c48af204ffaa8ad94fc372d26aa705fb7f4ded68ffccb03d6
BLAKE2b-256 checksum
How to use checksums
b192a8684e49e3d4f9a2541477e054eb6235e8a25611f10f066ec0a8544b4392
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 Aug 13, 2026.

Transparency log

Release files / msgspec_toon-0.3.0b2-cp313-abi3-macosx_10_12_x86_64.whl

Download URL msgspec_toon-0.3.0b2-cp313-abi3-macosx_10_12_x86_64.whl
Size 380.4 kB
Tags CPython 3.13 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
2a44a9767be7f2a6850f7c11e5548942d1d0d03314fa6c10f7ec10f3c41f615b
BLAKE2b-256 checksum
How to use checksums
18bfa4ac2d4851d668c0262f257b428e4c84fe879b77e6d514dc0e64ad53b2ca
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 Aug 13, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page