Skip to main content

ElasticNotebookのライブラリ版

Project description

ElasticNotebook

Welcome to ElasticNotebook! ElasticNotebook is a checkpoint/restore tool for Jupyter Notebook sessions, which uses a novel live migration mechanism that is reliable, efficient, and platform-independent.

Getting Started

カレントディレクトリにダウンロードせずライブラリとして使う方法

pip install elastic-notebook-slim

ソースコードをローカルのカレントディレクトリにダウンロードして使う方法

git clone https://github.com/MRyutaro/elastic_notebook_slim.git
pip install ./elastic_notebook_slim

Project Structure

elastic-notebook
│   ElasticNotebook.py                     ## top-level cell magic
│───algorithm
│   │───baseline.py                        ##  Migrate/recompute all baselines
│   │───optimizer_exact.py                 ##  Replication plan generation via min-cut reduction (Section 5.3)
│   └───selector.py                        ##  Optimizer base class
└───core
    │───common
    │   │───checkpoint_file.py             ## Struct of ElasticNotebook's checkpoint file
    │   │───profile_graph_size.py          ## Size estimator for ElasticNotebook's Application History Graph
    │   │───profile_migration_speed.py     ## Profiler for network bandwidth
    │   └───profile_variable_size.py       ## Profiler for variable size
    │───graph
    │   │───cell_execution.py              ## Data structure for Cell Executions
    │   │───graph.py                       ## ElasticNotebook's Application History Graph (Section 4.1)
    │   └───variable_snapshot.py           ## Data strcutre for Variable Snapshots
    │───io
    │   │───adapter.py                     ## File writer base class
    │   │───filesystem_adapter.py          ## Writer for writing checkpoint file to NFS
    │   │───migrate.py                     ## Helper for creating checkpoint file
    │   │───pickle.py                      ## Helper for variable serializability detection
    │   └───recover.py                     ## Helper for unpacking checkpoint file
    │───mutation
    │   │───fingerprint.py                 ## Helper for detecting variable modifications via ID graph and object hash
    │   │───id_graph.py                    ## ID graph construction and comparison (Section 4.2)
    │   └───object_hash.py                 ## Object hash construction and comparison (Section 4.2)
    └───notebook
        │───checkpoint.py                  ## Line magic for checkpointing notebook session (Section 3.2)
        │───find_input_vars.py             ## AST analysis module for finding input variables
        │───find_output_vars.py            ## Helper for finding created/deleted variables via namespace difference
        │───restore_notebook.py            ## Line magic for restoring notebook session (Section 3.2)
        └───update_graph.py                ## Helper for updating Application History Graph

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elastic_notebook_slim-0.0.2.tar.gz (26.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elastic_notebook_slim-0.0.2-py3-none-any.whl (34.5 kB view details)

Uploaded Python 3

File details

Details for the file elastic_notebook_slim-0.0.2.tar.gz.

File metadata

  • Download URL: elastic_notebook_slim-0.0.2.tar.gz
  • Upload date:
  • Size: 26.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for elastic_notebook_slim-0.0.2.tar.gz
Algorithm Hash digest
SHA256 049fba5305125bc7bcd9b0e18d87fdd9a3652d09d65bfece60062803029ea225
MD5 89143e3e90b47914bf1c24e7c5194611
BLAKE2b-256 5b632daffb36b750ecab090ffab5ca0cc4fabe81c258058ef1b87780e98165b0

See more details on using hashes here.

File details

Details for the file elastic_notebook_slim-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for elastic_notebook_slim-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 539b19ab0e641e08d12df02cd59644de37c877f152c03821fe8b39a2d88e0ea9
MD5 d8dbe1f1904762c02b6326e80b52919a
BLAKE2b-256 50666c870b63aa231af687ad1bb227037066f7a30baf5702bd638520d301b4b5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page