rgbkrk / bookstore

:books: IPython notebook storage on OpenStack clouds
Apache License 2.0
58 stars 8 forks source link

Make bookstore work with new IPy2 notebook manager #7

Closed andreabedini closed 5 years ago

andreabedini commented 10 years ago

Hi @rgbkrk, if you don't mind I am opening this to track what needs to be done.

IPEP 16: Notebook multi directory dashboard and URL mapping

Use the source luke! base class minimal implementation

Staying with OpenStack, do you think we can use object versioning for checkpoints?

rgbkrk commented 10 years ago

I don't mind at all. Thanks for bringing this up and motivating it!

Staying with OpenStack, do you think we can use object versioning for checkpoints?

I'm not opposed to it, but I've never used it so I have a series of questions:

andreabedini commented 10 years ago

andreabedini/bookstore@fff67f6bd2b7441939626ccadfcb601d98e34623 is the result of my day of hacking.

As it is always the case, I ended up heavily mistreating the code. I removed pyrax dependency because I couldn't get it to work correctly with the pseudo-folder semantic. So I switched to using python-swiftclient directly. It is simple enough that pyrax feels like an unneeded middle layer.

As a result the rackspace authentication now doesn't work but I'll add it back soon. Keystone authentication works.

The changes to IPython's NotebookManager are extensive so I have rewritten most the the methods basing on the example minimal implementation.

There is one funny decision that I made. The notebook manager ... doesn't support directories :) All methods accept (name, path) combinations and work (presumably) fine but I made list_dirs always return an empty list. There's no api to create folders and the object store has no folders either, so this is just a net simplification. The user can of course use different containers to organise notebooks.

Checkpoints are implemented like folders Untitled0.ipynb/a37bc8cb-5fb7-406e-aca4-2f90583ad920.

This is totally WIP. I removed a lot of checks here and there and I need to make sure metadata (like last modified time) is correct. Also it doesn't store the notebook creation date.

Let me know what you think and if you want to go down this way.

andreabedini commented 10 years ago

hey there, still interested in my work? no drama at all if not, I only need to know if I should try to finish the rackspace authentication.

rgbkrk commented 10 years ago

hey there, still interested in my work?

Absolutely! Thanks for bumping this thread.

If you open a PR with your commits, we can review it there.