CToon
The fastest implementation of the TOON format — a compact, human-readable serialisation format designed to minimise LLM token usage. Achieves 30-60% token reduction versus JSON while remaining fully readable and structured.
CToon is built on a high-performance C core and exposes the same logic through idiomatic bindings for C++, Python, Go, Rust, Zig, Julia, and MATLAB. The name reflects its foundation: C + TOON.
Format Overview
# JSON (352 bytes) # TOON (165 bytes, -53 %)
{ order:
"order": { id: ORD-12345
"id": "ORD-12345", status: completed
"items": [ customer:
{"product":"Book","qty":2}, name: John Doe
{"product":"Pen","qty":5} email: john@example.com
] items[2]{product,qty}:
} Book,2
} Pen,5
Quick Start
CLI
cmake -B build && cmake --build build
./build/ctoon data.json # JSON -> TOON
./build/ctoon data.toon # TOON -> JSON
cat data.json | ./build/ctoon # stdin -> TOON
C
#include "ctoon.h"
ctoon_doc *doc = ctoon_read("name: Alice\nage: 30", 20, 0);
ctoon_val *root = ctoon_doc_get_root(doc);
ctoon_val *name = ctoon_obj_get(root, "name");
printf("%s\n", ctoon_get_str(name)); /* Alice */
size_t len;
char *toon = ctoon_write(doc, &len); /* caller must free() */
free(toon);
ctoon_doc_free(doc);
/* JSON output (on by default; define CTOON_DISABLE_JSON to turn off) */
char *json = ctoon_doc_to_json(doc, 2, CTOON_WRITE_NOFLAG, NULL, &len, NULL);
free(json);
C++
#include "ctoon.hpp"
/* Parse TOON */
auto doc = ctoon::document::parse("name: Alice\nage: 30");
auto root = doc.root();
std::cout << root["name"].get_str().str() << "\n"; // Alice
std::cout << root["age"].get_uint() << "\n"; // 30
/* Serialise */
std::cout << doc.to_string().c_str() << "\n"; // TOON
std::cout << doc.to_json(2).c_str() << "\n"; // JSON
/* Build a mutable document */
auto mdoc = ctoon::make_document();
auto obj = mdoc.make_obj();
mdoc.set_root(obj);
obj.obj_put(mdoc.make_str("city"), mdoc.make_str("Tehran"));
obj.obj_put(mdoc.make_str("pop"), mdoc.make_uint(9'000'000));
std::cout << mdoc.to_json(0).c_str() << "\n"; // {"city":"Tehran","pop":9000000}
Python
import ctoon
# encode / decode
toon = ctoon.dumps({"name": "Alice", "age": 30})
data = ctoon.loads(toon)
# file I/O
ctoon.dump(data, "out.toon")
data = ctoon.load("out.toon")
# JSON
json_str = ctoon.dumps_json(data, indent=2)
data = ctoon.loads_json(json_str)
Go
import ctoon "github.com/mohammadraziei/ctoon"
// encode / decode
toon, _ := ctoon.Dumps(map[string]interface{}{"name": "Alice", "age": int64(30)})
val, _ := ctoon.Loads(toon)
// file I/O
ctoon.EncodeToFile(data, "out.toon", ctoon.DefaultEncodeOptions())
val, _ = ctoon.DecodeFromFile("out.toon", ctoon.DefaultDecodeOptions())
MATLAB
% Install once (compiles MEX and adds to MATLAB path permanently)
cd src/bindings/matlab
ctoon_install
% Versin / info
ctoon.version
v = ctoon.version
[v, info] = ctoon.version
% Encode / decode
s = ctoon.encode(struct('name', 'Alice', 'age', uint64(30), 'active', true));
v = ctoon.decode(s);
v.name % -> 'Alice'
v.age % -> uint64(30)
v.active % -> true
% Python-style aliases
s = ctoon.dumps(v);
v = ctoon.loads(s);
% File I/O (filename)
ctoon.write(v, 'config.toon');
v = ctoon.read('config.toon');
% File I/O (open fid)
fid = fopen('config.toon', 'w');
ctoon.dump(v, fid);
fclose(fid);
fid = fopen('config.toon', 'r');
v = ctoon.load(fid);
fclose(fid);
MATLAB type mapping:
| MATLAB | TOON |
|---|---|
[] |
null |
logical |
bool |
double scalar |
real |
int64 scalar |
sint |
uint64 scalar |
uint |
char |
str |
cell |
array |
struct |
object |
Requires MATLAB R2014b+ and a C compiler configured for MEX (mex -setup C).
Build
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc) --target ctoon_test # Run all tests
cmake --build build -j$(nproc) --target ctoon_coverage # Generate coverage reports
CMake options
| Option | Default | Description |
|---|---|---|
CTOON_BUILD_TESTS |
ON | Build C and C++ tests |
CTOON_BUILD_PYTHON |
OFF | Build Python extension (nanobind) |
CTOON_BUILD_DOCS |
OFF | Build documentation |
CTOON_BUILD_ALL_LANGS |
OFF | Require every self-building language's toolchain (Go, Rust, Zig, Julia, MATLAB) — error instead of skip if any is missing |
CTOON_BUILD_GO |
OFF | Require the Go toolchain (error instead of skip if missing) |
CTOON_BUILD_RUST |
OFF | Require the Rust toolchain (error instead of skip if missing) |
CTOON_BUILD_ZIG |
OFF | Require the Zig toolchain (error instead of skip if missing) |
CTOON_BUILD_JULIA |
OFF | Require the Julia toolchain (error instead of skip if missing) |
CTOON_BUILD_MATLAB |
OFF | Require the MATLAB toolchain (error instead of skip if missing) |
Go, Rust, Zig, Julia, and MATLAB each compile themselves with their own external
toolchain (go build, cargo, zig build, Julia's Pkg, MEX) rather than through this
project's own CMake graph — the CTOON_BUILD_<LANG> flags above don't
turn on a build step, they change what happens when tests/ or docs/
detect that toolchain is missing: silently skip that language (the
default, useful on a machine with only some toolchains installed), or
fail the configure step outright once you've explicitly opted in.
(benchmarks/ is a separate, standalone CMake project and always
warn-and-skips regardless — its whole point is running whatever it can
find, see benchmarks/README.md.)
JSON support is on by default. Define CTOON_DISABLE_JSON to turn it off. No external JSON library required.
Python package
pip install ctoon
Go module
go get github.com/mohammadraziei/ctoon
Requires Go 1.21+. Uses CGo to call the C core.
Julia package
import Pkg
Pkg.add(url="https://github.com/mohammadraziei/ctoon.git", subdir="src/bindings/julia")
Requires a C compiler on the build host — deps/build.jl compiles the
core directly, no CMake or BinaryBuilder/JLL step. See
src/bindings/julia/README.md for
usage and what's implemented so far.
MATLAB MEX
# Via CMake
cmake -B build -DCTOON_BUILD_MATLAB=ON -DMatlab_ROOT_DIR=/path/to/matlab
cmake --build build --target ctoon_build_mex
# Or directly from MATLAB
cd src/bindings/matlab
ctoon_install % compile + add to path permanently
CLI Reference
# Encode JSON -> TOON
ctoon input.json
ctoon input.json -o output.toon
ctoon input.json --delimiter pipe # comma (default), tab, pipe
ctoon input.json --length-marker # items[#3]: ...
ctoon input.json --stats # show byte savings
# Decode TOON -> JSON
ctoon input.toon
ctoon input.toon -o output.json
ctoon input.toon -i 4 # 4-space JSON indent
# Force format (auto-detected from extension by default)
ctoon -e input.json # force encode
ctoon -d input.toon # force decode
# Stdin
cat data.json | ctoon -e -
cat data.toon | ctoon -d -
C API Reference
Parsing
/* from memory */
ctoon_doc *ctoon_read(const char *toon, size_t len, ctoon_read_flag flags);
ctoon_doc *ctoon_read_opts(char *toon, size_t len, ctoon_read_flag flags,
const ctoon_alc *alc, ctoon_read_err *err);
ctoon_doc *ctoon_read_opts_indent(char *toon, size_t len, ctoon_read_flag flags,
int indent_size, const ctoon_alc *alc,
ctoon_read_err *err);
/* from file */
ctoon_doc *ctoon_read_file(const char *path, ctoon_read_flag flags,
const ctoon_alc *alc, ctoon_read_err *err);
/* from JSON */
ctoon_doc *ctoon_read_json(char *json, size_t len, ctoon_read_flag flags,
const ctoon_alc *alc, ctoon_read_err *err);
ctoon_doc *ctoon_read_json_file(const char *path, ctoon_read_flag flags,
const ctoon_alc *alc, ctoon_read_err *err);
Writing
/* TOON output */
char *ctoon_write(const ctoon_doc *doc, size_t *len);
char *ctoon_write_opts(const ctoon_doc *doc, const ctoon_write_options *opts,
const ctoon_alc *alc, size_t *len, ctoon_write_err *err);
char *ctoon_mut_write(const ctoon_mut_doc *doc, size_t *len);
/* JSON output */
char *ctoon_doc_to_json(const ctoon_doc *doc, int indent,
ctoon_write_flag flags, const ctoon_alc *alc,
size_t *len, ctoon_write_err *err);
Access
/* document */
ctoon_val *ctoon_doc_get_root(const ctoon_doc *doc);
void ctoon_doc_free(ctoon_doc *doc);
/* type checks */
bool ctoon_is_null(ctoon_val *v); bool ctoon_is_bool(ctoon_val *v);
bool ctoon_is_true(ctoon_val *v); bool ctoon_is_false(ctoon_val *v);
bool ctoon_is_uint(ctoon_val *v); bool ctoon_is_sint(ctoon_val *v);
bool ctoon_is_real(ctoon_val *v); bool ctoon_is_str(ctoon_val *v);
bool ctoon_is_arr(ctoon_val *v); bool ctoon_is_obj(ctoon_val *v);
/* getters */
const char *ctoon_get_str(ctoon_val *v);
uint64_t ctoon_get_uint(ctoon_val *v);
int64_t ctoon_get_sint(ctoon_val *v);
double ctoon_get_real(ctoon_val *v);
bool ctoon_get_bool(ctoon_val *v);
/* array */
size_t ctoon_arr_size(ctoon_val *arr);
ctoon_val *ctoon_arr_get(ctoon_val *arr, size_t idx); /* O(1) */
/* object */
size_t ctoon_obj_size(ctoon_val *obj);
ctoon_val *ctoon_obj_get(ctoon_val *obj, const char *key);
/* iteration */
ctoon_obj_iter ctoon_obj_iter_with(ctoon_val *obj);
ctoon_val *ctoon_obj_iter_next(ctoon_obj_iter *iter);
ctoon_val *ctoon_obj_iter_get_val(ctoon_val *key);
Mutable documents
ctoon_mut_doc *ctoon_mut_doc_new(const ctoon_alc *alc);
void ctoon_mut_doc_free(ctoon_mut_doc *doc);
void ctoon_mut_doc_set_root(ctoon_mut_doc *doc, ctoon_mut_val *root);
ctoon_mut_val *ctoon_mut_null(ctoon_mut_doc *doc);
ctoon_mut_val *ctoon_mut_bool(ctoon_mut_doc *doc, bool val);
ctoon_mut_val *ctoon_mut_uint(ctoon_mut_doc *doc, uint64_t val);
ctoon_mut_val *ctoon_mut_sint(ctoon_mut_doc *doc, int64_t val);
ctoon_mut_val *ctoon_mut_real(ctoon_mut_doc *doc, double val);
ctoon_mut_val *ctoon_mut_str(ctoon_mut_doc *doc, const char *str);
ctoon_mut_val *ctoon_mut_arr(ctoon_mut_doc *doc);
ctoon_mut_val *ctoon_mut_obj(ctoon_mut_doc *doc);
bool ctoon_mut_arr_append(ctoon_mut_val *arr, ctoon_mut_val *item);
bool ctoon_mut_obj_put(ctoon_mut_val *obj, ctoon_mut_val *key, ctoon_mut_val *val);
/* convert between immutable and mutable */
ctoon_mut_doc *ctoon_doc_mut_copy(ctoon_doc *doc, const ctoon_alc *alc);
ctoon_doc *ctoon_mut_doc_imut_copy(ctoon_mut_doc *doc, const ctoon_alc *alc);
Complexity
| Operation | Time | Notes |
|---|---|---|
ctoon_read / ctoon_read_json |
O(n) | n = input bytes |
ctoon_write / ctoon_doc_to_json |
O(n) | zero extra copy for immutable doc |
ctoon_arr_get(arr, i) |
O(1) | direct index into flat arena |
ctoon_obj_get(obj, key) |
O(k) | linear scan; k = key count |
ctoon_doc_free |
O(chunks) ~= O(1) | arena freed in one shot |
Thread Safety
| Scenario | Safe? |
|---|---|
| Multiple threads reading different documents | Yes |
| Multiple threads reading the same document | Yes |
| Building a document from multiple threads | No — arena not thread-safe |
Requirements
| Component | Requirement |
|---|---|
| C core | C99, no dependencies |
| C++ binding | C++11, header-only |
| Python binding | Python 3.9+, nanobind >= 2.0, CMake 3.19+ |
| Go binding | Go 1.21+, CGo |
| Rust binding | Rust 1.70+ |
| Zig binding | Zig 0.16.0+ |
| Julia binding | Julia 1.7+, C compiler |
| MATLAB binding | MATLAB R2014b+, C compiler for MEX |
| CLI | C++17 |
License
MIT — see LICENSE.
Related
- toon-format/toon — the TOON format specification
Metadata
Release files for ctoon 0.8.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ctoon-0.8.1.tar.gz | 865.1 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| ctoon-0.8.1-cp312-abi3-win_amd64.whl | CPython 3.12 | abi3 | Windows x86-64 | Details |
| ctoon-0.8.1-cp312-abi3-win32.whl | CPython 3.12 | abi3 | Windows x86-32 | Details |
| ctoon-0.8.1-cp312-abi3-musllinux_1_2_x86_64.whl | CPython 3.12 | abi3 | Linux musl 1.2+ x86-64 | Details |
| ctoon-0.8.1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | abi3 | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
| ctoon-0.8.1-cp312-abi3-macosx_10_13_universal2.whl | CPython 3.12 | abi3 | macOS 10.13+ universal2 (ARM64, x86-64) | Details |
| ctoon-0.8.1-cp311-cp311-win_amd64.whl | CPython 3.11 | CPython 3.11 | Windows x86-64 | Details |
| ctoon-0.8.1-cp311-cp311-win32.whl | CPython 3.11 | CPython 3.11 | Windows x86-32 | Details |
| ctoon-0.8.1-cp311-cp311-musllinux_1_2_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux musl 1.2+ x86-64 | Details |
| ctoon-0.8.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| ctoon-0.8.1-cp311-cp311-macosx_10_13_universal2.whl | CPython 3.11 | CPython 3.11 | macOS 10.13+ universal2 (ARM64, x86-64) | Details |
| ctoon-0.8.1-cp310-cp310-win_amd64.whl | CPython 3.10 | CPython 3.10 | Windows x86-64 | Details |
| ctoon-0.8.1-cp310-cp310-win32.whl | CPython 3.10 | CPython 3.10 | Windows x86-32 | Details |
| ctoon-0.8.1-cp310-cp310-musllinux_1_2_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux musl 1.2+ x86-64 | Details |
| ctoon-0.8.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| ctoon-0.8.1-cp310-cp310-macosx_10_13_universal2.whl | CPython 3.10 | CPython 3.10 | macOS 10.13+ universal2 (ARM64, x86-64) | Details |
| ctoon-0.8.1-cp39-cp39-win_amd64.whl | CPython 3.9 | CPython 3.9 | Windows x86-64 | Details |
| ctoon-0.8.1-cp39-cp39-win32.whl | CPython 3.9 | CPython 3.9 | Windows x86-32 | Details |
| ctoon-0.8.1-cp39-cp39-musllinux_1_2_x86_64.whl | CPython 3.9 | CPython 3.9 | Linux musl 1.2+ x86-64 | Details |
| ctoon-0.8.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.9 | CPython 3.9 | Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| ctoon-0.8.1-cp39-cp39-macosx_10_13_universal2.whl | CPython 3.9 | CPython 3.9 | macOS 10.13+ universal2 (ARM64, x86-64) | Details |
Total release size: 14.9 MB
Release files / ctoon-0.8.1.tar.gz
| Download URL | ctoon-0.8.1.tar.gz |
|---|---|
| Size | 865.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a29e1a3180b90a51e6c684c109f4ab1612d881d2f67d55828d35ee685c35f89f
|
|
BLAKE2b-256 checksum How to use checksums |
7093e5e8b0e6d8a3454e95a15fa12c862b1a3d0c08a0a20b84bb7cbaff7fcc58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp312-abi3-win_amd64.whl
| Download URL | ctoon-0.8.1-cp312-abi3-win_amd64.whl |
|---|---|
| Size | 324.2 kB |
| Tags | CPython 3.12 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
4e9fcd82acb33af898d432d645435c2431435b9ffce238b3251e7375380804f4
|
|
BLAKE2b-256 checksum How to use checksums |
ca89336616825912ec55dea0541838bef25915df5e9cc28ebda2e18aa0e7d942
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp312-abi3-win32.whl
| Download URL | ctoon-0.8.1-cp312-abi3-win32.whl |
|---|---|
| Size | 300.4 kB |
| Tags | CPython 3.12 Windows x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
b7ce115509cc6a31b3b218c3531e986958fbbaa5708522878578ecd6d8118a1c
|
|
BLAKE2b-256 checksum How to use checksums |
f0393cbab8abc36a0259c3af063ae74e8ad689fd9aa243d9685a1956df8be1a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp312-abi3-musllinux_1_2_x86_64.whl
| Download URL | ctoon-0.8.1-cp312-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
a1760968b50c3acede4d2d0d1c0c0a9cbbfe89d8abe55d8da9c97a241e1e31d0
|
|
BLAKE2b-256 checksum How to use checksums |
1ca31542cce7974a6e011827969356f921364bf8c1046049d9e03b84bb7c4ecd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ctoon-0.8.1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 421.5 kB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
c00de97a74e775943244056dabec906658ebaacb7552644fde3f335c57ab2627
|
|
BLAKE2b-256 checksum How to use checksums |
f84ccab0f84810abd4c5556feb5201d45edc2781525623665b825d883bf7f9ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp312-abi3-macosx_10_13_universal2.whl
| Download URL | ctoon-0.8.1-cp312-abi3-macosx_10_13_universal2.whl |
|---|---|
| Size | 618.7 kB |
| Tags | CPython 3.12 abi3 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
1153a99af9bb75b18580fb701624d78ed9345cd431ea1cac3aafabe21e19f034
|
|
BLAKE2b-256 checksum How to use checksums |
e76a019b1b0a861d64ecfba2e60e4f0291f5a55d9678429e1838c7d868b979d0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp311-cp311-win_amd64.whl
| Download URL | ctoon-0.8.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 324.5 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d0f9f5bb5e46403ef4f52543ce08e0c690dce956c6664a41989452b285bfbdd3
|
|
BLAKE2b-256 checksum How to use checksums |
7041aa4bc6532782b3f7859cf75c5cfc53b04fffa1d3e67bb5c7e7f06ce53d12
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp311-cp311-win32.whl
| Download URL | ctoon-0.8.1-cp311-cp311-win32.whl |
|---|---|
| Size | 301.1 kB |
| Tags | CPython 3.11 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
86163c00d5e99765710e665322fccf3ba990d51c76b2e0131d311939ac0f757b
|
|
BLAKE2b-256 checksum How to use checksums |
48232ef9707301ed82047e64ee3653015c69cb46f3f794788a0baa5630429317
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | ctoon-0.8.1-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
33ef90c3b99738cc61438d55c99bc2f53ca742d412d6ca1866b3c96fdda9ad54
|
|
BLAKE2b-256 checksum How to use checksums |
d66e9e441aeebba46b398a6335c46843c674893e67a2c71a47e22c2136f312e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ctoon-0.8.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 426.0 kB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
7ef0ea70bf4f2f0193e0d75e745f77766a56f2749c9064ff88212f2236e5694f
|
|
BLAKE2b-256 checksum How to use checksums |
dcc2c4a6066a141fe073af2805156101567e8ab555b348027d6dfea71eb76b97
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp311-cp311-macosx_10_13_universal2.whl
| Download URL | ctoon-0.8.1-cp311-cp311-macosx_10_13_universal2.whl |
|---|---|
| Size | 622.6 kB |
| Tags | CPython 3.11 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
49f2c1f5e0a158aa396cce92b6c83b85d7487d86998d4038c768d339bec257e5
|
|
BLAKE2b-256 checksum How to use checksums |
1f2e004ffd67aff095a0a3abb5de0eab08e4c87bacf97cc12ce7e3cc4bac3ec4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp310-cp310-win_amd64.whl
| Download URL | ctoon-0.8.1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 324.1 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
78ae5b3d70d9006c08c1d5b665cb9f54d3f2c2f0d6e9ef26639e0bce17259a40
|
|
BLAKE2b-256 checksum How to use checksums |
b7a5a8814328410f999520fdfcc57ec0140d94be541dbaee1929da7173862e2c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp310-cp310-win32.whl
| Download URL | ctoon-0.8.1-cp310-cp310-win32.whl |
|---|---|
| Size | 300.8 kB |
| Tags | CPython 3.10 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
f49af8bd6c9dd74c849508a59801b1e7ad024581365046c9864df9600d8d672e
|
|
BLAKE2b-256 checksum How to use checksums |
3a4cfa80e64876419472ad9de7e02c768201cda3214cbd4134786eb156eaf094
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | ctoon-0.8.1-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
b84465308aa192df8fd8ded042bf939ef2ed9344aea407128567cf84cfb4c7cd
|
|
BLAKE2b-256 checksum How to use checksums |
af2ee8e32e330e0161ff51121b4561851d45f34f222ea964e532cc2d8ad8ba45
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ctoon-0.8.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 425.4 kB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1d2fae8a18c2fc4942bfbf9f5ce6f1c7835e2dcca2a65761c4dafb8537be6462
|
|
BLAKE2b-256 checksum How to use checksums |
1571fbfe34ba53f3fb16f58acbeb4cbb38fe0bf22ca614ba204662b18b924988
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp310-cp310-macosx_10_13_universal2.whl
| Download URL | ctoon-0.8.1-cp310-cp310-macosx_10_13_universal2.whl |
|---|---|
| Size | 621.2 kB |
| Tags | CPython 3.10 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
dfd89fee669e39e9f855eb590985772c2ebcc7588cad36ec697bfed562b27d80
|
|
BLAKE2b-256 checksum How to use checksums |
943811930761fa04f2d9154bcd488fcb97dbb7bc93dfc162e8bc89fa75b612f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp39-cp39-win_amd64.whl
| Download URL | ctoon-0.8.1-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 297.4 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
99f682d341967d5299bcf5daed03b7953ebb9752133711eab41e2dd203254bdb
|
|
BLAKE2b-256 checksum How to use checksums |
af283efeb9722687e9beec5c8d50c1b30f46449645a9a7f15aa5cdf4577f9135
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp39-cp39-win32.whl
| Download URL | ctoon-0.8.1-cp39-cp39-win32.whl |
|---|---|
| Size | 275.9 kB |
| Tags | CPython 3.9 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
ea558ba06b2e3b2124bfb13c1a6d4b8700b70588819c38dec49881ba1eeee39b
|
|
BLAKE2b-256 checksum How to use checksums |
70b4abcd2747524b1321cc3a0f2d689e24d70ceb36a8a15b7d23b240148d6730
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp39-cp39-musllinux_1_2_x86_64.whl
| Download URL | ctoon-0.8.1-cp39-cp39-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
ba6649dcb808c703c2cc42f2b261de6ad00c5964cbce106aa4f3d02cb3a97efa
|
|
BLAKE2b-256 checksum How to use checksums |
e9c24773ba6bd31111bc45a71bb179ad49b71956a345a544a4b7e714cef6486d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ctoon-0.8.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 418.5 kB |
| Tags | CPython 3.9 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1a9daf5a374d21b36bf41411c3b2e69cf5cf7d47a2162aee931d13eb527fb0b8
|
|
BLAKE2b-256 checksum How to use checksums |
901758c61e9b5aca454dfa0f9f49e6f470297c17dbc28312373de140612aa9f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.1-cp39-cp39-macosx_10_13_universal2.whl
| Download URL | ctoon-0.8.1-cp39-cp39-macosx_10_13_universal2.whl |
|---|---|
| Size | 604.3 kB |
| Tags | CPython 3.9 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
041b4060ae9cc87771b5276db36ce45a24f199de504341cb9fbe9a663d9205f0
|
|
BLAKE2b-256 checksum How to use checksums |
76c24f889de948d080c7a8ff84059e077de2bd9cda21418051c68a13d66a4fab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|