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, 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.write().c_str()    << "\n";  // TOON
std::cout << doc.to_json(2).c_str() << "\n";  // JSON

/* Build a mutable document */
auto mdoc = ctoon::make_document();
auto obj  = mdoc.make_obj();
mdoc.set_root(obj);
obj.obj_put(mdoc.make_str("city"), mdoc.make_str("Tehran"));
obj.obj_put(mdoc.make_str("pop"),  mdoc.make_uint(9'000'000));
std::cout << mdoc.to_json(0).c_str() << "\n";  // {"city":"Tehran","pop":9000000}

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_MATLAB OFF Build MATLAB MEX binding
CTOON_BUILD_DOCS OFF Build documentation

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
MATLAB binding MATLAB R2014b+, C compiler for MEX
CLI C++17

License

MIT — see LICENSE.

Related

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ctoon-0.5.0.tar.gz (710.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ctoon-0.5.0-cp314-cp314t-win_amd64.whl (334.4 kB view details)

Uploaded CPython 3.14tWindows x86-64

ctoon-0.5.0-cp314-cp314t-win32.whl (309.9 kB view details)

Uploaded CPython 3.14tWindows x86

ctoon-0.5.0-cp314-cp314t-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

ctoon-0.5.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (421.0 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ctoon-0.5.0-cp314-cp314t-macosx_10_15_universal2.whl (622.3 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ universal2 (ARM64, x86-64)

ctoon-0.5.0-cp314-cp314-win_amd64.whl (331.2 kB view details)

Uploaded CPython 3.14Windows x86-64

ctoon-0.5.0-cp314-cp314-win32.whl (306.6 kB view details)

Uploaded CPython 3.14Windows x86

ctoon-0.5.0-cp314-cp314-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

ctoon-0.5.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (423.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ctoon-0.5.0-cp314-cp314-macosx_10_15_universal2.whl (619.5 kB view details)

Uploaded CPython 3.14macOS 10.15+ universal2 (ARM64, x86-64)

ctoon-0.5.0-cp313-cp313-win_amd64.whl (322.9 kB view details)

Uploaded CPython 3.13Windows x86-64

ctoon-0.5.0-cp313-cp313-win32.whl (299.0 kB view details)

Uploaded CPython 3.13Windows x86

ctoon-0.5.0-cp313-cp313-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

ctoon-0.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (423.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ctoon-0.5.0-cp313-cp313-macosx_10_13_universal2.whl (619.4 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

ctoon-0.5.0-cp312-cp312-win_amd64.whl (323.0 kB view details)

Uploaded CPython 3.12Windows x86-64

ctoon-0.5.0-cp312-cp312-win32.whl (299.0 kB view details)

Uploaded CPython 3.12Windows x86

ctoon-0.5.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

ctoon-0.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (423.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ctoon-0.5.0-cp312-cp312-macosx_10_13_universal2.whl (619.4 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

ctoon-0.5.0-cp311-cp311-win_amd64.whl (322.7 kB view details)

Uploaded CPython 3.11Windows x86-64

ctoon-0.5.0-cp311-cp311-win32.whl (299.3 kB view details)

Uploaded CPython 3.11Windows x86

ctoon-0.5.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

ctoon-0.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (424.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ctoon-0.5.0-cp311-cp311-macosx_10_13_universal2.whl (620.7 kB view details)

Uploaded CPython 3.11macOS 10.13+ universal2 (ARM64, x86-64)

ctoon-0.5.0-cp310-cp310-win_amd64.whl (322.4 kB view details)

Uploaded CPython 3.10Windows x86-64

ctoon-0.5.0-cp310-cp310-win32.whl (299.0 kB view details)

Uploaded CPython 3.10Windows x86

ctoon-0.5.0-cp310-cp310-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

ctoon-0.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (423.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ctoon-0.5.0-cp310-cp310-macosx_10_13_universal2.whl (619.3 kB view details)

Uploaded CPython 3.10macOS 10.13+ universal2 (ARM64, x86-64)

ctoon-0.5.0-cp39-cp39-win_amd64.whl (295.7 kB view details)

Uploaded CPython 3.9Windows x86-64

ctoon-0.5.0-cp39-cp39-win32.whl (274.3 kB view details)

Uploaded CPython 3.9Windows x86

ctoon-0.5.0-cp39-cp39-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

ctoon-0.5.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (416.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

ctoon-0.5.0-cp39-cp39-macosx_10_13_universal2.whl (602.5 kB view details)

Uploaded CPython 3.9macOS 10.13+ universal2 (ARM64, x86-64)

File details

Details for the file ctoon-0.5.0.tar.gz.

File metadata

  • Download URL: ctoon-0.5.0.tar.gz
  • Upload date:
  • Size: 710.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ctoon-0.5.0.tar.gz
Algorithm Hash digest
SHA256 46630842003dfcadeba971ba22c2b7a98dfe784240da871630e23be3104ada8b
MD5 408ae8e9277cf2520b523ad0ca6b6973
BLAKE2b-256 de14466394099fa38302641438165fc2705b061c7ce2a39d8572e4b74f1e1b7e

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: ctoon-0.5.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 334.4 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ctoon-0.5.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 36977049b44c941ae18ceb7a137fbad952ee3536cbbbaad2c564e195365ca6cf
MD5 2e42b5bf486faa1c9ee97a45af12f93d
BLAKE2b-256 af1f259408cf88e16052c5730ccf1f612c0e8eca522871de7f159eec888766a8

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp314-cp314t-win32.whl.

File metadata

  • Download URL: ctoon-0.5.0-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 309.9 kB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ctoon-0.5.0-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 d84d7a9a51e3c4f3da5c21cb9e753efd0e3ce161fc08f2c8df182dbf3f7a52a8
MD5 f8b262de07aaaead5456b837c92fbe94
BLAKE2b-256 79bce7763040b29112f099c127783d1b22dc7df763ac891d2217c81ebaff5c23

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b67ef55d6b060e4edac58d36865f28ef664c10cc8d48d251fe2b358afecf4c0a
MD5 03b0251b8122b7d0aedde54cee8aa40a
BLAKE2b-256 0d16d1307b1aaedbd198b8f1bbf599172fbf556ce6f0f6b4e2c683f3d5081543

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e4445db0fd8e5b1f3f25e28073db067821b3e233b8d73c86bc6d3bf933812b02
MD5 dca8d8c481741bcf141788594c07ea69
BLAKE2b-256 a47749102775e7ba5f12c99b6a1c6c9d9f519f51940b14d3a7f5831fd0748689

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp314-cp314t-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp314-cp314t-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 e83272153d6ca55c1b8344e714fb6e68b436a1cf6406652a7cf42a45eccb5d23
MD5 a1acd060277264ebffa9cdf44b83a3e7
BLAKE2b-256 56076a1ff6aa780ebeb64adb7b5f3b6d0bb1c6edeaf5ea10c12f31b9fce1feed

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: ctoon-0.5.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 331.2 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ctoon-0.5.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 44b2f4227f48e9d7c286b7f8bee51d4246652b443c904ea4c5d47bc17aa2506e
MD5 ca5619af1d590bf45ca544e11290215e
BLAKE2b-256 341b789c4f1f2b4db86a40adf99b9ee492ed54bf23bfd7c3c9bd484e6b13378a

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp314-cp314-win32.whl.

File metadata

  • Download URL: ctoon-0.5.0-cp314-cp314-win32.whl
  • Upload date:
  • Size: 306.6 kB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ctoon-0.5.0-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 1adb1f8d53e5b1ca87aa30ec42fb7360ab413b3a59a8747ca59522ae0cbb111b
MD5 3358d1ac4f16627bc4d798629b8d5231
BLAKE2b-256 a2f01940b0b16fdaed99e01130fbea6cb6b151bc89c50de1182b93d3808061da

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 62f58f2d2f3cd55fdd9b4c535afd7827d3c05b0a179c5dc41449e7b85e65a32b
MD5 6169604027a196efeb5fed86002aaf5a
BLAKE2b-256 77549d312fab82126ddb33622655d5cc53732efd304a56140de512e4d9296c72

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a48fbb79a8f60fb0ed7be6a3b7ad6c79eeb9514a16a17412ada672106dfe65ab
MD5 b01c7da43bcfe1cfac3900612cb011fe
BLAKE2b-256 86e93a9436bf7606adcfc10dc0f0fdd0d86f96c9c553bf64b162fa29eec67b4f

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 ea198a2aa0e3cabab25084b674e57ba7068ed8ffe2868248eab1a329e73a8b30
MD5 3dcbdb6dce6ef97ed3057fcb8288981e
BLAKE2b-256 74c60c9b7a016b5eb6fa89a74d349c91a7c8ab75781dccd112372999d42aebf0

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ctoon-0.5.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 322.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ctoon-0.5.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1ff7175a530c3f674dc12a6c0b40cbe995e96bc0f9c6b7103bec0d218392fac2
MD5 1ef9edb77e0e065a4cd9db66c10825af
BLAKE2b-256 54cd014efaa9a50fdc4de7acb1affa28270c1ad9d14a47966c8958b29980e92e

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp313-cp313-win32.whl.

File metadata

  • Download URL: ctoon-0.5.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 299.0 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ctoon-0.5.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 0550772c3b32a8e16cfbfa630df5f9a52db849dbe1565ae4406d6bec63c91981
MD5 035dba199b7acecd3c21691f4182c2c6
BLAKE2b-256 48ab4eb54a77b6d41b7ee5ad14e2f8e9316d9c0e784cc5971b8823236259259d

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 124c30810bc20a717c0406fa70c6db76fa0343d89f27d6076b0476980dd33f62
MD5 50787eaec30b5e39b48a1bda739382cd
BLAKE2b-256 ea8947c1257fa17e67c2ecbd503085f93ce26f01a6ef634e204da7acc06c149c

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8f779596b4bc30e10d43d8341d376e2bc51b11ec1ce64a59906bad77bc69f896
MD5 3ca7c6ba3386e91e1b5bbf3a19729c4e
BLAKE2b-256 72718a86189fff1576bdda89a49a565cd278517a457cc74698abea07a8e0a770

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 3dd17bdb1539f7d1ab86cffb0a8215512ebc389dacc34b1e12751e1c7acc1080
MD5 8d5b0cd4ab63d7b32e057a553c17f281
BLAKE2b-256 487a4a5c0f1463674c0270b664e705ba4ca5ccb89ccbe6c98276d25467de24d9

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ctoon-0.5.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 323.0 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ctoon-0.5.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f198571e25384873a9e10e1d617c170eb43ba6caf0e44025ed2c8cf835105992
MD5 650f893c799fcdadf3b8717c0d94985a
BLAKE2b-256 a349e469eda53e7ba01a2db6f558d584aaf440b2ae4bc5fb9532d6e1bc1b210b

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: ctoon-0.5.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 299.0 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ctoon-0.5.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 b0962ca6d50a47e536323c238eb15ca4e3ef2621b7f8c0732617a2131c39fcc6
MD5 b3b696e2aed0c153e9c7d8a48a8a154a
BLAKE2b-256 0edd05888ca339e203847775a2e5ed2c4a8b0f888c697a2c8099162401beabf7

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 15edbccc7265bb3afc9c970fb12fe9a8391b44af605c36a96e03dde06e872af6
MD5 8979311b769c17c62977257a930f0a18
BLAKE2b-256 19203de6d438441ea2602f05a7ff381d77c35d8e16b22cd6c1806083afea174a

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f7638507eedc8a96bf03a8aa4456eccf0fe6715cb21d8d815ffeea8b8470e746
MD5 fbbf9306d24b3e4e83972ace448228e2
BLAKE2b-256 8c4e55b08748656e2e0d22b4030f22f0138a4fa0720c4e26b02ac1dd3c7ff83f

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 c159a469d01fe08cf37e0714a6192fe578715bdd0701e0b6218a84fc6f6b2754
MD5 8660140d64a5f10e5728545cb455d6d4
BLAKE2b-256 626678cd906db2ac6fcd32806c6f91307e349a7f60407abb48c5d425638640bc

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ctoon-0.5.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 322.7 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ctoon-0.5.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 881ca99d50ad319912e20cd462d3a5d91806f430ea65466d13bdc067694f9c35
MD5 042b62e6533fd824158bacd99a0e64f3
BLAKE2b-256 79115c1583f73b1317fc66486614563ee0168ca95a967a2704ff19f9e3a21b30

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: ctoon-0.5.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 299.3 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ctoon-0.5.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 c339d56e8dbc87e8202b70cc7b46f01ed8bb189d4ed2efbaf39449887f42c6f9
MD5 8b63793dc6a1f6ed4a05bf984d530874
BLAKE2b-256 1491f15148abf4dffc791436d33b64b452123a211050658181c413079fec4a72

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e0151789768b99de9a65ea0d29c0e2981616037d3b71192822b8efde76a220f9
MD5 30e9d31c0775e0a79d2d0cc14ae296a4
BLAKE2b-256 28008cc825253d0071bca0513010571a8a65b123543d3fdcf7aead11a39fb5c4

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 79983ebe51c62f193a110bc1c31e239eaee2eade18a1ecc6628c61bcf28022cf
MD5 0db7e48687ec7e927444e0c35641ad0c
BLAKE2b-256 88d9d2fabb7aa521563f52a9525e9b5ee8d866461d8f93baa19bb99038e8f0bb

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp311-cp311-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp311-cp311-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 7cf38ebb3e9485ea0eac3300648c0f7e8d962b1929901af8704ba15fbac3bda3
MD5 66fa0cb1fbb5d94ecffc13df4e418ccd
BLAKE2b-256 94bc24a32034e9ca55cc95c37024a7474a851e5c3c6122868eeeece597a8702b

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: ctoon-0.5.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 322.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ctoon-0.5.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b5739484d7985f2c41693ada543b0a7c6e65744a7a361f803313e4f2f07c8bc5
MD5 11470be71b27fa6d586a492a4ac98683
BLAKE2b-256 b33ff3b04bc297df922f35d9a3a821882b90bf0bd50ba7f4550875addd1666b6

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: ctoon-0.5.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 299.0 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ctoon-0.5.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 ca7a1da0129ab19eb3d6077f24351e19648ca93963bc2cf2d2fee9135464e17a
MD5 e3c99cc9bb877c630f5cfaf955b4861b
BLAKE2b-256 4dc5af0bdf478b78efa161e16952efcecddc6e15ce0dea1a5ed16b274c509114

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9ac893cdef5e25e2a3610878739f027cd9471783cc98cd7b772a4fab08866cb5
MD5 57e99b074cb9995def62a2c8133a6958
BLAKE2b-256 f00579631653cbe94e867641320d7493914203b0bacb6674ba10da3acb1710d8

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7ecab5ef3fff5e0744b6a3f29b8e257d152881b9a7328c1ba7f3e93baea5ea38
MD5 65b8fc165d4384bf2c42f4fd9ec245a9
BLAKE2b-256 941a331d00bfff78893c8d0765a9286c902eec01c2c1cb20fafe003e800fdf6d

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp310-cp310-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp310-cp310-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 41cf9ce8a59b26d50f79647579cafff57a1c232e8d95a7e271924110796654a7
MD5 03fb3e301099220609c918052ac0a8e9
BLAKE2b-256 25a232c767a28586be1a6918ea0781e13a9da5e18bdc195c40e97ed2f9dc763b

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: ctoon-0.5.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 295.7 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ctoon-0.5.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 03111cdead136598cd47c8c8c5469209e3a9029bb45c8eff43e0d0b54d74b801
MD5 ccfc935a75610d1dbcba33353a9f7e2d
BLAKE2b-256 bcdb0aabaa38030301f8c8cbd0e60c67bf62d6f82fa2f6a29be0891a7061241a

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: ctoon-0.5.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 274.3 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ctoon-0.5.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 b1216f4f941aae4d93a68ff5e796111172197b3e42771f2c1e615b87c9a48452
MD5 a758a6dbba089d14b49d5fec36896ac2
BLAKE2b-256 6ec9a3edfb2bf8725ab7f3e6b4f7de57117a69093d3941079c07458272e6bb74

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 02c0d3e2dc093a88ba4ed5799f7eb913d95efbfba975ede95b99b4fa80b76af4
MD5 3ee4dd7292415e829226c15d4087c4ad
BLAKE2b-256 c574371d7919b113ecddd841bd1b87d52198ef75b3970190627e3f6e40e68aa7

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ctoon-0.5.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2df3c61a145f64161fe3e57555e32f6bd24dbcb8ec5e4269b4c9d7694e9b3bb3
MD5 c0d53bd390d0306698beb1c659804d0e
BLAKE2b-256 a5858719cd9cc29394e8a3ab799a14ecc9b6d7881fc58cd73a369059b690f0a6

See more details on using hashes here.

File details

Details for the file ctoon-0.5.0-cp39-cp39-macosx_10_13_universal2.whl.

File metadata

  • Download URL: ctoon-0.5.0-cp39-cp39-macosx_10_13_universal2.whl
  • Upload date:
  • Size: 602.5 kB
  • Tags: CPython 3.9, macOS 10.13+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ctoon-0.5.0-cp39-cp39-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 1cea91c5586c8b17ed03d435d53245a7530e29583764e14fb02abdf5139ee86a
MD5 66d3bd78435f94b992a2b66cb9a5ba92
BLAKE2b-256 882aa3345e326cc4a9e83579186583ac7b517d547b0cf90876a10946f5aaae4f

See more details on using hashes here.

Release history Release notifications | RSS feed

0.6.1

21 files

0.6.0

21 files

0.5.2

21 files

0.5.1

21 files

This release

0.5.0 This release

36 files

0.4.0

36 files

0.3.0

36 files

0.2.2

36 files

0.2.1

36 files

0.2.0

36 files

0.0.1

2 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