Package: bynder-sdk
Bynder Python SDKThe 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
(https://bynder.docs.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 toversion 0.0.6.Requirements and dependenciesThe 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.InstallationThis 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-ppython3venv# create virtual environmentsourcevenv/bin/activate# activate virtual environmentAfter you have successfully setup a virtual environment you can install
the SDK withpip. Run the
following command while your virtual environment is active.pipinstallbynder-sdkGetting startedThis is a simple example on how to retrieve data from the Bynder asset
bank. For a more detailed example of implementation refer to thesample
code.First import the BynderClient:frombynder_sdkimportBynderClientWhen using OAuth2, create an instance of the client and use the flow
to receive a token:bynder_client=BynderClient(domain='portal.getbynder.com',redirect_uri='https://...',client_id='',client_secret='',token_saver=token_saver)print(bynder_client.get_authorization_url())code=input('Code: ')bynder_client.fetch_token(code)When using a permanent token, the client instance can be created like this:bynder_client=BynderClient(domain='portal.getbynder.com',permanent_token='')Finally call one of the API's endpoints through one of the clients:asset_bank_client=bynder_client.asset_bank_clientmedia_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 belowMethods AvailableThese are the methods currently availble on theBynder Python SDK,
refer to theBynder API Docsfor 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_clientcollection_clientpim_clientworkflow_clientget_authorization_url()fetch_token()derivatives()asset_bank_client:All the Asset Bank related calls, provides information and access to
Media management.brands()tags()meta_properties()media_list(query)media_info(media_id,query)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 theupload_filemethod 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)collection_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()campaigns(query)campaign_info(campaign_id)create_campaign(name,key,description,responsibleID,query)delete_campaign(campaign_id)edit_campaign(campaign_id,name,key,description,responsibleID,query)metaproperties()metaproperty_info(metaproperty_id)groups()group_info(group_id)job_preset_info(job_preset_info)jobs(campaign_id)create_job(name,campaignID,accountableID,presetID,query)job_info(job_id)edit_job(job_id,name,campaignID,accauntableID,presetID,query)delete_job(job_id)}TestsYou can run the tests by using the command below. This will install the
packages required and execute the tests for all the clients.maketest