Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Python client library for Box View API

Project Description

Python client library for Box View API

Installation

The easiest way to install the latest version is by using pip/easy_install to pull it from PyPI:

pip install python-boxview

You may also use Git to clone the repository from Github and install it manually:

git clone https://github.com/caxap/python-boxview.git
python setup.py install

Authentication

Box View API uses token-based authentication. You need create application and generate api token at Box Developes Portal. Then use the token to create instance

from boxview import boxview

api = boxview.BoxView('<your box view api key>')

Alternatively, token can be set by environment variable BOX_VIEW_API_KEY.

Usage

python-boxview supports all methods from Box View API. List of methods and parameters description can be found here

import os
from boxview import boxview

api = boxview.BoxView('<your box view api key>')

# upload file to create new document
doc = api.create_document(file='python-boxview.pdf', name='python-boxview')

# create new document from public url
doc = api.create_document(url='https://cloud.box.com/shared/static/4qhegqxubg8ox0uj5ys8.pdf')

doc_id = doc['id']

# retrieve existings document
doc1 = api.get_document(doc_id)

# list all uploaded documents for your api key
all_docs = api.get_documents(limit=10)

# update name of existing document
doc1 = api.update_document(doc_id, name='python-boxview')

# check that document ready to view
bool(api.ready_to_view(doc_id))

# start view session for document
session = api.create_session(doc_id, duration=300)

ses_id = session['id']

# get link to box viewer
api.get_session_url(ses_id)

# retrieve original document content to string
content, mimetype = api.get_document_content_to_string(doc_id)
len(content)

# retrieve pdf version of document to file
api.get_document_content_to_file('python-boxview.pdf', doc_id, extension='.pdf')
os.path.exists('python-boxview.pdf')

# retrieve mimetype of original document content
mimetype = api.get_document_content_mimetype(doc_id)

# create webhook
api.create_webhook('http://example.com/my-webhook')

# create S3 storage profile
api.create_storage_profile('S3', 'super-awesome-bucket', 'AKIAIOSFODNN7EXAMPLE', 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY')

# and delete document
api.delete_document(doc_id)

Dealing with Rate Limiting

import time
from boxview import boxview

api = boxview.BoxView('<your box view api key>')

document_id = '2da6cf9261824fb0a4fe532f94d14625'
retry, max_retry = 0, 3
while True:
    try:
        api.get_thumbnail_to_file('thumbnail_100x100.png', document_id, 100, 100)
        break  # ok, thumbnail saved
    except boxview.RetryAfter as e:
        retry += 1
        if retry <= max_retry:
            time.sleep(e.seconds) # waiting for next call
        else:
            raise  # failed after `max_retry` attempts, exit with exception

License

The MIT License (MIT)

Contributed by Maxim Kamenkov

Release History

Release History

This version
History Node

1.2.2

History Node

1.2.1

History Node

1.2.0

History Node

1.1.3beta1

History Node

1.1.2beta1

History Node

1.1.1beta1

History Node

1.1.0beta1

History Node

1.0.3

History Node

1.0.2

History Node

1.0.1

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
python-boxview-1.2.2.tar.gz (9.0 kB) Copy SHA256 Checksum SHA256 Source Oct 29, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting