[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"