Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I4a6b498153eccd5407510dd541b7f4816a6a6964
100 lines
2.1 KiB
TOML
100 lines
2.1 KiB
TOML
[workspace]
|
|
members = [
|
|
"crates/pinakes-core",
|
|
"crates/pinakes-server",
|
|
"crates/pinakes-tui",
|
|
"crates/pinakes-ui",
|
|
]
|
|
resolver = "3"
|
|
|
|
[workspace.package]
|
|
edition = "2024"
|
|
version = "0.1.0"
|
|
license = "MIT"
|
|
|
|
[workspace.dependencies]
|
|
# Async runtime
|
|
tokio = { version = "1", features = ["full"] }
|
|
|
|
# Serialization
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
toml = "0.9"
|
|
|
|
# CLI argument parsing
|
|
clap = { version = "4", features = ["derive", "env"] }
|
|
|
|
# Date/time
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
|
|
# IDs
|
|
uuid = { version = "1", features = ["v7", "serde"] }
|
|
|
|
# Error handling
|
|
thiserror = "2"
|
|
anyhow = "1"
|
|
|
|
# Logging
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
|
|
|
|
# Hashing
|
|
blake3 = "1"
|
|
|
|
# Metadata extraction
|
|
lofty = "0.22"
|
|
lopdf = "0.39"
|
|
epub = "2"
|
|
matroska = "0.30"
|
|
gray_matter = "0.3"
|
|
kamadak-exif = "0.6"
|
|
|
|
# Database - SQLite
|
|
rusqlite = { version = "0.37", features = ["bundled", "column_decltype"] }
|
|
|
|
# Database - PostgreSQL
|
|
tokio-postgres = { version = "0.7", features = ["with-uuid-1", "with-chrono-0_4", "with-serde_json-1"] }
|
|
deadpool-postgres = "0.14"
|
|
postgres-types = { version = "0.2", features = ["derive"] }
|
|
|
|
# Migrations
|
|
refinery = { version = "0.9", features = ["rusqlite", "tokio-postgres"] }
|
|
|
|
# Filesystem
|
|
walkdir = "2"
|
|
notify = { version = "8", features = ["macos_fsevent"] }
|
|
|
|
# Search parser
|
|
winnow = "0.7"
|
|
|
|
# HTTP server
|
|
axum = { version = "0.8", features = ["macros"] }
|
|
tower = "0.5"
|
|
tower-http = { version = "0.6", features = ["cors", "trace"] }
|
|
governor = "0.8"
|
|
tower_governor = "0.6"
|
|
|
|
# HTTP client
|
|
reqwest = { version = "0.13", features = ["json", "query"] }
|
|
|
|
# TUI
|
|
ratatui = "0.30"
|
|
crossterm = "0.29"
|
|
|
|
# Desktop/Web UI
|
|
dioxus = { version = "0.7", features = ["desktop", "router"] }
|
|
|
|
# Async trait (dyn-compatible async methods)
|
|
async-trait = "0.1"
|
|
|
|
# Image processing (thumbnails)
|
|
image = { version = "0.25", default-features = false, features = ["jpeg", "png", "webp", "gif", "tiff", "bmp"] }
|
|
|
|
# Markdown rendering
|
|
pulldown-cmark = "0.12"
|
|
|
|
# Password hashing
|
|
argon2 = "0.5"
|
|
|
|
# Misc
|
|
mime_guess = "2"
|