2.3.2 Unreleased
2.3.1 2019-07-16
This fixes an issue that arose where in certain cases cloning would hang indefinitely when trying to read content #145.
2.3.0 2019-07-02
Thank you to the following contributors:
- Carol Willing
- Kyle Kelley
- M Pacer
- Matthew Seal
- Safia Abdalla
- Shelby Sturgis
The full list of changes they made can be seen on GitHub
Previously our publishing endpoint was /api/bookstore/published
, it is now /api/bookstore/publish
.
As of 2.3.0 cloning from S3 is now enabled by default.
Cloning allows access to multiple S3 buckets. To use them, you will need to set up your configuration for any such bucket.
We have built out a framework for unit-testing Tornado handlers. In addition, we have added a collection of unit tests that bring us to a coverage level in non-experimental code of well over 80%.
You can identify which features have been enabled and which version of bookstore is available by using the /api/bookstore
endpoint.
All APIs are now documented at our REST API docs using the OpenAPI spec.
To enable access to bookstore publishing and cloning from within a notebook, we have created a Notebook and Bookstore clients. This is still experimental functionality at the moment and needs additional testing, so we discourage its use in production. The design relies on an assumption that a single kernel is attached to a single notebook, and will break if you use multiple notebooks attached to the same kernel.
However, for those who wish to experiment, it offers some fun ways of exploring bookstore.
Example: if you run a notebook from within the top-level bookstore/ci
directory while running the integration test server with yarn test:server
(see more about local integration testing),
you should be able to publish from inside a notebook using the following code snippet:```
from bookstore.client import BookstoreClient
book_store = BookstoreClient()
book_store.publish()
And if you have published your notebook to the local ci (e.g., publishing my_notebook.ipynb
to the minio bookstore
bucket with the ci-published
published prefix), you can clone it from S3 using:
from bookstore.client import BookstoreClient
book_store = BookstoreClient()
book_store.clone("bookstore", "ci-published/my_notebook.ipynb")