Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mwouts/jupytext
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.16.0
Choose a base ref
...
head repository: mwouts/jupytext
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref

Commits on Dec 15, 2023

  1. Update links to pre-commit examples

    melissawm authored and mwouts committed Dec 15, 2023
    Copy the full SHA
    0606f03 View commit details

Commits on Jan 12, 2024

  1. Remove concurrency

    Only the workflows that trigger need the concurrency
    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    635c3b6 View commit details
  2. Update action versions

    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    1ed9ab2 View commit details
  3. Reorganize test dependencies

    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    5e0bc6f View commit details
  4. Harden the workflows

    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    773b977 View commit details
  5. Update python-version defaults

    Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    1f1d580 View commit details
  6. Remove explicit markdown-it-py

    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    c3bba69 View commit details
  7. Simplify release CI

    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    afd6891 View commit details
  8. Improve CI display

    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    6db16ba View commit details
  9. Add pass action

    Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    332fc1a View commit details
  10. Simplify step_build

    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    57176f7 View commit details
  11. Remove the sdist.exclude

    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    5145497 View commit details
  12. Remove jupyterlab upper-bound

    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    bea7f2c View commit details
  13. Copy the full SHA
    4927d5f View commit details
  14. Configure fail-fast option

    Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    a2f8106 View commit details
  15. Bump minimum markdown-it-py

    Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    e5dcfa6 View commit details
  16. fix markdown-it-py-version CI

    Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    b43b625 View commit details
  17. Package name convention

    Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    dc3b9fd View commit details
  18. Configure release CD

    Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    0ecd51f View commit details
  19. Run pytest in parallel

    Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    269d225 View commit details
  20. Reconfigure codecov

    Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    113d2c2 View commit details
  21. Conditionally upload code coverage

    Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
    LecrisUT authored and mwouts committed Jan 12, 2024
    Copy the full SHA
    1870d19 View commit details

Commits on Jan 13, 2024

  1. Merge pull request #1190 from LecrisUT/ci/organize

    ci: Minor reorganizations
    mwouts authored Jan 13, 2024
    Copy the full SHA
    9046930 View commit details
  2. Update the CI (#1204)

    * Keep dependencies unchanged for now
    * Define no_markdown-it-py in the matrix
    * The test with --pre dependencies is experimental
    * Restore publish.yml
    * Start test-conda earlier because it's very long
    * Version 1.16.1-dev
    mwouts authored Jan 13, 2024
    Copy the full SHA
    bf5c874 View commit details
  3. build(deps): bump follow-redirects from 1.15.3 to 1.15.4 in /jupyterlab

    Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.3 to 1.15.4.
    - [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
    - [Commits](follow-redirects/follow-redirects@v1.15.3...v1.15.4)
    
    ---
    updated-dependencies:
    - dependency-name: follow-redirects
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored and mwouts committed Jan 13, 2024
    Copy the full SHA
    6c4b670 View commit details
  4. fix: Ensure we set jupytext metadata to model

    * When selectedFormts are empty, we return before setting jupytext metadata
    
    * So, the changes are not being comitted to notebook model
    
    * This commit fixes it by ensuring we always set metadata before returning
    
    * Use console.debug instead of console.log to reduce log pollution
    
    Signed-off-by: Mahendra Paipuri <mahendra.paipuri@gmail.com>
    mahendrapaipuri authored and mwouts committed Jan 13, 2024
    Copy the full SHA
    f596a3c View commit details
  5. Version 1.16.1

    mwouts committed Jan 13, 2024
    Copy the full SHA
    1ef1dea View commit details

Commits on Mar 24, 2024

  1. Temporary text notebooks are created in notebook directory

    when using the --pipe or --check commands
    mwouts committed Mar 24, 2024
    Copy the full SHA
    f33e519 View commit details
  2. Use pandoc>=3.0 in the tests

    Simplify setup-miniconda@v3
    mwouts committed Mar 24, 2024
    Copy the full SHA
    12644e1 View commit details

Commits on Apr 27, 2024

  1. Correct spelling (#1212)

    joouha authored Apr 27, 2024
    Copy the full SHA
    a9cedc6 View commit details
  2. Use CODECOV_TOKEN (#1228)

    * Use a codecov token to avoid upload errors
    * The pre-release run is expected to succeed
    mwouts authored Apr 27, 2024
    Copy the full SHA
    642c709 View commit details

Commits on Apr 28, 2024

  1. Use the standard lib tomllib or default to tomli (#1200)

    Following JupyterLab
    mwouts authored Apr 28, 2024
    Copy the full SHA
    fe2ba5e View commit details
  2. Copy the full SHA
    ef4a2b7 View commit details

Commits on May 5, 2024

  1. build(deps): bump ip from 2.0.0 to 2.0.1 in /jupyterlab (#1216)

    Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
    - [Commits](indutny/node-ip@v2.0.0...v2.0.1)
    
    ---
    updated-dependencies:
    - dependency-name: ip
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored May 5, 2024
    Copy the full SHA
    b62f970 View commit details
  2. build(deps): bump follow-redirects from 1.15.4 to 1.15.6 in /jupyterl…

    …ab (#1218)
    
    Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.4 to 1.15.6.
    - [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
    - [Commits](follow-redirects/follow-redirects@v1.15.4...v1.15.6)
    
    ---
    updated-dependencies:
    - dependency-name: follow-redirects
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored May 5, 2024
    Copy the full SHA
    80bc72f View commit details
  3. build(deps): bump ejs from 3.1.9 to 3.1.10 in /jupyterlab (#1231)

    Bumps [ejs](https://github.com/mde/ejs) from 3.1.9 to 3.1.10.
    - [Release notes](https://github.com/mde/ejs/releases)
    - [Commits](mde/ejs@v3.1.9...v3.1.10)
    
    ---
    updated-dependencies:
    - dependency-name: ejs
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored May 5, 2024
    Copy the full SHA
    4552393 View commit details
  4. Copy the full SHA
    c37f3e0 View commit details
  5. Update JS dependencies (#1229)

    * Update extension dependencies
    * Update the UI screenshots
    mwouts authored May 5, 2024
    Copy the full SHA
    7963f5f View commit details
  6. Update the timestamp of the py file only (#1227)

    if it is older than that of the nb file
    mwouts authored May 5, 2024
    Copy the full SHA
    9bc2675 View commit details
  7. Version 1.16.2 (#1234)

    mwouts authored May 5, 2024
    Copy the full SHA
    fd07ae2 View commit details

Commits on Jun 30, 2024

  1. Document how to fix jupytext stripping mystnb file metadata. #1247

    using either a local metadata filter, or a Jupytext configuration file
    mwouts committed Jun 30, 2024
    Copy the full SHA
    0e8e44b View commit details
  2. Deactivate pyupgrade until we figure

    out what is the problem with
    tests/external/simple_external_notebooks/test_read_simple_pandoc.py
    mwouts committed Jun 30, 2024
    Copy the full SHA
    ccae7ef View commit details
  3. These two tests require myst

    mwouts committed Jun 30, 2024
    Copy the full SHA
    42a48e8 View commit details
  4. build(deps): bump ws from 8.17.0 to 8.17.1 in /jupyterlab

    Bumps [ws](https://github.com/websockets/ws) from 8.17.0 to 8.17.1.
    - [Release notes](https://github.com/websockets/ws/releases)
    - [Commits](websockets/ws@8.17.0...8.17.1)
    
    ---
    updated-dependencies:
    - dependency-name: ws
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored and mwouts committed Jun 30, 2024
    Copy the full SHA
    f0b5eaa View commit details
  5. Add language support for Lua

    erentar authored and mwouts committed Jun 30, 2024
    Copy the full SHA
    666c1f0 View commit details
  6. Add the text version of the lua example notebook

    Plus, remove the final space in markdown cells that
    is not stable in round trips with MyST notebooks
    mwouts committed Jun 30, 2024
    Copy the full SHA
    a9131de View commit details
  7. Fix a typo when build_jupytext_contents_manager_class (#1253)

    can't be imported
    mwouts authored Jun 30, 2024
    Copy the full SHA
    4e95b2c View commit details
  8. build(deps): bump braces from 3.0.2 to 3.0.3 in /jupyterlab

    Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
    - [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
    - [Commits](micromatch/braces@3.0.2...3.0.3)
    
    ---
    updated-dependencies:
    - dependency-name: braces
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored and mwouts committed Jun 30, 2024
    Copy the full SHA
    29a979f View commit details

Commits on Jul 1, 2024

  1. Copy the full SHA
    508f4ea View commit details

Commits on Jul 9, 2024

  1. Copy the full SHA
    ce74c51 View commit details
Showing with 7,336 additions and 3,276 deletions.
  1. +2 −2 .ci/environment-ci.yml
  2. +4 −0 .git_archival.txt
  3. +1 −0 .gitattributes
  4. +2 −4 .github/codecov.yml
  5. +21 −0 .github/dependabot.yml
  6. +30 −15 .github/workflows/ci.yml
  7. +2 −2 .github/workflows/comment-pr.yml
  8. +6 −28 .github/workflows/publish.yml
  9. +11 −30 .github/workflows/step_build.yml
  10. +11 −12 .github/workflows/{step_test_unit_functional.yml → step_coverage.yml}
  11. +8 −7 .github/workflows/step_pre-commit.yml
  12. +4 −4 .github/workflows/step_static-analysis.yml
  13. +26 −19 .github/workflows/step_tests-conda.yml
  14. +55 −18 .github/workflows/step_tests-pip.yml
  15. +13 −6 .github/workflows/step_tests-ui.yml
  16. +49 −0 .github/workflows/update-playwright-snapshots.yml
  17. +4 −7 .pre-commit-config.yaml
  18. +101 −0 CHANGELOG.md
  19. +1 −1 LICENSE
  20. +1 −0 README.md
  21. +1 −1 binder/postBuild
  22. +4 −5 docs/developing.md
  23. +1 −1 docs/environment.yml
  24. +11 −0 docs/install.md
  25. +4 −0 docs/languages.md
  26. +2 −2 docs/using-pre-commit.md
  27. +1 −2 environment.yml
  28. +25 −20 jupyterlab/jupyterlab_jupytext/__init__.py
  29. +22 −0 jupyterlab/packages/jupyterlab-jupytext-extension/CHANGELOG.md
  30. +18 −18 jupyterlab/packages/jupyterlab-jupytext-extension/package.json
  31. +3 −3 jupyterlab/packages/jupyterlab-jupytext-extension/src/commands.ts
  32. +1 −1 jupyterlab/packages/jupyterlab-jupytext-extension/src/utils.ts
  33. +2 −2 jupyterlab/packages/jupyterlab-jupytext-extension/ui-tests/package.json
  34. +2 −2 jupyterlab/packages/jupyterlab-jupytext-extension/ui-tests/playwright.config.js
  35. +16 −7 jupyterlab/packages/jupyterlab-jupytext-extension/ui-tests/tests/jupytext-notebook.spec.ts
  36. BIN ...s-snapshots/opened-file-new-text-notebook-new-myst-markdown-text-notebook-text-jupytext-linux.png
  37. BIN ...pened-file-new-text-notebook-new-python-text-notebook-with-percent-format-text-jupytext-linux.png
  38. BIN ...opened-file-new-text-notebook-new-shell-text-notebook-with-percent-format-text-jupytext-linux.png
  39. BIN ...ts/paired-jupytext-file-jupytext-pair-notebook-pair-notebook-with-light-format-jupytext-linux.png
  40. BIN ...s/paired-jupytext-file-jupytext-pair-notebook-pair-notebook-with-myst-markdown-jupytext-linux.png
  41. BIN .../paired-jupytext-file-jupytext-pair-notebook-pair-notebook-with-percent-format-jupytext-linux.png
  42. +4 −3 jupyterlab/packages/jupyterlab-jupytext-extension/ui-tests/tests/jupytext-settings.spec.ts
  43. BIN ...ion/ui-tests/tests/jupytext-settings.spec.ts-snapshots/jupytext-settings-panel-jupytext-linux.png
  44. BIN ...-tests/tests/jupytext-settings.spec.ts-snapshots/jupytext-settings-plugin-list-jupytext-linux.png
  45. +1 −1 jupyterlab/scripts/install_extension.py
  46. +3,018 −2,284 jupyterlab/yarn.lock
  47. +20 −20 pyproject.toml
  48. +16 −4 src/jupytext/__init__.py
  49. +721 −0 src/jupytext/async_contentsmanager.py
  50. +68 −0 src/jupytext/async_pairs.py
  51. +1 −1 src/jupytext/cell_metadata.py
  52. +14 −17 src/jupytext/cell_reader.py
  53. +14 −0 src/jupytext/cell_to_text.py
  54. +39 −9 src/jupytext/cli.py
  55. +11 −7 src/jupytext/config.py
  56. +8 −4 src/jupytext/formats.py
  57. +14 −3 src/jupytext/jupytext.py
  58. +9 −0 src/jupytext/languages.py
  59. +8 −1 src/jupytext/magics.py
  60. +2 −71 src/jupytext/pairs.py
  61. +10 −2 src/jupytext/pep8.py
  62. +123 −25 src/jupytext/{contentsmanager.py → sync_contentsmanager.py}
  63. +74 −0 src/jupytext/sync_pairs.py
  64. +1 −1 src/jupytext/version.py
  65. +27 −13 tests/conftest.py
  66. +149 −0 tests/data/notebooks/inputs/ipynb_go/hello_world_gonb.ipynb
  67. +110 −0 tests/data/notebooks/inputs/ipynb_logtalk/logtalk_notebook.ipynb
  68. +152 −0 tests/data/notebooks/inputs/ipynb_lua/lua_example.ipynb
  69. +58 −0 tests/data/notebooks/inputs/ipynb_xonsh/xonsh_example.ipynb
  70. +69 −0 tests/data/notebooks/outputs/ipynb_to_Rmd/hello_world_gonb.Rmd
  71. +50 −0 tests/data/notebooks/outputs/ipynb_to_Rmd/logtalk_notebook.Rmd
  72. +64 −0 tests/data/notebooks/outputs/ipynb_to_Rmd/lua_example.Rmd
  73. +17 −0 tests/data/notebooks/outputs/ipynb_to_Rmd/xonsh_example.Rmd
  74. +66 −0 tests/data/notebooks/outputs/ipynb_to_hydrogen/hello_world_gonb.go
  75. +50 −0 tests/data/notebooks/outputs/ipynb_to_hydrogen/logtalk_notebook.lgt
  76. +65 −0 tests/data/notebooks/outputs/ipynb_to_hydrogen/lua_example.lua
  77. +15 −0 tests/data/notebooks/outputs/ipynb_to_hydrogen/xonsh_example.xsh
  78. +69 −0 tests/data/notebooks/outputs/ipynb_to_md/hello_world_gonb.md
  79. +50 −0 tests/data/notebooks/outputs/ipynb_to_md/logtalk_notebook.md
  80. +64 −0 tests/data/notebooks/outputs/ipynb_to_md/lua_example.md
  81. +17 −0 tests/data/notebooks/outputs/ipynb_to_md/xonsh_example.md
  82. +69 −0 tests/data/notebooks/outputs/ipynb_to_myst/hello_world_gonb.md
  83. +57 −0 tests/data/notebooks/outputs/ipynb_to_myst/logtalk_notebook.md
  84. +67 −0 tests/data/notebooks/outputs/ipynb_to_myst/lua_example.md
  85. +16 −0 tests/data/notebooks/outputs/ipynb_to_myst/xonsh_example.md
  86. +4 −4 tests/data/notebooks/outputs/ipynb_to_pandoc/Notebook_with_R_magic.md
  87. +2 −2 tests/data/notebooks/outputs/ipynb_to_pandoc/Notebook_with_more_R_magic_111.md
  88. +1 −1 tests/data/notebooks/outputs/ipynb_to_pandoc/cat_variable.md
  89. +2 −2 tests/data/notebooks/outputs/ipynb_to_pandoc/convert_to_py_then_test_with_update83.md
  90. +2 −2 tests/data/notebooks/outputs/ipynb_to_pandoc/frozen_cell.md
  91. +3 −3 tests/data/notebooks/outputs/ipynb_to_pandoc/ir_notebook.md
  92. +3 −3 tests/data/notebooks/outputs/ipynb_to_pandoc/julia_benchmark_plotly_barchart.md
  93. +3 −3 tests/data/notebooks/outputs/ipynb_to_pandoc/jupyter.md
  94. +3 −3 tests/data/notebooks/outputs/ipynb_to_pandoc/jupyter_again.md
  95. +1 −1 tests/data/notebooks/outputs/ipynb_to_pandoc/jupyter_with_raw_cell_in_body.md
  96. +2 −2 tests/data/notebooks/outputs/ipynb_to_pandoc/jupyter_with_raw_cell_on_top.md
  97. +1 −1 tests/data/notebooks/outputs/ipynb_to_pandoc/notebook_with_complex_metadata.md
  98. +4 −4 tests/data/notebooks/outputs/ipynb_to_pandoc/nteract_with_parameter.md
  99. +2 −2 tests/data/notebooks/outputs/ipynb_to_pandoc/plotly_graphs.md
  100. +1 −1 tests/data/notebooks/outputs/ipynb_to_pandoc/sample_rise_notebook_66.md
  101. +7 −7 tests/data/notebooks/outputs/ipynb_to_pandoc/text_outputs_and_images.md
  102. +66 −0 tests/data/notebooks/outputs/ipynb_to_percent/hello_world_gonb.go
  103. +50 −0 tests/data/notebooks/outputs/ipynb_to_percent/logtalk_notebook.lgt
  104. +65 −0 tests/data/notebooks/outputs/ipynb_to_percent/lua_example.lua
  105. +15 −0 tests/data/notebooks/outputs/ipynb_to_percent/xonsh_example.xsh
  106. +60 −0 tests/data/notebooks/outputs/ipynb_to_script/hello_world_gonb.go
  107. +49 −0 tests/data/notebooks/outputs/ipynb_to_script/logtalk_notebook.lgt
  108. +53 −0 tests/data/notebooks/outputs/ipynb_to_script/lua_example.lua
  109. +13 −0 tests/data/notebooks/outputs/ipynb_to_script/xonsh_example.xsh
  110. +2 −3 tests/data/notebooks/outputs/sphinx-rst2md_to_ipynb/plot_notebook.ipynb
  111. +9 −8 tests/external/contents_manager/test_contentsmanager_external.py
  112. +33 −19 tests/external/jupyter_fs/test_jupyter_fs.py
  113. +35 −2 tests/external/pre_commit/test_pre_commit_scripts.py
  114. +3 −2 tests/external/simple_external_notebooks/test_read_simple_pandoc.py
  115. +9 −7 tests/functional/cli/test_cli.py
  116. +9 −0 tests/functional/config/test_config.py
  117. +59 −0 tests/functional/contents_manager/test_async_and_sync_contents_manager_are_in_sync.py
  118. +5 −3 tests/functional/others/test_combine.py
  119. +5 −4 tests/functional/others/test_invalid_file.py
  120. +10 −7 tests/functional/others/test_remove_encoding.py
  121. +35 −30 tests/functional/others/test_save_multiple.py
  122. +42 −43 tests/functional/others/test_trust_notebook.py
  123. +62 −0 tests/functional/round_trip/test_myst_header.py
  124. +10 −7 tests/functional/simple_notebooks/test_ipynb_to_myst.py
  125. +156 −0 tests/functional/simple_notebooks/test_read_simple_go.py
  126. +66 −12 tests/functional/simple_notebooks/test_read_simple_percent.py
  127. +52 −50 tests/integration/contents_manager/test_cm_config.py
  128. +354 −329 tests/integration/contents_manager/test_contentsmanager.py
  129. +7 −6 tests/integration/contents_manager/test_load_multiple.py
  130. +5 −7 tests/unit/test_cell_id.py
  131. +5 −4 tests/unit/test_escape_magics.py
  132. +7 −4 tests/unit/test_formats.py
  133. +2 −3 tests/unit/test_paired_paths.py
4 changes: 2 additions & 2 deletions .ci/environment-ci.yml
Original file line number Diff line number Diff line change
@@ -10,6 +10,6 @@ channels:
- defaults
- conda-forge
dependencies:
- jupyterlab
- jupyterlab>=4.3.3
- nbformat>=5.1.2
- pandoc==2.16.2
- pandoc>=3.0
4 changes: 4 additions & 0 deletions .git_archival.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node: $Format:%H$
node-date: $Format:%cI$
describe-name: $Format:%(describe:tags=true,match=*[0-9]*)$
ref-names: $Format:%D$
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
World\ population.ipynb linguist-documentation
.git_archival.txt export-subst
6 changes: 2 additions & 4 deletions .github/codecov.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
codecov:
token: 8bdc5016-2a81-4a43-bdd5-7b3b9adc37e7
notify:
after_n_builds: 16

comment:
after_n_builds: 16
wait_for_ci: true

coverage:
status:
21 changes: 21 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "npm" # See documentation for possible values
directory: "jupyterlab" # Location of package manifests
schedule:
interval: "weekly"

- package-ecosystem: "npm" # See documentation for possible values
directory: "jupyterlab/packages/jupyterlab-jupytext-extension" # Location of package manifests
schedule:
interval: "weekly"

- package-ecosystem: "npm" # See documentation for possible values
directory: "jupyterlab/packages/jupyterlab-jupytext-extension/ui-tests" # Location of package manifests
schedule:
interval: "weekly"
45 changes: 30 additions & 15 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -10,20 +10,16 @@ on:
push:
paths-ignore:
- "CHANGELOG.md"
branches: [main]
branches: [ main ]
pull_request:
branches: [main]
branches: [ main ]
schedule:
- cron: "0 11 * * 4"

permissions:
# All nested workflows will inherit these permissions and so no need to declare
# in each step file
contents: read
# Cannot use it in codeql nested workflow without declaring it on
# top level workflow
# Ref: https://docs.github.com/en/actions/using-workflows/reusing-workflows#access-and-permissions
security-events: write

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
@@ -33,28 +29,47 @@ jobs:
pre-commit:
uses: ./.github/workflows/step_pre-commit.yml

codeql:
needs: [pre-commit]
static-analysis:
needs: [ pre-commit ]
uses: ./.github/workflows/step_static-analysis.yml
permissions:
contents: read
security-events: write

test-pip:
needs: [codeql]
needs: [ pre-commit ]
uses: ./.github/workflows/step_tests-pip.yml
with:
coverage: ${{ github.event_name != 'schedule' }}

test-unit-functional-integration:
needs: [codeql]
uses: ./.github/workflows/step_test_unit_functional.yml
coverage:
needs: [ test-pip ]
uses: ./.github/workflows/step_coverage.yml
if: github.event_name != 'schedule'

test-conda:
needs: [codeql]
needs: [ pre-commit ]
uses: ./.github/workflows/step_tests-conda.yml
with:
coverage: ${{ github.event_name != 'schedule' }}

test-ui:
needs: [codeql]
needs: [ test-pip ]
uses: ./.github/workflows/step_tests-ui.yml

build:
needs: [test-pip, test-conda, test-unit-functional-integration, test-ui]
needs: [ test-pip, test-conda, test-ui ]
uses: ./.github/workflows/step_build.yml
with:
upload: ${{ inputs.upload-build-artifacts || false }}

pass:
name: Pass
needs: [ pre-commit, static-analysis, test-pip, coverage, test-conda, test-ui, build ]
runs-on: ubuntu-latest
steps:
- uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}
allowed-skips: coverage
if: always()
4 changes: 2 additions & 2 deletions .github/workflows/comment-pr.yml
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@ jobs:
name: Comment PR
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Comment PR
uses: thollander/actions-comment-pull-request@v2
@@ -24,7 +24,7 @@ jobs:
Also, the version of Jupytext developed in this PR can be installed with `pip`:
```
pip install git+${{ github.event.pull_request.head.repo.clone_url }}@${{ github.event.pull_request.head.ref }}
HATCH_BUILD_HOOKS_ENABLE=true pip install git+${{ github.event.pull_request.head.repo.clone_url }}@${{ github.event.pull_request.head.ref }}
```
(this requires `nodejs`, see more at [Developing Jupytext](https://jupytext.readthedocs.io/en/latest/developing.html))
comment_tag: binder_link
34 changes: 6 additions & 28 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -2,36 +2,13 @@ name: Publish
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+"
- "v[0-9]+.[0-9]+.[0-9]+rc[0-9]+"
- "v[0-9]+.[0-9]+.[0-9]+dev[0-9]+"
- "v[0-9]+.[0-9]+.[0-9]+*"

jobs:
pre-commit:
uses: ./.github/workflows/step_pre-commit.yml

codeql:
needs: [ pre-commit ]
uses: ./.github/workflows/step_static-analysis.yml

test-pip:
needs: [ codeql ]
uses: ./.github/workflows/step_tests-pip.yml

test-unit-functional-integration:
needs: [ codeql ]
uses: ./.github/workflows/step_test_unit_functional.yml

test-conda:
needs: [ codeql ]
uses: ./.github/workflows/step_tests-conda.yml

test-ui:
needs: [ codeql ]
uses: ./.github/workflows/step_tests-ui.yml
permissions:
contents: read

jobs:
build:
needs: [ test-pip, test-conda, test-unit-functional-integration, test-ui ]
uses: ./.github/workflows/step_build.yml

publish:
@@ -43,6 +20,7 @@ jobs:
url: https://pypi.org/p/jupytext

permissions:
contents: read
id-token: write

steps:
@@ -55,7 +33,7 @@ jobs:
- name: Build package
run: |
python -m pip install wheel build
python -m build
HATCH_BUILD_HOOKS_ENABLE=true python -m build
- name: Publish
uses: pypa/gh-action-pypi-publish@release/v1
41 changes: 11 additions & 30 deletions .github/workflows/step_build.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: build
run-name: Build test
run-name: Build package

on:
workflow_call:
@@ -9,49 +9,30 @@ on:
required: false
default: false
description: Upload build artifacts
ref:
type: string
description: Tag to build

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-build
cancel-in-progress: true
permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Base Setup
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
with:
python_version: "3.x"

- name: Build package
run: |
python -m pip install build wheel
# NOTE: These builds and verifications of the builds can be done more
# robustly with jupyter-releaser.
#
# Removed the check on size of package as we are distributing tests/ with
# sdist now and they are around 8MB. Seems like original check was to make
# sure we are not distributing node_modules and we are quite safe with that
# with hatch build system.
#
# Build jupytext package
python -m build
# Build lab extension(s)
npm pack --pack-destination dist jupyterlab/packages/*
# Check that the lab is there
if (($(tar -tf dist/*.tar.gz | grep jupyterlab/jupyterlab_jupytext/labextension/package.json$ | wc -l)==0)); then echo "Missing jupyterlab_jupytext" && exit 1; fi
# Install package and extension
python -m pip install dist/*.tar.gz
echo "Install went OK"
run: HATCH_BUILD_HOOKS_ENABLE=true hatch build

- name: Archive build artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: dist
path: dist
Original file line number Diff line number Diff line change
@@ -1,41 +1,40 @@
name: test-categories
run-name: Run Unit/Functional/Integration and External tests using Pip
name: coverage
run-name: Check coverage

on:
workflow_call:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-test_classification
cancel-in-progress: true
permissions:
contents: read

jobs:
test-pip:
continue-on-error: ${{ matrix.experimental || false }}
coverage:
name: >
${{ matrix.coverage }}
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
python-version: [ "3.11" ]
coverage: [unit, functional, integration, external]

steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Base Setup
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
with:
python_version: ${{ matrix.python-version }}
python_version: 3.x

- name: Install from source
run: HATCH_BUILD_HOOKS_ENABLE=false python -m pip install -e '.[test-cov,test-${{ matrix.coverage }}]' markdown-it-py~=3.0
run: python -m pip install -e '.[test-cov,test-${{ matrix.coverage }}]'

- name: Install a Jupyter Kernel
run: python -m ipykernel install --name python_kernel --user

- name: Run the tests
run: pytest tests/${{ matrix.coverage }} --cov
run: pytest tests/${{ matrix.coverage }} -n logical --cov --cov-report=xml

- name: Upload the coverage
uses: codecov/codecov-action@v3
15 changes: 8 additions & 7 deletions .github/workflows/step_pre-commit.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
name: pre-commit
run-name: Pre-commit
run-name: Run pre-commit tests

on:
workflow_call:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-pre-commit
cancel-in-progress: true
permissions:
contents: read

jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.x"

@@ -26,10 +25,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Base Setup
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
with:
python_version: "3.x"

# Current repo organization will not permit to set up pre-commit config for
# TS lint related packages due to absence of package.json in the top level
8 changes: 4 additions & 4 deletions .github/workflows/step_static-analysis.yml
Original file line number Diff line number Diff line change
@@ -4,17 +4,17 @@ run-name: Run CodeQL analysis
on:
workflow_call:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-static-analysis
cancel-in-progress: true
permissions:
contents: read
security-events: write

jobs:
codeql:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Initialize CodeQL
uses: github/codeql-action/init@v2
Loading