The free and open-source Download Manager written in pure Python

Github ⭐️
Open Issues
Last Release
over 2 years ago
Last Commit
22 days ago
Offers premium version?


The free and open-source Download Manager written in pure Python

status build codacy python pypi pyup

pyLoad Next is the newest version of pyLoad running on Python 3.6+ and PyPy (experimental).

pyLoad Next is developed in the main branch on GitHub and published as pyload-ng on PyPI.

The old version of pyLoad for Python 2 resides in the stable branch on GitHub and keeps getting plugin updates.

Quick Start

Open a terminal window and install pyLoad typing:

pip install --pre pyload-ng[all]

To start pyLoad use the command:


See the usage section for information on all available options.

If you want to uninstall pyLoad:

pip uninstall pyload-ng

Advanced Installation

Stable Release

Get the latest stable release of pyLoad:

pip install pyload-ng

Note: No stable release is available. pyLoad is still in pre-release phase.

Available modules

  • pyload.core: pyLoad's heart.
  • pyload.plugins: the collection of officially supported plugins for pyLoad.
  • pyload.webui: a web interface to interact with pyLoad.

Development Release

You can force the installation of the latest development release of pyLoad, appending the option --pre to the installation command:

pip install --pre pyload-ng

Do not use development releases in production. Unexpected crashes may occur.

Extra Dependencies

Extra dependencies are non-essential packages that enable additional features of pyLoad.

To install them you have to append a specific tag name to the installation command.

Available tags

  • plugins: includes packages used by several plugins.
  • build: includes packages used to build translations.
  • all: includes both plugins and build packages.

You can use a tag in this way:

pip install pyload-ng[plugins]

Or group more together:

pip install pyload-ng[plugins][build]

Build Translations

Note: You don't have to build the translations files if you installed pyLoad through pip, because they're already included.

Use the command build_locale to retrieve and build the latest locale files (translations):

python build_locale

Invoke build_locale before building the package (eg. bdist_wheel).


usage: pyload [-h] [-d] [-r] [--storagedir STORAGEDIR] [--userdir USERDIR]
              [--tempdir TEMPDIR] [--dry-run] [--daemon] [--version]

The free and open-source Download Manager written in pure Python

optional arguments:
  -h, --help                    show this help message and exit
  -d, --debug                   enable debug mode
  -r, --restore                 reset default username/password
  --storagedir STORAGEDIR       use this location to save downloads
  --userdir USERDIR             use this location to store user data files
  --tempdir TEMPDIR             use this location to store temporary files
  --dry-run                     test start-up and exit
  --daemon                      run as daemon
  --version                     show program's version number and exit

To start pyLoad, type the command:


This will create the following directories (if they don't exist already):

  • ~/Downloads/pyLoad: where downloads will be saved.
  • ~/.pyload: where user data (configuration files) are stored.
  • <TMPDIR>/pyLoad: where temporary files are stored. <TMPDIR> is platform-specific.

Note: On Windows, user data are saved by default in the directory ~\AppData\Roaming\pyLoad.


To show an overview of the available options, type:

pyload --help

Web Interface

Open your web browser and visit the url http://localhost:8000 to have access to the pyLoad's web interface.

  • Default username: pyload.
  • Default password: pyload.

It's highly recommended to change the default access credentials on first start.

Docker Images

Docker build status MicroBadger layers MicroBadger size

Available images

  • pyload/pyload:alpine: docker image for amd64, arm and arm64v8.
  • pyload/pyload:ubuntu-arm32v7: docker image for arm32v7.
  • pyload/pyload: alias of pyload/pyload:alpine.

Create Container

docker create --name=pyload -v <USERDIR>:/config -v <STORAGEDIR>:/downloads --restart unless-stopped pyload/pyload

Replace <STORAGEDIR> with the location on the host machine where you want that downloads will be saved.

Replace <USERDIR> with where you want that user data files (configurations) are stored.

Start Container

docker start pyload

Stop Container

docker stop pyload

Show Logs

docker logs -f pyload

Docker Compose

Compatible with docker-compose v2 schemas:

version: 2
    image: pyload/pyload
    container_name: pyload
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - <USERDIR>:/config
      - <STORAGEDIR>:/downloads
      - 8000:8000
    restart: unless-stopped

Replace <STORAGEDIR> with the location on the host machine where you want that downloads will be saved.

Replace <USERDIR> with where you want that user data files (configurations) are stored.


pip not found

Retry replacing the command pip with pip3:

pip3 install pyload-ng

If fails again, you may not have the Python interpreter or the pip package manager installed on your system.

Try reinstalling Python to fix this issue.

Visit to get the proper Python 3 release for your system.

pyload-ng not found

Check the version of the Python interpreters installed on your system.

To show the version of your default Python interpreter, type the command:

python --version

If the version is too old, try to upgrage Python, then you can retry to install pyLoad.

Python releases below version 3.6 are not supported!

Setuptools is too old

To upgrade the setuptools package, type the command:

pip install --upgrade setuptools

Permission denied

Under Unix-based systems, try to install pyLoad with root privileges.

Prefix the installation/uninstallation command with sudo:

sudo pip install pyload-ng
sudo pip uninstall pyload-ng

Under Windows systems, open a Command Prompt as administrator to install pyLoad with root privileges.

You can also try to install the pyload-ng package without root privileges.

Append the option --user to the installation command:

pip install --user pyload-ng


license cla

Open Source License

You are allowed to use this software under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

Please refer to the LICENSE for the full license.

Alternative License

With an explicit permission of the pyLoad team you may use or distribute this software under a different license according to the agreement.

Contributor License Agreement

Please refer to the CLA for the full agreement conditions.

This is essentially what you will be agreeing to:

  • You claim to have the right to make the contribution (i.e. it's your own work).
  • You grant the project a perpetual, non-exclusive license to use the contribution.
  • You grant the project rights to change the outbound license that we use to distribute the code.
  • You retain full ownership (copyright) of your submission and are free to do with it as you please.

Contact us at for any question about pyLoad licensing policy.


Please refer to the AUTHORS for the full credits.

© 2021 pyLoad team

Alternative Projects
No projects found