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.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

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.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide
The Complete Linux System Administrator Bundle
Become an Ethical Hacker Bonus Bundle

You may also like...

8 Responses

  1. raspi says:


    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. zubair ahmad says:

    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. Mark Wagie says:

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

    • Aaron Kili says:


      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.

  4. Jalal says:

    Thanks a lot

    but I could not install under centos 7

Got something to say? Join the discussion.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.