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

replacing ContentsManager #7

Open
telamonian opened this issue Feb 28, 2020 · 3 comments
Open

replacing ContentsManager #7

telamonian opened this issue Feb 28, 2020 · 3 comments
Labels
Milestone

Comments

@telamonian
Copy link
Collaborator

telamonian commented Feb 28, 2020

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++

  • cppfs
    • pro: we could write all of our filesystem backends in C++
    • con: we probably shouldn't

PHP

  • flysystem
    • Sadly, by far the best supported virtual filesystem library out there is 100% PHP, which is a bummer. Has a whole bunch of different filesystem implementations
@telamonian
Copy link
Collaborator Author

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
Copy link
Collaborator

timkpaine commented Feb 28, 2020

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

@telamonian telamonian added this to the reference milestone Feb 28, 2020
@timkpaine
Copy link
Collaborator

@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

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

No branches or pull requests

2 participants