# Multicontents
[](https://travis-ci.org/lydian/multicontents)
[](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!
Raw data
{
"_id": null,
"home_page": "https://github.com/lydian/multicontents",
"name": "multicontents",
"maintainer": "Lydian Lee",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "lydianly@gmail.com",
"keywords": null,
"author": "Lydian Lee",
"author_email": "lydianly@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/29/ce/a82b36502c83f52b718b1af51214e3094b9a95ebca4e2e4c8f5b89e2956b/multicontents-0.4.0.tar.gz",
"platform": null,
"description": "# Multicontents\n[](https://travis-ci.org/lydian/multicontents)\n[](https://codecov.io/gh/lydian/multicontents)\n\nIt's intentionally to do things like HybridContentsManager (from pgcontents) which allow setting up multiple sources on jupyter.\nWith extra features including:\n- Support moving data accross different sources\n- The package is pretty lightweight, which means you don't need to install extra library if you only want the multi backend support.\n\n\n## Install\n1. install multicontents\n```\npip install multicontents\n```\n2. configure jupyter_notebook_config.py\n```\nfrom multicontents import MultiContentsManager\nfrom IPython.html.services.contents.filemanager import FileContentsManager\nfrom s3contents import S3ContentsManager\n\nc.NotebookApp.contents_manager_class = MultiContentsManager\nc.MultiContentsManager.managers = {\n \"home\": {\n \"manager_class\": FileContentsManager,\n \"kwargs\": {\n \"root_dir\": os.environ[\"HOME\"]\n },\n },\n \"s3\": {\n \"manager_class\": S3ContentsManager,\n \"kwargs\": {\n \"bucket\": \"example-bucket\",\n \"prefix\": \"path/to/notebooks\",\n },\n },\n}\n```\n\n## Develoop\n1. clone the repo:\n```git clone git@github.com:lydian/multicontents.git```\n2. run testing with ```make server```\n3. You can modify example config file for testing\n\nI'll try my best to do CR pull request!\n\n\n\n\n",
"bugtrack_url": null,
"license": null,
"summary": "providing contents from multiple sources in jupyter notebook",
"version": "0.4.0",
"project_urls": {
"Homepage": "https://github.com/lydian/multicontents"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3dd81bbf2871d86ca3421ab58caeb15e4f3dd3fc8c51773cabb9387f0483725b",
"md5": "0de17f6a2eb3b9ef5af9b4c8c2c26312",
"sha256": "7300fadc92a2a7e655253b27540178f1f249b59af3b2bca3e270f359c7b3edd3"
},
"downloads": -1,
"filename": "multicontents-0.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0de17f6a2eb3b9ef5af9b4c8c2c26312",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 13265,
"upload_time": "2024-04-25T17:34:33",
"upload_time_iso_8601": "2024-04-25T17:34:33.184726Z",
"url": "https://files.pythonhosted.org/packages/3d/d8/1bbf2871d86ca3421ab58caeb15e4f3dd3fc8c51773cabb9387f0483725b/multicontents-0.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "29cea82b36502c83f52b718b1af51214e3094b9a95ebca4e2e4c8f5b89e2956b",
"md5": "83419062cd43485240625aaabfbe8875",
"sha256": "c18b0ac4f1cb9b5568871ec162226ef7db31a0cd122c1baf2cc0730cec8c1e5b"
},
"downloads": -1,
"filename": "multicontents-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "83419062cd43485240625aaabfbe8875",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 7156,
"upload_time": "2024-04-25T17:34:35",
"upload_time_iso_8601": "2024-04-25T17:34:35.119505Z",
"url": "https://files.pythonhosted.org/packages/29/ce/a82b36502c83f52b718b1af51214e3094b9a95ebca4e2e4c8f5b89e2956b/multicontents-0.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-25 17:34:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "lydian",
"github_project": "multicontents",
"travis_ci": true,
"coveralls": false,
"github_actions": true,
"requirements": [],
"tox": true,
"lcname": "multicontents"
}