## START: Set by rpmautospec ## (rpmautospec version 0.6.0) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 3; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec # NOTE: sphinx-gallery support requires a version <= 0.8. Upstream will # accept patches to make it work with later versions. Name: python-jupytext Version: 1.16.2 Release: %autorelease Summary: Save Jupyter notebooks as text documents or scripts License: MIT BuildArch: noarch URL: https://jupytext.readthedocs.io/ VCS: https://github.com/mwouts/jupytext Source0: %{vcs}/archive/v%{version}/jupytext-%{version}.tar.gz # Source1 and Source2 created with ./prepare_vendor.sh Source1: jupytext-%{version}-vendor.tar.xz Source2: jupytext-%{version}-vendor-licenses.txt Source3: prepare_vendor.sh # Adapt to python 3.13 change in PosixPath.cwd # See https://github.com/mwouts/jupytext/issues/1242 Patch0: %{name}-chdir.patch # Fix a DeprecationWarning with passing maxsplit as a positional argument # See https://github.com/mwouts/jupytext/pull/1241 Patch1: %{name}-maxsplit.patch # s390x builds fail due to a bug in jupyterlab # https://bugzilla.redhat.com/show_bug.cgi?id=2278011 ExcludeArch: s390x BuildRequires: gcc-c++ BuildRequires: help2man BuildRequires: make BuildRequires: nodejs-devel BuildRequires: nodejs-npm BuildRequires: pandoc BuildRequires: python3-devel BuildRequires: %{py3_dist setuptools} %global _desc %{expand: Have you always wished Jupyter notebooks were plain text documents? Wished you could edit them in your favorite IDE? And get clear and meaningful diffs when doing version control? Then... Jupytext may well be the tool you're looking for! Jupytext is a plugin for Jupyter that can save Jupyter notebooks as - Markdown files (or MyST Markdown files, or R Markdown or Quarto text notebooks) - Scripts in many languages. Common use cases for Jupytext are: - Doing version control on Jupyter Notebooks - Editing, merging or refactoring notebooks in your favorite text editor - Applying Q&A checks on notebooks.} %description %_desc %package -n python3-jupytext Summary: %{summary} # Filesystem package for the standard Jupyter paths Requires: python-jupyter-filesystem %description -n python3-jupytext %_desc %package -n python3-jupyterlab-jupytext # The jupytext project is released under the MIT license. Bundled JavaScript: # base64-js: MIT # buffer: MIT # ieee754: BSD-3-Clause # jupyterlab-rise: BSD-3-Clause License: MIT AND BSD-3-Clause Summary: Jupyterlab extension to invoke jupytext Requires: python3-jupytext = %{version}-%{release} Requires: jupyterlab >= 4.0 Provides: bundled(npm(base64-js)) = 1.5.1 Provides: bundled(npm(buffer)) = 6.0.3 Provides: bundled(npm(ieee754)) = 1.2.1 Provides: bundled(npm(jupyterlab-rise)) = 0.41.0 %description -n python3-jupyterlab-jupytext %_desc %package doc # The content is MIT. Other licenses are due to Sphinx files. # _static/alabaster.css: BSD-3-Clause # _static/basic.css: BSD-2-Clause # _static/check-solid.svg: MIT # _static/clipboard.min.js: MIT # _static/copy-button.svg: MIT # _static/copybutton.css: MIT # _static/copybutton.js: MIT # _static/copybutton_funcs.js: MIT # _static/custom.css: BSD-3-Clause # _static/doctools.js: BSD-2-Clause # _static/documentation_options.js: BSD-2-Clause # _static/file.png: BSD-2-Clause # _static/language_data.js: BSD-2-Clause # _static/logo.svg: MIT # _static/minus.png: BSD-2-Clause # _static/plus.png: BSD-2-Clause # _static/pygments.css: MIT # _static/searchtools.js: BSD-2-Clause # _static/sphinx_highlight.js: BSD-2-Clause # genindex.html: BSD-2-Clause # search.html: BSD-2-Clause # searchindex.js: BSD-2-Clause License: MIT AND BSD-3-Clause AND BSD-2-Clause Summary: Documentation for %{name} %description doc Documentation for %{name}. %prep %autosetup -n jupytext-%{version} -p1 tar -C jupyterlab -xf %{SOURCE1} cp -p %{SOURCE2} . # Remove spurious executable bits chmod a-x README.md # Take this package out of the doc requirements sed -i '/jupytext/d' docs/doc-requirements.txt # Take this package out of the test requirements sed -ri '/jupytext\[test(-functional)?\]/d' pyproject.toml %generate_buildrequires export HATCH_BUILD_HOOKS_ENABLE=true %pyproject_buildrequires -x docs,test,test-functional,test-integration %build export LC_ALL=C.UTF-8 export HATCH_BUILD_HOOKS_ENABLE=true export YARN_CACHE_FOLDER="$PWD/jupyterlab/.package-cache" export npm_config_nodedir=%{_includedir}/node export CFLAGS='%{build_cflags} -I%{_includedir}/node' export CXXFLAGS='%{build_cxxflags} -I%{_includedir}/node' %pyproject_wheel # Build the documentation PYTHONPATH=$PWD %make_build -C docs html rm docs/_build/html/.buildinfo %install export HATCH_BUILD_HOOKS_ENABLE=true %pyproject_install %pyproject_save_files -l jupytext jupytext_config # Cleanup backup files find %{buildroot}%{_prefix} -name \*.orig -delete # Move the configuration files to the standard Jupyter directories mv %{buildroot}%{_prefix}%{_sysconfdir} %{buildroot}%{_sysconfdir} # Link rather than copy the labextension rm -fr %{buildroot}%{python3_sitelib}/jupyterlab_jupytext/labextension ln -s %{_datadir}/jupyter/labextensions/jupyterlab-jupytext \ %{buildroot}%{python3_sitelib}/jupyterlab_jupytext/labextension # Generate man pages mkdir -p %{buildroot}%{_mandir}/man1 export PYTHONPATH=%{buildroot}%{python3_sitelib} help2man -N -n 'Save Jupyter notebooks as text documents or scripts' \ %{buildroot}%{_bindir}/jupytext -o %{buildroot}%{_mandir}/man1/jupytext.1 help2man -N -n 'Manage jupytext configuration' --version-string=%{version} \ %{buildroot}%{_bindir}/jupytext-config \ -o %{buildroot}%{_mandir}/man1/jupytext-config.1 %check # Skip the external tests, which require network access %pytest --ignore=tests/external %files -n python3-jupytext -f %{pyproject_files} %doc README.md %{_bindir}/jupytext %{_bindir}/jupytext-config %{_mandir}/man1/jupytext.1* %{_mandir}/man1/jupytext-config.1* %config(noreplace) %{_sysconfdir}/jupyter/jupyter_notebook_config.d/jupytext.json %config(noreplace) %{_sysconfdir}/jupyter/jupyter_server_config.d/jupytext.json %files -n python3-jupyterlab-jupytext %{python3_sitelib}/jupyterlab_jupytext/ %{_datadir}/jupyter/labextensions/jupyterlab-jupytext/ %files doc %doc docs/_build/html %license LICENSE jupytext-%{version}-vendor-licenses.txt %changelog ## START: Generated by rpmautospec * Tue Jun 18 2024 Jerry James - 1.16.2-3 - Add patches for python 3.13 compatibility * Mon Jun 17 2024 Python Maint - 1.16.2-2 - Rebuilt for Python 3.13 * Wed May 15 2024 Jerry James - 1.16.2-1 - Initial RPM ## END: Generated by rpmautospec