Skip to main content

API First Blogging and CMS platform built for developers

Project description

buttercms-python - 2.1.1

Python Library for ButterCMS API.

Documentation

For a comprehensive list of examples, check out the API documentation.

Jump to:

Installation

Install from PyPi using pip, a package manager for Python.

pip install buttercms-python

Usage

Getting started with the ButterCMS API couldn't be easier. Use your authorization token to create a ButterCMS client.

from butter_cms import ButterCMS

auth_token = "XXXXXXXXXXXXXXXXXXX"
client = ButterCMS(auth_token)

All methods return dictionaries. The data can be navigated using keys and indexes like the example below.

response = client.posts.all()

posts = response['data'] 
# posts now contains a list of post dictionaries

my_post = posts[0]
# my_post contains the first returned post

print(my_post)
# {
#   "url": "http://www.example.com/blog/this-is-a-blog-post",
#   "created": "2015-06-12T13:59:32.441289Z",
#   "published": "2015-06-12T00:00:00Z",
#   ...
# }

Pages

The Page's .all(), .get() and .search() methods accept an optional params to add additional data to the response.

client.pages.all('news')

# Optional params
client.pages.all('news', {'foo': 'bar'})
client.pages.get('news', 'hello-world')

# Optional params
client.pages.get('news', 'hello-world', {'foo': 'bar'})
client.pages.search('enter search query', {'page': 1, 'page_size': 10})

To Top

Collections

For a list of params see the API documentation

.get() method accepts an optional params dict to add additional data to the response.

client.content_fields.get(['collection_key'], {'locale': 'en'})

To Top

Blog Engine

Posts

client.posts.all({'page_size': 3, 'page': 1, 'exclude_body': 'true'})
client.posts.get('hello-world')
client.posts.search('query', {'page': 1, 'page_size': 10})

Authors

The Author's .all() and .get() methods accept an optional params to add additional data to the response.

  • {'include':'recent_posts'}: Adds each author's posts under the recent_posts key in that author's returned dictionary
client.authors.all()
client.authors.all({'include':'recent_posts'})
client.authors.get('jennifer-smith')
client.authors.get('jennifer-smith', {'include':'recent_posts'})

To Top

Categories

The Category's .all() and .get() methods accept an optional params to add additional data to the response.

  • {'include':'recent_posts'}: Adds posts tagged with that category under the recent_posts key in that category's returned dictionary
client.categories.all()
client.categories.all({'include':'recent_posts'})
client.categories.get('product-updates')
client.categories.get('product-updates', {'include':'recent_posts'})

To Top

Tags

The Tag's .all() and .get() methods accept an optional params to add additional data to the response.

  • {'include':'recent_posts'}: Adds posts tagged with that tag under the recent_posts key in that tag's returned dictionary
client.tags.all()
client.tags.all({'include':'recent_posts'})
client.tags.get('product-updates')
client.tags.get('product-updates', {'include':'recent_posts'})

To Top

Feeds

client.feeds.get('rss')
client.feeds.get('atom')
client.feeds.get('sitemap')

To Top

Other

View Python Blog engine and Full CMS for other examples of using ButterCMS with Python.

Tests

To run tests:

python -m unittest butter_cms/unit_tests.py

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

buttercms_python-2.1.1.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

buttercms_python-2.1.1-py2.py3-none-any.whl (8.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file buttercms_python-2.1.1.tar.gz.

File metadata

  • Download URL: buttercms_python-2.1.1.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for buttercms_python-2.1.1.tar.gz
Algorithm Hash digest
SHA256 284aec079918a41df09eb3896e1136d38c9ffae268821b999c9e8101dc912c04
MD5 d2c64a47631a7da60b83a6e5c85fa42d
BLAKE2b-256 8524965b4d355952b6f7111b983afa656dde81978527b6c3f58b456a36fd7b31

See more details on using hashes here.

File details

Details for the file buttercms_python-2.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for buttercms_python-2.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 236e89da58554ea7ad2e92b4d3204e33901089bc2450e4ed2f22eee67301f5bf
MD5 dbc94459e047031c3fdc88842720feb8
BLAKE2b-256 0aca11655b2d2ad329bd54dbaff47f0376e077a83909ff1364aa0f54e5b2782e

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