Last active
March 1, 2019 02:02
-
-
Save WillKoehrsen/8ca484ee6dd154178b9e830f5a810c81 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
define(['base/js/namespace', 'base/js/events'], function (Jupyter, events) { | |
// Template cells including markdown and imports | |
var setUp = function () { | |
Jupyter.notebook.insert_cell_at_index('markdown', 0) | |
.set_text(`# Introduction | |
State notebook purpose here`) | |
Jupyter.notebook.insert_cell_at_index('markdown', 1).set_text(`### Imports | |
Import libraries and write settings here.`) | |
// Define imports and settings | |
Jupyter.notebook.insert_cell_at_index('code', 2) | |
.set_text(`# Data manipulation | |
import pandas as pd | |
import numpy as np | |
# Options for pandas | |
pd.options.display.max_columns = 50 | |
pd.options.display.max_rows = 30 | |
# Display all cell outputs | |
from IPython.core.interactiveshell import InteractiveShell | |
InteractiveShell.ast_node_interactivity = 'all' | |
from IPython import get_ipython | |
ipython = get_ipython() | |
# autoreload extension | |
if 'autoreload' not in ipython.extension_manager.loaded: | |
%load_ext autoreload | |
%autoreload 2 | |
# Visualizations | |
import plotly.plotly as py | |
import plotly.graph_objs as go | |
from plotly.offline import iplot, init_notebook_mode | |
init_notebook_mode(connected=True) | |
import cufflinks as cf | |
cf.go_offline(connected=True) | |
cf.set_config_file(theme='white')`) | |
Jupyter.notebook.insert_cell_at_index('markdown', 3) | |
.set_text(`# Analysis/Modeling | |
Do work here`) | |
Jupyter.notebook.insert_cell_at_index('markdown', 4).set_text(`# Results | |
Show graphs and stats here`) | |
Jupyter.notebook.insert_cell_at_index('markdown', 5) | |
.set_text(`# Conclusions and Next Steps | |
Summarize findings here`) | |
setTimeout(Jupyter.notebook.execute_all_cells(), 5000) | |
} | |
// Prompts user to enter name for notebook | |
var promptName = function () { | |
// Open rename notebook box if 'Untitled' in name | |
if (Jupyter.notebook.notebook_name.search('Untitled') != -1) { | |
document.getElementsByClassName('filename')[0].click() | |
} | |
} | |
// Run on start | |
function load_ipython_extension () { | |
// Add default cells for new notebook (no cells yet) | |
if (Jupyter.notebook.get_cells().length === 1) { | |
setUp() | |
// If notebook already has cells, still check name | |
} else { | |
promptName() | |
} | |
} | |
// Run when cell is executed | |
events.on('execute.CodeCell', function () { | |
promptName() | |
}) | |
// Run when notebook is saved | |
events.on('before_save.Notebook', function () { | |
promptName() | |
}) | |
// Will be run when notebook loads | |
return { | |
load_ipython_extension: load_ipython_extension | |
} | |
}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment