All Projects → nteract → Bookstore

nteract / Bookstore

Licence: bsd-3-clause
📚 Notebook storage and publishing workflows for the masses

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Bookstore

Data Science Your Way
Ways of doing Data Science Engineering and Machine Learning in R and Python
Stars: ✭ 530 (+227.16%)
Mutual labels:  data-science, notebook
Machine Learning From Scratch
Succinct Machine Learning algorithm implementations from scratch in Python, solving real-world problems (Notebooks and Book). Examples of Logistic Regression, Linear Regression, Decision Trees, K-means clustering, Sentiment Analysis, Recommender Systems, Neural Networks and Reinforcement Learning.
Stars: ✭ 42 (-74.07%)
Mutual labels:  data-science, notebook
Nteract
📘 The interactive computing suite for you! ✨
Stars: ✭ 5,713 (+3426.54%)
Mutual labels:  data-science, notebook
Spark Notebook
Interactive and Reactive Data Science using Scala and Spark.
Stars: ✭ 3,081 (+1801.85%)
Mutual labels:  data-science, notebook
Spark Py Notebooks
Apache Spark & Python (pySpark) tutorials for Big Data Analysis and Machine Learning as IPython / Jupyter notebooks
Stars: ✭ 1,338 (+725.93%)
Mutual labels:  data-science, notebook
Quantitative Notebooks
Educational notebooks on quantitative finance, algorithmic trading, financial modelling and investment strategy
Stars: ✭ 356 (+119.75%)
Mutual labels:  data-science, notebook
Lambdaschooldatascience
Completed assignments and coding challenges from the Lambda School Data Science program.
Stars: ✭ 22 (-86.42%)
Mutual labels:  data-science, notebook
Jupyterlab templates
Support for jupyter notebook templates in jupyterlab
Stars: ✭ 223 (+37.65%)
Mutual labels:  data-science, notebook
Starcraft2 Replay Analysis
A jupyter notebook that provides analysis for StarCraft 2 replays
Stars: ✭ 90 (-44.44%)
Mutual labels:  data-science, notebook
Jupytemplate
Templates for jupyter notebooks
Stars: ✭ 85 (-47.53%)
Mutual labels:  data-science, notebook
Polyaxon
Machine Learning Platform for Kubernetes (MLOps tools for experimentation and automation)
Stars: ✭ 2,966 (+1730.86%)
Mutual labels:  data-science, notebook
Spark R Notebooks
R on Apache Spark (SparkR) tutorials for Big Data analysis and Machine Learning as IPython / Jupyter notebooks
Stars: ✭ 109 (-32.72%)
Mutual labels:  data-science, notebook
Ipython
Official repository for IPython itself. Other repos in the IPython organization contain things like the website, documentation builds, etc.
Stars: ✭ 15,107 (+9225.31%)
Mutual labels:  data-science, notebook
D2l Vn
Một cuốn sách tương tác về học sâu có mã nguồn, toán và thảo luận. Đề cập đến nhiều framework phổ biến (TensorFlow, Pytorch & MXNet) và được sử dụng tại 175 trường Đại học.
Stars: ✭ 402 (+148.15%)
Mutual labels:  data-science, notebook
Cjworkbench
The data journalism platform with built in training
Stars: ✭ 244 (+50.62%)
Mutual labels:  data-science, notebook
Ipython Dashboard
A stand alone, light-weight web server for building, sharing graphs created in ipython. Build for data science, data analysis guys. Aiming at building an interactive visualization, collaborated dashboard, and real-time streaming graph.
Stars: ✭ 664 (+309.88%)
Mutual labels:  data-science, notebook
Machinelearningnotebooks
Python notebooks with ML and deep learning examples with Azure Machine Learning Python SDK | Microsoft
Stars: ✭ 2,790 (+1622.22%)
Mutual labels:  data-science, notebook
Data Science Notebook
📖 每一个伟大的思想和行动都有一个微不足道的开始
Stars: ✭ 196 (+20.99%)
Mutual labels:  data-science, notebook
Allstate capstone
Allstate Kaggle Competition ML Capstone Project
Stars: ✭ 72 (-55.56%)
Mutual labels:  data-science, notebook
D2l En
Interactive deep learning book with multi-framework code, math, and discussions. Adopted at 300 universities from 55 countries including Stanford, MIT, Harvard, and Cambridge.
Stars: ✭ 11,837 (+7206.79%)
Mutual labels:  data-science, notebook

bookstore 📚

Documentation Status Build Status CircleCI Codecov

bookstore 📚 provides tooling and workflow recommendations for storing 💿, scheduling 📆, and publishing 📖 notebooks.

The full documentation is hosted on ReadTheDocs.

How does bookstore work

Automatic Notebook Versioning

Every save of a notebook creates an immutable copy of the notebook on object storage.

To simplify implementation, we currently rely on S3 as the object store, using versioned buckets.

Storage Paths

All notebooks are archived to a single versioned S3 bucket with specific prefixes denoting the lifecycle of the notebook:

  • /workspace - where users edit
  • /published - public notebooks (to an organization)

Each notebook path is a namespace that an external service ties into the schedule. We archive off versions, keeping the path intact (until a user changes them).

Prefix Intent
/workspace/kylek/notebooks/mine.ipynb Notebook in “draft”
/published/kylek/notebooks/mine.ipynb Current published copy

Scheduled notebooks will also be referred to by the notebook key. In addition, we'll need to be able to surface version IDs as well.

Transitioning to this Storage Plan

Since most people are on a regular filesystem, we'll start with writing to the /workspace prefix as Archival Storage (writing on save using a post_save_hook for a Jupyter contents manager).

Publishing

The bookstore publishing endpoint is a serverextension to the classic Jupyter server. This means you will need to explicitly enable the serverextension to use the endpoint.

To do so, run:

jupyter serverextension enable --py bookstore

To enable it only for the current environment, run:

jupyter serverextension enable --py bookstore --sys-prefix

Installation

bookstore requires Python 3.6 or higher.

Note: Supports installation on Jupyter servers running Python 3.6 and above. Your notebooks can still be run in Python 2 or Python 3.

  1. Clone this repo.
  2. At the repo's root, enter in the Terminal: python3 -m pip install . (Tip: don't forget the dot at the end of the command)

Configuration

# jupyter config
# At ~/.jupyter/jupyter_notebook_config.py for user installs on macOS
# See https://jupyter.readthedocs.io/en/latest/projects/jupyter-directories.html for other places to plop this

from bookstore import BookstoreContentsArchiver

c.NotebookApp.contents_manager_class = BookstoreContentsArchiver

# All Bookstore settings are centralized on one config object so you don't have to configure it for each class
c.BookstoreSettings.workspace_prefix = "/workspace/kylek/notebooks"
c.BookstoreSettings.published_prefix = "/published/kylek/notebooks"

c.BookstoreSettings.s3_bucket = "<bucket-name>"

# Note: if bookstore is used from an EC2 instance with the right IAM role, you don't
# have to specify these
c.BookstoreSettings.s3_access_key_id = <AWS Access Key ID / IAM Access Key ID>
c.BookstoreSettings.s3_secret_access_key = <AWS Secret Access Key / IAM Secret Access Key>

Developing

If you are developing on bookstore you will want to run the ci tests locally and to make releases.

Use CONTRIBUTING.md to learn more about contributing. Use running_ci_locally.md to learn more about running ci tests locally. Use running_python_tests.md to learn about running tests locally. Use RELEASING.md to learn more about releasing bookstore.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].