Skip to main content

A simple wrapper for the Brandfolder API

Project description

The Official Python Brandfolder SDK


!!! Deprecation Warning
Functionality to list assets and attachments by organization (org.assets.fetch(...) and org.attachments.fetch(...)) will soon be deprecated. This will be a breaking change for all versions.

Clients wishing to fetch these resources for an entire organization should instead list all Brandfolders for that organization, and then iteratively fetch assets or attachments from each section within a Brandfolder.

See the API documention for listing assets and listing attachments for more information.

Brandfolder

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


Download files

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

Source Distribution

brandfolder-1.3.4.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

brandfolder-1.3.4-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file brandfolder-1.3.4.tar.gz.

File metadata

  • Download URL: brandfolder-1.3.4.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for brandfolder-1.3.4.tar.gz
Algorithm Hash digest
SHA256 7a5565b3443aba25fbb2479c3fec70225ae0add395b0b22ff4f2d7ad5c315d1b
MD5 c5acfc8e397293df1cc36e17197228a3
BLAKE2b-256 70c28076e05c12a20b67c7c4b08bb5093f639c58ef74cf09d7627f7f75059c64

See more details on using hashes here.

File details

Details for the file brandfolder-1.3.4-py3-none-any.whl.

File metadata

  • Download URL: brandfolder-1.3.4-py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for brandfolder-1.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 00276301c9246d27fd7ce936f41824af6ec3160ef55fb022c8deee55c0fa7c28
MD5 e013a9dd2d129f3eb662c2a8b2786d85
BLAKE2b-256 5a8b4ca45b68228282dd5efe3804c4094a2e1e5f1ca19c8e9ad1ac2866b0756a

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