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.3.tar.gz (26.1 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.3-py3-none-any.whl (34.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: elastic_notebook_slim-0.0.3.tar.gz
  • Upload date:
  • Size: 26.1 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.3.tar.gz
Algorithm Hash digest
SHA256 bc47cb2f332b669f6b7e19a33ea2426d8b426bcf6465134a447734db4070ced9
MD5 6e701dfa34405d03bcaeb49821fddfa4
BLAKE2b-256 e5f2d6297c83d3deb4972c314558ae6a10b4d10ba19780afd6ca5f5cc9f6c19b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for elastic_notebook_slim-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0d4fe3ee1c4ccecdbe06feb1e423bd63829a5fe90ece0449e91654b0f2d76b33
MD5 b8c87f2603319301f5c23ba40872121e
BLAKE2b-256 950abc034cd1cddad267f3368fa089122a7cbd5b46ec0d09ee3424c7df742b04

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