Skip to main content

Command line utility to search for TV and movie torrents and stream using Peerflix automatically.

Project description


|Build Status| |codecov|

Command line utility that enables users to search for TV and movie torrents and stream using Peerflix automatically.


- Extracts Torrent data from multiple APIs.
- Provides advanced search functionality. Filter by sort type (download count, seeds, likes), genres, minimum rating.
- Includes subtitle support where subtitles can be downloaded automatically for the chosen TV show or movie.


.. |asciicast| image::


ezflix is available on the Python Package Index (PyPI) at

You can install ezflix using pip.


$ pip install ezflix

This program requires Peerflix. You can install Peerflix via `npm <>`_.


$ npm install -g peerflix

Before any new changes are pushed to PyPi, you can clone the development version to avail of any new features.

.. code:: bash

$ git clone
$ cd ezflix
$ virtualenv env
$ source env/bin/activate
$ pip install -r requirements.txt
$ python install

Supported Media Players

Below is a list of media players supported in Peerflix.

- mpv
- airplay
- vlc
- mplayer
- smplayer
- mpchc
- potplayer
- webplay
- omx

In ezflix, the default player is mpv. It will fallback to vlc if mpv isn't found.

You can use the media_player argument to set your media player.

CLI Usage


usage: ezflix [-h] [--limit [LIMIT]] [--minimum_rating [MINIMUM_RATING]]
[--media_player [{mpv,vlc,mplayer,smplayer,mpchc,potplayer,webplay,omx,airplay}]]
[--latest] [--subtitles]
[--sort_by [{download_count,like_count,date_added,seeds,peers,rating,title,year}]]
[--sort_order [{asc,desc}]] [--quality [{720p,1080p,3d}]]
[--genre GENRE] [--remove] [--language LANGUAGE]
[{movie,tv}] query

positional arguments:
{movie,tv} The media type.
query The search query.

optional arguments:
-h, --help show this help message and exit
--limit [LIMIT] The number of results to return.
--minimum_rating [MINIMUM_RATING]
Used to filter movie by a given minimum IMDb rating
--media_player [{mpv,vlc,mplayer,smplayer,mpchc,potplayer,webplay,omx,airplay}]
The media player.
--latest Play the latest TV episode.
--subtitles Load subtitles file.
--sort_by [{download_count,like_count,date_added,seeds,peers,rating,title,year}]
Use this argument to sort the torrents.
--sort_order [{asc,desc}]
Use this argument to set the sort order.
--quality [{720p,1080p,3d}]
Use this argument to set the min quality.
--genre GENRE Used to filter by a given genre (See for full list)
--remove Remove files on exit.
--language LANGUAGE Language as IETF code. Set this argument to download
subtitles in a given language.


.. code:: bash

$ ezflix "The Man in the High Castle"

Pass '--latest' to watch the latest episode of a given TV series.

.. code:: bash

$ ezflix "South Park" --latest

To search for movies, pass the 'movie' argument.

.. code:: bash

$ ezflix movie "Mad Max"

Search for movies released in 2017 and order by like count descending.

.. code:: bash

$ ezflix movie '2017' --sort_by=like_count --sort_order=desc

Search for thrillers released in 2017 and order by download count descending.

.. code:: bash

$ ezflix movie '2017' --sort_by=download_count --sort_order=desc --genre=thriller

Automatically download German subtitles for your chosen TV show or movie.

.. code:: bash

$ ezflix movie 'Goodfellas' --subtitles --language=de

Pass the quality argument to only list torrents of a given quality.

.. code:: bash

$ ezflix movie 'They Live' --quality=720p


The Python unittest module contains its own test discovery function, which you can run from the command line:


$ python -m unittest discover tests/

Programmatic Usage

You can use Ezflix programmatically in your own applications. Consider the following example:

.. code:: python

from ezflix import Ezflix, peerflix

ezflix = Ezflix(query="Goodfellas", media_type='movie')

torrents = ezflix.get_torrents()

if len(torrents) > 0:
for torrent in torrents:

first = torrents[0]
file_path = ezflix.find_subtitles(first['title'])
peerflix(magnet_link=first['magnet'], media_type='movie', media_player='mpv', subtitles=True, remove=True, file_path=file_path)


Pull Requests and Feedback on how to improve this project is always welcome!

PR Guidelines

- Fork the project and clone locally.
- Create a new branch for what you're going to work on.
- Push to your origin repository.
- Create a new pull request in GitHub.

.. |Build Status| image::

.. |codecov| image::

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
ezflix-1.5.5-py2.py3-none-any.whl (10.9 kB) Copy SHA256 hash SHA256 Wheel py2.py3
ezflix-1.5.5.tar.gz (10.2 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page