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.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.8.0
File Size Uploaded
ctoon-0.8.0.tar.gz 857.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for ctoon 0.8.0
File
ctoon-0.8.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
ctoon-0.8.0-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
ctoon-0.8.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
ctoon-0.8.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.8.0-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details
ctoon-0.8.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
ctoon-0.8.0-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
ctoon-0.8.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
ctoon-0.8.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.8.0-cp311-cp311-macosx_10_13_universal2.whl CPython 3.11 CPython 3.11 macOS 10.13+ universal2 (ARM64, x86-64) Details
ctoon-0.8.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
ctoon-0.8.0-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
ctoon-0.8.0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
ctoon-0.8.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.8.0-cp310-cp310-macosx_10_13_universal2.whl CPython 3.10 CPython 3.10 macOS 10.13+ universal2 (ARM64, x86-64) Details
ctoon-0.8.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
ctoon-0.8.0-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details
ctoon-0.8.0-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
ctoon-0.8.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
ctoon-0.8.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.8.0.tar.gz

Download URL ctoon-0.8.0.tar.gz
Size 857.2 kB
Tags Source
SHA-256 checksum
How to use checksums
f5d539400875b5a00f700fe5344c7e6757508181f020ad219dfbe22b67d28629
BLAKE2b-256 checksum
How to use checksums
8eefdd6ee0f4bef5647635f83bf68111b19759c24349ef2ed94ac6e753beedb4
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.0-cp312-cp312-win_amd64.whl

Download URL ctoon-0.8.0-cp312-cp312-win_amd64.whl
Size 323.3 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
2b583f3ba4901519c05167bec11561295cf4f7f639da2346750913eb6e66aa65
BLAKE2b-256 checksum
How to use checksums
c1ab55507cb91110aadf49017bd86d237507267fdf250828e94d4e22d3c2bf00
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.0-cp312-cp312-win32.whl

Download URL ctoon-0.8.0-cp312-cp312-win32.whl
Size 299.5 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
799ca5d9eacb9d9efe41580d1f42ff6e1dd827b6e3c32074027e29b2feb63a29
BLAKE2b-256 checksum
How to use checksums
d99669b15f2b43894fe2efb746ffadd7bac8688f43d71f94070a4531f88e57c9
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.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL ctoon-0.8.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
f6235bad2a28278bfe048d872befb2b2a8bcfed0eae36a39e31a38fe3b0a2a01
BLAKE2b-256 checksum
How to use checksums
278d03cbd2c6944b1bb00f4dc3865183b85d7378bc1f0486156924de5653e28b
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.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL ctoon-0.8.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 420.5 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
02177ca16743cbf6b2c6c041ce1eea226e765c29ec6bb64f4b1652c8c20b621c
BLAKE2b-256 checksum
How to use checksums
da4a5987b2f2462eebefebac6da6eb0167d3cc954323c13ad3a9cdf032a26c74
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.0-cp312-cp312-macosx_10_13_universal2.whl

Download URL ctoon-0.8.0-cp312-cp312-macosx_10_13_universal2.whl
Size 617.7 kB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
4969a5c6939c1f87d9ab44568de9ce076562ba638904260fbdaf898b0c225634
BLAKE2b-256 checksum
How to use checksums
7c28495c21f91d83ec08dc81f4e2e18122c1b4fe3b1b47149b004ce61cd3120f
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.0-cp311-cp311-win_amd64.whl

Download URL ctoon-0.8.0-cp311-cp311-win_amd64.whl
Size 323.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
7c233ba28fa3cc08ef679a9a850b82421179079b4f9449e8eb5f8f9620d51eed
BLAKE2b-256 checksum
How to use checksums
8aa94db007f7eec066c198d43dd0f36414ab3cf16ef297408577cf0516b9ac5b
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.0-cp311-cp311-win32.whl

Download URL ctoon-0.8.0-cp311-cp311-win32.whl
Size 300.2 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
20b4b961d1f9eb03e85af9a15208260280e3ad142028124965cfb6614fb026cd
BLAKE2b-256 checksum
How to use checksums
2916742077061b361c840e962ebddb698607936de7e9ff856f5ded4be3db8de0
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.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL ctoon-0.8.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
d23d6a01a7500e72f6421594237bc4f8c7884ef5a35b9c3e310fc87a4a4ae895
BLAKE2b-256 checksum
How to use checksums
2a3e2e71465ebdd21c26630195344cbd8047b0f6be9459ee5638e1c1595483fb
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.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL ctoon-0.8.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 425.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
826298d6f8372edea1eb56b9080e37b9fcd8bbc0f0bc0092c9113de4a7f5ee43
BLAKE2b-256 checksum
How to use checksums
afcb3b364b04cd59d18a73fe0fbd76ef576f723520dc6d5d3d4f80e93d62f6ee
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.0-cp311-cp311-macosx_10_13_universal2.whl

Download URL ctoon-0.8.0-cp311-cp311-macosx_10_13_universal2.whl
Size 621.7 kB
Tags CPython 3.11 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
0bcf1911d2a9d0add5e8ca2c6b73ad1d4d0e51572d6dbada9c51d8f15e320328
BLAKE2b-256 checksum
How to use checksums
09e72e7fb08dbb72a724a2bafa3af4ffb6ee3630aa22afa608164bddb5f5c266
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.0-cp310-cp310-win_amd64.whl

Download URL ctoon-0.8.0-cp310-cp310-win_amd64.whl
Size 323.3 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
f17cf4e79b1a87ea1877418887f2ecead776df1f705b0d89d8e8cc973a1afc96
BLAKE2b-256 checksum
How to use checksums
f55703e25df69d305160dd4d630e525172ef26642766241d3af2a7c151513b81
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.0-cp310-cp310-win32.whl

Download URL ctoon-0.8.0-cp310-cp310-win32.whl
Size 300.0 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
b51d6c96b78ab60bd4d4b254fb48a51ad0624e739c3d4202e1d87ec0d68ff1f9
BLAKE2b-256 checksum
How to use checksums
5d5675811aedccefae0efb88abaca3edd4adb824aea3f772ef08e8d5874b59fa
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.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL ctoon-0.8.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
aca183f5255d6b71a039f95d121b23a042d44e2ab9a5ff6d5db0f6113d752f87
BLAKE2b-256 checksum
How to use checksums
de81f27df5e6d641cdcf031f9bfac92e3fef07859ed733241bbf9f7c44907d8b
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.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL ctoon-0.8.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 424.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
29c84e2a53a69aa86f097cc99d6ddeb09dbe75a96f87bd0a0da4ce9e0e3acb2d
BLAKE2b-256 checksum
How to use checksums
dd614f574d53f4cbbf1a2c02a5fe6a56198817ec2afa16e15d6d45520ba791a2
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.0-cp310-cp310-macosx_10_13_universal2.whl

Download URL ctoon-0.8.0-cp310-cp310-macosx_10_13_universal2.whl
Size 620.2 kB
Tags CPython 3.10 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
54d7d20a2879e2d8bd4df0127a1a14336c3a5f071c71ef787bf3440b8da30297
BLAKE2b-256 checksum
How to use checksums
97afef8f6c49e433420d5d921d1415d8abd02a109a06c0961d4310e50383a45a
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.0-cp39-cp39-win_amd64.whl

Download URL ctoon-0.8.0-cp39-cp39-win_amd64.whl
Size 296.5 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
5239525ac3fb22a2bc844c72ae74e172c5f7392309dc37c4f0836890a72fe10c
BLAKE2b-256 checksum
How to use checksums
ef731c5ab486873e23f49f5a336fd17375f0b4432c62eb66b132faed045d7338
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.0-cp39-cp39-win32.whl

Download URL ctoon-0.8.0-cp39-cp39-win32.whl
Size 275.1 kB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
142653c768b8c9954583340fe953c074b481f2ccea9756b080fd3ee09a011105
BLAKE2b-256 checksum
How to use checksums
edda4b09c48cf0d02185601abfdde2a1e6c082ad2c2e08e1ec5f81bd2eec5c98
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.0-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL ctoon-0.8.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
bb39d0cc1b738e3ffe2c527bd5e28a9ddb2d0c3b06ef253843767e99b96cf611
BLAKE2b-256 checksum
How to use checksums
0ed1b90ec0171a000dbf2525136ecd38fe0772cc7d84e27a40a78472c78d48da
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.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL ctoon-0.8.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 417.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
d575cf3fa72fdaa81aca1dae324dc9400ba081ff97fd391e3b6c7cfa96288902
BLAKE2b-256 checksum
How to use checksums
557eab180cbec99be753acec25d0092e1cae678ccd419615dc0d21a4d9ee0663
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.0-cp39-cp39-macosx_10_13_universal2.whl

Download URL ctoon-0.8.0-cp39-cp39-macosx_10_13_universal2.whl
Size 603.3 kB
Tags CPython 3.9 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
6d5e90beca9c25711e43eac06126fa23863ead233e730f43fe27890df5f951e2
BLAKE2b-256 checksum
How to use checksums
185cccdcf073668b1c364564e6596c87f3ba75193e0da14d567ebdc86c1b1e99
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

This release

0.8.0 This release

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