From e9f417ddb076e4c05c71575685dd534948a9b961 Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Tue, 11 Jun 2024 08:19:24 -0500 Subject: [PATCH 01/15] restore webpdf --- recipe/meta.yaml | 65 +++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 34 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 1fea155..ea01f6a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -43,8 +43,8 @@ outputs: noarch: generic requirements: run: - - {{ pin_subpackage("nbconvert-core", exact=True) }} - - {{ pin_subpackage("nbconvert-pandoc", exact=True) }} + - {{ pin_subpackage("nbconvert-core", max_pin="x.x.x") }} + - {{ pin_subpackage("nbconvert-pandoc", max_pin="x.x.x") }} test: requires: - pip @@ -88,12 +88,8 @@ outputs: run_constrained: # other packages carry the full `run` dependency - pandoc >={{ min_pandoc }},<{{ max_pandoc }} - # TODO: restore after https://github.com/conda-forge/staged-recipes/issues/23382 - # - playwright-python >=???,=5.5 test: source_files: @@ -167,7 +142,7 @@ outputs: noarch: generic requirements: run: - - {{ pin_subpackage("nbconvert-core", exact=True) }} + - {{ pin_subpackage("nbconvert-core", max_pin="x.x.x") }} # the pin is handled by the `run_constrained` in nbconvert-core - pandoc test: @@ -190,15 +165,37 @@ outputs: doc_url: https://nbconvert.readthedocs.org/ dev_url: https://github.com/jupyter/nbconvert + - name: nbconvert-webpdf + build: + noarch: generic + requirements: + run: + - {{ pin_subpackage("nbconvert-core", max_pin="x.x.x") }} + - playwright-python + test: + source_files: + - tests/files/notebook1.ipynb + requires: + - pip + commands: + - pip check + - jupyter nbconvert --version + - jupyter dejavu --version + - jupyter nbconvert --help + - jupyter dejavu --help + - jupyter nbconvert tests/files/notebook1.ipynb --to webpdf # [not linux] + - xvfb-run -a jupyter nbconvert tests/files/notebook1.ipynb --to webpdf # [linux] + about: + description: nbconvert with extra packages for browser-based PDF generation + - name: nbconvert-all build: noarch: generic requirements: run: - # TODO: restore after https://github.com/conda-forge/staged-recipes/issues/23382 - # - {{ pin_subpackage("nbconvert-webpdf", exact=True) }} - - {{ pin_subpackage("nbconvert-qtpdf", exact=True) }} - - {{ pin_subpackage("nbconvert", exact=True) }} + - {{ pin_subpackage("nbconvert-webpdf", max_pin="x.x.x") }} + - {{ pin_subpackage("nbconvert-qtpdf", max_pin="x.x.x") }} + - {{ pin_subpackage("nbconvert", max_pin="x.x.x") }} test: source_files: - tests From e01a79f4dd182f4d1f3d28032a5c0ca58ebe2525 Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Tue, 11 Jun 2024 08:21:54 -0500 Subject: [PATCH 02/15] MNT: Re-rendered with conda-build 24.3.0, conda-smithy 3.36.1, and conda-forge-pinning 2024.06.11.11.32.55 --- .ci_support/linux_64_.yaml | 7 ------- .gitattributes | 4 ++-- README.md | 16 +++++++++++++--- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 3166d1d..6c59082 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -1,7 +1,3 @@ -c_stdlib: -- sysroot -c_stdlib_version: -- '2.12' cdt_name: - cos6 channel_sources: @@ -10,6 +6,3 @@ channel_targets: - conda-forge main docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 -zip_keys: -- - c_stdlib_version - - cdt_name diff --git a/.gitattributes b/.gitattributes index 7f32763..18f114a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -20,8 +20,8 @@ bld.bat text eol=crlf .travis.yml linguist-generated=true .scripts/* linguist-generated=true .woodpecker.yml linguist-generated=true -LICENSE.txt linguist-generated=true -README.md linguist-generated=true +/LICENSE.txt linguist-generated=true +/README.md linguist-generated=true azure-pipelines.yml linguist-generated=true build-locally.py linguist-generated=true shippable.yml linguist-generated=true diff --git a/README.md b/README.md index 3b07bb3..4a22588 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,15 @@ Documentation: https://nbconvert.readthedocs.org/ nbconvert with extra packages for browser-based PDF generation +About nbconvert-webpdf +---------------------- + + + +Package license: + +nbconvert with extra packages for browser-based PDF generation + About nbconvert-all ------------------- @@ -84,6 +93,7 @@ Current release info | [![Conda Recipe](https://img.shields.io/badge/recipe-nbconvert--core-green.svg)](https://anaconda.org/conda-forge/nbconvert-core) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nbconvert-core.svg)](https://anaconda.org/conda-forge/nbconvert-core) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nbconvert-core.svg)](https://anaconda.org/conda-forge/nbconvert-core) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nbconvert-core.svg)](https://anaconda.org/conda-forge/nbconvert-core) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nbconvert--pandoc-green.svg)](https://anaconda.org/conda-forge/nbconvert-pandoc) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nbconvert-pandoc.svg)](https://anaconda.org/conda-forge/nbconvert-pandoc) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nbconvert-pandoc.svg)](https://anaconda.org/conda-forge/nbconvert-pandoc) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nbconvert-pandoc.svg)](https://anaconda.org/conda-forge/nbconvert-pandoc) | | [![Conda Recipe](https://img.shields.io/badge/recipe-nbconvert--qtpdf-green.svg)](https://anaconda.org/conda-forge/nbconvert-qtpdf) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nbconvert-qtpdf.svg)](https://anaconda.org/conda-forge/nbconvert-qtpdf) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nbconvert-qtpdf.svg)](https://anaconda.org/conda-forge/nbconvert-qtpdf) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nbconvert-qtpdf.svg)](https://anaconda.org/conda-forge/nbconvert-qtpdf) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-nbconvert--webpdf-green.svg)](https://anaconda.org/conda-forge/nbconvert-webpdf) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/nbconvert-webpdf.svg)](https://anaconda.org/conda-forge/nbconvert-webpdf) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/nbconvert-webpdf.svg)](https://anaconda.org/conda-forge/nbconvert-webpdf) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/nbconvert-webpdf.svg)](https://anaconda.org/conda-forge/nbconvert-webpdf) | Installing nbconvert ==================== @@ -95,16 +105,16 @@ conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `nbconvert, nbconvert-all, nbconvert-core, nbconvert-pandoc, nbconvert-qtpdf` can be installed with `conda`: +Once the `conda-forge` channel has been enabled, `nbconvert, nbconvert-all, nbconvert-core, nbconvert-pandoc, nbconvert-qtpdf, nbconvert-webpdf` can be installed with `conda`: ``` -conda install nbconvert nbconvert-all nbconvert-core nbconvert-pandoc nbconvert-qtpdf +conda install nbconvert nbconvert-all nbconvert-core nbconvert-pandoc nbconvert-qtpdf nbconvert-webpdf ``` or with `mamba`: ``` -mamba install nbconvert nbconvert-all nbconvert-core nbconvert-pandoc nbconvert-qtpdf +mamba install nbconvert nbconvert-all nbconvert-core nbconvert-pandoc nbconvert-qtpdf nbconvert-webpdf ``` It is possible to list all of the versions of `nbconvert` available on your platform with `conda`: From 6e45fe25a1463117ff11fe4172aa3e7aa8c6af0d Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Tue, 11 Jun 2024 08:22:25 -0500 Subject: [PATCH 03/15] more xvfb --- recipe/meta.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index ea01f6a..3a20ffd 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -177,6 +177,8 @@ outputs: - tests/files/notebook1.ipynb requires: - pip + script_env: + - DISPLAY=localhost:1.0 # [linux] commands: - pip check - jupyter nbconvert --version @@ -193,8 +195,9 @@ outputs: noarch: generic requirements: run: - - {{ pin_subpackage("nbconvert-webpdf", max_pin="x.x.x") }} + - {{ pin_subpackage("nbconvert-core", max_pin="x.x.x") }} - {{ pin_subpackage("nbconvert-qtpdf", max_pin="x.x.x") }} + - {{ pin_subpackage("nbconvert-webpdf", max_pin="x.x.x") }} - {{ pin_subpackage("nbconvert", max_pin="x.x.x") }} test: source_files: From e0b5bfea581303ab7d6e6daa18f2035a873d0121 Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Tue, 11 Jun 2024 09:00:28 -0500 Subject: [PATCH 04/15] try more deps for webpdf --- recipe/meta.yaml | 3 +-- recipe/yum_requirements.txt | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 3a20ffd..50ebba9 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -185,8 +185,7 @@ outputs: - jupyter dejavu --version - jupyter nbconvert --help - jupyter dejavu --help - - jupyter nbconvert tests/files/notebook1.ipynb --to webpdf # [not linux] - - xvfb-run -a jupyter nbconvert tests/files/notebook1.ipynb --to webpdf # [linux] + - jupyter nbconvert tests/files/notebook1.ipynb --to webpdf --allow-chromium-download about: description: nbconvert with extra packages for browser-based PDF generation diff --git a/recipe/yum_requirements.txt b/recipe/yum_requirements.txt index b56e31a..765723f 100644 --- a/recipe/yum_requirements.txt +++ b/recipe/yum_requirements.txt @@ -1,2 +1,5 @@ +# qtpdf mesa-libGL xorg-x11-server-Xvfb +# webpdf +gtk3 From 6aa0567415df4e919e37d215aeb334843dda35d8 Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Tue, 11 Jun 2024 09:00:56 -0500 Subject: [PATCH 05/15] MNT: Re-rendered with conda-build 24.3.0, conda-smithy 3.36.1, and conda-forge-pinning 2024.06.11.11.32.55 --- .scripts/build_steps.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 88c2723..43dcac3 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -48,7 +48,7 @@ source run_conda_forge_build_setup # "recipe/yum_requirements.txt" file. After updating that file, # run "conda smithy rerender" and this line will be updated # automatically. -/usr/bin/sudo -n yum install -y mesa-libGL xorg-x11-server-Xvfb +/usr/bin/sudo -n yum install -y mesa-libGL xorg-x11-server-Xvfb gtk3 # make the build number clobber From 182219a67f48f8f79f7c4802f253087adbb41d63 Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Tue, 11 Jun 2024 09:14:01 -0500 Subject: [PATCH 06/15] more yum --- recipe/yum_requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/yum_requirements.txt b/recipe/yum_requirements.txt index 765723f..d0cecc5 100644 --- a/recipe/yum_requirements.txt +++ b/recipe/yum_requirements.txt @@ -2,4 +2,5 @@ mesa-libGL xorg-x11-server-Xvfb # webpdf +alsa-lib gtk3 From 20466ae7799eab2723ca6613cb27964fb84a5320 Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Tue, 11 Jun 2024 09:14:37 -0500 Subject: [PATCH 07/15] MNT: Re-rendered with conda-build 24.3.0, conda-smithy 3.36.1, and conda-forge-pinning 2024.06.11.11.32.55 --- .scripts/build_steps.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 43dcac3..8752a91 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -48,7 +48,7 @@ source run_conda_forge_build_setup # "recipe/yum_requirements.txt" file. After updating that file, # run "conda smithy rerender" and this line will be updated # automatically. -/usr/bin/sudo -n yum install -y mesa-libGL xorg-x11-server-Xvfb gtk3 +/usr/bin/sudo -n yum install -y mesa-libGL xorg-x11-server-Xvfb alsa-lib gtk3 # make the build number clobber From bd80488e29c005cb27630150c6b898c672d9b3d9 Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Tue, 11 Jun 2024 09:32:55 -0500 Subject: [PATCH 08/15] try cos8/alma/c_stdlib 2.18 --- recipe/conda_build_config.yaml | 5 +++++ recipe/meta.yaml | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 recipe/conda_build_config.yaml diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml new file mode 100644 index 0000000..13112a0 --- /dev/null +++ b/recipe/conda_build_config.yaml @@ -0,0 +1,5 @@ +docker_image: # [linux and x86_64] +- quay.io/condaforge/linux-anvil-alma-x86_64:8 # [linux and x86_64] + +c_stdlib_version: +- '2.18' # [linux] diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 50ebba9..43090d9 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -185,7 +185,8 @@ outputs: - jupyter dejavu --version - jupyter nbconvert --help - jupyter dejavu --help - - jupyter nbconvert tests/files/notebook1.ipynb --to webpdf --allow-chromium-download + - playwright install chromium + - jupyter nbconvert tests/files/notebook1.ipynb --to webpdf about: description: nbconvert with extra packages for browser-based PDF generation From b3868f0daceacd3273e7a46319246ffde845394b Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Tue, 11 Jun 2024 09:33:10 -0500 Subject: [PATCH 09/15] MNT: Re-rendered with conda-build 24.3.0, conda-smithy 3.36.1, and conda-forge-pinning 2024.06.11.11.32.55 --- .azure-pipelines/azure-pipelines-linux.yml | 2 +- .ci_support/linux_64_.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 875d996..d1c5b92 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -11,7 +11,7 @@ jobs: linux_64_: CONFIG: linux_64_ UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-alma-x86_64:8 timeoutInMinutes: 360 variables: {} diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 6c59082..28d1568 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -5,4 +5,4 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-alma-x86_64:8 From 0eee8d436d69eb5596c72c466f817a037f86b136 Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Tue, 11 Jun 2024 09:43:39 -0500 Subject: [PATCH 10/15] more yum (dnf?) --- recipe/yum_requirements.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/yum_requirements.txt b/recipe/yum_requirements.txt index d0cecc5..a16fd56 100644 --- a/recipe/yum_requirements.txt +++ b/recipe/yum_requirements.txt @@ -4,3 +4,5 @@ xorg-x11-server-Xvfb # webpdf alsa-lib gtk3 +nspr +nss From cce91793e593e3a68ec67ab74df6150724194840 Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Tue, 11 Jun 2024 09:44:26 -0500 Subject: [PATCH 11/15] MNT: Re-rendered with conda-build 24.3.0, conda-smithy 3.36.1, and conda-forge-pinning 2024.06.11.11.32.55 --- .scripts/build_steps.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 8752a91..15f6e86 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -48,7 +48,7 @@ source run_conda_forge_build_setup # "recipe/yum_requirements.txt" file. After updating that file, # run "conda smithy rerender" and this line will be updated # automatically. -/usr/bin/sudo -n yum install -y mesa-libGL xorg-x11-server-Xvfb alsa-lib gtk3 +/usr/bin/sudo -n yum install -y mesa-libGL xorg-x11-server-Xvfb alsa-lib gtk3 nspr nss # make the build number clobber From 4a7242a887a72ad8273cbd073ed07aa67185d829 Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Tue, 11 Jun 2024 09:50:00 -0500 Subject: [PATCH 12/15] more yum --- recipe/yum_requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/yum_requirements.txt b/recipe/yum_requirements.txt index a16fd56..abc6441 100644 --- a/recipe/yum_requirements.txt +++ b/recipe/yum_requirements.txt @@ -4,5 +4,6 @@ xorg-x11-server-Xvfb # webpdf alsa-lib gtk3 +mesa-libgbm nspr nss From 5217ecd78c5ceb9b6039b38b3cbbad4cc8864712 Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Tue, 11 Jun 2024 09:50:15 -0500 Subject: [PATCH 13/15] MNT: Re-rendered with conda-build 24.3.0, conda-smithy 3.36.1, and conda-forge-pinning 2024.06.11.11.32.55 --- .scripts/build_steps.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 15f6e86..7731289 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -48,7 +48,7 @@ source run_conda_forge_build_setup # "recipe/yum_requirements.txt" file. After updating that file, # run "conda smithy rerender" and this line will be updated # automatically. -/usr/bin/sudo -n yum install -y mesa-libGL xorg-x11-server-Xvfb alsa-lib gtk3 nspr nss +/usr/bin/sudo -n yum install -y mesa-libGL xorg-x11-server-Xvfb alsa-lib gtk3 mesa-libgbm nspr nss # make the build number clobber From 3e17b9cc734c8c1d0f3e3eec5cd1087ee0715c65 Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Tue, 11 Jun 2024 10:03:29 -0500 Subject: [PATCH 14/15] bump build number --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 43090d9..1c49eaa 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -6,7 +6,7 @@ {% set min_pandoc = "2.9.2" %} {% set max_pandoc = "4.0.0" %} -{% set build = 0 %} +{% set build = 1 %} {% set pytest_args = "-k \"not (convert_full_qualified_name or post_processor)\"" %} {% set cov_fail_under = "71" %} From 2935b3c1893220f0eb2c90f805c9f3b82b11604e Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Tue, 11 Jun 2024 10:07:02 -0500 Subject: [PATCH 15/15] revert max_pin change --- recipe/meta.yaml | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 1c49eaa..a70b19c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -43,8 +43,8 @@ outputs: noarch: generic requirements: run: - - {{ pin_subpackage("nbconvert-core", max_pin="x.x.x") }} - - {{ pin_subpackage("nbconvert-pandoc", max_pin="x.x.x") }} + - {{ pin_subpackage("nbconvert-core", exact=True) }} + - {{ pin_subpackage("nbconvert-pandoc", exact=True) }} test: requires: - pip @@ -89,7 +89,8 @@ outputs: # other packages carry the full `run` dependency - pandoc >={{ min_pandoc }},<{{ max_pandoc }} # avoid mixing nbconvert-core and pre-split nbconvert - - {{ pin_subpackage("nbconvert", max_pin="x.x.x") }} + # can't mix noarch:generic and noarch:python with exact=True + - nbconvert ={{ version }}=*_{{ build }} test: imports: @@ -112,7 +113,7 @@ outputs: noarch: generic requirements: run: - - {{ pin_subpackage("nbconvert-core", max_pin="x.x.x") }} + - {{ pin_subpackage("nbconvert-core", exact=True) }} - pyqtwebengine >=5.5 test: source_files: @@ -142,7 +143,7 @@ outputs: noarch: generic requirements: run: - - {{ pin_subpackage("nbconvert-core", max_pin="x.x.x") }} + - {{ pin_subpackage("nbconvert-core", exact=True) }} # the pin is handled by the `run_constrained` in nbconvert-core - pandoc test: @@ -170,7 +171,7 @@ outputs: noarch: generic requirements: run: - - {{ pin_subpackage("nbconvert-core", max_pin="x.x.x") }} + - {{ pin_subpackage("nbconvert-core", exact=True) }} - playwright-python test: source_files: @@ -195,10 +196,10 @@ outputs: noarch: generic requirements: run: - - {{ pin_subpackage("nbconvert-core", max_pin="x.x.x") }} - - {{ pin_subpackage("nbconvert-qtpdf", max_pin="x.x.x") }} - - {{ pin_subpackage("nbconvert-webpdf", max_pin="x.x.x") }} - - {{ pin_subpackage("nbconvert", max_pin="x.x.x") }} + - {{ pin_subpackage("nbconvert-core", exact=True) }} + - {{ pin_subpackage("nbconvert-qtpdf", exact=True) }} + - {{ pin_subpackage("nbconvert-webpdf", exact=True) }} + - {{ pin_subpackage("nbconvert", exact=True) }} test: source_files: - tests