PyPI | Mux Docs | Mux API Reference
Mux PythonOfficial Mux API wrapper for python projects, supporting both Mux Data and Mux Video.
Mux Video is an API-first platform, powered by data and designed by video experts to make beautiful video possible for every development team.
Mux Data is a platform for monitoring your video streaming performance with just a few lines of code. Get in-depth quality of service analytics on web, mobile, and OTT devices.
Not familiar with Mux? Check out https://mux.com/ for more information.
RequirementsPython 2.7 or 3.4+
Compatibility with Ubuntu 14.04Mux uses cross signed TLS root certificates, which may not be compatible with Ubuntu 14.04 LTS as documented in this issue. We suggest upgrading to a later LTS operating system if you encounter this issue.
Installation Via pippip install git+https://github.com/muxinc/mux-python.git
(you may need to run pip
with root permission)
git checkout https://github.com/muxinc/mux-python.git cd mux-python python setup.py install --userGetting Started Overview
Mux Python is a code generated lightweight wrapper around the Mux REST API and reflects them accurately. This has a few consequences you should watch out for:
For almost all API responses, the object you're looking for will be in the data
field on the API response object, as in the example below. This is because we designed our APIs with similar concepts to the JSON:API standard. This means we'll be able to return more metadata from our API calls (such as related entities) without the need to make breaking changes to our APIs. We've decided not to hide that in this library.
We don't use a lot of object orientation. For example API calls that happen on a single asset don't exist in the asset class, but are API calls in the AssetsApi which require an asset ID.
At this moment, this SDK is not suitable for parsing or modeling webhook payloads, due to some incompatibilities in our API spec and our SDK generation tooling. We are working on resolving these issues, but for now you should only use this SDK for Mux's REST APIs.
AuthenticationTo use the Mux API, you'll need an access token and a secret. Details on obtaining these can be found here in the Mux documentation.
Its up to you to manage your token and secret. In our examples, we read them from MUX_TOKEN_ID
and MUX_TOKEN_SECRET
in your environment.
Below is a quick example of using mux-python to list the Video assets stored in your Mux account.
Be sure to also checkout the examples directory:
There's also example usage of every API call (also used for testing):
import os import mux_python from mux_python.rest import ApiException # Authentication Setup configuration = mux_python.Configuration() configuration.username = os.environ['MUX_TOKEN_ID'] configuration.password = os.environ['MUX_TOKEN_SECRET'] # API Client Initialization assets_api = mux_python.AssetsApi(mux_python.ApiClient(configuration)) # List Assets print("Listing Assets: \n") try: list_assets_response = assets_api.list_assets() for asset in list_assets_response.data: print('Asset ID: ' + asset.id) print('Status: ' + asset.status) print('Duration: ' + str(asset.duration) + "\n") except ApiException as e: print("Exception when calling AssetsApi->list_assets: %s\n" % e)Exceptions & Error Handling
All exceptions inherit from ApiException
, you can catch it as in the example above, or you can catch one of the more specific exceptions below. You can check the fields error_type
and error_messages
in all Exceptions to see what error the Mux API reported.
NotFoundException
is thrown when a resource is not found. This is useful when trying to get an entity by its ID, for example get_asset("some-id-here")
in the AssetsApi.
UnauthorizedException
is thrown when Mux cannot authenticate your request. You should check you have configured your credentials correctly.
ServiceException
is thrown when Mux returns a HTTP 5XX Status Code. If you encounter this reproducibly, please get in touch with support@mux.com.
Be sure to check out the documentation in the docs
directory.
If you run into problems, please raise a GitHub issue, filling in the issue template. We'll take a look as soon as possible.
ContributingPlease do not submit PRs against this package. It is generated from our OpenAPI definitions - Please open an issue instead!
LicenseMIT License. Copyright 2019 Mux, Inc.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4