{"id":17603401,"url":"https://github.com/simatwa/fzseries-api","last_synced_at":"2025-04-12T06:50:43.069Z","repository":{"id":257826492,"uuid":"871901472","full_name":"Simatwa/fzseries-api","owner":"Simatwa","description":"Unofficial Python SDK/API for fztvseries.live","archived":false,"fork":false,"pushed_at":"2024-10-22T14:14:07.000Z","size":86,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T02:11:20.287Z","etag":null,"topics":["fzseries","fztvseries","mobiletvshows","series","tvseres"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Simatwa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-13T09:06:51.000Z","updated_at":"2024-10-22T14:14:11.000Z","dependencies_parsed_at":"2024-10-23T06:01:25.589Z","dependency_job_id":null,"html_url":"https://github.com/Simatwa/fzseries-api","commit_stats":null,"previous_names":["simatwa/fzseries-api"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simatwa%2Ffzseries-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simatwa%2Ffzseries-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simatwa%2Ffzseries-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simatwa%2Ffzseries-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Simatwa","download_url":"https://codeload.github.com/Simatwa/fzseries-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248530605,"owners_count":21119595,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fzseries","fztvseries","mobiletvshows","series","tvseres"],"created_at":"2024-10-22T13:45:40.511Z","updated_at":"2025-04-12T06:50:43.030Z","avatar_url":"https://github.com/Simatwa.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003efzseries-api\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"#\"\u003e\u003cimg alt=\"Python version\" src=\"https://img.shields.io/pypi/pyversions/fzseries-api\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/Simatwa/fzseries-api/actions/workflows/python-test.yml\"\u003e\u003cimg src=\"https://github.com/Simatwa/fzseries-api/actions/workflows/python-test.yml/badge.svg\" alt=\"Python Test\"/\u003e\u003c/a\u003e\n\u003ca href=\"LICENSE\"\u003e\u003cimg alt=\"License\" src=\"https://img.shields.io/static/v1?logo=GPL\u0026color=Blue\u0026message=GPLv3\u0026label=License\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://pypi.org/project/fzseries-api\"\u003e\u003cimg alt=\"PyPi\" src=\"https://img.shields.io/pypi/v/fzseries-api\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/Simatwa/fzseries-api/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/Simatwa/fzseries-api?label=Release\u0026logo=github\" alt=\"Latest release\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/Simatwa/fzseries-api/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/release-date/Simatwa/fzseries-api?label=Release date\u0026logo=github\" alt=\"release date\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/psf/black\"\u003e\u003cimg alt=\"Black\" src=\"https://img.shields.io/badge/code%20style-black-000000.svg\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/Simatwa/fzseries-api/actions/workflows/python-publish.yml\"\u003e\u003cimg src=\"https://github.com/Simatwa/fzseries-api/actions/workflows/python-publish.yml/badge.svg\" alt=\"Python-publish\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://pepy.tech/project/fzseries-api\"\u003e\u003cimg src=\"https://static.pepy.tech/personalized-badge/fzseries-api?period=total\u0026units=international_system\u0026left_color=grey\u0026right_color=blue\u0026left_text=Downloads\" alt=\"Downloads\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/Simatwa/fzseries-api/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/downloads/Simatwa/fzseries-api/total?label=Asset%20Downloads\u0026color=success\" alt=\"Downloads\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://hits.seeyoufarm.com\"\u003e\u003cimg src=\"https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com/Simatwa/fzseries-api\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003e Unofficial Python SDK/API for fztvseries.live\n\n```python\nfrom fzseries_api import Auto\n\nAuto(\n    query=\"Mr. Robot\",\n).run()\n\n# Will show download progressbar\n\"\"\"\n[T 1/10] Mr. Robot - S01E01 - eps1.0_hellofriend.mov\n179 MB ████████████████████                     47%|\n\"\"\"\n```\n\n## Installation\n\n```sh\n$ pip install fzseries-api[cli]\n```\n\nAlternatively, you can download standalone executable for your system from [here](https://github.com/Simatwa/fzseries-api/releases/latest).\n\n## Usage \n\n\u003cdetails\u003e\n\n\u003csummary\u003e\n\n\u003ch3\u003e1. Developers\u003c/h3\u003e\n\n\u003c/summary\u003e\n\n#### Search Series Using Title\n\n```python\nfrom fzseries_api import Search, TVSeriesMetadata, EpisodeMetadata, Download\nfrom fzseries_api.models import SearchResults, TVSeriesSeason, EpisodeInSearch\n\nsearch = Search(\n    query = \"Into the Badlands\"\n)\n\nseries_search_results : list[SearchResults] = search.results.series\n\n#First series metadata\ntarget_series_metadata = TVSeriesMetadata(\n    series_search_results[0]\n)\n\nseries_seasons:list[TVSeriesSeason] = target_series_metadata.results.seasons\n\n# First season metadata\nseason_one_metadata = EpisodeMetadata(\n    series_seasons[0]\n)\n\nseason_one_episodes: list[EpisodeInSearch] = season_one_metadata.results.episodes\n\n# download first episode\nsaved_to = Download(\n    season_one_episodes[0]\n).run()\n\nprint(\n    saved_to\n)\n```\n\n#### Search Series Using Filters\n\n```python\nfrom fzseries_api import Search, TVSeriesMetadata, EpisodeMetadata, Download\nfrom fzseries_api.models import SearchResults, TVSeriesSeason, EpisodeInSearch\nfrom fzseries_api.filters import GenreFilter\n\nsearch = Search(\n    query = GenreFilter(\n        genre=\"Sci-Fi\"\n    )\n)\n\nseries_search_results : list[SearchResults] = search.results.series\n\n#First series metadata\ntarget_series_metadata = TVSeriesMetadata(\n    series_search_results[0]\n)\n\nseries_seasons:list[TVSeriesSeason] = target_series_metadata.results.seasons\n\n# First season metadata\nseason_one_metadata = EpisodeMetadata(\n    series_seasons[0]\n)\n\nseason_one_episodes: list[EpisodeInSearch] = season_one_metadata.results.episodes\n\n# download first episode\nsaved_to = Download(\n    season_one_episodes[0]\n).run()\n\nprint(\n    saved_to\n)\n```\n\n\u003c/details\u003e\n\n\n### 2. CLI\n\n```sh\n$ fzseries download \u003cQUERY\u003e\n# e.g fzseries download \"Mr. Robot\"\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003ccode\u003e$ fzseries download --help\u003c/code\u003e\n\u003c/summary\u003e\n\n```\nUsage: fzseries download [OPTIONS] QUERY\n\n  Download a whole series|seasons|episodes automatically\n\nOptions:\n  -b, --by [series|episodes]      Query category\n  -so, --season-offset INTEGER    Season number to start downloading from\n  -eo, --episode-offset INTEGER   Episode number to start downloading from\n  -l, --limit INTEGER             Number of proceeding episodes to download\n                                  before stopping\n  -t, --download-trials INTEGER   Number of trials before giving up on\n                                  downloading an episode\n  -r, --request-timeout INTEGER   Http request timeout while downloading\n                                  episodes in seconds.\n  -f, --format [High MP4|WEBM]    Preffered movie download format\n  -d, --directory DIRECTORY       Parent directory for saving the downloaded\n                                  contents\n  --enable-progressbar / --disable-progressbar\n                                  Show or hide downloading progress bar\n  --quiet                         Do not stdout any interactive messages\n  --include_metadata              Add series title and episode-id in filename\n  --one-season-only               Download only one season and stop.\n  --ignore-errors                 Ignore exceptions raised while downloading\n                                  episode\n  --confirm                       Confirm episodes before downloading them\n  --help                          Show this message and exit.\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003ccode\u003e$ fzseries --help\u003c/code\u003e\n\u003c/summary\u003e\n\n\n```\nUsage: fzseries [OPTIONS] COMMAND [ARGS]...\n\n  Unofficial Python SDK/API for fztvseries.live\n\nOptions:\n  --version  Show the version and exit.\n  --help     Show this message and exit.\n\nCommands:\n  discover  Search TV series using title or filter\n  download  Download a whole series|seasons|episodes automatically\n  metadata  Access particular series metadata - seasons and episodes\n\n  Repository : https://github.com/Simatwa/fzseries-api\n```\n\u003c/details\u003e\n\n\u003e [!NOTE]\n\u003e **fzseries_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.\n\n## Disclaimer\n\nThis project is not affiliated with or endorsed by fztvseries.live 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_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimatwa%2Ffzseries-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimatwa%2Ffzseries-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimatwa%2Ffzseries-api/lists"}