Skip to main content

Bynder SDK can be used to speed up the integration of Bynder in Python

Project description

Bynder Python SDK

Build Status

The main goal of this SDK is to speed up the integration of Bynder customers who use Python. Making it easier to connect to the Bynder API (http://docs.bynder.apiary.io) and execute requests on it.

Note: As of version 1.0.0 this SDK now uses OAuth 2.0. For the last version using OAuth 1.0a please refer to version 0.0.6.

Requirements and dependencies

The Python SDK requires the following in order to fully work:

  • Python >= 3.5, older versions of Python won't work.

Pip should handle all the dependencies automatically.

Installation

This SDK depends on a few libraries in order to work, installing it with pip should take care of everything automatically.

Before you install the SDK we recommend you to setup a virtual environment:

virtualenv -p python3 venv  # create virtual environment
source venv/bin/activate    # activate virtual environment

After you have successfully setup a virtual environment you can install the SDK with pip. Run the following command while your virtual environment is active.

pip install bynder-sdk

Getting started

This is a simple example on how to retrieve data from the Bynder asset bank. For a more detailed example of implementation refer to the sample code.

First import the BynderClient:

from bynder_sdk import BynderClient

Then create an instance of the client:

bynder_client = BynderClient(
    domain='portal.getbynder.com',
    redirect_uri='https://...',
    client_id='',
    client_secret='',
    token_saver=token_saver
)

Get an OAuth2 token following the OAuth2 flow:

print(bynder_client.get_authorization_url())
code = input('Code: ')
bynder_client.fetch_token(code)

Finally call one of the API's endpoints through one of the clients:

asset_bank_client = bynder_client.asset_bank_client
media_list = asset_bank_client.media_list({
    'limit': 2,
    'type': 'image'
})

A full list of the currently available clients and methods in the SDK can be found below

Methods Available

These are the methods currently availble on the Bynder Python SDK, refer to the Bynder API Docs for more specific details on the calls.

BynderClient:

Get an instance of the Asset Bank Client or the Collection Client if already with access tokens set up. Also allows to generate and authenticate request tokens, which are necessary for the rest of the Asset Bank and Collection calls.

asset_bank_client
collection_client
pim_client
workflow_client
get_authorization_url()
fetch_token()
derivatives()

asset_bank_client:

All the Asset Bank related calls, provides information and access to Media management.

brands()
media_list(query)
media_info(media_id, query)
meta_properties()
tags()
media_download_url()
set_media_properties(media_id, query)
delete_media(media_id)
create_usage(itegration_id, asset_id, query)
usage(query)
delete_usage(integration_id, asset_id, query)
upload_file(file_path, brand_id, media_id, query)

With the upload_file method you can do two things. You can upload a new asset, or you can upload a new version of an exising asset. You can control this by sending a media_id or not.

collection_client:

All the collection related calls.

collections(query)
collections_info(collection_id)
create_collection(name, query)
delete_collection(collection_id)
collection_media_ids(collection_id)
add_media_to_collection(collection_id, media_ids)
remove_media_from_collection(collection_id, meedia_ids)
share_collection(collection_id, collection_option, recipients, query)

pim_client:

All the PIM related calls.

metaproperties()
metaproperty_info(metaproperty_id)
metaproperty_options(metaproperty_id)
edit_metaproperty_option(metaproperty_option_id, children)

workflow_client:

All the workflow related calls.

users()
groups()
group_info(group_id)
metaproperties()
metaproperty_info(metaproperty_id)
campaigns(query)
campaign_info(campaign_id)
create_campaign(name, key, description, responsibleID, query)
edit_campaign(campaign_id, name, key, description, responsibleID, query)
delete_campaign(campaign_id)
job_preset_info(job_preset_info)
jobs(campaign_id)
create_job(name, campaignID, accountableID, presetID, query)
edit_job(job_id, name, campaignID, accauntableID, presetID, query)
job_info(job_id)
delete_job(job_id)}

Tests

You can run the tests by using the command below. This will install the packages required and execute the tests for all the clients.

make test

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for bynder-sdk, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size bynder_sdk-1.0.0-py3-none-any.whl (16.6 kB) File type Wheel Python version py3 Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page