Skip to content

PIDM is a modern, open-source internet download manager written in Python and powered by PySide6 (Qt). It features full support for stream and file downloads, Chrome extension integration, smart UI features, and multi-language support — all in a beautiful, theme-aware desktop application.

License

Notifications You must be signed in to change notification settings

saeedmasoudie/PIDM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PIDM - Python Internet Download Manager

PIDM logo

PIDM is a modern, open-source internet download manager written in Python and powered by PySide6 (Qt). It features full support for stream and file downloads, Chrome extension integration, smart UI features, and multi-language support — all in a beautiful, theme-aware desktop application.


🔥 Key Features

  • 🎞️ Stream downloads from YouTube, Twitch, Netflix, and more (via yt_dlp)
  • 📥 File downloads with multithreading and parallel chunking (httpx)
  • 🧩 Browser extension for Chrome-based browsers (via PIDM-ext)
  • 🗂️ Queue system with concurrent downloads and scheduling
  • 🌈 Theme-aware UI (automatic light/dark mode)
  • 🌐 Multi-language support (English, فارسی, ...)
  • 💻 Lightweight and fast standalone Windows build via Nuitka
  • 🔐 Login/auth support, global and per-download speed limits
  • 💽 SQLite-based session persistence (downloads remembered between launches)
  • 🌍 Proxy communication support for external triggers

💖 Support the Project

If you enjoy my work and want to support future development, you can donate here:

👉 Donate via my official website

Every contribution helps keep the project alive. Thank you!


📷 Screenshots

Main Window New Download Dialog


🛠️ Installation

🔽 Download for Windows

Get the latest .exe from the Releases page.

🧩 Install Browser Extension

Source and updates available at PIDM Extension Repository

⚙️ Run from Source (Linux/Mac/Dev)

  1. Clone the repo:

    git clone https://github.com/saeedmasoudie/PIDM.git
    cd PIDM
  2. Install dependencies:

    pip install -r requirements.txt
  3. Run the app:

    python main.py

📦 Requirements (for source version)

  • Python 3.9+
  • ffmpeg (for stream muxing)
  • PySide6
  • httpx
  • yt_dlp
  • Others as listed in requirements.txt

🌍 Translations

PIDM is available in multiple languages. You can help improve translations or add your own by editing .ts files in assets/translations.


🚧 Roadmap

Completed:

  • ✅ Stream downloads with format selection
  • ✅ Browser extension integration
  • ✅ Smart UI with metadata previews
  • ✅ Concurrent download queuing
  • ✅ Calendar-based scheduling for download start times

Planned / In Progress:

  • 🔁 Rework scheduling with more advanced rules and options
  • 🧲 Torrent support
  • 🌐 Network interface selection

🤝 Credits

PIDM uses the following open-source tools:

  • yt_dlp – for stream downloads
  • ffmpeg – for media processing
  • httpx – for robust HTTP file downloads
  • PySide6 – Qt-based GUI toolkit
  • Nuitka – compiler for generating standalone builds

🛡️ License

MIT License © Saeed Masoudi


❤️ Contributing

Pull requests and ideas are welcome!

  1. Fork the repo
  2. Create a branch: git checkout -b feature/your-feature
  3. Commit changes: git commit -m "Add feature"
  4. Push: git push origin feature/your-feature
  5. Open a pull request

📫 Contact

Have suggestions or questions?
Use GitHub Issues or join the Discussions.

About

PIDM is a modern, open-source internet download manager written in Python and powered by PySide6 (Qt). It features full support for stream and file downloads, Chrome extension integration, smart UI features, and multi-language support — all in a beautiful, theme-aware desktop application.

Topics

Resources

License

Stars

Watchers

Forks

Languages