Metadata-Version: 2.4
Name: multicontents
Version: 0.5.0
Summary: providing contents from multiple sources in jupyter notebook
Home-page: https://github.com/lydian/multicontents
Author: Lydian Lee
Author-email: lydianly@gmail.com
Maintainer: Lydian Lee
Maintainer-email: lydianly@gmail.com
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: jupyter_server
Requires-Dist: ipykernel
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: maintainer
Dynamic: maintainer-email
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Multicontents
[![Build Status](https://travis-ci.org/lydian/multicontents.svg?branch=master)](https://travis-ci.org/lydian/multicontents)
[![codecov](https://codecov.io/gh/lydian/multicontents/branch/master/graph/badge.svg)](https://codecov.io/gh/lydian/multicontents)

It's intentionally to do things like HybridContentsManager (from pgcontents) which allow setting up multiple sources on jupyter.
With extra features including:
- Support moving data accross different sources
- The package is pretty lightweight, which means you don't need to install extra library if you only want the multi backend support.


## Install
1. install multicontents
```
pip install multicontents
```
2. configure jupyter_notebook_config.py
```
from multicontents import MultiContentsManager
from IPython.html.services.contents.filemanager import FileContentsManager
from s3contents import S3ContentsManager

c.NotebookApp.contents_manager_class = MultiContentsManager
c.MultiContentsManager.managers = {
    "home": {
        "manager_class": FileContentsManager,
        "kwargs": {
            "root_dir": os.environ["HOME"]
        },
    },
    "s3": {
        "manager_class": S3ContentsManager,
        "kwargs": {
            "bucket": "example-bucket",
            "prefix": "path/to/notebooks",
        },
    },
}
```

## Develoop
1. clone the repo:
```git clone git@github.com:lydian/multicontents.git```
2. run testing with ```make server```
3. You can modify example config file for testing

I'll try my best to do CR pull request!


