Skip to main content

A CLI tool to download media from YouTube.

Project description

🦅 Eagle Downloader

Coverage License GitHub Release GitHub issues GitHub pull requests GitHub last commit Top Language Repo Size

📦 Overview

Eagle Downloader is a robust and user-friendly YouTube Downloader Command-Line Interface (CLI) tool designed to effortlessly download high-quality videos and audios from YouTube. Whether you're looking to save your favorite YouTube videos, convert them to different formats, or manage your media library, Eagle Downloader provides a seamless and efficient experience with powerful features tailored for both casual users and power users.

🚀 Features

  • YouTube Focused: Specially optimized for downloading videos and audios from YouTube with high reliability.
  • High-Quality Downloads: Supports downloading videos in various resolutions, including 1080p, 720p, and higher.
  • Audio Extraction: Easily extract audio from YouTube videos and save them in formats like MP3.
  • Interactive Prompts: User-friendly prompts guide you through the download process, making it accessible for all users.
  • Progress Indicators: Real-time progress bars to monitor download status and estimated completion time.
  • Customizable Output: Specify download locations, file names, and formats to suit your preferences.
  • Comprehensive Logging: Detailed logs for troubleshooting and tracking download activities.
  • Automated Testing & CI/CD: Ensures high-quality builds and reliable releases across different operating systems.
  • Cross-Platform Support: Available for Windows, Linux, and macOS, ensuring accessibility for all users.

You're absolutely right! If Eagle Downloader is packaged as a standalone binary using tools like PyInstaller with the --onefile option, it should not require Python 3.11 (or any Python version) to be installed on the user's system. The binary includes all necessary dependencies, making it fully executable without needing a separate Python installation.

Let's update the installation guide accordingly to reflect that Python is not required for running the binaries. This will streamline the installation process and eliminate unnecessary prerequisites for your users.


🛠 Installation Guide

Welcome to the Eagle Downloader installation guide! Follow the steps below to install the binary on your preferred operating system.

📦 Downloading the Binary

Before proceeding with the installation, download the appropriate binary for your operating system from the Releases page.


💻 Linux

🔹 Installation Steps

  1. Download the Binary

    Visit the Releases page and download the latest Linux binary (eagle-linux).

    Alternatively, use wget to download directly (replace v1.0.0 with the latest version):

    wget https://github.com/gfrancodev/eagle-downloader/releases/download/v1.0.0/eagle-linux
    
  2. Make the Binary Executable

    chmod +x eagle-linux
    
  3. Move the Binary to a Directory in Your PATH

    sudo mv eagle-linux /usr/local/bin/eagle
    

🪟 Windows

🔹 Installation Steps

  1. Download the Binary

    Visit the Releases page and download the latest Windows binary (eagle-windows.exe).

    Alternatively, use PowerShell to download directly (replace v1.0.0 with the latest version):

    Invoke-WebRequest -Uri https://github.com/gfrancodev/eagle-downloader/releases/download/v1.0.0/eagle-windows.exe -OutFile eagle.exe
    
  2. Move the Binary to a Directory in Your PATH

    • Create a Directory for Executables (if it doesn't exist):
      mkdir "C:\Program Files\EagleDownloader"
      
    • Move the eagle.exe to the Directory:
      Move-Item -Path .\eagle.exe -Destination "C:\Program Files\EagleDownloader\eagle.exe"
      
    • Add the Directory to Your System PATH:
      • Via GUI:
        1. Right-click on This PC and select Properties.
        2. Click on Advanced system settings.
        3. Click on Environment Variables.
        4. Under System variables, find and select Path, then click Edit.
        5. Click New and add C:\Program Files\EagleDownloader.
        6. Click OK on all dialogs to apply changes.
      • Via PowerShell:
        [Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\EagleDownloader", [EnvironmentVariableTarget]::Machine)
        

🔹 Usage Example

eagle

Follow the on-screen prompts to download your desired YouTube videos or playlists.


🍎 macOS

🔹 Installation Steps

  1. Download the Binary

    Visit the Releases page and download the latest macOS binary (eagle-macos).

    Alternatively, use curl to download directly (replace v1.0.0 with the latest version):

    curl -L -o eagle-macos https://github.com/gfrancodev/eagle-downloader/releases/download/v1.0.0/eagle-macos
    
  2. Make the Binary Executable

    chmod +x eagle-macos
    
  3. Move the Binary to a Directory in Your PATH

    sudo mv eagle-macos /usr/local/bin/eagle
    

📖 Usage

Eagle Downloader offers a straightforward interface to download your desired YouTube media. Here's how to get started:

  1. Run the Application:

    eagle  # On Windows: eagle.exe
    
  2. Follow the Interactive Prompts:

    • Enter the YouTube URL: Provide the URL of the YouTube video you wish to download.
    • Choose Format: Select the desired format (e.g., MP4 for video, MP3 for audio).
    • Specify Download Location: Choose where to save the downloaded file.
  3. Monitor the Download:

    • Real-time progress bars will display the download status.
    • Upon completion, you'll receive a confirmation message with the file location.

🔍 Example Commands

  • Download a YouTube Video:
    eagle
    
    Follow the prompts to enter the video URL, select the format, and choose the download location.

Troubleshooting

  • Permission Denied Errors: Ensure you have the necessary permissions to move binaries to system directories. Use sudo where appropriate.
  • Command Not Found: Make sure the installation directory is added to your system PATH and that the terminal session is restarted or reloaded to recognize the new PATH settings.
  • Binary Not Executing Properly: Verify that the binary was downloaded correctly and that it's compatible with your operating system version.

📚 Additional Resources


Feel free to reach out if you encounter any issues during the installation process. Happy downloading! 🦅😊


📝 Summary of Changes

  • Removed Python Prerequisites: Since the binaries are standalone, users no longer need Python 3.11+ installed.
  • Simplified Installation Steps: Focused solely on downloading, making executable, moving to PATH, and verifying the installation.
  • Enhanced Clarity: Provided clear and concise instructions for each operating system without unnecessary prerequisites.

🧑‍🤝‍🧑 Contributing

We welcome contributions from the community to enhance Eagle Downloader. Here's how you can get involved:

🔧 How to Contribute

  1. Fork the Repository: Click the "Fork" button at the top-right corner of the repository page to create your own fork.

  2. Clone Your Fork:

    git clone https://github.com/gfrancodev/eagle-downloader.git
    cd eagle-downloader
    
  3. Create a New Branch:

    git checkout -b feature/YourFeatureName
    
  4. Make Your Changes: Implement your feature or bug fix. Ensure your code adheres to the project's coding standards.

  5. Run Tests and Ensure Coverage:

    make test-coverage
    

    Make sure all tests pass and coverage remains high.

  6. Commit Your Changes:

    git commit -m "Add feature: Your Feature Description"
    
  7. Push to Your Fork:

    git push origin feature/YourFeatureName
    
  8. Create a Pull Request: Navigate to the original repository and click "Compare & pull request". Provide a clear description of your changes.

📝 Guidelines

  • Code Quality: Follow PEP 8 standards. Use flake8 and black for linting and formatting.
  • Testing: Write tests for new features and ensure existing tests pass.
  • Documentation: Update the README.md and inline comments as necessary.
  • Commit Messages: Use clear and descriptive commit messages.

📚 Resources

📝 License

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

📣 Acknowledgements

  • yt-dlp for powerful YouTube media downloading capabilities.
  • PyInstaller for packaging Python applications into standalone executables.
  • GitHub Actions for continuous integration and deployment.

📫 Contact

For any inquiries or support, please open an issue on GitHub or contact contact@gfrancodev.com.


GitHub followers GitHub stars

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eagle-downloader-1.0.2.1.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

eagle_downloader-1.0.2.1-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file eagle-downloader-1.0.2.1.tar.gz.

File metadata

  • Download URL: eagle-downloader-1.0.2.1.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for eagle-downloader-1.0.2.1.tar.gz
Algorithm Hash digest
SHA256 3975e8cfd43f5c954cd4591b784239af26531846e23a24e4cce077857c4a685f
MD5 ecfb683105eef951bac5a1eabd29ec4c
BLAKE2b-256 083820c1734a4dcffdaa6eadc149cd55f4f4ef9c07c791148858f02410902429

See more details on using hashes here.

File details

Details for the file eagle_downloader-1.0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for eagle_downloader-1.0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b75a098be265696803f15fad934104141894943a384d45968c5c4dc6d0109d7e
MD5 62bc8a69d894e39346003413530f489d
BLAKE2b-256 5ed6b1255a137535099682a3a9f50f110c1cac3d0cb5c95cc436e8506b531ea6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page