ugnos 0.6.0

A high-performance, concurrent time-series database core written in Rust, designed for efficient IoT data ingestion, real-time analytics, and monitoring.
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"
rust-version = "1.85"
name = "ugnos"
version = "0.6.0"
authors = ["Dan Vi <bogwi@rakumail.jp>"]
build = "build.rs"
exclude = [
    "dev",
    "data",
    "demo_data",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A high-performance, concurrent time-series database core written in Rust, designed for efficient IoT data ingestion, real-time analytics, and monitoring."
homepage = "https://github.com/bogwi/ugnos"
documentation = "https://docs.rs/ugnos"
readme = "README.md"
keywords = [
    "time-series",
    "database",
    "concurrent",
    "performance",
    "analytics",
]
categories = [
    "database-implementations",
    "concurrency",
    "data-structures",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/bogwi/ugnos"

[features]
default = ["prometheus"]
prometheus = ["dep:metrics-exporter-prometheus"]

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

[[bin]]
name = "ugnosd"
path = "src/bin/ugnosd.rs"

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

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

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

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

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

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

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

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

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

[[test]]
name = "cardinality_metrics_tests"
path = "tests/cardinality_metrics_tests.rs"

[[test]]
name = "daemon_config_tests"
path = "tests/daemon_config_tests.rs"

[[test]]
name = "daemon_health_tests"
path = "tests/daemon_health_tests.rs"

[[test]]
name = "encoding_compression_tests"
path = "tests/encoding_compression_tests.rs"

[[test]]
name = "grpc_integration_tests"
path = "tests/grpc_integration_tests.rs"

[[test]]
name = "indexing_cardinality_tests"
path = "tests/indexing_cardinality_tests.rs"

[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"

[[test]]
name = "metrics_scaffolding_tests"
path = "tests/metrics_scaffolding_tests.rs"

[[test]]
name = "microbench_regressions"
path = "tests/microbench_regressions.rs"

[[test]]
name = "recovery_crash_tests"
path = "tests/recovery_crash_tests.rs"

[[test]]
name = "segment_postings_index_tests"
path = "tests/segment_postings_index_tests.rs"

[[test]]
name = "segments_engine_tests"
path = "tests/segments_engine_tests.rs"

[[test]]
name = "tag_index_corruption_tests"
path = "tests/tag_index_corruption_tests.rs"

[[test]]
name = "test_manifest"
path = "tests/test_manifest.rs"

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

[[bench]]
name = "datasets"
path = "benches/datasets.rs"

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

[dependencies.bincode]
version = "1.3"

[dependencies.bytes]
version = "1"

[dependencies.clap]
version = "4.5"
features = [
    "derive",
    "env",
]

[dependencies.config]
version = "0.15"

[dependencies.constant_time_eq]
version = "0.3"

[dependencies.crc32fast]
version = "1.4"

[dependencies.http]
version = "1"

[dependencies.http-body-util]
version = "0.1"

[dependencies.hyper]
version = "1"
features = [
    "server",
    "http1",
]

[dependencies.hyper-util]
version = "0.1"
features = [
    "server",
    "server-graceful",
    "server-auto",
    "http1",
    "tokio",
]

[dependencies.lz4_flex]
version = "0.12.0"

[dependencies.metrics]
version = "0.24.3"

[dependencies.metrics-exporter-prometheus]
version = "0.18.1"
optional = true
default-features = false

[dependencies.promql-parser]
version = "0.7.2"

[dependencies.prost]
version = "0.14"

[dependencies.rayon]
version = "1.8"

[dependencies.roaring]
version = "0.11.3"

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

[dependencies.serde_json]
version = "1.0"

[dependencies.snap]
version = "1.1"

[dependencies.tempfile]
version = "3.19.1"

[dependencies.thiserror]
version = "1.0"

[dependencies.tokio]
version = "1"
features = [
    "rt-multi-thread",
    "macros",
    "signal",
    "net",
]

[dependencies.tonic]
version = "0.14.4"

[dependencies.tonic-prost]
version = "0.14"

[dependencies.tower]
version = "0.5"

[dependencies.urlencoding]
version = "2.1.3"

[dependencies.zstd]
version = "0.13.3"

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

[dev-dependencies.iai-callgrind]
version = "0.16.1"

[dev-dependencies.proptest]
version = "1.6"

[dev-dependencies.rand]
version = "0.9.2"

[dev-dependencies.rand_chacha]
version = "0.9.0"

[dev-dependencies.ureq]
version = "2.11"

[build-dependencies.prost-build]
version = "0.14"

[build-dependencies.tonic-prost-build]
version = "0.14"