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

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

```diff
@@             Coverage Diff             @@
##           master     #581       +/-   ##
===========================================
- Coverage   98.98%   86.56%   -12.43%     
===========================================
  Files          89       89               
  Lines        8794     8658      -136     
===========================================
- Hits         8705     7495     -1210     
- Misses         89     1163     +1074     
```


| [Impacted Files](https://codecov.io/gh/mwouts/jupytext/pull/581?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [jupytext/formats.py](https://codecov.io/gh/mwouts/jupytext/pull/581/diff?src=pr&el=tree#diff-anVweXRleHQvZm9ybWF0cy5weQ==) | `95.65% <ø> (-1.25%)` | :arrow_down: |
| [jupytext/cli.py](https://codecov.io/gh/mwouts/jupytext/pull/581/diff?src=pr&el=tree#diff-anVweXRleHQvY2xpLnB5) | `95.13% <100.00%> (-1.34%)` | :arrow_down: |
| [jupytext/config.py](https://codecov.io/gh/mwouts/jupytext/pull/581/diff?src=pr&el=tree#diff-anVweXRleHQvY29uZmlnLnB5) | `96.24% <100.00%> (+0.08%)` | :arrow_up: |
| [jupytext/header.py](https://codecov.io/gh/mwouts/jupytext/pull/581/diff?src=pr&el=tree#diff-anVweXRleHQvaGVhZGVyLnB5) | `99.31% <100.00%> (+0.07%)` | :arrow_up: |
| [tests/test\_cli\_config.py](https://codecov.io/gh/mwouts/jupytext/pull/581/diff?src=pr&el=tree#diff-dGVzdHMvdGVzdF9jbGlfY29uZmlnLnB5) | `100.00% <100.00%> (ø)` | |
| [tests/test\_header.py](https://codecov.io/gh/mwouts/jupytext/pull/581/diff?src=pr&el=tree#diff-dGVzdHMvdGVzdF9oZWFkZXIucHk=) | `100.00% <100.00%> (ø)` | |
| [tests/test\_read\_simple\_markdown.py](https://codecov.io/gh/mwouts/jupytext/pull/581/diff?src=pr&el=tree#diff-dGVzdHMvdGVzdF9yZWFkX3NpbXBsZV9tYXJrZG93bi5weQ==) | `100.00% <100.00%> (ø)` | |
| [jupytext/myst.py](https://codecov.io/gh/mwouts/jupytext/pull/581/diff?src=pr&el=tree#diff-anVweXRleHQvbXlzdC5weQ==) | `19.89% <0.00%> (-77.42%)` | :arrow_down: |
| [tests/test\_hide\_remove\_input\_outputs\_rmarkdown.py](https://codecov.io/gh/mwouts/jupytext/pull/581/diff?src=pr&el=tree#diff-dGVzdHMvdGVzdF9oaWRlX3JlbW92ZV9pbnB1dF9vdXRwdXRzX3JtYXJrZG93bi5weQ==) | `28.57% <0.00%> (-71.43%)` | :arrow_down: |
| [tests/test\_black.py](https://codecov.io/gh/mwouts/jupytext/pull/581/diff?src=pr&el=tree#diff-dGVzdHMvdGVzdF9ibGFjay5weQ==) | `31.53% <0.00%> (-68.47%)` | :arrow_down: |
| ... and [45 more](https://codecov.io/gh/mwouts/jupytext/pull/581/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/mwouts/jupytext/pull/581?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/581?src=pr&el=footer). Last update [a8992b0...997b17c](https://codecov.io/gh/mwouts/jupytext/pull/581?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 eb0fa98..66fba58 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,10 +3,12 @@
 
 **Added**
 - Activated GitHub code scanning alerts
+- New option `hide_notebook_metadata` to encapsulate the notebook metadata in an HTML comment (#527)
 
 **Changed**
 - Install Jupytext from source on MyBinder to avoid cache issues (#567)
 - Skip the tests that execute a notebook on Windows to avoid timeout issues (#489)
+- The `# %%` cell marker has the same indentation as the first line in the cell (#562)
 
 **Fixed**
 - Configured coverage targets in `codecov.yml`
diff --git a/docs/config.md b/docs/config.md
index 9745d3f..002b44e 100644
--- a/docs/config.md
+++ b/docs/config.md
@@ -105,6 +105,8 @@ It is possible to filter nested metadata. For example, if you want to preserve t
 default_notebook_metadata_filter = "-jupytext.text_representation.jupytext_version"
 ```
 
+Finally, to hide the notebook metadata in an HTML comment in Markdown files, use the option `hide_notebook_metadata`.
+
 ### More options
 
 There are a couple more options available - please have a look at the `JupytextConfiguration` class in [config.py](https://github.com/mwouts/jupytext/blob/master/jupytext/config.py).
diff --git a/jupytext/cell_reader.py b/jupytext/cell_reader.py
index b3d3de7..627d58b 100644
--- a/jupytext/cell_reader.py
+++ b/jupytext/cell_reader.py
@@ -747,9 +747,9 @@ class DoublePercentScriptCellReader(LightScriptCellReader):
         script = _SCRIPT_EXTENSIONS[self.ext]
         self.default_language = default_language or script["language"]
         self.comment = script["comment"]
-        self.start_code_re = re.compile(r"^{}\s*%%(%*)\s(.*)$".format(self.comment))
+        self.start_code_re = re.compile(r"^\s*{}\s*%%(%*)\s(.*)$".format(self.comment))
         self.alternative_start_code_re = re.compile(
-            r"^{}\s*(%%|<codecell>|In\[[0-9 ]*\]:?)\s*$".format(self.comment)
+            r"^\s*{}\s*(%%|<codecell>|In\[[0-9 ]*\]:?)\s*$".format(self.comment)
         )
         self.explicit_soc = True
 
diff --git a/jupytext/cell_to_text.py b/jupytext/cell_to_text.py
index 369036c..b9a4f9a 100644
--- a/jupytext/cell_to_text.py
+++ b/jupytext/cell_to_text.py
@@ -457,10 +457,18 @@ class DoublePercentCellExporter(BaseCellExporter):  # pylint: disable=W0223
         options = metadata_to_double_percent_options(
             self.metadata, self.cell_metadata_json
         )
+        indent = ""
+        if self.is_code() and active and self.source:
+            first_line = self.source[0]
+            if first_line.strip():
+                left_space = re.compile(r"^(\s*)").match(first_line)
+                if left_space:
+                    indent = left_space.groups()[0]
+
         if options.startswith("%") or not options:
-            lines = [self.comment + " %%" + options]
+            lines = [indent + self.comment + " %%" + options]
         else:
-            lines = [self.comment + " %% " + options]
+            lines = [indent + self.comment + " %% " + options]
 
         if self.is_code() and active:
             source = copy(self.source)
diff --git a/jupytext/cli.py b/jupytext/cli.py
index 66e208f..5c8b7c5 100644
--- a/jupytext/cli.py
+++ b/jupytext/cli.py
@@ -409,9 +409,14 @@ def jupytext_single_file(nb_file, args, log):
 
     # I. ### Read the notebook ###
     fmt = copy(args.input_format) or {}
-    if config:
-        config.set_default_format_options(fmt)
-    set_format_options(fmt, args.format_options)
+    if not fmt:
+        ext = os.path.splitext(nb_file)[1]
+        if ext:
+            fmt = {"extension": ext}
+    if fmt:
+        if config:
+            config.set_default_format_options(fmt)
+        set_format_options(fmt, args.format_options)
     log(
         "[jupytext] Reading {}{}".format(
             nb_file if nb_file != "-" else "stdin",
@@ -422,19 +427,12 @@ def jupytext_single_file(nb_file, args, log):
     )
 
     notebook = read(nb_file, fmt=fmt)
-    if not fmt:
+    if "extension" in fmt and "format_name" not in fmt:
         text_representation = notebook.metadata.get("jupytext", {}).get(
             "text_representation", {}
         )
-        ext = os.path.splitext(nb_file)[1]
-        if text_representation.get("extension") == ext:
-            fmt = {
-                key: text_representation[key]
-                for key in text_representation
-                if key in ["extension", "format_name"]
-            }
-        elif ext:
-            fmt = {"extension": ext}
+        if text_representation.get("extension") == fmt["extension"]:
+            fmt["format_name"] = text_representation["format_name"]
 
     if config and "formats" not in notebook.metadata.get("jupytext", {}):
         default_formats = config.default_formats(nb_file)
diff --git a/jupytext/config.py b/jupytext/config.py
index 4ecd69f..7f005de 100644
--- a/jupytext/config.py
+++ b/jupytext/config.py
@@ -62,14 +62,21 @@ class JupytextConfiguration(Configurable):
 
     default_notebook_metadata_filter = Unicode(
         u"",
-        help="Cell metadata that should be save in the text representations. "
+        help="Notebook metadata that should be save in the text representations. "
         "Examples: 'all', '-all', 'widgets,nteract', 'kernelspec,jupytext-all'",
         config=True,
     )
 
+    hide_notebook_metadata = Enum(
+        values=[True, False],
+        allow_none=True,
+        help="Should the notebook metadata be wrapped into an HTML comment in the Markdown format?",
+        config=True,
+    )
+
     default_cell_metadata_filter = Unicode(
         u"",
-        help="Notebook metadata that should be saved in the text representations. "
+        help="Cell metadata that should be saved in the text representations. "
         "Examples: 'all', 'hide_input,hide_output'",
         config=True,
     )
@@ -124,6 +131,10 @@ class JupytextConfiguration(Configurable):
             format_options.setdefault(
                 "cell_metadata_filter", self.default_cell_metadata_filter
             )
+        if self.hide_notebook_metadata is not None:
+            format_options.setdefault(
+                "hide_notebook_metadata", self.hide_notebook_metadata
+            )
         if self.comment_magics is not None:
             format_options.setdefault("comment_magics", self.comment_magics)
         if self.split_at_heading:
diff --git a/jupytext/formats.py b/jupytext/formats.py
index 026092d..0bada49 100644
--- a/jupytext/formats.py
+++ b/jupytext/formats.py
@@ -692,6 +692,7 @@ def short_form_multiple_formats(jupytext_formats):
 _VALID_FORMAT_INFO = ["extension", "format_name", "suffix", "prefix"]
 _BINARY_FORMAT_OPTIONS = [
     "comment_magics",
+    "hide_notebook_metadata",
     "split_at_heading",
     "rst2md",
     "cell_metadata_json",
diff --git a/jupytext/header.py b/jupytext/header.py
index ddabbbd..9151071 100644
--- a/jupytext/header.py
+++ b/jupytext/header.py
@@ -116,6 +116,12 @@ def metadata_and_cell_to_header(notebook, metadata, text_format, ext):
     if header:
         header = ["---"] + header + ["---"]
 
+        if (
+            metadata.get("jupytext", {}).get("hide_notebook_metadata", False)
+            and text_format.format_name == "markdown"
+        ):
+            header = ["<!--", ""] + header + ["", "-->"]
+
     return comment_lines(header, text_format.header_prefix), lines_to_next_cell
 
 
@@ -142,10 +148,13 @@ def header_to_metadata_and_cell(lines, header_prefix, ext=None):
 
     header = []
     jupyter = []
-    injupyter = False
+    in_jupyter = False
+    in_html_div = False
+
+    start = 0
+    started = False
     ended = False
     metadata = {}
-    start = 0
     i = -1
 
     comment = "#" if header_prefix == "#'" else header_prefix
@@ -167,27 +176,37 @@ def header_to_metadata_and_cell(lines, header_prefix, ext=None):
                 metadata.setdefault("jupytext", {})["encoding"] = line
                 start = i + 1
                 continue
-
         if not line.startswith(header_prefix):
             break
+        if not comment:
+            if line.strip().startswith("<!--"):
+                in_html_div = True
+                continue
 
-        line = uncomment_line(line, header_prefix)
-
-        if i == start:
-            if _HEADER_RE.match(line):
+        if in_html_div:
+            if ended:
+                if "-->" in line:
+                    break
+            if not started and not line.strip():
                 continue
-            break
 
-        if i > start and _HEADER_RE.match(line):
-            ended = True
-            break
+        line = uncomment_line(line, header_prefix)
+        if _HEADER_RE.match(line):
+            if not started:
+                started = True
+                continue
+            else:
+                ended = True
+                if in_html_div:
+                    continue
+                break
 
         if _JUPYTER_RE.match(line):
-            injupyter = True
+            in_jupyter = True
         elif line and not _LEFTSPACE_RE.match(line):
-            injupyter = False
+            in_jupyter = False
 
-        if injupyter:
+        if in_jupyter:
             jupyter.append(line)
         else:
             header.append(line)
diff --git a/jupytext/version.py b/jupytext/version.py
index b6d1df7..5580906 100644
--- a/jupytext/version.py
+++ b/jupytext/version.py
@@ -1,3 +1,3 @@
 """Jupytext's version number"""
 
-__version__ = "1.5.2"
+__version__ = "1.6.0-dev"

Hide metadata header in markdown
Is it possible, or would it be possible to hide the metedata header added when reading and writing to markdown?

For example, this is the header on one markdown document:

```markdown
---
jupyter:
  jupytext:
    text_representation:
      extension: .md
      format_name: markdown
      format_version: '1.2'
      jupytext_version: 1.4.2
  kernelspec:
    display_name: Python 3
    language: python
    name: python3
---
```

Instead, it would be great if this could be put in an inline comment so that it isn't visible when the document is rendered outside of jupyter.

(P.s. thank you very much for your work on this, it is a really excellent plugin you've built here 😄)
diff --git a/tests/test_cli_config.py b/tests/test_cli_config.py
index decb3a0..c83fea7 100644
--- a/tests/test_cli_config.py
+++ b/tests/test_cli_config.py
@@ -3,6 +3,7 @@ from nbformat.v4.nbbase import new_notebook, new_code_cell
 from jupytext.cli import jupytext
 from jupytext.jupytext import read, write
 from jupytext.header import header_to_metadata_and_cell
+from jupytext.compare import compare
 
 
 def test_default_jupytext_formats(tmpdir):
@@ -89,3 +90,38 @@ def test_save_using_preferred_and_default_format(config, tmpdir):
     # read py file
     nb_py = read(str(tmp_py))
     assert nb_py.metadata["jupytext"]["text_representation"]["format_name"] == "percent"
+
+
+def test_hide_notebook_metadata(tmpdir, no_jupytext_version_number):
+    tmpdir.join(".jupytext").write("hide_notebook_metadata = true")
+    tmp_ipynb = tmpdir.join("notebook.ipynb")
+    tmp_md = tmpdir.join("notebook.md")
+
+    nb = new_notebook(
+        cells=[new_code_cell("1 + 1")], metadata={"jupytext": {"formats": "ipynb,md"}}
+    )
+
+    write(nb, str(tmp_ipynb))
+    jupytext([str(tmp_ipynb), "--sync"])
+
+    with open(str(tmp_md)) as stream:
+        text_md = stream.read()
+
+    compare(
+        text_md,
+        """<!--
+
+---
+jupyter:
+  jupytext:
+    formats: ipynb,md
+    hide_notebook_metadata: true
+---
+
+-->
+
+```python
+1 + 1
+```
+""",
+    )
diff --git a/tests/test_header.py b/tests/test_header.py
index 9801e0b..8977ba0 100644
--- a/tests/test_header.py
+++ b/tests/test_header.py
@@ -148,3 +148,41 @@ jupyter:
     compare(actual, markdown)
     nb2 = jupytext.reads(markdown, ".md")
     compare(nb2, notebook)
+
+
+def test_header_in_html_comment():
+    text = """<!--
+
+---
+jupyter:
+  title: Sample header
+---
+
+-->
+"""
+    lines = text.splitlines()
+    metadata, _, cell, _ = header_to_metadata_and_cell(lines, "")
+
+    assert metadata == {"title": "Sample header"}
+    assert cell is None
+
+
+def test_header_to_html_comment(no_jupytext_version_number):
+    metadata = {"jupytext": {"mainlanguage": "python", "hide_notebook_metadata": True}}
+    nb = new_notebook(metadata=metadata, cells=[])
+    header, lines_to_next_cell = metadata_and_cell_to_header(
+        nb, metadata, get_format_implementation(".md"), ".md"
+    )
+    compare(
+        "\n".join(header),
+        """<!--
+
+---
+jupyter:
+  jupytext:
+    hide_notebook_metadata: true
+    mainlanguage: python
+---
+
+-->""",
+    )
diff --git a/tests/test_read_simple_markdown.py b/tests/test_read_simple_markdown.py
index ad09669..728713f 100644
--- a/tests/test_read_simple_markdown.py
+++ b/tests/test_read_simple_markdown.py
@@ -916,3 +916,37 @@ jupyter:
     compare(md2, md)
     nb2 = jupytext.reads(md, "md")
     compare_notebooks(nb2, nb)
+
+
+def test_hide_notebook_metadata(
+    no_jupytext_version_number,
+    nb=new_notebook(
+        metadata={
+            "jupytext": {"hide_notebook_metadata": True},
+            "kernelspec": {
+                "display_name": "Python 3",
+                "language": "python",
+                "name": "python3",
+            },
+        }
+    ),
+    md="""<!--
+
+---
+jupyter:
+  jupytext:
+    hide_notebook_metadata: true
+  kernelspec:
+    display_name: Python 3
+    language: python
+    name: python3
+---
+
+-->
+""",
+):
+    """Test the hide_notebook_metadata option"""
+    md2 = jupytext.writes(nb, "md")
+    compare(md2, md)
+    nb2 = jupytext.reads(md, "md")
+    compare_notebooks(nb2, nb)
diff --git a/tests/test_read_simple_percent.py b/tests/test_read_simple_percent.py
index 60839e8..bfc79ff 100644
--- a/tests/test_read_simple_percent.py
+++ b/tests/test_read_simple_percent.py
@@ -502,3 +502,32 @@ def test_docstring_with_quadruple_quote(
     py = jupytext.writes(nb, "py:percent")
     nb2 = jupytext.reads(py, "py")
     compare_notebooks(nb2, nb)
+
+
+def test_cell_marker_has_same_indentation_as_code(
+    text="""# %%
+if __name__ == '__main__':
+    print(1)
+
+    # %%
+    # INDENTED COMMENT
+    print(2)
+""",
+    nb_expected=new_notebook(
+        cells=[
+            new_code_cell(
+                """if __name__ == '__main__':
+    print(1)"""
+            ),
+            new_code_cell(
+                """    # INDENTED COMMENT
+    print(2)"""
+            ),
+        ]
+    ),
+):
+    """The cell marker should have the same indentation as the first code line. See issue #562"""
+    nb_actual = jupytext.reads(text, fmt="py:percent")
+    compare_notebooks(nb_actual, nb_expected)
+    text_actual = jupytext.writes(nb_actual, fmt="py:percent")
+    compare(text_actual, text)

environment.yml
pip install -e .
parse_log_pytest
environment.yml
pytest
3.9
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
aiofiles @ file:///croot/aiofiles_1683773582346/work
aiosqlite @ file:///croot/aiosqlite_1743188121172/work
alabaster @ file:///croot/alabaster_1718201490751/work
anyio @ file:///croot/anyio_1729121277521/work
argon2-cffi @ file:///opt/conda/conda-bld/argon2-cffi_1645000214183/work
argon2-cffi-bindings @ file:///croot/argon2-cffi-bindings_1736182440035/work
astroid @ file:///croot/astroid_1736455921794/work
asttokens @ file:///opt/conda/conda-bld/asttokens_1646925590279/work
attrs @ file:///croot/attrs_1734533101012/work
autopep8 @ file:///croot/autopep8_1708962882016/work
babel @ file:///croot/babel_1737454360933/work
backcall @ file:///home/ktietz/src/ci/backcall_1611930011877/work
beautifulsoup4 @ file:///croot/beautifulsoup4-split_1718029820055/work
black @ file:///croot/black_1737659122412/work
bleach @ file:///croot/bleach_1732290411627/work
Brotli @ file:///croot/brotli-split_1736182456865/work
certifi @ file:///croot/certifi_1738623731865/work/certifi
cffi @ file:///croot/cffi_1736182485317/work
cfgv @ file:///croot/cfgv_1694505959159/work
charset-normalizer @ file:///croot/charset-normalizer_1721748349566/work
click @ file:///croot/click_1698129812380/work
cmarkgfm @ file:///croot/cmarkgfm_1741367044794/work
comm @ file:///croot/comm_1709322850197/work
commonmark @ file:///Users/ktietz/demo/mc3/conda-bld/commonmark_1630649545323/work
coverage @ file:///croot/coverage_1734018327576/work
cryptography @ file:///croot/cryptography_1740577825284/work
debugpy @ file:///croot/debugpy_1736267418885/work
decorator @ file:///opt/conda/conda-bld/decorator_1643638310831/work
defusedxml @ file:///tmp/build/80754af9/defusedxml_1615228127516/work
dill @ file:///croot/dill_1715094664823/work
distlib @ file:///croot/distlib_1714716998232/work
docutils @ file:///opt/conda/conda-bld/docutils_1657175430858/work
entrypoints @ file:///tmp/build/80754af9/entrypoints_1649926439650/work
exceptiongroup @ file:///croot/exceptiongroup_1706031385326/work
execnet @ file:///croot/execnet_1731939276985/work
executing @ file:///opt/conda/conda-bld/executing_1646925071911/work
fastjsonschema @ file:///croot/python-fastjsonschema_1731939362158/work
filelock @ file:///croot/filelock_1700591183607/work
flake8 @ file:///croot/flake8_1726157165993/work
future @ file:///croot/future_1730902796226/work
identify @ file:///opt/conda/conda-bld/identify_1663193176610/work
idna @ file:///croot/idna_1714398848350/work
imagesize @ file:///opt/conda/conda-bld/imagesize_1657179498843/work
importlib_metadata @ file:///croot/importlib_metadata-suite_1732633488278/work
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
ipykernel @ file:///croot/ipykernel_1737660677549/work
ipython @ file:///croot/ipython_1694181358621/work
ipython-genutils @ file:///tmp/build/80754af9/ipython_genutils_1606773439826/work
ipywidgets @ file:///croot/ipywidgets_1733504575802/work
isort @ file:///croot/isort_1736366665795/work
jaraco.classes @ file:///tmp/build/80754af9/jaraco.classes_1620983179379/work
jedi @ file:///croot/jedi_1733987392413/work
jeepney @ file:///tmp/build/80754af9/jeepney_1627537048313/work
Jinja2 @ file:///croot/jinja2_1741710844255/work
json5 @ file:///croot/json5_1730786798687/work
jsonschema @ file:///croot/jsonschema_1728486696720/work
jsonschema-specifications @ file:///croot/jsonschema-specifications_1699032386549/work
jupyter @ file:///croot/jupyter_1737645803214/work
jupyter-console @ file:///croot/jupyter_console_1679999630278/work
jupyter-contrib-nbextensions @ file:///home/conda/feedstock_root/build_artifacts/jupyter_contrib_nbextensions_1670068802953/work
jupyter-events @ file:///croot/jupyter_events_1741184577592/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-ydoc @ file:///croot/jupyter_ydoc_1726065554479/work
jupyter_client @ file:///croot/jupyter_client_1676329080601/work
jupyter_contrib_core @ file:///home/conda/feedstock_root/build_artifacts/jupyter_contrib_core_1734637697362/work
jupyter_core @ file:///croot/jupyter_core_1718818295206/work
jupyter_server @ file:///croot/jupyter_server_1741200034823/work
jupyter_server_fileid @ file:///croot/jupyter_server_fileid_1684273577568/work
jupyter_server_terminals @ file:///croot/jupyter_server_terminals_1686870725608/work
jupyter_server_ydoc @ file:///croot/jupyter_server_ydoc_1726213198316/work
jupyterlab @ file:///croot/jupyterlab_1708029878135/work
jupyterlab-pygments @ file:///croot/jupyterlab_pygments_1700168593176/work
jupyterlab_server @ file:///croot/jupyterlab_server_1725865349919/work
jupyterlab_widgets @ file:///croot/jupyterlab_widgets_1733440870459/work
-e git+https://github.com/mwouts/jupytext.git@a8992b01db6d9c0133d8d3dc3175c597e8028f51#egg=jupytext
keyring @ file:///croot/keyring_1709632513808/work
lxml @ file:///croot/lxml_1737039601731/work
markdown-it-py @ file:///home/conda/feedstock_root/build_artifacts/markdown-it-py_1733250460757/work
MarkupSafe @ file:///croot/markupsafe_1738584038848/work
matplotlib-inline @ file:///opt/conda/conda-bld/matplotlib-inline_1662014470464/work
mccabe @ file:///opt/conda/conda-bld/mccabe_1644221741721/work
mdit-py-plugins @ file:///home/conda/feedstock_root/build_artifacts/mdit-py-plugins_1733854715505/work
mdurl @ file:///opt/conda/conda-bld/mdurl_1659716024347/work
mistune @ file:///croot/mistune_1741124011532/work
more-itertools @ file:///croot/more-itertools_1727185441804/work
mypy-extensions @ file:///croot/mypy_extensions_1695130926492/work
myst-parser @ file:///home/conda/feedstock_root/build_artifacts/myst-parser_1714413780344/work
nbclassic @ file:///croot/nbclassic_1717622582894/work
nbclient @ file:///croot/nbclient_1741123995822/work
nbconvert @ file:///croot/nbconvert-meta_1741184653315/work
nbformat @ file:///croot/nbformat_1728049424075/work
nest-asyncio @ file:///croot/nest-asyncio_1708532673751/work
nodeenv @ file:///croot/nodeenv_1741859496902/work
notebook @ file:///croot/notebook_1717630758219/work
notebook_shim @ file:///croot/notebook-shim_1741707758683/work
overrides @ file:///croot/overrides_1699371140756/work
packaging @ file:///croot/packaging_1734472117206/work
pandocfilters @ file:///opt/conda/conda-bld/pandocfilters_1643405455980/work
parso @ file:///croot/parso_1733963305961/work
pathspec @ file:///croot/pathspec_1674681560568/work
pexpect @ file:///tmp/build/80754af9/pexpect_1605563209008/work
pickleshare @ file:///tmp/build/80754af9/pickleshare_1606932040724/work
pillow @ file:///croot/pillow_1738010226202/work
pkginfo @ file:///croot/pkginfo_1743184746806/work
platformdirs @ file:///croot/platformdirs_1692205439124/work
pluggy @ file:///croot/pluggy_1733169602837/work
pre-commit @ file:///croot/pre-commit-split_1694776958465/work
prometheus_client @ file:///croot/prometheus_client_1731953121795/work
prompt-toolkit @ file:///croot/prompt-toolkit_1704404351921/work
psutil @ file:///croot/psutil_1736367091698/work
ptyprocess @ file:///tmp/build/80754af9/ptyprocess_1609355006118/work/dist/ptyprocess-0.7.0-py2.py3-none-any.whl
pure-eval @ file:///opt/conda/conda-bld/pure_eval_1646925070566/work
pycodestyle @ file:///croot/pycodestyle_1726150303809/work
pycparser @ file:///tmp/build/80754af9/pycparser_1636541352034/work
pyflakes @ file:///croot/pyflakes_1708962956225/work
Pygments @ file:///croot/pygments_1684279966437/work
pylint @ file:///croot/pylint_1736469691131/work
PyQt6==6.7.1
PyQt6_sip @ file:///croot/pyqt-split_1740498191142/work/pyqt_sip
PySocks @ file:///tmp/build/80754af9/pysocks_1605305812635/work
pytest @ file:///croot/pytest_1738938843180/work
pytest-cov @ file:///croot/pytest-cov_1732897209816/work
pytest-xdist @ file:///croot/pytest-xdist_1732896314179/work
python-dateutil @ file:///croot/python-dateutil_1716495738603/work
python-json-logger @ file:///croot/python-json-logger_1734370021104/work
PyYAML @ file:///croot/pyyaml_1728657952215/work
pyzmq @ file:///croot/pyzmq_1709318311506/work
qtconsole @ file:///croot/qtconsole_1737590761179/work
QtPy @ file:///croot/qtpy_1700144840038/work
readme-renderer @ file:///croot/readme_renderer_1690358467326/work
recommonmark @ file:///Users/ktietz/demo/mc3/conda-bld/recommonmark_1629466645250/work
referencing @ file:///croot/referencing_1699012038513/work
requests @ file:///croot/requests_1730999120400/work
requests-toolbelt @ file:///croot/requests-toolbelt_1690874004362/work
rfc3339-validator @ file:///croot/rfc3339-validator_1683077044675/work
rfc3986 @ file:///Users/ktietz/demo/mc3/conda-bld/rfc3986_1629478296451/work
rfc3986-validator @ file:///croot/rfc3986-validator_1683058983515/work
rich @ file:///croot/rich_1732638981168/work
rpds-py @ file:///croot/rpds-py_1736541261634/work
SecretStorage @ file:///croot/secretstorage_1678709481048/work
Send2Trash @ file:///croot/send2trash_1736540790175/work
sip @ file:///croot/sip_1738856193618/work
six @ file:///tmp/build/80754af9/six_1644875935023/work
sniffio @ file:///croot/sniffio_1705431295498/work
snowballstemmer @ file:///tmp/build/80754af9/snowballstemmer_1637937080595/work
soupsieve @ file:///croot/soupsieve_1696347547217/work
Sphinx @ file:///croot/sphinx_1718275386998/work
sphinx-copybutton==0.5.2
sphinx-gallery @ file:///home/conda/feedstock_root/build_artifacts/sphinx-gallery_1739451496361/work
sphinx-rtd-theme==3.0.2
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:///croot/sphinxcontrib-serializinghtml_1718201486943/work
stack-data @ file:///opt/conda/conda-bld/stack_data_1646927590127/work
terminado @ file:///croot/terminado_1671751832461/work
tinycss2 @ file:///croot/tinycss2_1738337643607/work
toml @ file:///tmp/build/80754af9/toml_1616166611790/work
tomli @ file:///opt/conda/conda-bld/tomli_1657175507142/work
tomlkit @ file:///croot/tomlkit_1728650307440/work
tornado @ file:///croot/tornado_1733960490606/work
traitlets @ file:///croot/traitlets_1718227057033/work
twine @ file:///croot/twine_1733412094381/work
typing_extensions @ file:///croot/typing_extensions_1734714854207/work
ukkonen @ file:///croot/ukkonen_1736541021184/work
urllib3 @ file:///croot/urllib3_1737133630106/work
virtualenv @ file:///croot/virtualenv_1733440267065/work
wcwidth @ file:///Users/ktietz/demo/mc3/conda-bld/wcwidth_1629357192024/work
webencodings==0.5.1
websocket-client @ file:///croot/websocket-client_1715878298792/work
widgetsnbextension @ file:///croot/widgetsnbextension_1733439572884/work
y-py @ file:///croot/y-py_1741380046895/work
ypy-websocket @ file:///croot/ypy-websocket_1726065537145/work
zipp @ file:///croot/zipp_1732630741423/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
  - aiofiles=22.1.0=py39h06a4308_0
  - aiosqlite=0.21.0=py39h06a4308_0
  - alabaster=0.7.16=py39h06a4308_0
  - anyio=4.6.2=py39h06a4308_0
  - argon2-cffi=21.3.0=pyhd3eb1b0_0
  - argon2-cffi-bindings=21.2.0=py39h5eee18b_1
  - astroid=3.3.8=py39h06a4308_0
  - asttokens=2.0.5=pyhd3eb1b0_0
  - attrs=24.3.0=py39h06a4308_0
  - autopep8=2.0.4=pyhd3eb1b0_0
  - babel=2.16.0=py39h06a4308_0
  - backcall=0.2.0=pyhd3eb1b0_0
  - beautifulsoup4=4.12.3=py39h06a4308_0
  - black=24.10.0=py39h06a4308_0
  - bleach=6.2.0=py39h06a4308_0
  - brotli-python=1.0.9=py39h6a678d5_9
  - bzip2=1.0.8=h5eee18b_6
  - c-ares=1.19.1=h5eee18b_0
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2025.1.31=py39h06a4308_0
  - cffi=1.17.1=py39h1fdaa30_1
  - cfgv=3.4.0=py39h06a4308_0
  - charset-normalizer=3.3.2=pyhd3eb1b0_0
  - click=8.1.7=py39h06a4308_0
  - cmarkgfm=2024.11.20=py39h5eee18b_0
  - comm=0.2.1=py39h06a4308_0
  - commonmark=0.9.1=pyhd3eb1b0_0
  - coverage=7.6.9=py39h5eee18b_0
  - cryptography=44.0.1=py39h7825ff9_0
  - cyrus-sasl=2.1.28=h52b45da_1
  - dbus=1.13.18=hb2f20db_0
  - debugpy=1.8.11=py39h6a678d5_0
  - decorator=5.1.1=pyhd3eb1b0_0
  - defusedxml=0.7.1=pyhd3eb1b0_0
  - dill=0.3.8=py39h06a4308_0
  - distlib=0.3.8=py39h06a4308_0
  - docutils=0.18.1=py39h06a4308_3
  - entrypoints=0.4=py39h06a4308_0
  - exceptiongroup=1.2.0=py39h06a4308_0
  - execnet=2.1.1=pyhd3eb1b0_0
  - executing=0.8.3=pyhd3eb1b0_0
  - expat=2.6.4=h6a678d5_0
  - filelock=3.13.1=py39h06a4308_0
  - flake8=7.1.1=py39h06a4308_0
  - fontconfig=2.14.1=h55d465d_3
  - freetype=2.12.1=h4a9f257_0
  - future=1.0.0=py39h06a4308_0
  - glib=2.78.4=h6a678d5_0
  - glib-tools=2.78.4=h6a678d5_0
  - icu=73.1=h6a678d5_0
  - identify=2.5.5=py39h06a4308_0
  - idna=3.7=py39h06a4308_0
  - imagesize=1.4.1=py39h06a4308_0
  - importlib-metadata=8.5.0=py39h06a4308_0
  - importlib_metadata=8.5.0=hd3eb1b0_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ipykernel=6.29.5=py39h06a4308_1
  - ipython=8.15.0=py39h06a4308_0
  - ipython_genutils=0.2.0=pyhd3eb1b0_1
  - ipywidgets=8.1.5=py39h06a4308_0
  - isort=5.13.2=py39h06a4308_1
  - jaraco.classes=3.2.1=pyhd3eb1b0_0
  - jedi=0.19.2=py39h06a4308_0
  - jeepney=0.7.1=pyhd3eb1b0_0
  - jinja2=3.1.6=py39h06a4308_0
  - jpeg=9e=h5eee18b_3
  - json5=0.9.25=py39h06a4308_0
  - jsonschema=4.23.0=py39h06a4308_0
  - jsonschema-specifications=2023.7.1=py39h06a4308_0
  - jupyter=1.1.1=py39h06a4308_0
  - jupyter_client=7.4.9=py39h06a4308_0
  - jupyter_console=6.6.3=py39h06a4308_0
  - jupyter_contrib_core=0.4.0=pyhd8ed1ab_1
  - jupyter_contrib_nbextensions=0.7.0=pyhd8ed1ab_0
  - jupyter_core=5.7.2=py39h06a4308_0
  - jupyter_events=0.12.0=py39h06a4308_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=2.15.0=py39h06a4308_0
  - jupyter_server_fileid=0.9.0=py39h06a4308_0
  - jupyter_server_terminals=0.4.4=py39h06a4308_1
  - jupyter_server_ydoc=0.8.0=py39h06a4308_2
  - jupyter_ydoc=0.2.5=py39h06a4308_0
  - jupyterlab=3.6.7=py39h06a4308_0
  - jupyterlab_pygments=0.2.2=py39h06a4308_0
  - jupyterlab_server=2.27.3=py39h06a4308_0
  - jupyterlab_widgets=3.0.13=py39h06a4308_0
  - keyring=24.3.1=py39h06a4308_0
  - krb5=1.20.1=h143b758_1
  - lcms2=2.16=hb9589c4_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - lerc=4.0.0=h6a678d5_0
  - libabseil=20250127.0=cxx17_h6a678d5_0
  - libcups=2.4.2=h2d74bed_1
  - libcurl=8.12.1=hc9e6f67_0
  - libdeflate=1.22=h5eee18b_0
  - libedit=3.1.20230828=h5eee18b_0
  - libev=4.33=h7f8727e_1
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libglib=2.78.4=hdc74915_0
  - libgomp=11.2.0=h1234567_1
  - libiconv=1.16=h5eee18b_3
  - libnghttp2=1.57.0=h2d74bed_0
  - libpng=1.6.39=h5eee18b_0
  - libpq=17.4=hdbd6064_0
  - libprotobuf=5.29.3=hc99497a_0
  - libsodium=1.0.18=h7b6447c_0
  - libssh2=1.11.1=h251f7ec_0
  - libstdcxx-ng=11.2.0=h1234567_1
  - libtiff=4.5.1=hffd6297_1
  - libuuid=1.41.5=h5eee18b_0
  - libwebp-base=1.3.2=h5eee18b_1
  - libxcb=1.15=h7f8727e_0
  - libxkbcommon=1.0.1=h097e994_2
  - libxml2=2.13.5=hfdd30dd_0
  - libxslt=1.1.41=h097e994_0
  - lxml=5.3.0=py39h57af460_1
  - lz4-c=1.9.4=h6a678d5_1
  - markdown-it-py=3.0.0=pyhd8ed1ab_1
  - markupsafe=3.0.2=py39h5eee18b_0
  - matplotlib-inline=0.1.6=py39h06a4308_0
  - mccabe=0.7.0=pyhd3eb1b0_0
  - mdit-py-plugins=0.4.2=pyhd8ed1ab_1
  - mdurl=0.1.0=py39h06a4308_0
  - mistune=3.1.2=py39h06a4308_0
  - more-itertools=10.3.0=py39h06a4308_0
  - mypy_extensions=1.0.0=py39h06a4308_0
  - mysql=8.4.0=h721767e_2
  - myst-parser=3.0.1=pyhd8ed1ab_0
  - nbclassic=1.1.0=py39h06a4308_0
  - nbclient=0.10.2=py39h06a4308_0
  - nbconvert=7.16.6=py39h06a4308_0
  - nbconvert-core=7.16.6=py39h06a4308_0
  - nbconvert-pandoc=7.16.6=py39h06a4308_0
  - nbformat=5.10.4=py39h06a4308_0
  - ncurses=6.4=h6a678d5_0
  - nest-asyncio=1.6.0=py39h06a4308_0
  - nodeenv=1.9.1=py39h06a4308_0
  - nodejs=10.13.0=he6710b0_0
  - notebook=6.5.7=py39h06a4308_0
  - notebook-shim=0.2.4=py39h06a4308_0
  - openjpeg=2.5.2=he7f1fd0_0
  - openldap=2.6.4=h42fbc30_0
  - openssl=3.0.16=h5eee18b_0
  - overrides=7.4.0=py39h06a4308_0
  - packaging=24.2=py39h06a4308_0
  - pandoc=2.12=h06a4308_3
  - pandocfilters=1.5.0=pyhd3eb1b0_0
  - parso=0.8.4=py39h06a4308_0
  - pathspec=0.10.3=py39h06a4308_0
  - pcre2=10.42=hebb0a14_1
  - pexpect=4.8.0=pyhd3eb1b0_3
  - pickleshare=0.7.5=pyhd3eb1b0_1003
  - pillow=11.1.0=py39hcea889d_0
  - pip=25.0=py39h06a4308_0
  - pkginfo=1.12.0=py39h06a4308_0
  - platformdirs=3.10.0=py39h06a4308_0
  - pluggy=1.5.0=py39h06a4308_0
  - pre-commit=3.4.0=py39h06a4308_1
  - prometheus_client=0.21.0=py39h06a4308_0
  - prompt-toolkit=3.0.43=py39h06a4308_0
  - prompt_toolkit=3.0.43=hd3eb1b0_0
  - psutil=5.9.0=py39h5eee18b_1
  - ptyprocess=0.7.0=pyhd3eb1b0_2
  - pure_eval=0.2.2=pyhd3eb1b0_0
  - pycodestyle=2.12.1=py39h06a4308_0
  - pycparser=2.21=pyhd3eb1b0_0
  - pyflakes=3.2.0=py39h06a4308_0
  - pygments=2.15.1=py39h06a4308_1
  - pylint=3.3.3=py39h06a4308_0
  - pyqt=6.7.1=py39h6a678d5_0
  - pyqt6-sip=13.9.1=py39h5eee18b_0
  - pysocks=1.7.1=py39h06a4308_0
  - pytest=8.3.4=py39h06a4308_0
  - pytest-cov=6.0.0=py39h06a4308_0
  - pytest-xdist=3.6.1=py39h06a4308_0
  - python=3.9.21=he870216_1
  - python-dateutil=2.9.0post0=py39h06a4308_2
  - python-fastjsonschema=2.20.0=py39h06a4308_0
  - python-json-logger=3.2.1=py39h06a4308_0
  - pyyaml=6.0.2=py39h5eee18b_0
  - pyzmq=24.0.1=py39h5eee18b_0
  - qtbase=6.7.3=hdaa5aa8_0
  - qtconsole=5.6.1=py39h06a4308_0
  - qtdeclarative=6.7.3=h6a678d5_0
  - qtpy=2.4.1=py39h06a4308_0
  - qtsvg=6.7.3=he621ea3_0
  - qttools=6.7.3=h80c7b02_0
  - qtwebchannel=6.7.3=h6a678d5_0
  - qtwebsockets=6.7.3=h6a678d5_0
  - readline=8.2=h5eee18b_0
  - readme_renderer=40.0=py39h06a4308_0
  - recommonmark=0.6.0=pyhd3eb1b0_0
  - referencing=0.30.2=py39h06a4308_0
  - requests=2.32.3=py39h06a4308_1
  - requests-toolbelt=1.0.0=py39h06a4308_0
  - rfc3339-validator=0.1.4=py39h06a4308_0
  - rfc3986=1.4.0=pyhd3eb1b0_0
  - rfc3986-validator=0.1.1=py39h06a4308_0
  - rich=13.9.4=py39h06a4308_0
  - rpds-py=0.22.3=py39h4aa5aa6_0
  - secretstorage=3.3.1=py39h06a4308_1
  - send2trash=1.8.2=py39h06a4308_1
  - setuptools=75.8.0=py39h06a4308_0
  - sip=6.10.0=py39h6a678d5_0
  - six=1.16.0=pyhd3eb1b0_1
  - sniffio=1.3.0=py39h06a4308_0
  - snowballstemmer=2.2.0=pyhd3eb1b0_0
  - soupsieve=2.5=py39h06a4308_0
  - sphinx=7.3.7=py39h5eee18b_0
  - sphinx-gallery=0.19.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.10=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - stack_data=0.2.0=pyhd3eb1b0_0
  - terminado=0.17.1=py39h06a4308_0
  - tinycss2=1.4.0=py39h06a4308_0
  - tk=8.6.14=h39e8969_0
  - toml=0.10.2=pyhd3eb1b0_0
  - tomli=2.0.1=py39h06a4308_0
  - tomlkit=0.13.2=py39h06a4308_0
  - tornado=6.4.2=py39h5eee18b_0
  - traitlets=5.14.3=py39h06a4308_0
  - twine=6.0.1=py39h06a4308_0
  - typing-extensions=4.12.2=py39h06a4308_0
  - typing_extensions=4.12.2=py39h06a4308_0
  - tzdata=2025a=h04d1e81_0
  - ukkonen=1.0.1=py39hdb19cb5_1
  - urllib3=2.3.0=py39h06a4308_0
  - virtualenv=20.28.0=py39h06a4308_0
  - wcwidth=0.2.5=pyhd3eb1b0_0
  - webencodings=0.5.1=py39h06a4308_1
  - websocket-client=1.8.0=py39h06a4308_0
  - wheel=0.45.1=py39h06a4308_0
  - widgetsnbextension=4.0.13=py39h06a4308_0
  - xcb-util-cursor=0.1.4=h5eee18b_0
  - xz=5.6.4=h5eee18b_1
  - y-py=0.6.2=py39h4aa5aa6_2
  - yaml=0.2.5=h7b6447c_0
  - yarn=1.22.19=h06a4308_0
  - ypy-websocket=0.8.4=py39h06a4308_0
  - zeromq=4.3.5=h6a678d5_0
  - zipp=3.21.0=py39h06a4308_0
  - zlib=1.2.13=h5eee18b_1
  - zstd=1.5.6=hc292b87_0
  - pip:
      - sphinx-copybutton==0.5.2
      - sphinx-rtd-theme==3.0.2
      - sphinxcontrib-jquery==4.1
prefix: /opt/conda/envs/jupytext

tests/test_cli_config.py::test_hide_notebook_metadata tests/test_header.py::test_header_in_html_comment tests/test_header.py::test_header_to_html_comment tests/test_read_simple_markdown.py::test_hide_notebook_metadata tests/test_read_simple_percent.py::test_cell_marker_has_same_indentation_as_code
tests/test_read_simple_markdown.py::test_read_mostly_py_markdown_file tests/test_read_simple_markdown.py::test_read_md_and_markdown_regions tests/test_read_simple_markdown.py::test_read_mostly_R_markdown_file tests/test_read_simple_markdown.py::test_code_cell_with_metadata tests/test_read_simple_markdown.py::test_raw_cell_with_metadata_json tests/test_read_simple_markdown.py::test_raw_cell_with_metadata tests/test_read_simple_markdown.py::test_read_raw_cell_markdown_version_1_1 tests/test_read_simple_markdown.py::test_read_raw_cell_markdown_version_1_1_with_mimetype tests/test_read_simple_markdown.py::test_markdown_cell_with_metadata_json tests/test_read_simple_markdown.py::test_markdown_cell_with_metadata tests/test_read_simple_markdown.py::test_two_markdown_cells tests/test_read_simple_percent.py::test_multiple_empty_cells tests/test_read_simple_percent.py::test_cell_markers_option_in_contents_manager tests/test_read_simple_percent.py::test_default_cell_markers_in_contents_manager tests/test_read_simple_percent.py::test_default_cell_markers_in_contents_manager_does_not_impact_light_format
tests/test_cli_config.py::test_default_jupytext_formats tests/test_cli_config.py::test_default_jupytext_formats_with_suffix tests/test_cli_config.py::test_default_jupytext_formats_does_not_apply_to_config_file tests/test_cli_config.py::test_preferred_jupytext_formats_save tests/test_cli_config.py::test_save_using_preferred_and_default_format[preferred_jupytext_formats_save: tests/test_cli_config.py::test_save_using_preferred_and_default_format[default_jupytext_formats: tests/test_header.py::test_uncomment tests/test_header.py::test_header_to_metadata_and_cell_blank_line tests/test_header.py::test_header_to_metadata_and_cell_no_blank_line tests/test_header.py::test_header_to_metadata_and_cell_metadata tests/test_header.py::test_metadata_and_cell_to_header tests/test_header.py::test_metadata_and_cell_to_header2 tests/test_header.py::test_notebook_from_plain_script_has_metadata_filter tests/test_header.py::test_multiline_metadata tests/test_read_simple_markdown.py::test_read_markdown_file_no_language tests/test_read_simple_markdown.py::test_read_julia_notebook tests/test_read_simple_markdown.py::test_split_on_header tests/test_read_simple_markdown.py::test_split_on_header_after_two_blank_lines tests/test_read_simple_markdown.py::test_split_at_heading_in_metadata tests/test_read_simple_markdown.py::test_combine_md_version_one tests/test_read_simple_markdown.py::test_jupyter_cell_is_not_split tests/test_read_simple_markdown.py::test_indented_code_is_not_split tests/test_read_simple_markdown.py::test_non_jupyter_code_is_not_split tests/test_read_simple_markdown.py::test_read_markdown_idl tests/test_read_simple_markdown.py::test_read_markdown_IDL tests/test_read_simple_markdown.py::test_inactive_cell tests/test_read_simple_markdown.py::test_inactive_cell_using_tag tests/test_read_simple_markdown.py::test_inactive_cell_using_noeval tests/test_read_simple_markdown.py::test_noeval_followed_by_code_works tests/test_read_simple_markdown.py::test_markdown_cell_with_code_works tests/test_read_simple_markdown.py::test_markdown_cell_with_noeval_code_works tests/test_read_simple_markdown.py::test_two_markdown_cell_with_code_works tests/test_read_simple_markdown.py::test_two_markdown_cell_with_no_language_code_works tests/test_read_simple_markdown.py::test_markdown_cell_with_code_inside_multiline_string_419 tests/test_read_simple_markdown.py::test_notebook_with_python3_magic tests/test_read_simple_markdown.py::test_update_metadata_filter tests/test_read_simple_markdown.py::test_update_metadata_filter_2 tests/test_read_simple_markdown.py::test_custom_metadata tests/test_read_simple_percent.py::test_read_simple_file tests/test_read_simple_percent.py::test_read_cell_with_metadata tests/test_read_simple_percent.py::test_read_nbconvert_script tests/test_read_simple_percent.py::test_read_remove_blank_lines tests/test_read_simple_percent.py::test_no_crash_on_square_bracket tests/test_read_simple_percent.py::test_nbconvert_cell tests/test_read_simple_percent.py::test_nbformat_v3_nbpy_cell tests/test_read_simple_percent.py::test_first_cell_markdown_191 tests/test_read_simple_percent.py::test_multiline_comments_in_markdown_1 tests/test_read_simple_percent.py::test_multiline_comments_in_markdown_2 tests/test_read_simple_percent.py::test_multiline_comments_format_option tests/test_read_simple_percent.py::test_multiline_comments_in_raw_cell tests/test_read_simple_percent.py::test_multiline_comments_in_markdown_cell_no_line_return tests/test_read_simple_percent.py::test_multiline_comments_in_markdown_cell_is_robust_to_additional_cell_marker tests/test_read_simple_percent.py::test_single_triple_quote_works tests/test_read_simple_percent.py::test_docstring_with_quadruple_quote
docs/config.md jupytext/cell_to_text.py jupytext/cli.py jupytext/formats.py jupytext/header.py jupytext/cell_reader.py CHANGELOG.md jupytext/config.py jupytext/version.py
docs/config.md jupytext/cell_to_text.py jupytext/cli.py jupytext/formats.py jupytext/header.py jupytext/cell_reader.py CHANGELOG.md jupytext/config.py jupytext/version.py