sourcerer 0.1.0

Event-sourcing framework providing aggregates, repositories, stores, snapshots and upcasters for Rust applications.
Documentation
[dependencies.async-trait]
version = "~0.1"

[dependencies.cloudevents-sdk]
version = "0.8.0"

[dependencies.dashmap]
version = "~5"

[dependencies.futures]
version = "0.3"

[dependencies.serde]
features = ["derive"]
version = "~1"

[dependencies.serde_json]
version = "1.0"

[dependencies.sled]
optional = true
version = "0.34"

[dependencies.sqlx]
features = ["runtime-tokio", "postgres", "json"]
optional = true
version = "~0.8"

[dependencies.thiserror]
version = "~2"

[dependencies.tracing]
features = ["log"]
version = "~0.1"

[dependencies.url]
version = "~2"

[dependencies.uuid]
features = ["v4", "serde"]
version = "~1"

[dev-dependencies]

[features]
default = ["in-memory"]
in-memory = []
postgres-storage = ["sqlx"]
sled-storage = ["sled"]

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

[lints.clippy.complexity]
level = "warn"
priority = 1

[lints.clippy.correctness]
level = "deny"
priority = 1

[lints.clippy.future_not_send]
level = "allow"
priority = 2

[lints.clippy.match_bool]
level = "allow"
priority = 2

[lints.clippy.module_name_repetitions]
level = "allow"
priority = 2

[lints.clippy.nursery]
level = "allow"
priority = 3

[lints.clippy.pedantic]
level = "allow"
priority = 3

[lints.clippy.perf]
level = "warn"
priority = 1

[lints.clippy.significant-drop-tightening]
level = "allow"
priority = 2

[lints.clippy.style]
level = "warn"
priority = 1

[lints.clippy.suspicious]
level = "warn"
priority = 1

[lints.clippy.uninlined_format_args]
level = "warn"
priority = 2

[lints.clippy.wildcard_imports]
level = "allow"
priority = 2

[lints.rust.dead_code]
level = "allow"
priority = 3

[lints.rust.missing_docs]
level = "warn"
priority = 1

[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
description = "Event-sourcing framework providing aggregates, repositories, stores, snapshots and upcasters for Rust applications."
edition = "2024"
license = "MIT"
name = "sourcerer"
readme = false
resolver = "2"
version = "0.1.0"

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

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