etoon
Fast TOON (Token-Oriented Object Notation) encoder for Python, Rust, and CLI.
Up to 7.6× faster than toons, 3.0–8.3× faster than the official TS SDK, byte-identical output — tracking TOON spec v4.1.
Performance
Per-call encode time across representative payloads (etoon = Python/PyO3,
best-of-7 × 400 calls). ✓ = output byte-identical to etoon; ✗ = the encoder
differs — either it deviates from the spec (py-rtoon emits 0.0 where the spec
requires 0) or it still implements spec v3.x and expands the v4.1 collapsing
forms into nested blocks.
| Payload (encode) | etoon | toons | py-rtoon | @toon-format/toon 4.1 (TS) |
|---|---|---|---|---|
| 1000 uniform objects | 171 µs | 848 µs (5.0×✓) | 772 µs (4.5×✗) | 519 µs (3.0×✓) |
| deep nested | 110 µs | 272 µs (2.5×✓) | 662 µs (6.0×✗) | 611 µs (5.6×✓) |
| 1000 string records | 89 µs | 674 µs (7.6×✓) | 540 µs (6.1×✓) | 640 µs (7.2×✓) |
| 500 mixed objects | 140 µs | 680 µs (4.8×✓) | 541 µs (3.9×✗) | 1166 µs (8.3×✓) |
| 1000 nested field groups | 190 µs | 1103 µs (5.8×✗) | 953 µs (5.0×✗) | 586 µs (3.1×✓) |
| 1000 keyed-tabular rows | 105 µs | 679 µs (6.5×✗) | 562 µs (5.4×✗) | 603 µs (5.8×✓) |
2.5–8.3× faster than every other encoder, with byte-identical, spec-canonical output: only the official TS SDK matches etoon byte-for-byte on all six payloads.
The CLI (… | etoon) adds process-spawn + pipe I/O on top — fine for shell
pipelines / LLM logs, but for in-process use prefer the PyO3 dumps (no spawn,
no pipe). Auto-detect mode (JSON / mixed log / plain text) runs at ~0.6–1.9 ms
per call on 100–600 KB inputs.
Reproduce
# Speed + parity vs toons / py-rtoon / TS SDK (each auto-skipped if absent):
pip install -e '.[bench]' # toons + py-rtoon
npm install @toon-format/toon # optional: TS SDK comparison
python benches/compare.py # add --iters N to tune
# Encoder core benchmark (Rust native, no Python/PyO3 overhead):
cargo run --release --bin bench payload.json
Install
CLI binary (recommended for LLM workflows)
Pre-built — no Rust required:
Download from GitHub Releases (Linux/macOS/Windows, x86_64/aarch64):
Linux
# x86_64
curl -L https://github.com/coseto6125/etoon/releases/latest/download/etoon-linux-x86_64 -o etoon
# Apple Silicon / ARM server (aarch64)
curl -L https://github.com/coseto6125/etoon/releases/latest/download/etoon-linux-aarch64 -o etoon
chmod +x etoon
sudo mv etoon /usr/local/bin/ # or ~/.local/bin/
macOS
# Apple Silicon (M1/M2/M3/M4)
curl -L https://github.com/coseto6125/etoon/releases/latest/download/etoon-macos-aarch64 -o etoon
# Intel Mac
curl -L https://github.com/coseto6125/etoon/releases/latest/download/etoon-macos-x86_64 -o etoon
chmod +x etoon
sudo mv etoon /usr/local/bin/
Windows
# PowerShell
Invoke-WebRequest -Uri "https://github.com/coseto6125/etoon/releases/latest/download/etoon-windows-x86_64.exe" -OutFile "etoon.exe"
# Move to a directory in your PATH, e.g.:
Move-Item etoon.exe "$env:USERPROFILE\.local\bin\etoon.exe"
Verify download (optional)
Each release includes SHA256 checksums, SLSA provenance attestation, and VirusTotal scan reports.
# 1. Verify checksum
curl -L https://github.com/coseto6125/etoon/releases/latest/download/SHA256SUMS.txt -o SHA256SUMS.txt
sha256sum -c SHA256SUMS.txt --ignore-missing
# 2. Verify SLSA provenance (requires gh CLI)
gh attestation verify etoon-linux-x86_64 --repo coseto6125/etoon
# 3. VirusTotal — scan report links are in the release notes
macOS unsigned binary note: xattr -d com.apple.quarantine etoon to bypass Gatekeeper.
From source (requires Rust toolchain):
cargo install etoon
Python library
pip install etoon
This installs the Python binding (
etoon.dumps()), not the CLI binary. For the CLI, use one of the methods above.
Rust library
cargo add etoon --no-default-features
Usage
Python
import etoon
docs = [{"id": 1, "name": "Alice"}, {"id": 2, "name": "Bob"}]
print(etoon.dumps(docs))
# [2]{id,name}:
# 1,Alice
# 2,Bob
CLI (Bash pipe)
curl -s https://api.example.com/data | etoon
cat data.json | etoon -o output.toon
aws logs tail /ecs/my-service | etoon # mixed log: JSON blocks → TOON, text → pass-through
etoon --strict < data.json # error on non-JSON (old behavior)
LLM Agents — Setup Guide
Append | etoon to shell commands so the AI reads TOON instead of raw JSON — 40-60% fewer tokens, lossless, auto-detects input format.
gh pr list --json number,title,author | etoon
aws logs tail /ecs/my-service | etoon
kubectl get pods -o json | etoon
Rules:
| etoongoes at the end of the pipeline —jq/grep/awkbefore it, never after- Auto-detects JSON / mixed log / plain text — safe to append to any command
- Skip only for: byte-exact diff, single-value lookups (1-2 lines)
Claude Code
Add to CLAUDE.md (or .claude/CLAUDE.md) in your project root:
## Bash Output
Append `| etoon` as the final pipe segment of any Bash command whose output
reaches the conversation. etoon auto-detects JSON, mixed log, and plain text.
Skip only for byte-exact diff or single-value lookups (1-2 lines).
Cursor
Add to .cursor/rules/etoon.mdc:
---
description: Compress shell output with etoon
globs:
alwaysApply: true
---
When running shell/terminal commands, append `| etoon` as the last pipe segment.
etoon auto-detects JSON, mixed log, and plain text — safe for any command.
Skip only for byte-exact diff or single-value lookups (1-2 lines).
OpenAI Codex CLI
Add to AGENTS.md in your project root:
## Bash Output
Append `| etoon` as the final pipe segment of any shell command.
etoon auto-detects JSON, mixed log, and plain text (non-JSON passes through unchanged).
Skip only for byte-exact diff or single-value lookups (1-2 lines).
Windsurf / Other AI Editors
Add to .windsurfrules (Windsurf) or the equivalent rules file:
When executing shell commands, always append `| etoon` at the end of the pipeline.
etoon auto-detects input format: JSON → compact TOON, mixed log → JSON blocks encoded + text pass-through, plain text → unchanged.
Skip only for byte-exact diff or single-value lookups (1-2 lines).
Gemini CLI
Add to GEMINI.md in your project root:
## Bash Output
Append `| etoon` as the final pipe segment of any shell command.
etoon auto-detects JSON, mixed log, and plain text (non-JSON passes through unchanged).
Skip only for byte-exact diff or single-value lookups (1-2 lines).
ChatGPT / Custom GPTs
Add to system prompt or custom instructions:
When generating shell commands for the user, append `| etoon` as the last pipe segment.
etoon converts JSON to TOON (40-60% fewer tokens). Non-JSON passes through unchanged.
Rust
let json_bytes = serde_json::to_vec(&my_data)?;
let toon = etoon::toon::encode(&json_bytes)?;
Architecture
Python dict → orjson.dumps → JSON bytes → sonic-rs (SIMD parse) → walk → TOON string
Key optimizations:
- sonic-rs SIMD JSON parser (~7× faster than serde_json)
- orjson bridge — single boundary crossing (vs PyO3-based alternatives)
- uniform-order table fast path — skips 300 key lookups per 50-row table
- first-row column probe — an array or empty-object value rules out tabular form from one element alone, so mixed arrays reach list form in O(columns)
- itoa specialized integer formatting
Compatibility
Tracks TOON spec v4.1. Output is byte-identical to the official
toon-format/toon TypeScript SDK 4.1, and passes 178/179 cases of the
official toon-format/spec encode
fixture suite — every case except one requiring a non-default indentSize
(etoon hardcodes 2 spaces).
v4 collapsing forms
Spec v4.0 added two forms that cut nesting out of common shapes, both implemented here:
# Nested field groups (§9.3) — uniform nested objects become header columns
echo '[{"id":1,"customer":{"name":"Ada","country":"DK"},"total":99}]' | etoon
# orders[1]{id,customer{name,country},total}:
# 1,Ada,DK,99
# Keyed tabular (§9.5) — an object of uniform objects becomes a keyed table
echo '{"alpha":{"host":"a.example.com","port":8080},"beta":{"host":"b.example.com","port":9090}}' | etoon
# [2:]{host,port}:
# alpha: a.example.com,8080
# beta: b.example.com,9090
On the benchmark payloads these cut encoded size by 76.6% (nested field groups) and 31.9% (keyed tabular) against the v3.x nested output.
Spec v4.0 also removed key folding and path expansion — folded output is
still valid TOON (dotted keys are literal keys), but no decoder re-nests it, so
fold_keys is now an etoon extension rather than a spec option. The upstream
rationale is in .out-of-scope/key-folding.md:
0.00% token savings on the reference benchmarks, wire ambiguity against literal
dotted keys, and incompatibility with streaming decode.
Sigil-prefixed keys (@, $, #)
Keys starting with @, $, or # are treated as valid identifiers — no quoting needed. This gives native support for:
| Sigil | Ecosystem | Examples |
|---|---|---|
@ |
AWS CloudWatch, Elasticsearch, Serilog, XML→JSON | @timestamp, @message, @version |
$ |
MongoDB, JSON Schema, AWS CloudFormation | $match, $ref, $schema, $type |
# |
JSON-LD, Azure Resource Manager | #comment, #id |
# AWS CloudWatch Insights output
echo '[{"@timestamp":"2026-04-06T12:00:01Z","@message":"POST /api/v1/users 504","statusCode":504}]' | etoon
# [1]{@timestamp,@message,statusCode}:
# "2026-04-06T12:00:01Z",POST /api/v1/users 504,504
Token savings (5 AWS CloudWatch log entries)
tiktoken (offline, BPE tokenizer):
| Tokenizer (model family) | JSON | TOON | Saved |
|---|---|---|---|
| o200k_base (GPT-4o/5/o3) | 484 | 334 | 31.0% |
| cl100k_base (GPT-4/3.5 ≈ Claude) | 479 | 332 | 30.7% |
tokencalculator.ai (online, estimated per-model cost):
| Model | JSON | TOON | Saved |
|---|---|---|---|
| Est. Tokens | 314 | 189 | 39.8% |
| OpenAI GPT-5.4 | $0.000785 | $0.000473 | 39.7% |
| Claude Opus 4.6 | $0.001570 | $0.000945 | 39.8% |
| Gemini 3.1 Pro | $0.000628 | $0.000378 | 39.8% |
| DeepSeek V3.2 | $0.000088 | $0.000053 | 39.8% |
| Grok 4.20 | $0.000063 | $0.000038 | 39.7% |
Savings increase with volume — 50 entries reach 35%+ (tiktoken) as the tabular header is amortized.
Advanced options
Intended for programmatic use in your codebase (Python / Rust library calls). The CLI
| etoonpipe for LLM workflows uses defaults and does not need these.
# Custom delimiter (when values contain commas) — TOON spec §11
etoon.dumps(data, delimiter="|") # or "\t"
# Key folding: collapse {a:{b:{c:1}}} → "a.b.c: 1"
# etoon extension — removed from the spec in v4.0, so nothing re-nests it.
etoon.dumps(data, fold_keys=True)
etoon.dumps(data, fold_keys=True, flatten_depth=2) # partial fold
Limitations
- Integers > 2⁶³ are lossily coerced via f64 (works for most common big integers that happen to be representable; arbitrary-precision is not supported).
indentSizeis hardcoded to 2 spaces (TOON spec default).- Encoder only — etoon does not decode TOON back to JSON.
License
Apache 2.0. Test fixtures in tests/fixtures/ come from the
toon-format/spec suite (MIT), except the
etoon-local key-folding.json which derives from
toons (Apache 2.0). See
ATTRIBUTION.md.
Metadata
Release files for etoon 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| etoon-0.8.0.tar.gz | 61.9 kB | Details |
Built distributions (wheels)
Total release size: 6.5 MB
Release files / etoon-0.8.0.tar.gz
| Download URL | etoon-0.8.0.tar.gz |
|---|---|
| Size | 61.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
09a29590bf63b6cce4fbff3ec5225ea10033a906e64f362e96c6e54ff22943b4
|
|
BLAKE2b-256 checksum How to use checksums |
5d4954f054719c6c51934a868cd6483f50f92bc839f0d77a91201d76be3cf7e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp313-cp313-win_amd64.whl
| Download URL | etoon-0.8.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 265.4 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
8e4925fd392fd1bda4513cdaa6f098a4b3833d85dd1fe5402464c7e2930bf809
|
|
BLAKE2b-256 checksum How to use checksums |
6ba54cce69a89a37a019febefc1bd9a0291d50bc86a920c1b50b6c4119f926b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | etoon-0.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 353.2 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
6087bae34a6d59ece5c7afe065368272301d81485d145f38e4eedcac042a68b1
|
|
BLAKE2b-256 checksum How to use checksums |
b9bda0c329da7beac2cee2b7f8e7fd6546f65cc151d93f89bb380edfed3c549d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | etoon-0.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 328.4 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
cb5666f877f2c55f577e670be3aead457ea40f4dcc5b8520dd2cb79eaeae12a9
|
|
BLAKE2b-256 checksum How to use checksums |
c6b0b06a03abd6acd0bb03ad1faa65f39e7102d7c4b1b0b3322e9b85a0908f4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | etoon-0.8.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 320.2 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
348cd598ed2b618012e6adccdf8b159ef534965126e28b63cfbb62a3756af52e
|
|
BLAKE2b-256 checksum How to use checksums |
fc1c61ac081a988793456ee460d3f7381244cf5ac20f852da126b46434cd7654
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp313-cp313-macosx_10_12_x86_64.whl
| Download URL | etoon-0.8.0-cp313-cp313-macosx_10_12_x86_64.whl |
|---|---|
| Size | 346.1 kB |
| Tags | CPython 3.13 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
8c10978563849e2753e8c62206838c11e3272ff2e39fb0f8f767493b1d192904
|
|
BLAKE2b-256 checksum How to use checksums |
47e888c6b8f2cc36bdebd2a14714b9ed7bfe37fbd7035f30df3677fab4d709fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp312-cp312-win_amd64.whl
| Download URL | etoon-0.8.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 265.5 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
5475507cb44a4d94c0816a27c237a8b15582898da0cf5ba75813bd8c6bfb23b7
|
|
BLAKE2b-256 checksum How to use checksums |
ce3338b684afd1b66aa384beaa4370a97be4aa3f570bd068c84f57e0adf8650a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | etoon-0.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 353.5 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
d2db47bfdfb00363bfeeee429265bae53bbd5deb1f46bead14cf643578b82fe6
|
|
BLAKE2b-256 checksum How to use checksums |
b52eb790ea5ed106264058460312776cf702422e013e997c008b47a767295305
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | etoon-0.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 328.7 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
f0845f22dd65bb7c9e631a60d534a896fd032f636fbcb20d61e8699a907771af
|
|
BLAKE2b-256 checksum How to use checksums |
1cc8e0b653ff140daa1fd431f870c87f24bbd2b13e07471939589af32b2e2d65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | etoon-0.8.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 320.4 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d1e8e02ae826408a898fcff123dcae9aca0a77cc053c70e6db7f487b5b0e6f5b
|
|
BLAKE2b-256 checksum How to use checksums |
bdd5c3205cbb9a85ca7d26106fd32b0a2334c73453d03c9876baa14f4221dd12
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp312-cp312-macosx_10_12_x86_64.whl
| Download URL | etoon-0.8.0-cp312-cp312-macosx_10_12_x86_64.whl |
|---|---|
| Size | 346.2 kB |
| Tags | CPython 3.12 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
0fa909ae8c0097ed62a9500e3f16acc44f984e8eae3929b4fb337002f1beb495
|
|
BLAKE2b-256 checksum How to use checksums |
ea017606bc6ac0931b0a2977631e3dd992f1026c138724290c4b7bc9dacc8ee9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp311-cp311-win_amd64.whl
| Download URL | etoon-0.8.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 267.4 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
296dcc00f5ed5321b757588e71047e218efa4214aeb7902c902530438b95235f
|
|
BLAKE2b-256 checksum How to use checksums |
920130d97f7644d9a05d1a7dc235f99e1a82a8050f1f775bdf2b114d0561b4ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | etoon-0.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 353.9 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
b1d910d86bd1f17f5dd43281ccdb82dd34b07521fd68c8944e421264b3514313
|
|
BLAKE2b-256 checksum How to use checksums |
28fca8178306d9e575596541f483afbba299080c97a82edf280a2bf8891720ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | etoon-0.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 329.5 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
612b340a5df9b4119a72bc75eb527f218f29249f99f5ebc39e0874d380e0296e
|
|
BLAKE2b-256 checksum How to use checksums |
23538d8deffee96d706b87ba17dae53e1a71f5353ff04eb3cd3ab429848ff34b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | etoon-0.8.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 322.1 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
89b67d416e9197bc5bd33ac7bc4a5a62bccb0fc48be260dbfbe2cee34903ca01
|
|
BLAKE2b-256 checksum How to use checksums |
9322d621ab939a087280932ea49cf5d105bc0e1327eb40934d7ed9fa9b988806
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp311-cp311-macosx_10_12_x86_64.whl
| Download URL | etoon-0.8.0-cp311-cp311-macosx_10_12_x86_64.whl |
|---|---|
| Size | 346.5 kB |
| Tags | CPython 3.11 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
a00b4815b147a53b65e7c68e3465b15cad3980916e499259617dd331465e31a1
|
|
BLAKE2b-256 checksum How to use checksums |
3802fd642a1e038eaf802ba7e63bd9578de092d1c30c080844fd4a0c7866951b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp310-cp310-win_amd64.whl
| Download URL | etoon-0.8.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 267.6 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d1469c49ea2ab601639ee6c722fb4df43cb8665d3725a33a0f397bbc9ef2232b
|
|
BLAKE2b-256 checksum How to use checksums |
8b1a4d2b67424581e17be286daa595ba29cd81e63e3109c718111bc43c9eba7d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | etoon-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 354.1 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
bc0c86a5b2485e74eec1558215a2c0201ef4cb5c24e586398479e76f46eaa4df
|
|
BLAKE2b-256 checksum How to use checksums |
d73a350c2dd3d07e3ec3e988f64cae53dc5e0f8b870f38cb4ee4dae614cd9e47
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | etoon-0.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 329.8 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
df93996be04ce66edc14a3fd19f90c553d76ecbbea7eebfb629ca149042316ca
|
|
BLAKE2b-256 checksum How to use checksums |
2de0c7a11a62c0d6ec5de229fd8db31e82b811f79058361133ab04efbba481b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | etoon-0.8.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 322.1 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
466644e1079a8f293962a6f3038727c0e69ed8ab8a29d07bdac2cdd5cd1659e4
|
|
BLAKE2b-256 checksum How to use checksums |
f83491bfe99e5d447e9659afcb4b22b640e7850a67d7432c2f7b94fca2bdb7f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / etoon-0.8.0-cp310-cp310-macosx_10_12_x86_64.whl
| Download URL | etoon-0.8.0-cp310-cp310-macosx_10_12_x86_64.whl |
|---|---|
| Size | 346.6 kB |
| Tags | CPython 3.10 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
62ee098e26312d07d0a1a3edd49bdb9e5da5506a5eaa75018bbaa870caa30d8e
|
|
BLAKE2b-256 checksum How to use checksums |
41fe6c7ad6ec3fa81269246cc737cc570736ba49294f39b31d1208b234b18773
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|