ferogram-session 0.6.5

Session persistence types and storage backends for ferogram
Documentation
[package]
name        = "ferogram-session"
description = "Session persistence types and storage backends for ferogram"
readme      = "README.md"
version.workspace    = true
edition.workspace    = true
license.workspace    = true
authors.workspace    = true
repository.workspace = true
homepage.workspace   = true
documentation = "https://docs.rs/ferogram-session"
keywords      = ["telegram", "mtproto", "session", "storage", "async"]
categories    = ["api-bindings", "data-structures"]

[dependencies]
base64   = "0.23.0"
thiserror = "2"
tracing  = { version = "0.1", features = ["log"] }
serde            = { version = "1", features = ["derive"], optional = true }
rusqlite = { version = "0.40.0", optional = true, features = ["bundled"] }
libsql   = { version = "0.9.30", default-features = false, features = ["core"], optional = true }
tokio    = { version = "1.23.1", features = ["sync"], optional = true }

[dev-dependencies]
tokio = { version = "1.23.1", features = ["rt", "macros"] }

[features]
default         = []
## Derive Serialize/Deserialize on session types, for custom storage backends.
serde           = ["dep:serde"]
## Persist sessions to a local SQLite database via rusqlite (bundled sqlite3
## C source; adds a native build step).
sqlite-session  = ["rusqlite"]
## Persist sessions via libSQL (local file or embedded replica).
libsql-session  = ["dep:libsql", "dep:tokio"]
## Persist sessions via a remote libSQL/Turso server, with replication.
## Note: enabling this together with sqlite-session links two separate
## sqlite3 C sources and will fail at link time; pick one session backend.
libsql-remote-session = ["libsql-session", "libsql/replication", "libsql/remote"]

[package.metadata.docs.rs]
features     = ["serde", "sqlite-session"]
rustdoc-args = ["--cfg", "docsrs"]