All Projects → executablebooks → jupyter-cache

executablebooks / jupyter-cache

Licence: MIT license
A defined interface for working with a cache of executed jupyter notebooks

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to jupyter-cache

Fastpages
An easy to use blogging platform, with enhanced support for Jupyter Notebooks.
Stars: ✭ 2,888 (+10214.29%)
Mutual labels:  jupyter, jupyter-notebooks
heroku-jupyterlab
An example of running JupyterLab on Heroku, with Amazon S3.
Stars: ✭ 54 (+92.86%)
Mutual labels:  jupyter, jupyter-notebooks
colour-notebooks
Colour - Jupyter Notebooks
Stars: ✭ 21 (-25%)
Mutual labels:  jupyter, jupyter-notebooks
Py
Repository to store sample python programs for python learning
Stars: ✭ 4,154 (+14735.71%)
Mutual labels:  jupyter, jupyter-notebooks
Nbdev
Create delightful python projects using Jupyter Notebooks
Stars: ✭ 3,061 (+10832.14%)
Mutual labels:  jupyter, jupyter-notebooks
pydna
Clone with Python! Data structures for double stranded DNA & simulation of homologous recombination, Gibson assembly, cut & paste cloning.
Stars: ✭ 109 (+289.29%)
Mutual labels:  jupyter, jupyter-notebooks
Self-Driving-Car-Steering-Simulator
The aim of this project is to allow a self driving car to steer autonomously in a virtual environment.
Stars: ✭ 15 (-46.43%)
Mutual labels:  jupyter, jupyter-notebooks
python ml tutorial
A complete tutorial in python for Data Analysis and Machine Learning
Stars: ✭ 118 (+321.43%)
Mutual labels:  jupyter
Hacktoberfest
Hacktoberfest 2021 you can add anything like simple programs or projects
Stars: ✭ 15 (-46.43%)
Mutual labels:  jupyter
ipydagred3
ipywidgets library for drawing directed acyclic graphs in jupyterlab using dagre-d3
Stars: ✭ 38 (+35.71%)
Mutual labels:  jupyter
enhancement-proposals
Enhancement proposals for the Jupyter Ecosystem
Stars: ✭ 97 (+246.43%)
Mutual labels:  jupyter
Hello-Kaggle-Guide-KOR
Kaggle을 처음 접하는 사람들을 위한 문서
Stars: ✭ 140 (+400%)
Mutual labels:  jupyter
learn-js-in-jupyter
📙 Interactive, cross-platform JavaScript ES6 / Python 3,2 notebook powered by JupyterLab and Docker
Stars: ✭ 18 (-35.71%)
Mutual labels:  jupyter
MaixPy3
MaixPy for Linux Python3, let's play with edge AI easier!
Stars: ✭ 125 (+346.43%)
Mutual labels:  jupyter
vim-jukit
Jupyter-Notebook inspired Neovim/Vim Plugin
Stars: ✭ 55 (+96.43%)
Mutual labels:  jupyter
flowtorch
flowTorch - a Python library for analysis and reduced-order modeling of fluid flows
Stars: ✭ 47 (+67.86%)
Mutual labels:  jupyter
aws-iot-analytics-notebook-containers
An extension for Jupyter notebooks that allows running notebooks inside a Docker container and converting them to runnable Docker images.
Stars: ✭ 25 (-10.71%)
Mutual labels:  jupyter-notebooks
thegreatmarkdown
《了不起的 Markdown》
Stars: ✭ 44 (+57.14%)
Mutual labels:  jupyter
traceml
Engine for ML/Data tracking, visualization, dashboards, and model UI for Polyaxon.
Stars: ✭ 445 (+1489.29%)
Mutual labels:  jupyter
ethereum-economic-model
A modular dynamical-systems model of Ethereum's validator economics
Stars: ✭ 79 (+182.14%)
Mutual labels:  jupyter

jupyter-cache

Github-CI Coverage Status Documentation Status Code style: black PyPI

A defined interface for working with a cache of jupyter notebooks.

Why use jupyter-cache?

If you have a number of notebooks whose execution outputs you want to ensure are kept up to date, without having to re-execute them every time (particularly for long running code, or text-based formats that do not store the outputs).

The notebooks must have deterministic execution outputs:

  • You use the same environment to run them (e.g. the same installed packages)
  • They run no non-deterministic code (e.g. random numbers)
  • They do not depend on external resources (e.g. files or network connections) that change over time

For example, it is utilised by jupyter-book, to allow for fast document re-builds.

Install

pip install jupyter-cache

For development:

git clone https://github.com/executablebooks/jupyter-cache
cd jupyter-cache
git checkout develop
pip install -e .[cli,code_style,testing]

See the documentation for usage.

Development

Some desired requirements (not yet all implemented):

  • Persistent
  • Separates out "edits to content" from "edits to code cells". Cell rearranges and code cell changes should require a re-execution. Content changes should not.
  • Allow parallel access to notebooks (for execution)
  • Store execution statistics/reports
  • Store external assets: Notebooks being executed often require external assets: importing scripts/data/etc. These are prepared by the users.
  • Store execution artefacts: created during execution
  • A transparent and robust cache invalidation: imagine the user updating an external dependency or a Python module, or checking out a different git branch.

Contributing

jupyter-cache follows the Executable Book Contribution Guide. We'd love your help!

Code Style

Code style is tested using flake8, with the configuration set in .flake8, and code formatted with black.

Installing with jupyter-cache[code_style] makes the pre-commit package available, which will ensure this style is met before commits are submitted, by reformatting the code and testing for lint errors. It can be setup by:

>> cd jupyter-cache
>> pre-commit install

Optionally you can run black and flake8 separately:

>> black .
>> flake8 .

Editors like VS Code also have automatic code reformat utilities, which can adhere to this standard.

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].