[package] authors = ["Braden Steffaniak"] categories = ["multimedia", "network-programming"] description = "MoosicBox Library Music API package" edition = "2021" keywords = ["audio", "library"] license = "MPL-2.0" name = "moosicbox_library" readme = "README.md" repository = "https://github.com/MoosicBox/MoosicBox" version = "0.1.0" [package.metadata.cargo-machete] ignored = ["strum"] [dependencies] moosicbox_assert = { version = "0.1.0", path = "../assert", default-features = false } moosicbox_audio_output = { version = "0.1.0", path = "../audio_output", optional = true, default-features = false } moosicbox_core = { version = "0.1.0", path = "../core", default-features = false } moosicbox_database = { version = "0.1.0", path = "../database", default-features = false } moosicbox_files = { version = "0.1.0", path = "../files", default-features = false } moosicbox_json_utils = { version = "0.1.0", path = "../json_utils", default-features = false, features = [ "database", "serde_json", ] } moosicbox_library_models = { version = "0.1.0", path = "models", default-features = false, features = [ "db", ] } moosicbox_music_api = { version = "0.1.0", path = "../music_api", default-features = false } moosicbox_paging = { version = "0.1.0", path = "../paging", default-features = false } moosicbox_search = { version = "0.1.0", path = "../search", default-features = false, features = [ "db", ] } moosicbox_stream_utils = { version = "0.1.0", path = "../stream_utils", optional = true, default-features = false } # API Dependencies actix-web = { workspace = true, optional = true } utoipa = { workspace = true, optional = true } async-recursion = { workspace = true } async-trait = { workspace = true } enum-as-inner = { workspace = true } futures = { workspace = true } log = { workspace = true } regex = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } strum = { workspace = true } strum_macros = { workspace = true } thiserror = { workspace = true } tokio = { workspace = true, features = ["macros", "rt", "tracing"] } [features] default = ["all-formats", "api", "openapi"] fail-on-warnings = [] api = [ "dep:actix-web", "moosicbox_database/api", "moosicbox_library_models/api", ] openapi = [ "dep:utoipa", "moosicbox_library_models/openapi", "moosicbox_search/openapi", ] all-formats = ["aac", "flac", "mp3", "opus"] aac = [ "dep:moosicbox_audio_output", "dep:moosicbox_stream_utils", "moosicbox_audio_output/aac", "moosicbox_core/aac", "moosicbox_files/aac", "moosicbox_library_models/aac", ] flac = [ "dep:moosicbox_audio_output", "dep:moosicbox_stream_utils", "moosicbox_audio_output/flac", "moosicbox_core/flac", "moosicbox_files/flac", "moosicbox_library_models/flac", ] mp3 = [ "dep:moosicbox_audio_output", "dep:moosicbox_stream_utils", "moosicbox_audio_output/mp3", "moosicbox_core/mp3", "moosicbox_files/mp3", "moosicbox_library_models/mp3", ] opus = [ "dep:moosicbox_audio_output", "dep:moosicbox_stream_utils", "moosicbox_audio_output/opus", "moosicbox_core/opus", "moosicbox_files/opus", "moosicbox_library_models/opus", ]