128 lines
3.4 KiB
TOML
128 lines
3.4 KiB
TOML
[package]
|
|
name = "rustypipe"
|
|
version = "0.5.0"
|
|
rust-version = "1.67.1"
|
|
edition.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
keywords.workspace = true
|
|
categories.workspace = true
|
|
description = "Client for the public YouTube / YouTube Music API (Innertube), inspired by NewPipe"
|
|
|
|
include = ["/src", "README.md", "CHANGELOG.md", "LICENSE", "!snapshots"]
|
|
|
|
[workspace]
|
|
members = [".", "codegen", "downloader", "cli"]
|
|
|
|
[workspace.package]
|
|
edition = "2021"
|
|
authors = ["ThetaDev <thetadev@magenta.de>"]
|
|
license = "GPL-3.0"
|
|
repository = "https://codeberg.org/ThetaDev/rustypipe"
|
|
keywords = ["youtube", "video", "music"]
|
|
categories = ["api-bindings", "multimedia"]
|
|
|
|
[workspace.dependencies]
|
|
quick-js-dtp = { version = "0.4.1", default-features = false, features = [
|
|
"patch-dateparser",
|
|
] }
|
|
once_cell = "1.12.0"
|
|
regex = "1.6.0"
|
|
fancy-regex = "0.13.0"
|
|
thiserror = "1.0.0"
|
|
url = "2.2.0"
|
|
reqwest = { version = "0.12.0", default-features = false }
|
|
tokio = "1.20.4"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0.82"
|
|
serde_with = { version = "3.0.0", default-features = false, features = [
|
|
"alloc",
|
|
"macros",
|
|
] }
|
|
serde_plain = "1.0.0"
|
|
rand = "0.8.0"
|
|
time = { version = "0.3.10", features = [
|
|
"macros",
|
|
"serde-human-readable",
|
|
"serde-well-known",
|
|
] }
|
|
futures = "0.3.21"
|
|
ress = "0.11.0"
|
|
phf = "0.11.0"
|
|
phf_codegen = "0.11.0"
|
|
base64 = "0.22.0"
|
|
urlencoding = "2.1.0"
|
|
quick-xml = { version = "0.36.0", features = ["serialize"] }
|
|
tracing = { version = "0.1.0", features = ["log"] }
|
|
|
|
# CLI
|
|
indicatif = "0.17.0"
|
|
anyhow = "1.0"
|
|
clap = { version = "4.0.0", features = ["derive"] }
|
|
tracing-subscriber = { version = "0.3.17", features = ["env-filter"] }
|
|
serde_yaml = "0.9.0"
|
|
dirs = "5.0.0"
|
|
filenamify = "0.1.0"
|
|
|
|
# Testing
|
|
rstest = "0.23.0"
|
|
tokio-test = "0.4.2"
|
|
insta = { version = "1.17.1", features = ["ron", "redactions"] }
|
|
path_macro = "1.0.0"
|
|
tracing-test = "0.2.5"
|
|
|
|
# Included crates
|
|
rustypipe = { path = ".", version = "0.5.0", default-features = false }
|
|
rustypipe-downloader = { path = "./downloader", version = "0.2.1", default-features = false, features = [
|
|
"indicatif",
|
|
"audiotag",
|
|
] }
|
|
|
|
[features]
|
|
default = ["default-tls"]
|
|
|
|
rss = ["quick-xml"]
|
|
|
|
# Reqwest TLS options
|
|
default-tls = ["reqwest/default-tls"]
|
|
native-tls = ["reqwest/native-tls"]
|
|
native-tls-alpn = ["reqwest/native-tls-alpn"]
|
|
native-tls-vendored = ["reqwest/native-tls-vendored"]
|
|
rustls-tls-webpki-roots = ["reqwest/rustls-tls-webpki-roots"]
|
|
rustls-tls-native-roots = ["reqwest/rustls-tls-native-roots"]
|
|
|
|
[dependencies]
|
|
quick-js-dtp.workspace = true
|
|
once_cell.workspace = true
|
|
regex.workspace = true
|
|
fancy-regex.workspace = true
|
|
thiserror.workspace = true
|
|
url.workspace = true
|
|
reqwest = { workspace = true, features = ["json", "gzip", "brotli"] }
|
|
tokio = { workspace = true, features = ["macros", "time"] }
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
serde_with.workspace = true
|
|
serde_plain.workspace = true
|
|
rand.workspace = true
|
|
time.workspace = true
|
|
ress.workspace = true
|
|
phf.workspace = true
|
|
base64.workspace = true
|
|
urlencoding.workspace = true
|
|
tracing.workspace = true
|
|
quick-xml = { workspace = true, optional = true }
|
|
|
|
[dev-dependencies]
|
|
rstest.workspace = true
|
|
tokio-test.workspace = true
|
|
insta.workspace = true
|
|
path_macro.workspace = true
|
|
tracing-test.workspace = true
|
|
|
|
[package.metadata.docs.rs]
|
|
# To build locally:
|
|
# RUSTDOCFLAGS="--cfg docsrs" cargo +nightly doc --features rss --no-deps --open
|
|
features = ["rss"]
|
|
rustdoc-args = ["--cfg", "docsrs"]
|