Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on Apr 5, 2025. It is now read-only.

coffeepenbit/bookstack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bookstack

A Python wrapper for BookStack's API

Current version: 0.2.0-post1

Installation

To install bookstack, run:

pip install bookstack

Setup

To use BookStack's API, you'll need to get a token ID and secret.

You can find how to get these values from your BookStack instance's doc page at http[s]://<example.com>/api/docs

Note: Your account's user group must have API usage priveleges enabled.

Usage

Once you've acquired your token ID and secret, you're ready to rock.

>>> import bookstack

# Input the appropriate values for these three variables
>>> base_url = 'http[s]://<example.com>'
>>> token_id = '<token_id>'
>>> token_secret = '<token_secret>'

>>> api = bookstack.BookStack(base_url, token_id=token_id, token_secret=token_secret)

This wrapper dynamically generates its API calls at runtime. To have the wrapper generate the methods, use:

>>> api.generate_api_methods()

>>> api.available_api_methods
{'get_books_export_pdf', 'get_shelves_list', 'post_books_create', 'get_docs_display', 'delete_shelves_delete', 'get_books_list', 'get_docs_json', 'delete_books_delete', 'get_books_read', 'get_shelves_read', 'put_books_update', 'get_books_export_plain_text', 'get_books_export_html', 'post_shelves_create', ...}

The above are then the methods available to you, for example:

>>> books_list = api.get_books_list()
>>> books_list['data'][0]['name']
'Mathematics'

And to POST you can follow this example:

>>> api.post_books_create({'name': 'Sample Book', 'description': 'Sample Description', 'tags': [{ 'name': 'Sample-Name', 'value': 'Sample-Value' }] })
Morty Proxy This is a proxified and sanitized view of the page, visit original site.