francotel / top-10-playlist-youtube-python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

YouTube Playlist Top 10 Viewer 🎬

This project utilizes Python 🐍 to list the top 10 most viewed videos from a YouTube playlist and displays them in the console. Additionally, it uses Podman 🐳 to containerize the application and is configured with GitHub Actions πŸ€– to automate various tasks.

Requirements πŸ“‹

  • Python 3.x
  • Podman

Development πŸ› οΈ

  1. Clone the repository:

    git clone https://github.com/francotel/top-10-playlist-youtube-python
    cd top-10-playlist-youtube-python
  2. Set up environment variables:

    export YT_API_KEY="YT_API_KEY"
    export PLAYLIST_ID="PLAYLIST_ID"
  3. Develop the project:

    • Modify top-10-playlist.py to add new functionalities or improvements.
  4. Build the container image:

    podman build -t youtube-top-10-playlist-viewer .
  5. Run the application in the container:

    podman run --rm -e YT_API_KEY="$YT_API_KEY" -e PLAYLIST_ID="$PLAYLIST_ID" youtube-top-10-playlist-viewer

Advantages of Using Podman Over Docker 🐳

  • No central daemon (rootless): Podman doesn’t require a central daemon like Docker, allowing containers to be run by non-root users. πŸ‘€

  • Same CLI as Docker: Podman offers a Docker-like CLI, making it easy for those familiar with Docker to transition and use. πŸ’»

  • Support for Kubernetes: Podman has closer integration with Kubernetes, making container creation and management easier. πŸš€

  • Enhanced isolation and security: Podman provides increased security by offering more process-level isolated containers, reducing the risk of malicious attacks. πŸ”’

  • Portability of images and containers: Podman's images and containers are highly portable and can be run on different operating systems without modifications. 🌐

  • OCI Standards Compliance: Podman adheres to Open Container Initiative (OCI) standards, ensuring compatibility with other tools and platforms following these standards. 🌟

  • Multi-architecture development: Podman is capable of running containers on different architectures, allowing multi-architecture development. πŸ–₯️

  • Greater storage flexibility: Podman provides more flexible storage options, allowing users to manage volumes and storage in a more detailed and versatile manner. πŸ“¦

GitHub Actions πŸš€

This repository utilizes GitHub Actions to automate the workflow. Actions are set up to run tests, build, and publish the container image when a push or pull request is made to the main branch. The repository uses secrets to securely store sensitive information like API keys.

Contributions 🀝

Contributions are welcome! If you'd like to enhance this project, feel free to submit a pull request.

β˜• Support This Project

If you found this project helpful or useful and would like to support its development, consider buying me a coffee! Your support helps in maintaining and improving this project.

Buy Me a Coffee

Your contribution means a lot! Thank you for your support! ❀️

License πŸ“„

This project is licensed under the MIT License - see the LICENSE file for details.

About


Languages

Language:Python 77.9%Language:Dockerfile 22.1%