[package]
name = "bevy_persistence_database"
version = "0.2.2"
edition = "2024"
description = "A persistence and database integration solution for the Bevy game engine"
license-file = "LICENSE"
repository = "https://github.com/JViggiani/bevy_persistence_database"
homepage = "https://github.com/JViggiani/bevy_persistence_database"
documentation = "https://docs.rs/bevy_persistence_database"
readme = "README.md"
keywords = ["bevy", "database", "persistence", "gamedev", "storage"]
categories = ["game-development", "development-tools", "database", "asynchronous", "caching"]
[workspace]
members = [
"bevy_persistence_database_derive",
]
[workspace.package]
edition = "2024"
[workspace.dependencies]
bevy = { version = "0.17.3", default-features = false, features = ["bevy_log"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
arangors = "0.6.0"
tokio = { version = "1.37.0", features = ["rt-multi-thread", "macros", "time", "net"] }
futures = "0.3.30"
syn = "2.0.58"
quote = "1.0.36"
proc-macro2 = "1.0.79"
mockall = "0.12.1"
ctor = "0.2.0"
once_cell = "1.19.0"
testcontainers = "0.19.0"
[profile.bench]
debug = true
[dependencies]
bevy_persistence_database_derive = { version = "0.2.0", path = "bevy_persistence_database_derive" }
bevy = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
arangors = { workspace = true, optional = true }
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }
futures = { workspace = true }
downcast-rs = "2.0.1"
once_cell = { workspace = true }
mockall = { workspace = true }
futures-lite = "2.6.0"
rayon = "1.10.0"
uuid = { version = "1.18.0", features = ["v4"], optional = true }
tokio-postgres = { version = "0.7.13", features = ["with-serde_json-1"], optional = true }
[features]
default = ["postgres", "arango"]
arango = ["dep:arangors"]
postgres = ["dep:tokio-postgres", "dep:uuid"]
ra-fallback = ["bevy_persistence_database_derive/ra-fallback"]
[dev-dependencies]
bevy = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
testcontainers = { workspace = true }
tokio = { workspace = true, features = ["full", "macros", "rt"] }
ctor = { workspace = true }
futures = { workspace = true }
tracing-subscriber = "0.3.19"
bevy_persistence_database_derive = { version = "0.2.0", path = "bevy_persistence_database_derive" }