This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

Stores IPython notebooks automagically onto OpenStack clouds through Swift.

Add your provider with a pull request!

Note: Bookstore requires IPython 1.0+

Bookstore currently has generic support for OpenStack Swift and simplified authentication for Rackspace’s CloudFiles. Bookstore also handles IPython notebook’s autosave/checkpoint feature and as of the latest release supports multiple checkpoints:

Once installed and configured (added to an ipython profile), just launch IPython notebook like normal:

$ ipython notebook
2013-08-01 13:44:19.199 [NotebookApp] Using existing profile dir: u'/Users/rgbkrk/.ipython/profile_default'
2013-08-01 13:44:25.384 [NotebookApp] Using MathJax from CDN: http://cdn.mathjax.org/mathjax/latest/MathJax.js
2013-08-01 13:44:25.400 [NotebookApp] Serving rgbkrk's notebooks on Rackspace CloudFiles from container: notebooks
2013-08-01 13:44:25.400 [NotebookApp] The IPython Notebook is running at: http://127.0.0.1:9999/
2013-08-01 13:44:25.400 [NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

Installation

Simply:

$ pip install bookstore

Alternatively, you can always pull from the master branch if you’re the adventurous type:

$ pip install git+https://github.com/rgbkrk/bookstore.git

Installation isn’t the end though. You need to configure your account details as well as where you’ll be storing the notebooks.

Configuration

Bookstore has to be added to an IPython profile and configured to work with your OpenStack provider.

If you want to keep it simple, just add your configuration to the default configuration located at:

~/.ipython/profile_default/ipython_notebook_config.py

Alternatively, you can create a brand new notebook profile for bookstore:

$ ipython profile create swiftstore
[ProfileCreate] Generating default config file: u'/Users/theuser/.ipython/profile_swiftstore/ipython_config.py'
[ProfileCreate] Generating default config file: u'/Users/theuser/.ipython/profile_swiftstore/ipython_notebook_config.py'

When launching, just set the custom profile you want to use

$ ipython notebook --profile=swiftstore

Each provider has their own setup for authentication.

On OpenStack Swift using Keystone Authentication

OpenStack (generic, non provider specific) has quite a few details you’ll need to configure, namely account name, account key, auth endpoint, and region. You’ll possibly need a tenant id and a tenant name.

Add this to your ipython notebook profile ipython_notebook_config.py, making sure it comes after the config declaration c = get_config().

# Setup IPython Notebook to write notebooks to a Swift Cluster
# that uses Keystone for authentication
c.NotebookApp.notebook_manager_class = 'bookstore.swift.KeystoneNotebookManager'

# Account details for OpenStack
c.KeystoneNotebookManager.account_name = USER_NAME
c.KeystoneNotebookManager.account_key = API_KEY
c.KeystoneNotebookManager.auth_endpoint = u'127.0.0.1:8021'
c.KeystoneNotebookManager.tenant_id = TENANT_ID
c.KeystoneNotebookManager.tenant_name = TENANT_NAME
c.KeystoneNotebookManager.region = 'RegionOne'

# Container on OpenStack Swift
c.KeystoneNotebookManager.container_name = u'notebooks'

On Rackspace’s CloudFiles

The Rackspace CloudFileNotebookManager simply needs your USER_NAME and API_KEY. You can also configure the region to store your notebooks (e.g. 'SYD', 'ORD', 'DFW', 'LON'). Note: If you’re using Rackspace UK, set your region to 'LON'.

Add this to your ipython notebook profile ipython_notebook_config.py, making sure it comes after the config declaration c = get_config().

# Setup IPython Notebook to write notebooks to CloudFiles
c.NotebookApp.notebook_manager_class = 'bookstore.cloudfiles.CloudFilesNotebookManager'

# Set your user name and API Key
c.CloudFilesNotebookManager.account_name = USER_NAME
c.CloudFilesNotebookManager.account_key = API_KEY

# Container on CloudFiles
c.CloudFilesNotebookManager.container_name = u'notebooks'

Contributing

Send a pull request on GitHub. It’s that simple. More than happy to respond to issues on GitHub as well.

Release History

Release History

1.0.0

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0rc2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0rc1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.4a

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.3a

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.2a

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.1a

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
bookstore-1.0.0-py2.py3-none-any.whl (18.1 kB) Copy SHA256 Checksum SHA256 2.7 Wheel Sep 26, 2013
bookstore-1.0.0.tar.gz (13.1 kB) Copy SHA256 Checksum SHA256 Source Sep 26, 2013

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development 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