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

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)

Source distribution for ctoon 0.6.2
File Size Uploaded
ctoon-0.6.2.tar.gz 781.0 kB Details

Built distributions (wheels)

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

Release history Release notifications | RSS feed

0.8.1

21 release files

0.8.0

21 release files

0.7.0

21 release files

This release

0.6.2 This release

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