Skip to content

Commit

Permalink
Test support for more Jupyter languages
Browse files Browse the repository at this point in the history
Fix #179
  • Loading branch information
mwouts committed Feb 16, 2019
1 parent 4b814e3 commit c6c6a53
Show file tree
Hide file tree
Showing 7 changed files with 270 additions and 1 deletion.
131 changes: 131 additions & 0 deletions tests/notebooks/ipynb_py/Notebook with html and latex cells.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<p><a href=\"https://github.com/mwouts/jupytext\", style=\"color: rgb(0,0,255)\">Jupytext</a> on GitHub</p>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%html\n",
"<p><a href=\"https://github.com/mwouts/jupytext\", style=\"color: rgb(0,0,255)\">Jupytext</a> on GitHub</p>"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$\\frac{\\pi}{2}$"
],
"text/plain": [
"<IPython.core.display.Latex object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%latex\n",
"$\\frac{\\pi}{2}$"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"%load_ext rpy2.ipython"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R\n",
"library(ggplot2)\n",
"ggplot(data=data.frame(x=c('A', 'B'), y=c(5, 2)), aes(x,weight=y)) + geom_bar()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x2da0c41a9e8>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAMYAAACMCAYAAAAnWNZXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAABSVJREFUeJzt3U2IVXUcxvHnSY2CQogZWvjSLSjEVcIQgasMQjNqEaVFrYJZBRZBWIuwXW0iKAmml1WREBlECRWkUAujGWuhTYKYkZSlLXqHMJ8WTmD5yzniPXPuzP1+YGDu3MOZHxe+/M+5c5m/kwjAv13U9QDAICIMoEAYQIEwgAJhAAXCAAqEARQIAygQBlBY3MZJR0ZG0uv12jg1cEGmpqZOJBmd7bhWwuj1epqcnGzj1MAFsf11k+O4lAIKhAEUCAMotHKP0Ybe1ne7HmFWR57a2PUI6BNWDKBAGECBMIACYQAFwgAKhAEUCAMoEAZQIAygQBhAgTCAAmEABcIACoQBFAgDKBAGUCAMoNA4DNuLbH9m+502BwIGwfmsGFskTbc1CDBIGoVhe7mkjZJeanccYDA0XTGelfSopFP/d4DtcduTtiePHz/el+GArswahu3bJP2QZOpcxyWZSDKWZGx0dNb/gAgMtCYrxlpJt9s+ImmHpHW2X211KqBjs4aR5LEky5P0JG2W9GGS+1qfDOgQf8cACuf1nwiT7JG0p5VJgAHCigEUCAMoEAZQIAygQBhAgTCAAmEABcIACoQBFAgDKBAGUCAMoEAYQIEwgAJhAAXCAAqEARQIAygQBlAgDKBAGECBMIACYQAFwgAKhAEUCAMoEAZQIAygQBhAgTCAAmEABcIACk02p1xhe7ftadsHbG+Zi8GALjXZUemkpEeS7LN9uaQp2x8k+aLl2YDONNmc8rsk+2a+/0XStKRlbQ8GdOm87jFs9yStkfRJG8MAg6Lx5pS2L5P0pqSHkvxcPD8uaVySVq5c2bcB0YJtS7ueoJltP3X2qxutGLaX6HQUryXZWR2TZCLJWJKx0dHRfs4IzLkm70pZ0suSppM80/5IQPearBhrJd0vaZ3tz2e+bm15LqBTs95jJPlYkudgFmBg8JdvoEAYQIEwgAJhAAXCAAqEARQIAygQBlAgDKBAGECBMIACYQAFwgAKhAEUCAMoEAZQIAygQBhAgTCAAmEABcIACoQBFAgDKBAGUCAMoEAYQIEwgAJhAAXCAAqEARQIAygQBlBougffetsHbR+yvbXtoYCuNdmDb5Gk7ZI2SFot6R7bq9seDOhSkxXjBkmHkhxO8qekHZLuaHcsoFtNwlgm6ZszHh+d+RmwYM26OaXqjSlz1kH2uKTxmYe/2j54IYPNgRFJJ/p5Qj/dz7PNO31/PfVkK3uiXtXkoCZhHJW04ozHyyV9+9+DkkxImmg02gCwPZlkrOs5FoqF9no2uZT6VNK1tq+2fbGkzZLebncsoFtN9vk+aftBSe9JWiTplSQHWp8M6FCTSykl2SVpV8uzzLV5c9k3Tyyo19PJWffRwNDjIyFAgTCAwlCHYXut7e1dz4HB0+jmeyGxfb2keyXdLekrSTu7nWhhsD0i6ccskJvWoVgxbF9n+wnb05Ke1+mPuDjJTUme63i8ecf2jbb32N5pe43t/ZL2S/re9vqu5+uHoXhXyvYpSR9JeiDJoZmfHU5yTbeTzU+2JyU9LmmpTr9NuyHJXturJL2eZE2nA/bBUKwYku6UdEzSbtsv2r5Z9WfA0MziJO8neUPSsSR7JSnJlx3P1TdDEUaSt5JskrRK0h5JD0u60vYLtm/pdLj56dQZ3//xn+cWxCXIUFxKVWxfIekuSZuSrOt6nvnE9l+SftPpVfdSSb//85SkS5Is6Wq2fhnaMIBzGYpLKeB8EQZQIAygQBhAgTCAwt/7zRbab6vZ+QAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 216x144 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"import pandas as pd\n",
"pd.Series({'A':5, 'B':2}).plot(figsize=(3,2), kind='bar')"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.6.6"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
jupyter:
kernelspec:
display_name: Python 3
language: python
name: python3
---

```{html}
<p><a href="https://github.com/mwouts/jupytext", style="color: rgb(0,0,255)">Jupytext</a> on GitHub</p>
```

```{latex}
$\frac{\pi}{2}$
```

```{python}
# %load_ext rpy2.ipython
```

```{r}
library(ggplot2)
ggplot(data=data.frame(x=c('A', 'B'), y=c(5, 2)), aes(x,weight=y)) + geom_bar()
```

```{python}
# %matplotlib inline
import pandas as pd
pd.Series({'A':5, 'B':2}).plot(figsize=(3,2), kind='bar')
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# ---
# jupyter:
# kernelspec:
# display_name: Python 3
# language: python
# name: python3
# ---

# %%
%%html
<p><a href="https://github.com/mwouts/jupytext", style="color: rgb(0,0,255)">Jupytext</a> on GitHub</p>

# %%
%%latex
$\frac{\pi}{2}$

# %%
%load_ext rpy2.ipython

# %%
%%R
library(ggplot2)
ggplot(data=data.frame(x=c('A', 'B'), y=c(5, 2)), aes(x,weight=y)) + geom_bar()

# %%
%matplotlib inline
import pandas as pd
pd.Series({'A':5, 'B':2}).plot(figsize=(3,2), kind='bar')
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
jupyter:
kernelspec:
display_name: Python 3
language: python
name: python3
---

```html
<p><a href="https://github.com/mwouts/jupytext", style="color: rgb(0,0,255)">Jupytext</a> on GitHub</p>
```

```latex
$\frac{\pi}{2}$
```

```python
%load_ext rpy2.ipython
```

```R
library(ggplot2)
ggplot(data=data.frame(x=c('A', 'B'), y=c(5, 2)), aes(x,weight=y)) + geom_bar()
```

```python
%matplotlib inline
import pandas as pd
pd.Series({'A':5, 'B':2}).plot(figsize=(3,2), kind='bar')
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# ---
# jupyter:
# kernelspec:
# display_name: Python 3
# language: python
# name: python3
# ---

# %% {"language": "html"}
# <p><a href="https://github.com/mwouts/jupytext", style="color: rgb(0,0,255)">Jupytext</a> on GitHub</p>

# %% {"language": "latex"}
# $\frac{\pi}{2}$

# %%
# %load_ext rpy2.ipython

# %% {"language": "R"}
# library(ggplot2)
# ggplot(data=data.frame(x=c('A', 'B'), y=c(5, 2)), aes(x,weight=y)) + geom_bar()

# %%
# %matplotlib inline
import pandas as pd
pd.Series({'A':5, 'B':2}).plot(figsize=(3,2), kind='bar')
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# ---
# jupyter:
# kernelspec:
# display_name: Python 3
# language: python
# name: python3
# ---

# + {"language": "html"}
# <p><a href="https://github.com/mwouts/jupytext", style="color: rgb(0,0,255)">Jupytext</a> on GitHub</p>

# + {"language": "latex"}
# $\frac{\pi}{2}$
# -

# %load_ext rpy2.ipython

# + {"language": "R"}
# library(ggplot2)
# ggplot(data=data.frame(x=c('A', 'B'), y=c(5, 2)), aes(x,weight=y)) + geom_bar()
# -

# %matplotlib inline
import pandas as pd
pd.Series({'A':5, 'B':2}).plot(figsize=(3,2), kind='bar')
2 changes: 1 addition & 1 deletion tests/test_mirror.py
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ def test_spin_to_ipynb(nb_file):
assert_conversion_same_as_mirror(nb_file, 'ipynb:spin', 'script_to_ipynb')


@pytest.mark.parametrize('nb_file', list_notebooks('ipynb_py', skip='(raw|hash|frozen|magic|164)'))
@pytest.mark.parametrize('nb_file', list_notebooks('ipynb_py', skip='(raw|hash|frozen|magic|html|164)'))
def test_ipynb_to_python_sphinx(nb_file):
assert_conversion_same_as_mirror(nb_file, 'py:sphinx', 'ipynb_to_sphinx')

Expand Down

0 comments on commit c6c6a53

Please sign in to comment.