Skip to main content

CToon Logo CToon

CToon Long Logo

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.

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)

Source distribution for ctoon 0.8.1
File Size Uploaded
ctoon-0.8.1.tar.gz 865.1 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for ctoon 0.8.1
File
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

Release history Release notifications | RSS feed

This release

0.8.1 This release

21 release files

0.8.0

21 release files

0.7.0

21 release files

0.6.2

21 release files

0.6.1

21 release files

0.5.1

21 release files

0.5.0

36 release files

0.4.0

36 release files

0.3.0

36 release files

0.2.2

36 release files

0.0.1

2 release files

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