[package]
edition = "2024"
rust-version = "1.94"
name = "chronix"
version = "0.7.0"
authors = ["hupe1980"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Chronix — an embedded, analytics-optimised time-series database."
homepage = "https://github.com/hupe1980/chronix"
documentation = "https://docs.rs/chronix"
readme = "README.md"
keywords = [
"timeseries",
"database",
"tsdb",
"embedded",
"analytics",
]
categories = [
"database-implementations",
"database",
"embedded",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/hupe1980/chronix"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
analytics = ["dep:chronix-analytics"]
default = [
"analytics",
"sql",
"field-encryption",
]
field-encryption = ["chronix-engine/field-encryption"]
object-store = [
"sql",
"chronix-engine/object-store",
"dep:object_store",
"dep:url",
]
pipeline = [
"streaming",
"security",
]
rust_decimal = ["chronix-core/rust_decimal"]
security = ["dep:chronix-security"]
sql = [
"dep:datafusion",
"analytics",
]
streaming = ["dep:chronix-streaming"]
[lib]
name = "chronix"
path = "src/lib.rs"
doctest = false
[[example]]
name = "alerting"
path = "examples/alerting.rs"
required-features = ["analytics"]
[[example]]
name = "anomaly_detection"
path = "examples/anomaly_detection.rs"
required-features = ["analytics"]
[[example]]
name = "audit_logging"
path = "examples/audit_logging.rs"
required-features = ["security"]
[[example]]
name = "authz"
path = "examples/authz.rs"
required-features = ["security"]
[[example]]
name = "backup_and_restore"
path = "examples/backup_and_restore.rs"
[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"
[[example]]
name = "cold_tier"
path = "examples/cold_tier.rs"
required-features = ["object-store"]
[[example]]
name = "compute_engine"
path = "examples/compute_engine.rs"
required-features = ["analytics"]
[[example]]
name = "continuous_forecast"
path = "examples/continuous_forecast.rs"
required-features = ["analytics"]
[[example]]
name = "data_pipeline"
path = "examples/data_pipeline.rs"
required-features = [
"pipeline",
"sql",
"analytics",
]
[[example]]
name = "delete_operations"
path = "examples/delete_operations.rs"
[[example]]
name = "encoding"
path = "examples/encoding.rs"
[[example]]
name = "encryption"
path = "examples/encryption.rs"
required-features = ["security"]
[[example]]
name = "exact_decimals"
path = "examples/exact_decimals.rs"
[[example]]
name = "field_encryption"
path = "examples/field_encryption.rs"
[[example]]
name = "forecast"
path = "examples/forecast.rs"
required-features = ["analytics"]
[[example]]
name = "gateway_footprint"
path = "examples/gateway_footprint.rs"
required-features = ["sql"]
[[example]]
name = "model_lifecycle"
path = "examples/model_lifecycle.rs"
required-features = ["analytics"]
[[example]]
name = "multivariate_analysis"
path = "examples/multivariate_analysis.rs"
required-features = ["analytics"]
[[example]]
name = "preprocessing"
path = "examples/preprocessing.rs"
required-features = ["analytics"]
[[example]]
name = "promql_queries"
path = "examples/promql_queries.rs"
[[example]]
name = "quantile_forecast"
path = "examples/quantile_forecast.rs"
required-features = ["analytics"]
[[example]]
name = "query_and_aggregation"
path = "examples/query_and_aggregation.rs"
[[example]]
name = "quickstart"
path = "examples/quickstart.rs"
required-features = ["sql"]
[[example]]
name = "schema_exploration"
path = "examples/schema_exploration.rs"
required-features = ["sql"]
[[example]]
name = "signal_triggers"
path = "examples/signal_triggers.rs"
required-features = ["streaming"]
[[example]]
name = "sql_footprint"
path = "examples/sql_footprint.rs"
required-features = ["sql"]
[[example]]
name = "sql_queries"
path = "examples/sql_queries.rs"
required-features = ["sql"]
[[example]]
name = "storage_lifecycle"
path = "examples/storage_lifecycle.rs"
required-features = ["sql"]
[[example]]
name = "tenant_isolation"
path = "examples/tenant_isolation.rs"
required-features = ["security"]
[[example]]
name = "unattended_year"
path = "examples/unattended_year.rs"
[[test]]
name = "analytics_limits"
path = "tests/analytics_limits.rs"
required-features = ["sql"]
[[test]]
name = "analytics_null_semantics"
path = "tests/analytics_null_semantics.rs"
required-features = ["sql"]
[[test]]
name = "auto_forecast"
path = "tests/auto_forecast.rs"
required-features = ["analytics"]
[[test]]
name = "backup_restore"
path = "tests/backup_restore.rs"
[[test]]
name = "calendar_rollups"
path = "tests/calendar_rollups.rs"
[[test]]
name = "cardinality_accounting"
path = "tests/cardinality_accounting.rs"
[[test]]
name = "cold_archive"
path = "tests/cold_archive.rs"
[[test]]
name = "column_roles"
path = "tests/column_roles.rs"
[[test]]
name = "crash_under_load"
path = "tests/crash_under_load.rs"
[[test]]
name = "decimal_lifecycle"
path = "tests/decimal_lifecycle.rs"
required-features = ["streaming"]
[[test]]
name = "delete_semantics"
path = "tests/delete_semantics.rs"
[[test]]
name = "documented_promql"
path = "tests/documented_promql.rs"
[[test]]
name = "documented_sql"
path = "tests/documented_sql.rs"
required-features = [
"sql",
"streaming",
]
[[test]]
name = "downsample_boundaries"
path = "tests/downsample_boundaries.rs"
[[test]]
name = "exact_decimals"
path = "tests/exact_decimals.rs"
[[test]]
name = "field_encryption"
path = "tests/field_encryption.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "last_value"
path = "tests/last_value.rs"
[[test]]
name = "lww_consistency"
path = "tests/lww_consistency.rs"
required-features = ["sql"]
[[test]]
name = "maintenance_interleaving"
path = "tests/maintenance_interleaving.rs"
[[test]]
name = "namespace_scan"
path = "tests/namespace_scan.rs"
[[test]]
name = "native_histograms"
path = "tests/native_histograms.rs"
[[test]]
name = "null_semantics"
path = "tests/null_semantics.rs"
required-features = ["sql"]
[[test]]
name = "promql_conformance"
path = "tests/promql_conformance.rs"
[[test]]
name = "promql_identity"
path = "tests/promql_identity.rs"
[[test]]
name = "promql_surface"
path = "tests/promql_surface.rs"
[[test]]
name = "public_api"
path = "tests/public_api.rs"
required-features = [
"pipeline",
"sql",
]
[[test]]
name = "query_deadline"
path = "tests/query_deadline.rs"
[[test]]
name = "query_memory_budget"
path = "tests/query_memory_budget.rs"
[[test]]
name = "query_time_range"
path = "tests/query_time_range.rs"
[[test]]
name = "read_under_maintenance"
path = "tests/read_under_maintenance.rs"
[[test]]
name = "resident_memory"
path = "tests/resident_memory.rs"
required-features = ["streaming"]
[[test]]
name = "restart_invariants"
path = "tests/restart_invariants.rs"
[[test]]
name = "retention_rollup"
path = "tests/retention_rollup.rs"
[[test]]
name = "rollup_materialisation"
path = "tests/rollup_materialisation.rs"
[[test]]
name = "rollup_repair_crash"
path = "tests/rollup_repair_crash.rs"
[[test]]
name = "segment_compression"
path = "tests/segment_compression.rs"
[[test]]
name = "sql_analytics_functions"
path = "tests/sql_analytics_functions.rs"
required-features = ["sql"]
[[test]]
name = "sql_catalog_scope"
path = "tests/sql_catalog_scope.rs"
required-features = ["sql"]
[[test]]
name = "sql_decimal_semantics"
path = "tests/sql_decimal_semantics.rs"
required-features = ["sql"]
[[test]]
name = "sql_forecast_types"
path = "tests/sql_forecast_types.rs"
required-features = ["sql"]
[[test]]
name = "sql_projection"
path = "tests/sql_projection.rs"
required-features = ["sql"]
[[test]]
name = "sql_rate_partitioning"
path = "tests/sql_rate_partitioning.rs"
required-features = ["sql"]
[[test]]
name = "sql_scan_streaming"
path = "tests/sql_scan_streaming.rs"
required-features = ["sql"]
[[test]]
name = "sql_time_predicates"
path = "tests/sql_time_predicates.rs"
required-features = ["sql"]
[[test]]
name = "streaming_aggregation"
path = "tests/streaming_aggregation.rs"
[[test]]
name = "streaming_limit"
path = "tests/streaming_limit.rs"
[[test]]
name = "streaming_scan"
path = "tests/streaming_scan.rs"
[[test]]
name = "trigger_delivery"
path = "tests/trigger_delivery.rs"
required-features = ["pipeline"]
[[test]]
name = "unattended"
path = "tests/unattended.rs"
[[bench]]
name = "chronix_bench"
path = "benches/chronix_bench.rs"
harness = false
required-features = ["sql"]
[dependencies.arrow]
version = "59"
features = ["prettyprint"]
[dependencies.async-stream]
version = "0.3"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.23"
[dependencies.chronix-analytics]
version = "0.7.0"
optional = true
[dependencies.chronix-core]
version = "0.7.0"
[dependencies.chronix-encoding]
version = "0.7.0"
[dependencies.chronix-engine]
version = "0.7.0"
[dependencies.chronix-query]
version = "0.7.0"
[dependencies.chronix-security]
version = "0.7.0"
optional = true
[dependencies.chronix-streaming]
version = "0.7.0"
optional = true
[dependencies.chrono]
version = "0.4"
[dependencies.dashmap]
version = "6"
[dependencies.datafusion]
version = "55"
optional = true
[dependencies.fs2]
version = "0.4"
[dependencies.futures]
version = "0.3"
[dependencies.metrics]
version = "0.24"
[dependencies.object_store]
version = "0.13"
features = [
"aws",
"gcp",
"azure",
]
optional = true
[dependencies.parking_lot]
version = "0.12"
[dependencies.parquet]
version = "59"
features = ["arrow"]
[dependencies.postcard]
version = "1"
features = ["use-std"]
default-features = false
[dependencies.rayon]
version = "1"
[dependencies.regex]
version = "1"
[dependencies.serde]
version = "1"
features = [
"derive",
"derive",
]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tracing]
version = "0.1"
[dependencies.url]
version = "2"
optional = true
[dependencies.uuid]
version = "1"
features = ["v4"]
[dev-dependencies.crc32c]
version = "0.6"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[lints.clippy]
cloned_instead_of_copied = "warn"
expect_used = "allow"
flat_map_option = "warn"
implicit_clone = "warn"
indexing_slicing = "allow"
large_futures = "warn"
manual_let_else = "allow"
needless_pass_by_value = "warn"
panic = "warn"
redundant_closure_for_method_calls = "warn"
trivially_copy_pass_by_ref = "warn"
unwrap_used = "warn"
[lints.rust]
unsafe_code = "warn"