Skip to main content

Unofficial Python API/SDK for fzmovies.net

Project description

fzmovies-api

Python version License PyPi Ruff Downloads

Unofficial Python API/SDK for fzmovies.net

from fzmovies_api import Auto

Auto(
     query="Fast and Furious 5",
     quality="720p",
  ).run()

# Will show download progressbar
"""
Fast_and_Furious_5_BluRay v2_720p.mkv
805 MB ██████████████████                            42%|
"""

Installation

$ pip install fzmovies-api[all]

Usage

Developers

# Search by Starcast

from fzmovies_api import Search

search = Search(
    query="Jason Statham",
    searchby="Starcast"
)

print(
    search.results
)

# Output
"""
<SearchResults movies=[<MovieInSearch title="Fast and Furious Presents - Hobbs and Shaw",year=2019> | <MovieInSearch title="Fast X",year=2023> | <MovieInSearch title="The Fate of the Furious [Part 8]",year=2017> | <MovieInSearch title="Mechanic Resurrection",year=2016> | <MovieInSearch title="The Meg",year=2018> | <MovieInSearch title="Wrath of Man",year=2021> | <MovieInSearch title="The Beekeeper",year=2024> | <MovieInSearch title="Operation Fortune Ruse de guerre",year=2023> | <MovieInSearch title="The Expendables 2",year=2012> | <MovieInSearch title="The Expendables 3",year=2014> | <MovieInSearch title="Meg 2 The Trench",year=2023> | <MovieInSearch title="Homefront",year=2013> | <MovieInSearch title="Parker",year=2013> | <MovieInSearch title="Safe",year=2012> | <MovieInSearch title="The Expendables 1",year=2010> | <MovieInSearch title="The Transporter 2002",year=2002> | <MovieInSearch title="Transporter 3 2008",year=2008> | <MovieInSearch title="Death Race",year=2008> | <MovieInSearch title="Expend4bles",year=2023> | <MovieInSearch title="Transporter 2 2005",year=2005>]>
"""

Perform Search Using Filters

from fzmovies_api import Search
from fzmovies_api.filters import IMDBTop250Filter

search = Search(
    query = IMDBTop250Filter()
)

print(
    search.results
)


#Output
"""
<SearchResults movies=[<MovieInSearch title="Schindlers List",year=1993> | <MovieInSearch title="The Godfather - Part 1",year=1972> | <MovieInSearch title="Pulp Fiction",year=1994> | <MovieInSearch title="12 Angry Men",year=1957> | <MovieInSearch title="Terminator 2 Judgment Day",year=1991> | <MovieInSearch title="The Avengers",year=2012> | <MovieInSearch title="The Cold Light of Day",year=2012> | <MovieInSearch title="The Good the Bad and the Ugly",year=1966> | <MovieInSearch title="The Shawshank Redemption",year=1994> | <MovieInSearch title="Raging Bull",year=1980> | <MovieInSearch title="The Lion King",year=1994> | <MovieInSearch title="New Gladiators",year=2002> | <MovieInSearch title="The Dictator",year=2012> | <MovieInSearch title="The Matrix",year=1999> | <MovieInSearch title="Heat",year=1995> | <MovieInSearch title="2001 A Space Odyssey",year=1968> | <MovieInSearch title="The Silence of the Lambs",year=1991> | <MovieInSearch title="The Departed",year=2006> | <MovieInSearch title="Braveheart",year=1995> | <MovieInSearch title="Up",year=2009>]>
"""

Fetch All Search Results

from fzmovies_api import Search
from fzmovies_api.filters import IMDBTop250Filter

search = Search(
    query = IMDBTop250Filter()
)

print(
    search.all_results
)
Limit movies and stream results
from fzmovies_api import Search
from fzmovies_api.filters import MovieGenreFilter

search = Search(
    query = MovieGenreFilter(
        "Action"
    )
)

for result in search.get_all_results(
    limit=40,
    stream=True
    ):

    print(
        result, end='\n\n'
    )

Download Movies

from fzmovies_api import Search, Navigate, DownloadLinks, Download
from fzmovies_api.filters import OscarsFilter

search = Search(
    query=OscarsFilter(
        category="Best Picture"
    )
)

for movie in search.all_results.movies:

    # Navigate to the specific movie-page
    movie_page = Navigate(movie).results

    # Go to page containing download link
    download_link_page = DownloadLinks(
        movie_page.files[1]
    )

    download_link_metadata = download_link_page.results

    # Follow the link to download the movie
    download_movie = Download(
        download_link_metadata.links[0]
    )

    print(
        "Downloading : '" + movie.title + "' of size " + download_link_metadata.size
    )

    # Dowload the movie using save method
    saved_to = download_movie.save(
        download_link_metadata.filename,
        # To silence progressbar & any other stdout:
        # progress_bar = False,
        # quiet = True
    )

    print(
        saved_to
    )
Using Auto
from fzmovies_api import Auto
from fzmovies_api.filters import RecentlyReleasedFilter

start = Auto(
    query=RecentlyReleasedFilter(
        category="Hollywood"
    )
)

start.run()

CLI

  • Basic case yet very handy

    $ python -m fzmovies_api download <QUERY>
    # e.g python -m fzmovies_api download "Thor - Love and Thunder"
    

[!TIP] Shorthand for python -m fzmovies_api is fzmovies

$ fzmovies download --help
Usage: python -m fzmovies_api download [OPTIONS] QUERY

  Perform search and download first movie in the search results

Options:
  -s, --searchby [Name|Director|Starcast]
                                  Query search-by filter - Name
  -c, --category [All|Bollywood|Hollywood|DHollywood]
                                  Query movie category - All
  -q, --quality [480p|720p]       Movie file download quality - 720p
  -o, --output TEXT               Filename for saving the movie contents to
  -d, --directory TEXT            Directory for saving the movie contents -
                                  pwd
  -z, --chunk-size INTEGER        Chunk_size for downloading files in KB - 512
  -r, --resume                    Resume downloading incomplete files - False
  -q, --quiet                     Not to stdout anything - False
  -y, --yes                       Okay to all prompts - False
  --help                          Show this message and exit.

[!NOTE] fzmovies_api provides a lot more than what you've just gone through here. Documenting isn't my thing, but I will try to update it as time goes by. Additionally, I cannot document this any better than the code itself; therefore, consider going through it.

Disclaimer

This project is not affiliated with or endorsed by fzmovies.net or its owners. The API may change without notice, and this project does not guarantee compatibility with all future updates. The developers of this project are not responsible for any damages or losses resulting from the use of this API. This project is provided AS IS, without warranty of any kind, express or implied.

Project details


Download files

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

Source Distribution

fzmovies_api-0.1.6.tar.gz (34.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fzmovies_api-0.1.6-py3-none-any.whl (34.0 kB view details)

Uploaded Python 3

File details

Details for the file fzmovies_api-0.1.6.tar.gz.

File metadata

  • Download URL: fzmovies_api-0.1.6.tar.gz
  • Upload date:
  • Size: 34.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for fzmovies_api-0.1.6.tar.gz
Algorithm Hash digest
SHA256 9119a54ecae8172680f15a391e70554835e4eb79b5b2924a2a1c730413b53075
MD5 f801ef6c47e0230708dab9867a59590f
BLAKE2b-256 2a2f5d22e4973e710e63d4dfc742a2263555b55912fd0d3edcdd01fef899814d

See more details on using hashes here.

File details

Details for the file fzmovies_api-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: fzmovies_api-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 34.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for fzmovies_api-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 4e117b0404cf7fd1d2a7aff16467aeaf9597240254b440143c43be562db3e7fd
MD5 d30310daa951d08b59a112e14d384234
BLAKE2b-256 a835b6ac951b1ac7f91549522463c4b46fd5ab1b2b89deae8cb23874986b9859

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page