[package] name = "rusty_ytdl" version = "0.7.4" authors = ["Mithronn"] edition = "2021" description = "A Rust library for Youtube video searcher and downloader" repository = "https://github.com/Mithronn/rusty-ytdl" readme = "README.md" license = "MIT OR Apache-2.0" keywords = ["youtube", "downloader", "ytdl", "youtube-dl", "searcher"] include = ["src/**/*", "Cargo.toml"] exclude = ["examples/**/*", "tests/**/*", ".github/**/*"] categories = ["multimedia::video", "multimedia::audio"] rust-version = "1.79.0" [package.metadata.docs.rs] all-features = true [workspace] members = [".", "cli"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] reqwest = { version = "0.12.5", features = [ "cookies", "gzip", ], default-features = false } scraper = "0.20.0" serde = "1.0.205" serde_json = "1.0.122" serde_qs = "0.13.0" regex = "1.10.6" url = "2.5.2" urlencoding = "2.1.3" thiserror = "1.0.63" derive_more = { version = "1.0.0", features = ["display"] } derivative = "2.2.0" once_cell = "1.19.0" tokio = { version = "1.39.2", default-features = false, features = ["sync"] } rand = "0.8.5" reqwest-middleware = { version = "0.3.3", features = ["json"] } reqwest-retry = "0.6.1" m3u8-rs = "6.0.0" async-trait = "0.1.81" aes = "0.8.4" cbc = { version = "0.1.2", features = ["std"] } hex = "0.4.3" boa_engine = "0.19.0" mime = "0.3.17" bytes = "1.7.1" flame = { version = "0.2.2", optional = true } flamer = { version = "0.5.0", optional = true } [dev-dependencies] tokio = { version = "1.39.2", features = ["full"] } [features] default = ["search", "live", "default-tls"] performance_analysis = ["flame", "flamer"] live = ["tokio/time", "tokio/process"] blocking = ["tokio/rt", "tokio/rt-multi-thread"] search = [] ffmpeg = ["tokio/process", "tokio/io-util"] default-tls = ["reqwest/default-tls"] native-tls = ["reqwest/native-tls"] rustls-tls = ["reqwest/rustls-tls"] native-tls-vendored = ["reqwest/native-tls-vendored"] socks = ["reqwest/socks"] [[example]] name = "multiple_downloads" path = "examples/multiple_downloads.rs" required-features = ["performance_analysis"] [[example]] name = "blocking" path = "examples/blocking.rs" required-features = ["blocking"] [[example]] name = "download_with_ffmpeg" path = "examples/download_with_ffmpeg.rs" required-features = ["ffmpeg"] [[example]] name = "search" path = "examples/search.rs" required-features = ["search"] [[example]] name = "suggestion" path = "examples/suggestion.rs" required-features = ["search"]