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.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_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.1.tar.gz (714.8 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.1-cp312-cp312-win_amd64.whl (322.5 kB view details)

Uploaded CPython 3.12Windows x86-64

ctoon-0.5.1-cp312-cp312-win32.whl (298.7 kB view details)

Uploaded CPython 3.12Windows x86

ctoon-0.5.1-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.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (419.6 kB view details)

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

ctoon-0.5.1-cp312-cp312-macosx_10_13_universal2.whl (616.7 kB view details)

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

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

ctoon-0.5.1-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.1-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.1-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.1-cp310-cp310-win_amd64.whl (322.4 kB view details)

Uploaded CPython 3.10Windows x86-64

ctoon-0.5.1-cp310-cp310-win32.whl (299.1 kB view details)

Uploaded CPython 3.10Windows x86

ctoon-0.5.1-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.1-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.1-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.1-cp39-cp39-win_amd64.whl (295.8 kB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9Windows x86

ctoon-0.5.1-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.1-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.1-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.1.tar.gz.

File metadata

  • Download URL: ctoon-0.5.1.tar.gz
  • Upload date:
  • Size: 714.8 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.1.tar.gz
Algorithm Hash digest
SHA256 630b08e72578a22916e5246bde0b93e33b0b2bdd49c29671554d4041878106e0
MD5 e59abcc910a81f6270bcb1cba3738e7b
BLAKE2b-256 58b63d8e928c8abb7b5ea8f418cfe1f0594e8d561063925bc5d47cc6e463d952

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.5.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 322.5 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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4d305541ebaf8b09c0b5bbb36d2742e6a33a2b9872587ba701424274bb392e73
MD5 34d317213bb6807350e15521572eb553
BLAKE2b-256 afdeaece88430fcae8e20d1aa76d0b4037ad5085b091f98be3dae0b9e7ad9a88

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.5.1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 298.7 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.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 1f13423bb2da62cd44a56c1d9eda60503479ed72f80fc7270540f8c7c983eaca
MD5 c062db4402abcd05f7edc9f0f2b7bcfa
BLAKE2b-256 d7ee25bfabf6204d79bca48c669bca0aba721514579fb6736a734b13faabffaf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 07bc4849ba510c959a134c5bdf4dc3d2eefa96c5ef90c4e94bf85381162e4fad
MD5 348aac26a908c2508268f8038ee1e173
BLAKE2b-256 3de9a9230f91f58690fab43549c5ce1165deb2e787789902fb822088698e09f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8c482ebf5875751ebf55608038f56c6201f6aba811a1fc71f41e91a0b25603ab
MD5 c002b6020918da7e160b099136ef6ae8
BLAKE2b-256 a2efa92f03a45e28408350bbdc93398d0b8a9a050a2c847bc03eeb1ab5f0f201

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.1-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 ff3ff70c270af2c44ebc0009bc0ee2847dcfe85c887e13e7c9cf76cb1ce2009a
MD5 48b018f8f501051048b44f39a766bd35
BLAKE2b-256 9ca9de7b61878b4982e2274363debbb2b48e4e2671c33944532d9e78a7394533

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.5.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d5c30984f27ba9453c69fb6a405e3fc18c9dce01652b5097daa76f9a90598a6a
MD5 b70f22dd6a4a6dcd6d8bcf6bdf7254f0
BLAKE2b-256 ad3445492b30c26de68d1827fc424ffd22e22dc3a17e304e2a771718d510d09a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.5.1-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.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 c8d246a1d8e41d55996a15a410293835076cd4fea6401fbdc448c5129b755699
MD5 11dacae72e9209bb50b26939949cf80a
BLAKE2b-256 27cfd401e7fd8b148c8cb17d3f58e47e9cff5f236273568e0e1b5cf32452ede5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5c522fe8937de44d597a9132a96c6a0fc03067e25499adaba776a0d36358a596
MD5 12e9b8f45d14abcb430cfb18b8e38930
BLAKE2b-256 3cd10a5b84f9fcc8bf6c4e2e33370a72ac1ab8f0be47f7924b99044f67a0c282

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6e7c795266109b7b658a0c78588b8a5d234d69a58305eb9b40b738a4e60e07d1
MD5 24cd210a77e6792cf7d05e0ade2464e4
BLAKE2b-256 dbf43e186c775d415c5b6d24ca23954e2306abdae7b5416af90d6d37ad0a1a5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.1-cp311-cp311-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 dae2c54a21d734598520b8c918e7be261e59bacb1167ffd89cbb8118b3f0238c
MD5 7230811db04da1324cf0702b1423ebcb
BLAKE2b-256 8cc7c6e6936bdf3dc7fcd642178b63b95ca46a212dd34a34528080376cfaefbf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.5.1-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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3175e26cad55d1b8b3055e268ef0e54824339c82083f67cf36727b1e8087d5c7
MD5 fec9a9e82208ea5efe3bf784b2bb06b9
BLAKE2b-256 a8bedb4ca8fda4574bb6cb63d9994cf084cd1dddb349d787eda8b600b03e870a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.5.1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 299.1 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.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 b6f4fb68e2fe500d9627298d0e7d34e8c04938e594127047395b36a824d9934e
MD5 8799656fdcf0abdd91ce1700c012ea26
BLAKE2b-256 aa32dd731f7ddc9c3e13ad695f8e4cbdbeae4641724d8797a1ff8da2d94a0975

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0a6f02dc9299d30be42784fb93d0afec514b85ce60e1c3ee4909213aad0920c5
MD5 004635d2dedbfb70bff5169bada86f26
BLAKE2b-256 38773d119fb5cce3e2a78ef07647f78c41f639fadade52b07a9eb7d4330c3e2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5edb5d697562c186f640f8a9155e0cc85d5fc82ffb3ac430cf0b134262ec601f
MD5 cf83de62b575e6e5cdaa4e586f940f53
BLAKE2b-256 810dffc7aa3c7d4d42408deefe48875b4d244718ebb9684e85ac8c02f63b1bda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.1-cp310-cp310-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 dbe345ccafea0f26137c1a3798ec34f7af0ef4047f13c1737f157ecebc59606b
MD5 be2bd2aca0e706054271c147b74f8f83
BLAKE2b-256 22a0b86b9d8af48852e7c2be3761fa8515073cfd66cbbf21e11e01cf992cdb6f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.5.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 295.8 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.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ffe1a813652cafe5aa830d578f51e9c94fa607d08330f3cbd9cc333b1c036de0
MD5 bb7558a3eb177df50d4a85fe269e78b7
BLAKE2b-256 c0a4239490009d881dd1695199d4ff44ea7148c894cf45aa9beae9c77f063ba2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.5.1-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.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 c5d8a1f4447164ba9ce9a1e1c59db6d1edbafbb1ece74f68b2c870570e603f12
MD5 eb17247d20360ef729a0f7a2bcd22bcb
BLAKE2b-256 5d0fdc8d9b5a639ced7ef9a9cd9a939b5fe5e171f58b6bb0b5b03d4fde49474c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e0b28957beda101a3b327a9ec62a87c931e8649a0d0849e229a395f74170bd2b
MD5 0bf303a544ae5753c6de530e57386a7c
BLAKE2b-256 fc59ab1fee0204729c90fdbe6eb7b63e7e1deec6af25fcd48e7578e1e94776d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 379736882300b8a46a11bf2ffa48b6ffd6e059ab01985d3749ad047b260a8aed
MD5 5b08e22bf94b04d05f62094d0ca459b8
BLAKE2b-256 a8021b28a3747a9cb570de01b455231aaddb98eb6dabbcfee4fedf3573caf54c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.5.1-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.1-cp39-cp39-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 c292e5fa54ed5c410327b78207c17d795be3084b6c91b10bd54e753f526d1758
MD5 39848f9db4500b4830a5c0425c4ce1d2
BLAKE2b-256 4d6937eadb64ba8e219779966b8e05c2e7e176abde392bdc030b7cab667bf2f9

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

This release

0.5.1 This release

21 files

0.5.0

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