Facade API
The Facade API provides simple functions for common tasks - the recommended API for 90% of users.
Core Functions
These functions provide a simple interface to toonverter’s functionality:
encode(data, to_format='toon')- Encode data to a formatdecode(data_str, from_format='toon')- Decode data from a formatconvert(source, target, from_format, to_format)- Convert files between formatsanalyze(data, compare_formats)- Analyze token usage across formatsdeduplicate(data, ...)- Remove semantic duplicates from datainfer_schema(data)- Generate schema from datavalidate_schema(data, schema)- Validate data against schemadiff(obj1, obj2)- Structurally compare two objectscompress(data)- Apply Smart Dictionary Compressiondecompress(data)- Restore compressed dataload(path, format)- Load data from filesave(data, path, format)- Save data to filelist_formats()- List all supported formatsis_supported(format)- Check if a format is supported
Example Usage
import toonverter as toon
# Encode to TOON
data = {"name": "Alice", "age": 30}
toon_str = toon.encode(data)
# Decode from TOON
decoded = toon.decode(toon_str)
# Convert files
toon.convert('data.json', 'data.toon', 'json', 'toon')
# Analyze token usage
report = toon.analyze(data, compare_formats=['json', 'toon'])
print(f"Best: {report.best_format}, Savings: {report.max_savings_percentage:.1f}%")
# Save and load
toon.save(data, 'output.toon', format='toon')
loaded = toon.load('output.toon', format='toon')
# Check format support
print(toon.list_formats()) # ['csv', 'json', 'toml', 'toon', 'xml', 'yaml']
print(toon.is_supported('toon')) # True