spacedrive/crates/ai/Cargo.toml
Ericson "Fogo" Soares 6b760b0b2a
[ENG-1628] Write new indexer with the task system (#2161)
* Moving file-path-helper to a sub-crate on core

* Parallel walker tested and working

* Change inner core crate names to sd-core-* naming scheme

* Moving stuff around

* Save and Update tasks for the new indexer job

* Some initial drafts on the new job system

* More drafts on job system

* Changing walker task to a more explicit state machine
Also drafting more of job system

* More drafting on job resume

* Completed the draft on job system inner workings

* New job context abstraction to decouple library stuff from job system

* Properly use composition on task dispatcher

* First draft on indexer job

* Job serialization

* Handling ancestors in the distributed walker for indexer

* Saving computed directories sizes on a location to db

* Enable a way to check if jobs are running in a location

* Progress reporting on indexer job

* Reorganizing modules

* Shallow indexer

* Rust fmt

* Attempting windows CI fix

* Attempting windows CI fix again

* Attempting windows CI fix again
2024-04-08 14:32:44 +00:00

80 lines
2.5 KiB
TOML

[package]
name = "sd-ai"
version = "0.1.0"
authors = ["Ericson Soares <ericson@spacedrive.com>"]
readme = "README.md"
description = "A simple library to generate video thumbnails using ffmpeg with the webp format"
rust-version = "1.75.0"
license = { workspace = true }
repository = { workspace = true }
edition = { workspace = true }
[dependencies]
# Inner Core Sub-crates
sd-core-file-path-helper = { path = "../../core/crates/file-path-helper" }
sd-core-prisma-helpers = { path = "../../core/crates/prisma-helpers" }
sd-core-sync = { path = "../../core/crates/sync" }
# Spacedrive Sub-crates
sd-prisma = { path = "../prisma" }
sd-sync = { path = "../sync" }
sd-utils = { path = "../utils" }
async-channel = { workspace = true }
chrono = { workspace = true, features = ["serde"] }
futures = { workspace = true }
futures-concurrency = { workspace = true }
image = { workspace = true }
once_cell = { workspace = true }
prisma-client-rust = { workspace = true }
reqwest = { workspace = true, features = ["stream", "native-tls-vendored"] }
rmp-serde = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true, features = ["fs"] }
tokio-stream = { workspace = true }
tracing = { workspace = true }
url = '2.5.0'
uuid = { workspace = true, features = ["v4", "serde"] }
# Note: Keep same version as used by ort
ndarray = { version = "0.15.6" }
half = { version = "2.1", features = ['num-traits'] }
rmpv.workspace = true
# Microsoft does not provide a release for osx-gpu. See: https://github.com/microsoft/onnxruntime/releases
# "gpu" means CUDA or TensorRT EP. Thus, the ort crate cannot download them at build time.
# Ref: https://github.com/pykeio/ort/blob/d7defd1862969b4b44f7f3f4b9c72263690bd67b/build.rs#L148
[target.'cfg(target_os = "windows")'.dependencies]
ort = { version = "=2.0.0-rc.0", default-features = false, features = [
"ndarray",
"half",
"load-dynamic",
"directml",
] }
[target.'cfg(target_os = "linux")'.dependencies]
ort = { version = "=2.0.0-rc.0", default-features = false, features = [
"ndarray",
"half",
"xnnpack",
] }
# [target.'cfg(target_os = "android")'.dependencies]
# ort = { version = "=2.0.0-rc.0", default-features = false, features = [
# "half",
# "load-dynamic",
# "qnn",
# "nnapi",
# "xnnpack",
# "acl",
# "armnn",
# ] }
[target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies]
ort = { version = "=2.0.0-rc.0", features = [
"ndarray",
"half",
"load-dynamic",
"coreml",
"xnnpack",
] }