[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"] } # 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"] } # 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"] } governor = "0.8.1" tower_governor = "0.6.0" # HTTP client reqwest = { version = "0.13.1", features = ["json", "query"] } # 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" # 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"