unitoken 0.1.3

Fast BPE tokenizer/trainer with a Rust core and Python bindings
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "unitoken"
version = "0.1.3"
build = false
exclude = [
    ".venv/**",
    "dist/**",
    "out/**",
    "target/**",
    "fixtures/**",
    "!fixtures/default_special_tokens.txt",
    "flamegraph*.svg",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Fast BPE tokenizer/trainer with a Rust core and Python bindings"
readme = "README.md"
keywords = [
    "tokenizer",
    "bpe",
    "nlp",
]
categories = ["text-processing"]
license = "MIT"
repository = "https://github.com/tokn-ai/unitoken"

[features]
cli = [
    "dep:tracing-subscriber",
    "dep:indicatif",
    "dep:chrono",
    "dep:clap",
]
default = []
fmt-npz = ["npyz/npz"]
hotpath = [
    "hotpath/hotpath",
    "hotpath/hotpath-alloc",
]
plot = [
    "dep:textplots",
    "dep:rgb",
]
py = [
    "dep:pyo3",
    "dep:ndarray",
    "dep:numpy",
]

[lib]
name = "unitoken"
crate-type = [
    "cdylib",
    "rlib",
]
path = "src/lib.rs"

[[bin]]
name = "unitoken"
path = "src/main.rs"
required-features = ["cli"]

[[example]]
name = "profile_perf"
path = "examples/profile_perf.rs"

[[bench]]
name = "bpe"
path = "benches/bpe.rs"
harness = false

[dependencies.ahash]
version = "0.8.12"

[dependencies.chrono]
version = "0.4.42"
optional = true

[dependencies.clap]
version = "4.5.53"
features = ["derive"]
optional = true

[dependencies.fancy-regex]
version = "0.16.2"

[dependencies.hotpath]
version = "0.8.0"

[dependencies.indicatif]
version = "0.18.3"
optional = true

[dependencies.lazy_static]
version = "1.5.0"

[dependencies.memchr]
version = "2.7.6"

[dependencies.metrics]
version = "0.24.3"

[dependencies.moka]
version = "0.12.11"
features = ["sync"]

[dependencies.ndarray]
version = "0.17.1"
optional = true

[dependencies.npyz]
version = "0.8.4"

[dependencies.numpy]
version = "0.27.1"
optional = true

[dependencies.ordermap]
version = "1.0.0"
features = ["serde"]

[dependencies.pyo3]
version = "0.27"
features = [
    "experimental-inspect",
    "abi3-py38",
]
optional = true

[dependencies.rayon]
version = "1.11.0"

[dependencies.rgb]
version = "0.8.52"
optional = true

[dependencies.serde]
version = "1.0.228"
features = ["derive"]

[dependencies.serde_json]
version = "1.0.145"

[dependencies.textplots]
version = "0.8.7"
optional = true

[dependencies.thiserror]
version = "2.0.17"

[dependencies.tracing]
version = "0.1.43"

[dependencies.tracing-subscriber]
version = "0.3.22"
optional = true

[dev-dependencies.criterion]
version = "0.5.1"

[dev-dependencies.pyo3-introspection]
version = "0.27"

[profile.dev.package."*"]
opt-level = 2

[profile.release]
debug = "line-tables-only"

[profile.test]
debug = 2
inherits = "release"