codecov[bot]: # [Codecov](https://codecov.io/gh/mwouts/jupytext/pull/612?src=pr&el=h1) Report
> Merging [#612](https://codecov.io/gh/mwouts/jupytext/pull/612?src=pr&el=desc) into [master](https://codecov.io/gh/mwouts/jupytext/commit/d4e922778cf363a5ccbf2e8174f12f4496cc31cb?el=desc) will **decrease** coverage by `0.00%`.
> The diff coverage is `100.00%`.

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

```diff
@@            Coverage Diff             @@
##           master     #612      +/-   ##
==========================================
- Coverage   98.99%   98.98%   -0.01%     
==========================================
  Files          94       94              
  Lines        9152     9184      +32     
==========================================
+ Hits         9060     9091      +31     
- Misses         92       93       +1     
```


| [Impacted Files](https://codecov.io/gh/mwouts/jupytext/pull/612?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [jupytext/cli.py](https://codecov.io/gh/mwouts/jupytext/pull/612/diff?src=pr&el=tree#diff-anVweXRleHQvY2xpLnB5) | `96.96% <100.00%> (+0.11%)` | :arrow_up: |
| [tests/test\_execute.py](https://codecov.io/gh/mwouts/jupytext/pull/612/diff?src=pr&el=tree#diff-dGVzdHMvdGVzdF9leGVjdXRlLnB5) | `100.00% <100.00%> (ø)` | |
| [jupytext/formats.py](https://codecov.io/gh/mwouts/jupytext/pull/612/diff?src=pr&el=tree#diff-anVweXRleHQvZm9ybWF0cy5weQ==) | `96.60% <0.00%> (-0.31%)` | :arrow_down: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/mwouts/jupytext/pull/612?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/612?src=pr&el=footer). Last update [d4e9227...78d8eb4](https://codecov.io/gh/mwouts/jupytext/pull/612?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 4dcc24b..b4b63aa 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,4 @@
-1.6.0-dev (2020-08-??)
+1.6.0 (2020-08-??)
 ----------------------
 
 **Added**
@@ -14,6 +14,7 @@ of R Markdown notebooks as a raw cell in Jupyter (#415)
 - Warn if 'Include Metadata' is off when saving text files in Jupyter (#561)
 - Test that notebooks paired through a configuration file are left unmodified (#598)
 - Test that metadata filters in the configuration files are taken into account when using `jupytext --to` (#543)
+- New argument `--run-path` to execute the notebooks at the desired location (#595)
 
 **Changed**
 - Install Jupytext from source on MyBinder to avoid cache issues (#567)
diff --git a/jupytext/cli.py b/jupytext/cli.py
index 828b663..5857964 100644
--- a/jupytext/cli.py
+++ b/jupytext/cli.py
@@ -267,6 +267,11 @@ def parse_jupytext_args(args=None):
         action="store_true",
         help="Execute the notebook with the given kernel",
     )
+    parser.add_argument(
+        "--run-path",
+        type=str,
+        help="Execute the notebook at the given path (defaults to the notebook parent directory)",
+    )
 
     parser.add_argument(
         "--quiet",
@@ -326,6 +331,9 @@ def jupytext(args=None):
         print_paired_paths(args.notebooks[0], args.input_format)
         return 1
 
+    if args.run_path:
+        args.execute = True
+
     if (
         (args.test or args.test_strict)
         and not args.output_format
@@ -564,11 +572,29 @@ def jupytext_single_file(nb_file, args, log):
         kernel_name = notebook.metadata.get("kernelspec", {}).get("name")
         log("[jupytext] Executing notebook with kernel {}".format(kernel_name))
         exec_proc = ExecutePreprocessor(timeout=None, kernel_name=kernel_name)
-        if nb_dest is not None and nb_dest != "-":
 
-            resources = {"metadata": {"path": str(os.path.dirname(nb_dest))}}
+        if nb_dest is not None and nb_dest != "-":
+            nb_path = os.path.dirname(nb_dest)
         elif nb_file != "-":
-            resources = {"metadata": {"path": str(os.path.dirname(nb_file))}}
+            nb_path = os.path.dirname(nb_file)
+        else:
+            nb_path = None
+
+        run_path = args.run_path or nb_path
+        if args.run_path and not os.path.isdir(run_path):
+            # is this a relative directory?
+            for base_dir in [nb_path, os.getcwd()]:
+                try_path = os.path.join(base_dir, run_path)
+                if os.path.isdir(try_path):
+                    run_path = try_path
+                    break
+            if not os.path.isdir(run_path):
+                raise ValueError(
+                    "--run-path={} is not a valid path".format(args.run_path)
+                )
+
+        if run_path:
+            resources = {"metadata": {"path": run_path}}
         else:
             resources = {}
         exec_proc.preprocess(notebook, resources=resources)

Be able to specify --execute run_path from CLI
So I have some ipynb files that only work if run the root of my project, but there doesn't seem to be an easy way to specify that the run_path should be the CWD instead of the path of input path or output path of the arguments. The only way to get something like this behavior appears to specify that the the output = '-', but this can be restrictive. Would you consider a CLI flag to specify what the run_path of the file should be? Perhaps as an optional parameter to`--execute`? 

Alternatively, it might be useful as override similar to --output. 
diff --git a/tests/test_execute.py b/tests/test_execute.py
index f6330a3..44db6e8 100644
--- a/tests/test_execute.py
+++ b/tests/test_execute.py
@@ -1,7 +1,8 @@
-from .utils import requires_nbconvert, requires_ir_kernel, skip_on_windows
+import shutil
 import pytest
 from jupytext import read
 from jupytext.cli import jupytext
+from .utils import requires_nbconvert, requires_ir_kernel, skip_on_windows
 
 
 @requires_nbconvert
@@ -168,11 +169,11 @@ def test_execute_r(tmpdir, caplog, capsys):  # pragma: no cover
 @requires_nbconvert
 @skip_on_windows
 def test_execute_in_subfolder(tmpdir, caplog, capsys):
-    tmpdir.mkdir("subfolder")
+    subfolder = tmpdir.mkdir("subfolder")
 
-    tmp_csv = str(tmpdir.join("subfolder", "inputs.csv"))
-    tmp_py = str(tmpdir.join("subfolder", "notebook.py"))
-    tmp_ipynb = str(tmpdir.join("subfolder", "notebook.ipynb"))
+    tmp_csv = str(subfolder.join("inputs.csv"))
+    tmp_py = str(subfolder.join("notebook.py"))
+    tmp_ipynb = str(subfolder.join("notebook.ipynb"))
 
     with open(tmp_csv, "w") as fp:
         fp.write("1\n2\n")
@@ -193,3 +194,33 @@ sum(ast.literal_eval(line) for line in text.splitlines())
     nb = read(tmp_ipynb)
     assert len(nb.cells) == 3
     assert nb.cells[2].outputs[0]["data"] == {"text/plain": "3"}
+
+    tmp2_py = str(tmpdir.mkdir("another_folder").join("notebook.py"))
+    tmp2_ipynb = str(tmpdir.join("another_folder", "notebook.ipynb"))
+
+    shutil.copy(tmp_py, tmp2_py)
+
+    # Executing without run-path fails
+    import nbconvert
+
+    with pytest.raises(
+        nbconvert.preprocessors.execute.CellExecutionError,
+        match="No such file or directory: 'inputs.csv'",
+    ):
+        jupytext(args=[tmp2_py, "--to", "ipynb", "--execute"])
+
+    # Raise if folder does not exists
+    with pytest.raises(ValueError, match="is not a valid path"):
+        jupytext(args=[tmp2_py, "--to", "ipynb", "--run-path", "wrong_path"])
+
+    # Execute in full path
+    jupytext(args=[tmp2_py, "--to", "ipynb", "--run-path", str(subfolder)])
+    nb = read(tmp2_ipynb)
+    assert len(nb.cells) == 3
+    assert nb.cells[2].outputs[0]["data"] == {"text/plain": "3"}
+
+    # Execute in path relative to notebook dir
+    jupytext(args=[tmp2_py, "--to", "ipynb", "--run-path", "../subfolder"])
+    nb = read(tmp2_ipynb)
+    assert len(nb.cells) == 3
+    assert nb.cells[2].outputs[0]["data"] == {"text/plain": "3"}

environment.yml
pip install -e .
parse_log_pytest
environment.yml
pytest pytest-cov pytest-xdist flake8 pre-commit
3.7
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
alabaster @ file:///home/ktietz/src/ci/alabaster_1611921544520/work
anyio @ file:///tmp/build/80754af9/anyio_1644481697509/work/dist
argon2-cffi @ file:///opt/conda/conda-bld/argon2-cffi_1645000214183/work
argon2-cffi-bindings @ file:///tmp/build/80754af9/argon2-cffi-bindings_1644569681205/work
astroid @ file:///croot/astroid_1676904296642/work
attrs==20.3.0
autopep8 @ file:///opt/conda/conda-bld/autopep8_1650463822033/work
Babel @ file:///croot/babel_1671781930836/work
backcall @ file:///home/ktietz/src/ci/backcall_1611930011877/work
beautifulsoup4 @ file:///opt/conda/conda-bld/beautifulsoup4_1650462163268/work
black @ file:///opt/conda/conda-bld/black_1660237809219/work
bleach @ file:///opt/conda/conda-bld/bleach_1641577558959/work
brotlipy==0.7.0
certifi @ file:///croot/certifi_1671487769961/work/certifi
cffi @ file:///croot/cffi_1670423208954/work
cfgv @ file:///opt/conda/conda-bld/cfgv_1663174654333/work
charset-normalizer @ file:///tmp/build/80754af9/charset-normalizer_1630003229654/work
click @ file:///tmp/build/80754af9/click_1646056591685/work
cmarkgfm @ file:///tmp/build/80754af9/cmarkgfm_1613500761843/work
colorama @ file:///croot/colorama_1672386526460/work
commonmark @ file:///Users/ktietz/demo/mc3/conda-bld/commonmark_1630649545323/work
coverage @ file:///tmp/build/80754af9/coverage_1645520980410/work
cryptography @ file:///croot/cryptography_1677533068310/work
cycler @ file:///tmp/build/80754af9/cycler_1637851556182/work
debugpy @ file:///tmp/build/80754af9/debugpy_1637091426235/work
decorator @ file:///opt/conda/conda-bld/decorator_1643638310831/work
defusedxml @ file:///tmp/build/80754af9/defusedxml_1615228127516/work
dill @ file:///croot/dill_1667919592856/work
distlib @ file:///croot/distlib_1673477531104/work
docutils @ file:///opt/conda/conda-bld/docutils_1657175430858/work
entrypoints @ file:///tmp/build/80754af9/entrypoints_1649908585034/work
execnet @ file:///tmp/build/80754af9/execnet_1623921183358/work
fastjsonschema @ file:///opt/conda/conda-bld/python-fastjsonschema_1661371079312/work
filelock @ file:///croot/filelock_1672387128942/work
flake8 @ file:///opt/conda/conda-bld/flake8_1648129545443/work
flit_core @ file:///opt/conda/conda-bld/flit-core_1644941570762/work/source/flit_core
fonttools==4.25.0
future @ file:///croot/future_1677599870788/work
identify @ file:///opt/conda/conda-bld/identify_1663193176610/work
idna @ file:///croot/idna_1666125576474/work
imagesize @ file:///opt/conda/conda-bld/imagesize_1657179498843/work
importlib-metadata==4.2.0
importlib-resources @ file:///tmp/build/80754af9/importlib_resources_1625135880749/work
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
ipykernel @ file:///opt/conda/conda-bld/ipykernel_1662361798230/work
ipython @ file:///tmp/abs_94gruux8u8/croots/recipe/ipython_1659529858706/work
ipython-genutils @ file:///tmp/build/80754af9/ipython_genutils_1606773439826/work
ipywidgets @ file:///croot/ipywidgets_1701289330913/work
isort @ file:///tmp/build/80754af9/isort_1628603791788/work
jedi @ file:///tmp/build/80754af9/jedi_1644299024593/work
jeepney @ file:///tmp/build/80754af9/jeepney_1627537048313/work
Jinja2 @ file:///croot/jinja2_1666908132255/work
json5 @ file:///tmp/build/80754af9/json5_1624432770122/work
jsonschema @ file:///croot/jsonschema_1676558650973/work
jupyter @ file:///tmp/abs_33h4eoipez/croots/recipe/jupyter_1659349046347/work
jupyter-console @ file:///croot/jupyter_console_1671541909316/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:///croot/jupyter_server_1671707632269/work
jupyter_client @ file:///croot/jupyter_client_1676329080601/work
jupyter_core @ file:///croot/jupyter_core_1668084443243/work
jupyterlab @ file:///croot/jupyterlab_1675354114448/work
jupyterlab-pygments @ file:///tmp/build/80754af9/jupyterlab_pygments_1601490720602/work
jupyterlab-widgets @ file:///tmp/build/80754af9/jupyterlab_widgets_1609884341231/work
jupyterlab_server @ file:///croot/jupyterlab_server_1677143054853/work
-e git+https://github.com/mwouts/jupytext.git@6d64247188ec612a17f9b4570019a508a7f149a8#egg=jupytext
keyring @ file:///tmp/build/80754af9/keyring_1638531257242/work
kiwisolver @ file:///croot/kiwisolver_1672387140495/work
lazy-object-proxy @ file:///tmp/build/80754af9/lazy-object-proxy_1616529086024/work
lxml @ file:///opt/conda/conda-bld/lxml_1657545139709/work
markdown-it-py==0.5.8
MarkupSafe @ file:///opt/conda/conda-bld/markupsafe_1654597864307/work
matplotlib @ file:///croot/matplotlib-suite_1667356714455/work
matplotlib-inline @ file:///opt/conda/conda-bld/matplotlib-inline_1662014470464/work
mccabe==0.6.1
mdit-py-plugins @ file:///home/conda/feedstock_root/build_artifacts/mdit-py-plugins_1677788301074/work
mdurl @ file:///opt/conda/conda-bld/mdurl_1659716024347/work
mistune @ file:///tmp/build/80754af9/mistune_1594373098390/work
munkres==1.1.4
mypy-extensions==0.4.3
myst-parser @ file:///home/conda/feedstock_root/build_artifacts/myst-parser_1678230311298/work
nbclassic @ file:///croot/nbclassic_1676902904845/work
nbclient @ file:///tmp/build/80754af9/nbclient_1650308370114/work
nbconvert @ file:///croot/nbconvert_1668450669124/work
nbformat @ file:///croot/nbformat_1670352325207/work
nest-asyncio @ file:///croot/nest-asyncio_1672387112409/work
nodeenv @ file:///opt/conda/conda-bld/nodeenv_1663181097182/work
notebook @ file:///croot/notebook_1668179881751/work
notebook_shim @ file:///croot/notebook-shim_1668160579331/work
numpy @ file:///opt/conda/conda-bld/numpy_and_numpy_base_1653915516269/work
packaging @ file:///croot/packaging_1671697413597/work
pandocfilters @ file:///opt/conda/conda-bld/pandocfilters_1643405455980/work
parso @ file:///opt/conda/conda-bld/parso_1641458642106/work
pathspec @ file:///croot/pathspec_1674681560568/work
pexpect @ file:///tmp/build/80754af9/pexpect_1605563209008/work
pickleshare @ file:///tmp/build/80754af9/pickleshare_1606932040724/work
Pillow==9.4.0
pkginfo @ file:///croot/pkginfo_1666725041340/work
pkgutil_resolve_name @ file:///opt/conda/conda-bld/pkgutil-resolve-name_1661463321198/work
platformdirs @ file:///opt/conda/conda-bld/platformdirs_1662711380096/work
pluggy @ file:///tmp/build/80754af9/pluggy_1648042572264/work
ply==3.11
pre-commit @ file:///opt/conda/conda-bld/pre-commit_1663261387970/work
prometheus-client @ file:///tmp/abs_d3zeliano1/croots/recipe/prometheus_client_1659455100375/work
prompt-toolkit @ file:///croot/prompt-toolkit_1672387306916/work
psutil @ file:///opt/conda/conda-bld/psutil_1656431268089/work
ptyprocess @ file:///tmp/build/80754af9/ptyprocess_1609355006118/work/dist/ptyprocess-0.7.0-py2.py3-none-any.whl
py @ file:///opt/conda/conda-bld/py_1644396412707/work
pycodestyle @ file:///tmp/build/80754af9/pycodestyle_1636635402688/work
pycparser @ file:///tmp/build/80754af9/pycparser_1636541352034/work
pyflakes @ file:///tmp/build/80754af9/pyflakes_1636644436481/work
Pygments @ file:///opt/conda/conda-bld/pygments_1644249106324/work
pylint @ file:///croot/pylint_1676919896363/work
pyOpenSSL @ file:///croot/pyopenssl_1677607685877/work
pyparsing @ file:///opt/conda/conda-bld/pyparsing_1661452539315/work
PyQt5-sip==12.11.0
pyrsistent @ file:///tmp/build/80754af9/pyrsistent_1636098896055/work
PySocks @ file:///tmp/build/80754af9/pysocks_1594394576006/work
pytest==7.1.2
pytest-cov @ file:///tmp/build/80754af9/pytest-cov_1637159997573/work
pytest-forked @ file:///home/ktietz/src/ci_ipy2/pytest-forked_1612520962786/work
pytest-xdist @ file:///opt/conda/conda-bld/pytest-xdist_1651785087298/work
python-dateutil @ file:///tmp/build/80754af9/python-dateutil_1626374649649/work
pytz @ file:///croot/pytz_1671697431263/work
PyYAML @ file:///croot/pyyaml_1670514731622/work
pyzmq @ file:///opt/conda/conda-bld/pyzmq_1657724186960/work
qtconsole @ file:///croot/qtconsole_1674008428467/work
QtPy @ file:///opt/conda/conda-bld/qtpy_1662014892439/work
readme-renderer @ file:///tmp/build/80754af9/readme_renderer_1613502053370/work
recommonmark @ file:///Users/ktietz/demo/mc3/conda-bld/recommonmark_1629466645250/work
requests @ file:///opt/conda/conda-bld/requests_1657734628632/work
requests-toolbelt @ file:///Users/ktietz/demo/mc3/conda-bld/requests-toolbelt_1629456163440/work
rfc3986 @ file:///Users/ktietz/demo/mc3/conda-bld/rfc3986_1629478296451/work
SecretStorage @ file:///tmp/build/80754af9/secretstorage_1614022884812/work
Send2Trash @ file:///tmp/build/80754af9/send2trash_1632406701022/work
sip @ file:///tmp/abs_44cd77b_pu/croots/recipe/sip_1659012365470/work
six @ file:///tmp/build/80754af9/six_1644875935023/work
sniffio @ file:///tmp/build/80754af9/sniffio_1614030478629/work
snowballstemmer @ file:///tmp/build/80754af9/snowballstemmer_1637937080595/work
soupsieve @ file:///croot/soupsieve_1666296392845/work
Sphinx @ file:///opt/conda/conda-bld/sphinx_1657784123546/work
sphinx-copybutton==0.5.2
sphinx-gallery @ file:///home/conda/feedstock_root/build_artifacts/sphinx-gallery_1700542355088/work
sphinx-rtd-theme==2.0.0
sphinxcontrib-applehelp @ file:///home/ktietz/src/ci/sphinxcontrib-applehelp_1611920841464/work
sphinxcontrib-devhelp @ file:///home/ktietz/src/ci/sphinxcontrib-devhelp_1611920923094/work
sphinxcontrib-htmlhelp @ file:///tmp/build/80754af9/sphinxcontrib-htmlhelp_1623945626792/work
sphinxcontrib-jquery==4.1
sphinxcontrib-jsmath @ file:///home/ktietz/src/ci/sphinxcontrib-jsmath_1611920942228/work
sphinxcontrib-qthelp @ file:///home/ktietz/src/ci/sphinxcontrib-qthelp_1611921055322/work
sphinxcontrib-serializinghtml @ file:///tmp/build/80754af9/sphinxcontrib-serializinghtml_1624451540180/work
terminado @ file:///croot/terminado_1671751832461/work
tinycss2 @ file:///croot/tinycss2_1668168815555/work
toml @ file:///tmp/build/80754af9/toml_1616166611790/work
tomli @ file:///opt/conda/conda-bld/tomli_1657175507142/work
tomlkit @ file:///tmp/abs_56_0lnnq5x/croots/recipe/tomlkit_1658946880479/work
tornado @ file:///opt/conda/conda-bld/tornado_1662061693373/work
tqdm @ file:///opt/conda/conda-bld/tqdm_1664392687731/work
traitlets @ file:///croot/traitlets_1671143879854/work
twine @ file:///croot/twine_1690451545513/work
typed-ast @ file:///tmp/build/80754af9/typed-ast_1624953380449/work
typing_extensions @ file:///croot/typing_extensions_1669924550328/work
ukkonen @ file:///opt/conda/conda-bld/ukkonen_1663174535639/work
urllib3 @ file:///croot/urllib3_1673575502006/work
virtualenv==20.16.2
wcwidth @ file:///Users/ktietz/demo/mc3/conda-bld/wcwidth_1629357192024/work
webencodings==0.5.1
websocket-client @ file:///tmp/build/80754af9/websocket-client_1614804260725/work
widgetsnbextension @ file:///tmp/build/80754af9/widgetsnbextension_1645009354203/work
wrapt @ file:///tmp/abs_c335821b-6e43-4504-9816-b1a52d3d3e1eel6uae8l/croots/recipe/wrapt_1657814400492/work
zipp @ file:///croot/zipp_1672387121353/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.12=pyhd3eb1b0_0
  - anyio=3.5.0=py37h06a4308_0
  - argon2-cffi=21.3.0=pyhd3eb1b0_0
  - argon2-cffi-bindings=21.2.0=py37h7f8727e_0
  - astroid=2.14.2=py37h06a4308_0
  - autopep8=1.6.0=pyhd3eb1b0_1
  - babel=2.11.0=py37h06a4308_0
  - backcall=0.2.0=pyhd3eb1b0_0
  - beautifulsoup4=4.11.1=py37h06a4308_0
  - black=22.6.0=py37h06a4308_0
  - blas=1.0=openblas
  - bleach=4.1.0=pyhd3eb1b0_0
  - brotli=1.0.9=h5eee18b_9
  - brotli-bin=1.0.9=h5eee18b_9
  - brotlipy=0.7.0=py37h27cfd23_1003
  - bzip2=1.0.8=h5eee18b_6
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2022.12.7=py37h06a4308_0
  - cffi=1.15.1=py37h5eee18b_3
  - cfgv=3.3.1=py37h06a4308_0
  - charset-normalizer=2.0.4=pyhd3eb1b0_0
  - click=8.0.4=py37h06a4308_0
  - cmarkgfm=0.4.2=py37h27cfd23_0
  - colorama=0.4.6=py37h06a4308_0
  - commonmark=0.9.1=pyhd3eb1b0_0
  - coverage=6.3.2=py37h7f8727e_0
  - cryptography=39.0.1=py37h9ce1e76_0
  - cycler=0.11.0=pyhd3eb1b0_0
  - cyrus-sasl=2.1.28=h9c0eb46_1
  - dbus=1.13.18=hb2f20db_0
  - debugpy=1.5.1=py37h295c915_0
  - decorator=5.1.1=pyhd3eb1b0_0
  - defusedxml=0.7.1=pyhd3eb1b0_0
  - dill=0.3.6=py37h06a4308_0
  - distlib=0.3.6=py37h06a4308_0
  - docutils=0.18.1=py37h06a4308_3
  - entrypoints=0.4=py37h06a4308_0
  - execnet=1.9.0=pyhd3eb1b0_0
  - expat=2.6.4=h6a678d5_0
  - filelock=3.9.0=py37h06a4308_0
  - flake8=4.0.1=pyhd3eb1b0_1
  - flit-core=3.6.0=pyhd3eb1b0_0
  - fontconfig=2.14.1=h52c9d5c_1
  - fonttools=4.25.0=pyhd3eb1b0_0
  - freetype=2.12.1=h4a9f257_0
  - future=0.18.3=py37h06a4308_0
  - giflib=5.2.2=h5eee18b_0
  - glib=2.78.4=h6a678d5_0
  - glib-tools=2.78.4=h6a678d5_0
  - gst-plugins-base=1.14.1=h6a678d5_1
  - gstreamer=1.14.1=h5eee18b_1
  - icu=58.2=he6710b0_3
  - identify=2.5.5=py37h06a4308_0
  - idna=3.4=py37h06a4308_0
  - imagesize=1.4.1=py37h06a4308_0
  - importlib_metadata=4.11.3=hd3eb1b0_0
  - importlib_resources=5.2.0=pyhd3eb1b0_1
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ipykernel=6.15.2=py37h06a4308_0
  - ipython=7.31.1=py37h06a4308_1
  - ipython_genutils=0.2.0=pyhd3eb1b0_1
  - ipywidgets=7.6.5=pyhd3eb1b0_2
  - isort=5.9.3=pyhd3eb1b0_0
  - jedi=0.18.1=py37h06a4308_1
  - jeepney=0.7.1=pyhd3eb1b0_0
  - jinja2=3.1.2=py37h06a4308_0
  - jpeg=9e=h5eee18b_3
  - json5=0.9.6=pyhd3eb1b0_0
  - jsonschema=4.17.3=py37h06a4308_0
  - jupyter=1.0.0=py37h06a4308_8
  - jupyter_client=7.4.9=py37h06a4308_0
  - jupyter_console=6.4.4=py37h06a4308_0
  - jupyter_contrib_core=0.4.0=pyhd8ed1ab_0
  - jupyter_contrib_nbextensions=0.7.0=pyhd8ed1ab_0
  - jupyter_core=4.11.2=py37h06a4308_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=py37h06a4308_0
  - jupyterlab=3.5.3=py37h06a4308_0
  - jupyterlab_pygments=0.1.2=py_0
  - jupyterlab_server=2.19.0=py37h06a4308_0
  - jupyterlab_widgets=1.0.0=pyhd3eb1b0_1
  - keyring=23.4.0=py37h06a4308_0
  - kiwisolver=1.4.4=py37h6a678d5_0
  - krb5=1.20.1=h568e23c_1
  - lazy-object-proxy=1.6.0=py37h27cfd23_0
  - lcms2=2.16=hb9589c4_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - lerc=4.0.0=h6a678d5_0
  - libbrotlicommon=1.0.9=h5eee18b_9
  - libbrotlidec=1.0.9=h5eee18b_9
  - libbrotlienc=1.0.9=h5eee18b_9
  - libclang=14.0.6=default_hc6dbbc7_2
  - libclang13=14.0.6=default_he11475f_2
  - libcups=2.4.2=ha637b67_0
  - libdeflate=1.22=h5eee18b_0
  - libedit=3.1.20230828=h5eee18b_0
  - libevent=2.1.12=h8f2d780_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgfortran-ng=11.2.0=h00389a5_1
  - libgfortran5=11.2.0=h1234567_1
  - libglib=2.78.4=hdc74915_0
  - libgomp=11.2.0=h1234567_1
  - libiconv=1.16=h5eee18b_3
  - libllvm14=14.0.6=hecde1de_4
  - libopenblas=0.3.21=h043d6bf_0
  - libpng=1.6.39=h5eee18b_0
  - libpq=12.15=h37d81fd_1
  - libsodium=1.0.18=h7b6447c_0
  - libstdcxx-ng=11.2.0=h1234567_1
  - libtiff=4.5.1=hffd6297_1
  - libuuid=1.41.5=h5eee18b_0
  - libwebp=1.2.4=h11a3e52_1
  - libwebp-base=1.2.4=h5eee18b_1
  - libxcb=1.15=h7f8727e_0
  - libxkbcommon=1.0.1=hfa300c1_0
  - libxml2=2.9.14=h74e7548_0
  - libxslt=1.1.35=h4e12654_0
  - lxml=4.9.1=py37h1edc446_0
  - lz4-c=1.9.4=h6a678d5_1
  - markupsafe=2.1.1=py37h7f8727e_0
  - matplotlib-base=3.5.3=py37hf590b9c_0
  - matplotlib-inline=0.1.6=py37h06a4308_0
  - mdit-py-plugins=0.3.5=pyhd8ed1ab_0
  - mdurl=0.1.0=py37h06a4308_0
  - mistune=0.8.4=py37h14c3975_1001
  - munkres=1.1.4=py_0
  - mypy_extensions=0.4.3=py37h06a4308_1
  - mysql=5.7.24=he378463_2
  - myst-parser=1.0.0=pyhd8ed1ab_0
  - nbclassic=0.5.2=py37h06a4308_0
  - nbclient=0.5.13=py37h06a4308_0
  - nbconvert=6.5.4=py37h06a4308_0
  - nbformat=5.7.0=py37h06a4308_0
  - ncurses=6.4=h6a678d5_0
  - nest-asyncio=1.5.6=py37h06a4308_0
  - nodeenv=1.7.0=py37h06a4308_0
  - nodejs=10.13.0=he6710b0_0
  - notebook=6.5.2=py37h06a4308_0
  - notebook-shim=0.2.2=py37h06a4308_0
  - numpy=1.21.5=py37hf838250_3
  - numpy-base=1.21.5=py37h1e6e340_3
  - openssl=1.1.1w=h7f8727e_0
  - packaging=22.0=py37h06a4308_0
  - pandoc=2.12=h06a4308_3
  - pandocfilters=1.5.0=pyhd3eb1b0_0
  - parso=0.8.3=pyhd3eb1b0_0
  - pathspec=0.10.3=py37h06a4308_0
  - pcre2=10.42=hebb0a14_1
  - pexpect=4.8.0=pyhd3eb1b0_3
  - pickleshare=0.7.5=pyhd3eb1b0_1003
  - pillow=9.4.0=py37h6a678d5_0
  - pip=22.3.1=py37h06a4308_0
  - pkginfo=1.8.3=py37h06a4308_0
  - pkgutil-resolve-name=1.3.10=py37h06a4308_0
  - platformdirs=2.5.2=py37h06a4308_0
  - pluggy=1.0.0=py37h06a4308_1
  - ply=3.11=py37_0
  - pre-commit=2.20.0=py37h06a4308_0
  - prometheus_client=0.14.1=py37h06a4308_0
  - prompt-toolkit=3.0.36=py37h06a4308_0
  - prompt_toolkit=3.0.36=hd3eb1b0_0
  - psutil=5.9.0=py37h5eee18b_0
  - ptyprocess=0.7.0=pyhd3eb1b0_2
  - py=1.11.0=pyhd3eb1b0_0
  - pycodestyle=2.8.0=pyhd3eb1b0_0
  - pycparser=2.21=pyhd3eb1b0_0
  - pyflakes=2.4.0=pyhd3eb1b0_0
  - pygments=2.11.2=pyhd3eb1b0_0
  - pylint=2.16.2=py37h06a4308_0
  - pyopenssl=23.0.0=py37h06a4308_0
  - pyparsing=3.0.9=py37h06a4308_0
  - pyqt=5.15.7=py37h6a678d5_1
  - pyqt5-sip=12.11.0=py37h6a678d5_1
  - pyrsistent=0.18.0=py37heee7806_0
  - pysocks=1.7.1=py37_1
  - pytest=7.1.2=py37h06a4308_0
  - pytest-cov=3.0.0=pyhd3eb1b0_0
  - pytest-forked=1.3.0=pyhd3eb1b0_0
  - pytest-xdist=2.5.0=pyhd3eb1b0_0
  - python=3.7.16=h7a1cb2a_0
  - python-dateutil=2.8.2=pyhd3eb1b0_0
  - python-fastjsonschema=2.16.2=py37h06a4308_0
  - pytz=2022.7=py37h06a4308_0
  - pyyaml=6.0=py37h5eee18b_1
  - pyzmq=23.2.0=py37h6a678d5_0
  - qt-main=5.15.2=h5b8104b_9
  - qt-webengine=5.15.9=hd2b0992_4
  - qtconsole=5.4.0=py37h06a4308_0
  - qtpy=2.2.0=py37h06a4308_0
  - qtwebkit=5.212=h4eab89a_4
  - readline=8.2=h5eee18b_0
  - readme_renderer=24.0=py37h06a4308_0
  - recommonmark=0.6.0=pyhd3eb1b0_0
  - requests=2.28.1=py37h06a4308_0
  - requests-toolbelt=0.9.1=pyhd3eb1b0_0
  - rfc3986=1.4.0=pyhd3eb1b0_0
  - secretstorage=3.3.1=py37h06a4308_0
  - send2trash=1.8.0=pyhd3eb1b0_1
  - setuptools=65.6.3=py37h06a4308_0
  - sip=6.6.2=py37h6a678d5_0
  - six=1.16.0=pyhd3eb1b0_1
  - sniffio=1.2.0=py37h06a4308_1
  - snowballstemmer=2.2.0=pyhd3eb1b0_0
  - soupsieve=2.3.2.post1=py37h06a4308_0
  - sphinx=5.0.2=py37h06a4308_0
  - sphinx-gallery=0.15.0=pyhd8ed1ab_0
  - sphinxcontrib-applehelp=1.0.2=pyhd3eb1b0_0
  - sphinxcontrib-devhelp=1.0.2=pyhd3eb1b0_0
  - sphinxcontrib-htmlhelp=2.0.0=pyhd3eb1b0_0
  - sphinxcontrib-jsmath=1.0.1=pyhd3eb1b0_0
  - sphinxcontrib-qthelp=1.0.3=pyhd3eb1b0_0
  - sphinxcontrib-serializinghtml=1.1.5=pyhd3eb1b0_0
  - sqlite=3.45.3=h5eee18b_0
  - terminado=0.17.1=py37h06a4308_0
  - tinycss2=1.2.1=py37h06a4308_0
  - tk=8.6.14=h39e8969_0
  - toml=0.10.2=pyhd3eb1b0_0
  - tomli=2.0.1=py37h06a4308_0
  - tomlkit=0.11.1=py37h06a4308_0
  - tornado=6.2=py37h5eee18b_0
  - tqdm=4.64.1=py37h06a4308_0
  - traitlets=5.7.1=py37h06a4308_0
  - twine=3.7.1=pyhd3eb1b0_1
  - typed-ast=1.4.3=py37h7f8727e_1
  - typing-extensions=4.4.0=py37h06a4308_0
  - typing_extensions=4.4.0=py37h06a4308_0
  - ukkonen=1.0.1=py37hdb19cb5_0
  - urllib3=1.26.14=py37h06a4308_0
  - wcwidth=0.2.5=pyhd3eb1b0_0
  - webencodings=0.5.1=py37_1
  - websocket-client=0.58.0=py37h06a4308_4
  - wheel=0.38.4=py37h06a4308_0
  - widgetsnbextension=3.5.2=py37h06a4308_0
  - wrapt=1.14.1=py37h5eee18b_0
  - xz=5.6.4=h5eee18b_1
  - yaml=0.2.5=h7b6447c_0
  - yarn=1.22.19=h06a4308_0
  - zeromq=4.3.5=h6a678d5_0
  - zipp=3.11.0=py37h06a4308_0
  - zlib=1.2.13=h5eee18b_1
  - zstd=1.5.6=hc292b87_0
  - pip:
      - attrs==20.3.0
      - importlib-metadata==4.2.0
      - markdown-it-py==0.5.8
      - mccabe==0.6.1
      - sphinx-copybutton==0.5.2
      - sphinx-rtd-theme==2.0.0
      - sphinxcontrib-jquery==4.1
      - virtualenv==20.16.2
prefix: /opt/conda/envs/jupytext

tests/test_execute.py::test_execute_in_subfolder
tests/test_execute.py::test_pipe_nbconvert_execute tests/test_execute.py::test_pipe_nbconvert_execute_sync tests/test_execute.py::test_execute tests/test_execute.py::test_execute_readme_ok tests/test_execute.py::test_execute_readme_not_ok tests/test_execute.py::test_execute_sync
jupytext/cli.py CHANGELOG.md
jupytext/cli.py CHANGELOG.md