CToon
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++, Go, Julia, MATLAB, Python, Rust, and Zig, plus a standalone CLI. 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
Pick your language below — each section is install, a short example, then a link to that language's full reference for everything else (flags, options, error handling, ...). Order matches the tabs on the documentation site.
CLI
pip install ctoon # ships a pre-built `ctoon` binary — no compiler needed
ctoon input.json # JSON -> TOON (auto-detected from extension)
ctoon input.toon -o output.json # TOON -> JSON
cat data.json | ctoon -e - # stdin -> TOON
Building from source with CMake instead is also supported (sudo cmake --install build after building — see Building & Testing).
→ Full CLI reference
C
Requires CMake 3.19+ and a C99 compiler.
# CMakeLists.txt
include(FetchContent)
FetchContent_Declare(ctoon
GIT_REPOSITORY https://github.com/MohammadRaziei/ctoon.git GIT_TAG main)
FetchContent_MakeAvailable(ctoon)
target_link_libraries(my_app PRIVATE ctoon::ctoon)
#include "ctoon.h"
ctoon_doc *doc = ctoon_read("name: Alice\nage: 30", 20, 0);
ctoon_val *root = ctoon_doc_get_root(doc);
printf("%s\n", ctoon_get_str(ctoon_obj_get(root, "name"))); /* Alice */
size_t len;
char *toon = ctoon_write(doc, &len); /* caller must free() */
free(toon);
ctoon_doc_free(doc);
→ Full C API reference (also summarised below)
C++
Requires CMake 3.19+ and a C++11 compiler. Header-only on top of the C core.
# same FetchContent block as C, then:
target_link_libraries(my_app PRIVATE ctoon::ctoonpp)
#include "ctoon.hpp"
auto doc = ctoon::document::parse("name: Alice\nage: 30");
auto root = doc.root();
std::cout << root["name"].get_str().str() << "\n"; // Alice
std::cout << doc.to_json(2).c_str() << "\n"; // pretty JSON
Go
Requires Go 1.21+ with CGo enabled; a C compiler must be on the build host.
go get github.com/mohammadraziei/ctoon
import ctoon "github.com/mohammadraziei/ctoon"
toon, _ := ctoon.Dumps(map[string]interface{}{"name": "Alice", "age": int64(30)})
val, _ := ctoon.Loads(toon)
Julia
Requires Julia 1.7+ and a C compiler. Not yet in Julia's General registry.
import Pkg
Pkg.add(url="https://github.com/mohammadraziei/ctoon.git", subdir="src/bindings/julia")
using CToon
data = CToon.parse("""{"name": "Alice", "age": 30}""")
println(data["name"]) # Alice
MATLAB
Requires MATLAB R2014b+ and a C compiler configured for MEX (mex -setup C).
cd src/bindings/matlab
ctoon_install % compiles the MEX gateway, adds it to your MATLAB path
s = ctoon.encode(struct('name', 'Alice', 'age', uint64(30)));
v = ctoon.decode(s);
v.name % 'Alice'
→ Full MATLAB reference (type mapping, ctoon.read/ctoon.write, Python-style aliases, ...)
Python
Requires Python 3.9+. Pre-built wheels for Linux, macOS and Windows — no compiler needed.
pip install ctoon
import ctoon
toon = ctoon.dumps({"name": "Alice", "age": 30})
data = ctoon.loads(toon)
Rust
Requires Rust 1.70+ and a C compiler on the build host.
[dependencies]
ctoon = { git = "https://github.com/mohammadraziei/ctoon.git" }
let val = ctoon::loads("name: Alice\nage: 30")?;
println!("{}", val["name"].as_str().unwrap()); // Alice
let toon = ctoon::dumps(&val)?;
Zig
Requires Zig 0.16.0+.
zig fetch --save git+https://github.com/mohammadraziei/ctoon.git
const ctoon = @import("ctoon");
var val = try ctoon.loads(gpa, "name: Alice\nage: 30");
defer val.deinit(gpa);
const toon = try ctoon.dumps(gpa, val);
TOON Spec Version
The toon-format/spec release a build targets is exposed in every language (spec §13: implementations SHOULD declare it). It is resolved at CMake configure time and recorded in supported_spec.conf; the bindings read it from the C core, so it can't drift. Each language gives you the version (4.1), the tag (v4.1.2) and the release date:
| Language | Version | Tag | Date |
|---|---|---|---|
| C | CTOON_SPEC_VERSION_STRING |
CTOON_SPEC_TAG_STRING |
CTOON_SPEC_DATE_STRING |
| C++ | ctoon::spec::version::string() |
ctoon::spec::tag::string() |
ctoon::spec::date::string() |
| Go | ctoon.SpecVersion() |
ctoon.SpecTag() |
ctoon.SpecDate() |
| Julia | CToon.spec_version() |
CToon.spec_tag() |
CToon.spec_date() |
| MATLAB | info.Spec.Version |
info.Spec.Tag |
info.Spec.Date ([~, info] = ctoon.version()) |
| Python | ctoon.__toon_spec__ |
ctoon.__toon_spec_tag__ |
ctoon.__toon_spec_date__ |
| Rust | ctoon::spec_version() |
ctoon::spec_tag() |
ctoon::spec_date() |
| Zig | ctoon.specVersion() |
ctoon.specTag() (major/minor/patch) |
ctoon.specDate() |
In C and C++ the tag is also available as numbers (CTOON_SPEC_TAG_MAJOR/MINOR/PATCH, CTOON_SPEC_TAG_HEX; ctoon::spec::tag::major() etc.).
Building & Testing From Source
Each binding can be built, run and tested entirely with its own native
tooling — cargo test for Rust, go test for Go, pytest for Python, zig build test for Zig, Pkg.test() for Julia, MATLAB's buildtool test — pick
whichever's already open and go. But the project as a whole — building
every language together, running the full cross-language test matrix,
generating coverage, and building the documentation site — is driven by
CMake, the same commands CI uses. This section covers that path; see
CONTRIBUTING.md for the complete contributor workflow.
Configure
cmake -B build -DCMAKE_BUILD_TYPE=Release
By default this configures only C, C++ and the CLI. Each other language is opt-in via its own flag — and the flag changes what a missing toolchain does: silently skipped when the flag is OFF (the default, so the command above works on a machine with only some toolchains installed), a hard configure error when you've explicitly turned it ON:
# e.g. working on the Rust binding
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCTOON_BUILD_RUST=ON
# everything, like CI
cmake -B build -DCMAKE_BUILD_TYPE=Release \
-DCTOON_BUILD_PYTHON=ON -DCTOON_BUILD_GO=ON -DCTOON_BUILD_RUST=ON \
-DCTOON_BUILD_ZIG=ON -DCTOON_BUILD_JULIA=ON
CMake options
| Option | Default | Description |
|---|---|---|
CTOON_BUILD_TESTS |
ON (top-level) | Build and register tests. |
CTOON_BUILD_EXAMPLES |
ON (top-level) | Build the examples. |
CTOON_BUILD_DOCS |
OFF | Build documentation. |
CTOON_BUILD_PYTHON |
OFF | Build the Python extension (nanobind). |
CTOON_BUILD_GO |
OFF | Require the Go toolchain (error instead of skip if missing). |
CTOON_BUILD_RUST |
OFF | Require the Rust toolchain (error instead of skip if missing). |
CTOON_BUILD_ZIG |
OFF | Require the Zig toolchain (error instead of skip if missing). |
CTOON_BUILD_JULIA |
OFF | Require the Julia toolchain (error instead of skip if missing). |
CTOON_BUILD_MATLAB |
OFF | Require the MATLAB toolchain (error instead of skip if missing). |
CTOON_BUILD_ALL_LANGS |
OFF | Require every self-building language's toolchain at once. |
JSON support is on by default. Define CTOON_DISABLE_JSON to turn it off — no external JSON library is required either way.
Build
cmake --build build -j
Test
ctest --test-dir build --output-on-failure --extra-verbose
# equivalently:
cmake --build build --target ctoon_test
Per-language targets, for iterating on one binding at a time:
ctoon_test_c, ctoon_test_cpp, ctoon_test_go, ctoon_test_julia,
ctoon_test_matlab, ctoon_test_python, ctoon_test_rust, ctoon_test_zig
— each also runnable as a single ctest case, e.g. ctest --test-dir build -R rust.
Coverage
cmake --build build --target ctoon_coverage
Per-language: ctoon_coverage_c, ctoon_coverage_cpp, ctoon_coverage_go,
ctoon_coverage_julia, ctoon_coverage_matlab, ctoon_coverage_python,
ctoon_coverage_rust, plus ctoon_coverage_total (merged C/C++/Python/Go/Rust/Julia
lcov report). Output lands in build/coverage/, with build/coverage/index.html
as the dashboard — published at
mohammadraziei.github.io/ctoon/coverage.
(Zig has no coverage target yet — see the comment in tests/zig/CMakeLists.txt.)
Docs
cmake -B build -DCTOON_BUILD_DOCS=ON # plus any CTOON_BUILD_<LANG>=ON you need
cmake --build build --target ctoon_docs
Per-language: ctoon_docs_c, ctoon_docs_cpp, ctoon_docs_julia,
ctoon_docs_matlab, ctoon_docs_python, ctoon_docs_rust, plus
ctoon_docs_index for the landing page (CLI and Zig are assembled straight
from Markdown, no external doc tool needed). Output lands in build/docs/out/.
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 |
License
MIT — see LICENSE.
Related
- toon-format/toon — the TOON format specification
Metadata
Release files for ctoon 0.8.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ctoon-0.8.3.tar.gz | 967.0 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| ctoon-0.8.3-cp312-abi3-win_amd64.whl | CPython 3.12 | abi3 | Windows x86-64 | Details |
| ctoon-0.8.3-cp312-abi3-win32.whl | CPython 3.12 | abi3 | Windows x86-32 | Details |
| ctoon-0.8.3-cp312-abi3-musllinux_1_2_x86_64.whl | CPython 3.12 | abi3 | Linux musl 1.2+ x86-64 | Details |
| ctoon-0.8.3-cp312-abi3-musllinux_1_2_aarch64.whl | CPython 3.12 | abi3 | Linux musl 1.2+ ARM64 | Details |
| ctoon-0.8.3-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | abi3 | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
| ctoon-0.8.3-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl | CPython 3.12 | abi3 | Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 | Details |
| ctoon-0.8.3-cp312-abi3-macosx_10_13_universal2.whl | CPython 3.12 | abi3 | macOS 10.13+ universal2 (ARM64, x86-64) | Details |
| ctoon-0.8.3-cp311-cp311-win_amd64.whl | CPython 3.11 | CPython 3.11 | Windows x86-64 | Details |
| ctoon-0.8.3-cp311-cp311-win32.whl | CPython 3.11 | CPython 3.11 | Windows x86-32 | Details |
| ctoon-0.8.3-cp311-cp311-musllinux_1_2_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux musl 1.2+ x86-64 | Details |
| ctoon-0.8.3-cp311-cp311-musllinux_1_2_aarch64.whl | CPython 3.11 | CPython 3.11 | Linux musl 1.2+ ARM64 | Details |
| ctoon-0.8.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
| ctoon-0.8.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 | Details |
| ctoon-0.8.3-cp311-cp311-macosx_10_13_universal2.whl | CPython 3.11 | CPython 3.11 | macOS 10.13+ universal2 (ARM64, x86-64) | Details |
| ctoon-0.8.3-cp310-cp310-win_amd64.whl | CPython 3.10 | CPython 3.10 | Windows x86-64 | Details |
| ctoon-0.8.3-cp310-cp310-win32.whl | CPython 3.10 | CPython 3.10 | Windows x86-32 | Details |
| ctoon-0.8.3-cp310-cp310-musllinux_1_2_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux musl 1.2+ x86-64 | Details |
| ctoon-0.8.3-cp310-cp310-musllinux_1_2_aarch64.whl | CPython 3.10 | CPython 3.10 | Linux musl 1.2+ ARM64 | Details |
| ctoon-0.8.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| ctoon-0.8.3-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 | Details |
| ctoon-0.8.3-cp310-cp310-macosx_10_13_universal2.whl | CPython 3.10 | CPython 3.10 | macOS 10.13+ universal2 (ARM64, x86-64) | Details |
| ctoon-0.8.3-cp39-cp39-win_amd64.whl | CPython 3.9 | CPython 3.9 | Windows x86-64 | Details |
| ctoon-0.8.3-cp39-cp39-win32.whl | CPython 3.9 | CPython 3.9 | Windows x86-32 | Details |
| ctoon-0.8.3-cp39-cp39-musllinux_1_2_x86_64.whl | CPython 3.9 | CPython 3.9 | Linux musl 1.2+ x86-64 | Details |
| ctoon-0.8.3-cp39-cp39-musllinux_1_2_aarch64.whl | CPython 3.9 | CPython 3.9 | Linux musl 1.2+ ARM64 | Details |
| ctoon-0.8.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.9 | CPython 3.9 | Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 | Details |
| ctoon-0.8.3-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl | CPython 3.9 | CPython 3.9 | Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 | Details |
| ctoon-0.8.3-cp39-cp39-macosx_10_13_universal2.whl | CPython 3.9 | CPython 3.9 | macOS 10.13+ universal2 (ARM64, x86-64) | Details |
Total release size: 25.3 MB
Release files / ctoon-0.8.3.tar.gz
| Download URL | ctoon-0.8.3.tar.gz |
|---|---|
| Size | 967.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4b1855216879ca3a47cadc4f09470932d03fe80f1bcced4c5a6213dbcf65f5ac
|
|
BLAKE2b-256 checksum How to use checksums |
6d6c59ad29bcdd7599f00e1680edd5fce85f52d4266e61f67002fba70f88abb7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp312-abi3-win_amd64.whl
| Download URL | ctoon-0.8.3-cp312-abi3-win_amd64.whl |
|---|---|
| Size | 513.6 kB |
| Tags | CPython 3.12 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
41554120b66b96303fcdd969fb03ebb8b0fbb73442e99ac10e86092c7dcd48b0
|
|
BLAKE2b-256 checksum How to use checksums |
306889dad1309bb80f7d0f932213f31f745edafa46c5026bdb605d11c598656c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp312-abi3-win32.whl
| Download URL | ctoon-0.8.3-cp312-abi3-win32.whl |
|---|---|
| Size | 492.9 kB |
| Tags | CPython 3.12 Windows x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
6c559c7d8c540f0a4a50f7e9f2102abf756bbda2e12c47cd7d7d5af48cd64740
|
|
BLAKE2b-256 checksum How to use checksums |
79021153c2e50d1b22c1dfd0db25b65250f690c01ac74b28ba85de09656e0eac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp312-abi3-musllinux_1_2_x86_64.whl
| Download URL | ctoon-0.8.3-cp312-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
b201e7f79f9b4e4ade5ebe72dd1af7ab91e3a26f6ca340475e858a70f40856c4
|
|
BLAKE2b-256 checksum How to use checksums |
7b470f56757a4161fb57e233c4a9805f4ad584fae80f3a30eac7f61a39b368c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp312-abi3-musllinux_1_2_aarch64.whl
| Download URL | ctoon-0.8.3-cp312-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.12 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
42bfb1e5533e6945caf870ec743c930db494b0c174d2993617f31df76e59bd06
|
|
BLAKE2b-256 checksum How to use checksums |
f74ce48f7a4fa73074ad2005ed9b0add1111206c8a5448a303d54b9434ff8146
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ctoon-0.8.3-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 426.0 kB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
a562590acc3791e60471284c0331c0d82dae6f73698d475a4309e8a0307e3e11
|
|
BLAKE2b-256 checksum How to use checksums |
83f14e719d129f91d68ee184969972938c6ed4ab634f264cc63b48874fe62192
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | ctoon-0.8.3-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 401.1 kB |
| Tags | CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
677fa00c7de43629a351428f2eec521aba5f418bdfb49643c0e56bc54e1d8442
|
|
BLAKE2b-256 checksum How to use checksums |
0534101d107d8caa3ae6e20bf039dea2c0cec3970c07d34bd153d31168f53eff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp312-abi3-macosx_10_13_universal2.whl
| Download URL | ctoon-0.8.3-cp312-abi3-macosx_10_13_universal2.whl |
|---|---|
| Size | 624.5 kB |
| Tags | CPython 3.12 abi3 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
522c37a52c341e943e641c91995ec92647c1083286fcbbf745c0df5d942f59ae
|
|
BLAKE2b-256 checksum How to use checksums |
9eef61e51bb6a6cb164360b334e2852cae7ff344b5c7e822e23a84d7132e412c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp311-cp311-win_amd64.whl
| Download URL | ctoon-0.8.3-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 514.0 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
76b622e8f133ea71d21aed36ccf38ad0f3edcd029f4088d0ae32ccb46bc367ee
|
|
BLAKE2b-256 checksum How to use checksums |
96db6f04c205e8941c18acd8cc54254002280df228f2bdce97f784c1f826fb7d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp311-cp311-win32.whl
| Download URL | ctoon-0.8.3-cp311-cp311-win32.whl |
|---|---|
| Size | 493.6 kB |
| Tags | CPython 3.11 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
b429df212463dfb6fba2f0efd291e6ba1d84710614a9b17881bf3a5df3a5bee7
|
|
BLAKE2b-256 checksum How to use checksums |
2975084682a38b67c25057cfbecb585638274a7ef4bbc3c87e4151aa13ab38d6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | ctoon-0.8.3-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
1c67308429d47b54d02dcab57aa22e8f1a167d6bcd90045eb117b3f0bb5c7968
|
|
BLAKE2b-256 checksum How to use checksums |
5e056d9e7227d10535e3debaf4f12bc034ab7ca6738910c1d25c16617d7860b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp311-cp311-musllinux_1_2_aarch64.whl
| Download URL | ctoon-0.8.3-cp311-cp311-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.11 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
80ed42fda6c000da4e24a34a8d8f3b4b6d3f7356a891cd869902c362c5f796e8
|
|
BLAKE2b-256 checksum How to use checksums |
51eb4bdd052cb9caf1cf735924d274cc58839db117ef487ce7b6e323b4e75f1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ctoon-0.8.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 430.3 kB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b73771c4e70a5fa086a6feb179fe14c807077f8cb3428b71557d154fa3453be4
|
|
BLAKE2b-256 checksum How to use checksums |
f1675e710a705533413db074da6769d859256aa4a69ed59b622fa65168cf6569
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | ctoon-0.8.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 405.5 kB |
| Tags | CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
5678d66ccddf53e6615fef7404fb388ff62aa39aa0c3e3836961b65bb4c91846
|
|
BLAKE2b-256 checksum How to use checksums |
5fe4eca3ed1d1f2ef32fb2ff1f831d540787b3358bad17ec53831aaaa771441c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp311-cp311-macosx_10_13_universal2.whl
| Download URL | ctoon-0.8.3-cp311-cp311-macosx_10_13_universal2.whl |
|---|---|
| Size | 628.6 kB |
| Tags | CPython 3.11 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
217790b430667fb0e11f758b1a100a661acb595f75030fddbbff36b8c5c05eaa
|
|
BLAKE2b-256 checksum How to use checksums |
07d50f3a4cee3cb7568ad8ff7da8a9cffbb0ed4eaa8094ff41b7b1e266d09ae4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp310-cp310-win_amd64.whl
| Download URL | ctoon-0.8.3-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 513.7 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
5e692be37b7e41c027209508ff460ed1bd25aa067c898549db9f8a65137027d4
|
|
BLAKE2b-256 checksum How to use checksums |
38f16b68432c2def6a40335d2c89f76a4e6ac5d967ea69382bf5e1e9810b6629
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp310-cp310-win32.whl
| Download URL | ctoon-0.8.3-cp310-cp310-win32.whl |
|---|---|
| Size | 493.3 kB |
| Tags | CPython 3.10 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
cea9d09a04f9207f199315f85b5fdf7df277fa3d5d3993bbfeddaecbb210f8a2
|
|
BLAKE2b-256 checksum How to use checksums |
b19b5dee717dd7f92c63f4ebeee04e8cdc1fefa95fc42c3b67e8f2ba04ff6343
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | ctoon-0.8.3-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
a0c8b06c37b6e7414a20d52b659a6b31e1a3e6159302d72cefd121f4caaa38c2
|
|
BLAKE2b-256 checksum How to use checksums |
0ad09fe9369d97699aa875f6921a73c8d4c2bb6f968118e21aa90e851fa57222
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp310-cp310-musllinux_1_2_aarch64.whl
| Download URL | ctoon-0.8.3-cp310-cp310-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
70eac703764961c1355db96546d2457b24fcc4588c2267f0c7d7c1c4ea491b0e
|
|
BLAKE2b-256 checksum How to use checksums |
925fc32b16b7f3fd926f91e0fadcc9e6f216de5f3f3c16d39c0b8a9f29a36378
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ctoon-0.8.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 429.8 kB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
7a1ae44a88d01ccee10dd69a8b9a9411f2e3db3c8ef3fce36843d076a555ee77
|
|
BLAKE2b-256 checksum How to use checksums |
ae7fab5bff732c3e069856b0d3e305274e8a2ad456dfb78bc4165b724e31d42d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | ctoon-0.8.3-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 405.1 kB |
| Tags | CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
a49261767149a84eda96242e22693c992f2d80aed793bab18383cbbef944bb7a
|
|
BLAKE2b-256 checksum How to use checksums |
22569b8f3a2a7e97497fa8761ef4f97e6598f59d7ed2c8efb40a4cf7d25236c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp310-cp310-macosx_10_13_universal2.whl
| Download URL | ctoon-0.8.3-cp310-cp310-macosx_10_13_universal2.whl |
|---|---|
| Size | 627.1 kB |
| Tags | CPython 3.10 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
f2a3174cbc68feb70c02ea1519377ed9833c4a7cb477aa2f88028ca08f28b436
|
|
BLAKE2b-256 checksum How to use checksums |
8b7d40ac1cea0f07b77371d49b3e30fe6d5aac9ec0be8fc77d14f52dc36b72a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp39-cp39-win_amd64.whl
| Download URL | ctoon-0.8.3-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 487.3 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6afa991d6a6283cab396146cc257230d42320c105928de23e0857fa93e4a726f
|
|
BLAKE2b-256 checksum How to use checksums |
e8ee547139bd974928a2ff6c02b034b9db203520b3bf951ccf89a2c1312ab599
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp39-cp39-win32.whl
| Download URL | ctoon-0.8.3-cp39-cp39-win32.whl |
|---|---|
| Size | 469.3 kB |
| Tags | CPython 3.9 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
e0194a0eee41f44199ad52db27974175f3abe48dcc29e0988121ac2b50e3390f
|
|
BLAKE2b-256 checksum How to use checksums |
2229de334a0b004e0033ccb45b957daa7825e7cbed72ea3141f4f8746ad83d74
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp39-cp39-musllinux_1_2_x86_64.whl
| Download URL | ctoon-0.8.3-cp39-cp39-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
f348c4120a4b77407b4dc09a94c68bf4cc4e6a1ad61151543e3eb246ab1afc87
|
|
BLAKE2b-256 checksum How to use checksums |
9eaf6f821219a5289e6dc11dda985c1c55c46e71b906128c83bedd70f3707658
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp39-cp39-musllinux_1_2_aarch64.whl
| Download URL | ctoon-0.8.3-cp39-cp39-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.9 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
dbfb0fbf4aa0610317baa1212ab0e78fb1d64938b17cb929015dba0cb0d18201
|
|
BLAKE2b-256 checksum How to use checksums |
3618cf33845429b25fdcf756bc517cd4610f31b462bb7e69ecb5990712127008
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ctoon-0.8.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 423.2 kB |
| Tags | CPython 3.9 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
191e3a1831ca51c28243f7b67b849d31bc7f68e34d6140b57a8958e23a39ae16
|
|
BLAKE2b-256 checksum How to use checksums |
243f10f45d86ca3f83df210820120bdbd54d17bc6b6c18c27b2109c9ff41e9e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | ctoon-0.8.3-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 399.1 kB |
| Tags | CPython 3.9 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
6e9b9697d7ee3f03aeac931151ddaa9129b0d6a672a80005de75770d6e74921b
|
|
BLAKE2b-256 checksum How to use checksums |
84b8e59db95db85c340ca565b82cfa92129bcd25f5f1d6b89b276f12ed8de220
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ctoon-0.8.3-cp39-cp39-macosx_10_13_universal2.whl
| Download URL | ctoon-0.8.3-cp39-cp39-macosx_10_13_universal2.whl |
|---|---|
| Size | 610.1 kB |
| Tags | CPython 3.9 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
104ddf291bce77a12a466ab7c2ee2ad2bddf30184bcf2ef4e5b89aaa26fc746c
|
|
BLAKE2b-256 checksum How to use checksums |
cdbe860ed8b48707ad8629b2f55b68ceea88c38549e0e48e9e30f25fb1d1385d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|