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.
- Python 3.x
- Podman
-
Clone the repository:
git clone https://github.com/francotel/top-10-playlist-youtube-python cd top-10-playlist-youtube-python
-
Set up environment variables:
export YT_API_KEY="YT_API_KEY" export PLAYLIST_ID="PLAYLIST_ID"
-
Develop the project:
- Modify
top-10-playlist.py
to add new functionalities or improvements.
- Modify
-
Build the container image:
podman build -t youtube-top-10-playlist-viewer .
-
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
-
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. π¦
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 are welcome! If you'd like to enhance this project, feel free to submit a pull request.
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.
Your contribution means a lot! Thank you for your support! β€οΈ
This project is licensed under the MIT License - see the LICENSE file for details.