quantopian / pgcontents

A Postgres-backed ContentsManager implementation for Jupyter
Apache License 2.0
150 stars 83 forks source link

Shared Notebooks? #23

Closed jlmcgehee21 closed 8 years ago

jlmcgehee21 commented 8 years ago

I am working on a JupyterHub setup which currently has private user notebooks and shared notebooks via https://github.com/danielballan/nbexamples.

I would love to move to a better persistence method, and this repo looks promising, but after a brief once-over I'm not seeing a built in way to have a set of shared notebooks. Is this possible?

ssanderson commented 8 years ago

@jlmcgehee21 there isn't a built-in solution for shared notebooks. (At Quantopian where I'm deploying pgcontents, we're using a custom sharing setup that integrates with our forums)

It looks like nbexamples is writing directly to disk, so I don't think it would work with pgcontents out of the box. If you wanted to use their UI, what you'd probably have to do is work with the nbexamples developers to figure out a stable interface for sharing notebooks (e.g. a backend needs to implement create, list, delete, etc.), refactor what they have to use a FilesystemSharedNotebooks, and then implement a PostgresSharedNotebooks using the a PostgresContentsManager.

This is more or less the relationship that pgcontents has with the built-in jupyter notebook contents system (down to the fact that we test using subclasses of Jupyer's filesystem-based tests)

jlmcgehee21 commented 8 years ago

@ssanderson Thanks for the great info, that's the impression that I was getting digging through the source of both projects...