<h1 align="center">fzseries-api</h1>
<p align="center">
<a href="#"><img alt="Python version" src="https://img.shields.io/pypi/pyversions/fzseries-api"/></a>
<a href="https://github.com/Simatwa/fzseries-api/actions/workflows/python-test.yml"><img src="https://github.com/Simatwa/fzseries-api/actions/workflows/python-test.yml/badge.svg" alt="Python Test"/></a>
<a href="LICENSE"><img alt="License" src="https://img.shields.io/static/v1?logo=GPL&color=Blue&message=GPLv3&label=License"/></a>
<a href="https://pypi.org/project/fzseries-api"><img alt="PyPi" src="https://img.shields.io/pypi/v/fzseries-api"></a>
<a href="https://github.com/Simatwa/fzseries-api/releases"><img src="https://img.shields.io/github/v/release/Simatwa/fzseries-api?label=Release&logo=github" alt="Latest release"></img></a>
<a href="https://github.com/Simatwa/fzseries-api/releases"><img src="https://img.shields.io/github/release-date/Simatwa/fzseries-api?label=Release date&logo=github" alt="release date"></img></a>
<a href="https://github.com/psf/black"><img alt="Black" src="https://img.shields.io/badge/code%20style-black-000000.svg"/></a>
<a href="https://github.com/Simatwa/fzseries-api/actions/workflows/python-publish.yml"><img src="https://github.com/Simatwa/fzseries-api/actions/workflows/python-publish.yml/badge.svg" alt="Python-publish"/></a>
<a href="https://pepy.tech/project/fzseries-api"><img src="https://static.pepy.tech/personalized-badge/fzseries-api?period=total&units=international_system&left_color=grey&right_color=blue&left_text=Downloads" alt="Downloads"></a>
<a href="https://github.com/Simatwa/fzseries-api/releases/latest"><img src="https://img.shields.io/github/downloads/Simatwa/fzseries-api/total?label=Asset%20Downloads&color=success" alt="Downloads"></img></a>
<a href="https://hits.seeyoufarm.com"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com/Simatwa/fzseries-api"/></a>
</p>
> Unofficial Python SDK/API for fztvseries.live
```python
from fzseries_api import Auto
Auto(
query="Mr. Robot",
).run()
# Will show download progressbar
"""
[T 1/10] Mr. Robot - S01E01 - eps1.0_hellofriend.mov
179 MB ████████████████████ 47%|
"""
```
## Installation
```sh
$ pip install fzseries-api[cli]
```
Alternatively, you can download standalone executable for your system from [here](https://github.com/Simatwa/fzseries-api/releases/latest).
## Usage
<details>
<summary>
<h3>1. Developers</h3>
</summary>
#### Search Series Using Title
```python
from fzseries_api import Search, TVSeriesMetadata, EpisodeMetadata, Download
from fzseries_api.models import SearchResults, TVSeriesSeason, EpisodeInSearch
search = Search(
query = "Into the Badlands"
)
series_search_results : list[SearchResults] = search.results.series
#First series metadata
target_series_metadata = TVSeriesMetadata(
series_search_results[0]
)
series_seasons:list[TVSeriesSeason] = target_series_metadata.results.seasons
# First season metadata
season_one_metadata = EpisodeMetadata(
series_seasons[0]
)
season_one_episodes: list[EpisodeInSearch] = season_one_metadata.results.episodes
# download first episode
saved_to = Download(
season_one_episodes[0]
).run()
print(
saved_to
)
```
#### Search Series Using Filters
```python
from fzseries_api import Search, TVSeriesMetadata, EpisodeMetadata, Download
from fzseries_api.models import SearchResults, TVSeriesSeason, EpisodeInSearch
from fzseries_api.filters import GenreFilter
search = Search(
query = GenreFilter(
genre="Sci-Fi"
)
)
series_search_results : list[SearchResults] = search.results.series
#First series metadata
target_series_metadata = TVSeriesMetadata(
series_search_results[0]
)
series_seasons:list[TVSeriesSeason] = target_series_metadata.results.seasons
# First season metadata
season_one_metadata = EpisodeMetadata(
series_seasons[0]
)
season_one_episodes: list[EpisodeInSearch] = season_one_metadata.results.episodes
# download first episode
saved_to = Download(
season_one_episodes[0]
).run()
print(
saved_to
)
```
</details>
### 2. CLI
```sh
$ fzseries download <QUERY>
# e.g fzseries download "Mr. Robot"
```
<details>
<summary>
<code>$ fzseries download --help</code>
</summary>
```
Usage: fzseries download [OPTIONS] QUERY
Download a whole series|seasons|episodes automatically
Options:
-b, --by [series|episodes] Query category
-so, --season-offset INTEGER Season number to start downloading from
-eo, --episode-offset INTEGER Episode number to start downloading from
-l, --limit INTEGER Number of proceeding episodes to download
before stopping
-t, --download-trials INTEGER Number of trials before giving up on
downloading an episode
-r, --request-timeout INTEGER Http request timeout while downloading
episodes in seconds.
-f, --format [High MP4|WEBM] Preffered movie download format
-d, --directory DIRECTORY Parent directory for saving the downloaded
contents
--enable-progressbar / --disable-progressbar
Show or hide downloading progress bar
--quiet Do not stdout any interactive messages
--include_metadata Add series title and episode-id in filename
--one-season-only Download only one season and stop.
--ignore-errors Ignore exceptions raised while downloading
episode
--confirm Confirm episodes before downloading them
--help Show this message and exit.
```
</details>
<details>
<summary>
<code>$ fzseries --help</code>
</summary>
```
Usage: fzseries [OPTIONS] COMMAND [ARGS]...
Unofficial Python SDK/API for fztvseries.live
Options:
--version Show the version and exit.
--help Show this message and exit.
Commands:
discover Search TV series using title or filter
download Download a whole series|seasons|episodes automatically
metadata Access particular series metadata - seasons and episodes
Repository : https://github.com/Simatwa/fzseries-api
```
</details>
> [!NOTE]
> **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.
## Disclaimer
This 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.
Raw data
{
"_id": null,
"home_page": "https://github.com/Simatwa/fzseries-api",
"name": "fzseries-api",
"maintainer": "Smartwa",
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "series, fzseries, fztvseries, mobiletvshows",
"author": "Smartwa",
"author_email": "simatwacaleb@proton.me",
"download_url": "https://files.pythonhosted.org/packages/45/64/c249cdfc4f57a87031e3f7431edc79ba8ccf2139854d70d41fbfb23b84e4/fzseries_api-0.0.4.tar.gz",
"platform": null,
"description": "<h1 align=\"center\">fzseries-api</h1>\n\n<p align=\"center\">\n<a href=\"#\"><img alt=\"Python version\" src=\"https://img.shields.io/pypi/pyversions/fzseries-api\"/></a>\n<a href=\"https://github.com/Simatwa/fzseries-api/actions/workflows/python-test.yml\"><img src=\"https://github.com/Simatwa/fzseries-api/actions/workflows/python-test.yml/badge.svg\" alt=\"Python Test\"/></a>\n<a href=\"LICENSE\"><img alt=\"License\" src=\"https://img.shields.io/static/v1?logo=GPL&color=Blue&message=GPLv3&label=License\"/></a>\n<a href=\"https://pypi.org/project/fzseries-api\"><img alt=\"PyPi\" src=\"https://img.shields.io/pypi/v/fzseries-api\"></a>\n<a href=\"https://github.com/Simatwa/fzseries-api/releases\"><img src=\"https://img.shields.io/github/v/release/Simatwa/fzseries-api?label=Release&logo=github\" alt=\"Latest release\"></img></a>\n<a href=\"https://github.com/Simatwa/fzseries-api/releases\"><img src=\"https://img.shields.io/github/release-date/Simatwa/fzseries-api?label=Release date&logo=github\" alt=\"release date\"></img></a>\n<a href=\"https://github.com/psf/black\"><img alt=\"Black\" src=\"https://img.shields.io/badge/code%20style-black-000000.svg\"/></a>\n<a href=\"https://github.com/Simatwa/fzseries-api/actions/workflows/python-publish.yml\"><img src=\"https://github.com/Simatwa/fzseries-api/actions/workflows/python-publish.yml/badge.svg\" alt=\"Python-publish\"/></a>\n<a href=\"https://pepy.tech/project/fzseries-api\"><img src=\"https://static.pepy.tech/personalized-badge/fzseries-api?period=total&units=international_system&left_color=grey&right_color=blue&left_text=Downloads\" alt=\"Downloads\"></a>\n<a href=\"https://github.com/Simatwa/fzseries-api/releases/latest\"><img src=\"https://img.shields.io/github/downloads/Simatwa/fzseries-api/total?label=Asset%20Downloads&color=success\" alt=\"Downloads\"></img></a>\n<a href=\"https://hits.seeyoufarm.com\"><img src=\"https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com/Simatwa/fzseries-api\"/></a>\n</p>\n\n> 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 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 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<details>\n\n<summary>\n\n<h3>1. Developers</h3>\n\n</summary>\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</details>\n\n\n### 2. CLI\n\n```sh\n$ fzseries download <QUERY>\n# e.g fzseries download \"Mr. Robot\"\n```\n\n<details>\n<summary>\n<code>$ fzseries download --help</code>\n</summary>\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</details>\n\n<details>\n<summary>\n<code>$ fzseries --help</code>\n</summary>\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</details>\n\n> [!NOTE]\n> **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.\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "Unofficial Python SDK/API for fztvseries.live",
"version": "0.0.4",
"project_urls": {
"Bug Report": "https://github.com/Simatwa/fzseries-api/issues/new",
"Documentation": "https://github.com/Simatwa/fzseries-api/",
"Download": "https://github.com/Simatwa/fzseries-api/releases",
"Homepage": "https://github.com/Simatwa/fzseries-api",
"Issue Tracker": "https://github.com/Simatwa/fzseries-api/issues",
"Source Code": "https://github.com/Simatwa/fzseries-api"
},
"split_keywords": [
"series",
" fzseries",
" fztvseries",
" mobiletvshows"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ac9c7ccff8c10974aac0e6d717c46507c8e9c7f752b33787c04482f0b2d5c6e1",
"md5": "b2a223ed65142b95201739d3d47f1236",
"sha256": "f058491cce36321f6aab341702bea6a7d4e9735fba1d97afaa88d0073bf00f59"
},
"downloads": -1,
"filename": "fzseries_api-0.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b2a223ed65142b95201739d3d47f1236",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 34443,
"upload_time": "2024-10-22T13:34:07",
"upload_time_iso_8601": "2024-10-22T13:34:07.976219Z",
"url": "https://files.pythonhosted.org/packages/ac/9c/7ccff8c10974aac0e6d717c46507c8e9c7f752b33787c04482f0b2d5c6e1/fzseries_api-0.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4564c249cdfc4f57a87031e3f7431edc79ba8ccf2139854d70d41fbfb23b84e4",
"md5": "10aff2a72e007e62900f8a3fa621bef9",
"sha256": "92444b3a2697ac9e4e0227e3524e45891b97288e6056f80272bd5a5dc9f10c7a"
},
"downloads": -1,
"filename": "fzseries_api-0.0.4.tar.gz",
"has_sig": false,
"md5_digest": "10aff2a72e007e62900f8a3fa621bef9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 35223,
"upload_time": "2024-10-22T13:34:08",
"upload_time_iso_8601": "2024-10-22T13:34:08.948497Z",
"url": "https://files.pythonhosted.org/packages/45/64/c249cdfc4f57a87031e3f7431edc79ba8ccf2139854d70d41fbfb23b84e4/fzseries_api-0.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-22 13:34:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Simatwa",
"github_project": "fzseries-api",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "fzseries-api"
}