[[bin]]
name = "transmutation"
path = "src/bin/transmutation.rs"
required-features = ["cli"]
[build-dependencies.winres]
version = "0.1"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.blake3]
version = "1.5"
[dependencies.clap]
features = ["derive", "cargo", "env"]
optional = true
version = "4.5"
[dependencies.colored]
optional = true
version = "2.2"
[dependencies.comrak]
version = "0.29"
[dependencies.console]
optional = true
version = "0.15"
[dependencies.dirs]
version = "5.0"
[dependencies.docx-rs]
optional = true
version = "0.4"
[dependencies.file-format]
version = "0.26"
[dependencies.flate2]
optional = true
version = "1.0"
[dependencies.futures]
version = "0.3"
[dependencies.html5ever]
version = "0.29"
[dependencies.image]
features = ["png", "jpeg", "gif", "bmp", "tiff", "webp"]
version = "0.25"
[dependencies.imageproc]
version = "0.25"
[dependencies.indicatif]
optional = true
version = "0.17"
[dependencies.leptess]
optional = true
version = "0.14"
[dependencies.lopdf]
version = "0.35"
[dependencies.mime]
version = "0.3"
[dependencies.mime_guess]
version = "2.0"
[dependencies.ndarray]
optional = true
version = "0.15"
[dependencies.num_cpus]
version = "1.16"
[dependencies.once_cell]
version = "1.20"
[dependencies.ort]
features = ["download-binaries"]
optional = true
version = "2.0.0-rc.10"
[dependencies.pdf-extract]
version = "0.7"
[dependencies.pdfium-render]
optional = true
version = "0.8"
[dependencies.pulldown-cmark]
version = "0.13"
[dependencies.quick-xml]
version = "0.37"
[dependencies.rayon]
version = "1.10"
[dependencies.regex]
version = "1.11"
[dependencies.roxmltree]
optional = true
version = "0.21"
[dependencies.rstar]
optional = true
version = "0.12"
[dependencies.scraper]
version = "0.21"
[dependencies.serde]
features = ["derive"]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.sevenz-rust]
optional = true
version = "0.6"
[dependencies.sha2]
version = "0.10"
[dependencies.tar]
optional = true
version = "0.4"
[dependencies.tempfile]
version = "3.20"
[dependencies.tesseract]
optional = true
version = "0.15"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
features = ["full"]
version = "1.47"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-opentelemetry]
optional = true
version = "0.30"
[dependencies.tracing-subscriber]
features = ["env-filter", "json"]
version = "0.3"
[dependencies.umya-spreadsheet]
optional = true
version = "2.3"
[dependencies.walkdir]
version = "2.5"
[dependencies.zip]
version = "6.0"
[dev-dependencies.criterion]
features = ["async_tokio", "html_reports"]
version = "0.6"
[dev-dependencies.mockall]
version = "0.13"
[dev-dependencies.pretty_assertions]
version = "1.4"
[dev-dependencies.proptest]
version = "1.6"
[dev-dependencies.tempfile]
version = "3.20"
[dev-dependencies.tokio-test]
version = "0.4"
[[example]]
name = "advanced_options"
path = "examples/advanced_options.rs"
[[example]]
name = "basic_conversion"
path = "examples/basic_conversion.rs"
[[example]]
name = "batch_processing"
path = "examples/batch_processing.rs"
[[example]]
name = "batch_test"
path = "examples/batch_test.rs"
[[example]]
name = "debug_extract"
path = "examples/debug_extract.rs"
[[example]]
name = "debug_lopdf_pages"
path = "examples/debug_lopdf_pages.rs"
[[example]]
name = "debug_text_blocks"
path = "examples/debug_text_blocks.rs"
[[example]]
name = "pdf_conversion"
path = "examples/pdf_conversion.rs"
[[example]]
name = "test_convert"
path = "examples/test_convert.rs"
[[example]]
name = "test_features"
path = "examples/test_features.rs"
[[example]]
name = "test_ffi"
path = "examples/test_ffi.rs"
[[example]]
name = "test_pdf_extract"
path = "examples/test_pdf_extract.rs"
[features]
archives-extended = ["tar", "flate2", "sevenz-rust"]
audio = []
cli = ["clap", "indicatif", "console", "colored"]
default = ["office"]
docling-ffi = ["dep:ort", "dep:ndarray", "dep:rstar", "dep:pdfium-render"]
full = ["pdf-to-image", "office", "image-ocr", "audio", "video", "archives-extended", "cli"]
image-ocr = ["tesseract"]
office = ["docx-rs", "umya-spreadsheet"]
pdf-to-image = ["dep:pdfium-render"]
tesseract = ["dep:tesseract", "dep:leptess"]
video = []
[lib]
name = "transmutation"
path = "src/lib.rs"
[lints.clippy]
cast_lossless = "warn"
doc_link_with_quotes = "warn"
enum_glob_use = "warn"
explicit_into_iter_loop = "warn"
filter_map_next = "warn"
flat_map_option = "warn"
from_iter_instead_of_collect = "warn"
implicit_clone = "warn"
inconsistent_struct_constructor = "warn"
inefficient_to_string = "warn"
manual_is_variant_and = "warn"
manual_let_else = "warn"
match_wildcard_for_single_variants = "warn"
needless_continue = "warn"
needless_pass_by_ref_mut = "warn"
needless_raw_string_hashes = "warn"
ptr_as_ptr = "warn"
ref_option_ref = "warn"
uninlined_format_args = "warn"
unnecessary_wraps = "warn"
unused_self = "warn"
used_underscore_binding = "warn"
[lints.rust.unexpected_cfgs]
check-cfg = ["cfg(tokio_unstable)"]
level = "warn"
priority = 0
[lints.rustdoc]
private_intra_doc_links = "allow"
[package]
authors = ["HiveLLM Team <team@hivellm.org>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["parser-implementations", "text-processing", "multimedia"]
description = "High-performance document conversion engine for AI/LLM embeddings - 27 formats supported"
documentation = "https://docs.rs/transmutation"
edition = "2024"
exclude = ["data/*", "docling_parse", "docling-parse/", "build_*", "libs/", "*.pdf", "*.mp3", "*.mp4", ".github/"]
homepage = "https://hivellm.org/transmutation"
keywords = ["document", "conversion", "pdf", "llm", "embedding"]
license = "MIT"
name = "transmutation"
readme = "README.md"
repository = "https://github.com/hivellm/transmutation"
rust-version = "1.85"
version = "0.3.1"
[package.metadata.deb]
assets = [["target/release/transmutation", "usr/bin/", "755"], ["README.md", "usr/share/doc/transmutation/README", "644"], ["LICENSE", "usr/share/doc/transmutation/LICENSE", "644"]]
conf-files = []
depends = "$auto"
extended-description = "Transmutation is a high-performance document conversion engine for AI/LLM embeddings. Supports 27+ formats including PDF, Office docs, images, audio, and video. Built in Rust for maximum performance and safety."
license-file = ["LICENSE", "0"]
maintainer = "HiveLLM Team <team@hivellm.org>"
maintainer-scripts = "debian/"
priority = "optional"
section = "text"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[package.metadata.wix]
eula = true
license = "wix/License.rtf"
path-guid = "87654321-4321-4321-4321-210987654321"
upgrade-guid = "12345678-1234-1234-1234-123456789012"
[profile.bench]
lto = true
opt-level = 3
[profile.release]
codegen-units = 1
lto = true
opt-level = 3
strip = true
[[test]]
name = "pdf_tests"
path = "tests/pdf_tests.rs"
[[test]]
name = "pipeline_integration_test"
path = "tests/pipeline_integration_test.rs"