mire 0.2.3

A small, generic PostgreSQL event-sourcing library: append-only event streams, aggregates with optimistic concurrency, and subscription-based projections (requires tokio + sqlx)
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.94"
name = "mire"
version = "0.2.3"
authors = ["kjuulh <contact@kasperhermansen.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A small, generic PostgreSQL event-sourcing library: append-only event streams, aggregates with optimistic concurrency, and subscription-based projections (requires tokio + sqlx)"
readme = "README.md"
license = "MIT"
repository = "https://git.kjuulh.io/kjuulh/mire"
resolver = "2"

[features]
default = ["derive"]
derive = ["dep:mire-derive"]

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

[[example]]
name = "bank_account"
path = "examples/bank_account.rs"

[[example]]
name = "batched_write"
path = "examples/batched_write.rs"

[[example]]
name = "bench"
path = "examples/bench.rs"

[[example]]
name = "commands"
path = "examples/commands.rs"

[[example]]
name = "concurrency"
path = "examples/concurrency.rs"

[[example]]
name = "multi_replica"
path = "examples/multi_replica.rs"

[[example]]
name = "projection"
path = "examples/projection.rs"

[[example]]
name = "snapshot"
path = "examples/snapshot.rs"

[[example]]
name = "transaction_scope"
path = "examples/transaction_scope.rs"

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

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

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

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

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

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

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

[dependencies.anyhow]
version = "1"

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.mire-derive]
version = "0.2.3"
optional = true

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

[dependencies.serde_json]
version = "1"

[dependencies.sqlx]
version = "0.9"
features = [
    "runtime-tokio",
    "postgres",
    "json",
    "chrono",
    "uuid",
]

[dependencies.thiserror]
version = "2"

[dependencies.tokio]
version = "1"
features = ["full"]

[dependencies.tokio-util]
version = "0.7"

[dependencies.tracing]
version = "0.1"
features = [
    "log",
    "attributes",
]

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

[dev-dependencies.tokio]
version = "1"
features = [
    "full",
    "full",
]