A C++ TOON/JSON serialization library with Python bindings
Project description
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, and Go. 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.write().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}
/* Parse JSON */
auto jdoc = ctoon::document::from_json(R"({"x":1,"y":2})");
std::cout << jdoc.root()["x"].get_uint() << "\n"; // 1
/* Read / write flags */
using rf = ctoon::read_flag;
using wf = ctoon::write_flag;
auto doc2 = ctoon::document::parse(src, rf::ALLOW_COMMENTS | rf::ALLOW_BOM);
auto out = doc2.write(
ctoon::write_options()
.with_flag(wf::LENGTH_MARKER | wf::NEWLINE_AT_END)
.with_delimiter(ctoon::delimiter::PIPE)
.with_indent(4));
Python
import ctoon
# encode / decode
toon = ctoon.dumps({"name": "Alice", "age": 30})
data = ctoon.loads(toon)
# file I/O — accepts path strings or file-like objects
ctoon.dump(data, "out.toon")
data = ctoon.load("out.toon")
with open("out.toon", "w") as f:
ctoon.dump(data, f)
with open("out.toon") as f:
data = ctoon.load(f)
# JSON
json_str = ctoon.dumps_json(data, indent=2)
data = ctoon.loads_json(json_str)
ctoon.dump_json(data, "out.json")
# flags (combinable with |)
from ctoon import ReadFlag, WriteFlag, Delimiter
toon = ctoon.dumps(data,
indent=4,
delimiter=Delimiter.PIPE,
flags=WriteFlag.LENGTH_MARKER | WriteFlag.NEWLINE_AT_END)
data = ctoon.loads(toon, flags=ReadFlag.ALLOW_COMMENTS | ReadFlag.ALLOW_BOM)
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())
// JSON
json, _ := ctoon.DumpsJSON(data, 2)
val, _ = ctoon.LoadsJSON(json)
ctoon.DumpJSON(data, "out.json")
Build
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc) --target ctoon_test # Run C / C++ / python / Go tests
cmake --build build -j$(nproc) --target ctoon_coverage # Get the coverage of C / C++ / python / Go tests.
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 documents |
JSON support is on by default (CTOON_ENABLE_JSON=1). The CLI uses it directly — no external JSON library required.
Python package
pip install ctoon # build and install
No runtime requirements.
Go module
go get github.com/mohammadraziei/ctoon
Requires Go 1.21+. Uses CGo to call the C core.
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);
/* 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);
char *ctoon_mut_doc_to_json(const ctoon_mut_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_num(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);
size_t ctoon_get_len(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_add(ctoon_mut_val *obj, ctoon_mut_val *key, ctoon_mut_val *val);
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_mut_doc_to_json |
O(n) | one imut_copy pass then serialise |
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 |
ctoon_doc_mut_copy |
O(n) | deep copy |
Thread Safety
| Scenario | Safe? |
|---|---|
| Multiple threads reading different documents | ✅ |
| Multiple threads reading the same document | ✅ |
| Building a document from multiple threads | ❌ 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 |
| CLI | C++17 |
License
MIT — see LICENSE.
Related
- toon-format/toon — the TOON format specification
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ctoon-0.3.0.tar.gz.
File metadata
- Download URL: ctoon-0.3.0.tar.gz
- Upload date:
- Size: 683.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e15e2fbd37e99a7822f8eb3a4961e565ece50588e3699bfb1d64f1500cfdd37
|
|
| MD5 |
60989ff6a625882f5677d12802b89357
|
|
| BLAKE2b-256 |
b65793fa16729261187c82914092b2112761c23f5f39f4f4addd19be515bd917
|
File details
Details for the file ctoon-0.3.0-cp314-cp314t-win_amd64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp314-cp314t-win_amd64.whl
- Upload date:
- Size: 290.9 kB
- Tags: CPython 3.14t, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d68e125a7a069451632220cd66cbb99cece7f6b612d7c8a5fac07b7fbb28acae
|
|
| MD5 |
de841c18418544ca2b162b643226bee9
|
|
| BLAKE2b-256 |
13f03913ff810b756fb240cfa3c5c786faf869a474fcf6271ee145927c8661e8
|
File details
Details for the file ctoon-0.3.0-cp314-cp314t-win32.whl.
File metadata
- Download URL: ctoon-0.3.0-cp314-cp314t-win32.whl
- Upload date:
- Size: 270.3 kB
- Tags: CPython 3.14t, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5bea7cad2ba348acbce2d6c328e28d00c48a06036c66431741eda47ede079a1
|
|
| MD5 |
74c2567a977555ec3d4f5b5531884919
|
|
| BLAKE2b-256 |
f4d71c8ae9b193d99408fd9b49ab4286c61440e20daa14f64f733f61f2cfe977
|
File details
Details for the file ctoon-0.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.14t, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
892befb8f7a5fb0ca272e648c4d4996c74c7b6cfe511b4796f5a13d91dd2718b
|
|
| MD5 |
afca3e410fe63eaf00867c3aab717d8c
|
|
| BLAKE2b-256 |
0a2026bb614d6a0020edeb13d9011ada6247a224572a274cc4d4e70328e3e2b3
|
File details
Details for the file ctoon-0.3.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 395.4 kB
- Tags: CPython 3.14t, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b62d251e8343ec4c414780d3260a974d93b56caf220ea02f5fe472c51eee839
|
|
| MD5 |
60f259c61a623064c1c62fbda65558d7
|
|
| BLAKE2b-256 |
5212c27ca054968c3296891c953a7f213fb174a8a6275b643f60c764d7125d35
|
File details
Details for the file ctoon-0.3.0-cp314-cp314t-macosx_10_15_universal2.whl.
File metadata
- Download URL: ctoon-0.3.0-cp314-cp314t-macosx_10_15_universal2.whl
- Upload date:
- Size: 568.7 kB
- Tags: CPython 3.14t, macOS 10.15+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
870fd2f1674ab16ed90c96c6597eab301fd5291b7086ace2e904d4e6615c2837
|
|
| MD5 |
11550c568cbd6656900ab0f560768760
|
|
| BLAKE2b-256 |
bda1ccfc4b2fc3a8febf4f70cd5486b10d207c1aa030205828d80d01b0fbf669
|
File details
Details for the file ctoon-0.3.0-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 286.1 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3aa6fed02bc74f921e2c8988d9a3990d18ea035f9355431382297605bcd84d8
|
|
| MD5 |
0895b2d89323fc4c7c7502fff510f09d
|
|
| BLAKE2b-256 |
54e4643fde91a82eab0c74b3ef5bd5f4f69dd1b97338441f7a72159241d47348
|
File details
Details for the file ctoon-0.3.0-cp314-cp314-win32.whl.
File metadata
- Download URL: ctoon-0.3.0-cp314-cp314-win32.whl
- Upload date:
- Size: 267.7 kB
- Tags: CPython 3.14, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c955c06475f09273e7fa652c7ced3210de034004efedec3d9e9197112502f3b
|
|
| MD5 |
577698503be61d996b6b821aaa48e2e4
|
|
| BLAKE2b-256 |
21d274c3408979e0130e63067441240ff4f7d182d01e0c06d55dd1e58baf59db
|
File details
Details for the file ctoon-0.3.0-cp314-cp314-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp314-cp314-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.14, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
921cad6e1aba5534167b72587e3c7698bc4808657e04a3045cdaa71bdefcad64
|
|
| MD5 |
bab5c271a569239d876135fe5732b724
|
|
| BLAKE2b-256 |
0476512b85092ac75c7b93b1745bfb047ca6ce0652f5530fac6555146ad836ee
|
File details
Details for the file ctoon-0.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 396.9 kB
- Tags: CPython 3.14, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcafd19fb196d82c09d63d6e585d5d8577fa62e668b79206d04b9fa8f255a050
|
|
| MD5 |
d3c97e2b3503fdd08ff8ee7b255fafe2
|
|
| BLAKE2b-256 |
2fe3e152751070b6763228db419fdb2ff731fc86d56ebb2e01a03c3a794f912d
|
File details
Details for the file ctoon-0.3.0-cp314-cp314-macosx_10_15_universal2.whl.
File metadata
- Download URL: ctoon-0.3.0-cp314-cp314-macosx_10_15_universal2.whl
- Upload date:
- Size: 565.0 kB
- Tags: CPython 3.14, macOS 10.15+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e83476b3a55a38f95526508da478731fe6eeda0514dd5ba6c102e7010ec5a27
|
|
| MD5 |
e9eff79babdea1b071bfbbe754f5f5c1
|
|
| BLAKE2b-256 |
657ec8cecfb43a4ee032ed67ef7a852caad231d25c6a1a4b721f350eea2b190d
|
File details
Details for the file ctoon-0.3.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 279.7 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74ebfc8d3f37e35c40f096edfaeff526afb91624cd0ee657d26bbb9b24150204
|
|
| MD5 |
6ab6c22f51b54f8f87fc21629d8b6219
|
|
| BLAKE2b-256 |
27e2fb2ab1f363f680aa3ae7bcf98f314ca8e2c9e85e8dd7fc9f87396ac3ab0d
|
File details
Details for the file ctoon-0.3.0-cp313-cp313-win32.whl.
File metadata
- Download URL: ctoon-0.3.0-cp313-cp313-win32.whl
- Upload date:
- Size: 261.8 kB
- Tags: CPython 3.13, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8df72f7b975190f1dabe1f5a66ac01d593d22fb16e00625d315677f3da8e46e9
|
|
| MD5 |
737917f95c1376af30b630bd6ca824a7
|
|
| BLAKE2b-256 |
fd226417bccf35da247b57a3dd2aad702a38352324e435d5613765784d52b343
|
File details
Details for the file ctoon-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b95550a5baa8b34e293e2046e9e677b322816ccf65ce03c5875787819a11763e
|
|
| MD5 |
318ee20fd82f18be40a54d56d5157a5e
|
|
| BLAKE2b-256 |
a1d94913911ffd3e8aa04dc146ab06b3eb5020c5c35fb8119638b2a51e151d0a
|
File details
Details for the file ctoon-0.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 396.9 kB
- Tags: CPython 3.13, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b7707850935af7244cff3e974e1f473f4f65a6693c6569673157cd7656aa2d2
|
|
| MD5 |
27371e3f3cd7ba9fe9a1a6c839c9c234
|
|
| BLAKE2b-256 |
229d21beda652a85c3538e44db10235f775ed7dba0ba569d9caf3d33e4638bd3
|
File details
Details for the file ctoon-0.3.0-cp313-cp313-macosx_10_13_universal2.whl.
File metadata
- Download URL: ctoon-0.3.0-cp313-cp313-macosx_10_13_universal2.whl
- Upload date:
- Size: 564.7 kB
- Tags: CPython 3.13, macOS 10.13+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d2f060ad38a83ef2399b65bcc95af0fd407d1832945549e694f82f7eb91bd074
|
|
| MD5 |
eedb5e38ac6d7098f44ea2e98e54d6e5
|
|
| BLAKE2b-256 |
499e25525c7a7a77a87be2484043c2fdf2ffe0da6e706ea6c60aec31f2c3554b
|
File details
Details for the file ctoon-0.3.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 279.8 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df3c804a1b4295b39d9244fea84fb9e76965b7e11f961be4a52f94ffa6c09b04
|
|
| MD5 |
95aaeba07f5228d3f53c62fb8fb09376
|
|
| BLAKE2b-256 |
64c54dabc91fcfb1a52d11142be7d4e5140c4056cd37c5005543c4972853111d
|
File details
Details for the file ctoon-0.3.0-cp312-cp312-win32.whl.
File metadata
- Download URL: ctoon-0.3.0-cp312-cp312-win32.whl
- Upload date:
- Size: 261.8 kB
- Tags: CPython 3.12, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0819c193cac4d0222a43e8228a64a8fc00ea34bfebd3db57aeeb2200e9a3a0d0
|
|
| MD5 |
9e9260b562150d7d835f3defcf216a9e
|
|
| BLAKE2b-256 |
78334abf5b46eb4a6745e1d8547605c941025cb80fc5fd644cdc9bd750b5fc7a
|
File details
Details for the file ctoon-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71b61e2599065f5fced317a93edb2b798ef6d3881896bfe12ebf6e9b6070275a
|
|
| MD5 |
6c9391edb969e8804f89476b19812725
|
|
| BLAKE2b-256 |
376ac02f380e643209a6f74081412e7a90a4b050cac13fd8e6d2963b4d02dfa5
|
File details
Details for the file ctoon-0.3.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 397.0 kB
- Tags: CPython 3.12, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0de67f89223585a2e38eabe958bbe480fced54cde540e4bf4e5cb8bc4d8ef8c5
|
|
| MD5 |
6f219e877d82f8356767c73c7443b765
|
|
| BLAKE2b-256 |
b449f488fd6a41559621655063b2f011372764bbb7bf4fa38f2e566f3233bb15
|
File details
Details for the file ctoon-0.3.0-cp312-cp312-macosx_10_13_universal2.whl.
File metadata
- Download URL: ctoon-0.3.0-cp312-cp312-macosx_10_13_universal2.whl
- Upload date:
- Size: 564.8 kB
- Tags: CPython 3.12, macOS 10.13+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37e442e1f1cf2f81e0c3d1cdc12c0757bd03dd71f4d3423a9788631b2084bf6b
|
|
| MD5 |
636ead935ab741f9f6b8728b216e244f
|
|
| BLAKE2b-256 |
f6c7458d08c1e21770eb5e193bde9a86fc2f902691cd2e9ab4ecc6eaaaf82fca
|
File details
Details for the file ctoon-0.3.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 279.8 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d1e7189425e74226139597f6ec764fe9cbdfdaa88e6261db99f93e47f4995bc
|
|
| MD5 |
1bb708de8bfafd3c5b4c26713b0ea600
|
|
| BLAKE2b-256 |
ebe4e26381888295216a5f327727a49c821e7f25ec33689c57dbc6ee0ec256d5
|
File details
Details for the file ctoon-0.3.0-cp311-cp311-win32.whl.
File metadata
- Download URL: ctoon-0.3.0-cp311-cp311-win32.whl
- Upload date:
- Size: 261.9 kB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba5cf1244b0a832e20dad1b02ae3e5c22baa8fcc1ca066dde899ed3dc986279a
|
|
| MD5 |
38520277b08bc8f923a416af0f5bbf08
|
|
| BLAKE2b-256 |
097e40fa58645dd3848978f34cf3638d9bdb5444183a7e145e60151f855beca7
|
File details
Details for the file ctoon-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa9d6d33b908054bda82843fea37861814099771eae208824eda688035c38d36
|
|
| MD5 |
890f74667f3ed9bdb6c0ee6a12d73a7c
|
|
| BLAKE2b-256 |
d84b296a5c8fb15184d1161e962ab7bbb29c5f67c7de4aca8ebe5462ca1dece4
|
File details
Details for the file ctoon-0.3.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 397.1 kB
- Tags: CPython 3.11, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0154c3fc73aa270b222c7bdc0a185860acb1b6a9cdf038130aef218945b044a6
|
|
| MD5 |
d3ee5765df4e17b8f0eef22ec7aa801b
|
|
| BLAKE2b-256 |
9082730575b16e8921695823182218c0d46451fecf2797adb3e1b94c0c3a0f1c
|
File details
Details for the file ctoon-0.3.0-cp311-cp311-macosx_10_13_universal2.whl.
File metadata
- Download URL: ctoon-0.3.0-cp311-cp311-macosx_10_13_universal2.whl
- Upload date:
- Size: 564.5 kB
- Tags: CPython 3.11, macOS 10.13+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b977dd81dfe628dc63ce56491051037c2eaf50b89a0757af65df3c92aca347c
|
|
| MD5 |
941558e35fab7a5278b568f2a041147f
|
|
| BLAKE2b-256 |
f463d1cc9ccd0385fbbd5299b3da713e7ac941b94f5e76395ad2e288229fdcf0
|
File details
Details for the file ctoon-0.3.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 279.5 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0068eeb43a65a1c52c30fcf162088902bdb52c5ab2508c3beda2b81981498b72
|
|
| MD5 |
fabd2d4e3240ba2494613e797321a937
|
|
| BLAKE2b-256 |
16a5f2c7c379d8761a2517dd083f7427a11220c039e6abd025757b8d12dea576
|
File details
Details for the file ctoon-0.3.0-cp310-cp310-win32.whl.
File metadata
- Download URL: ctoon-0.3.0-cp310-cp310-win32.whl
- Upload date:
- Size: 261.6 kB
- Tags: CPython 3.10, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f39c83689ca8367e28fcd7dc721f48c58d52dd7a50a93d9098dbf16a0228085
|
|
| MD5 |
375615d64ec77de1dbd4a41e44d901e6
|
|
| BLAKE2b-256 |
564eab730105bf68aa41f3098c7817ec6c6561c14dc252355a7def3e03cc8233
|
File details
Details for the file ctoon-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
daa2a1b62e1d610655e4fda147adac07415c6f51f88e853e2e314204dbc7fb7a
|
|
| MD5 |
eecb309a7b54f2f155a07a1b6c939d63
|
|
| BLAKE2b-256 |
b29181ea6af2905885f5bff385f27a186620c23a9fe7b4dd3c69241fe5320fd9
|
File details
Details for the file ctoon-0.3.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 396.7 kB
- Tags: CPython 3.10, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
076af019bb675f401d7afe65a1b566cc2dfe93c59f1ed5f5269ba98d2688ff9f
|
|
| MD5 |
96a63bfa5524f07b486549b6a99bc40f
|
|
| BLAKE2b-256 |
b077451664f14758ba139da3cec4eda397a6ce322f4d93a4fc21fcc97f5dfbcd
|
File details
Details for the file ctoon-0.3.0-cp310-cp310-macosx_10_13_universal2.whl.
File metadata
- Download URL: ctoon-0.3.0-cp310-cp310-macosx_10_13_universal2.whl
- Upload date:
- Size: 563.5 kB
- Tags: CPython 3.10, macOS 10.13+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51bb5aed5db6dea2d618cd58a76bb5307908b149e5ce37bd74307a6db657db5e
|
|
| MD5 |
842e77fa3e2751d514da2d305abab7bd
|
|
| BLAKE2b-256 |
fa258b19a8a19613512cd1a8cadb91d0d8142c8810d76b19eaa025b6845f937c
|
File details
Details for the file ctoon-0.3.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 279.9 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4fe8e76de8225e38f6387a3c86030f5ad5260f85c31df9d66a3906dfc509160
|
|
| MD5 |
0c253a1fb47f3b2810d053c0edef50e5
|
|
| BLAKE2b-256 |
7d94525a7775944201c20de16eab2430fc6b63cebabdbecf1b2b1ae052975a20
|
File details
Details for the file ctoon-0.3.0-cp39-cp39-win32.whl.
File metadata
- Download URL: ctoon-0.3.0-cp39-cp39-win32.whl
- Upload date:
- Size: 262.1 kB
- Tags: CPython 3.9, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25340817754e42156c0dea9eb4529cef943f6d0e4578e1ae98b47c33e3318161
|
|
| MD5 |
6957072d55de78f79454b14b4ddab702
|
|
| BLAKE2b-256 |
a3cebc25be990529657d46155e20c44d9f75304cc1cd7ac7626ff3545bef2bf7
|
File details
Details for the file ctoon-0.3.0-cp39-cp39-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp39-cp39-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0af50091b29c77348193127d32551be974f0e0653616ed729aa12a9e94fd0954
|
|
| MD5 |
039f1a3c9e42ab0cccda302161289daa
|
|
| BLAKE2b-256 |
95068e9f4a4302546ec85f843f56439717acf46fc83e9173a3d9cf02f0179917
|
File details
Details for the file ctoon-0.3.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ctoon-0.3.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 396.8 kB
- Tags: CPython 3.9, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecc902ee4cfe28f01e189a32eb7a7c7db4f60d563bc6596856d43d1acca8fd5b
|
|
| MD5 |
7814c49a6be18871e1d2a8de8d22196f
|
|
| BLAKE2b-256 |
73fb931b88a7ab423a00a38e19d6f64c9e2133caf4adc2eed4ebdef6245b453c
|
File details
Details for the file ctoon-0.3.0-cp39-cp39-macosx_10_13_universal2.whl.
File metadata
- Download URL: ctoon-0.3.0-cp39-cp39-macosx_10_13_universal2.whl
- Upload date:
- Size: 563.6 kB
- Tags: CPython 3.9, macOS 10.13+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f4dc0734d7783226fc3224cd65eba838a86bce2bf22a21aa0613ede48fdbf0e
|
|
| MD5 |
f811b5b88505b4ef7ff297a461fb85ec
|
|
| BLAKE2b-256 |
40a9a708fa9929a919c42d1d8f9b14fef000f78c2bd58a471bbf6a7baebef86e
|