All Projects → mkery → Verdant

mkery / Verdant

Licence: MIT license
An experimental tool that stores and visualizes local versioning in JupyterLab

Programming Languages

typescript
32286 projects
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to Verdant

Jupytext
Jupyter Notebooks as Markdown Documents, Julia, Python or R scripts
Stars: ✭ 4,969 (+3782.03%)
Mutual labels:  version-control, jupyterlab
Squot
Squeak Object Tracker - Version control for arbitrary objects, currently with Git storage
Stars: ✭ 45 (-64.84%)
Mutual labels:  version-control
learn-js-in-jupyter
📙 Interactive, cross-platform JavaScript ES6 / Python 3,2 notebook powered by JupyterLab and Docker
Stars: ✭ 18 (-85.94%)
Mutual labels:  jupyterlab
coq jupyter
Jupyter kernel for Coq
Stars: ✭ 70 (-45.31%)
Mutual labels:  jupyter-extension
jupyterlab-heroku
JupyterLab extension to deploy applications to Heroku
Stars: ✭ 20 (-84.37%)
Mutual labels:  jupyterlab
bio-pipeline
My collection of light bioinformatics analysis pipelines for specific tasks
Stars: ✭ 60 (-53.12%)
Mutual labels:  experimental
git-history-flow
Visualize the evolution of a file tracked by git
Stars: ✭ 17 (-86.72%)
Mutual labels:  version-control
notable-insiders
A repository containing experimental releases of Notable.
Stars: ✭ 131 (+2.34%)
Mutual labels:  experimental
udacity-fsnd
Udacity Full Stack Web Developer Nanodegree program (FSND) course materials
Stars: ✭ 66 (-48.44%)
Mutual labels:  jupyterlab
jupyter-langs
Docker images of Jupyter Lab for various languages.
Stars: ✭ 21 (-83.59%)
Mutual labels:  jupyterlab
traffic-prediction
Predict traffic flow with LSTM. For experimental purposes only, unsupported!
Stars: ✭ 47 (-63.28%)
Mutual labels:  experimental
html-over-dns
An experiment to host a website with the content served over DNS.
Stars: ✭ 29 (-77.34%)
Mutual labels:  experimental
SciCompforChemists
Scientific Computing for Chemists text for teaching basic computing skills to chemistry students using Python, Jupyter notebooks, and the SciPy stack. This text makes use of a variety of packages including NumPy, SciPy, matplotlib, pandas, seaborn, NMRglue, SymPy, scikit-image, and scikit-learn.
Stars: ✭ 65 (-49.22%)
Mutual labels:  jupyterlab
nuxt-realworld
🛠 Built a Example App of RealWorld with Nuxt & Composition API ⚗️
Stars: ✭ 127 (-0.78%)
Mutual labels:  experimental
mimstris
A falling block puzzle game created using React and Redux.
Stars: ✭ 129 (+0.78%)
Mutual labels:  experimental
swirlr-wasm
willdady.github.io/swirlr-wasm/
Stars: ✭ 21 (-83.59%)
Mutual labels:  experimental
OnceBuilder
OnceBuilder - managment tool, mange projects, templates, plugins in one place.
Stars: ✭ 18 (-85.94%)
Mutual labels:  experimental
jupyterlab-credentialstore
A secure way of storing credentials within JupyterLab
Stars: ✭ 19 (-85.16%)
Mutual labels:  jupyterlab
NativeVersionControlPlugins
Version Control (Perforce, PlasticSCM) plugins for Unity
Stars: ✭ 25 (-80.47%)
Mutual labels:  version-control
straight.el
🍀 Next-generation, purely functional package manager for the Emacs hacker.
Stars: ✭ 2,035 (+1489.84%)
Mutual labels:  version-control

Verdant

code style: prettier

🌱🌿🌱 Verdant is a JupyterLab extension that automatically records history of all experiments you run in a Jupyter notebook, and stores them in a tidy .ipyhistory JSON file designed to be work alongside and compliment any other version control you use, like SVN or Git. Verdant also visualizes history of individual cells, code snippets, markdown, and outputs for you, for quick checks and references as you work.

Thoughts? We're super interested in making Verdant serve data scientists well. --> Feedback Survey

Demo Screenshot Figure alt text:

The history tab opens the sidebar for Verdant containing three tabs: Activity, Artifacts, and Search. In the currently open Artifacts tab, the user click on a large button titled "Version Inspector". Once clicked, the inspector is active, and now when the user mouses over different parts of their notebook, cells and output highlight blue. The use mouses over a code cell and clicks it. The inspector opens up a full history of that code cell with diff highlighting in the side bar of Verdant.

[Full demo on YouTube]

For design discussion and the research behind this check out our paper:

Mary Beth Kery, Bonnie E. John, Patrick O’Flaherty, Amber Horvath, and Brad A. Myers. 2019. Towards Effective Foraging by Data Scientists to Find Past Analysis Choices. In Proceedings of ACM SIGCHI, Glasgow, UK, May 2019 (CHI’19), 11 pages. DOI: 10.475/123 4

Install

  1. Jupyterlab: Verdant works with > JupyterLab 3 (latest version). To install or update your JupyterLab:
  • with pip: pip install jupyterlab -U
  • with conda: conda install -c conda-forge jupyterlab
  • to check version: jupyter lab --version
  • for windows users!: due to a bug with lab extensions in earlier 3.0 releases, be sure you have >= 3.0.7 of JupyterLab
  1. NodeJs: Jupyterlab needs node to configure and install extensions, not just Verdant
  1. Verdant:
  • command line jupyter labextension install verdant-history
  • OR open Jupyterlab with jupyter lab . and find Verdant in the extensions menu (side panel icon button with the puzzle piece) by searching verdant
  1. 🎉 If all has gone well, you'll see Verdant's log with a leaf icon in the left pane of Jupyterlab! 🎉
  • if not, please file an issue with what error you're getting and we'll fix it promptly

Develop

For a development install, do the following in the repository directory:

yarn
yarn build
yarn start

The last line installs Verdant as an extension and builds JupyterLab. It may take a minute. Upon a successful build, Jupyter Lab will launch in your browser window.

If you make modifications to the Verdant source code, you'll need to rebuild the package and the JupyterLab app:

yarn build
yarn start

If you plan on making lots of edits to Verdant, extension building is easier if you use:

jupyter lab --watch

and then each time you make a change, you'll only have to re-run:

yarn build

Acknowledgements

This research has been funded by Bloomberg L.P. and has been conducted at the Bloomberg L.P. and at the Natural Programming Group at the Human-Computer Interaction Institute at Carnegie Mellon University. Thank you to the JupyterLab project and also to all our awesome study participants for volunteering early design feedback!

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