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 (requires CTOON_ENABLE_JSON=1, on by default) */
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 (CTOON_ENABLE_JSON=1). 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.6.2
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.6.2.tar.gz | 781.0 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| ctoon-0.6.2-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details |
| ctoon-0.6.2-cp312-cp312-win32.whl | CPython 3.12 | CPython 3.12 | Windows x86-32 | Details |
| ctoon-0.6.2-cp312-cp312-musllinux_1_2_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux musl 1.2+ x86-64 | Details |
| ctoon-0.6.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
| ctoon-0.6.2-cp312-cp312-macosx_10_13_universal2.whl | CPython 3.12 | CPython 3.12 | macOS 10.13+ universal2 (ARM64, x86-64) | Details |
| ctoon-0.6.2-cp311-cp311-win_amd64.whl | CPython 3.11 | CPython 3.11 | Windows x86-64 | Details |
| ctoon-0.6.2-cp311-cp311-win32.whl | CPython 3.11 | CPython 3.11 | Windows x86-32 | Details |
| ctoon-0.6.2-cp311-cp311-musllinux_1_2_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux musl 1.2+ x86-64 | Details |
| ctoon-0.6.2-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.6.2-cp311-cp311-macosx_10_13_universal2.whl | CPython 3.11 | CPython 3.11 | macOS 10.13+ universal2 (ARM64, x86-64) | Details |
| ctoon-0.6.2-cp310-cp310-win_amd64.whl | CPython 3.10 | CPython 3.10 | Windows x86-64 | Details |
| ctoon-0.6.2-cp310-cp310-win32.whl | CPython 3.10 | CPython 3.10 | Windows x86-32 | Details |
| ctoon-0.6.2-cp310-cp310-musllinux_1_2_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux musl 1.2+ x86-64 | Details |
| ctoon-0.6.2-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.6.2-cp310-cp310-macosx_10_13_universal2.whl | CPython 3.10 | CPython 3.10 | macOS 10.13+ universal2 (ARM64, x86-64) | Details |
| ctoon-0.6.2-cp39-cp39-win_amd64.whl | CPython 3.9 | CPython 3.9 | Windows x86-64 | Details |
| ctoon-0.6.2-cp39-cp39-win32.whl | CPython 3.9 | CPython 3.9 | Windows x86-32 | Details |
| ctoon-0.6.2-cp39-cp39-musllinux_1_2_x86_64.whl | CPython 3.9 | CPython 3.9 | Linux musl 1.2+ x86-64 | Details |
| ctoon-0.6.2-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.6.2-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.6.2.tar.gz
| Download URL | ctoon-0.6.2.tar.gz |
|---|---|
| Size | 781.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bb7ffc55e3c79735115e5726ca9e1ee954a0a37b5dd29fdfa59f2918cc6b920e
|
|
BLAKE2b-256 checksum How to use checksums |
357c194f52a0e41cd62f755cfe58c8c96e9192441b8653a09516a69a062bdb76
|
| 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.6.2-cp312-cp312-win_amd64.whl
| Download URL | ctoon-0.6.2-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 323.1 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
19be6e468e40670254af5a2415e3e4e7bc99ce0aea05a4e217a2261036390a38
|
|
BLAKE2b-256 checksum How to use checksums |
c69575fa57c08b0eff04f0499b60d8dc07eabcb59b2135304d4a0be26d55f068
|
| 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.6.2-cp312-cp312-win32.whl
| Download URL | ctoon-0.6.2-cp312-cp312-win32.whl |
|---|---|
| Size | 299.2 kB |
| Tags | CPython 3.12 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
b23fdc5dcb92afeb7ba5e4da8c750e184c35df5d8b72f8982497f9978a3495f7
|
|
BLAKE2b-256 checksum How to use checksums |
4adc863fdd7546707374c3b5beceb38c38b7efed3c1a0d77719579a89c6cfcf7
|
| 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.6.2-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | ctoon-0.6.2-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 |
f56d92a4d636596c2a1058fe025bd160c8bf5ada47434193f86106a76725af86
|
|
BLAKE2b-256 checksum How to use checksums |
6c08d763fc8c79e7fd8d9d4d2f93c2b71f8015c73d591d7a28e1ade9c04ff409
|
| 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.6.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ctoon-0.6.2-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 |
0ff93954bc8aafcf5623abd3354f6753da45e7e8bed0adfeffb69863a6d93dde
|
|
BLAKE2b-256 checksum How to use checksums |
34b69debf3603f5a82440d722b4b11df59193ce75a750a90401ce142fd479034
|
| 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.6.2-cp312-cp312-macosx_10_13_universal2.whl
| Download URL | ctoon-0.6.2-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 |
5a2d843ca9e852aa7a860755d01f4248416bddabd59b1f72c3750d37ccc360dd
|
|
BLAKE2b-256 checksum How to use checksums |
dac60c0c4708c4c5babb823307354ed32c39e6e123fd9556a70a613eb6b1a7f3
|
| 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.6.2-cp311-cp311-win_amd64.whl
| Download URL | ctoon-0.6.2-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 323.3 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
8ead326f0c955d9471673cbdbfccb3e7d314d6e4f19e8d3c65ea2222f6b3434c
|
|
BLAKE2b-256 checksum How to use checksums |
2ea74aa0cc7ffdba2fd82be9a1d6a38efc4cebf4a8ae8d368c63bfbe4921c044
|
| 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.6.2-cp311-cp311-win32.whl
| Download URL | ctoon-0.6.2-cp311-cp311-win32.whl |
|---|---|
| Size | 299.9 kB |
| Tags | CPython 3.11 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
b4cdeb1b8533c8aad5e732d3022d5c1fd2c666283eca70d4c46ac27879264318
|
|
BLAKE2b-256 checksum How to use checksums |
48e889f4ca802d3244182d0fa8287198918ebcf45f38a8e39b57ef9cb86b8683
|
| 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.6.2-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | ctoon-0.6.2-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 |
a5befd2b6d522c8a94fffb2c631bf9744a936bd940dadb96db0906dba29198b4
|
|
BLAKE2b-256 checksum How to use checksums |
e15d1193cda0173ad93d00d3e996b29877be7afe2339f1cc0ccf94e0adf3290f
|
| 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.6.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ctoon-0.6.2-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 |
3b43efc71a4d794a8e857782c78eb0e628150b7628340639d36728aebfdd06f6
|
|
BLAKE2b-256 checksum How to use checksums |
ebcc132c1913b9d612b37b651fdc942d54159cd24f10a86657dbc04027d1184f
|
| 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.6.2-cp311-cp311-macosx_10_13_universal2.whl
| Download URL | ctoon-0.6.2-cp311-cp311-macosx_10_13_universal2.whl |
|---|---|
| Size | 621.3 kB |
| Tags | CPython 3.11 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
3ca5c7b31fba788a00db2278a41b2cba30bbe861ee534d19171b5d03921f516d
|
|
BLAKE2b-256 checksum How to use checksums |
51db75494c2cbf13ec3103a2b56fc3994acf0e1077b1e8437e34505c6044a5bd
|
| 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.6.2-cp310-cp310-win_amd64.whl
| Download URL | ctoon-0.6.2-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 322.9 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
618f532b6215bccc51b1fb58eb82355a19418cde2eb1c0d26af5e7f0bab6bf4c
|
|
BLAKE2b-256 checksum How to use checksums |
a48037d2bd5dd695a58e1721219f79ebbd75dea058ef48468ffdf13717ba2ddc
|
| 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.6.2-cp310-cp310-win32.whl
| Download URL | ctoon-0.6.2-cp310-cp310-win32.whl |
|---|---|
| Size | 299.6 kB |
| Tags | CPython 3.10 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
3044cd37e73dfeebde3c0149a30439ceff62b9942be253164b1948625a3510ec
|
|
BLAKE2b-256 checksum How to use checksums |
1b64b8f393459394f041790d4f22cfe201ac34b74292551bc32e7df92c61155f
|
| 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.6.2-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | ctoon-0.6.2-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 |
e6feb8e3eb12399d3dc1d2411ff0a9d85fc535878fed12a8224a9b42e01eefb1
|
|
BLAKE2b-256 checksum How to use checksums |
248b6964a6762850189cfa0eed841ab89f523914cc41c299b8868fcc987153e0
|
| 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.6.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ctoon-0.6.2-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 |
377d9c5df216d665ea33f181074db07942af2f6cc8aa6f6c04306c9d79a006bd
|
|
BLAKE2b-256 checksum How to use checksums |
14b0cb9b8b0ac2b40e28a8d749092f15f1cafd30834c44e41346884993615008
|
| 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.6.2-cp310-cp310-macosx_10_13_universal2.whl
| Download URL | ctoon-0.6.2-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 |
b8c8625e40602a5d930312fae180d735b2083ccd1dcffd9a13c898dfb7173cd6
|
|
BLAKE2b-256 checksum How to use checksums |
52443d127033cffd7fda751026c87d64c98b08d0f1bff407e42e5b1d4a8d9208
|
| 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.6.2-cp39-cp39-win_amd64.whl
| Download URL | ctoon-0.6.2-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 296.3 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1aad68168c03aa0e5e89f53ee00c659fea31d017144dbace331755b536789fee
|
|
BLAKE2b-256 checksum How to use checksums |
45c8eb79cc153a07036a16f3e7008f9f82fdb6651587cc0fb0162284e47d6416
|
| 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.6.2-cp39-cp39-win32.whl
| Download URL | ctoon-0.6.2-cp39-cp39-win32.whl |
|---|---|
| Size | 274.9 kB |
| Tags | CPython 3.9 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
1b5cb2e8669de8840b36e56ed9fdc64deb3f952805b8899da5daa784d12a8364
|
|
BLAKE2b-256 checksum How to use checksums |
daea2cf9ec83f8dea8507b16b4cfa35fc45d0ffe8e1ef1c74cb2e4577f96348c
|
| 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.6.2-cp39-cp39-musllinux_1_2_x86_64.whl
| Download URL | ctoon-0.6.2-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 |
8a55f59a89e9a2558bb42be6d3a925203631d118a4ce6439682677cee396810c
|
|
BLAKE2b-256 checksum How to use checksums |
f9250b72a651c9894525d6e6fc986f5569f81503000622cb6a7879dde180c43c
|
| 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.6.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ctoon-0.6.2-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 |
cb3f4cd3b8e3d3fe2d47e2bf797845686bcbc89b430e022d8234192177a9a0f8
|
|
BLAKE2b-256 checksum How to use checksums |
10123b6df4b86043629de347daa299d4fd5491f8052253fc0b9dd642747c9830
|
| 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.6.2-cp39-cp39-macosx_10_13_universal2.whl
| Download URL | ctoon-0.6.2-cp39-cp39-macosx_10_13_universal2.whl |
|---|---|
| Size | 603.1 kB |
| Tags | CPython 3.9 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
28289654754f2bf01298fcd969980af880b2ab0603005dd2d6e15c0b653015a6
|
|
BLAKE2b-256 checksum How to use checksums |
c4f86147eb00ae79ca60ed09b1b8bbebbd0bb17cef3a20357b202c9487c18d1e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|