jpmorganchase / jupyter-fs

A filesystem-like contents manager for multiple backends in Jupyter
Apache License 2.0
201 stars 36 forks source link

replacing ContentsManager #7

Open telamonian opened 4 years ago

telamonian commented 4 years ago

Instead of trying to hack notebook's existing ContentsManager, we should replace it with something more flexible, based upon a more general notion of what "content" is. There are a number of popular projects on github that all have the aim of creating a spec for a virtual filesystem-ish thing. We should use one of the extant python options and/or take inspiration from the following:

Python

C++

PHP

telamonian commented 4 years ago

I'm not fully convinced that any of these do everything a jupyter contents layer needs, and I assume they all do a lot of stuff we don't need. I think the main thing to learn from these is what a truly minimal filesystem spec actually looks like

timkpaine commented 4 years ago

I'm not fully convinced that any of these do everything a jupyter contents layer needs, and I assume they all do a lot of stuff we don't need

Yep definitely. In this vein, some things that a filesystem doesn't necessarily do e.g. version control, you'd want a Jupyter filesystem to be aware of

timkpaine commented 4 years ago

@telamonian this should help us start to answer some questions. A very rough cut, but illustrates how much pyfilesystem offers on top: https://github.com/timkpaine/multicontentsmanager/blob/cleanup/multicontentsmanager/pyfilesystem_manager.py#L13