Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build!: freeze existing notebook outputs #12

Merged
merged 19 commits into from
Jun 4, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 3 additions & 0 deletions .cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@
"matplotlib",
"numpy",
"pylint",
"pytest",
"qrules",
"sympify",
"sympy",
Expand All @@ -89,8 +90,10 @@
"getsource",
"graphviz",
"hasattr",
"ipynb",
"ipython",
"isort",
"jaxlib",
"kernelspec",
"lambdifier",
"linkcheck",
Expand Down
34 changes: 34 additions & 0 deletions .github/workflows/ci-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: pytest-notebook

on:
push:
branches:
- main
- epic/*
pull_request:
branches:
- main
- epic/*

jobs:
pytest:
name: Test modified notebooks
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04]
python-version: [3.7]
steps:
- uses: actions/checkout@master
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@master
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install .[test]
sudo apt-get -y install graphviz
- name: Run notebooks with pytest (diff only)
run:
pytest $(git diff --name-only origin/$GITHUB_BASE_REF | grep ipynb)
212 changes: 118 additions & 94 deletions docs/adr/001/operators.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,21 @@
"jupyter": {
"source_hidden": true
},
"slideshow": {
"slide_type": "skip"
},
"tags": [
"remove-cell"
]
},
"outputs": [],
"source": [
"%%capture\n",
"%config Completer.use_jedi = False\n",
"%config InlineBackend.figure_formats = ['svg']"
"%config InlineBackend.figure_formats = ['svg']\n",
"import os\n",
"\n",
"STATIC_WEB_PAGE = {\"EXECUTE_NB\", \"READTHEDOCS\"}.intersection(os.environ)"
]
},
{
Expand All @@ -24,6 +31,23 @@
"# Python `operator` library"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"jupyter": {
"source_hidden": true
},
"tags": [
"hide-cell"
]
},
"outputs": [],
"source": [
"%%sh\n",
"pip install expertsystem==0.6.10 graphviz==0.16 > /dev/null"
]
},
{
"cell_type": "markdown",
"metadata": {},
Expand All @@ -49,17 +73,22 @@
"cell_type": "code",
"execution_count": null,
"metadata": {
"tags": [
"keep_output"
]
"tags": []
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Propagating quantum numbers: 100%|██████████| 24/24 [00:00<00:00, 102.35it/s]\n"
]
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "c7846d1422964a3a81627a061844c1b8",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Propagating quantum numbers: 0%| | 0/24 [00:00<?, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
Expand Down Expand Up @@ -88,9 +117,7 @@
"cell_type": "code",
"execution_count": null,
"metadata": {
"tags": [
"keep_output"
]
"tags": []
},
"outputs": [
{
Expand All @@ -102,128 +129,128 @@
"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n",
" -->\n",
"<!-- Title: %3 Pages: 1 -->\n",
"<svg width=\"274pt\" height=\"314pt\"\n",
" viewBox=\"0.00 0.00 274.00 314.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<svg width=\"404pt\" height=\"314pt\"\n",
" viewBox=\"0.00 0.00 404.00 314.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 310)\">\n",
"<title>%3</title>\n",
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-310 270,-310 270,4 -4,4\"/>\n",
"<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-310 400,-310 400,4 -4,4\"/>\n",
"<!-- g0_edge0 -->\n",
"<g id=\"node1\" class=\"node\">\n",
"<title>g0_edge0</title>\n",
"<text text-anchor=\"middle\" x=\"32.5\" y=\"-107.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">J/psi(1S)</text>\n",
"<text text-anchor=\"middle\" x=\"372.5\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">0: p</text>\n",
"</g>\n",
"<!-- g0_node0 -->\n",
"<g id=\"node5\" class=\"node\">\n",
"<title>g0_node0</title>\n",
"<ellipse fill=\"#000000\" stroke=\"#000000\" cx=\"102\" cy=\"-111\" rx=\"0\" ry=\"0\"/>\n",
"</g>\n",
"<!-- g0_edge0&#45;&gt;g0_node0 -->\n",
"<g id=\"edge1\" class=\"edge\">\n",
"<title>g0_edge0&#45;&gt;g0_node0</title>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M65.2149,-111C82.6777,-111 100.8283,-111 101.9456,-111\"/>\n",
"</g>\n",
"<!-- g0_edge2 -->\n",
"<!-- g0_edge1 -->\n",
"<g id=\"node2\" class=\"node\">\n",
"<title>g0_edge2</title>\n",
"<text text-anchor=\"middle\" x=\"250\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">p</text>\n",
"<title>g0_edge1</title>\n",
"<text text-anchor=\"middle\" x=\"372.5\" y=\"-122.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">1: p~</text>\n",
"</g>\n",
"<!-- g0_edge3 -->\n",
"<!-- g0_edge2 -->\n",
"<g id=\"node3\" class=\"node\">\n",
"<title>g0_edge3</title>\n",
"<text text-anchor=\"middle\" x=\"250\" y=\"-122.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">p~</text>\n",
"<title>g0_edge2</title>\n",
"<text text-anchor=\"middle\" x=\"372.5\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">2: eta</text>\n",
"</g>\n",
"<!-- g0_edge4 -->\n",
"<!-- g0_edge&#45;1 -->\n",
"<g id=\"node4\" class=\"node\">\n",
"<title>g0_edge4</title>\n",
"<text text-anchor=\"middle\" x=\"250\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">eta</text>\n",
"<title>g0_edge&#45;1</title>\n",
"<text text-anchor=\"middle\" x=\"41.5\" y=\"-107.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">&#45;1: J/psi(1S)</text>\n",
"</g>\n",
"<!-- g0_node0&#45;&gt;g0_edge3 -->\n",
"<g id=\"edge5\" class=\"edge\">\n",
"<title>g0_node0&#45;&gt;g0_edge3</title>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M102.1073,-111.0109C105.6698,-111.3719 197.022,-120.6306 234.3408,-124.4129\"/>\n",
"<!-- g0_node0 -->\n",
"<g id=\"node5\" class=\"node\">\n",
"<title>g0_node0</title>\n",
"<text text-anchor=\"middle\" x=\"139.5\" y=\"-107.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">P=1</text>\n",
"</g>\n",
"<!-- g0_edge&#45;1&#45;&gt;g0_node0 -->\n",
"<g id=\"edge1\" class=\"edge\">\n",
"<title>g0_edge&#45;1&#45;&gt;g0_node0</title>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M83.0608,-111C95.7898,-111 109.2044,-111 119.7604,-111\"/>\n",
"</g>\n",
"<!-- g0_node0&#45;&gt;g0_edge1 -->\n",
"<g id=\"edge3\" class=\"edge\">\n",
"<title>g0_node0&#45;&gt;g0_edge1</title>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M159.3654,-112.2789C202.5053,-115.0561 304.5228,-121.6238 349.9738,-124.5498\"/>\n",
"</g>\n",
"<!-- g0_node1 -->\n",
"<g id=\"node6\" class=\"node\">\n",
"<title>g0_node1</title>\n",
"<ellipse fill=\"#000000\" stroke=\"#000000\" cx=\"196.5\" cy=\"-72\" rx=\"0\" ry=\"0\"/>\n",
"<text text-anchor=\"middle\" x=\"290\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">P=&#45;1</text>\n",
"</g>\n",
"<!-- g0_node0&#45;&gt;g0_node1 -->\n",
"<g id=\"edge2\" class=\"edge\">\n",
"<g id=\"edge5\" class=\"edge\">\n",
"<title>g0_node0&#45;&gt;g0_node1</title>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M102.1038,-110.895C103.1309,-109.862 111.6096,-101.4586 120,-97 150.5996,-80.7394 193.7059,-72.5218 196.3702,-72.0241\"/>\n",
"<text text-anchor=\"middle\" x=\"149\" y=\"-100.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">N(1440)+</text>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M159.1762,-103.0661C164.8719,-100.9304 171.1356,-98.7342 177,-97 208.0209,-87.8267 244.7174,-80.3036 267.6812,-75.9833\"/>\n",
"<text text-anchor=\"middle\" x=\"213.5\" y=\"-100.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">3: N(1440)+</text>\n",
"</g>\n",
"<!-- g0_node1&#45;&gt;g0_edge0 -->\n",
"<g id=\"edge2\" class=\"edge\">\n",
"<title>g0_node1&#45;&gt;g0_edge0</title>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M312.1085,-72C324.9954,-72 341.0851,-72 353.4158,-72\"/>\n",
"</g>\n",
"<!-- g0_node1&#45;&gt;g0_edge2 -->\n",
"<g id=\"edge4\" class=\"edge\">\n",
"<title>g0_node1&#45;&gt;g0_edge2</title>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M196.6535,-72C198.8109,-72 223.2164,-72 238.2592,-72\"/>\n",
"</g>\n",
"<!-- g0_node1&#45;&gt;g0_edge4 -->\n",
"<g id=\"edge3\" class=\"edge\">\n",
"<title>g0_node1&#45;&gt;g0_edge4</title>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M196.6535,-71.8451C198.6147,-69.8655 218.9629,-49.3272 233.9482,-34.2018\"/>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M312.1085,-57.529C323.4681,-50.0936 337.3162,-41.0294 348.8847,-33.4573\"/>\n",
"</g>\n",
"<!-- g1_edge0 -->\n",
"<g id=\"node7\" class=\"node\">\n",
"<title>g1_edge0</title>\n",
"<text text-anchor=\"middle\" x=\"32.5\" y=\"-257.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">J/psi(1S)</text>\n",
"<text text-anchor=\"middle\" x=\"372.5\" y=\"-284.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">0: p</text>\n",
"</g>\n",
"<!-- g1_node0 -->\n",
"<g id=\"node11\" class=\"node\">\n",
"<title>g1_node0</title>\n",
"<ellipse fill=\"#000000\" stroke=\"#000000\" cx=\"102\" cy=\"-261\" rx=\"0\" ry=\"0\"/>\n",
"</g>\n",
"<!-- g1_edge0&#45;&gt;g1_node0 -->\n",
"<g id=\"edge6\" class=\"edge\">\n",
"<title>g1_edge0&#45;&gt;g1_node0</title>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M65.2149,-261C82.6777,-261 100.8283,-261 101.9456,-261\"/>\n",
"</g>\n",
"<!-- g1_edge2 -->\n",
"<!-- g1_edge1 -->\n",
"<g id=\"node8\" class=\"node\">\n",
"<title>g1_edge2</title>\n",
"<text text-anchor=\"middle\" x=\"250\" y=\"-284.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">p</text>\n",
"<title>g1_edge1</title>\n",
"<text text-anchor=\"middle\" x=\"372.5\" y=\"-230.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">1: p~</text>\n",
"</g>\n",
"<!-- g1_edge3 -->\n",
"<!-- g1_edge2 -->\n",
"<g id=\"node9\" class=\"node\">\n",
"<title>g1_edge3</title>\n",
"<text text-anchor=\"middle\" x=\"250\" y=\"-230.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">p~</text>\n",
"<title>g1_edge2</title>\n",
"<text text-anchor=\"middle\" x=\"372.5\" y=\"-176.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">2: eta</text>\n",
"</g>\n",
"<!-- g1_edge4 -->\n",
"<!-- g1_edge&#45;1 -->\n",
"<g id=\"node10\" class=\"node\">\n",
"<title>g1_edge4</title>\n",
"<text text-anchor=\"middle\" x=\"250\" y=\"-176.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">eta</text>\n",
"<title>g1_edge&#45;1</title>\n",
"<text text-anchor=\"middle\" x=\"41.5\" y=\"-263.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">&#45;1: J/psi(1S)</text>\n",
"</g>\n",
"<!-- g1_node0&#45;&gt;g1_edge2 -->\n",
"<g id=\"edge8\" class=\"edge\">\n",
"<title>g1_node0&#45;&gt;g1_edge2</title>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M102.1009,-261.1072C103.1,-262.1599 111.3625,-270.6857 120,-274 161.327,-289.8574 215.1229,-289.6801 238.4136,-288.6952\"/>\n",
"<!-- g1_node0 -->\n",
"<g id=\"node11\" class=\"node\">\n",
"<title>g1_node0</title>\n",
"<text text-anchor=\"middle\" x=\"139.5\" y=\"-263.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">P=1</text>\n",
"</g>\n",
"<!-- g1_edge&#45;1&#45;&gt;g1_node0 -->\n",
"<g id=\"edge6\" class=\"edge\">\n",
"<title>g1_edge&#45;1&#45;&gt;g1_node0</title>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M83.0608,-267C95.7898,-267 109.2044,-267 119.7604,-267\"/>\n",
"</g>\n",
"<!-- g1_node0&#45;&gt;g1_edge0 -->\n",
"<g id=\"edge7\" class=\"edge\">\n",
"<title>g1_node0&#45;&gt;g1_edge0</title>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M159.2847,-271.1259C164.982,-272.1963 171.2196,-273.2559 177,-274 241.2927,-282.2758 318.157,-285.9873 353.281,-287.3448\"/>\n",
"</g>\n",
"<!-- g1_node1 -->\n",
"<g id=\"node12\" class=\"node\">\n",
"<title>g1_node1</title>\n",
"<ellipse fill=\"#000000\" stroke=\"#000000\" cx=\"196.5\" cy=\"-234\" rx=\"0\" ry=\"0\"/>\n",
"<text text-anchor=\"middle\" x=\"290\" y=\"-230.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">P=&#45;1</text>\n",
"</g>\n",
"<!-- g1_node0&#45;&gt;g1_node1 -->\n",
"<g id=\"edge7\" class=\"edge\">\n",
"<g id=\"edge10\" class=\"edge\">\n",
"<title>g1_node0&#45;&gt;g1_node1</title>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M102.0685,-260.9804C104.8853,-260.1756 193.6601,-234.8114 196.4336,-234.019\"/>\n",
"<text text-anchor=\"middle\" x=\"149\" y=\"-258.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">N(1440)~&#45;</text>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M159.1752,-262.6858C187.2217,-256.5361 238.5394,-245.2837 267.8741,-238.8515\"/>\n",
"<text text-anchor=\"middle\" x=\"213.5\" y=\"-261.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">3: N(1440)~&#45;</text>\n",
"</g>\n",
"<!-- g1_node1&#45;&gt;g1_edge3 -->\n",
"<g id=\"edge9\" class=\"edge\">\n",
"<title>g1_node1&#45;&gt;g1_edge3</title>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M196.6535,-234C198.627,-234 219.218,-234 234.2286,-234\"/>\n",
"<!-- g1_node1&#45;&gt;g1_edge1 -->\n",
"<g id=\"edge8\" class=\"edge\">\n",
"<title>g1_node1&#45;&gt;g1_edge1</title>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M312.1085,-234C323.7545,-234 338.016,-234 349.7552,-234\"/>\n",
"</g>\n",
"<!-- g1_node1&#45;&gt;g1_edge4 -->\n",
"<g id=\"edge10\" class=\"edge\">\n",
"<title>g1_node1&#45;&gt;g1_edge4</title>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M196.6535,-233.8451C198.6147,-231.8655 218.9629,-211.3272 233.9482,-196.2018\"/>\n",
"<!-- g1_node1&#45;&gt;g1_edge2 -->\n",
"<g id=\"edge9\" class=\"edge\">\n",
"<title>g1_node1&#45;&gt;g1_edge2</title>\n",
"<path fill=\"none\" stroke=\"#000000\" d=\"M312.1085,-219.529C323.4681,-212.0936 337.3162,-203.0294 348.8847,-195.4573\"/>\n",
"</g>\n",
"</g>\n",
"</svg>\n"
],
"text/plain": [
"<graphviz.files.Source at 0x7fe9e17a0670>"
"<graphviz.files.Source at 0x7f819846f4f0>"
]
},
"execution_count": null,
Expand All @@ -235,17 +262,15 @@
"import graphviz\n",
"\n",
"graphs = result.collapse_graphs()\n",
"dot = es.io.asdot(graphs)\n",
"dot = es.io.convert_to_dot(graphs)\n",
"graphviz.Source(dot)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"tags": [
"keep_output"
]
"tags": []
},
"outputs": [
{
Expand Down Expand Up @@ -297,9 +322,7 @@
"cell_type": "code",
"execution_count": null,
"metadata": {
"tags": [
"keep_output"
]
"tags": []
},
"outputs": [
{
Expand Down Expand Up @@ -516,6 +539,7 @@
}
],
"metadata": {
"keep_output": true,
"kernelspec": {
"display_name": "Python 3",
"language": "python",
Expand All @@ -531,7 +555,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.8"
"version": "3.8.10"
}
},
"nbformat": 4,
Expand Down