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.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

eagle_downloader-1.0.2-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: eagle-downloader-1.0.2.tar.gz
  • Upload date:
  • Size: 10.0 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.tar.gz
Algorithm Hash digest
SHA256 a9affca0922d79d4e0e896cae5d7c7cb004fd51206a26c6dc2d1aab19b5c2c10
MD5 900fb6311ebc1afd1d298090eb8525c8
BLAKE2b-256 da9d3cd1902bf8048f7541078e0bb587bc0b5415b70f66eb2a30766a56fc8d05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eagle_downloader-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9db14131f07cee5c35f2b41c01766fb806d1e6875efb77cd14af756363763484
MD5 ab103eff81982ca4d5a30e6a76b3ac76
BLAKE2b-256 6686ed07221e29ae0cd8bc0e5b831f273e1dbbb4e39e57fe9dc8587e26838250

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