Skip to main content

Mux API

Project description

Mux Python Banner

PyPI | Mux Docs | Mux API Reference

Mux Python

Official 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.

Requirements

Python 2.7 or 3.4+

Compatibility with Ubuntu 14.04

Mux 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 pip

pip install git+https://github.com/muxinc/mux-python.git

(you may need to run pip with root permission)

Via source

git checkout https://github.com/muxinc/mux-python.git
cd mux-python
python setup.py install --user

Getting 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:

  1. 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.

  2. 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.

Authentication

To 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.

Example Usage

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

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

UnauthorizedException is thrown when Mux cannot authenticate your request. You should check you have configured your credentials correctly.

ServiceException

ServiceException is thrown when Mux returns a HTTP 5XX Status Code. If you encounter this reproducibly, please get in touch with support@mux.com.

Documentation

Be sure to check out the documentation in the docs directory.

Issues

If you run into problems, please raise a GitHub issue, filling in the issue template. We'll take a look as soon as possible.

Contributing

Please do not submit PRs against this package. It is generated from our OpenAPI definitions - Please open an issue instead!

License

MIT License. Copyright 2019 Mux, Inc.

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

mux_python-3.7.1.tar.gz (146.2 kB view details)

Uploaded Source

Built Distributions

mux_python-3.7.1-py3.10.egg (761.7 kB view details)

Uploaded Source

mux_python-3.7.1-py3-none-any.whl (324.0 kB view details)

Uploaded Python 3

File details

Details for the file mux_python-3.7.1.tar.gz.

File metadata

  • Download URL: mux_python-3.7.1.tar.gz
  • Upload date:
  • Size: 146.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for mux_python-3.7.1.tar.gz
Algorithm Hash digest
SHA256 1ea830596884a936093142002a5a1d119c5e7d4e1c65d9a25e4a988b9a92f59b
MD5 2cb84174fbffe6a63c20e9bd2d2d1117
BLAKE2b-256 e7cd13a79281d9b6de24a054e0403d200157f8f5f4b2cdecfda0f2d8c007a33a

See more details on using hashes here.

File details

Details for the file mux_python-3.7.1-py3.10.egg.

File metadata

  • Download URL: mux_python-3.7.1-py3.10.egg
  • Upload date:
  • Size: 761.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for mux_python-3.7.1-py3.10.egg
Algorithm Hash digest
SHA256 934f273492fcd36e95a896d9f916b9ef862e574134e30e4758e0430dc7dcb326
MD5 a4ff70074d2c04ae8707e85e5b011939
BLAKE2b-256 8a48646c6860c31ac163d98b9eed9d9c56315a18c3b68af90b7373a52589f381

See more details on using hashes here.

File details

Details for the file mux_python-3.7.1-py3-none-any.whl.

File metadata

  • Download URL: mux_python-3.7.1-py3-none-any.whl
  • Upload date:
  • Size: 324.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for mux_python-3.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b58d1c1d100a09b4873242bba19e9b3b8bd8c43a83cec934630c8e8d2fd32333
MD5 536a2ef9b29f2c14b5cd0fad116686dc
BLAKE2b-256 057f383664039e771b878e1a721da0990f1ba2316cf3d79951b7b3fad1c266e6

See more details on using hashes here.

Supported by

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