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, 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.

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)

Source distribution for ctoon 0.7.0
File Size Uploaded
ctoon-0.7.0.tar.gz 782.7 kB Details

Built distributions (wheels)

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

Release history Release notifications | RSS feed

0.8.1

21 release files

0.8.0

21 release files

This release

0.7.0 This release

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