# yt - A fully featured command line YouTube client # # Copyright (C) 2024 Benedikt Peetz # SPDX-License-Identifier: GPL-3.0-or-later # # This file is part of Yt. # # You should have received a copy of the License along with this program. # If not, see . [package] name = "yt" version = "1.2.1" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] anyhow = "1.0.87" blake3 = "1.5.4" chrono = { version = "0.4.38", features = ["now"] } chrono-humanize = "0.2.3" clap = { version = "4.5.17", features = ["derive"] } futures = "0.3.30" log = "0.4.22" regex = "1.10.6" serde = { version = "1.0.210", features = ["derive"] } serde_json = "1.0.128" sqlx = { version = "0.8.2", features = ["runtime-tokio", "sqlite"] } stderrlog = "0.6.0" tempfile = "3.12.0" tokio = { version = "1.40.0", features = [ "rt-multi-thread", "macros", "process", "time", "io-std", ] } url = { version = "2.5.2", features = ["serde"] } xdg = "2.5.2" yt_dlp = { path = "./crates/yt_dlp/" } libmpv2 = { path = "./crates/libmpv2" } bytes = { path = "./crates/bytes", features = ["serde"] } trinitry = { version = "0.2.2" } toml = "0.8.19" nucleo-matcher = "0.3.1" owo-colors = "4.1.0" [[bin]] name = "yt" [profile.profiling] inherits = "release" debug = true [profile.release] lto = true codegen-units = 1 panic = "abort" split-debuginfo = "off" [lints.rust] # rustc lint groups https://doc.rust-lang.org/rustc/lints/groups.html warnings = "warn" future_incompatible = { level = "warn", priority = -1 } let_underscore = { level = "warn", priority = -1 } nonstandard_style = { level = "warn", priority = -1 } rust_2018_compatibility = { level = "warn", priority = -1 } rust_2018_idioms = { level = "warn", priority = -1 } rust_2021_compatibility = { level = "warn", priority = -1 } unused = { level = "warn", priority = -1 } # rustc allowed-by-default lints https://doc.rust-lang.org/rustc/lints/listing/allowed-by-default.html # missing_docs = "warn" macro_use_extern_crate = "warn" meta_variable_misuse = "warn" missing_abi = "warn" missing_copy_implementations = "warn" missing_debug_implementations = "warn" non_ascii_idents = "warn" noop_method_call = "warn" single_use_lifetimes = "warn" trivial_casts = "warn" trivial_numeric_casts = "warn" unreachable_pub = "warn" unsafe_op_in_unsafe_fn = "warn" unused_crate_dependencies = "warn" unused_import_braces = "warn" unused_lifetimes = "warn" unused_qualifications = "warn" variant_size_differences = "warn" [lints.rustdoc] # rustdoc lints https://doc.rust-lang.org/rustdoc/lints.html broken_intra_doc_links = "warn" private_intra_doc_links = "warn" missing_crate_level_docs = "warn" private_doc_tests = "warn" invalid_codeblock_attributes = "warn" invalid_rust_codeblocks = "warn" bare_urls = "warn" [lints.clippy] # clippy allowed by default dbg_macro = "warn" # clippy categories https://doc.rust-lang.org/clippy/ all = { level = "warn", priority = -1 } correctness = { level = "warn", priority = -1 } suspicious = { level = "warn", priority = -1 } style = { level = "warn", priority = -1 } complexity = { level = "warn", priority = -1 } perf = { level = "warn", priority = -1 } pedantic = { level = "warn", priority = -1 }