Skip to content
@BTOON-project

BTOON project

BTOON for TOON

BTOON Project

Binary Transport for TOON — A high-performance binary serialization format

License C++ Standard Status


🌟 What is BTOON?

BTOON (Binary TOON) is a high-performance binary serialization format that extends MessagePack with custom tabular data optimization. Built for the TOON format, BTOON provides 20-40% size reduction for uniform tabular datasets while maintaining full MessagePack compatibility.

Key Features

  • 🚀 High Performance — 4-7x faster than JSON, comparable to MessagePack
  • 📦 MessagePack Compatible — Fully compliant with the MessagePack specification
  • 📊 Tabular Optimization — Custom extension for compact tabular data encoding
  • 🔒 Type Safe — Comprehensive, modern C++20 type system
  • 🌐 Multi-Language — Language bindings for Python, Node.js, JavaScript, Go, and PHP
  • 🎯 Zero-Copy Decoding — Efficient std::span API for minimal allocations
  • 📝 Schema Validation — Validate data against user-defined schemas
  • 🌊 Streaming API — Efficiently encode and decode sequences of objects

📚 Repositories

Core Library

  • btoon-core — C++20 core library with C-API for language bindings

Language Bindings

Web & Tools

  • btoon-web — Modern web interface built with React + Vite

🚀 Quick Start

#include "btoon/btoon.h"

using namespace btoon;

// Create a value
Value data = Map{
    {"name", String("Alice")},
    {"age", Int(30)},
    {"active", Bool(true)}
};

// Encode
auto encoded = encode(data);

// Decode
auto decoded = decode(encoded);

🤝 Contributing

BTOON is in early stages, so every bug report, idea, or pull request has outsized impact! We welcome contributions of all kinds:

  • 🐛 Bug Reports — Help us improve stability
  • 💡 Feature Ideas — Share your use cases and needs
  • 📖 Documentation — Improve docs and examples
  • 🔧 Code Contributions — Submit PRs for features or fixes
  • 🎨 Design & UX — Enhance the web interface

How to Contribute

  1. Fork the repository you want to contribute to
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes with clear commit messages
  4. Open a pull request with context and details
  5. Be kind and transparent — we ship in public to learn together

No contribution is too small. Docs improvements, design tweaks, and roadmap suggestions are all valuable when building something new.


📖 Resources


📄 License

This project is licensed under the MIT License — see the LICENSE file for details.


Built with ❤️ by the BTOON community

WebsiteDocumentationIssues

Pinned Loading

  1. btoon-core btoon-core Public

    BTOON core

    C++

  2. btoon-web btoon-web Public

    BTOON web

    TypeScript

Repositories

Showing 8 of 8 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…