| [workspace] |
| members = [ |
| "koharu", |
| "koharu-llm", |
| "koharu-ml", |
| "koharu-runtime", |
| "koharu-ai", |
| "koharu-psd", |
| "koharu-renderer", |
| "koharu-app", |
| "koharu-rpc", |
| "koharu-core", |
| "tests/integration-tests", |
| "tests/integration-tests/client", |
| ] |
| default-members = ["koharu"] |
| resolver = "3" |
|
|
| [workspace.package] |
| version = "0.58.0" |
| edition = "2024" |
| description = "Manga translation tools" |
| license = "GPL-3.0-only" |
| authors = [ |
| "Mayo Takanashi <mayo@linux.com>", |
| "Wangchong Zhou <fffonion@gmail.com>", |
| ] |
| readme = "README.md" |
| homepage = "https://koharu.rs" |
| repository = "https://github.com/mayocream/koharu" |
| keywords = ["manga", "ocr", "translation", "deep_learning", "computer_vision"] |
| publish = false |
|
|
| [workspace.dependencies] |
| koharu-app = { path = "koharu-app", default-features = false } |
| koharu-core = { path = "koharu-core", default-features = false } |
| koharu-llm = { path = "koharu-llm" } |
| koharu-runtime = { path = "koharu-runtime", default-features = false } |
| koharu-ai = { path = "koharu-ai", default-features = false } |
| koharu-ml = { path = "koharu-ml", default-features = false } |
| koharu-psd = { path = "koharu-psd", default-features = false } |
| koharu-renderer = { path = "koharu-renderer", default-features = false } |
| koharu-rpc = { path = "koharu-rpc", default-features = false } |
| candle-transformers = "=0.9.2" |
| candle-core = "=0.9.2" |
| candle-nn = "=0.9.2" |
| candle-flash-attn = "=0.9.2" |
| hf-hub = "0.5" |
| image = "0.25" |
| anyhow = "1.0" |
| async-trait = "0.1" |
| imageproc = "0.26" |
| clap = { version = "4.5", features = ["derive"] } |
| serde = { version = "1", features = ["derive"] } |
| serde_bytes = "0.11" |
| serde_json = "1.0" |
| tokio = { version = "1.51", features = ["full"] } |
| tracing = "0.1" |
| tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt", "registry"] } |
| console = "0.16" |
| open = "5.3" |
| rfd = "0.17" |
| postcard = { version = "1.0", features = ["use-std"] } |
| thiserror = "2.0" |
| tauri = { version = "2.11", features = ["devtools"] } |
| tauri-build = "2.6" |
| tauri-plugin-dialog = "2.4" |
| tauri-plugin-fs = "2.5" |
| tauri-plugin-opener = "2.5" |
| tauri-plugin-updater = "2.10" |
| blake3 = "1.8" |
| rayon = "1.12" |
| |
| tokenizers = { version = "0.23", default-features = false, features = ["onig"] } |
| strum = { version = "0.28", features = ["derive"] } |
| zip = { version = "8.6", default-features = false, features = ["deflate"] } |
| dirs = "6.0" |
| futures = "0.3" |
| eventsource-stream = "0.2.3" |
| reqwest = { version = "0.13", features = ["stream", "json", "form", "blocking", "multipart"] } |
| secrecy = { version = "0.10", features = ["serde"] } |
| reqwest-middleware = "0.5" |
| reqwest-retry = "0.9" |
| toml = "1.1" |
| inventory = "0.3" |
| url = { version = "2.5", features = ["serde"] } |
| arc-swap = "1.7" |
| camino = { version = "1.1", features = ["serde1"] } |
| indexmap = { version = "2.13", features = ["serde"] } |
| flate2 = { version = "1.0", default-features = false, features = [ |
| "zlib-ng-compat", |
| ] } |
| csv = "1.3" |
| tempfile = "3.24" |
| once_cell = "1.21" |
| libloading = "0.8.9" |
| num_cpus = "1.17" |
| rustfft = "6.4" |
| cudarc = { version = "0.19.4", features = [ |
| "cuda-version-from-build-system", |
| "cufft", |
| "std", |
| "cublas", |
| "cublaslt", |
| "curand", |
| "cudnn", |
| "driver", |
| "dynamic-loading", |
| "nvrtc", |
| "f16", |
| "f8", |
| ] } |
| objc2 = "0.6" |
| objc2-metal = "0.3" |
| objc2-metal-performance-shaders = "0.3" |
| objc2-metal-performance-shaders-graph = "0.3" |
| objc2-foundation = "0.3" |
| indicatif = "0.18" |
| minijinja = "2.19" |
| minijinja-contrib = { version = "2.19", features = ["pycompat"] } |
| windows = { version = "0.62", features = [ |
| "Win32", |
| "Win32_System", |
| "Win32_System_Console", |
| "Win32_UI_WindowsAndMessaging", |
| ] } |
| windows-sys = "0.61" |
| winreg = "0.56" |
| skrifa = "0.42" |
| harfrust = "0.6" |
| hypher = "0.1.7" |
| icu_properties = "2.2" |
| icu_segmenter = "2.2" |
| jieba-rs = "0.9.0" |
| fontdb = "0.23" |
| fontdue = "0.9" |
| tiny-skia = "0.12" |
| axum = { version = "0.8", features = ["multipart", "ws"] } |
| async-stream = "0.3" |
| rmp-serde = "1" |
| rmpv = { version = "1", features = ["with-serde"] } |
| rmcp = { version = "1.6", features = [ |
| "server", |
| "transport-streamable-http-server", |
| ] } |
| schemars = { version = "1.2", features = ["chrono04", "indexmap2", "uuid1"] } |
| utoipa = { version = "5", features = ["axum_extras", "chrono", "indexmap", "uuid"] } |
| utoipa-axum = "0.2" |
| uuid = { version = "1.18", features = ["v4", "v7", "serde"] } |
| chrono = { version = "0.4", default-features = false, features = ["serde", "clock"] } |
| atomicwrites = "0.4" |
| fs4 = "1" |
| parking_lot = "0.12" |
| dashmap = "6" |
| tokio-stream = { version = "0.1", features = ["sync"] } |
| walkdir = "2.5" |
| proptest = "1.6" |
| insta = "1.41" |
| base64 = "0.22" |
| tower-http = { version = "0.6", features = ["cors"] } |
| unicode-bidi = "0.3" |
| criterion = { version = "0.8", features = ["html_reports"] } |
| git-version = "0.3" |
| keyring = "3.6" |
| lru = "0.18" |
| petgraph = "0.8" |
| petname = "3" |
| tauri-plugin-process = "2.3" |
| natord = "1.0.9" |
| sentry = { version = "0.48", features = ["tracing"] } |
|
|
| [patch.crates-io] |
| candle-transformers = { git = "https://github.com/mayocream/candle", branch = "flash-attn" } |
| candle-core = { git = "https://github.com/mayocream/candle", branch = "flash-attn" } |
| candle-nn = { git = "https://github.com/mayocream/candle", branch = "flash-attn" } |
| candle-flash-attn = { git = "https://github.com/mayocream/candle", branch = "flash-attn" } |
| ug = { git = "https://github.com/mayocream/ug", branch = "cuda-dynamic-loading" } |
| ug-cuda = { git = "https://github.com/mayocream/ug", branch = "cuda-dynamic-loading" } |
|
|
| [profile.dev.package.image] |
| opt-level = 3 |
|
|
| [profile.dev.package.imageproc] |
| opt-level = 3 |
|
|
| [profile.release-with-debug] |
| inherits = "release" |
| debug-assertions = true |
|
|