Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to use bookstore? #180

Open
groodt opened this issue May 8, 2020 · 7 comments
Open

How to use bookstore? #180

groodt opened this issue May 8, 2020 · 7 comments
Labels
question Further information is requested

Comments

@groodt
Copy link

groodt commented May 8, 2020

This is more of a question really.

How is bookstore actually used?

I've got bookstore installed into plain jupyter (not nteract). It's saving my notebooks to S3.

How does the clone and publish functionality work? I would love some screenshots from somebody about what it all should look like.

:)

@groodt
Copy link
Author

groodt commented May 8, 2020

I've realised I can do this so far by reading this page:
https://bookstore.readthedocs.io/en/latest/openapi.html

Manually create a browser url to do this (with setting up a fs_cloning_basedir):
http://127.0.0.1:8888/bookstore/fs-clone?relpath=Notebook.ipynb

Manually create a browser url to do this:
http://127.0.0.1:8888/bookstore/clone?s3_bucket=somebucket& s3_key=/Notebook.ipynb

Is this the intended workflow or am I missing something something more obvious?

I guess it's a way for me to share a notebook with a colleague by giving them a url so they can clone it into their own workspace?

@groodt
Copy link
Author

groodt commented May 8, 2020

For the life of me, I can't work out how to initiate the publish operation. I can see the serverextension enabled, but nowhere in the UI to initiate it. I'm guessing I don't manually create an HTTP PUT to the API.

@groodt
Copy link
Author

groodt commented May 8, 2020

Ok, I've since realised publish is only intended to work with nteract_on_jupyter.

Unfortunately, this doesn't work due to:
nteract/nteract#5088

@captainsafia
Copy link
Member

Great question! The docs assume some familiarity with Jupyter's concept of a server extension so I'll use this extension as an opportunity to explore further.

The contents of this repo expose the API endpoints for bookstore's functionality, as you alluded here.

The expectation is that the Jupyter application that uses the server extension will implement the UI. nteract_on_jupyter supports this currently, but other UIs like JupyterLab and Classic can do the same in their own UI.

In an ideal world, this bookstore package would come with client-side extensions for Classic and Lab so that users can easily leverage the API in those places.

@MSeal @rgbkrk Do you know if there are any UI extensions for bookstore in classic/Lab?

@MSeal MSeal added the question Further information is requested label May 12, 2020
@MSeal
Copy link
Member

MSeal commented May 12, 2020

Sorry for the late reply, it's been a busy couple weeks. Overall bookstore mostly provides to API and not UI components as @captainsafia pointed out. The work wasn't really done to make UI extensions widely available.

I am less familiar with what we did in classic internally, but we added a hook on checkpoint with bookstore to save all it's checkpoints out to S3. There's a separate interface we use to retrieve / restore versions but it's not really ready for open source use and the developer who was working on that has been focused on other projects.

Unfortunately the classic UI has been mostly in keep-the-lights-on mode for a long time since lab was developed so it's not super amendable to clean extension patterns. Hence one of the reasons nteract components was made. In lab you're more likely to get active participation / help with integration if someone hasn't already done it.

@groodt
Copy link
Author

groodt commented May 12, 2020

Thanks for the information.

I do think it could be made a bit clearer that bookstore requires some UI extensions to provide a UI to users.

It's a shame the currently published version of nteract_on_jupyter doesn't work with bookstore.

Hopefully it will be possible to create a custom build that works with bookstore after this issue is merged nteract/nteract#5098

I've looked around for a JupyterLab extension for bookstore, but couldn't find anything obvious. I'll look into what it would take to create something.

@MSeal
Copy link
Member

MSeal commented May 12, 2020

Thanks that'd be very helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants