[package]
name = "copc_converter"
version = "0.9.5"
edition = "2024"
description = "Fast, memory-efficient converter from LAS/LAZ to COPC (Cloud-Optimized Point Cloud)"
license = "MIT"
readme = "README.md"
keywords = ["copc", "las", "laz", "pointcloud", "lidar"]
categories = ["command-line-utilities", "science::geo"]
repository = "https://github.com/360-geo/copc-converter"
default-run = "copc_converter"

[lib]
name = "copc_converter"
path = "src/lib.rs"

[[bin]]
name = "copc_converter"
path = "src/main.rs"

[[bin]]
name = "preview_chunking"
path = "src/bin/preview_chunking.rs"
required-features = ["tools"]

[[bin]]
name = "inspect_copc"
path = "src/bin/inspect_copc.rs"
required-features = ["tools"]

[features]
tools = ["dep:reqwest", "dep:tokio", "dep:copc-streaming", "dep:copc-temporal", "dep:futures"]

[dependencies]
las = { version = "0.9", features = ["laz-parallel"] }
laz = { version = "0.12", features = ["parallel"] }
byteorder = "1.5"
clap = { version = "4", features = ["derive"] }
anyhow = "1"
thiserror = "2"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
indicatif = "0.18"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
rayon = "1.10"
lz4_flex = { version = "0.13", default-features = false, features = ["frame"] }
mimalloc = "0.1"
dashmap = "6"
copc-streaming = { version = "0.1.5", optional = true }
copc-temporal = { version = "0.1.5", optional = true }
futures = { version = "0.3", optional = true }
reqwest = { version = "0.12", features = ["rustls-tls"], optional = true }
tokio = { version = "1", features = ["full"], optional = true }

[dev-dependencies]
byteorder = "1.5"
