wordpress_json
wordpress_json
pypi i wordpress_json
wordpress_json

wordpress_json

Thin Python wrapper for the Wordpress REST API

by stylight

0.3.1 (see all)License:MIT License
pypi i wordpress_json
Readme

python-wordpress-json

.. image:: https://img.shields.io/travis/stylight/python-wordpress-json.svg :target: https://travis-ci.org/stylight/python-wordpress-json

.. image:: https://img.shields.io/pypi/v/wordpress_json.svg :target: https://pypi.python.org/pypi/wordpress_json

Super thin Python wrapper for the Wordpress REST API V2 <http://v2.wp-api.org/> developed by Stylight <http://www.stylight.com/>. Supports the documented read and write endpoints. Extensions and pull requests are encouraged and welcome.

Limitations:

  • doesn't check input parameters
  • returns a single dictionary or a list of dictionaries, depending on the API endpoint
  • only supports basic auth, and it currently cannot be used without authentication

Dependencies:

  • requests
  • six

Installation

::

pip install wordpress-json

Before being able to use this package make sure you configure Wordpress properly.

Wordpress configuration

  1. You need to install the WP-API Plugin. To do so:

    • Go to your Wordpress Dashboard
    • Click on Plugins in the left sidebar
    • Search for "REST API". Install the plugin named "WordPress REST API (Version 2)", by clicking on the "Install" button.
    • Activate the plugin on the next screen.
  2. You need to install and activate the WP REST API Meta Endpoints plugin for the WP-API :

    • Click on Plugins in the left sidebar
    • Click on "Add New" on the top right, next to "Plugin"
    • Search for "WP REST API Meta Endpoints". Install the plugin named "WP REST API Meta Endpoints", by clicking on the "Install" button.
    • Activate the plugin on the next screen.
  3. You need to install and activate the Basic-Auth plugin for the WP-API :

    • download https://github.com/WP-API/Basic-Auth/archive/master.zip
    • Open your Wordpress Admin Dashboard
    • Click on Plugins in the left sidebar
    • Click on "Add New" on the top right, next to "Plugin"
    • Click on "Upload Plugin", Choose File, and select the file you downloaded at step 1 (master.zip)
    • Click on Install Now
    • Activate the plugin on the next screen.
  4. Change permalink configuration to 'Post name' in Permalink Settings.

Usage

.. code-block:: python

>>> wp = WordpressJsonWrapper('http://example.com/wp-json/wp/v2', 'wp_user', 'wp_password')
>>> posts = wp.get_posts()
>>> posts[0].keys()
dict_keys(['format', 'featured_media', 'author', ...])

>>> posts[0].get('title')
{'rendered': 'Tweetle Beetles'}

>>> posts[0].get('content')
{'rendered': '<p>What do you know about tweetle beetles? ...'}

>>> posts[0].get('id')
42

>>> wp.create_meta(post_id=42, data=dict(key='genre', value='fanciful'))

>>> meta = wp.get_meta(post_id=42)
>>> meta[0].get('key')
'genre'

>>> meta[0].get('value')
'fanciful'

.. :changelog:

Release History

0.3.1 (2017-02-22) ++++++++++++++++++

Documentation

  • Fix changelog

0.3.0 (2017-02-22) ++++++++++++++++++

New Features

  • Support non-JSON data in requests

Behavioural Changes

  • Use POST instead of PUT for update requests. This may not work with Wordpress versions below 4.7.
  • Raise an error if the Content-Type on response is not JSON.

0.2.4 (2016-08-17) ++++++++++++++++++

Miscellaneous

  • Remove debug code

0.2.3 (2016-08-17) ++++++++++++++++++

Bugfixes

  • Fix error handling

Documentation

  • Update example usage with correct namespace for v2

0.2.2 (2016-07-22) ++++++++++++++++++

Improvements

  • six and requests libraries not pinned to versions

0.2.1 (2016-07-20) ++++++++++++++++++

Bugfixes

  • Fix syntax errors in README.rst
  • Add missing dependency six to setup.py

Miscellaneous

  • Update authors

0.2.0 (2016-07-20) ++++++++++++++++++

Improvements

  • Update for v2 WP-API

0.1.5 (2015-07-16) ++++++++++++++++++

Bugfixes

  • Include HISTORY.rst in setup.py

0.1.4 (2015-07-16) ++++++++++++++++++

Documentation

  • Fix syntax errors in README.rst and HISTORY.rst

0.1.3 (2015-07-16) ++++++++++++++++++

Improvements

  • Allow raw url parameters to be passed in and used for the API calls

0.1.2 (2015-02-03) ++++++++++++++++++

Improvements

  • Allow headers to be passed in and used for the API calls

Documentation

  • Add HISTORY.rst (this change log)

0.1.1 (2015-01-27) ++++++++++++++++++

Bugfixes

  • Use json parameter instead of data parameter for requests

0.1.0 (2015-01-27) ++++++++++++++++++

  • Birth!
VersionTagPublished
0.3.1
6yrs ago
0.3.0
6yrs ago
0.2.4
6yrs ago
0.2.3
6yrs ago
No alternatives found
No tutorials found
Add a tutorial
No dependencies found

Rate & Review

100
No reviews found
Be the first to rate