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, 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, 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_MATLAB |
OFF | Require the MATLAB toolchain (error instead of skip if missing) |
Go, Rust, Zig, and MATLAB each compile themselves with their own external
toolchain (go build, cargo, zig build, 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.
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+ |
| 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.7.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 | |
|---|---|---|---|
| ctoon-0.7.0.tar.gz | 782.7 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| ctoon-0.7.0-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details |
| ctoon-0.7.0-cp312-cp312-win32.whl | CPython 3.12 | CPython 3.12 | Windows x86-32 | Details |
| ctoon-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux musl 1.2+ x86-64 | Details |
| ctoon-0.7.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| ctoon-0.7.0-cp312-cp312-macosx_10_13_universal2.whl | CPython 3.12 | CPython 3.12 | macOS 10.13+ universal2 (ARM64, x86-64) | Details |
| ctoon-0.7.0-cp311-cp311-win_amd64.whl | CPython 3.11 | CPython 3.11 | Windows x86-64 | Details |
| ctoon-0.7.0-cp311-cp311-win32.whl | CPython 3.11 | CPython 3.11 | Windows x86-32 | Details |
| ctoon-0.7.0-cp311-cp311-musllinux_1_2_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux musl 1.2+ x86-64 | Details |
| ctoon-0.7.0-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.7.0-cp311-cp311-macosx_10_13_universal2.whl | CPython 3.11 | CPython 3.11 | macOS 10.13+ universal2 (ARM64, x86-64) | Details |
| ctoon-0.7.0-cp310-cp310-win_amd64.whl | CPython 3.10 | CPython 3.10 | Windows x86-64 | Details |
| ctoon-0.7.0-cp310-cp310-win32.whl | CPython 3.10 | CPython 3.10 | Windows x86-32 | Details |
| ctoon-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux musl 1.2+ x86-64 | Details |
| ctoon-0.7.0-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.7.0-cp310-cp310-macosx_10_13_universal2.whl | CPython 3.10 | CPython 3.10 | macOS 10.13+ universal2 (ARM64, x86-64) | Details |
| ctoon-0.7.0-cp39-cp39-win_amd64.whl | CPython 3.9 | CPython 3.9 | Windows x86-64 | Details |
| ctoon-0.7.0-cp39-cp39-win32.whl | CPython 3.9 | CPython 3.9 | Windows x86-32 | Details |
| ctoon-0.7.0-cp39-cp39-musllinux_1_2_x86_64.whl | CPython 3.9 | CPython 3.9 | Linux musl 1.2+ x86-64 | Details |
| ctoon-0.7.0-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.7.0-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.8 MB
Release files / ctoon-0.7.0.tar.gz
| Download URL | ctoon-0.7.0.tar.gz |
|---|---|
| Size | 782.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c6745bc76a9a1fff41aa62fd8ad555efe925a1596b904ce953948e10fb6adbc0
|
|
BLAKE2b-256 checksum How to use checksums |
3312dbb632553efa98ae38e4797d7935a48594117498d5f611588c8dc5fd5b24
|
| 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.7.0-cp312-cp312-win_amd64.whl
| Download URL | ctoon-0.7.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 323.1 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b4c28bade0655eda5daec826b7f8a4178350970a5bc45e6ab9bc17a060fcfaba
|
|
BLAKE2b-256 checksum How to use checksums |
5f0b96d748672a413f6e79744f200f47739f1e4115c4eb33034c74e5abe92d55
|
| 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.7.0-cp312-cp312-win32.whl
| Download URL | ctoon-0.7.0-cp312-cp312-win32.whl |
|---|---|
| Size | 299.2 kB |
| Tags | CPython 3.12 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
453ee94b4f4d432b5279ab6b8c1b4919609d4c6fc97247a02ce45e99da99fd64
|
|
BLAKE2b-256 checksum How to use checksums |
55d4f806d7a4d0c97f55bc4a467711b288b3dfcafec391ec5f8e9f9b96ac7f7d
|
| 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.7.0-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | ctoon-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
ef6fa7546616fe7aa9f3d39ac70f3e3b8646f4925322f9f51cd166a4ac761dc7
|
|
BLAKE2b-256 checksum How to use checksums |
91581b396fc76dd1a03d9a73ad2eeb09f35f3d33846f03af403ad8076267e5d4
|
| 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.7.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ctoon-0.7.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 420.2 kB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
dd1a0e506a75de463a33e3ae0f58993df6f7f895cde5d7506cc11cc4c4111882
|
|
BLAKE2b-256 checksum How to use checksums |
0bd846f0b97070bd91d6817eebb96384b395608dcb9c45a4ee398b0f5c1f21e8
|
| 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.7.0-cp312-cp312-macosx_10_13_universal2.whl
| Download URL | ctoon-0.7.0-cp312-cp312-macosx_10_13_universal2.whl |
|---|---|
| Size | 617.4 kB |
| Tags | CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
ba961570f16ac2e8d5be0bf2d50a336d71db1334929903807ddabcc90c6b389a
|
|
BLAKE2b-256 checksum How to use checksums |
43e345d5aa0673fc29d0c6e169a3a123f19696090eb8ed8cde149cef3d75a21b
|
| 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.7.0-cp311-cp311-win_amd64.whl
| Download URL | ctoon-0.7.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 323.3 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0d342a3225d47b9b1e2d8696ec113c3114dbb076855f001b0fcdaf64ea1eaae6
|
|
BLAKE2b-256 checksum How to use checksums |
0b3583f802c34110a4c2f064a1ffb05ecb9d22b2609dfece330856390e3de3ca
|
| 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.7.0-cp311-cp311-win32.whl
| Download URL | ctoon-0.7.0-cp311-cp311-win32.whl |
|---|---|
| Size | 299.9 kB |
| Tags | CPython 3.11 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
0ecdd54a4235c4eebd943338102ba8cd97b16f407e20c200a2ed4ad43b3710ac
|
|
BLAKE2b-256 checksum How to use checksums |
cf2fd367dd2d5a454ecf919a2144061c4b5ac4a06f92661760c6044944ff8998
|
| 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.7.0-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | ctoon-0.7.0-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 |
e66128c1bf8b856cba642e95de148c8f3b9b75b6de8cd46b5c1a9e17574f8ea0
|
|
BLAKE2b-256 checksum How to use checksums |
7105257151bcb73eace333c13ac24842dc1c8746cbd49cd22810ddc3e848932e
|
| 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.7.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ctoon-0.7.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 424.8 kB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d6e27a30d98bc3ee4adab6dcb4f36a22fdea003ed88cc754f6b0d05c36ac7401
|
|
BLAKE2b-256 checksum How to use checksums |
6e368435bd7377eb9d575769afa4d7120681f9b41b2428c6eb5da8a6db6f78c0
|
| 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.7.0-cp311-cp311-macosx_10_13_universal2.whl
| Download URL | ctoon-0.7.0-cp311-cp311-macosx_10_13_universal2.whl |
|---|---|
| Size | 621.4 kB |
| Tags | CPython 3.11 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
a5278a4b1bfd85014b80dd25478bebf461b44c8bd77013e68fbcde4566d2aa81
|
|
BLAKE2b-256 checksum How to use checksums |
521a1e064c16d5359d1a36bd9f1429f4191dd3fb73e0cc7b2398694ca5ab6f62
|
| 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.7.0-cp310-cp310-win_amd64.whl
| Download URL | ctoon-0.7.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 323.0 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
445e6a21199eba982f7a34f7274b00f3b6a0ec43d7f499ebc173c90130775006
|
|
BLAKE2b-256 checksum How to use checksums |
4bf160858bbb4dd21a23cd2f974b406058a6d0949b4080c750a011365f0784d2
|
| 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.7.0-cp310-cp310-win32.whl
| Download URL | ctoon-0.7.0-cp310-cp310-win32.whl |
|---|---|
| Size | 299.6 kB |
| Tags | CPython 3.10 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
66f5fb8791dc1a0587f7ede90454f658d7937a39a73723e1d77028b2d109c6d1
|
|
BLAKE2b-256 checksum How to use checksums |
c67e943afc65ee44a17733d1894b6b5d81d336a5da5898241015add2a480b598
|
| 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.7.0-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | ctoon-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
6c6078b3b477c7b73c6e436d9bc1abd51bcc505bafffc65b9e026222531d8a71
|
|
BLAKE2b-256 checksum How to use checksums |
88586b58431d69fbfb03f5fc6113550cc5f7138a5c2337a5989241790469a451
|
| 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.7.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ctoon-0.7.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 424.2 kB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5b57df19606ed583cb9d21d5866bca1110d20b18266b53e7f2a055c63052d32b
|
|
BLAKE2b-256 checksum How to use checksums |
c63f081f73a49be0de74b4fa2f54869afa027b8e9a937c03d6ac92a80d64a138
|
| 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.7.0-cp310-cp310-macosx_10_13_universal2.whl
| Download URL | ctoon-0.7.0-cp310-cp310-macosx_10_13_universal2.whl |
|---|---|
| Size | 620.0 kB |
| Tags | CPython 3.10 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
e4658c67c77c4d0ce5494f337f8d212e0e2e63806fa48aaae9a897b8c2382b71
|
|
BLAKE2b-256 checksum How to use checksums |
b029637d0bfd618b4ebd61c75ab3e9ccdc9f76fb00e5fb8241c29bf49913c456
|
| 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.7.0-cp39-cp39-win_amd64.whl
| Download URL | ctoon-0.7.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 296.4 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a3522f46c9b93d72033e6c5b6c91a125a8290bfd76b6adf53514178f5480fe12
|
|
BLAKE2b-256 checksum How to use checksums |
3cc8963c49715bb811085f2af9833998cc803807f187852348be262f46699dc8
|
| 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.7.0-cp39-cp39-win32.whl
| Download URL | ctoon-0.7.0-cp39-cp39-win32.whl |
|---|---|
| Size | 274.9 kB |
| Tags | CPython 3.9 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
a83dce9bea33cbcdba6805f9ba7071e64e33b0f267408012f52aee6cbd584321
|
|
BLAKE2b-256 checksum How to use checksums |
e198f6710c7720d6b8d2c688b7f6ac10095bad2a9577075126e88a96e5472a37
|
| 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.7.0-cp39-cp39-musllinux_1_2_x86_64.whl
| Download URL | ctoon-0.7.0-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 |
d6276abbaa3b6c1c961ee5352de8d58de41fde697afcb997fdcc7b87a0f9bf78
|
|
BLAKE2b-256 checksum How to use checksums |
e3c79b43a7ae48b18299d26a474bd93b92dcb89ed5d90e14ce71849276f71d16
|
| 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.7.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ctoon-0.7.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 417.3 kB |
| Tags | CPython 3.9 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c44fd8047fe302e4e7e4a986897b22db060369a85a05dbb5392562470fe57c82
|
|
BLAKE2b-256 checksum How to use checksums |
71528c063555dbaf1b8b684f16056dc512d6e1587a647c11065b7d7ad81df1b8
|
| 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.7.0-cp39-cp39-macosx_10_13_universal2.whl
| Download URL | ctoon-0.7.0-cp39-cp39-macosx_10_13_universal2.whl |
|---|---|
| Size | 603.2 kB |
| Tags | CPython 3.9 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
0521d96444c187f995e2d8a8db741d4dd5cf7ffa0ff745e0649e7c363dce7b1a
|
|
BLAKE2b-256 checksum How to use checksums |
6acf9618ba459f431d359075cc2cea1dc35f47a3a47b629fe86aebfccac93738
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|