[workspace.package] version = "0.0.1" edition = "2021" authors = ["ThetaDev "] license = "AGPL-3.0" description = "FOSS music streaming service" repository = "https://github.com/TirayaMusic/Tiraya" [workspace] members = ["crates/*"] resolver = "2" [workspace.dependencies] aho-corasick = "1.1.1" ammonia = "4.0.0" anyhow = "1.0.71" async-trait = "0.1.80" bigdecimal = "0.4.0" bytes = "1.0.0" clap = { version = "4.4.5", features = ["derive"] } data-encoding = "2" deunicode = "1.3.2" dotenvy = "0.15.7" env_logger = "0.11.0" enum_dispatch = "0.3.13" governor = { version = "0.7", default-features = false, features = [ "std", "quanta", "jitter", ] } hex-literal = "0.4.1" hmac = "0.12.1" image = { version = "0.25.0", default-features = false, features = [ "rayon", "jpeg", "webp", ] } itertools = "0.13.0" kakasi = "0.1.0" log = "0.4.17" mime = "0.3.17" nonempty-collections = { version = "0.2.3", features = ["serde"] } once_cell = "1.12.0" otvec = { version = "0.2.0", registry = "thetadev" } # crates: disable-check path-absolutize = "3.1.1" path_macro = "1.0.0" pathetic = "0.3.0" phf = { version = "0.11.1", features = ["macros"] } quick_cache = "0.6.0" rand = "0.8.5" regex = "1.6.0" serde = { version = "1.0", features = ["derive"] } serde_with = { version = "3.0.0", default-features = false, features = [ "alloc", "macros", "hex", ] } serde_json = "1.0.82" serde_plain = "1.0.1" sha2 = "0.10.8" short-uuid = { version = "0.1.0", registry = "thetadev" } # crates: disable-check similar = "2.2.1" siphasher = "1.0.0" smartcrop2 = "0.3.0" smart-default = "0.7.1" strsim = "0.11.0" time = { version = "0.3.15", features = [ "macros", "serde-human-readable", "serde-well-known", ] } thiserror = "2" tokio-util = "0.7.9" toml = "0.8.2" url = "2.4.1" uuid = { version = "1.4.0", features = ["v4", "serde"] } # Async futures = "0.3.21" tokio = { version = "1.20.0", features = ["macros", "rt-multi-thread"] } tracing = "0.1.37" tracing-subscriber = { version = "0.3.17", features = ["env-filter"] } tracing-appender = "0.2.2" # Database sqlx = { version = "0.8.0", default-features = false, features = [ "runtime-tokio-native-tls", "postgres", "migrate", "macros", "time", "json", "uuid", "bigdecimal", ] } # Web server axum = { version = "0.7.0", features = ["macros"] } headers = "0.4.0" http = "1.0.0" http-body-util = "0.1.2" hyper = "1.0.0" tower = "0.5.0" tower-http = { version = "0.6.0", features = ["trace"] } utoipa = "5.0.0" utoipa-rapidoc = { version = "5.0.0", features = ["axum"] } web-lang = "0.1.0" # Web services bandcamp = { version = "0.3.2", registry = "thetadev" } reqwest = { version = "0.12.0", features = ["json", "gzip", "stream"] } rustypipe = { version = "0.7.1", features = ["rss"] } spotifyio = { version = "0.0.2", path = "/home/thetadev/Documents/Programmieren/Rust/spotifyio/crates/spotifyio" } # Tiraya crates tiraya-api-model = { path = "crates/api-model" } tiraya-db = { path = "crates/db" } tiraya-extractor = { path = "crates/extractor" } tiraya-proxy = { path = "crates/proxy" } tiraya-utils = { path = "crates/utils" } spotify-genrebase = { version = "0.1.0", registry = "thetadev" } # crates: disable-check # Dev dependencies sqlx-database-tester = { path = "crates/sqlx-database-tester" } rstest = { version = "0.23.0", default-features = false } insta = { version = "1.30.0", features = ["ron", "redactions"] } [profile.dev.package] image.opt-level = 3