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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

ctoon-0.6.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.6.1-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.1-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.1-cp311-cp311-win_amd64.whl (322.8 kB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

ctoon-0.6.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.6.1-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.1-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.1-cp310-cp310-win_amd64.whl (322.5 kB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

ctoon-0.6.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.6.1-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.1-cp310-cp310-macosx_10_13_universal2.whl (619.5 kB view details)

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

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9Windows x86

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

File metadata

  • Download URL: ctoon-0.6.1.tar.gz
  • Upload date:
  • Size: 756.7 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.1.tar.gz
Algorithm Hash digest
SHA256 1e8762fe12cea0e8b24420df0b883147f573f9537adb6e571883af5e6ddbd214
MD5 e367941fadcefa5895b2405c8a606d03
BLAKE2b-256 058f893c121d81d06467de2f31735e0785700f46c2fde7be4403b42eb71aef8f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.6.1-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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 88246d8ec5eeb0e9c9ecc30909265cac3c599e553ad3ddefc84b888459f862e1
MD5 5db2bf3156a3a0c00c4c0ed055ff1378
BLAKE2b-256 9800dad7516885876e7c07f77ef3facbdf51af286841ce07c54379a0b104c7c0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.6.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.6.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 4bdcf338c1b112831bb877dd409f4c385b695fda3d11aeb9b2834eb70fae40e1
MD5 2e7710936b3e1cec62d4862161db0031
BLAKE2b-256 328834453b5a30d7a3e716c3646af25094140392b7f05f93a1c40431bf171a8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c884d26abe27e50d92616889a5ff0a304a4e671130b1b680a8ed26707546cabf
MD5 b2138c07b2b22f65c7c4df0b942540b9
BLAKE2b-256 6d94c9c14bbfcac9edf728e1eee9fcee46cfd18bbe1ced61145e98553607ca04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 316530839dc6cba95bc1f4bbe80761528ec1fc9ceb55532501be996a340593d5
MD5 2e355535570059cdc57bb187d70b1a56
BLAKE2b-256 fb15e006668ba77695e7ca2180aac3a77335dcdb84fd05293aa1bd9ad80edd4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.1-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 b7f020f4c89b1227a7f2ede17e81ca1ea787060a86fbcc1371adf469c70dbc58
MD5 c55e6217b523ec417926968209400138
BLAKE2b-256 13eaaff35f48c989e1a9d879d798942a108f923ff8347e831f7802c82145cc25

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.6.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7d30beaa8ad4f9066acd3122cc989acb1234b6020a07f0f7dc260b847d91da7f
MD5 5da256903a3360e5e19dcff3b352686d
BLAKE2b-256 90981193698b1166f28d5f2a422412b1886b6856e86c30a6d1d6f729b70574ed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.6.1-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.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 51f8ae6ecde79f8e8bc82828451507bfa7fd16e8feaf4e5fbf0a9ebe40669b73
MD5 4cce59022af5a21bb6cc39d5884c326b
BLAKE2b-256 c64f22b1b4922a499cf4dca4bc2ef4ef945c178115438386f40769050b529610

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 878b38abfc6b7c40b4a0070bb918834d809f03b2e0cac9131c222c9f1618f47b
MD5 d0a11b80946a824f84f06ae8627b4c04
BLAKE2b-256 4a55fce3c8db13d7d724c2c95b2e32a828b8715e02c869fa88375eea785a051f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3d3475c2d7a72d87eafa4851f833cb7d7bd34011bd3b9cad44c2ea19df64184a
MD5 21b635973b32e72d4d5bec01afac7a66
BLAKE2b-256 e44818a0a1754e942baf55d38c1b20409e3b759d2d370df17b58516303e7ce79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.1-cp311-cp311-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 dd92cfd90386e4c2db08a82bde193dc2b93ec465e447ef30fd6e4df4e64b2352
MD5 a2499eedd5bd83429c3b43242609621b
BLAKE2b-256 251aca122c4d48bbdf1b766df6791cf372105269a21ac60104ee4f8a9ca9126b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.6.1-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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 91e6261c9acd92780e8fa733e91894003f09a76d30ecdd6ca07c9dd9474932df
MD5 bbf48d97f5403ce0a6139cdb1a363d5c
BLAKE2b-256 034fb7c6a9c5f9fcfcad917c4d681b78a5cfd5aac1cb480e4e2ea10bc371c744

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.6.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.6.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 1b52ac03c24fc5ad9385136eaf8f8a4746d6116cff1e57b713bbc102fcc6c119
MD5 a670838626c2a215fec52050792046df
BLAKE2b-256 188de24443755cd6850c44a9e4994e5d6e83da3409a7edcb9abda48e7790fb0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 eeabd7acdffd7363ea5ea6a8668696c7972e04730d608ee6d14c7d89faa8ed8d
MD5 1b09a17f511e232897e1ac4ceef098ea
BLAKE2b-256 e5d2184a70206640077cfde5675eacf858808d2a47ec1e2fb8d4ad614d6cf1de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8238b65f6c0b59b088f3973e20be8bcb53258f7de7b8ac68eed02eb4b212c465
MD5 e3d2c2d7ab1f5d1b478e69c0bd5e82f6
BLAKE2b-256 2737be2fb000b870ae10d48427cf1ec364491333a735d218afb7ca19d4a9108d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.1-cp310-cp310-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 4a338f611c58dbf86370b7a4b30f62bf6148d9c28a0efb5083312f34997243f0
MD5 0bc165a9837228bb8e9dff1967d5079c
BLAKE2b-256 54fce7a5a8a399a2722303a5f70f5a8a3bd7d9884c709a57a18eb1b2d9af6ef4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.6.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.6.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f013f1072be681a41fee09adb1c02b343f48f50eff4b280c2ea8e844d039bb9a
MD5 f4e3d73a70885d1c22d7be29fcc061ae
BLAKE2b-256 6734d443fa6161755110bf6d7b7903dbea14209e1a1d34de9e55b1eb51475374

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.6.1-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.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 36f2a72e0b25c5f8666e526f1abe19175c6784fad79c26c912d99a461460d709
MD5 345242f157258f7782373ef46a00fb6c
BLAKE2b-256 787e670833adc760b14d7bf9eb87f81c57b35054efa8058b06224a18af1027ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 61ea2c794c2cf419b0aae19837dea3d2ed4deab1debc7fffadcb108ef9374dd2
MD5 8a012b788370786fd3ae458d070a1088
BLAKE2b-256 076c3e5beed24e93bf7b35a2e8c08b26b7a2adf936aba4476b81892b348fdba0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.6.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 07decc719bfc655bf04bb2f5878109070aa2a744d213383e4e571333f4a4ca58
MD5 0c17c65f8723e7189786755fb490f1bf
BLAKE2b-256 875e523c7532e05b0e8470fd0a14cbbb7fdb62bf8d8bfb0de638563f2b64b0cb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.6.1-cp39-cp39-macosx_10_13_universal2.whl
  • Upload date:
  • Size: 602.7 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.6.1-cp39-cp39-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 64915a536eec79fc816e444253c06fdea93f3e9b5911cd5ae4d27d1759e7398f
MD5 9a3df1bb1893e45d9cfc3601fc6c0a1c
BLAKE2b-256 de0a307a31af724c9c9f9e4bf57d246a30a7c5aae2aad02153a7fcacd463e22a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.6.1 This release

21 files

0.6.0

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