{ "cells": [ { "cell_type": "markdown", "id": "ed186238", "metadata": {}, "source": [ "# Streambook example" ] }, { "cell_type": "markdown", "id": "83e965bb", "metadata": {}, "source": [ "Streambook is a setup for writing live-updating notebooks\n", "in any editor that you might want to use (emacs, vi, notepad)." ] }, { "cell_type": "code", "execution_count": null, "id": "14a4e11c", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 1, "id": "7c768749", "metadata": { "execution": { "iopub.execute_input": "2021-04-12T04:33:45.186839Z", "iopub.status.busy": "2021-04-12T04:33:45.185793Z", "iopub.status.idle": "2021-04-12T04:33:45.503548Z", "shell.execute_reply": "2021-04-12T04:33:45.502548Z" } }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import time" ] }, { "cell_type": "markdown", "id": "4702566f", "metadata": {}, "source": [ "## Main Code" ] }, { "cell_type": "markdown", "id": "0690ed8d", "metadata": {}, "source": [ "Notebook cells are separated by spaces. Comment cells are rendered\n", "as markdown.\n", "\n", "See https://jupytext.readthedocs.io/en/latest/formats.html#the-light-format" ] }, { "cell_type": "code", "execution_count": 2, "id": "c3781d0e", "metadata": { "execution": { "iopub.execute_input": "2021-04-12T04:33:45.510026Z", "iopub.status.busy": "2021-04-12T04:33:45.509117Z", "iopub.status.idle": "2021-04-12T04:33:45.512247Z", "shell.execute_reply": "2021-04-12T04:33:45.511341Z" }, "lines_to_next_cell": 2 }, "outputs": [], "source": [ "x = np.array([10, 20, 30])" ] }, { "cell_type": "markdown", "id": "91c619fd", "metadata": {}, "source": [ "Cells that end with an explicit variables are printed. \n", "\n", "See https://docs.streamlit.io/en/stable/api.html#magic-commands" ] }, { "cell_type": "code", "execution_count": 3, "id": "e74a6cb8", "metadata": { "execution": { "iopub.execute_input": "2021-04-12T04:33:45.521111Z", "iopub.status.busy": "2021-04-12T04:33:45.520375Z", "iopub.status.idle": "2021-04-12T04:33:45.524249Z", "shell.execute_reply": "2021-04-12T04:33:45.525030Z" }, "lines_to_next_cell": 2 }, "outputs": [ { "data": { "text/plain": [ "array([10, 20, 30])" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x" ] }, { "cell_type": "markdown", "id": "0dc21cde", "metadata": {}, "source": [ "Dictionaries are pretty-printed using streamlit and can be collapsed" ] }, { "cell_type": "code", "execution_count": 4, "id": "f29c44e3", "metadata": { "execution": { "iopub.execute_input": "2021-04-12T04:33:45.531718Z", "iopub.status.busy": "2021-04-12T04:33:45.530819Z", "iopub.status.idle": "2021-04-12T04:33:45.533983Z", "shell.execute_reply": "2021-04-12T04:33:45.533200Z" }, "lines_to_next_cell": 2 }, "outputs": [], "source": [ "data = [dict(key1 = i, key2=f\"{i}\", key3=100 -i) for i in range(100)] " ] }, { "cell_type": "markdown", "id": "e0b361f9", "metadata": { "lines_to_next_cell": 2 }, "source": [ "Pandas dataframe also show up in tables. " ] }, { "cell_type": "code", "execution_count": 5, "id": "11e558cd", "metadata": { "execution": { "iopub.execute_input": "2021-04-12T04:33:45.545351Z", "iopub.status.busy": "2021-04-12T04:33:45.544409Z", "iopub.status.idle": "2021-04-12T04:33:45.558847Z", "shell.execute_reply": "2021-04-12T04:33:45.558072Z" }, "lines_to_next_cell": 2 }, "outputs": [ { "data": { "text/html": [ "
\n", " | key1 | \n", "key2 | \n", "key3 | \n", "
---|---|---|---|
0 | \n", "0 | \n", "0 | \n", "100 | \n", "
1 | \n", "1 | \n", "1 | \n", "99 | \n", "
2 | \n", "2 | \n", "2 | \n", "98 | \n", "
3 | \n", "3 | \n", "3 | \n", "97 | \n", "
4 | \n", "4 | \n", "4 | \n", "96 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "
95 | \n", "95 | \n", "95 | \n", "5 | \n", "
96 | \n", "96 | \n", "96 | \n", "4 | \n", "
97 | \n", "97 | \n", "97 | \n", "3 | \n", "
98 | \n", "98 | \n", "98 | \n", "2 | \n", "
99 | \n", "99 | \n", "99 | \n", "1 | \n", "
100 rows × 3 columns
\n", "