This enables adds a new feature to bookstore cloning from s3, cloning specific versions of notebooks from versioned s3 buckets.
Specifically, it introduces the s3_version_id
query parameter to the /bookstore/clone/
GET handler.
So if you wanted to clone a specific version myVersion
of /workspace/my_notebook.ipynb
from the my_bucket
S3 bucket,
you would change the route from something like
http://localhost:8888/bookstore/clone?s3_bucket=my_bucket&s3_key=workspace/my_notebook.ipynb
to
This switches the bookstore serverextension and landing page from using absolute urls to relative paths.
2.4.1 2019-08-6
This improves the landing page experience with a cleaner and clearer landing page design.
2.4.0 2019-08-5
Thank you to the following contributors:
- Carol Willing
- M Pacer
- Peter Volpe
The full list of changes they made can be seen on GitHub
As of 2.4.0 cloning from a local or network attached file system is now possible, but disabled by default.
To enable this filesystem (fs
) cloning, set BookstoreSettings.fs_cloning_basedir
to the root directory from which you want people to be able to clone.
Adding fs cloning offers users more flexibility to clone notebooks from attached filesystems, like EFS. For more information about the motivation and design of this endpoint, please see this issue.
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")