[package]
edition = "2021"
name = "shodh-memory"
version = "0.1.90"
authors = ["Shodh Team <29.varuns@gmail.com>"]
build = false
exclude = [
"mcp-server/",
"python/",
"docker/",
"test_memory_db/",
"shodh_memory_data/",
"*.exe",
"*.tar.gz",
"*.dll",
"*.zip",
"*.whl",
"*.pdf",
"*.odt",
"*.html",
"!src/handlers/graph_view.html",
"*.py",
"*.log",
"*.json",
"!Cargo.lock",
"job_log.txt",
"macos_log.txt",
"full_log.txt",
"hook_*.txt",
".mcp.json",
"nul",
"install_bun.ps1",
".venv/",
".claude/",
"assets/",
"benchmarks/",
"benchmark_report.json",
"bugs-remedies/",
"docker-compose.yml",
"Dockerfile",
"examples/",
"hooks/",
"marketing/",
"notebooks/",
"release-test/",
"seps/",
"skills/",
"test_*/",
"*.md",
"!README-rust.md",
"openapi.yaml",
"shodh_logo_nobackground.png",
"shodh_config.example.json",
"STPI_PITCH_DECK.md",
".github/",
"pyproject.toml",
"C*facts_out.json",
"tui/",
"shodh-telegram/",
"shodh-todoist/",
"shodh-whatsapp/",
"signature.JPG",
"start_server.bat",
"*.ts",
"*.patch",
"*.diff",
"*.png",
"!src/**",
"scripts/",
"clippy_output.txt",
"C*clippy_out.txt",
".smithery/",
"drafts/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Persistent memory for AI agents and edge devices - 3-tier memory, Hebbian learning, knowledge graph. Single binary, runs offline."
homepage = "https://github.com/varun29ankuS/shodh-memory"
readme = "README-rust.md"
keywords = [
"memory",
"ai",
"llm",
"embedding",
"cognitive",
]
categories = [
"science",
"database",
"embedded",
]
license = "Apache-2.0"
repository = "https://github.com/varun29ankuS/shodh-memory"
[features]
default = []
llm-parser = []
python = [
"pyo3",
"numpy",
]
telemetry = [
"tracing-opentelemetry",
"opentelemetry",
"opentelemetry-otlp",
"opentelemetry_sdk",
]
[lib]
name = "shodh_memory"
crate-type = [
"rlib",
"cdylib",
]
path = "src/lib.rs"
[[bin]]
name = "shodh"
path = "src/mcp.rs"
[[bin]]
name = "shodh-memory-server"
path = "src/main.rs"
[[test]]
name = "adaptive_memory_tests"
path = "tests/adaptive_memory_tests.rs"
[[test]]
name = "brutal_stress_tests"
path = "tests/brutal_stress_tests.rs"
[[test]]
name = "bug_regression_tests"
path = "tests/bug_regression_tests.rs"
[[test]]
name = "chunking_retrieval_tests"
path = "tests/chunking_retrieval_tests.rs"
[[test]]
name = "cognitive_memory_tests"
path = "tests/cognitive_memory_tests.rs"
[[test]]
name = "cognitive_stress_test"
path = "tests/cognitive_stress_test.rs"
[[test]]
name = "consolidation_tests"
path = "tests/consolidation_tests.rs"
[[test]]
name = "file_memory_tests"
path = "tests/file_memory_tests.rs"
[[test]]
name = "graph_memory_tests"
path = "tests/graph_memory_tests.rs"
[[test]]
name = "handler_tests"
path = "tests/handler_tests.rs"
[[test]]
name = "hebbian_learning_tests"
path = "tests/hebbian_learning_tests.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "integration_webhook_tests"
path = "tests/integration_webhook_tests.rs"
[[test]]
name = "memory_persistence_tests"
path = "tests/memory_persistence_tests.rs"
[[test]]
name = "memory_tiering_tests"
path = "tests/memory_tiering_tests.rs"
[[test]]
name = "ner_neural_tests"
path = "tests/ner_neural_tests.rs"
[[test]]
name = "ner_tests"
path = "tests/ner_tests.rs"
[[test]]
name = "query_filter_tests"
path = "tests/query_filter_tests.rs"
[[test]]
name = "salience_tests"
path = "tests/salience_tests.rs"
[[test]]
name = "spreading_activation_tests"
path = "tests/spreading_activation_tests.rs"
[[test]]
name = "storage_edge_case_tests"
path = "tests/storage_edge_case_tests.rs"
[[test]]
name = "timing_sla_tests"
path = "tests/timing_sla_tests.rs"
[[test]]
name = "universe_tests"
path = "tests/universe_tests.rs"
[[bench]]
name = "adaptive_memory_benchmarks"
path = "benches/adaptive_memory_benchmarks.rs"
harness = false
[[bench]]
name = "associative_retrieval_benchmarks"
path = "benches/associative_retrieval_benchmarks.rs"
harness = false
[[bench]]
name = "cognitive_benchmarks"
path = "benches/cognitive_benchmarks.rs"
harness = false
[[bench]]
name = "graph_benchmarks"
path = "benches/graph_benchmarks.rs"
harness = false
[[bench]]
name = "hebbian_benchmarks"
path = "benches/hebbian_benchmarks.rs"
harness = false
[[bench]]
name = "integration_benchmarks"
path = "benches/integration_benchmarks.rs"
harness = false
[[bench]]
name = "memory_benchmarks"
path = "benches/memory_benchmarks.rs"
harness = false
[[bench]]
name = "ner_benchmarks"
path = "benches/ner_benchmarks.rs"
harness = false
[[bench]]
name = "pipeline_benchmarks"
path = "benches/pipeline_benchmarks.rs"
harness = false
[[bench]]
name = "relevance_benchmarks"
path = "benches/relevance_benchmarks.rs"
harness = false
[[bench]]
name = "softmax_benchmarks"
path = "benches/softmax_benchmarks.rs"
harness = false
[[bench]]
name = "streaming_benchmarks"
path = "benches/streaming_benchmarks.rs"
harness = false
[dependencies.aes-gcm]
version = "0.10"
[dependencies.anyhow]
version = "1.0"
[dependencies.axum]
version = "0.8"
features = [
"json",
"ws",
]
[dependencies.base64]
version = "0.22"
[dependencies.bincode]
version = "2"
features = ["serde"]
[dependencies.bincode1]
version = "1.3"
package = "bincode"
[dependencies.bloomfilter]
version = "3.0"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4.5"
features = [
"derive",
"env",
]
[dependencies.dashmap]
version = "6.1"
[dependencies.dateparser]
version = "0.2"
[dependencies.dirs]
version = "6.0"
[dependencies.dotenvy]
version = "0.15"
[dependencies.flate2]
version = "1.1"
[dependencies.form_urlencoded]
version = "1"
[dependencies.futures]
version = "0.3"
[dependencies.glob]
version = "0.3"
[dependencies.hex]
version = "0.4"
[dependencies.hmac]
version = "0.12"
[dependencies.lru]
version = "0.16.3"
[dependencies.lz4]
version = "1.28"
[dependencies.memmap2]
version = "0.9"
[dependencies.mimalloc]
version = "0.1"
[dependencies.moka]
version = "0.12"
features = ["sync"]
[dependencies.ndarray]
version = "0.16"
[dependencies.numpy]
version = "0.24"
optional = true
[dependencies.opentelemetry]
version = "0.27"
features = ["trace"]
optional = true
[dependencies.opentelemetry-otlp]
version = "0.27"
features = [
"trace",
"grpc-tonic",
]
optional = true
[dependencies.opentelemetry_sdk]
version = "0.27"
features = [
"trace",
"rt-tokio",
]
optional = true
[dependencies.ordered-float]
version = "5.0"
[dependencies.ort]
version = "2.0.0-rc.11"
features = [
"load-dynamic",
"half",
]
default-features = false
[dependencies.parking_lot]
version = "0.12"
[dependencies.petgraph]
version = "0.8"
[dependencies.prometheus]
version = "0.14"
[dependencies.pyo3]
version = "0.24"
features = [
"extension-module",
"abi3-py38",
]
optional = true
[dependencies.rand]
version = "0.8"
[dependencies.regex]
version = "1.12"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"blocking",
"rustls-tls",
]
default-features = false
[dependencies.rmcp]
version = "0.12"
features = [
"server",
"macros",
"transport-io",
]
[dependencies.rmp-serde]
version = "1.3"
[dependencies.rust-stemmers]
version = "1.2"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.tantivy]
version = "0.25"
[dependencies.tar]
version = "0.4"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokenizers]
version = "0.21"
features = ["onig"]
default-features = false
[dependencies.tokio]
version = "1.48"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1"
features = ["sync"]
[dependencies.tower]
version = "0.5"
features = [
"limit",
"buffer",
"load-shed",
]
[dependencies.tower-http]
version = "0.6"
features = [
"cors",
"fs",
"timeout",
]
[dependencies.tower_governor]
version = "0.8"
features = ["axum"]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-opentelemetry]
version = "0.28"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.ureq]
version = "3.0"
features = ["json"]
[dependencies.uuid]
version = "1.19"
features = [
"v4",
"serde",
]
[dependencies.yake-rust]
version = "1.0"
[dependencies.zip]
version = "7.0"
features = ["deflate"]
default-features = false
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.http-body-util]
version = "0.1"
[dev-dependencies.tempfile]
version = "3.24"
[target."cfg(not(windows))".dependencies.rocksdb]
version = "0.24"
features = [
"lz4",
"jemalloc",
]
default-features = false
[target."cfg(windows)".dependencies.rocksdb]
version = "0.24"
features = ["lz4"]
default-features = false
[profile.bench]
opt-level = 3
lto = "thin"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"
strip = true