codecov[bot]: # [Codecov](https://codecov.io/gh/mwouts/jupytext/pull/439?src=pr&el=h1) Report
> Merging [#439](https://codecov.io/gh/mwouts/jupytext/pull/439?src=pr&el=desc) into [master](https://codecov.io/gh/mwouts/jupytext/commit/7fd991f2dd402a900c40cb385e7bfc586790094e?src=pr&el=desc) will **increase** coverage by `0.01%`.
> The diff coverage is `100%`.

[![Impacted file tree graph](https://codecov.io/gh/mwouts/jupytext/pull/439/graphs/tree.svg?width=650&token=a1pNjsiILi&height=150&src=pr)](https://codecov.io/gh/mwouts/jupytext/pull/439?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master     #439      +/-   ##
==========================================
+ Coverage   97.97%   97.99%   +0.01%     
==========================================
  Files          77       77              
  Lines        7720     7725       +5     
==========================================
+ Hits         7564     7570       +6     
+ Misses        156      155       -1
```


| [Impacted Files](https://codecov.io/gh/mwouts/jupytext/pull/439?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [tests/test\_read\_simple\_python.py](https://codecov.io/gh/mwouts/jupytext/pull/439/diff?src=pr&el=tree#diff-dGVzdHMvdGVzdF9yZWFkX3NpbXBsZV9weXRob24ucHk=) | `100% <100%> (ø)` | :arrow_up: |
| [jupytext/magics.py](https://codecov.io/gh/mwouts/jupytext/pull/439/diff?src=pr&el=tree#diff-anVweXRleHQvbWFnaWNzLnB5) | `100% <100%> (ø)` | :arrow_up: |
| [jupytext/cell\_metadata.py](https://codecov.io/gh/mwouts/jupytext/pull/439/diff?src=pr&el=tree#diff-anVweXRleHQvY2VsbF9tZXRhZGF0YS5weQ==) | `98.66% <0%> (+0.33%)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/mwouts/jupytext/pull/439?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/mwouts/jupytext/pull/439?src=pr&el=footer). Last update [7fd991f...36a518e](https://codecov.io/gh/mwouts/jupytext/pull/439?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

diff --git a/CHANGELOG.md b/CHANGELOG.md
index e325459..90ac8aa 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,7 @@
 **Fixed**
 - `jupytext --to script *.ipynb` now computes the script extension for each notebook (#428) 
 - Fix shebang handling for languages with non-# comments, by Jonas Bushart (#434)
+- Indented bash commands are now commented out (#437)
 
 
 1.3.3 (2020-01-27)
diff --git a/jupytext/magics.py b/jupytext/magics.py
index 4fc3527..2b49064 100644
--- a/jupytext/magics.py
+++ b/jupytext/magics.py
@@ -26,7 +26,7 @@ _MAGIC_FORCE_ESC_RE['csharp'] = re.compile(r"^(// |//)*#![a-zA-Z](.*)//\s*escape
 _MAGIC_FORCE_ESC_RE['csharp'] = re.compile(r"^(// |//)*#![a-zA-Z](.*)//\s*noescape")
 
 # Commands starting with a question or exclamation mark have to be escaped
-_PYTHON_HELP_OR_BASH_CMD = re.compile(r"^(# |#)*(\?|!)\s*[A-Za-z]")
+_PYTHON_HELP_OR_BASH_CMD = re.compile(r"^(# |#)*\s*(\?|!)\s*[A-Za-z]")
 
 # A bash command not followed by an equal sign or a parenthesis is a magic command
 _PYTHON_MAGIC_CMD = re.compile(r"^(# |#)*({})($|\s$|\s[^=,])".format('|'.join(

exclamation mark not correctly handled
I am using
```bash
pip freeze | grep jupytext
jupytext==1.2.4
```
and the following MWE file (say `Untitled.md`)
```markdown
try:
    !echo jo
except:
    pass
```
(which is intended to be run as a jupyter notebook inside a jupyter server using the jupytext extension, which works well, btw.) is not correctly converted to python on the command line. I.e., the output of
```bash
jupytext --to py Untitled.ipynb
```
yields the following `Untitled.py`:
```bash
cat Untitled.py 
# ---
# jupyter:
#   jupytext:
#     text_representation:
#       extension: .py
#       format_name: light
#       format_version: '1.4'
#       jupytext_version: 1.2.4
#   kernelspec:
#     display_name: Python 3
#     language: python
#     name: python3
# ---

try:
    !echo jo
except:
    pass
```

I would expect the `!echo jo` statement to be commented out, but the presence of the `try:` seems to hinder this...
This is related to #149, but not the same.
diff --git a/tests/test_read_simple_python.py b/tests/test_read_simple_python.py
index 63417ef..fd03a8a 100644
--- a/tests/test_read_simple_python.py
+++ b/tests/test_read_simple_python.py
@@ -935,3 +935,24 @@ interpreter = 'python'
     compare_notebooks(nb, ref)
     py = jupytext.writes(nb, 'py')
     compare(py, text)
+
+
+def test_indented_bash_command(no_jupytext_version_number,
+                               nb=new_notebook(cells=[new_code_cell("""try:
+    !echo jo
+    pass
+except:
+    pass""")]),
+                               text="""try:
+#     !echo jo
+    pass
+except:
+    pass
+"""
+
+                               ):
+    """Reproduces https://github.com/mwouts/jupytext/issues/437"""
+    py = jupytext.writes(nb, 'py')
+    compare(py, text)
+    nb2 = jupytext.reads(py, 'py')
+    compare_notebooks(nb2, nb)

environment.yml
pip install -e .
parse_log_pytest
environment.yml
pytest
3.7
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
alabaster @ file:///home/conda/feedstock_root/build_artifacts/alabaster_1673645646525/work
anyio @ file:///home/conda/feedstock_root/build_artifacts/anyio_1688651106312/work/dist
argon2-cffi @ file:///home/conda/feedstock_root/build_artifacts/argon2-cffi_1692818318753/work
argon2-cffi-bindings @ file:///home/conda/feedstock_root/build_artifacts/argon2-cffi-bindings_1649500320262/work
asn1crypto @ file:///home/conda/feedstock_root/build_artifacts/asn1crypto_1647369152656/work
astroid @ file:///home/conda/feedstock_root/build_artifacts/astroid_1655142260227/work
attrs @ file:///home/conda/feedstock_root/build_artifacts/attrs_1722977137225/work
autopep8 @ file:///home/conda/feedstock_root/build_artifacts/autopep8_1677845287175/work
Babel @ file:///home/conda/feedstock_root/build_artifacts/babel_1702422572539/work
backcall @ file:///home/conda/feedstock_root/build_artifacts/backcall_1592338393461/work
backports.functools-lru-cache @ file:///home/conda/feedstock_root/build_artifacts/backports.functools_lru_cache_1702571698061/work
beautifulsoup4 @ file:///home/conda/feedstock_root/build_artifacts/beautifulsoup4_1705564648255/work
black @ file:///home/conda/feedstock_root/build_artifacts/black-recipe_1666773063432/work
bleach @ file:///home/conda/feedstock_root/build_artifacts/bleach_1696630167146/work
Brotli @ file:///home/conda/feedstock_root/build_artifacts/brotli-split_1648883617327/work
certifi @ file:///home/conda/feedstock_root/build_artifacts/certifi_1725278078093/work/certifi
cffi @ file:///home/conda/feedstock_root/build_artifacts/cffi_1606236098182/work
charset-normalizer @ file:///home/conda/feedstock_root/build_artifacts/charset-normalizer_1728479282467/work
click @ file:///home/conda/feedstock_root/build_artifacts/click_1651215140632/work
cmarkgfm @ file:///home/conda/feedstock_root/build_artifacts/cmarkgfm_1649209341849/work
colorama @ file:///home/conda/feedstock_root/build_artifacts/colorama_1666700638685/work
comm @ file:///home/conda/feedstock_root/build_artifacts/comm_1710320294760/work
cryptography==2.5
cycler @ file:///home/conda/feedstock_root/build_artifacts/cycler_1635519461629/work
debugpy @ file:///home/conda/feedstock_root/build_artifacts/debugpy_1649586340600/work
decorator @ file:///home/conda/feedstock_root/build_artifacts/decorator_1641555617451/work
defusedxml @ file:///home/conda/feedstock_root/build_artifacts/defusedxml_1615232257335/work
dill @ file:///home/conda/feedstock_root/build_artifacts/dill_1706434688412/work
docutils @ file:///home/conda/feedstock_root/build_artifacts/docutils_1657104278180/work
entrypoints @ file:///home/conda/feedstock_root/build_artifacts/entrypoints_1643888246732/work
exceptiongroup @ file:///home/conda/feedstock_root/build_artifacts/exceptiongroup_1720869315914/work
execnet @ file:///home/conda/feedstock_root/build_artifacts/execnet_1688933357483/work
fastjsonschema @ file:///home/conda/feedstock_root/build_artifacts/python-fastjsonschema_1718477020893/work/dist
flake8 @ file:///home/conda/feedstock_root/build_artifacts/flake8_1659645013175/work
fonttools @ file:///home/conda/feedstock_root/build_artifacts/fonttools_1651017735934/work
idna @ file:///home/conda/feedstock_root/build_artifacts/idna_1726459485162/work
imagesize @ file:///home/conda/feedstock_root/build_artifacts/imagesize_1656939531508/work
importlib-metadata @ file:///home/conda/feedstock_root/build_artifacts/importlib-metadata_1653252814274/work
importlib-resources @ file:///home/conda/feedstock_root/build_artifacts/importlib_resources_1688813467203/work
iniconfig @ file:///home/conda/feedstock_root/build_artifacts/iniconfig_1673103042956/work
ipykernel @ file:///home/conda/feedstock_root/build_artifacts/ipykernel_1666723258080/work
ipython @ file:///home/conda/feedstock_root/build_artifacts/ipython_1651240553635/work
ipython_genutils @ file:///home/conda/feedstock_root/build_artifacts/ipython_genutils_1716278396992/work
ipywidgets @ file:///home/conda/feedstock_root/build_artifacts/ipywidgets_1724334859652/work
isort @ file:///home/conda/feedstock_root/build_artifacts/isort_1675293796116/work
jaraco.classes @ file:///home/conda/feedstock_root/build_artifacts/jaraco.classes_1712041970955/work
jedi @ file:///home/conda/feedstock_root/build_artifacts/jedi_1696326070614/work
jeepney @ file:///home/conda/feedstock_root/build_artifacts/jeepney_1649085214306/work
Jinja2 @ file:///home/conda/feedstock_root/build_artifacts/jinja2_1715127149914/work
json5 @ file:///home/conda/feedstock_root/build_artifacts/json5_1712986206667/work
jsonschema @ file:///home/conda/feedstock_root/build_artifacts/jsonschema-meta_1669810440410/work
jupyter @ file:///home/conda/feedstock_root/build_artifacts/jupyter_1725037521377/work
jupyter-client @ file:///home/conda/feedstock_root/build_artifacts/jupyter_client_1654730843242/work
jupyter-console @ file:///home/conda/feedstock_root/build_artifacts/jupyter_console_1676328545892/work
jupyter-contrib-core @ file:///home/conda/feedstock_root/build_artifacts/jupyter_contrib_core_1657548529421/work
jupyter-contrib-nbextensions @ file:///home/conda/feedstock_root/build_artifacts/jupyter_contrib_nbextensions_1670068802953/work
jupyter-highlight-selected-word @ file:///home/conda/feedstock_root/build_artifacts/jupyter_highlight_selected_word_1695322379939/work
jupyter-latex-envs @ file:///home/conda/feedstock_root/build_artifacts/jupyter_latex_envs_1614852190293/work
jupyter-nbextensions-configurator @ file:///home/conda/feedstock_root/build_artifacts/jupyter_nbextensions_configurator_1670793770953/work
jupyter-server @ file:///home/conda/feedstock_root/build_artifacts/jupyter_server_1671591499479/work
jupyter_core @ file:///home/conda/feedstock_root/build_artifacts/jupyter_core_1658332345782/work
jupyterlab @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_1674494302491/work
jupyterlab_pygments @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_pygments_1700744013163/work
jupyterlab_server @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_server_1690205927615/work
jupyterlab_widgets @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_widgets_1724331334887/work
-e git+https://github.com/mwouts/jupytext.git@7fd991f2dd402a900c40cb385e7bfc586790094e#egg=jupytext
keyring @ file:///home/conda/feedstock_root/build_artifacts/keyring_1663458641609/work
kiwisolver @ file:///home/conda/feedstock_root/build_artifacts/kiwisolver_1648854392523/work
lazy-object-proxy @ file:///home/conda/feedstock_root/build_artifacts/lazy-object-proxy_1649033171084/work
lxml @ file:///home/conda/feedstock_root/build_artifacts/lxml_1649697663207/work
markdown-it-py @ file:///home/conda/feedstock_root/build_artifacts/markdown-it-py_1677100944732/work
MarkupSafe @ file:///home/conda/feedstock_root/build_artifacts/markupsafe_1648737551960/work
matplotlib @ file:///home/conda/feedstock_root/build_artifacts/matplotlib-suite_1651609498426/work
matplotlib-inline @ file:///home/conda/feedstock_root/build_artifacts/matplotlib-inline_1713250518406/work
mccabe @ file:///home/conda/feedstock_root/build_artifacts/mccabe_1643049622439/work
mdurl @ file:///home/conda/feedstock_root/build_artifacts/mdurl_1704317613764/work
mistune @ file:///home/conda/feedstock_root/build_artifacts/mistune_1698947099619/work
more-itertools @ file:///home/conda/feedstock_root/build_artifacts/more-itertools_1690211628840/work
munkres==1.1.4
mypy-extensions @ file:///home/conda/feedstock_root/build_artifacts/mypy_extensions_1675543315189/work
nbclassic @ file:///home/conda/feedstock_root/build_artifacts/nbclassic_1716838762700/work
nbclient @ file:///home/conda/feedstock_root/build_artifacts/nbclient_1665125402713/work
nbconvert @ file:///home/conda/feedstock_root/build_artifacts/nbconvert-meta_1687202153002/work
nbformat @ file:///home/conda/feedstock_root/build_artifacts/nbformat_1679336765223/work
nest_asyncio @ file:///home/conda/feedstock_root/build_artifacts/nest-asyncio_1705850609492/work
notebook @ file:///home/conda/feedstock_root/build_artifacts/notebook_1715848908871/work
notebook_shim @ file:///home/conda/feedstock_root/build_artifacts/notebook-shim_1707957777232/work
numpy @ file:///home/conda/feedstock_root/build_artifacts/numpy_1649806299270/work
olefile @ file:///home/conda/feedstock_root/build_artifacts/olefile_1701735466804/work
packaging @ file:///home/conda/feedstock_root/build_artifacts/packaging_1696202382185/work
pandocfilters @ file:///home/conda/feedstock_root/build_artifacts/pandocfilters_1631603243851/work
parso @ file:///home/conda/feedstock_root/build_artifacts/parso_1712320355065/work
pathspec @ file:///home/conda/feedstock_root/build_artifacts/pathspec_1702249949303/work
pexpect @ file:///home/conda/feedstock_root/build_artifacts/pexpect_1706113125309/work
pickleshare @ file:///home/conda/feedstock_root/build_artifacts/pickleshare_1602536217715/work
Pillow @ file:///home/conda/feedstock_root/build_artifacts/pillow_1630696604087/work
pkginfo @ file:///home/conda/feedstock_root/build_artifacts/pkginfo_1709561090460/work
pkgutil_resolve_name @ file:///home/conda/feedstock_root/build_artifacts/pkgutil-resolve-name_1694617248815/work
platformdirs @ file:///home/conda/feedstock_root/build_artifacts/platformdirs_1699715570510/work
pluggy @ file:///home/conda/feedstock_root/build_artifacts/pluggy_1648772594554/work
prometheus-client @ file:///home/conda/feedstock_root/build_artifacts/prometheus_client_1689032443210/work
prompt_toolkit @ file:///home/conda/feedstock_root/build_artifacts/prompt-toolkit_1727341649933/work
psutil @ file:///home/conda/feedstock_root/build_artifacts/psutil_1653089169272/work
ptyprocess @ file:///home/conda/feedstock_root/build_artifacts/ptyprocess_1609419310487/work/dist/ptyprocess-0.7.0-py2.py3-none-any.whl
pycodestyle @ file:///home/conda/feedstock_root/build_artifacts/pycodestyle_1659638152915/work
pycparser @ file:///home/conda/feedstock_root/build_artifacts/pycparser_1636257122734/work
pyflakes @ file:///home/conda/feedstock_root/build_artifacts/pyflakes_1659210156976/work
Pygments @ file:///home/conda/feedstock_root/build_artifacts/pygments_1700607939962/work
pylint @ file:///home/conda/feedstock_root/build_artifacts/pylint_1649340159108/work
pyparsing @ file:///home/conda/feedstock_root/build_artifacts/pyparsing_1724616129934/work
pyrsistent @ file:///home/conda/feedstock_root/build_artifacts/pyrsistent_1649013358450/work
PySocks @ file:///home/conda/feedstock_root/build_artifacts/pysocks_1648857264451/work
pytest @ file:///home/conda/feedstock_root/build_artifacts/pytest_1704035161844/work
pytest-xdist @ file:///home/conda/feedstock_root/build_artifacts/pytest-xdist_1700592942746/work
python-dateutil @ file:///home/conda/feedstock_root/build_artifacts/python-dateutil_1709299778482/work
pytz @ file:///home/conda/feedstock_root/build_artifacts/pytz_1726055524169/work
PyYAML @ file:///home/conda/feedstock_root/build_artifacts/pyyaml_1648757092905/work
pyzmq @ file:///home/conda/feedstock_root/build_artifacts/pyzmq_1652965483789/work
readme-renderer @ file:///home/conda/feedstock_root/build_artifacts/readme_renderer_1667319054060/work
requests @ file:///home/conda/feedstock_root/build_artifacts/requests_1716354486713/work
requests-toolbelt @ file:///home/conda/feedstock_root/build_artifacts/requests-toolbelt_1682953341151/work
rfc3986 @ file:///home/conda/feedstock_root/build_artifacts/rfc3986_1641825045899/work
rich @ file:///home/conda/feedstock_root/build_artifacts/rich_1726066019428/work/dist
SecretStorage @ file:///home/conda/feedstock_root/build_artifacts/secretstorage_1660605887060/work
Send2Trash @ file:///home/conda/feedstock_root/build_artifacts/send2trash_1712584999685/work
six @ file:///home/conda/feedstock_root/build_artifacts/six_1620240208055/work
sniffio @ file:///home/conda/feedstock_root/build_artifacts/sniffio_1708952932303/work
snowballstemmer @ file:///home/conda/feedstock_root/build_artifacts/snowballstemmer_1637143057757/work
soupsieve @ file:///home/conda/feedstock_root/build_artifacts/soupsieve_1658207591808/work
Sphinx @ file:///home/conda/feedstock_root/build_artifacts/sphinx_1665915552897/work
sphinx-gallery @ file:///home/conda/feedstock_root/build_artifacts/sphinx-gallery_1700542355088/work
sphinxcontrib-applehelp @ file:///home/conda/feedstock_root/build_artifacts/sphinxcontrib-applehelp_1674487779667/work
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp @ file:///home/conda/feedstock_root/build_artifacts/sphinxcontrib-htmlhelp_1675256494457/work
sphinxcontrib-jsmath @ file:///home/conda/feedstock_root/build_artifacts/sphinxcontrib-jsmath_1691604704163/work
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml @ file:///home/conda/feedstock_root/build_artifacts/sphinxcontrib-serializinghtml_1649380998999/work
terminado @ file:///home/conda/feedstock_root/build_artifacts/terminado_1670253674810/work
tinycss2 @ file:///home/conda/feedstock_root/build_artifacts/tinycss2_1729802851396/work
tomli @ file:///home/conda/feedstock_root/build_artifacts/tomli_1727974628237/work
tornado @ file:///home/conda/feedstock_root/build_artifacts/tornado_1648827244717/work
traitlets @ file:///home/conda/feedstock_root/build_artifacts/traitlets_1675110562325/work
twine @ file:///home/conda/feedstock_root/build_artifacts/twine_1669898575620/work
typed-ast @ file:///home/conda/feedstock_root/build_artifacts/typed-ast_1650218777101/work
typing_extensions @ file:///home/conda/feedstock_root/build_artifacts/typing_extensions_1688315532570/work
unicodedata2 @ file:///home/conda/feedstock_root/build_artifacts/unicodedata2_1649111917568/work
urllib3 @ file:///home/conda/feedstock_root/build_artifacts/urllib3_1708239446578/work
wcwidth @ file:///home/conda/feedstock_root/build_artifacts/wcwidth_1699959196938/work
webencodings @ file:///home/conda/feedstock_root/build_artifacts/webencodings_1694681268211/work
websocket-client @ file:///home/conda/feedstock_root/build_artifacts/websocket-client_1687789148259/work
widgetsnbextension @ file:///home/conda/feedstock_root/build_artifacts/widgetsnbextension_1724331337528/work
wrapt @ file:///home/conda/feedstock_root/build_artifacts/wrapt_1651495229974/work
zipp @ file:///home/conda/feedstock_root/build_artifacts/zipp_1677313463193/work

name: jupytext
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - alabaster=0.7.13=pyhd8ed1ab_0
  - anyio=3.7.1=pyhd8ed1ab_0
  - argon2-cffi=23.1.0=pyhd8ed1ab_0
  - argon2-cffi-bindings=21.2.0=py37h540881e_2
  - asn1crypto=1.5.1=pyhd8ed1ab_0
  - astroid=2.11.6=py37h89c1867_0
  - attrs=24.2.0=pyh71513ae_0
  - autopep8=2.0.2=pyhd8ed1ab_0
  - babel=2.14.0=pyhd8ed1ab_0
  - backcall=0.2.0=pyh9f0ad1d_0
  - backports=1.0=pyhd8ed1ab_4
  - backports.functools_lru_cache=2.0.0=pyhd8ed1ab_0
  - beautifulsoup4=4.12.3=pyha770c72_0
  - black=22.10.0=py37h89c1867_1
  - bleach=6.1.0=pyhd8ed1ab_0
  - brotli=1.0.9=h166bdaf_7
  - brotli-bin=1.0.9=h166bdaf_7
  - brotli-python=1.0.9=py37hd23a5d3_7
  - bzip2=1.0.8=h7f98852_4
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2024.8.30=pyhd8ed1ab_0
  - cffi=1.14.4=py37h11fe52a_0
  - charset-normalizer=3.4.0=pyhd8ed1ab_0
  - click=8.1.3=py37h89c1867_0
  - cmarkgfm=0.8.0=py37h540881e_1
  - colorama=0.4.6=pyhd8ed1ab_0
  - comm=0.2.2=pyhd8ed1ab_0
  - cryptography=2.5=py37hb7f436b_1
  - cycler=0.11.0=pyhd8ed1ab_0
  - dbus=1.13.6=hfdff14a_1
  - debugpy=1.6.0=py37hd23a5d3_0
  - decorator=5.1.1=pyhd8ed1ab_0
  - defusedxml=0.7.1=pyhd8ed1ab_0
  - dill=0.3.8=pyhd8ed1ab_0
  - docutils=0.19=py37h89c1867_0
  - entrypoints=0.4=pyhd8ed1ab_0
  - exceptiongroup=1.2.2=pyhd8ed1ab_0
  - execnet=2.0.2=pyhd8ed1ab_0
  - expat=2.4.8=h27087fc_0
  - flake8=5.0.4=pyhd8ed1ab_0
  - fonttools=4.33.3=py37h540881e_0
  - freetype=2.10.4=h0708190_1
  - gettext=0.19.8.1=hf34092f_1004
  - glib=2.66.3=h58526e2_0
  - icu=68.2=h9c3ff4c_0
  - idna=3.10=pyhd8ed1ab_0
  - imagesize=1.4.1=pyhd8ed1ab_0
  - importlib-metadata=4.11.4=py37h89c1867_0
  - importlib_metadata=4.11.4=hd8ed1ab_0
  - importlib_resources=6.0.0=pyhd8ed1ab_0
  - iniconfig=2.0.0=pyhd8ed1ab_0
  - ipykernel=6.16.2=pyh210e3f2_0
  - ipython=7.33.0=py37h89c1867_0
  - ipython_genutils=0.2.0=pyhd8ed1ab_1
  - ipywidgets=8.1.5=pyhd8ed1ab_0
  - isort=5.11.5=pyhd8ed1ab_0
  - jaraco.classes=3.4.0=pyhd8ed1ab_0
  - jbig=2.1=h7f98852_2003
  - jedi=0.19.1=pyhd8ed1ab_0
  - jeepney=0.8.0=pyhd8ed1ab_0
  - jinja2=3.1.4=pyhd8ed1ab_0
  - jpeg=9e=h166bdaf_1
  - json5=0.9.25=pyhd8ed1ab_0
  - jsonschema=4.17.3=pyhd8ed1ab_0
  - jupyter=1.1.1=pyhd8ed1ab_0
  - jupyter_client=7.3.4=pyhd8ed1ab_0
  - jupyter_console=6.5.1=pyhd8ed1ab_0
  - jupyter_contrib_core=0.4.0=pyhd8ed1ab_0
  - jupyter_contrib_nbextensions=0.7.0=pyhd8ed1ab_0
  - jupyter_core=4.11.1=py37h89c1867_0
  - jupyter_highlight_selected_word=0.2.0=pyhd8ed1ab_1006
  - jupyter_latex_envs=1.4.6=pyhd8ed1ab_1002
  - jupyter_nbextensions_configurator=0.6.1=pyhd8ed1ab_0
  - jupyter_server=1.23.4=pyhd8ed1ab_0
  - jupyterlab=3.5.3=pyhd8ed1ab_0
  - jupyterlab_pygments=0.3.0=pyhd8ed1ab_0
  - jupyterlab_server=2.24.0=pyhd8ed1ab_0
  - jupyterlab_widgets=3.0.13=pyhd8ed1ab_0
  - keyring=23.9.3=py37h89c1867_0
  - kiwisolver=1.4.2=py37h7cecad7_1
  - lazy-object-proxy=1.7.1=py37h540881e_1
  - lcms2=2.12=hddcbb42_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - lerc=2.2.1=h9c3ff4c_0
  - libblas=3.9.0=16_linux64_openblas
  - libbrotlicommon=1.0.9=h166bdaf_7
  - libbrotlidec=1.0.9=h166bdaf_7
  - libbrotlienc=1.0.9=h166bdaf_7
  - libcblas=3.9.0=16_linux64_openblas
  - libdeflate=1.7=h7f98852_5
  - libffi=3.2.1=he1b5a44_1007
  - libgcc-ng=11.2.0=h1234567_1
  - libgfortran-ng=13.2.0=h69a702a_0
  - libgfortran5=13.2.0=ha4646dd_0
  - libglib=2.66.3=hbe7bbb4_0
  - libgomp=11.2.0=h1234567_1
  - libiconv=1.17=h166bdaf_0
  - liblapack=3.9.0=16_linux64_openblas
  - libopenblas=0.3.21=h043d6bf_0
  - libpng=1.6.37=h21135ba_2
  - libsodium=1.0.18=h36c2ea0_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - libtiff=4.3.0=hf544144_1
  - libwebp-base=1.2.2=h7f98852_1
  - libxml2=2.9.10=h72842e0_4
  - libxslt=1.1.33=h15afd5d_2
  - lxml=4.8.0=py37h540881e_3
  - lz4-c=1.9.3=h9c3ff4c_1
  - markdown-it-py=2.2.0=pyhd8ed1ab_0
  - markupsafe=2.1.1=py37h540881e_1
  - matplotlib-base=3.5.2=py37hc347a89_0
  - matplotlib-inline=0.1.7=pyhd8ed1ab_0
  - mccabe=0.7.0=pyhd8ed1ab_0
  - mdurl=0.1.2=pyhd8ed1ab_0
  - mistune=3.0.2=pyhd8ed1ab_0
  - more-itertools=10.0.0=pyhd8ed1ab_0
  - munkres=1.1.4=pyh9f0ad1d_0
  - mypy_extensions=1.0.0=pyha770c72_0
  - nbclassic=1.1.0=pyhd8ed1ab_0
  - nbclient=0.7.0=pyhd8ed1ab_0
  - nbconvert=7.6.0=pyhd8ed1ab_0
  - nbconvert-core=7.6.0=pyhd8ed1ab_0
  - nbconvert-pandoc=7.6.0=pyhd8ed1ab_0
  - nbformat=5.8.0=pyhd8ed1ab_0
  - ncurses=6.4=h6a678d5_0
  - nest-asyncio=1.6.0=pyhd8ed1ab_0
  - nodejs=12.4.0=he1b5a44_0
  - notebook=6.5.7=pyha770c72_0
  - notebook-shim=0.2.4=pyhd8ed1ab_0
  - numpy=1.21.6=py37h976b520_0
  - olefile=0.47=pyhd8ed1ab_0
  - openjpeg=2.4.0=hb52868f_1
  - openssl=1.0.2u=h516909a_0
  - packaging=23.2=pyhd8ed1ab_0
  - pandoc=3.6.4=ha770c72_0
  - pandocfilters=1.5.0=pyhd8ed1ab_0
  - parso=0.8.4=pyhd8ed1ab_0
  - pathspec=0.12.1=pyhd8ed1ab_0
  - pcre=8.45=h9c3ff4c_0
  - pexpect=4.9.0=pyhd8ed1ab_0
  - pickleshare=0.7.5=py_1003
  - pillow=8.3.2=py37h0f21c89_0
  - pip=24.0=pyhd8ed1ab_0
  - pkginfo=1.10.0=pyhd8ed1ab_0
  - pkgutil-resolve-name=1.3.10=pyhd8ed1ab_1
  - platformdirs=4.0.0=pyhd8ed1ab_0
  - pluggy=1.0.0=py37h89c1867_3
  - prometheus_client=0.17.1=pyhd8ed1ab_0
  - prompt-toolkit=3.0.48=pyha770c72_0
  - prompt_toolkit=3.0.48=hd8ed1ab_1
  - psutil=5.9.1=py37h540881e_0
  - ptyprocess=0.7.0=pyhd3deb0d_0
  - pycodestyle=2.9.1=pyhd8ed1ab_0
  - pycparser=2.21=pyhd8ed1ab_0
  - pyflakes=2.5.0=pyhd8ed1ab_0
  - pygments=2.17.2=pyhd8ed1ab_0
  - pylint=2.13.5=pyhd8ed1ab_0
  - pyparsing=3.1.4=pyhd8ed1ab_0
  - pyrsistent=0.18.1=py37h540881e_1
  - pysocks=1.7.1=py37h89c1867_5
  - pytest=7.4.4=pyhd8ed1ab_0
  - pytest-xdist=3.5.0=pyhd8ed1ab_0
  - python=3.7.0=hd21baee_1006
  - python-dateutil=2.9.0=pyhd8ed1ab_0
  - python-fastjsonschema=2.20.0=pyhd8ed1ab_0
  - python_abi=3.7=2_cp37m
  - pytz=2024.2=pyhd8ed1ab_0
  - pyyaml=6.0=py37h540881e_4
  - pyzmq=23.0.0=py37h0c0c2a8_0
  - readline=7.0=hf8c457e_1001
  - readme_renderer=37.3=pyhd8ed1ab_0
  - requests=2.32.2=pyhd8ed1ab_0
  - requests-toolbelt=1.0.0=pyhd8ed1ab_0
  - rfc3986=2.0.0=pyhd8ed1ab_0
  - rich=13.8.1=pyhd8ed1ab_0
  - secretstorage=3.3.3=py37h89c1867_0
  - send2trash=1.8.3=pyh0d859eb_0
  - setuptools=69.0.3=pyhd8ed1ab_0
  - six=1.16.0=pyh6c4a22f_0
  - sniffio=1.3.1=pyhd8ed1ab_0
  - snowballstemmer=2.2.0=pyhd8ed1ab_0
  - soupsieve=2.3.2.post1=pyhd8ed1ab_0
  - sphinx=5.3.0=pyhd8ed1ab_0
  - sphinx-gallery=0.15.0=pyhd8ed1ab_0
  - sphinxcontrib-applehelp=1.0.4=pyhd8ed1ab_0
  - sphinxcontrib-devhelp=1.0.2=py_0
  - sphinxcontrib-htmlhelp=2.0.1=pyhd8ed1ab_0
  - sphinxcontrib-jsmath=1.0.1=pyhd8ed1ab_0
  - sphinxcontrib-qthelp=1.0.3=py_0
  - sphinxcontrib-serializinghtml=1.1.5=pyhd8ed1ab_2
  - sqlite=3.28.0=h8b20d00_0
  - terminado=0.17.1=pyh41d4057_0
  - tinycss2=1.4.0=pyhd8ed1ab_0
  - tk=8.6.14=h39e8969_0
  - tomli=2.0.2=pyhd8ed1ab_0
  - tornado=6.1=py37h540881e_3
  - traitlets=5.9.0=pyhd8ed1ab_0
  - twine=4.0.2=pyhd8ed1ab_0
  - typed-ast=1.5.3=py37h540881e_0
  - typing-extensions=4.7.1=hd8ed1ab_0
  - typing_extensions=4.7.1=pyha770c72_0
  - unicodedata2=14.0.0=py37h540881e_1
  - urllib3=2.2.1=pyhd8ed1ab_0
  - wcwidth=0.2.10=pyhd8ed1ab_0
  - webencodings=0.5.1=pyhd8ed1ab_2
  - websocket-client=1.6.1=pyhd8ed1ab_0
  - wheel=0.38.4=py37h06a4308_0
  - widgetsnbextension=4.0.13=pyhd8ed1ab_0
  - wrapt=1.14.1=py37h540881e_0
  - xz=5.6.4=h5eee18b_1
  - yaml=0.2.5=h7f98852_2
  - yarn=1.22.22=h31011fe_0
  - zeromq=4.3.4=h9c3ff4c_1
  - zipp=3.15.0=pyhd8ed1ab_0
  - zlib=1.2.13=h5eee18b_1
  - zstd=1.5.0=ha95c52a_0
prefix: /opt/conda/envs/jupytext

tests/test_read_simple_python.py::test_indented_bash_command
tests/test_read_simple_python.py::test_notebook_no_line_to_next_cell
tests/test_read_simple_python.py::test_read_simple_file tests/test_read_simple_python.py::test_read_less_simple_file tests/test_read_simple_python.py::test_indented_comment tests/test_read_simple_python.py::test_non_pep8 tests/test_read_simple_python.py::test_read_non_pep8_file tests/test_read_simple_python.py::test_read_cell_two_blank_lines tests/test_read_simple_python.py::test_read_cell_explicit_start tests/test_read_simple_python.py::test_read_complex_cells tests/test_read_simple_python.py::test_read_prev_function tests/test_read_simple_python.py::test_read_cell_with_one_blank_line_end tests/test_read_simple_python.py::test_read_code_cell_fully_commented tests/test_read_simple_python.py::test_file_with_two_blank_line_end tests/test_read_simple_python.py::test_one_blank_lines_after_endofcell tests/test_read_simple_python.py::test_two_cells_with_explicit_start tests/test_read_simple_python.py::test_escape_start_pattern tests/test_read_simple_python.py::test_dictionary_with_blank_lines_not_broken tests/test_read_simple_python.py::test_isolated_cell_with_magic tests/test_read_simple_python.py::test_ipython_help_are_commented_297 tests/test_read_simple_python.py::test_questions_in_unmarked_cells_are_not_uncommented_297 tests/test_read_simple_python.py::test_read_multiline_comment tests/test_read_simple_python.py::test_no_space_after_code tests/test_read_simple_python.py::test_read_write_script tests/test_read_simple_python.py::test_read_write_script_with_metadata_241 tests/test_read_simple_python.py::test_notebook_blank_lines tests/test_read_simple_python.py::test_notebook_two_blank_lines_before_next_cell tests/test_read_simple_python.py::test_notebook_one_blank_line_between_cells tests/test_read_simple_python.py::test_notebook_with_magic_and_bash_cells tests/test_read_simple_python.py::test_notebook_one_blank_line_before_first_markdown_cell tests/test_read_simple_python.py::test_read_markdown_cell_with_triple_quote_307 tests/test_read_simple_python.py::test_read_explicit_markdown_cell_with_triple_quote_307 tests/test_read_simple_python.py::test_round_trip_markdown_cell_with_magic tests/test_read_simple_python.py::test_round_trip_python_with_js_cell tests/test_read_simple_python.py::test_round_trip_python_with_js_cell_no_cell_metadata tests/test_read_simple_python.py::test_raw_with_metadata tests/test_read_simple_python.py::test_raw_with_metadata_2 tests/test_read_simple_python.py::test_markdown_with_metadata tests/test_read_simple_python.py::test_multiline_comments_in_markdown_1 tests/test_read_simple_python.py::test_multiline_comments_in_markdown_2 tests/test_read_simple_python.py::test_multiline_comments_in_raw_cell tests/test_read_simple_python.py::test_multiline_comments_in_markdown_cell_no_line_return tests/test_read_simple_python.py::test_multiline_comments_in_markdown_cell_is_robust_to_additional_cell_marker tests/test_read_simple_python.py::test_active_tag
jupytext/magics.py CHANGELOG.md
jupytext/magics.py CHANGELOG.md