[package]
edition = "2024"
rust-version = "1.92"
name = "allsource-core"
version = "0.17.1"
authors = ["AllSource Team"]
build = false
exclude = [
".fastembed_cache/",
"target/",
"*.db",
"data/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance event store core built in Rust"
homepage = "https://github.com/all-source-os/all-source"
documentation = "https://docs.rs/allsource-core"
readme = "README.md"
keywords = [
"event-sourcing",
"event-store",
"cqrs",
"arrow",
"parquet",
]
categories = [
"database",
"data-structures",
"asynchronous",
]
license = "Apache-2.0"
repository = "https://github.com/all-source-os/all-source"
[features]
analytics = ["dep:datafusion"]
community = []
default = [
"server",
"community",
]
embedded = []
embedded-phase2 = ["embedded"]
embedded-projections = ["embedded"]
embedded-replicant = ["embedded"]
embedded-streaming = ["embedded"]
embedded-sync = [
"embedded",
"dep:reqwest",
]
embedded-toon = [
"embedded",
"dep:toon-format",
]
enterprise = [
"community",
"replication",
"multi-tenant",
]
flight = ["dep:arrow-flight"]
hotpath = ["dep:hotpath"]
hotpath-alloc = ["hotpath/hotpath-alloc"]
keyword-search = ["tantivy"]
multi-tenant = []
postgres = ["sqlx"]
prime = ["embedded"]
prime-full = [
"prime",
"prime-vectors",
]
prime-recall = [
"prime",
"dep:reqwest",
]
prime-vectors = [
"prime",
"vector-search",
]
replication = []
rocksdb-storage = ["rocksdb"]
server = [
"dep:axum",
"dep:tower",
"dep:tower-http",
"dep:reqwest",
"dep:jsonwebtoken",
"dep:argon2",
"dep:aes-gcm",
"dep:http",
]
vector-search = [
"fastembed",
"instant-distance",
]
[lib]
name = "allsource_core"
path = "src/lib.rs"
[[bin]]
name = "allsource-admin"
path = "src/bin/allsource-admin.rs"
required-features = ["server"]
[[bin]]
name = "allsource-core"
path = "src/main.rs"
required-features = ["server"]
[[bin]]
name = "allsource-sentinel"
path = "src/bin/allsource-sentinel.rs"
required-features = ["server"]
[[example]]
name = "embedded_quickstart"
path = "examples/embedded_quickstart.rs"
[[example]]
name = "prime_graph"
path = "examples/prime_graph.rs"
[[example]]
name = "prime_recall"
path = "examples/prime_recall.rs"
[[example]]
name = "prime_vectors"
path = "examples/prime_vectors.rs"
[[test]]
name = "ai_projection_templates"
path = "tests/ai_projection_templates.rs"
required-features = ["embedded-projections"]
[[test]]
name = "backup_tests"
path = "tests/backup_tests.rs"
[[test]]
name = "bidirectional_sync"
path = "tests/bidirectional_sync.rs"
required-features = ["embedded-sync"]
[[test]]
name = "chaos_resilience_tests"
path = "tests/chaos_resilience_tests.rs"
[[test]]
name = "config_tests"
path = "tests/config_tests.rs"
[[test]]
name = "embedded_api_phase2"
path = "tests/embedded_api_phase2.rs"
required-features = ["embedded-phase2"]
[[test]]
name = "embedded_backup_restore"
path = "tests/embedded_backup_restore.rs"
[[test]]
name = "embedded_core_api"
path = "tests/embedded_core_api.rs"
required-features = ["embedded"]
[[test]]
name = "embedded_minimal_build"
path = "tests/embedded_minimal_build.rs"
required-features = ["embedded"]
[[test]]
name = "embedded_mode_verification"
path = "tests/embedded_mode_verification.rs"
[[test]]
name = "event_sourced_stress_tests"
path = "tests/event_sourced_stress_tests.rs"
[[test]]
name = "http_sync_transport"
path = "tests/http_sync_transport.rs"
required-features = ["embedded-sync"]
[[test]]
name = "integration_test_example"
path = "tests/integration_test_example.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "mcp_tool_emission"
path = "tests/mcp_tool_emission.rs"
required-features = ["embedded-projections"]
[[test]]
name = "optimistic_concurrency_tests"
path = "tests/optimistic_concurrency_tests.rs"
[[test]]
name = "prime_integration"
path = "tests/prime_integration.rs"
[[test]]
name = "rate_limit_advanced_tests"
path = "tests/rate_limit_advanced_tests.rs"
[[test]]
name = "replicant_protocol"
path = "tests/replicant_protocol.rs"
required-features = ["embedded-replicant"]
[[test]]
name = "replication_integration_tests"
path = "tests/replication_integration_tests.rs"
[[test]]
name = "seven_day_stress"
path = "tests/stress_tests/seven_day_stress.rs"
harness = true
[[test]]
name = "staged_initialization_tests"
path = "tests/staged_initialization_tests.rs"
[[test]]
name = "token_streaming"
path = "tests/token_streaming.rs"
required-features = ["embedded-streaming"]
[[test]]
name = "toon_format"
path = "tests/toon_format.rs"
required-features = ["embedded-toon"]
[[test]]
name = "webhook_integration_tests"
path = "tests/webhook_integration_tests.rs"
[[bench]]
name = "event_ingestion"
path = "benches/event_ingestion.rs"
[[bench]]
name = "performance_benchmarks"
path = "benches/performance_benchmarks.rs"
harness = false
[dependencies.aes-gcm]
version = "0.10"
optional = true
[dependencies.anyhow]
version = "1.0"
[dependencies.argon2]
version = "0.5"
optional = true
[dependencies.arrow]
version = "57.3"
features = [
"ipc",
"json",
]
[dependencies.arrow-flight]
version = "57.3"
optional = true
[dependencies.async-trait]
version = "0.1"
[dependencies.axum]
version = "0.8"
features = [
"json",
"ws",
]
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.bumpalo]
version = "3.20"
features = ["collections"]
[dependencies.bytes]
version = "1.11.1"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.crc32fast]
version = "1.4"
[dependencies.crossbeam]
version = "0.8"
[dependencies.dashmap]
version = "6.1"
[dependencies.datafusion]
version = "52.1"
optional = true
[dependencies.fastembed]
version = "5"
optional = true
[dependencies.flate2]
version = "1.0"
[dependencies.futures]
version = "0.3"
[dependencies.hex]
version = "0.4"
[dependencies.hmac]
version = "0.12"
[dependencies.hotpath]
version = "0.14"
optional = true
[dependencies.http]
version = "1.0"
optional = true
[dependencies.instant-distance]
version = "0.6"
optional = true
[dependencies.jsonwebtoken]
version = "10.3"
features = ["rust_crypto"]
optional = true
[dependencies.parking_lot]
version = "0.12"
[dependencies.parquet]
version = "57.3"
features = [
"arrow",
"async",
]
[dependencies.prometheus]
version = "0.14"
[dependencies.rand]
version = "0.10"
[dependencies.reqwest]
version = "0.13"
features = [
"json",
"rustls",
]
optional = true
default-features = false
[dependencies.rocksdb]
version = "0.24"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.simd-json]
version = "0.17"
[dependencies.sqlx]
version = "0.8"
features = [
"runtime-tokio-rustls",
"postgres",
"json",
"chrono",
"uuid",
]
optional = true
[dependencies.tantivy]
version = "0.25"
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.time]
version = "0.3.47"
[dependencies.tokio]
version = "1.50"
features = ["full"]
[dependencies.toml]
version = "1.0"
[dependencies.toon-format]
version = "0.4"
optional = true
[dependencies.tower]
version = "0.5"
optional = true
[dependencies.tower-http]
version = "0.6"
features = [
"cors",
"trace",
]
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.url]
version = "2.5"
[dependencies.uuid]
version = "1.22"
features = [
"v4",
"serde",
]
[dev-dependencies.criterion]
version = "0.8"
[dev-dependencies.ctrlc]
version = "3.5"
[dev-dependencies.tempfile]
version = "3.27"
[dev-dependencies.testcontainers]
version = "0.26"
[dev-dependencies.testcontainers-modules]
version = "0.14"
features = ["postgres"]
[lints.clippy]
assigning_clones = "allow"
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
default_trait_access = "allow"
doc_markdown = "allow"
float_cmp = "allow"
format_push_string = "allow"
ignore_without_reason = "allow"
inefficient_to_string = "warn"
items_after_statements = "allow"
large_futures = "warn"
match_same_arms = "allow"
missing_errors_doc = "allow"
missing_fields_in_debug = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
return_self_not_must_use = "allow"
similar_names = "allow"
struct_excessive_bools = "allow"
struct_field_names = "allow"
too_many_lines = "allow"
trivially_copy_pass_by_ref = "allow"
unnecessary_wraps = "allow"
unreadable_literal = "allow"
unused_async = "allow"
unused_self = "allow"
used_underscore_binding = "allow"
wildcard_imports = "allow"
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unsafe_code = "deny"
[lints.rustdoc]
broken_intra_doc_links = "deny"