[build-system]
requires = ["maturin>=1.7,<2.0"]
build-backend = "maturin"
[project]
name = "etoon"
dynamic = ["version"]
description = "Fast TOON (Token-Oriented Object Notation) encoder. Byte-identical to the TOON spec, 8x faster than toons and 2.7x faster than the official TS SDK."
requires-python = ">=3.10"
license = "Apache-2.0"
readme = "README.md"
keywords = ["toon", "serialization", "llm", "json", "encoder"]
classifiers = [
"Development Status :: 4 - Beta",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Rust",
"Topic :: Software Development :: Libraries",
"Topic :: Text Processing :: Markup",
]
dependencies = ["orjson>=3.10"]
[project.urls]
Repository = "https://github.com/coseto6125/etoon"
Issues = "https://github.com/coseto6125/etoon/issues"
[project.optional-dependencies]
dev = ["pytest>=8", "toons>=0.5.4", "tiktoken>=0.7"]
[tool.maturin]
bindings = "pyo3"
module-name = "etoon._etoon"
python-source = "python"
features = ["pyo3/extension-module"]