[package]
edition = "2024"
name = "assetpack-core"
version = "0.3.0"
authors = ["DarkSky <darksky2048@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Content-addressed asset packing, chunking, recipe, and SQLite storage primitives."
readme = "README.md"
keywords = [
"asset",
"packing",
"deduplication",
"sqlite",
"compression",
]
license = "AGPL-3.0-or-later"
repository = "https://github.com/darkskygit/assetpack"
resolver = "2"
[features]
default = [
"serde",
"sqlite-pack",
"rusqlite-store",
"file-transform",
]
file-transform = [
"dep:serde",
"dep:tempfile",
]
rusqlite-store = ["dep:rusqlite"]
sealed = []
sealed-encryption = [
"sealed",
"dep:chacha20poly1305",
"dep:getrandom",
"dep:hkdf",
"dep:sha2",
"dep:zeroize",
]
serde = ["dep:serde"]
sqlite-pack = ["dep:rusqlite"]
sqlx-store = [
"dep:chrono",
"dep:futures-core",
"dep:futures-util",
"dep:sqlx",
"dep:tokio",
]
[lib]
name = "assetpack_core"
path = "src/lib.rs"
[dependencies.brotli]
version = "8.0"
[dependencies.chacha20poly1305]
version = "0.11"
optional = true
[dependencies.chrono]
version = "0.4"
optional = true
[dependencies.fastcdc]
version = "4.0"
[dependencies.futures-core]
version = "0.3"
optional = true
[dependencies.futures-util]
version = "0.3"
optional = true
[dependencies.getrandom]
version = "0.4"
optional = true
[dependencies.hex]
version = "0.4"
[dependencies.hkdf]
version = "0.13"
optional = true
[dependencies.rusqlite]
version = "0.32.1"
optional = true
[dependencies.serde]
version = "1.0"
features = [
"derive",
"derive",
]
optional = true
[dependencies.sha2]
version = "0.11"
optional = true
[dependencies.sha3]
version = "0.12"
[dependencies.sqlx]
version = "0.9"
features = [
"sqlite",
"runtime-tokio",
"chrono",
]
optional = true
default-features = false
[dependencies.tempfile]
version = "3.27"
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.53"
features = [
"fs",
"sync",
]
optional = true
[dependencies.zeroize]
version = "1.8"
optional = true
[dependencies.zstd]
version = "0.13"
[dev-dependencies.rand]
version = "0.10"
[dev-dependencies.tokio]
version = "1.53"
features = [
"fs",
"sync",
"macros",
"rt-multi-thread",
]