[package] name = "ella-engine" version.workspace = true edition.workspace = true authors.workspace = true license.workspace = true repository.workspace = true description = "Core engine implementation for the ella datastore." [dependencies] datafusion = { workspace = true } datafusion-proto = { workspace = true } arrow-schema = { workspace = true } thiserror = { workspace = true } ella-common = { workspace = true } ella-tensor = { workspace = true } tokio = { workspace = true, features = ["sync", "rt-multi-thread"] } futures = { workspace = true } derive_more = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } uuid = { workspace = true } once_cell = { workspace = true } object_store = { workspace = true } thrift = { workspace = true } async-trait = { workspace = true } dashmap = { workspace = true } strum = { workspace = true } url = { workspace = true } flume = { workspace = true } rand = { workspace = true } prometheus-client = { workspace = true, optional = true } hyper = { workspace = true, optional = true, features = [ "server", "http2", "tcp", ] } num-traits = "0.2.15" tokio-stream = { version = "0.1.12", features = ["sync"] } tokio-util = "0.7.7" tracing = "0.1.37" tracing-subscriber = { version = "0.3.17", features = ["env-filter"] } [dev-dependencies] anyhow = "1.0.70" tracing-opentelemetry = { workspace = true } opentelemetry = { workspace = true } opentelemetry-otlp = { workspace = true } [features] default = ["metrics"] metrics = ["dep:prometheus-client", "dep:hyper"] pyo3 = ["ella-common/pyo3", "ella-tensor/pyo3", "datafusion/pyarrow"]