1
0

- Build from source instead of use .whl from pypi.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-nbclassic?expand=0&rev=45
This commit is contained in:
Daniel Garcia 2024-07-24 12:14:32 +00:00 committed by Git OBS Bridge
commit 43d97c69dc
10 changed files with 524 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

8
create_node_modules.sh Normal file
View File

@ -0,0 +1,8 @@
#!/bin/sh
#
# Script to create node_modules.tar.xz
npm install
python3 setup.py jsdeps
tar cJf node_modules.tar.xz node_modules nbclassic/static/components

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0648209e9651b464786d8eefd7a4af39f3a9deb51ca5714f31a772a6e22843c7
size 8320504

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f99e4769b4750076cd4235c044b61232110733322384a94a63791d2e7beacc66
size 9995162

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e4d7d3e9404888749f2ac50e44266c42a6ab0eadb86cc13de021b91aabdb496f
size 8326047

3
node_modules.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fdad8398d32042d0798bded77fe37d7b8edfc870f041e94f57f89d96b2d9f3b4
size 35529844

301
python-nbclassic.changes Normal file
View File

@ -0,0 +1,301 @@
-------------------------------------------------------------------
Wed Jul 24 12:13:44 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- Build from source instead of use .whl from pypi.
-------------------------------------------------------------------
Tue Mar 5 18:34:12 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Skip python39: no longer supported since ipython 8.19
-------------------------------------------------------------------
Thu Aug 17 15:59:44 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Suggest primary python package -- boo#1214354
-------------------------------------------------------------------
Sun Jun 11 19:50:37 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Update to 1.0.0
* only documentation changes despite the big version bump
-------------------------------------------------------------------
Mon May 1 17:46:44 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Update to 0.5.6
* Add show_banner trait to control the banner display #243
(@echarles)
* Use the correct icon to display the application #245
(@befeleme)
* State the correct name of the application in the desktop entry
#244 (@befeleme)
-------------------------------------------------------------------
Sun Apr 23 20:25:35 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Update to 0.5.5
* Remove redirect from /notebooks to /files #235 (@mwouts)
- Release 0.5.4
* Copy marked.umd.js to marked.js and revert loading #236
(@echarles)
-------------------------------------------------------------------
Sun Mar 19 16:11:24 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Update to 0.5.3
* Fix generating of .mo and .json files for nl translation #221
(@frenzymadness)
* Fix banner icons #220 (@echarles)
- Release 0.5.2
* Add news banner and log #215 (@echarles)
* Update get_rendered_contents further marked javascript upgrade
#210 (@echarles)
* Update security concerns link #218 (@RRosio)
* Don't require two different minimal versions of jupyter_server
#208 (@hroncok)
-------------------------------------------------------------------
Thu Feb 9 16:16:06 UTC 2023 - Arun Persaud <arun@gmx.de>
- specfile:
* update copyright year
- update to version 0.5.1:
* Bugs fixed
+ Add packages and package_data back in the setup_args #206
(@echarles)
+ Add static and templates as artifact for hatch build #205
(@echarles)
- changes from version 0.5.0:
* Enhancements made
+ Upgrade to marked 4.0.10 #201 (@echarles)
* Bugs fixed
+ Ci test fixes round1 #202 (@ericsnekbytes)
+ fix loading of static and template path config #192 (@minrk)
+ Add pytest_jupyter to the list of test deps #190 (@echarles)
+ Align setup.py and setup.cfg #181 (@echarles)
* Maintenance and upkeep improvements
+ Ci test fixes round1 #202 (@ericsnekbytes)
+ Remove duplicate notebook_shim from setup.cfg #197
(@frenzymadness)
+ Upgrade moment javascript package #186 (@echarles)
+ Add dependabot config #175 (@blink1073)
* Documentation improvements
+ Update documentation #196 (@RRosio)
+ Update the project URL #194 (@jtpio)
* Other merged PRs
+ Fix the jupyter server base.handlers import #187 (@echarles)
+ Revert pull request 168 #184 (@echarles)
-------------------------------------------------------------------
Sat Dec 31 13:05:25 UTC 2022 - Benjamin Greiner <code@bnavigator.de>
- Add pytest-jupyter to test requirenents. Testing with
jupyter-server pulls it in now gh#jupyter/nbclassic#190
-------------------------------------------------------------------
Sat Nov 5 19:48:55 UTC 2022 - Arun Persaud <arun@gmx.de>
- update to version 0.4.8:
* Enhancements made
+ Playwright Testing Conversion #170 (@ericsnekbytes)
* Bugs fixed
+ Handle async and sync contents managers #172 (@blink1073)
* Maintenance and upkeep improvements
+ Playwright port #139 (@ericsnekbytes)
* Documentation improvements
+ Documentation for the extensions configurator #174 (@echarles)
+ Updating contributing docs for playwright tests #171 (@RRosio)
* Other merged PRs
+ Update docs to remove install command #173 (@dleen)
-------------------------------------------------------------------
Sat Oct 22 03:38:13 UTC 2022 - Arun Persaud <arun@gmx.de>
- update to version 0.4.7:
* New features added
+ Fix/nbclassic base url #168 (@mcrutch)
* Enhancements made
+ Add a redirect from /nbclassic to /nbclassic/tree if both
notebook>=7 if both notebook>=7 and nbclassic are installed #166
(@echarles)
* Bugs fixed
+ Allow NBClassic to work with NB7 and ServerApp.base_url #165
(@mcrutch)
- changes from version 0.4.6:
* New features added
+ Adds new file custom-preload that is loaded in a different order
than custom.js before the main.js script is executed #155
(@lneves12)
* Bugs fixed
+ Use var instead of const to ensure js-test succeed #159
(@echarles)
* Documentation improvements
+ add badge for documentation #160 (@RRosio)
-------------------------------------------------------------------
Sun Oct 9 17:11:52 UTC 2022 - Arun Persaud <arun@gmx.de>
- update to version 0.4.5:
* Bugs fixed
+ fix: display the correct about box if jupyter notebook command
is used #156 (@echarles)
-------------------------------------------------------------------
Sat Oct 1 19:17:58 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Remove duplicates workaround
-------------------------------------------------------------------
Fri Sep 30 15:15:04 UTC 2022 - Arun Persaud <arun@gmx.de>
- specfile:
* jupyter-nbclassic-bundlerextension,
jupyter-nbclassic-extension, jupyter-nbclassic-serverextension
gained the "-nbclassic-" part of the name; updated binary-names for
update-alterantives
- update to version 0.4.4:
* Enhancements made
+ Stop looking in the old IPython directory for nbextensions #153
(@minrk)
+ Handlers under nbclassic if notebook 7 is found #141 (@echarles)
* Bugs fixed
+ Fix resource display when redirecting from /notebooks/* #148
(@echarles)
+ Rename duplicate entrypoints #138 (@echarles)
+ Point nbclassic at the classic jupyter_notebook_config path #137
(@Zsailer)
* Maintenance and upkeep improvements
+ Updating JS Dependencies #152 (@RRosio)
+ Get the notebook version from notebook._version #133 (@echarles)
* Documentation improvements
+ Updating documentation for nbclassic #134 (@RRosio)
* Other merged PRs
+ UI: About box to display nbclassic instead of notebook #147
(@echarles)
-------------------------------------------------------------------
Tue Aug 2 15:59:57 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Update to 0.4.3
* Handle execution errors with empty traceback entries similar to
Lab #126 (@kevin-bates)
* fix some import errors in 0.4 #130 (@minrk)
* fix enable-on-install #127 (@minrk)
* Fix notebook shim version check #129 (@minrk)
- Release 0.4.2
* Don't shim notebook if notebook<7 is available #123 (@echarles)
* Relax assert for IPythonHandler in case of notebook<6 #122
(@echarles)
* Fix executable name in desktop file #119 (@antonio-rojas)
- Release 0.4.0
* Shim to support the notebook extensions #113 (@echarles)
* nbclassic to use its own static assets #96 (@echarles)
* Add the notebook 6.4.x tests, docs and companion files (with
git history) #94 (@echarles)
* Add the notebook static assets (with git history) #93
(@echarles)
- Use the pure wheel for install which has the JS stuff.
- Override notebook entrypoints with higer priority libalternatives
configurations gh#jupyter/notebook#6501
- Test in multibuild for all the dependencies. Stay with nbclassic
tests only, not the notebook tests further down in the tree.
-------------------------------------------------------------------
Sun Jun 5 17:18:58 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Update to 0.3.7
* Clean up packaging and CI #91 (@blink1073)
- Release 0.3.6
* Depend on notebook_shim package for server-side shim layer #88
(@Zsailer)
-------------------------------------------------------------------
Thu Feb 17 16:37:03 UTC 2022 - Arun Persaud <arun@gmx.de>
- specfile:
* update copyright year
- update to version 0.3.5:
* Bugs fixed
+ ensure extension name is passed to TerminalHandler #79 (@minrk)
* Maintenance and upkeep improvements
+ Clean up downstream tests #82 (@blink1073)
+ Enforce labels on PRs #80 (@blink1073)
-------------------------------------------------------------------
Sun Nov 21 09:15:13 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Accomodate moved config to distconfig
-------------------------------------------------------------------
Sun Nov 14 15:53:25 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Update to 0.3.4
* Monkeypatch IPythonHandler to find nbclassic's jinja templates
#77 (@Zsailer)
* Run JupyterLab browser tests as downstream tests #76 (@Zsailer)
* add check-release workflow #75 (@Zsailer)
- Release 0.3.3
* Use Jupyter Packaging and other cleanup #68 (@Zsailer)
* add missing lines to manifest #72 (@Zsailer)
* add changelog comments for jupyter-releaser #70 (@Zsailer)
* add setup.py back to enable jupyter_releaser #69 (@Zsailer)
* Add workflow to test JupyterLab #67 (@Zsailer)
* Expose classic notebook's static assets from their original
endpoints #63 (@Zsailer)
- Release 0.32.2
* ExtensionManager's link_extension changed call signature #64
(@athornton)
* Fix link to the Jupyter Notebook repo in README #62
(@saiwing-yeung)
- Reenable libalternatives
-------------------------------------------------------------------
Thu Oct 28 19:14:07 UTC 2021 - Ben Greiner <code@bnavigator.de>
- revert the usage of libalternatives due to
gh#openSUSE/libalternatives#11
-------------------------------------------------------------------
Wed Sep 8 10:31:31 UTC 2021 - Stefan Schubert <schubi@suse.de>
- Use libalternatives instead of update-alternatives.
-------------------------------------------------------------------
Mon Aug 16 12:20:06 UTC 2021 - Ben Greiner <code@bnavigator.de>
- reenable python36 build (uses python-ipykernel5 package)
-------------------------------------------------------------------
Fri Jul 23 08:15:54 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Update to version 0.3.1
* bump jupyter_server dependency to 1.8 #58 (@Zsailer)
- Release 0.3.0
* Support creating terminal with a given name. #52 (@cailiang9)
* BUG fix: correct redirection to {base_url}/edit/*. #55
(@cailiang9)
* patch server's sorted_extensions to prioritize nbclassic #56
(@Zsailer)
- Release 0.2.8
* Remove forced sorting of extensions #49 (@minrk)
* Add Changelog #48 (@blink1073)
- Release 0.2.7
* Fix deprecation warning when importing
jupyter_server.transutils._ #47 (@martinRenou)
* Add a redirect handler to open non-notebook files from the cli
#45 (@jtpio)
* Add default_url trait to NotebookApp #42 (@afshin)
* Fix GitHub Actions badge #40 (@jtpio)
* Run jupyter nbclassic -h on CI #29 (@jtpio)
- Skip python2 and python36 (no ipykernel 6 on python36)
-------------------------------------------------------------------
Tue Feb 2 21:09:01 UTC 2021 - Ben Greiner <code@bnavigator.de>
- initial specfile for 0.2.6
- required by jupyterlab 3

176
python-nbclassic.spec Normal file
View File

@ -0,0 +1,176 @@
#
# spec file for package python-nbclassic
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
%define skip_python39 1
# this conditional is used in the python-rpm-macros, but `osc build --without libalternatives` won't work
%bcond_without libalternatives
# 1.1.0 gets abbreviated by pythondistdeps
%define shortversion 1.1
Name: python-nbclassic%{psuffix}
Version: 1.1.0
Release: 0
Summary: Jupyter Notebook as a Jupyter Server Extension
License: BSD-3-Clause
URL: https://github.com/jupyterlab/nbclassic
# The github archive has the nbclassic tests
Source0: https://github.com/jupyterlab/nbclassic/archive/v%{version}.tar.gz#/nbclassic-%{version}-gh.tar.gz
Source1: node_modules.tar.xz
Source2: create_node_modules.sh
BuildRequires: %{python_module Babel}
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module jupyter-packaging}
BuildRequires: %{python_module jupyter-server}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: hicolor-icon-theme
BuildRequires: jupyter-rpm-macros
BuildRequires: nodejs-common
BuildRequires: npm-default
BuildRequires: python-rpm-macros >= 20210929
BuildRequires: update-desktop-files
Requires: jupyter-nbclassic = %{version}
Requires: python-Jinja2
Requires: python-Send2Trash >= 1.8.0
Requires: python-argon2-cffi
Requires: python-ipykernel
Requires: python-ipython_genutils
Requires: python-jupyter-client >= 6.1.1
Requires: python-jupyter-core >= 4.6.1
Requires: python-nbconvert >= 5
Requires: python-nbformat
Requires: python-nest-asyncio >= 1.5
Requires: python-notebook-shim >= 0.2.3
Requires: python-prometheus-client
Requires: python-pyzmq >= 17
Requires: python-terminado >= 0.8.3
Requires: python-tornado >= 6.1
Requires: python-traitlets >= 4.2.1
BuildArch: noarch
%if %{with libalternatives}
BuildRequires: alts
Requires: alts
%else
BuildRequires: this-specfile-is-not-functional-without-libalternatives
%endif
%if %{with test}
BuildRequires: %{python_module nbclassic = %{version}}
BuildRequires: %{python_module pytest-console-scripts}
BuildRequires: %{python_module pytest-jupyter}
BuildRequires: %{python_module pytest-tornasync}
BuildRequires: %{python_module pytest}
%endif
%python_subpackages
%description
NBClassic runs the Jupyter Notebook frontend on the Jupyter Server backend.
This project prepares for a future where JupyterLab and other frontends switch
to Jupyter Server for their Python Web application backend. Using this package,
users can launch Jupyter Notebook, JupyterLab and other frontends side-by-side
on top of the new Python server backend.
%package -n jupyter-nbclassic
Summary: Jupyter Notebook as a Jupyter Server Extension
# Any flavor is okay, but suggest the primary one for automatic zypper choice -- boo#1214354
Requires: python3dist(nbclassic) = %{shortversion}
Suggests: python3-nbclassic
%description -n jupyter-nbclassic
NBClassic runs the Jupyter Notebook frontend on the Jupyter Server backend.
This project prepares for a future where JupyterLab and other frontends switch
to Jupyter Server for their Python Web application backend. Using this package,
users can launch Jupyter Notebook, JupyterLab and other frontends side-by-side
on top of the new Python server backend.
This package contains the jupyterlab server configuration and desktop files
%prep
%autosetup -p1 -n nbclassic-%{version} -a1
python3 setup.py js css
%build
%pyproject_wheel
%if !%{with test}
%install
%pyproject_install
%python_clone -a %{buildroot}%{_bindir}/jupyter-nbclassic
%python_clone -a %{buildroot}%{_bindir}/jupyter-nbclassic-bundlerextension
%python_clone -a %{buildroot}%{_bindir}/jupyter-nbclassic-extension
%python_clone -a %{buildroot}%{_bindir}/jupyter-nbclassic-serverextension
%{python_expand #
rm %{buildroot}%{$python_sitelib}/nbclassic/bundler/tests/resources/subdir/subsubdir/.gitkeep
%fdupes %{buildroot}%{$python_sitelib}
# the locale structure is not compatible with (python_)find_lang. Roll our own.
echo '%%dir %{$python_sitelib}/nbclassic' > %{$python_prefix}-nbclassic.files
find %{buildroot}%{$python_sitelib}/nbclassic -mindepth 1 -maxdepth 1 -not -name i18n > non-lang-files
sed 's:%{buildroot}::' >> %{$python_prefix}-nbclassic.files < non-lang-files
find %{buildroot}%{$python_sitelib}/nbclassic/i18n -type f -o -type l > lang-files
sed -E '
s:%{buildroot}::
s:(.*/nbclassic/i18n/)([^/_]+)(.*(mo|po|json)$):%lang(\2) \1\2\3:
' >> %{$python_prefix}-nbclassic.files < lang-files
find %{buildroot}%{$python_sitelib}/nbclassic/i18n -type d > lang-dirs
sed -E '
s:%{buildroot}::
s:(.*):%%dir \1:
' >> %{$python_prefix}-nbclassic.files < lang-dirs
}
%suse_update_desktop_file jupyter-nbclassic
%endif
%pre
# Remove old update-alternatives entry for transition to libalternatives
%python_libalternatives_reset_alternative jupyter-nbclassic
%if %{with test}
%check
%pytest
%endif
%if !%{with test}
%files %{python_files} -f %{python_prefix}-nbclassic.files
%doc README.md
%license LICENSE
%python_alternative %{_bindir}/jupyter-nbclassic
%python_alternative %{_bindir}/jupyter-nbclassic-bundlerextension
%python_alternative %{_bindir}/jupyter-nbclassic-extension
%python_alternative %{_bindir}/jupyter-nbclassic-serverextension
%{python_sitelib}/nbclassic-%{version}*-info
%files -n jupyter-nbclassic
%license LICENSE
%{_jupyter_config} %{_jupyter_server_confdir}/nbclassic.json
%{_datadir}/icons/hicolor/*/apps/nbclassic.svg
%{_datadir}/applications/jupyter-nbclassic.desktop
%endif
%changelog