A simple wrapper for the Brandfolder API
Project description
The Official Python Brandfolder SDK
What is Brandfolder?
Brandfolder is a visually-elegant and user-friendly Digital Asset Management software that allows marketers and creatives across industries to maximize their brand management potential. Brandfolder is more than just storage for your digital assets; with our solution's cloud-first architecture, users can organize, manipulate, distribute, and analyze their most important digital collateral from a single source of truth. With advanced AI-powered smart search, asset editing and manipulation, annotated workflow with approvals and notifications, and actionable brand insights, Brandfolder's feature suite amplifies cross-team collaboration and productivity, and empowers external users to access the content they need with unprecedented ease.
Installation
Install latest official build:
pip install brandfolder
Install from source:
git clone git@github.com:brandfolder/sdk-python.git
cd sdk-python
python setup.py install
Usage
Interaction with the Brandfolder API via the Python SDK is client based. The first thing you need to do is create a client:
client = Client(api_key=API_KEY)
A valid Brandfolder API key is required for all actions. Find yours at https://brandfolder.com/profile#integrations.
Methods for interacting with resource containers from Brandfolder:
container.fetch()
: Returns a list from the first page of available objects of the provided type. (e.g. client.brandfolders.fetch()
)
container.fetch_by_id(<resource_id>)
: Returns the object associated with the provided type and id. (e.g. client.brandfolders.fetch_by_id(<bf_id>)
)
Methods for interacting with resource objects from Brandfolder:
obj.get(<attribute>)
: Returns the provided attribute value of the associated object. (e.g. asset.get('name')
)
obj.refresh()
: Updates local object attributes with what currently exists in Brandfolder.
obj.set(<updates>)
: Prepares to apply provided updates to the associated object. (e.g. asset.set(name='New Name')
)
obj.update()
: Pushes updates to the associated object to Brandfolder.
obj.delete()
: Deletes the associated object in Brandfolder.
brandfolder_obj.create_section()
: Creates section in the associated Brandfolder.
brandfolder_obj.create_collection()
: Creates collection in the associated Brandfolder.
brandfolder_obj.create_asset(attachments_data, section_key, **attributes)
: Creates asset in the associated Brandfolder. This is also available for a Collection.
brandfolder_obj.search(query)
: Returns assets in the associated Brandfolder that match the query parameters provided.
Fields on resource objects:
obj.id
: The id of the associated object.
obj.attributes
: The attributes of the provided object.
obj.relationships
: Information about the resources related to the provided object, if explicitly included in the API call.
obj.included
: The included resources that are related to the provided object, if explicitly included in the API call.
obj.updates
: A dict of staged updates to the associated object that are ready to apply.
Examples:
See the complete API documentation at https://developer.brandfolder.com/docs for more examples.
Get all available organizations:
orgs = client.organizations.fetch()
Get a specific Brandfolder:
bf = client.brandfolders.fetch_by_id(<brandfolder_id>)
Updating an asset:
asset = bf.assets.fetch_by_id(<asset_id>) # Grab an asset
asset.set(name='New Name')
asset.update() # Pushes new attributes to Brandfolder
Search for assets within a Brandfolder:
# Will return results with a name containing "Sample" of filetype ".png"
bf = client.brandfolders.fetch_by_id(<brandfolder_id>)
search_parameters = ['name:sample', 'extension:png']
results = bf.assets.search(search_parameters)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for brandfolder-1.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38dcd77a3fbb2b9c1891874dd9f6c8127bc99f3b9cd699f714cc4005412fe89e |
|
MD5 | a52e010bd602f5731e4f0af5ae100185 |
|
BLAKE2b-256 | 88582fa8898d349e3a94309e0185055ede01282dd39b0ef0c38b3498c143fd90 |