PyIDM – An Open Source Alternative to IDM (Internet Download Manager)

pyIDM is a free, open-source alternative to IDM (Internet Download Manager), used to download general files and videos from youtube as well as other streaming websites. It is developed using Python (requires Python 3.6+) and relies only on open source tools and libraries such as pycurl, youtube_dl, FFmpeg, and pysimplegui.

Recommended Read: 10 Most Popular Download Managers for Linux in 2020

It features multiple-connections, a speed engine (and it offers high download speeds based on libcurl); resume uncompleted downloads, support for fragmented video streams, support for encrypted/non-encrypted HLS (HTTP Live Streaming) media streams.

Besides, it also supports scheduling downloads, re-using an existing connection to a remote server, and HTTP proxy support. And it allows users to control options such as selecting a theme (there are 140 themes available), set proxy, selecting segment size, speed limit, maximum concurrent downloads and maximum connections per download.

How to Install pyIDM in Linux

First, you need to install the required packages which are: pip – the de-facto standard package installer and manager for Python, Tkinter – Python’s de-facto standard GUI (Graphical User Interface) package, xclip – a command-line interface to the X11 clipboard and FFmpeg – a widely used multimedia framework.

$ sudo apt install python-pip python3-pip python3-tk xclip ffmpeg   [On Debian/Ubuntu]
# dnf install python-pip python3-pip python3-tkinter xclip ffmpeg   [On Fedora/CentOS/RHEL]
# yum install python-pip python3-pip python3-tkinter xclip ffmpeg   [On Fedora/CentOS/RHEL]

After installing the required packages, use the pip3 utility to install pyIDM, it will attempt to install missing dependencies automatically once you run it.

$ sudo pip3 install pyIDM
$ pip3 install pyIDM

Once the installation is complete, you can launch pyIDM from a terminal window as shown.

$ pyidm
Start pyIDM Download Manager
Start pyIDM Download Manager

To download a file, copy its download link and paste it in the URL input box. Note that when open, pyIDM will use the xclip program (or pyperclip or xsel if installed) to auto-detect URLs copied in the system clipboard, and auto-paste the download links in the URL field. Then click the Download button as shown in the following screenshot.

Download File Using pyIDM
Download File Using pyIDM

To view downloads that are underway, click on the Downloads tab. You can also change settings by clicking on the Settings tab.

View Download Status in PyIDM
View Download Status in PyIDM

For more information, visit the pyIDM Github repository:

pyIDM is an open-source alternative to IDM built using Python and open-source tools such as FFmpeg and youtube_dl. Try it out and give us feedback via the comment form below.

Aaron Kili
Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.


Leave a Reply
  1. Hi,

    On a Linux Mint 18.3, I’m using “pyenv” to deal with a different versions of python and “virtualenvs“.

    I had a problem after installing “python 3.7.4” with “pyenv“. Apparently this version of python doesn’t have “tkinter“, so “pyidm” was not working.

    The alternative I’ve found was to install “python 3.7.2” with “pyenv” and everything is working fine now.

  2. I search a lot of sites but I didn’t find a helpful resource. I think this was one of the most simple blogs I read.

    Just follow the command and install it in seconds.

    thanks a lot for your help

    My best blog of the day

  3. The dependencies you list are completely wrong, see the requirements.txt:

    • @Mark

      True, the dependencies in are automatically installed when you install pyIDM using pip as mentioned: “After installing the required packages, use the pip3 utility to install pyIDM, it will attempt to install missing dependencies automatically once you run it.”

      Packages such as xclip, ffmpeg, and tkinter need to be installed before installing pyIDM, otherwise, it will not open.


Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.