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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

ctoon-0.5.2-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.2-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.5.2-cp312-cp312-macosx_10_13_universal2.whl (616.9 kB view details)

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

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

ctoon-0.5.2-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.2-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.5.2-cp311-cp311-macosx_10_13_universal2.whl (620.8 kB view details)

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

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

ctoon-0.5.2-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.2-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.5.2-cp310-cp310-macosx_10_13_universal2.whl (619.5 kB view details)

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

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9Windows x86

ctoon-0.5.2-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.2-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.5.2-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.5.2.tar.gz.

File metadata

  • Download URL: ctoon-0.5.2.tar.gz
  • Upload date:
  • Size: 731.6 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.2.tar.gz
Algorithm Hash digest
SHA256 e344b79ed4c6b634396a50a10a934caedb5294163a8da6031f34739650e932a7
MD5 a19b71bfb22a24daa3f7513edf716a2c
BLAKE2b-256 db43d95b9b03e3ea99b495c3deca81316e713ab561412295fcce4ced96e5b72f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.5.2-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.5.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 38a04e1e693c7406944dfe437199156e410f8fa11218796ae8e2798c51100751
MD5 8924578336b899474522070435f0c5c9
BLAKE2b-256 2b96e63fc030e9df3551a53453115b0b94dd32fb97044330a43ca8f865e30713

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.5.2-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.2-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 13ac12fc7eab690de1932dc5ee4a15b528c1571c296f3b8406e2311eacd08ba8
MD5 3631305171836a1a2b65bb27bc107e40
BLAKE2b-256 84dfc5ade27d3462052ca3697d280ebdaf34ce2f9b1a0dc28cc737b3efac3814

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 805805bc4bf024c23332e5c17215099e3eb880c831d4b4f05f5b28cdfa8f9abf
MD5 01e4e3dedbb2d9b535e5a5bad884312c
BLAKE2b-256 47135e327d9c2c772c7b772aeb118776e5deec677630ea47a9936dc5b832a3a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3d86f866219d88aa66e285839849d42178a6574eba2c170e67af351f58203e36
MD5 60e49d60c87b1ac4d68c814c32ce6adf
BLAKE2b-256 d92370756689ceea28580966343acc2feca2588328decd6495e30f5b68985ce2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.2-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 af2ff394bfb90f74a58e97dc95819a1f4cd79298294f6d096f174e571cc88a9c
MD5 91e16f146567ed2ed5be2f09f9dde385
BLAKE2b-256 6477ab08a2d2ff0211ae3a6b2fd6e45d3b19c4bb496c8308e97d7f0be4516cd3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.5.2-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.5.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3ea5e8679cb4193aa63f47a8fd7d3b49c134295464f44aad6feb2d8bc9ba3351
MD5 6b76f346330c43e86d6f4777f231ba27
BLAKE2b-256 4f42d140e5d82c666462025ffa25ad9d4128d5b8a5b36a5cd0c31a7ed18eadb0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.5.2-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.5.2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 dadf6fa857149c4727f3ef3e9bcb290f60f7bb9c7f580140a3686b4e8f0423d7
MD5 e434ac8422993f385f313fa10e09103e
BLAKE2b-256 1a4d4149b69fe66cbc5af0ce6dab017be67244a0fdf19b9df412b6dbce117231

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 47bdfc46cc436084c3a746428d02e0d4e9d00929eb7bcb772021ba203c9c6687
MD5 f368ba551115d4ee6f2901baa25526cc
BLAKE2b-256 07b3373a55c905088e80cb299ada0b6daa8149be60434c0577d17625edc72e7e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 746f99438957cb3db684a0d1246a86e8908a3464d1f17abe532728c0b9b1e646
MD5 fbcaac4ef4b3c7b81a0f420b230e6215
BLAKE2b-256 cba20505ccdef45f6737e9ad91b0a0949cf6597c5da9753bea74680ab1853993

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.2-cp311-cp311-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 e9b710ef437bd957a3fc597773fb409f627d92e1f0b27acfa11174a508f50648
MD5 227483ce03407ac463abddaf339ae202
BLAKE2b-256 2ac0632b49f4b65d1af58c5ca0674ebf6e3ac6dbbbad08a4bc0ebe44535ed00d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.5.2-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.5.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 eed60aa693bf36dec5f88a1371e175c53d4701f05427c5ab383706b1575b9463
MD5 e3eee979ea755d525529724ac7cede67
BLAKE2b-256 817d3b79e2074d15fa1d59956fb6fe77927417e0069e72cc7be7d9f609a78d56

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.5.2-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.2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 56cd3d258e2e03da0fb4d4ba40fb95560c9727b0f7390e0f5c1945fbcce189dd
MD5 ba9552c3d4ccc6c977d5dac571ef693c
BLAKE2b-256 7e8782b3322e78de6fa4bfdc3e86ab431a491e7aa6992b1ef9d36c817f4c8954

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 45314898089940c34c7e2cd0aa56f8d6de5f7084ba6a5e02897812827ffd7fae
MD5 b4249af18169ab90183540be759fa21c
BLAKE2b-256 27c28b1e62e99bb4e81a88b089da4a32599f16f7b0f6f0ed8cc6b49125f34a21

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3618d94b5299967db61a2af8fd4961a759ab685da3991915224fc254e73310d4
MD5 9b0153fb2584049bf63a6198b5412fbd
BLAKE2b-256 f7f8d3db84500ae50cd8bd13a1102e93379de5d4a9eec0138b6d4d3b384e7adc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.2-cp310-cp310-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 62fcf416777bd7be686a02bb21a727ba1d8286bdcd5af7a96444c160e8b21eb0
MD5 716bb66cb858af4f35d645dcfbdf8db9
BLAKE2b-256 751eb780cc6675a393e6489f700c99132530095100126e8b7ad72c1766b0e591

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.5.2-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.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6d859e230e3f651b6b5a075af47b274ffd2a6f8e94b2cc6bc08e252ff42287ea
MD5 155afbbb077304bf51e4a8127f1c080a
BLAKE2b-256 9a508066f446f0f59da0c89b7f02283ad77f63ef9731e25ec156d28c3e0e26c4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ctoon-0.5.2-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.5.2-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 6ef00755585470e14db8fe20bdd81cabb3fa5c1cc1497f0a6d9a0d8f1c7c804e
MD5 01ea6b5bc10330a5300a29df976e3f26
BLAKE2b-256 a35adf47e39f2692fec43f0c124e1046c3d142dcd038f4f19fcf3ff07d112541

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.2-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4adc79e86514281b536b3221dce53077cb0086215edee523cda5e8b973c98bf8
MD5 220f9d63c72f3ff5fa98d7267516382a
BLAKE2b-256 01e8bc04b19029e4e4e5e56a6659cdb9d22e0d2593cef6e8de9b9ba097bf33d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 55cc1f00e944356cbfbf4d72479c63f94fc4b46023c8468e2e803dfc832a3eb7
MD5 87763df5f7db0fb61d97947adf4097a9
BLAKE2b-256 6015876b31aa89e6f2f5463ef72222bbb1b33f55cfb9b2a9ec98a96361a9451d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ctoon-0.5.2-cp39-cp39-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 8b526089e83eb33376a3fb0bfaa93ed107a902ab3e74aaa35299240e512c9af2
MD5 edc31ba91544d8a97ce909b3f8a40d50
BLAKE2b-256 b1b138554b0339343c16cdf4187113d6fefc772e9536846b0bc040729a3cb6bd

See more details on using hashes here.

Release history Release notifications | RSS feed

0.6.1

21 files

0.6.0

21 files

This release

0.5.2 This release

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