pinakes/Cargo.toml
NotAShelf 87a4482576
pinakes-server: TLS support; session persistence and security polish
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: If2c9c3e3af62bbf9f33a97be89ac40bc6a6a6964
2026-02-05 06:34:02 +03:00

122 lines
2.5 KiB
TOML

[workspace]
members = [
"crates/pinakes-plugin-api",
"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.49.0", features = ["full"] }
tokio-util = { version = "0.7.18", features = ["rt"] }
# Serialization
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149"
toml = "0.9.11"
# CLI argument parsing
clap = { version = "4.5.56", features = ["derive", "env"] }
# Date/time
chrono = { version = "0.4.43", features = ["serde"] }
# IDs
uuid = { version = "1.20.0", features = ["v7", "serde"] }
# Error handling
thiserror = "2.0.18"
anyhow = "1.0.100"
# Logging
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.22", features = ["env-filter", "json"] }
# Hashing
blake3 = "1.8.3"
# Metadata extraction
lofty = "0.22.4"
lopdf = "0.39.0"
epub = "2.1.5"
matroska = "0.30.0"
gray_matter = "0.3.2"
kamadak-exif = "0.6.1"
# Database - SQLite
rusqlite = { version = "0.37", features = ["bundled", "column_decltype"] }
# Database - PostgreSQL
tokio-postgres = { version = "0.7.16", features = [
"with-uuid-1",
"with-chrono-0_4",
"with-serde_json-1",
] }
deadpool-postgres = "0.14.1"
postgres-types = { version = "0.2.12", features = ["derive"] }
postgres-native-tls = "0.5.2"
native-tls = "0.2.14"
# Migrations
refinery = { version = "0.9.0", features = ["rusqlite", "tokio-postgres"] }
# Filesystem
walkdir = "2.5.0"
notify = { version = "8.2.0", features = ["macos_fsevent"] }
# Search parser
winnow = "0.7.14"
# HTTP server
axum = { version = "0.8.8", features = ["macros"] }
tower = "0.5.3"
tower-http = { version = "0.6.8", features = ["cors", "trace", "set-header"] }
governor = "0.8.1"
tower_governor = "0.6.0"
# HTTP client
reqwest = { version = "0.13.1", features = ["json", "query", "blocking"] }
# TUI
ratatui = "0.30.0"
crossterm = "0.29.0"
# Desktop/Web UI
dioxus = { version = "0.7.3", features = ["desktop", "router"] }
# Async trait (dyn-compatible async methods)
async-trait = "0.1"
# Async utilities
futures = "0.3"
# Image processing (thumbnails)
image = { version = "0.25.9", default-features = false, features = [
"jpeg",
"png",
"webp",
"gif",
"tiff",
"bmp",
] }
# Markdown rendering
pulldown-cmark = "0.12.2"
# Password hashing
argon2 = { version = "0.5.3", features = ["std"] }
# Misc
mime_guess = "2.0.5"
# WASM runtime for plugins
wasmtime = { version = "30.0.2", features = ["component-model"] }
wit-bindgen = "0.39.0"