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})
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'})
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 therecent_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'})
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 therecent_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'})
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 therecent_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'})
Feeds
client.feeds.get('rss')
client.feeds.get('atom')
client.feeds.get('sitemap')
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
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 buttercms_python-2.1.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 236e89da58554ea7ad2e92b4d3204e33901089bc2450e4ed2f22eee67301f5bf |
|
MD5 | dbc94459e047031c3fdc88842720feb8 |
|
BLAKE2b-256 | 0aca11655b2d2ad329bd54dbaff47f0376e077a83909ff1364aa0f54e5b2782e |