AI prompts
base on YouTube downloader tools built with PyQt6 and PyTube <div align="center">
![Group 3 (1)](https://github.com/rohankishore/Youtility/assets/109947257/8ec73f10-0bed-4dbc-8201-269db2adaddc)
YouTube video and playlist downloader made with PyQt6 and PyTube. [Download Now](https://github.com/rohankishore/Youtility/releases)
</div>
<div align="center">
<a href='https://ko-fi.com/V7V7QZ7GS' target='_blank'><img height='36' style='border:0px;height:29px;' src='https://storage.ko-fi.com/cdn/kofi5.png?v=3' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>
[![Github all releases](https://img.shields.io/github/downloads/rohankishore/Youtility/total.svg)](https://GitHub.com/rohankishore/Youtility/releases/)
</div>
## 📺 What is Youtility?
> "Hey, are you lonely?"
> "Hot Milfs 5kms near you"
> "Kylie (22F) wants to meet you"
<br>
If you've tried downloading YouTube videos online, you're familiar with the above messages. Well, your saviour(me lol) is here. Meet Youtility, a YouTube downloader with NO ads or bloats, and open source :). With Youtility, say goodbye to enduring those pesky, dodgy ads while downloading YouTube videos. It's your ticket to hassle-free downloads without the BS of intrusive advertisements.
**You can download**
- Single videos with captions file
- Playlists (also as audio-only files)
- Cut and Download specific parts of a video
- Video to Mp3 / FLAC
- Individual caption files
## 🧩 How does it look?
![image](https://github.com/rohankishore/Youtility/assets/109947257/fe950733-4229-4073-99fa-651381528032)
![image](https://github.com/rohankishore/Youtility/assets/109947257/ff56eb68-1a03-4b82-b022-04afcf4caa8d)
![image](https://github.com/rohankishore/Youtility/assets/109947257/714e0b83-8064-49f2-92b7-728dd65623b2)
![image](https://github.com/rohankishore/Youtility/assets/109947257/87fb1b0d-f99d-4925-914a-9777a0bd04de)
![image](https://github.com/rohankishore/Youtility/assets/109947257/46fcabfd-03c5-4f88-8c81-63bb9f112890)
<br>
## 👒 Getting Started
### Download EXE
- Head over to [Releases](https://github.com/rohankishore/Youtility/releases)
- Download `Youtility_vX.zip` file (where X is the current latest version)
- Unzip the file
- Run `main.exe`
### Run Manually via Python
```bash
pip install -r requirements.txt
```
- Run `main.py`
<br>
## 🤝 Show Support
Hey! First of all, thank you for considering supporting me. You can support me by Buying me a Coffee via Ko-Fi. You can either [Click Here](https://ko-fi.com/rohankishore) or click the button "Buy Me A Coffee" on top of this page or via the GitHub Sponsor button. Thanks a lot :)
<br>
## 💖 Credits
This project was made possible just because of [PyTube](https://github.com/pytube/pytube) and [zhiyiYo](https://github.com/zhiyiYo)'s [PyQt-Fluent-Widgets](https://github.com/zhiyiYo/PyQt-Fluent-Widgets).
<br>
## ⚠️ Disclaimer
This application is intended for personal use only. The user assumes full responsibility for ensuring that the downloaded content is used in compliance with the copyright laws and regulations applicable in their jurisdiction.
This application is designed to facilitate downloading videos from YouTube for offline viewing or personal use. It is not intended to be used for any commercial purposes, distribution, or sharing of copyrighted material without proper authorization from the content owners or in violation of YouTube's terms of service.
The developers of this application do not endorse or promote the unauthorized downloading or distribution of copyrighted content. Users are advised to respect the intellectual property rights of content creators and to obtain proper permissions before downloading or using any content for purposes other than personal viewing.
By using this application, you agree to use the downloaded content according to applicable laws and regulations and accept full responsibility for any misuse or violation of copyright laws.
The developers of this application shall not be held liable for any unauthorized or improper use of the downloaded content. Users are solely responsible for their actions and are encouraged to use this application responsibly and ethically.
<br>
### I hope you'll enjoy using Youtility as much as I enjoyed while making it. Thanks a lot 💖
```
⠀⠀⢀⣀⣠⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣄⣀⡀⠀⠀
⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀
⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀
⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆
⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠈⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇
⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⢈⣹⣿⣿⣿⣿⣿⣿⣿⡇
⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⢀⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇
⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇
⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀
⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠀
⠀⠀⠈⠉⠙⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠋⠉⠁⠀⠀
```
", Assign "at most 3 tags" to the expected json: {"id":"8357","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"