diff --git a/.circleci/config.yml b/.circleci/config.yml
index 716a2610..d87f81bf 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -6,7 +6,7 @@ jobs:
build-docs:
working_directory: ~/repo
docker:
- - image: cimg/python:3.10
+ - image: cimg/python:3.10-node
steps:
- checkout
@@ -17,7 +17,7 @@ jobs:
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip wheel setuptools
- pip install -r site/requirements.txt -r requirements.txt
+ pip install -r requirements.txt
- restore_cache:
keys:
@@ -30,9 +30,14 @@ jobs:
# NOTE: blas multithreading behaves badly on circleci
export OMP_NUM_THREADS=1
source venv/bin/activate
- # n = nitpicky (broken links), W = warnings as errors,
- # T = full tracebacks, keep-going = run to completion even with errors
- make -C site/ SPHINXOPTS="-nWT --keep-going" html
+ # Construct the BASE_URL using the CIRCLE_WORKFLOW_JOB_ID
+ export BASE_URL="/output/job/${CIRCLE_WORKFLOW_JOB_ID}/artifacts/0/_build/html"
+
+ # Output the BASE_URL for debugging purposes
+ echo "BASE_URL is set to $BASE_URL"
+
+ # Run your myst build command
+ myst build --html --execute
- save_cache:
key: cache-data
@@ -40,42 +45,43 @@ jobs:
- _data
- store_artifacts:
- path: site/_build/html
+ path: _build/html
- persist_to_workspace:
- root: site/_build
+ root: _build
paths: html
deploy-docs:
working_directory: ~/repo
docker:
- - image: cimg/python:3.10
+ - image: cimg/python:3.10-node
steps:
- checkout
- attach_workspace:
- at: site/_build
+ at: _build
- run:
name: install deploy deps
command : |
python3 -m pip install --user ghp-import
- - run:
- name: configure git
- command: |
- git config --global user.name "ci-doc-deploy-bot"
- git config --global user.email "ci-doc-deploy-bot@nomail"
- git config --global push.default simple
-
- - add_ssh_keys:
- fingerprints:
- 5c:54:62:37:75:7f:4d:14:f4:07:82:1c:50:0d:ee:9b
-
- - run:
- name: deploy to gh-pages
- command: |
- ghp-import -n -f -p -m "[skip ci] docs build of $CIRCLE_SHA1" site/_build/html
+ # TODO!
+ # - run:
+ # name: configure git
+ # command: |
+ # git config --global user.name "ci-doc-deploy-bot"
+ # git config --global user.email "ci-doc-deploy-bot@nomail"
+ # git config --global push.default simple
+ #
+ # - add_ssh_keys:
+ # fingerprints:
+ # 5c:54:62:37:75:7f:4d:14:f4:07:82:1c:50:0d:ee:9b
+ #
+ # - run:
+ # name: deploy to gh-pages
+ # command: |
+ # ghp-import -n -f -p -m "[skip ci] docs build of $CIRCLE_SHA1" site/_build/html
workflows:
diff --git a/_toc.yml b/_toc.yml
new file mode 100644
index 00000000..c49c8693
--- /dev/null
+++ b/_toc.yml
@@ -0,0 +1,52 @@
+# Table of Contents
+#
+# Myst will respect:
+# 1. New pages
+# - file: relative/path/to/page
+# 2. New sections without an associated page
+# - title: Folder Title
+# sections: ...
+# 3. New sections with an associated page
+# - file: relative/path/to/page
+# sections: ...
+#
+# Note: Titles defined on pages here are not recognized.
+#
+# This spec is based on the JupyterBook table of contents.
+# Learn more at https://jupyterbook.org/customize/toc.html
+
+format: jb-book
+root: content/index
+chapters:
+ - title: Content
+ sections:
+ - title: Applications
+ sections:
+ - file: content/applications/index
+ - file: content/applications/mooreslaw-tutorial
+ - file: content/applications/tutorial-air-quality-analysis
+ - file: content/applications/tutorial-deep-learning-on-mnist
+ - file: content/applications/tutorial-plotting-fractals
+ - file: content/applications/tutorial-static_equilibrium
+ - file: content/applications/tutorial-x-ray-image-processing
+ - title: Articles
+ sections:
+ - file: content/articles/index
+ - file: >-
+ content/articles/tutorial-deep-reinforcement-learning-with-pong-from-pixels
+ - file: content/articles/tutorial-nlp-from-scratch
+ - title: Tutorial Nlp From Scratch
+ sections:
+ - file: content/articles/tutorial-nlp-from-scratch/README
+ - title: Features
+ sections:
+ - file: content/features/index
+ - file: content/features/save-load-arrays
+ - file: content/features/tutorial-ma
+ - file: content/features/tutorial-svd
+ - title: Contributing
+ sections:
+ - file: content/contributing/index
+ - file: content/contributing/pairing
+ - file: content/contributing/tutorial-style-guide
+
diff --git a/site/_static/01-fork.gif b/content/_static/01-fork.gif
similarity index 100%
rename from site/_static/01-fork.gif
rename to content/_static/01-fork.gif
diff --git a/site/_static/02-create_new_branch.gif b/content/_static/02-create_new_branch.gif
similarity index 100%
rename from site/_static/02-create_new_branch.gif
rename to content/_static/02-create_new_branch.gif
diff --git a/site/_static/03-upload.gif b/content/_static/03-upload.gif
similarity index 100%
rename from site/_static/03-upload.gif
rename to content/_static/03-upload.gif
diff --git a/site/_static/04-add_to_readme.gif b/content/_static/04-add_to_readme.gif
similarity index 100%
rename from site/_static/04-add_to_readme.gif
rename to content/_static/04-add_to_readme.gif
diff --git a/site/_static/05-create_PR.gif b/content/_static/05-create_PR.gif
similarity index 100%
rename from site/_static/05-create_PR.gif
rename to content/_static/05-create_PR.gif
diff --git a/site/_static/favicon.png b/content/_static/favicon.png
similarity index 100%
rename from site/_static/favicon.png
rename to content/_static/favicon.png
diff --git a/content/_static/numpylogo.svg b/content/_static/numpylogo.svg
new file mode 100644
index 00000000..50810223
--- /dev/null
+++ b/content/_static/numpylogo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/content/air-quality-data.csv b/content/applications/air-quality-data.csv
similarity index 100%
rename from content/air-quality-data.csv
rename to content/applications/air-quality-data.csv
diff --git a/content/applications/index.md b/content/applications/index.md
new file mode 100644
index 00000000..2ecc7f92
--- /dev/null
+++ b/content/applications/index.md
@@ -0,0 +1,4 @@
+# NumPy Applications
+
+A collection of highlighting the use of NumPy for applications in science,
+engineering, and data analysis.
diff --git a/content/mooreslaw-tutorial.md b/content/applications/mooreslaw-tutorial.md
similarity index 96%
rename from content/mooreslaw-tutorial.md
rename to content/applications/mooreslaw-tutorial.md
index b9fefc8d..cc8135ae 100644
--- a/content/mooreslaw-tutorial.md
+++ b/content/applications/mooreslaw-tutorial.md
@@ -12,7 +12,7 @@ kernelspec:
---
# Determining Moore's Law with real data in NumPy
-
+
_The number of transistors reported per a given chip plotted on a log scale in the y axis with the date of introduction on the linear scale x-axis. The blue data points are from a [transistor count table](https://en.wikipedia.org/wiki/Transistor_count#Microprocessors). The red line is an ordinary least squares prediction and the orange line is Moore's law._
@@ -77,7 +77,7 @@ You'll use these NumPy and Matplotlib functions:
Your empirical model assumes that the number of transistors per
semiconductor follows an exponential growth,
-$\log(\text{transistor_count})= f(\text{year}) = A\cdot \text{year}+B,$
+$\log(\text{transistor\_count})= f(\text{year}) = A\cdot \text{year}+B,$
where $A$ and $B$ are fitting constants. You use semiconductor
manufacturers' data to find the fitting constants.
@@ -87,17 +87,17 @@ rate for added transistors, 2, and giving an initial number of transistors for a
You state Moore's law in an exponential form as follows,
-$\text{transistor_count}= e^{A_M\cdot \text{year} +B_M}.$
+$\text{transistor\_count}= e^{A_M\cdot \text{year} +B_M}.$
Where $A_M$ and $B_M$ are constants that double the number of transistors every two years and start at 2250 transistors in 1971,
-1. $\dfrac{\text{transistor_count}(\text{year} +2)}{\text{transistor_count}(\text{year})} = 2 = \dfrac{e^{B_M}e^{A_M \text{year} + 2A_M}}{e^{B_M}e^{A_M \text{year}}} = e^{2A_M} \rightarrow A_M = \frac{\log(2)}{2}$
+1. $\dfrac{\text{transistor\_count}(\text{year} +2)}{\text{transistor\_count}(\text{year})} = 2 = \dfrac{e^{B_M}e^{A_M \text{year} + 2A_M}}{e^{B_M}e^{A_M \text{year}}} = e^{2A_M} \rightarrow A_M = \frac{\log(2)}{2}$
2. $\log(2250) = \frac{\log(2)}{2}\cdot 1971 + B_M \rightarrow B_M = \log(2250)-\frac{\log(2)}{2}\cdot 1971$
so Moore's law stated as an exponential function is
-$\log(\text{transistor_count})= A_M\cdot \text{year}+B_M,$
+$\log(\text{transistor\_count})= A_M\cdot \text{year}+B_M,$
where
@@ -242,7 +242,7 @@ B, A = model
Did manufacturers double the transistor count every two years? You have
the final formula,
-$\dfrac{\text{transistor_count}(\text{year} +2)}{\text{transistor_count}(\text{year})} = xFactor =
+$\dfrac{\text{transistor\_count}(\text{year} +2)}{\text{transistor\_count}(\text{year})} = xFactor =
\dfrac{e^{B}e^{A( \text{year} + 2)}}{e^{B}e^{A \text{year}}} = e^{2A}$
where increase in number of transistors is $xFactor,$ number of years is
@@ -263,19 +263,19 @@ Here, use
to plot the number of transistors on a log-scale and the year on a
linear scale. You have defined a three arrays to get to a final model
-$y_i = \log(\text{transistor_count}),$
+$y_i = \log(\text{transistor\_count}),$
$y_i = A \cdot \text{year} + B,$
and
-$\log(\text{transistor_count}) = A\cdot \text{year} + B,$
+$\log(\text{transistor\_count}) = A\cdot \text{year} + B,$
your variables, `transistor_count`, `year`, and `yi` all have the same
dimensions, `(179,)`. NumPy arrays need the same dimensions to make a
plot. The predicted number of transistors is now
-$\text{transistor_count}_{\text{predicted}} = e^Be^{A\cdot \text{year}}$.
+$\text{transistor\_count}_{\text{predicted}} = e^Be^{A\cdot \text{year}}$.
+++
@@ -324,7 +324,7 @@ comparator,
Then, make a prediction for 2017 with `Moores_law` defined above
and plugging in your best fit constants into your function
-$\text{transistor_count} = e^{B}e^{A\cdot \text{year}}$.
+$\text{transistor\_count} = e^{B}e^{A\cdot \text{year}}$.
A great way to compare these measurements is to compare your prediction
and Moore's prediction to the average transistor count and look at the
diff --git a/content/applications/mooreslaw_regression.csv b/content/applications/mooreslaw_regression.csv
new file mode 100644
index 00000000..63f76af3
--- /dev/null
+++ b/content/applications/mooreslaw_regression.csv
@@ -0,0 +1,186 @@
+# the columns in this file are the result of a linear regression model
+# the columns include
+# year: year of manufacture
+# transistor_count: number of transistors reported by manufacturers in a given year
+# transistor_count_predicted: linear regression model = exp(-666.33)*exp(0.34*year)
+# transistor_Moores_law: Moores law =exp(-675.38)*exp(0.35*year)
+# year:, transistor_count:, transistor_count_predicted:, transistor_Moores_law:
+1.971000000000000000e+03,2.250000000000000000e+03,1.130514785642591733e+03,2.249999999999916326e+03
+1.972000000000000000e+03,3.500000000000000000e+03,1.590908400344571419e+03,3.181980515339620069e+03
+1.973000000000000000e+03,2.500000000000000000e+03,2.238793840142739555e+03,4.500000000000097316e+03
+1.974000000000000000e+03,3.000000000000000000e+03,3.150525735847200394e+03,6.363961030678889983e+03
+1.974000000000000000e+03,4.100000000000000000e+03,3.150525735847200394e+03,6.363961030678889983e+03
+1.974000000000000000e+03,6.000000000000000000e+03,3.150525735847200394e+03,6.363961030678889983e+03
+1.974000000000000000e+03,8.000000000000000000e+03,3.150525735847200394e+03,6.363961030678889983e+03
+1.975000000000000000e+03,4.528000000000000000e+03,4.433553565433564472e+03,8.999999999999699867e+03
+1.975000000000000000e+03,4.000000000000000000e+03,4.433553565433564472e+03,8.999999999999699867e+03
+1.975000000000000000e+03,5.000000000000000000e+03,4.433553565433564472e+03,8.999999999999699867e+03
+1.976000000000000000e+03,5.000000000000000000e+03,6.239084795884999949e+03,1.272792206135852757e+04
+1.976000000000000000e+03,8.500000000000000000e+03,6.239084795884999949e+03,1.272792206135852757e+04
+1.976000000000000000e+03,6.500000000000000000e+03,6.239084795884999949e+03,1.272792206135852757e+04
+1.976000000000000000e+03,8.000000000000000000e+03,6.239084795884999949e+03,1.272792206135852757e+04
+1.977000000000000000e+03,7.000000000000000000e+03,8.779904993983471286e+03,1.800000000000045475e+04
+1.978000000000000000e+03,9.000000000000000000e+03,1.235545504273617189e+04,2.545584412271565452e+04
+1.978000000000000000e+03,2.900000000000000000e+04,1.235545504273617189e+04,2.545584412271565452e+04
+1.979000000000000000e+03,1.750000000000000000e+04,1.738712086493929019e+04,3.599999999999893043e+04
+1.979000000000000000e+03,2.900000000000000000e+04,1.738712086493929019e+04,3.599999999999893043e+04
+1.979000000000000000e+03,6.800000000000000000e+04,1.738712086493929019e+04,3.599999999999893043e+04
+1.980000000000000000e+03,5.000000000000000000e+04,2.446789462033919335e+04,5.091168824543429946e+04
+1.981000000000000000e+03,1.150000000000000000e+04,3.443226005055519636e+04,7.200000000000209548e+04
+1.981000000000000000e+03,4.500000000000000000e+04,3.443226005055519636e+04,7.200000000000209548e+04
+1.982000000000000000e+03,5.500000000000000000e+04,4.845453810331245040e+04,1.018233764908629964e+05
+1.982000000000000000e+03,1.340000000000000000e+05,4.845453810331245040e+04,1.018233764908629964e+05
+1.984000000000000000e+03,6.300000000000000000e+04,9.595603950548690045e+04,2.036467529817379254e+05
+1.984000000000000000e+03,1.900000000000000000e+05,9.595603950548690045e+04,2.036467529817379254e+05
+1.985000000000000000e+03,2.750000000000000000e+05,1.350334124345869059e+05,2.880000000000094296e+05
+1.985000000000000000e+03,2.500000000000000000e+04,1.350334124345869059e+05,2.880000000000094296e+05
+1.985000000000000000e+03,1.600000000000000000e+04,1.350334124345869059e+05,2.880000000000094296e+05
+1.986000000000000000e+03,1.100000000000000000e+05,1.900247505805676919e+05,4.072935059634535573e+05
+1.986000000000000000e+03,3.750000000000000000e+05,1.900247505805676919e+05,4.072935059634535573e+05
+1.986000000000000000e+03,2.700000000000000000e+04,1.900247505805676919e+05,4.072935059634535573e+05
+1.986000000000000000e+03,9.100000000000000000e+04,1.900247505805676919e+05,4.072935059634535573e+05
+1.987000000000000000e+03,3.850000000000000000e+05,2.674108961787449080e+05,5.759999999999871943e+05
+1.987000000000000000e+03,7.300000000000000000e+05,2.674108961787449080e+05,5.759999999999871943e+05
+1.987000000000000000e+03,2.730000000000000000e+05,2.674108961787449080e+05,5.759999999999871943e+05
+1.987000000000000000e+03,5.530000000000000000e+05,2.674108961787449080e+05,5.759999999999871943e+05
+1.988000000000000000e+03,1.800000000000000000e+05,3.763119655552496552e+05,8.145870119268621784e+05
+1.988000000000000000e+03,2.500000000000000000e+05,3.763119655552496552e+05,8.145870119268621784e+05
+1.989000000000000000e+03,6.000000000000000000e+05,5.295621735824813368e+05,1.152000000000041910e+06
+1.989000000000000000e+03,1.000000000000000000e+06,5.295621735824813368e+05,1.152000000000041910e+06
+1.989000000000000000e+03,1.180235000000000000e+06,5.295621735824813368e+05,1.152000000000041910e+06
+1.989000000000000000e+03,3.100000000000000000e+05,5.295621735824813368e+05,1.152000000000041910e+06
+1.990000000000000000e+03,1.200000000000000000e+06,7.452223722825756995e+05,1.629174023853820050e+06
+1.991000000000000000e+03,1.350000000000000000e+06,1.048708559362333268e+06,2.303999999999957159e+06
+1.991000000000000000e+03,3.500000000000000000e+04,1.048708559362333268e+06,2.303999999999957159e+06
+1.992000000000000000e+03,6.000000000000000000e+05,1.475787205785602564e+06,3.258348047707461286e+06
+1.992000000000000000e+03,9.000000000000000000e+05,1.475787205785602564e+06,3.258348047707461286e+06
+1.992000000000000000e+03,1.680000000000000000e+06,1.475787205785602564e+06,3.258348047707461286e+06
+1.993000000000000000e+03,2.800000000000000000e+06,2.076790407894426724e+06,4.608000000000185333e+06
+1.993000000000000000e+03,3.100000000000000000e+06,2.076790407894426724e+06,4.608000000000185333e+06
+1.994000000000000000e+03,5.789770000000000000e+05,2.922547628420682624e+06,6.516696095415305346e+06
+1.994000000000000000e+03,7.000000000000000000e+03,2.922547628420682624e+06,6.516696095415305346e+06
+1.994000000000000000e+03,2.500000000000000000e+06,2.922547628420682624e+06,6.516696095415305346e+06
+1.995000000000000000e+03,2.500000000000000000e+06,4.112733094259144738e+06,9.215999999999864027e+06
+1.995000000000000000e+03,5.500000000000000000e+06,4.112733094259144738e+06,9.215999999999864027e+06
+1.996000000000000000e+03,4.300000000000000000e+06,5.787612608987616375e+06,1.303339219082989357e+07
+1.997000000000000000e+03,1.000000000000000000e+07,8.144574166135232896e+06,1.843200000000081211e+07
+1.997000000000000000e+03,7.500000000000000000e+06,8.144574166135232896e+06,1.843200000000081211e+07
+1.997000000000000000e+03,8.800000000000000000e+06,8.144574166135232896e+06,1.843200000000081211e+07
+1.997000000000000000e+03,1.500000000000000000e+04,8.144574166135232896e+06,1.843200000000081211e+07
+1.998000000000000000e+03,7.500000000000000000e+06,1.146139052995130233e+07,2.606678438166131452e+07
+1.999000000000000000e+03,1.110000000000000000e+05,1.612895532663459331e+07,3.686399999999959022e+07
+1.999000000000000000e+03,9.500000000000000000e+06,1.612895532663459331e+07,3.686399999999959022e+07
+1.999000000000000000e+03,1.350000000000000000e+07,1.612895532663459331e+07,3.686399999999959022e+07
+1.999000000000000000e+03,2.740000000000000000e+07,1.612895532663459331e+07,3.686399999999959022e+07
+1.999000000000000000e+03,2.130000000000000000e+07,1.612895532663459331e+07,3.686399999999959022e+07
+1.999000000000000000e+03,2.200000000000000000e+07,1.612895532663459331e+07,3.686399999999959022e+07
+2.000000000000000000e+03,2.100000000000000000e+07,2.269735066166354716e+07,5.213356876331976801e+07
+2.000000000000000000e+03,2.100000000000000000e+07,2.269735066166354716e+07,5.213356876331976801e+07
+2.000000000000000000e+03,4.200000000000000000e+07,2.269735066166354716e+07,5.213356876331976801e+07
+2.001000000000000000e+03,1.910000000000000000e+08,3.194067542662545294e+07,7.372800000000350177e+07
+2.001000000000000000e+03,4.500000000000000000e+07,3.194067542662545294e+07,7.372800000000350177e+07
+2.002000000000000000e+03,5.500000000000000000e+07,4.494827444473844022e+07,1.042671375266456604e+08
+2.002000000000000000e+03,2.200000000000000000e+08,4.494827444473844022e+07,1.042671375266456604e+08
+2.003000000000000000e+03,1.520000000000000000e+08,6.325311999743700027e+07,1.474559999999989271e+08
+2.003000000000000000e+03,5.430000000000000000e+07,6.325311999743700027e+07,1.474559999999989271e+08
+2.003000000000000000e+03,1.059000000000000000e+08,6.325311999743700027e+07,1.474559999999989271e+08
+2.003000000000000000e+03,4.100000000000000000e+08,6.325311999743700027e+07,1.474559999999989271e+08
+2.004000000000000000e+03,1.120000000000000000e+08,8.901247575875540078e+07,2.085342750532798469e+08
+2.004000000000000000e+03,4.000000000000000000e+08,8.901247575875540078e+07,2.085342750532798469e+08
+2.004000000000000000e+03,5.920000000000000000e+08,8.901247575875540078e+07,2.085342750532798469e+08
+2.005000000000000000e+03,1.690000000000000000e+08,1.252621347535752058e+08,2.949120000000151396e+08
+2.005000000000000000e+03,2.280000000000000000e+08,1.252621347535752058e+08,2.949120000000151396e+08
+2.005000000000000000e+03,1.650000000000000000e+08,1.252621347535752058e+08,2.949120000000151396e+08
+2.005000000000000000e+03,2.500000000000000000e+08,1.252621347535752058e+08,2.949120000000151396e+08
+2.006000000000000000e+03,1.840000000000000000e+08,1.762741938056866527e+08,4.170685501065841317e+08
+2.006000000000000000e+03,3.620000000000000000e+08,1.762741938056866527e+08,4.170685501065841317e+08
+2.006000000000000000e+03,2.910000000000000000e+08,1.762741938056866527e+08,4.170685501065841317e+08
+2.006000000000000000e+03,1.700000000000000000e+09,1.762741938056866527e+08,4.170685501065841317e+08
+2.007000000000000000e+03,4.630000000000000000e+08,2.480605289297762811e+08,5.898239999999978542e+08
+2.007000000000000000e+03,2.600000000000000000e+07,2.480605289297762811e+08,5.898239999999978542e+08
+2.007000000000000000e+03,4.110000000000000000e+08,2.480605289297762811e+08,5.898239999999978542e+08
+2.007000000000000000e+03,7.890000000000000000e+08,2.480605289297762811e+08,5.898239999999978542e+08
+2.007000000000000000e+03,1.690000000000000000e+08,2.480605289297762811e+08,5.898239999999978542e+08
+2.007000000000000000e+03,2.500000000000000000e+08,2.480605289297762811e+08,5.898239999999978542e+08
+2.007000000000000000e+03,5.400000000000000000e+08,2.480605289297762811e+08,5.898239999999978542e+08
+2.008000000000000000e+03,2.300000000000000000e+08,3.490813072771816850e+08,8.341371002131224871e+08
+2.008000000000000000e+03,7.310000000000000000e+08,3.490813072771816850e+08,8.341371002131224871e+08
+2.008000000000000000e+03,7.580000000000000000e+08,3.490813072771816850e+08,8.341371002131224871e+08
+2.008000000000000000e+03,4.700000000000000000e+07,3.490813072771816850e+08,8.341371002131224871e+08
+2.008000000000000000e+03,6.000000000000000000e+08,3.490813072771816850e+08,8.341371002131224871e+08
+2.008000000000000000e+03,1.900000000000000000e+09,3.490813072771816850e+08,8.341371002131224871e+08
+2.009000000000000000e+03,9.040000000000000000e+08,4.912420352245680094e+08,1.179648000000065088e+09
+2.009000000000000000e+03,7.600000000000000000e+08,4.912420352245680094e+08,1.179648000000065088e+09
+2.010000000000000000e+03,1.000000000000000000e+09,6.912966467722116709e+08,1.668274200426342964e+09
+2.010000000000000000e+03,1.170000000000000000e+09,6.912966467722116709e+08,1.668274200426342964e+09
+2.010000000000000000e+03,1.200000000000000000e+09,6.912966467722116709e+08,1.668274200426342964e+09
+2.010000000000000000e+03,1.400000000000000000e+09,6.912966467722116709e+08,1.668274200426342964e+09
+2.010000000000000000e+03,2.000000000000000000e+09,6.912966467722116709e+08,1.668274200426342964e+09
+2.010000000000000000e+03,2.300000000000000000e+09,6.912966467722116709e+08,1.668274200426342964e+09
+2.011000000000000000e+03,1.870000000000000000e+09,9.728219891036791801e+08,2.359296000000000477e+09
+2.011000000000000000e+03,1.160000000000000000e+09,9.728219891036791801e+08,2.359296000000000477e+09
+2.011000000000000000e+03,2.270000000000000000e+09,9.728219891036791801e+08,2.359296000000000477e+09
+2.011000000000000000e+03,2.600000000000000000e+09,9.728219891036791801e+08,2.359296000000000477e+09
+2.012000000000000000e+03,4.320000000000000000e+08,1.368996402488670588e+09,3.336548400852502346e+09
+2.012000000000000000e+03,2.990000000000000000e+09,1.368996402488670588e+09,3.336548400852502346e+09
+2.012000000000000000e+03,1.200000000000000000e+09,1.368996402488670588e+09,3.336548400852502346e+09
+2.012000000000000000e+03,1.303000000000000000e+09,1.368996402488670588e+09,3.336548400852502346e+09
+2.012000000000000000e+03,1.400000000000000000e+09,1.368996402488670588e+09,3.336548400852502346e+09
+2.012000000000000000e+03,2.100000000000000000e+09,1.368996402488670588e+09,3.336548400852502346e+09
+2.012000000000000000e+03,2.750000000000000000e+09,1.368996402488670588e+09,3.336548400852502346e+09
+2.012000000000000000e+03,3.100000000000000000e+09,1.368996402488670588e+09,3.336548400852502346e+09
+2.012000000000000000e+03,5.000000000000000000e+09,1.368996402488670588e+09,3.336548400852502346e+09
+2.013000000000000000e+03,1.000000000000000000e+09,1.926509855881951332e+09,4.718592000000277519e+09
+2.013000000000000000e+03,1.860000000000000000e+09,1.926509855881951332e+09,4.718592000000277519e+09
+2.013000000000000000e+03,4.200000000000000000e+09,1.926509855881951332e+09,4.718592000000277519e+09
+2.013000000000000000e+03,5.000000000000000000e+09,1.926509855881951332e+09,4.718592000000277519e+09
+2.014000000000000000e+03,1.400000000000000000e+09,2.711066455736001015e+09,6.673096801705395699e+09
+2.014000000000000000e+03,2.000000000000000000e+09,2.711066455736001015e+09,6.673096801705395699e+09
+2.014000000000000000e+03,2.600000000000000000e+09,2.711066455736001015e+09,6.673096801705395699e+09
+2.014000000000000000e+03,3.000000000000000000e+09,2.711066455736001015e+09,6.673096801705395699e+09
+2.014000000000000000e+03,4.310000000000000000e+09,2.711066455736001015e+09,6.673096801705395699e+09
+2.014000000000000000e+03,5.560000000000000000e+09,2.711066455736001015e+09,6.673096801705395699e+09
+2.015000000000000000e+03,1.750000000000000000e+09,3.815127810001370430e+09,9.437184000000036240e+09
+2.015000000000000000e+03,1.900000000000000000e+09,3.815127810001370430e+09,9.437184000000036240e+09
+2.015000000000000000e+03,2.000000000000000000e+09,3.815127810001370430e+09,9.437184000000036240e+09
+2.015000000000000000e+03,2.000000000000000000e+09,3.815127810001370430e+09,9.437184000000036240e+09
+2.015000000000000000e+03,3.000000000000000000e+09,3.815127810001370430e+09,9.437184000000036240e+09
+2.015000000000000000e+03,3.990000000000000000e+09,3.815127810001370430e+09,9.437184000000036240e+09
+2.015000000000000000e+03,7.100000000000000000e+09,3.815127810001370430e+09,9.437184000000036240e+09
+2.015000000000000000e+03,1.000000000000000000e+10,3.815127810001370430e+09,9.437184000000036240e+09
+2.016000000000000000e+03,3.000000000000000000e+09,5.368809818678679466e+09,1.334619360341005898e+10
+2.016000000000000000e+03,3.200000000000000000e+09,5.368809818678679466e+09,1.334619360341005898e+10
+2.016000000000000000e+03,3.300000000000000000e+09,5.368809818678679466e+09,1.334619360341005898e+10
+2.016000000000000000e+03,4.000000000000000000e+09,5.368809818678679466e+09,1.334619360341005898e+10
+2.016000000000000000e+03,7.200000000000000000e+09,5.368809818678679466e+09,1.334619360341005898e+10
+2.016000000000000000e+03,8.000000000000000000e+09,5.368809818678679466e+09,1.334619360341005898e+10
+2.017000000000000000e+03,5.300000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10
+2.017000000000000000e+03,5.300000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10
+2.017000000000000000e+03,4.300000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10
+2.017000000000000000e+03,4.800000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10
+2.017000000000000000e+03,4.800000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10
+2.017000000000000000e+03,4.800000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10
+2.017000000000000000e+03,6.100000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10
+2.017000000000000000e+03,9.700000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10
+2.017000000000000000e+03,5.500000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10
+2.017000000000000000e+03,7.000000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10
+2.017000000000000000e+03,8.000000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10
+2.017000000000000000e+03,2.500000000000000000e+08,7.555217100087202072e+09,1.887436800000117874e+10
+2.017000000000000000e+03,5.450000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10
+2.017000000000000000e+03,4.300000000000000000e+09,7.555217100087202072e+09,1.887436800000117874e+10
+2.017000000000000000e+03,1.800000000000000000e+10,7.555217100087202072e+09,1.887436800000117874e+10
+2.017000000000000000e+03,1.920000000000000000e+10,7.555217100087202072e+09,1.887436800000117874e+10
+2.018000000000000000e+03,8.500000000000000000e+09,1.063202224650572395e+10,2.669238720682168579e+10
+2.018000000000000000e+03,6.900000000000000000e+09,1.063202224650572395e+10,2.669238720682168579e+10
+2.018000000000000000e+03,6.900000000000000000e+09,1.063202224650572395e+10,2.669238720682168579e+10
+2.019000000000000000e+03,1.030000000000000000e+10,1.496183306881915283e+10,3.774873600000028229e+10
+2.019000000000000000e+03,8.000000000000000000e+09,1.496183306881915283e+10,3.774873600000028229e+10
+2.018000000000000000e+03,5.500000000000000000e+09,1.063202224650572395e+10,2.669238720682168579e+10
+2.018000000000000000e+03,1.000000000000000000e+10,1.063202224650572395e+10,2.669238720682168579e+10
+2.019000000000000000e+03,8.500000000000000000e+09,1.496183306881915283e+10,3.774873600000028229e+10
+2.018000000000000000e+03,8.786000000000000000e+09,1.063202224650572395e+10,2.669238720682168579e+10
+2.018000000000000000e+03,9.000000000000000000e+09,1.063202224650572395e+10,2.669238720682168579e+10
+2.019000000000000000e+03,5.990000000000000000e+09,1.496183306881915283e+10,3.774873600000028229e+10
+2.019000000000000000e+03,9.890000000000000000e+09,1.496183306881915283e+10,3.774873600000028229e+10
+2.019000000000000000e+03,3.954000000000000000e+10,1.496183306881915283e+10,3.774873600000028229e+10
+2.019000000000000000e+03,3.000000000000000000e+10,1.496183306881915283e+10,3.774873600000028229e+10
diff --git a/content/applications/mooreslaw_regression.npz b/content/applications/mooreslaw_regression.npz
new file mode 100644
index 00000000..24812648
Binary files /dev/null and b/content/applications/mooreslaw_regression.npz differ
diff --git a/content/transistor_data.csv b/content/applications/transistor_data.csv
similarity index 100%
rename from content/transistor_data.csv
rename to content/applications/transistor_data.csv
diff --git a/content/tutorial-air-quality-analysis.md b/content/applications/tutorial-air-quality-analysis.md
similarity index 98%
rename from content/tutorial-air-quality-analysis.md
rename to content/applications/tutorial-air-quality-analysis.md
index 14e46acf..c259be3f 100644
--- a/content/tutorial-air-quality-analysis.md
+++ b/content/applications/tutorial-air-quality-analysis.md
@@ -14,7 +14,7 @@ kernelspec:
# Analyzing the impact of the lockdown on air quality in Delhi, India
-
+
## What you'll do
@@ -124,7 +124,7 @@ We will calculate the AQI using [the method](https://app.cpcbccr.com/ccr_docs/FI
The Air Quality Index is calculated with the help of breakpoint ranges as shown in the chart below.
-
+
Let's create two arrays to store the AQI ranges and breakpoints so that we can use them later for our calculations.
@@ -264,7 +264,7 @@ the data from 31st May, we truncated that during the moving averages step.
Hypothesis testing is a form of descriptive statistics used to help us make decisions with the data. From the calculated AQI data, we want to find out if there was a statistically significant difference in average AQI before and after the lockdown was imposed. We will use the left-tailed, [paired Student's t-test](https://en.wikipedia.org/wiki/Student%27s_t-test#Dependent_t-test_for_paired_samples) to compute two test statistics- the [`t statistic`](https://en.wikipedia.org/wiki/T-statistic) and the [`p value`](https://en.wikipedia.org/wiki/P-value). We will then compare these with the corresponding critical values to make a decision.
-
+
### Sampling
@@ -343,7 +343,7 @@ print("The t value is {} and the p value is {}.".format(t_value, p_value))
We will now compare the calculated test statistics with the critical test statistics. The critical `t` value is calculated by looking up the [t-distribution table](https://en.wikipedia.org/wiki/Student%27s_t-distribution#Table_of_selected_values).
-
+
From the table above, the critical value is 1.699 for 29 `dof` at a confidence level of 95%. Since we are using the left tailed test, our critical value is -1.699. Clearly, the calculated `t` value is less than the critical value so we can safely reject the null hypothesis.
diff --git a/content/tutorial-deep-learning-on-mnist.md b/content/applications/tutorial-deep-learning-on-mnist.md
similarity index 99%
rename from content/tutorial-deep-learning-on-mnist.md
rename to content/applications/tutorial-deep-learning-on-mnist.md
index a41438c5..8a62a5be 100644
--- a/content/tutorial-deep-learning-on-mnist.md
+++ b/content/applications/tutorial-deep-learning-on-mnist.md
@@ -25,7 +25,7 @@ The weighted sum is passed to the Non-linearity, then regularization and
into the output layer. The output layer creates a prediction which can
then be compared to existing data. The errors are used to calculate the
loss function and update weights in the hidden layer and output
-layer.)](_static/tutorial-deep-learning-on-mnist.png)
+layer.)](../_static/tutorial-deep-learning-on-mnist.png)
This tutorial was adapted from the work by [Andrew Trask](https://github.com/iamtrask/Grokking-Deep-Learning) (with the author's permission).
@@ -362,7 +362,7 @@ The weighted sum is passed to the Non-linearity, then regularization and
into the output layer. The output layer creates a prediction which can
then be compared to existing data. The errors are used to calculate the
loss function and update weights in the hidden layer and output
-layer.)](_static/tutorial-deep-learning-on-mnist.png)
+layer.)](../_static/tutorial-deep-learning-on-mnist.png)
- _The input layer_:
diff --git a/content/tutorial-plotting-fractals.md b/content/applications/tutorial-plotting-fractals.md
similarity index 100%
rename from content/tutorial-plotting-fractals.md
rename to content/applications/tutorial-plotting-fractals.md
diff --git a/content/tutorial-plotting-fractals/fractal.png b/content/applications/tutorial-plotting-fractals/fractal.png
similarity index 100%
rename from content/tutorial-plotting-fractals/fractal.png
rename to content/applications/tutorial-plotting-fractals/fractal.png
diff --git a/content/tutorial-static_equilibrium.md b/content/applications/tutorial-static_equilibrium.md
similarity index 99%
rename from content/tutorial-static_equilibrium.md
rename to content/applications/tutorial-static_equilibrium.md
index 0e8b82f7..022efd20 100644
--- a/content/tutorial-static_equilibrium.md
+++ b/content/applications/tutorial-static_equilibrium.md
@@ -207,7 +207,7 @@ print("Reaction moment =", M)
Let's say that instead of a force acting perpendicularly to the beam, a force was applied to our pole through a wire that was also attached to the ground.
Given the tension in this cord, all you need to solve this problem are the physical locations of these objects.
-
+
In response to the forces acting upon the pole, the base generated reaction forces in the x and y directions, as well as a reaction moment.
@@ -266,7 +266,7 @@ print("Reaction moment =", M)
Let's look at a slightly more complicated model. In this example you will be observing a beam with two cables and an applied force. This time you need to find both the tension in the cords and the reaction forces of the beam. *(Source: [Vector Mechanics for Engineers: Statics](https://www.mheducation.com/highered/product/vector-mechanics-engineers-statics-beer-johnston/M9780077687304.html), Problem 4.106)*
-
+
Define distance *a* as 3 meters
diff --git a/content/tutorial-x-ray-image-processing.md b/content/applications/tutorial-x-ray-image-processing.md
similarity index 99%
rename from content/tutorial-x-ray-image-processing.md
rename to content/applications/tutorial-x-ray-image-processing.md
index 9e00ea6c..955f328d 100644
--- a/content/tutorial-x-ray-image-processing.md
+++ b/content/applications/tutorial-x-ray-image-processing.md
@@ -50,7 +50,7 @@ tutorial's repository under `tutorial-x-ray-image-processing/`, since
ChestX-ray8 contains gigabytes of data and you may find it challenging to
download it in batches.
-
+
+++
diff --git a/content/tutorial-x-ray-image-processing/00000011_000.png b/content/applications/tutorial-x-ray-image-processing/00000011_000.png
similarity index 100%
rename from content/tutorial-x-ray-image-processing/00000011_000.png
rename to content/applications/tutorial-x-ray-image-processing/00000011_000.png
diff --git a/content/tutorial-x-ray-image-processing/00000011_001.png b/content/applications/tutorial-x-ray-image-processing/00000011_001.png
similarity index 100%
rename from content/tutorial-x-ray-image-processing/00000011_001.png
rename to content/applications/tutorial-x-ray-image-processing/00000011_001.png
diff --git a/content/tutorial-x-ray-image-processing/00000011_002.png b/content/applications/tutorial-x-ray-image-processing/00000011_002.png
similarity index 100%
rename from content/tutorial-x-ray-image-processing/00000011_002.png
rename to content/applications/tutorial-x-ray-image-processing/00000011_002.png
diff --git a/content/tutorial-x-ray-image-processing/00000011_003.png b/content/applications/tutorial-x-ray-image-processing/00000011_003.png
similarity index 100%
rename from content/tutorial-x-ray-image-processing/00000011_003.png
rename to content/applications/tutorial-x-ray-image-processing/00000011_003.png
diff --git a/content/tutorial-x-ray-image-processing/00000011_004.png b/content/applications/tutorial-x-ray-image-processing/00000011_004.png
similarity index 100%
rename from content/tutorial-x-ray-image-processing/00000011_004.png
rename to content/applications/tutorial-x-ray-image-processing/00000011_004.png
diff --git a/content/tutorial-x-ray-image-processing/00000011_005.png b/content/applications/tutorial-x-ray-image-processing/00000011_005.png
similarity index 100%
rename from content/tutorial-x-ray-image-processing/00000011_005.png
rename to content/applications/tutorial-x-ray-image-processing/00000011_005.png
diff --git a/content/tutorial-x-ray-image-processing/00000011_006.png b/content/applications/tutorial-x-ray-image-processing/00000011_006.png
similarity index 100%
rename from content/tutorial-x-ray-image-processing/00000011_006.png
rename to content/applications/tutorial-x-ray-image-processing/00000011_006.png
diff --git a/content/tutorial-x-ray-image-processing/00000011_007.png b/content/applications/tutorial-x-ray-image-processing/00000011_007.png
similarity index 100%
rename from content/tutorial-x-ray-image-processing/00000011_007.png
rename to content/applications/tutorial-x-ray-image-processing/00000011_007.png
diff --git a/content/tutorial-x-ray-image-processing/00000011_008.png b/content/applications/tutorial-x-ray-image-processing/00000011_008.png
similarity index 100%
rename from content/tutorial-x-ray-image-processing/00000011_008.png
rename to content/applications/tutorial-x-ray-image-processing/00000011_008.png
diff --git a/content/applications/tutorial-x-ray-image-processing/xray_image.gif b/content/applications/tutorial-x-ray-image-processing/xray_image.gif
new file mode 100644
index 00000000..1bf26145
Binary files /dev/null and b/content/applications/tutorial-x-ray-image-processing/xray_image.gif differ
diff --git a/site/articles.md b/content/articles/index.md
similarity index 62%
rename from site/articles.md
rename to content/articles/index.md
index 8540ed69..f995ab4e 100644
--- a/site/articles.md
+++ b/content/articles/index.md
@@ -5,9 +5,3 @@
Want to make a valuable contribution to the tutorials? Consider working on
these articles so that they become fully executable/reproducible!
```
-
-```{toctree}
-
-content/tutorial-deep-reinforcement-learning-with-pong-from-pixels
-content/tutorial-nlp-from-scratch
-```
diff --git a/content/text_preprocessing.py b/content/articles/text_preprocessing.py
similarity index 100%
rename from content/text_preprocessing.py
rename to content/articles/text_preprocessing.py
diff --git a/content/tutorial-deep-reinforcement-learning-with-pong-from-pixels.md b/content/articles/tutorial-deep-reinforcement-learning-with-pong-from-pixels.md
similarity index 99%
rename from content/tutorial-deep-reinforcement-learning-with-pong-from-pixels.md
rename to content/articles/tutorial-deep-reinforcement-learning-with-pong-from-pixels.md
index 69607388..75a5244c 100644
--- a/content/tutorial-deep-reinforcement-learning-with-pong-from-pixels.md
+++ b/content/articles/tutorial-deep-reinforcement-learning-with-pong-from-pixels.md
@@ -26,7 +26,7 @@ This tutorial demonstrates how to implement a deep reinforcement learning (RL) a
Pong is a 2D game from 1972 where two players use "rackets" to play a form of table tennis. Each player moves the racket up and down the screen and tries to hit a ball in their opponent's direction by touching it. The goal is to hit the ball such that it goes past the opponent's racket (they miss their shot). According to the rules, if a player reaches 21 points, they win. In Pong, the RL agent that learns to play against an opponent is displayed on the right.
-
+
This example is based on the [code](https://gist.github.com/karpathy/a4166c7fe253700972fcbc77e4ea32c5) developed by [Andrej Karpathy](https://karpathy.ai) for the [Deep RL Bootcamp](https://sites.google.com/view/deep-rl-bootcamp/home) in 2017 at UC Berkeley. His [blog post](http://karpathy.github.io/2016/05/31/rl/) from 2016 also provides more background on the mechanics and theory used in Pong RL.
@@ -365,7 +365,7 @@ The pseudocode for the policy gradient method for Pong:
- Maximize the probability of actions that lead to high rewards.
-
+
You can stop the training at any time or/and check saved MP4 videos of saved plays on your disk in the `/video` directory. You can set the maximum number of episodes that is more appropriate for your setup.
diff --git a/content/tutorial-nlp-from-scratch.md b/content/articles/tutorial-nlp-from-scratch.md
similarity index 99%
rename from content/tutorial-nlp-from-scratch.md
rename to content/articles/tutorial-nlp-from-scratch.md
index e51d6b1d..b03a99a3 100644
--- a/content/tutorial-nlp-from-scratch.md
+++ b/content/articles/tutorial-nlp-from-scratch.md
@@ -1,18 +1,3 @@
----
-jupyter:
- jupytext:
- formats: md,ipynb
- text_representation:
- extension: .md
- format_name: markdown
- format_version: '1.3'
- jupytext_version: 1.11.5
- kernelspec:
- display_name: Python 3 (ipykernel)
- language: python
- name: python3
----
-
# Sentiment Analysis on notable speeches of the last decade
```{caution}
@@ -457,7 +442,7 @@ The problem with an RNN however, is that it cannot retain long-term memory becau
### Overview of the Model Architecture
-
+
In the above gif, the rectangles labeled $A$ are called `Cells` and they are the **Memory Blocks** of our LSTM network. They are responsible for choosing what to remember in a sequence and pass on that information to the next cell via two states called the `hidden state` $H_{t}$ and the `cell state` $C_{t}$ where $t$ indicates the time-step. Each `Cell` has dedicated gates which are responsible for storing, writing or reading the information passed to an LSTM. You will now look closely at the architecture of the network by implementing each mechanism happening inside of it.
@@ -550,7 +535,7 @@ def fp_output_gate(concat, next_cs, parameters):
The following image summarizes each gate mechanism in the memory block of a LSTM network:
>Image has been modified from [this](https://link.springer.com/chapter/10.1007%2F978-3-030-14524-8_11) source
-
+
### But how do you obtain sentiment from the LSTM's output?
diff --git a/content/tutorial-nlp-from-scratch/README.md b/content/articles/tutorial-nlp-from-scratch/README.md
similarity index 100%
rename from content/tutorial-nlp-from-scratch/README.md
rename to content/articles/tutorial-nlp-from-scratch/README.md
diff --git a/content/tutorial-nlp-from-scratch/dl_architectures.jpg b/content/articles/tutorial-nlp-from-scratch/dl_architectures.jpg
similarity index 100%
rename from content/tutorial-nlp-from-scratch/dl_architectures.jpg
rename to content/articles/tutorial-nlp-from-scratch/dl_architectures.jpg
diff --git a/content/tutorial-nlp-from-scratch/speeches.csv b/content/articles/tutorial-nlp-from-scratch/speeches.csv
similarity index 100%
rename from content/tutorial-nlp-from-scratch/speeches.csv
rename to content/articles/tutorial-nlp-from-scratch/speeches.csv
diff --git a/site/contributing.md b/content/contributing/index.md
similarity index 89%
rename from site/contributing.md
rename to content/contributing/index.md
index c35db184..7abe0eda 100644
--- a/site/contributing.md
+++ b/content/contributing/index.md
@@ -44,12 +44,6 @@ accept both Jupyter notebooks (`.ipynb`) and MyST-NB notebooks (`.md`).
If you want to sync your `.ipynb` to your `.md` file follow the [pairing
tutorial](content/pairing.md).
-```{toctree}
-:hidden:
-
-content/pairing
-```
-
## Adding your own tutorials
If you have your own tutorial in the form of a Jupyter notebook (an `.ipynb`
@@ -66,14 +60,7 @@ We will try to respond as quickly as possible with comments, if applicable.
### Check out our suggested template
You can use this template to make your content consistent with our existing
-tutorials:
-
-```{toctree}
----
-maxdepth: 1
----
-content/tutorial-style-guide
-```
+tutorials: [](content/tutorial-style-guide)
### Upload your content
@@ -84,21 +71,21 @@ Remember to clear all outputs on your notebook before uploading it.
Fork this repository (if you haven't before).
-
+ In your own fork, create a new branch for your content.
-
+ Add your notebook to the content/ directory.
-
+ Update the environment.yml file with the dependencies for your tutorial
@@ -108,14 +95,14 @@ Remember to clear all outputs on your notebook before uploading it.
Update this README.md to include your new entry.
-
+ Create a pull request. Make sure the "Allow edits and access to secrets by maintainers" option is selected so we can properly review your submission.
-
+
🎉 Wait for review!
diff --git a/content/pairing.md b/content/contributing/pairing.md
similarity index 97%
rename from content/pairing.md
rename to content/contributing/pairing.md
index 573f15d4..f3979d32 100644
--- a/content/pairing.md
+++ b/content/contributing/pairing.md
@@ -210,13 +210,13 @@ or the command line:
```{admonition} **1. Classic Jupyter Jupytext pairing**
:class: toggle
-
+
```
```{admonition} **2. JupyterLab Jupytext pairing**
:class: toggle
-
+
```
````{admonition} **3. Command line Jupytext pairing**
diff --git a/content/tutorial-style-guide.md b/content/contributing/tutorial-style-guide.md
similarity index 100%
rename from content/tutorial-style-guide.md
rename to content/contributing/tutorial-style-guide.md
diff --git a/content/features/index.md b/content/features/index.md
new file mode 100644
index 00000000..fcaca331
--- /dev/null
+++ b/content/features/index.md
@@ -0,0 +1,3 @@
+# NumPy Features
+
+A collection of notebooks pertaining to built-in NumPy functionality.
diff --git a/content/save-load-arrays.md b/content/features/save-load-arrays.md
similarity index 100%
rename from content/save-load-arrays.md
rename to content/features/save-load-arrays.md
diff --git a/content/tutorial-ma.md b/content/features/tutorial-ma.md
similarity index 100%
rename from content/tutorial-ma.md
rename to content/features/tutorial-ma.md
diff --git a/content/tutorial-svd.md b/content/features/tutorial-svd.md
similarity index 100%
rename from content/tutorial-svd.md
rename to content/features/tutorial-svd.md
diff --git a/content/who_covid_19_sit_rep_time_series.csv b/content/features/who_covid_19_sit_rep_time_series.csv
similarity index 100%
rename from content/who_covid_19_sit_rep_time_series.csv
rename to content/features/who_covid_19_sit_rep_time_series.csv
diff --git a/content/features/x_y-squared.csv b/content/features/x_y-squared.csv
new file mode 100644
index 00000000..e74126ff
--- /dev/null
+++ b/content/features/x_y-squared.csv
@@ -0,0 +1,11 @@
+# x, y
+0.000000000000000000e+00,0.000000000000000000e+00
+1.000000000000000000e+00,1.000000000000000000e+00
+2.000000000000000000e+00,4.000000000000000000e+00
+3.000000000000000000e+00,9.000000000000000000e+00
+4.000000000000000000e+00,1.600000000000000000e+01
+5.000000000000000000e+00,2.500000000000000000e+01
+6.000000000000000000e+00,3.600000000000000000e+01
+7.000000000000000000e+00,4.900000000000000000e+01
+8.000000000000000000e+00,6.400000000000000000e+01
+9.000000000000000000e+00,8.100000000000000000e+01
diff --git a/content/features/x_y-squared.npz b/content/features/x_y-squared.npz
new file mode 100644
index 00000000..e32d05c4
Binary files /dev/null and b/content/features/x_y-squared.npz differ
diff --git a/site/index.md b/content/index.md
similarity index 94%
rename from site/index.md
rename to content/index.md
index c15d6877..734c3a89 100644
--- a/site/index.md
+++ b/content/index.md
@@ -19,18 +19,6 @@ local copy of the `.ipynb` files, you can either
[clone this repository](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository)
or use the download icon in the upper-right corner of each tutorial.
-## Content
-
-```{toctree}
----
-maxdepth: 2
----
-
-features
-applications
-contributing
-```
-
### Non-executable articles
```{admonition} Help improve the tutorials!
@@ -39,13 +27,7 @@ Want to make a valuable contribution to the tutorials? Consider contributing to
these existing articles to help make them fully executable and reproducible!
```
-```{toctree}
----
-maxdepth: 2
----
-
-articles
-```
+[Articles](articles/index.md)
## Useful links and resources
diff --git a/environment.yml b/environment.yml
index 509d1bc7..71408122 100644
--- a/environment.yml
+++ b/environment.yml
@@ -10,7 +10,8 @@ dependencies:
- pandas
- imageio
# For building the site
- - sphinx
- - myst-nb
- - sphinx-book-theme
- - sphinx-copybutton
+ - mystmd
+ - nodejs>=20,<21
+ - ipython
+ - jupyter_server
+ - jupyterlab-myst
diff --git a/myst.yml b/myst.yml
new file mode 100644
index 00000000..71cf7fc4
--- /dev/null
+++ b/myst.yml
@@ -0,0 +1,21 @@
+# See docs at: https://mystmd.org/guide/frontmatter
+version: 1
+project:
+ id: 55a37959-b92d-40f7-a63c-c1f217e8f002
+ title: "NumPy Tutorials"
+ # description:
+ keywords: []
+ authors: []
+ github: https://github.com/numpy/numpy-tutorials
+ # bibliography: []
+site:
+ template: book-theme
+ title: "NumPy Tutorials"
+ options:
+ #favicon: favicon.ico
+ logo: content/_static/numpylogo.svg
+ nav: []
+ actions:
+ - title: NumPy Documentation
+ url: https://numpy.org
+ domains: []
diff --git a/requirements.txt b/requirements.txt
index dd03cc89..24031568 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -7,3 +7,7 @@ pandas
imageio
# For supporting .md-based notebooks
jupytext
+mystmd
+ipykernel
+jupyter_server
+jupyterlab-myst
diff --git a/site/Makefile b/site/Makefile
deleted file mode 100644
index 89fe53b6..00000000
--- a/site/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# Minimal makefile for Sphinx documentation
-#
-
-# You can set these variables from the command line, and also
-# from the environment for the first two.
-SPHINXOPTS ?=
-SPHINXBUILD ?= sphinx-build
-SOURCEDIR = .
-BUILDDIR = _build
-
-# Put it first so that "make" without argument is like "make help".
-help:
- @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
-
-notebooks:
- mkdir -p notebooks
- jupytext -k python3 ../content/*.md --from myst --to notebook
- mv ../content/*.ipynb notebooks
-
-clean:
- rm -rf _build
- rm -rf notebooks
-
-.PHONY: help Makefile notebooks clean
-
-# Catch-all target: route all unknown targets to Sphinx using the new
-# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
-%: Makefile
- @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
diff --git a/site/_static/numpylogo.svg b/site/_static/numpylogo.svg
deleted file mode 100644
index 5f0dac70..00000000
--- a/site/_static/numpylogo.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
diff --git a/site/_templates/layout.html b/site/_templates/layout.html
deleted file mode 100644
index c1e3d126..00000000
--- a/site/_templates/layout.html
+++ /dev/null
@@ -1,5 +0,0 @@
-{% extends "!layout.html" %}
-{% block extrahead %}
-
- {{ super() }}
-{% endblock %}
diff --git a/site/applications.md b/site/applications.md
deleted file mode 100644
index fa81374e..00000000
--- a/site/applications.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# NumPy Applications
-
-A collection of highlighting the use of NumPy for applications in science,
-engineering, and data analysis.
-
-```{toctree}
----
-maxdepth: 1
----
-
-content/mooreslaw-tutorial
-content/tutorial-deep-learning-on-mnist
-content/tutorial-x-ray-image-processing
-content/tutorial-static_equilibrium
-content/tutorial-plotting-fractals
-content/tutorial-air-quality-analysis
-```
diff --git a/site/conf.py b/site/conf.py
deleted file mode 100644
index e1fe5b63..00000000
--- a/site/conf.py
+++ /dev/null
@@ -1,80 +0,0 @@
-# Configuration file for the Sphinx documentation builder.
-#
-# -- Path setup --------------------------------------------------------------
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-#
-# import os
-# import sys
-# sys.path.insert(0, os.path.abspath('.'))
-
-
-# -- Project information -----------------------------------------------------
-from datetime import date
-
-project = 'NumPy tutorials'
-copyright = f'2020-{date.today().year}, the NumPy community'
-author = 'the NumPy community'
-
-
-# -- General configuration ---------------------------------------------------
-
-# Add any Sphinx extension module names here, as strings. They can be
-# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
-# ones.
-extensions = [
- 'myst_nb',
- 'sphinx_copybutton',
-]
-
-myst_enable_extensions = [
- 'dollarmath',
-]
-
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-# This pattern also affects html_static_path and html_extra_path.
-exclude_patterns = ['_build',
- 'Thumbs.db',
- '.DS_Store',
- 'notebooks',
- 'content/tutorial-nlp-from-scratch/README.md',
- ]
-
-# MyST-NB configuration
-nb_execution_timeout = 900
-
-
-# -- Options for HTML output -------------------------------------------------
-
-# The theme to use for HTML and HTML Help pages. See the documentation for
-# a list of builtin themes.
-#
-html_theme = 'sphinx_book_theme'
-html_title = 'NumPy Tutorials'
-html_logo = '_static/numpylogo.svg'
-html_favicon = '_static/favicon.png'
-html_theme_options = {
- "github_url": "https://github.com/numpy/numpy-tutorials/",
- "repository_url": "https://github.com/numpy/numpy-tutorials/",
- "repository_branch": "main",
- "use_repository_button": True,
- "use_issues_button": True,
- "use_edit_page_button": True,
- "path_to_docs": "site/",
- "launch_buttons": {
- "binderhub_url": "https://mybinder.org",
-# "jupyterhub_url": "Not a URL: dummy for theme demo.",
- },
-}
-
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
diff --git a/site/content b/site/content
deleted file mode 120000
index 67872980..00000000
--- a/site/content
+++ /dev/null
@@ -1 +0,0 @@
-../content/
\ No newline at end of file
diff --git a/site/features.md b/site/features.md
deleted file mode 100644
index fb966a8a..00000000
--- a/site/features.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# NumPy Features
-
-A collection of notebooks pertaining to built-in NumPy functionality.
-
-```{toctree}
----
-maxdepth: 1
----
-
-content/tutorial-svd
-content/save-load-arrays
-content/tutorial-ma
-```
diff --git a/site/make.bat b/site/make.bat
deleted file mode 100644
index 2119f510..00000000
--- a/site/make.bat
+++ /dev/null
@@ -1,35 +0,0 @@
-@ECHO OFF
-
-pushd %~dp0
-
-REM Command file for Sphinx documentation
-
-if "%SPHINXBUILD%" == "" (
- set SPHINXBUILD=sphinx-build
-)
-set SOURCEDIR=.
-set BUILDDIR=_build
-
-if "%1" == "" goto help
-
-%SPHINXBUILD% >NUL 2>NUL
-if errorlevel 9009 (
- echo.
- echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
- echo.installed, then set the SPHINXBUILD environment variable to point
- echo.to the full path of the 'sphinx-build' executable. Alternatively you
- echo.may add the Sphinx directory to PATH.
- echo.
- echo.If you don't have Sphinx installed, grab it from
- echo.http://sphinx-doc.org/
- exit /b 1
-)
-
-%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
-goto end
-
-:help
-%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
-
-:end
-popd
diff --git a/site/requirements.txt b/site/requirements.txt
deleted file mode 100644
index e040deba..00000000
--- a/site/requirements.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-sphinx
-myst-nb
-sphinx-book-theme
-sphinx-copybutton