Skip to main content

callisto

codecov build

logo

A jupyter notebook viewer that has the following features:

  • Use ContentsManager as content provider. Therefore it is completely work with any of your jupyterhub settings.
  • Showing Table of Contents for quickly reference to your notebook
  • Directly import the notebook to your jupyterhub server.

Getting Started

  1. Install the package:
pip install callisto-nbviewer
  1. start the server:
callisto start --port 5000
  1. Visit website localhost:5000

screenshot-list screenshot-notebook

Configuration

You can use your own config to customize callisto. see example on tests/fixtures/config.py

ontents_manager_cls = "s3contents.S3ContentsManager"
# `contents_manager_cls` can be string or ContentsManger class
# You can use any existing ContentsManager to load data.
# If the value is not set, the default would be FileContentsManager
# and will serve contents on current working directory


contents_manager_kwargs = {
    "bucket": "test-bucket",
    "access_key_id": "testing",
    "secret_access_key": "testing",
    "endpoint_url": "http://localhost:3000"
}
# [Optional] `contents_manager_kwargs` is a dict of kwargs to configure the required settings
# for whatever ContentsManager you choose.


jupyterhub_base_url = "https://jupyterhub.example.com"
# [Optional] `jupyterhub_base_url` if set, you can import the notebook directly to your jupyterhub server
# This is the base url to your jupyterhub.

import_link_with_hubshare_preview = True
# [Optional] `import_link_with_hubshare_preview`: if you have installed jupyterlab-hubshare plugin,
# You can use this link to show preview on your notebook server


import_link_func = lambda path: "prefix/" + path
# [Optional] `import_link_func` is a function in that takes the current path as an input,
# You can do any magic to update the final path in case the path on the site is different
# from the path on jupyterhub.

and then start callisto with

callisto --config my_callisto_config.py

Config for different contents manager

Local File

contents_manager_cls = "managerjupyter_server.services.contents.filemanager.FileContentsManager"
contents_manager_kwargs = {"root_dir": "/absolute/path/to/your/notebook/folder"}

S3

Note that s3contents seems to be fetching the directory last_modified time, and is very slow. Therefore I make a work around file in callisto.contents_managers.s3.SimplifiedS3ContentsManager class please take a look on the settings.

contents_manager_cls = "callisto.contents_managers.s3.SimplifiedS3ContentsManager"
contents_manager_kwargs = {
    "bucket": "my-s3-bucket",
    "prefix": "prefix/to/your/notebook/folder",
    "aws_access_key_id": "my_access_key",
    "aws_secret_access_key": "my_secret_access_key",
}

if your file s3 doesn't contains a lot of folders, you can still use s3contents (please ensure you also install s3contents)

contents_manager_cls = "s3contents.S3ContentsManager"
contents_manager_kwargs = {
    "bucket": "my-s3-bucket",
    "prefix": "prefix/to/your/notebook/folder",
}

for more settings, please refer to: s3contents

Development

to start a dev version, download the git repo:

git clone https://github.com/lydian/callisto.git

and run

cd callisto
make start-dev

The dev server will running on http://localhost:5001

Release files for callisto-nbviewer 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for callisto-nbviewer 1.0.2
File Size Uploaded
callisto-nbviewer-1.0.2.tar.gz 1.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for callisto-nbviewer 1.0.2
File Interpreter ABI Platform
callisto_nbviewer-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 3.4 MB

Release files / callisto-nbviewer-1.0.2.tar.gz

Download URL callisto-nbviewer-1.0.2.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
d6864594debdb141c4c2db907480b086b34e3609a6c50ec0c8e7b08bb123e181
BLAKE2b-256 checksum
How to use checksums
81c505a55399e29b040bfb9c999c2b168fbe56b449393bc9ddb6e31a4af7e289
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

Release files / callisto_nbviewer-1.0.2-py3-none-any.whl

Download URL callisto_nbviewer-1.0.2-py3-none-any.whl
Size 1.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
625cd6aafbb945b6414e6136fdc484badae54e24fa2d9eea6b0adcfd77ea7630
BLAKE2b-256 checksum
How to use checksums
d4d803a685744bf5c5096a56771ca67c4cfae29f9d6d9dcea730354eb56d5e80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page