Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

System call to Python dependency #235

Open
Educorreia932 opened this issue Jan 17, 2023 · 5 comments
Open

System call to Python dependency #235

Educorreia932 opened this issue Jan 17, 2023 · 5 comments
Assignees
Labels
✨ feature New feature or request 👓 triage This issue is being reviewed

Comments

@Educorreia932
Copy link

Educorreia932 commented Jan 17, 2023

🧐 Rationale

Remove dependency on Python's yt-dlp.

📝 Description

Currently, yt-dlp package is being used to download YouTube videos, both requiring a Python dependency and a system call.

let mut child = Command::new("yt-dlp")

However, there is a crate for Rust that achieves the same purpose. It's still a work in progress, but might be a fitting replacement in the future.

@Educorreia932 Educorreia932 added ✨ feature New feature or request 👓 triage This issue is being reviewed labels Jan 17, 2023
@joao-conde
Copy link
Collaborator

Looks promising, we'll look into it. Thank you!

@mustafasegf
Copy link

This seems interesting. I want to check if rustube can replace yt-dlp. Can I try to implement it or are you in the middle of trying it?

@joao-conde
Copy link
Collaborator

@mustafasegf go ahead, give it a try and if it works tag us in a PR

@mustafasegf
Copy link

little but update on the issue. Rustube right now can't send stream data to stdout. The metadata it get also not complete yet. So i can't integrate rustube for now. I'm thinking to try add those feature to rustube first

@afonsojramos
Copy link
Collaborator

While we do not have a rust-native alternative: We don't really need Python. We can shift to using the binaries directly. Should be as easy as adding them to the PATH and we're good to go. I suppose that the Python install is easier for anyone to replicate, but we can just as easily create a curl command to fetch yt-dlp. This could also prevent issues like #242 by fixing to a specific version of the dependency, making upgrades a manual process.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ feature New feature or request 👓 triage This issue is being reviewed
Projects
None yet
Development

No branches or pull requests

5 participants