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.6.0.tar.gz (741.4 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.6.0-cp312-cp312-win_amd64.whl (322.6 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

ctoon-0.6.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.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (419.7 kB view details)

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

ctoon-0.6.0-cp312-cp312-macosx_10_13_universal2.whl (616.9 kB view details)

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

ctoon-0.6.0-cp311-cp311-win_amd64.whl (322.8 kB view details)

Uploaded CPython 3.11Windows x86-64

ctoon-0.6.0-cp311-cp311-win32.whl (299.4 kB view details)

Uploaded CPython 3.11Windows x86

ctoon-0.6.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.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (424.3 kB view details)

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

ctoon-0.6.0-cp311-cp311-macosx_10_13_universal2.whl (620.8 kB view details)

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

ctoon-0.6.0-cp310-cp310-win_amd64.whl (322.5 kB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

ctoon-0.6.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.6.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (423.7 kB view details)

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

ctoon-0.6.0-cp310-cp310-macosx_10_13_universal2.whl (619.4 kB view details)

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

ctoon-0.6.0-cp39-cp39-win_amd64.whl (295.8 kB view details)

Uploaded CPython 3.9Windows x86-64

ctoon-0.6.0-cp39-cp39-win32.whl (274.4 kB view details)

Uploaded CPython 3.9Windows x86

ctoon-0.6.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.6.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (416.8 kB view details)

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

ctoon-0.6.0-cp39-cp39-macosx_10_13_universal2.whl (602.7 kB view details)

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

File details

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

File metadata

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

File hashes

Hashes for ctoon-0.6.0.tar.gz
Algorithm Hash digest
SHA256 fcb5ee8b5288a69eb5af6aa16d811aa4434f657d43196abedf90dfb45dae1f6c
MD5 270e5dee805494d8a7d0a105ca8cb046
BLAKE2b-256 0275d48f7defc248c2c41a1106db7230d6ab2e9332215d40c2a7607df3bbf96a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.6.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 322.6 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.6.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bd12244df6a816825604502c9ddb56ff8beeb74d3fe134c2bf573f79008fb7d4
MD5 ea2f63bbd0e4e37abdb0fde10b8e6e87
BLAKE2b-256 6cb32bc55c151a9db2f9b5a7e2fe0b2a21eef36f49952b32230bb48be47d40b2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.6.0-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.6.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 d6cf4a8c56a979532426c00f532e17fe889d5a6b8104e9ed8dea961c760709fb
MD5 72c54a475a2c365f5b36ea762fb8f1eb
BLAKE2b-256 f36cbb196137638f46e942451c2da065b389b579f943043ba3e2d4a8b3b1516d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e825879c179b6a83b152871e27a8016c01c33bb41d345f91b30acb8cfcc98cea
MD5 83e245236748afa0f38b8e7dcec5916d
BLAKE2b-256 a981672a31764766dc2c71d7538b73a2146db549debeb0d37f8c292da522ca7a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fe2f3b458a08a29a4755611de82b5408f38388711288b5f4c6bf102945241b62
MD5 46929a7f43c77cdd1d21aa199f36915c
BLAKE2b-256 52029f10f2771abea04189b5a8195dbbb158534a0b06d7bda68528366a2bd9c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 9685af3342a309c869dd1f34b716abd1a64d14225b05c661344e6ebef59b5b56
MD5 243694f38a627e04ceef7c0172737fc6
BLAKE2b-256 23f95a318b7a294a395e5c870dff45b5991262149f8bca6b016ef9086cedbf21

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.6.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 322.8 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.6.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a430c7eb04224ac4547dcac2128542eba147bb985e84c14e5fae3c883d3de501
MD5 9fa7f07116f94819e21bc0657c83cc1b
BLAKE2b-256 245b39a95aff72133c1e3c8e2d5c8a4fee4c69164d8803de40a82343ce16e8bf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.6.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 299.4 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.6.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 649834b7cecfcfbf09d23822427b08537cdd3ea3da1f029a442e4bfb9e68bf27
MD5 6e31281486ca7331b7d58507ff6f858d
BLAKE2b-256 bb9a84982b246f726b4e5faa57a508727fc5ca4bdb9e9d9eb11b394693acb3e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 19a9cec0aa1ebd45c3fbfab93dfc95fafdd6054556975d05de53a840c82cde70
MD5 c97aea5eb94aa7384b9df4f634d2e8dc
BLAKE2b-256 65deed977be372f19f7068bdb0a427cd5a4b86d14223b3df0cda740073c1f015

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4ef69008a31b506f9bd0776f961a37e0ce689724875689c6b43c463f110d92b5
MD5 3f2b2aa8636b85cf00b093398a5ed0db
BLAKE2b-256 b902671967ec25190afbc97b0ef3ef4be7db469318b4d1aa1c0fb18fc495e52a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.0-cp311-cp311-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 805217ab981f3099f042bd21d8112b5a9a20bf5453455b078db9d68f107012d7
MD5 7f4f13c7fb714f8072bb22a703763594
BLAKE2b-256 b216e470a32b0051cccf95eb796c53ee5fb0004d8ddbae96486530a7a8fed71a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.6.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 322.5 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.6.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2fb4d6f1bbf62fd9f22b1f5610cddbfb95e768be19587a0f5c2606faade944d7
MD5 6b7ecc59340725548599c4a505ac0963
BLAKE2b-256 c66905f365d7c4a8c3ab72985c19931cd2a3fd0c4852a1625372f29941c11512

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.6.0-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.6.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 8b091db6649d38d13df865dd54ea2dd4e2d952a2de7228c4f091ffc641c4a1e5
MD5 ea25a49b0f2b5855fe81dbd6ece2131a
BLAKE2b-256 9f7345015b28a527c310f17042361f7f4dbf2ae5559cca4d5a898b6e5a874cca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 650286acb40fbd7f28effb7da0d6b567aff22e9539b070ab51ee31438ff96400
MD5 cef6ca743250fe919a3ee38ad3d7998a
BLAKE2b-256 6029dba62c91e31f7b26c2423de13803c14a502b3cf2a98b1f0f4109535af552

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ba87e92646aeb51defdc2b1498474c565b9f5e7f7d7b96a3dbfb08c6faf375c2
MD5 c139149b634edd3024f20e74c1a80d97
BLAKE2b-256 e2df3f31a1a8e4ab973284e804463640a30362dbb971166f4c13cc1af18e7f0b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.0-cp310-cp310-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 23ce64bc6c2334884016d1febcca8706de2f3c7fa67cd55ca671aa4fb49901cb
MD5 24d43689b3ebaf5d70bfefc34dc042b3
BLAKE2b-256 22959ae0d539e5ab32a4836336cc77e38290126a434a0fb6acc4af2686b7aea4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.6.0-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.6.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e6ee08f68587c5da79079f97cd6862024757765da52c054a7b68536c70566c69
MD5 dd2034dcde8c31d47a30889c6749d1d4
BLAKE2b-256 d026b4517d3121e09b845e0c77bcbe700cc8938b51ee53d3bb9e324fd9dd8336

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.6.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 274.4 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.6.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 1c59ca40ac7fc3bd9e6eeda8cc74cdc2344741d9303132b51f74f853cd197494
MD5 5d2636deecad5497145dcf748d74f8be
BLAKE2b-256 e7fc3d50e563e22843db8409239e286a72723529321be0e2cdbb712462dec664

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9c72eb73b3fed6f05ff78d6f1f944a1be0c9f3b6145227db7a92f0cc3005689a
MD5 e91665b23a4b032a083badf7bda69383
BLAKE2b-256 f56f4c85a34ba3d531f3f15657d527be64c624e84b7d388975351e190a64afef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ffee8df6ec58287a8f768837211ec9832446ce6e9393afea00e740dbfc9ee150
MD5 3d5d003912fc18e27273a0b79b420354
BLAKE2b-256 6d8e1453239d5c8bd561f93afd8735b63d1a46ed653ea8ae37b8499ce722cca6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.0-cp39-cp39-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 894db686537f273209c040cb84213b544c119a07dc155ad8ae80247f1fe70ad2
MD5 0ebfb36f03a45f96550022e134157e82
BLAKE2b-256 bede23e2fd34dbb7d9af8ac8f7bd63efc0941a6d6258662d8626a77b976ca52f

See more details on using hashes here.

Release history Release notifications | RSS feed

0.6.1

21 files

This release

0.6.0 This release

21 files

0.5.2

21 files

0.5.1

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