FFBinaries API Client
=====================
HTTP API Client for downloading pre-built ffmpeg, ffplay, ffprobe and ffserver packages from [FFbinaries](https://ffbinaries.com/).
* Supported components: `ffmpeg`, `ffplay`, `ffprobe` and `ffserver`
* Supported platforms: `linux-32`, `linux-64`, `linux-arm64`, `linux-armel`, `linux-armhf`, `osx-64`, `windows-32` and `windows-64`
* Supports fetching different versions of published components packages
Requirements
------------
Python 3.11+
Installation
------------
```bash
pip3 install ffbinaries-api-client
```
Usage
-----
V1 API client's public methods:
```python
from ffbinaries import FFBinariesV1APIClient, ComponentType, PlatformCodeType
client = FFBinariesV1APIClient(request_timeout=10)
client.get_latest_version()
client.get_latest_metadata()
client.get_available_versions()
client.get_available_versions_metadata()
client.get_exact_version_metadata(version='6.1')
client.download_latest_version(
component=ComponentType.FFMPEG,
platform=PlatformCodeType.WIN64,
stream=True
)
client.download_exact_version(
component=ComponentType.FFMPEG,
version='6.1',
platform=PlatformCodeType.WIN64,
stream=True,
)
```
Examples located in `examples` directory.
Exception Handling
------------------
* `FFBinariesAPIClientError` is raised if something went wrong with API request.
```python
class FFBinariesAPIClientError(Exception):
"""General API Client Error Class."""
pass
```
Third Party Libraries and Dependencies
--------------------------------------
The following libraries will be installed when you install the client library:
* [Requests](https://requests.readthedocs.io/en/latest/)
* [Pydantic](https://docs.pydantic.dev/latest/)
Raw data
{
"_id": null,
"home_page": null,
"name": "ffbinaries-api-client",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "ffbinaries, ffmpeg, ffprobe, ffplay, ffserver, ffbinaries-api-client",
"author": null,
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/e4/0f/d921affe5eef41b6cbdfcdb86d94b46d589e8b9328597b4f1ca72e5f2cac/ffbinaries_api_client-0.0.20.tar.gz",
"platform": null,
"description": "FFBinaries API Client \r\n=====================\r\nHTTP API Client for downloading pre-built ffmpeg, ffplay, ffprobe and ffserver packages from [FFbinaries](https://ffbinaries.com/).\r\n\r\n* Supported components: `ffmpeg`, `ffplay`, `ffprobe` and `ffserver`\r\n* Supported platforms: `linux-32`, `linux-64`, `linux-arm64`, `linux-armel`, `linux-armhf`, `osx-64`, `windows-32` and `windows-64`\r\n* Supports fetching different versions of published components packages\r\n\r\nRequirements\r\n------------\r\nPython 3.11+\r\n \r\nInstallation\r\n------------\r\n```bash\r\npip3 install ffbinaries-api-client\r\n```\r\n\r\nUsage\r\n-----\r\nV1 API client's public methods:\r\n\r\n```python\r\nfrom ffbinaries import FFBinariesV1APIClient, ComponentType, PlatformCodeType\r\n\r\nclient = FFBinariesV1APIClient(request_timeout=10)\r\n\r\nclient.get_latest_version()\r\nclient.get_latest_metadata()\r\nclient.get_available_versions()\r\nclient.get_available_versions_metadata()\r\nclient.get_exact_version_metadata(version='6.1')\r\nclient.download_latest_version(\r\n component=ComponentType.FFMPEG,\r\n platform=PlatformCodeType.WIN64,\r\n stream=True\r\n)\r\nclient.download_exact_version(\r\n component=ComponentType.FFMPEG,\r\n version='6.1',\r\n platform=PlatformCodeType.WIN64,\r\n stream=True,\r\n)\r\n\r\n```\r\n\r\nExamples located in `examples` directory.\r\n\r\nException Handling\r\n------------------\r\n* `FFBinariesAPIClientError` is raised if something went wrong with API request.\r\n\r\n```python\r\nclass FFBinariesAPIClientError(Exception):\r\n \"\"\"General API Client Error Class.\"\"\"\r\n pass\r\n```\r\n\r\nThird Party Libraries and Dependencies\r\n--------------------------------------\r\nThe following libraries will be installed when you install the client library:\r\n\r\n* [Requests](https://requests.readthedocs.io/en/latest/)\r\n* [Pydantic](https://docs.pydantic.dev/latest/)\r\n",
"bugtrack_url": null,
"license": null,
"summary": "FFbinaries API Client",
"version": "0.0.20",
"project_urls": {
"Issues": "https://github.com/tropicoo/ffbinaries-api-client/issues",
"Repository": "https://github.com/tropicoo/ffbinaries-api-client.git"
},
"split_keywords": [
"ffbinaries",
" ffmpeg",
" ffprobe",
" ffplay",
" ffserver",
" ffbinaries-api-client"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "3ec5028a928076548b2e1d06b1e049f3fdcdcfb84995980ea8b4f29ec81d9403",
"md5": "900cd1925f92a8debed7f72164d6a230",
"sha256": "6d3a6bb894738c2cb8cbbf0358c8380817b8bfc1b12241de50d574501fe0f7e7"
},
"downloads": -1,
"filename": "ffbinaries_api_client-0.0.20-py3-none-any.whl",
"has_sig": false,
"md5_digest": "900cd1925f92a8debed7f72164d6a230",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 6428,
"upload_time": "2025-03-22T01:23:38",
"upload_time_iso_8601": "2025-03-22T01:23:38.601037Z",
"url": "https://files.pythonhosted.org/packages/3e/c5/028a928076548b2e1d06b1e049f3fdcdcfb84995980ea8b4f29ec81d9403/ffbinaries_api_client-0.0.20-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e40fd921affe5eef41b6cbdfcdb86d94b46d589e8b9328597b4f1ca72e5f2cac",
"md5": "0667d7f7ceef532b10d6aa3b2dba4ce1",
"sha256": "5afa4c8cc3c6165dad091eb5b76e2c4f613bace2a2ffb62b1785b4b35732a81f"
},
"downloads": -1,
"filename": "ffbinaries_api_client-0.0.20.tar.gz",
"has_sig": false,
"md5_digest": "0667d7f7ceef532b10d6aa3b2dba4ce1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 7438,
"upload_time": "2025-03-22T01:23:39",
"upload_time_iso_8601": "2025-03-22T01:23:39.802150Z",
"url": "https://files.pythonhosted.org/packages/e4/0f/d921affe5eef41b6cbdfcdb86d94b46d589e8b9328597b4f1ca72e5f2cac/ffbinaries_api_client-0.0.20.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-03-22 01:23:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "tropicoo",
"github_project": "ffbinaries-api-client",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "ffbinaries-api-client"
}