Git Product home page Git Product logo

youtube-playlist-generator's Introduction

header header

YouTube Playlist Generator

GitHub top language Python Version License Reliability Rating Vulnerabilities Bugs Security Rating Maintainability Rating Code Smells Quality Gate Status Crowdin Liberapay

Generate YouTube playlists without an account.

Please note

This project contained both a CLI and a GUI version.
Since version 0.0.5 the CLI version is no longer developed.

Features

  • Add URL or ID
  • Add playlist URL
  • Specify playlist title
  • Search for videos and add them to the playlist
  • Create new playlist (deletes all items in the playlist)
  • Playlist Tools (Count items, Clear all items, Remove duplicates)
  • Sort items (Ascending & Descending)
  • Find items in playlist
  • Rename specific items
  • Change order of playlist items (via drag and drop)
  • Delete specific items
  • Shuffle mode
  • Generate playlist URL
  • Open generated URL in default web browser
  • Copy URL to clipboard
  • Open .ytplaylist file
  • Save .ytplaylist file
  • Import a .txt file (items must be in new lines) or .csv file (items must be comma-separated)
  • Export playlist items as a .txt or .csv file
  • Drag & Drop a .yt-playlist file, a .txt or .csv file onto the window to import them
  • Fetch YouTube video information
  • Dark Mode & White Mode (switchable in settings)
  • Display playlist duration (after playlist generated)
  • Recent files in File menu
  • Supported languages (switchable in settings)
    • English
    • Deutsch (German)
    • Español (Spanish)
    • Polski (Polish) thanks to poduszkowiec_
    • Nederlands (Dutch)

Screenshots

First start

Windows Linux macOS
windows linux macos

With items added

Windows Linux macOS
windows linux macos

After YouTube Playlist generation

Windows Linux macOS
windows linux macos

Installation

Download, install and run the newest version from the Releases. Choose your file according to the operating system (Windows, Linux or macOS) you are using.

Now you can either create a new playlist by adding an URL or ID to the playlist one by one, or you can open a .ytplaylist file. There is also an option to import URLs or video IDs via a .txt or .csv file. You can save your playlist to a .ytplaylist file with all its items and the playlist title. Share it with a friend if you want. There is also an option to only export the playlist items into a .txt or .csv file.

Run Locally

Clone the project

  git clone https://github.com/christianhofmanncodes/youtube-playlist-generator.git

Go to the project directory

  cd youtube-playlist-generator

Install Python

  pip install python

Install dependencies

  pip install -r requirements/base.txt

Run the app

  fbs run

Note: On Linux and macOS you have to use pip3 and python3.

Security

You can check for security issues with the following commands:

  sudo chmod +x src/main/python/scanners/bandit.sh
  sudo sh src/main/python/scanners/bandit.sh

You can also find the results of sonarcloud checks here:

sonarcloud

Known issues & possible fixes

If you have any issues with running the program please first check your python version. Minimal version required is Python 3.9.5.

Cannot build because libpython3.9 is missing

sudo apt-get install libpython3.9-dev

/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found”

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9
sudo apt-get upgrade libstdc++6

PyQt5 cannot be installed via pip

pip3 install --upgrade pip
pip3 install PyQt5

Failed to extract PyQt5/Qt5/plugins/egldeviceintegrations/libqeglfs-emu-integration.so: failed to open target file! fopen: No such file or directory

export QT_QPA_EGLFS_FB=/dev/fbX

INTERNAL ERROR: cannot create temporary directory

You do not have enough space on your system. Simply free up some space.

Roadmap

  • Add a proper Undo FrameWork
  • Translate all dialogs
  • Revamped user interface with new features

FAQ

How did you come up with this project?

A friend of mine wanted to build a YouTube playlist with me. But I had no idea how to do it because I don't have a Google account and I didn't want to create one either. So I came up with the idea to develop a neat little program that could do that.

What types of links are supported?

The program supports both YouTube and Invidious links of any type.

https://www.youtube.com/watch?v=
https://www.youtu.be/
https://invidious.namazso.eu/watch?v=
https://youtube.com/playlist?list=
https://invidious.namazso.eu/playlist?list=

Can I batch import URLs / video IDs?

As requested in #2 the function has been added to version 0.2.0. Click on "Import" in the menu and select the .txtor the .csv file you want to import.

It should look something like this:

Hbb5GPxXF1w
4vbDFu0PUew
Moq0aOiTUOA
qfVuRQX0ydQ
juQvizeZJFM

You can also use URLs:

https://youtu.be/gQlMMD8auMs
https://www.youtube.com/watch?v=gQlMMD8auMs
https://www.youtube.com/watch?v=f6YDKF0LVWw
https://www.youtube.com/watch?v=UNFk6_to5_0
https://www.youtube.com/watch?v=ygJgQAYZVi0
https://www.youtube.com/watch?v=gRnuFC4Ualw
https://www.youtube.com/watch?v=k6jqx9kZgPM

Or you can mix them too:

Hbb5GPxXF1w
4vbDFu0PUew
Moq0aOiTUOA
qfVuRQX0ydQ
juQvizeZJFM
https://youtu.be/gQlMMD8auMs
f6YDKF0LVWw
UNFk6_to5_0
ygJgQAYZVi0
https://www.youtube.com/watch?v=gRnuFC4Ualw
k6jqx9kZgPM

If you want to import a .csv file, select the file extension in the file dialog.

It should look something like this:

Hbb5GPxXF1w,4vbDFu0PUew,Moq0aOiTUOA,qfVuRQX0ydQ,juQvizeZJFM

Acknowledgements

Contributing

Contributions are always welcome!

See CONTRIBUTING.md for ways to get started.

You can report any issues and are welcome to create pull requests. Please use the following labels:

  • bug for bugs,
  • documentation for improvements to the documentation _ enhancement for feature requests

Translations

You are always welcome to help translating this project.
We simply use Crowdin.

License

This code is free software licensed under the GPL v3.0. See the LICENSE file for details.

Feedback

If you have any feedback, please reach out to me at: [email protected]

youtube-playlist-generator's People

Contributors

christianhofmanncodes avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.