From 15de24e5a9ec07731c5af02b916ccc001fd1333c Mon Sep 17 00:00:00 2001 From: JanPalasek Date: Sun, 10 Jul 2022 12:39:29 +0200 Subject: [PATCH] Moved examples to separate repo, added new notebook for testing purposes. --- README.md | 2 +- examples/demo.html | 1099 ---------------------------------- examples/demo.ipynb | 544 ----------------- tests/fixture/basic.ipynb | 333 ---------- tests/fixture/notebook.ipynb | 354 +++++++++++ tests/test_cli.py | 2 +- 6 files changed, 356 insertions(+), 1978 deletions(-) delete mode 100644 examples/demo.html delete mode 100644 examples/demo.ipynb delete mode 100644 tests/fixture/basic.ipynb create mode 100644 tests/fixture/notebook.ipynb diff --git a/README.md b/README.md index e4704e3..effe0e4 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ To unlock the full potential of Pretty Jupyter, see [the customization section]( ## Documentation - [Documentation for Pretty Jupyter](https://github.com/JanPalasek/pretty-jupyter/wiki). -- Examples on GitHub: Can be found in the directory `examples`. +- [Examples](https://github.com/JanPalasek/pretty-jupyter-examples). ## Dev Installation ```sh diff --git a/examples/demo.html b/examples/demo.html deleted file mode 100644 index 14f027a..0000000 --- a/examples/demo.html +++ /dev/null @@ -1,1099 +0,0 @@ - - - - - - - - - - - - Pretty Jupyter Demo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
- -
- - - -
-
- - -
-
- - - - - -
-
%load_ext pretty_jupyter
-
-import pandas as pd
-import matplotlib.pyplot as plt
-import seaborn as sns
-
-sns.set_theme()
-
-blue_color = sns.color_palette()[0]
-
- -
- - - - - - - -

Motivation

The goal of this file is to demonstrate the capabilities of Pretty Jupyter package.

- - - - - - - - - - - -

Input Data

-

In this section, we inspect the input data.

- - - - - -
-
data = pd.DataFrame({
-    "money": [30000, 40000, 70000, 65000, 25000],
-    "weight": [80, 50, 80, 70, 54],
-    "gender": ["Male", "Female", "Male", "Male", "Female"]
-})
-data.head()
-
- -
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
moneyweightgender
03000080Male
14000050Female
27000080Male
36500070Male
42500054Female
-
- - - - - - - - - - -

The input dataset has:

-
    -
  • 5 rows,
  • -
  • 3 columns.
  • -
-

The columns and their dtypes are the following:

- - - - - -
-
data.dtypes.reset_index().rename(columns={"index": "col_name", 0: "dtype"})
-
- -
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
col_namedtype
0moneyint64
1weightint64
2genderobject
-
- - - - - - - - - - -

Money

- - - - -
-
fig, ax = plt.subplots()
-bins = data["money"].sort_values().pipe(pd.cut,
-    [0, 20000, 30000, 50000, 100000, 1000000000000],
-    labels=["0-20000", "20000-30000", "30000-50000", "50000-100000", ">100000"]).value_counts()
-sns.barplot(x=bins.index, y=bins.values, color=blue_color)
-ax.set(title="Histogram of money", xlabel="Money category", ylabel="Count")
-ax.set_xticklabels(ax.get_xticklabels(), rotation=45)
-plt.show()
-
- -
- - - - - - - - - - - - - - - - - - -

Gender

- - - - -
-
ax = sns.barplot(data=data["gender"].value_counts().reset_index(), x="index", y="gender", color=blue_color)
-ax.set(title="Gender countplot", xlabel="Gender", ylabel="Count")
-ax.figure.show()
-
- -
- - - - - - - - - - - - - - - - - - -

Weight

Weight is a continuous variable.

- - - - - -
-
ax = sns.kdeplot(data["weight"])
-ax.set(title="Weight KDE", xlabel="Weight")
-plt.show()
-
- -
- - - - - - - - - - - - - - - - - - -

Correlations

Correlation between the money and weight seems to be rather weak. The gender is not analyzed because it's a categorical variable.

- - - - - -
-
sns.heatmap(data.corr().abs(), cmap="Blues", vmin=0, vmax=1)
-plt.show()
-
- -
- - - - - - - - - - - - - - - - - - -

Conclusion

Pretty Jupyter is awesome and I'm definitely installing it ;).

- - - - -
-
- - - - - - - - - - \ No newline at end of file diff --git a/examples/demo.ipynb b/examples/demo.ipynb deleted file mode 100644 index dadf845..0000000 --- a/examples/demo.ipynb +++ /dev/null @@ -1,544 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "%load_ext pretty_jupyter\n", - "\n", - "import pandas as pd\n", - "import matplotlib.pyplot as plt\n", - "import seaborn as sns\n", - "\n", - "sns.set_theme()\n", - "\n", - "blue_color = sns.color_palette()[0]" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "## Motivation\n", - "The goal of this file is to demonstrate the capabilities of Pretty Jupyter package." - ], - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%jinja markdown\n", - "\n", - "## Motivation\n", - "The goal of this file is to demonstrate the capabilities of Pretty Jupyter package." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "## Input Data\n", - "\n", - "\n", - "In this section, we inspect the input data." - ], - "text/plain": [ - "" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%jinja markdown\n", - "\n", - "## Input Data\n", - "[//]: <> (-.- tabset tabset-pills)\n", - "\n", - "In this section, we inspect the input data." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
moneyweightgender
03000080Male
14000050Female
27000080Male
36500070Male
42500054Female
\n", - "
" - ], - "text/plain": [ - " money weight gender\n", - "0 30000 80 Male\n", - "1 40000 50 Female\n", - "2 70000 80 Male\n", - "3 65000 70 Male\n", - "4 25000 54 Female" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "data = pd.DataFrame({\n", - " \"money\": [30000, 40000, 70000, 65000, 25000],\n", - " \"weight\": [80, 50, 80, 70, 54],\n", - " \"gender\": [\"Male\", \"Female\", \"Male\", \"Male\", \"Female\"]\n", - "})\n", - "data.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "The input dataset has:\n", - "- 5 rows,\n", - "- 3 columns.\n", - "\n", - "The columns and their dtypes are the following:" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%jinja markdown\n", - "\n", - "The input dataset has:\n", - "- {{ data.shape[0] }} rows,\n", - "- {{ data.columns.shape[0]}} columns.\n", - "\n", - "The columns and their dtypes are the following:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
col_namedtype
0moneyint64
1weightint64
2genderobject
\n", - "
" - ], - "text/plain": [ - " col_name dtype\n", - "0 money int64\n", - "1 weight int64\n", - "2 gender object" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "data.dtypes.reset_index().rename(columns={\"index\": \"col_name\", 0: \"dtype\"})" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "### Money" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%jinja markdown\n", - "\n", - "### Money" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "fig, ax = plt.subplots()\n", - "bins = data[\"money\"].sort_values().pipe(pd.cut,\n", - " [0, 20000, 30000, 50000, 100000, 1000000000000],\n", - " labels=[\"0-20000\", \"20000-30000\", \"30000-50000\", \"50000-100000\", \">100000\"]).value_counts()\n", - "sns.barplot(x=bins.index, y=bins.values, color=blue_color)\n", - "ax.set(title=\"Histogram of money\", xlabel=\"Money category\", ylabel=\"Count\")\n", - "ax.set_xticklabels(ax.get_xticklabels(), rotation=45)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "### Gender" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%jinja markdown\n", - "### Gender" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\janpa\\AppData\\Local\\Temp\\ipykernel_16720\\2606098142.py:3: UserWarning: Matplotlib is currently using module://matplotlib_inline.backend_inline, which is a non-GUI backend, so cannot show the figure.\n", - " ax.figure.show()\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "ax = sns.barplot(data=data[\"gender\"].value_counts().reset_index(), x=\"index\", y=\"gender\", color=blue_color)\n", - "ax.set(title=\"Gender countplot\", xlabel=\"Gender\", ylabel=\"Count\")\n", - "ax.figure.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "### Weight\n", - "Weight is a continuous variable." - ], - "text/plain": [ - "" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%jinja markdown\n", - "\n", - "### Weight\n", - "Weight is a continuous variable." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "ax = sns.kdeplot(data[\"weight\"])\n", - "ax.set(title=\"Weight KDE\", xlabel=\"Weight\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "### Correlations\n", - "\n", - "Correlation between the money and weight seems to be rather weak. The gender is not analyzed because it's a categorical variable." - ], - "text/plain": [ - "" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%jinja markdown\n", - "### Correlations\n", - "\n", - "Correlation between the money and weight seems to be rather weak. The gender is not analyzed because it's a categorical variable.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "sns.heatmap(data.corr().abs(), cmap=\"Blues\", vmin=0, vmax=1)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "## Conclusion\n", - "\n", - "**Pretty Jupyter is awesome and I'm definitely installing it ;).**" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%jinja markdown\n", - "\n", - "## Conclusion\n", - "\n", - "**Pretty Jupyter is awesome and I'm definitely installing it ;).**" - ] - } - ], - "metadata": { - "code_folding": "hide", - "kernelspec": { - "display_name": "Python 3.9.13 ('venv': venv)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.13" - }, - "orig_nbformat": 4, - "title": "Pretty Jupyter Demo", - "toc": true, - "vscode": { - "interpreter": { - "hash": "bcd7e97cf71e998a93ec80db15725ed4a4806c1de3630361ecb7124b538cb899" - } - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/tests/fixture/basic.ipynb b/tests/fixture/basic.ipynb deleted file mode 100644 index e0bb76f..0000000 --- a/tests/fixture/basic.ipynb +++ /dev/null @@ -1,333 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "c438d2e4", - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "import pandas as pd\n", - "import matplotlib.pyplot as plt\n", - "\n", - "%load_ext pretty_jupyter" - ] - }, - { - "cell_type": "markdown", - "id": "61f12045", - "metadata": {}, - "source": [ - "# Motivation\n", - "The motivation of this simple notebook is to perform test of the template generation for a basic report and show how it behaves in different situation.\n", - "\n", - "For this purpose, we will attempt to use standard commands that are usually used throughout the report and work with them." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "262c4694", - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "# Data\n", - "\n", - "We try a document on an example of dataset countries. The dataset has two columns: Country and Region. Country is name of the country and Region is its corresponding continent." - ], - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%jinja markdown\n", - "# Data\n", - "[//]: <> (-.- tabset tabset-pills)\n", - "We try a document on an example of dataset countries. The dataset has two columns: Country and Region. Country is name of the country and Region is its corresponding continent." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "4bf836bc", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
CountryRegion
0AlgeriaAFRICA
1AngolaAFRICA
2BeninAFRICA
3BotswanaAFRICA
4BurkinaAFRICA
\n", - "
" - ], - "text/plain": [ - " Country Region\n", - "0 Algeria AFRICA\n", - "1 Angola AFRICA\n", - "2 Benin AFRICA\n", - "3 Botswana AFRICA\n", - "4 Burkina AFRICA" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "data = pd.read_csv(\"https://raw.githubusercontent.com/cs109/2014_data/master/countries.csv\")\n", - "data.head()" - ] - }, - { - "cell_type": "markdown", - "id": "1e383abb", - "metadata": {}, - "source": [ - "## Region" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "a72195e8", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\janpa\\AppData\\Local\\Temp\\ipykernel_19868\\1128754906.py:6: UserWarning: FixedFormatter should only be used together with FixedLocator\n", - " ax.set_xticklabels(vc.index, rotation=30)\n", - "C:\\Users\\janpa\\AppData\\Local\\Temp\\ipykernel_19868\\1128754906.py:7: UserWarning: Matplotlib is currently using module://matplotlib_inline.backend_inline, which is a non-GUI backend, so cannot show the figure.\n", - " fig.show()\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "fig, ax = plt.subplots()\n", - "\n", - "vc = data[\"Region\"].value_counts()\n", - "ax.bar(vc.index, vc.values)\n", - "ax.set(title=\"The number of countries for each region\", xlabel=\"Region\", ylabel=\"Total countries\")\n", - "ax.set_xticklabels(vc.index, rotation=30)\n", - "fig.show()" - ] - }, - { - "cell_type": "markdown", - "id": "d8d63062", - "metadata": {}, - "source": [ - "## Country\n", - "\n", - "Every country is unique in the dataset. Some examples:" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "09097bd6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Country
0Algeria
1Angola
2Benin
3Botswana
4Burkina
\n", - "
" - ], - "text/plain": [ - " Country\n", - "0 Algeria\n", - "1 Angola\n", - "2 Benin\n", - "3 Botswana\n", - "4 Burkina" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "data[[\"Country\"]].head()" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "c844d317", - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "There is the total of 194 countries." - ], - "text/plain": [ - "" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%jinja markdown\n", - "\n", - "There is the total of {{ data[\"Country\"] | length }} countries." - ] - }, - { - "cell_type": "markdown", - "id": "538621bf", - "metadata": {}, - "source": [ - "# Conclusion\n", - "We tested basic properties of the new Rmd template and it just seems to be amazing!" - ] - } - ], - "metadata": { - "author": "Jan Palasek", - "hide_input": false, - "kernelspec": { - "display_name": "Python 3.9.13 ('venv': venv)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.13" - }, - "title": "Basic", - "vscode": { - "interpreter": { - "hash": "bcd7e97cf71e998a93ec80db15725ed4a4806c1de3630361ecb7124b538cb899" - } - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/tests/fixture/notebook.ipynb b/tests/fixture/notebook.ipynb new file mode 100644 index 0000000..a899bf4 --- /dev/null +++ b/tests/fixture/notebook.ipynb @@ -0,0 +1,354 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "%load_ext pretty_jupyter" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "\n", + "# Introduction\n", + "\n", + "The purpose of this notebook is only to test functionality of the Pretty Jupyter.\n", + "\n", + "# Chapter 1: Tabs\n", + "\n", + "\n", + "First we will test tabsets together with maths. We can clearly see that no math symbol is leaking.\n", + "\n", + "## Tab 1\n", + "\n", + "First tab.\n", + "\n", + "## Tab 2\n", + "\n", + "Second tab. This tab contains some math symbols, such as inline math: $a = 5$.\n", + "\n", + "Another symbol:\n", + "\n", + "$$a \\cdot a^2 = \\frac{a^5}{a^2} = a^3 = 125$$\n", + "\n", + "## Tab 3\n", + "\n", + "Tab 3." + ], + "text/plain": [ + "" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%%jinja markdown\n", + "\n", + "# Introduction\n", + "\n", + "The purpose of this notebook is only to test functionality of the Pretty Jupyter.\n", + "\n", + "# Chapter 1: Tabs\n", + "[//]: <> (-.- tabset tabset-pills)\n", + "\n", + "First we will test tabsets together with maths. We can clearly see that no math symbol is leaking.\n", + "\n", + "## Tab 1\n", + "\n", + "First tab.\n", + "\n", + "## Tab 2\n", + "\n", + "Second tab. This tab contains some math symbols, such as inline math: $a = 5$.\n", + "\n", + "Another symbol:\n", + "\n", + "$$a \\cdot a^2 = \\frac{a^5}{a^2} = a^3 = 125$$\n", + "\n", + "## Tab 3\n", + "\n", + "Tab 3." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "\n", + "# Chapter 2: Jinja Markdown\n", + "\n", + "Jinja Markdown is a great way how to combine variables together with Markdown." + ], + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%%jinja markdown\n", + "\n", + "# Chapter 2: Jinja Markdown\n", + "\n", + "Jinja Markdown is a great way how to combine variables together with Markdown." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "\n", + "data = pd.DataFrame({\n", + " \"A\": [1, 2, 3, 4],\n", + " \"B\": [\"One\", \"Two\", \"Three\", \"Four\"]\n", + "})" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "\n", + "Using Jinja Markdown, we can show the table as part of our markdown text:\n", + "\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AB
01One
12Two
23Three
34Four
\n", + "\n", + "
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%%jinja markdown\n", + "\n", + "Using Jinja Markdown, we can show the table as part of our markdown text:\n", + "\n", + "
\n", + "\n", + "{{ data.to_html() }}\n", + "\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "a = 10" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "\n", + "We can also combine variables and math symbols thanks to Jinja Markdown and create more complex expressions, such as the following:\n", + "\n", + "\n", + "
\n", + "\n", + "$$\n", + "\n", + "\\begin{align}\n", + "\n", + "a &= 10 \\\\\n", + "\\frac{a^{10}}{a^8} &= \\frac{ 10^{10} }{ 10^8 } \\\\\n", + "\\frac{ 10^{10} }{ 10^8 } &= 10^{2} \\\\\n", + "10^{2} &= 100 \\\\\n", + "\n", + "\\end{align}\n", + "$$\n", + "\n", + "
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%%jinja markdown\n", + "\n", + "We can also combine variables and math symbols thanks to Jinja Markdown and create more complex expressions, such as the following:\n", + "\n", + "\n", + "
\n", + "\n", + "$$\n", + "\n", + "\\begin{align}\n", + "\n", + "a &= {{a}} \\\\\n", + "\\frac{a^{10}}{a^8} &= \\frac{ {{a}}^{10} }{ {{a}}^8 } \\\\\n", + "\\frac{ {{a}}^{10} }{ {{a}}^8 } &= {{a}}^{2} \\\\\n", + "{{a}}^{2} &= {{ a ** 2 }} \\\\\n", + "\n", + "\\end{align}\n", + "$$\n", + "\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "sns.set_theme()\n", + "\n", + "import base64\n", + "from io import BytesIO\n", + "\n", + "IMG_FORMAT = r\"'\"\n", + "\n", + "tmpfile = BytesIO()\n", + "\n", + "fig, ax = plt.subplots()\n", + "sns.countplot(x=data[\"A\"], ax=ax).set(title=\"Example Figure\")\n", + "fig.savefig(tmpfile, format=\"png\")\n", + "plt.close()\n", + "\n", + "encoded = IMG_FORMAT.format(encoded=base64.b64encode(tmpfile.getvalue()).decode('utf-8'))" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "\n", + "We can even include matplotlib figures in-between our markdown, although this is a bit hardcore.\n", + "\n", + "**Watch this:**\n", + "\n", + "'" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%%jinja markdown\n", + "\n", + "We can even include matplotlib figures in-between our markdown, although this is a bit hardcore.\n", + "\n", + "**Watch this:**\n", + "\n", + "{{ encoded }}\n", + "\n" + ] + } + ], + "metadata": { + "code_folding": "show", + "kernelspec": { + "display_name": "Python 3.9.13 ('venv': venv)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.13" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "bcd7e97cf71e998a93ec80db15725ed4a4806c1de3630361ecb7124b538cb899" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/tests/test_cli.py b/tests/test_cli.py index 56d76a7..5400f73 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -5,7 +5,7 @@ @pytest.fixture def input_path(): - return "tests/fixture/basic.ipynb" + return "tests/fixture/notebook.ipynb" def test_nbconvert(input_path, tmpdir):