From 03cd16bc0880c43f9f6a7f54895098401e99ac4486a9b0ebde9924472dccd74a Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Thu, 21 Nov 2024 22:31:49 +0000 Subject: [PATCH] - Add ignore-PytestUnraisableExceptionWarning.patch to get over (misleading?) ResourceWarning concerning SQLite unclosed database (gh#jupyter-server/jupyter_server#1387). OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-jupyter-server?expand=0&rev=97 --- .gitattributes | 23 + .gitignore | 1 + _multibuild | 3 + ignore-PytestUnraisableExceptionWarning.patch | 16 + jupyter_server-2.13.0.tar.gz | 3 + jupyter_server-2.14.2.tar.gz | 3 + python-jupyter-server.changes | 884 ++++++++++++++++++ python-jupyter-server.spec | 167 ++++ 8 files changed, 1100 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _multibuild create mode 100644 ignore-PytestUnraisableExceptionWarning.patch create mode 100644 jupyter_server-2.13.0.tar.gz create mode 100644 jupyter_server-2.14.2.tar.gz create mode 100644 python-jupyter-server.changes create mode 100644 python-jupyter-server.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..ec2fdbb --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + test + \ No newline at end of file diff --git a/ignore-PytestUnraisableExceptionWarning.patch b/ignore-PytestUnraisableExceptionWarning.patch new file mode 100644 index 0000000..a203465 --- /dev/null +++ b/ignore-PytestUnraisableExceptionWarning.patch @@ -0,0 +1,16 @@ +--- + pyproject.toml | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -178,7 +178,8 @@ filterwarnings = [ + "error", + "ignore:datetime.datetime.utc:DeprecationWarning", + "module:add_callback_from_signal is deprecated:DeprecationWarning", +- "ignore::jupyter_server.utils.JupyterServerAuthWarning" ++ "ignore::jupyter_server.utils.JupyterServerAuthWarning", ++ "ignore::pytest.PytestUnraisableExceptionWarning", + ] + + [tool.coverage.report] diff --git a/jupyter_server-2.13.0.tar.gz b/jupyter_server-2.13.0.tar.gz new file mode 100644 index 0000000..36f4d95 --- /dev/null +++ b/jupyter_server-2.13.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c80bfb049ea20053c3d9641c2add4848b38073bf79f1729cea1faed32fc1c78e +size 718244 diff --git a/jupyter_server-2.14.2.tar.gz b/jupyter_server-2.14.2.tar.gz new file mode 100644 index 0000000..09daffd --- /dev/null +++ b/jupyter_server-2.14.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b +size 719933 diff --git a/python-jupyter-server.changes b/python-jupyter-server.changes new file mode 100644 index 0000000..78bb2f0 --- /dev/null +++ b/python-jupyter-server.changes @@ -0,0 +1,884 @@ +------------------------------------------------------------------- +Wed Nov 20 14:17:42 UTC 2024 - Matej Cepl + +- Add ignore-PytestUnraisableExceptionWarning.patch to get over + (misleading?) ResourceWarning concerning SQLite unclosed + database (gh#jupyter-server/jupyter_server#1387). + +------------------------------------------------------------------- +Sun Sep 15 16:05:49 UTC 2024 - Ben Greiner + +- Update to 2.14.2 + * Pass session_id during Websocket connect #1440 (@gogasca) + * Do not log environment variables passed to kernels #1437 + (@krassowski) +- Release 2.14.1 + ## Enhancements made + * Removing excessive logging from reading local files #1420 + (@lresende) + ## Security Fix + * Filefind: avoid handling absolute paths +- Release 2.14.0 + ## Enhancements made + * Do not include token in dashboard link, when available #1406 + (@minrk) + ## Bugs fixed + * Ignore zero-length page_config.json, restore previous behavior + of crashing for invalid JSON #1405 (@holzman) + * Don't crash on invalid JSON in page_config (#1403) #1404 + (@holzman) + +------------------------------------------------------------------- +Fri Mar 8 14:04:13 UTC 2024 - Ben Greiner + +- Skip flaky test_restart_kernel + +------------------------------------------------------------------- +Thu Mar 7 12:13:10 UTC 2024 - Ben Greiner + +- Update to 2.13.0 + ## Enhancements made + * Add an option to have authentication enabled for all endpoints + by default #1392 (@krassowski) + * websockets: add configurations for ping interval and timeout + #1391 (@oliver-sanders) + ## Bugs fixed + * Fix color in windows log console with colorama #1397 + (@hansepac) +- Skip building and using python39-jupyter-server-test: no longer + supported since ipython 8.19 (through ipykernel) + +------------------------------------------------------------------- +Sun Jan 21 11:04:04 UTC 2024 - Ben Greiner + +- Update to 2.12.5 + * Improve warning handling #1386 (@blink1073) + +------------------------------------------------------------------- +Sun Jan 14 20:34:00 UTC 2024 - Ben Greiner + +- Update to 2.12.4 + * Fix log arguments for gateway client error #1385 (@minrk) +- Release 2.12.3 + * Import User unconditionally #1384 (@yuvipanda) +- Release 2.12.2 + * Fix a typo in error message #1381 (@krassowski) + * Force legacy ws subprotocol when using gateway #1311 (@epignot) + +------------------------------------------------------------------- +Sat Dec 23 19:39:32 UTC 2023 - Ben Greiner + +- Update to 2.12.1 + * log extension import time at debug level unless it's actually + slow #1375 (@minrk) + * Add support for async Authorizers #1374 #1373 (@Zsailer) + +------------------------------------------------------------------- +Tue Dec 5 09:59:47 UTC 2023 - Ben Greiner + +- Update to 2.11.2: Fix GHSA-h56g-gq9v-vc8r, CVE-2023-49080, + boo#1217809 + * Unhandled errors in API requests include traceback information, + which can include path information. There is no known mechanism + by which to trigger these errors without authentication, so the + paths revealed are not considered particularly sensitive, given + that the requesting user has arbitrary execution permissions + already in the same environment. + * jupyter-server no longer includes traceback information in JSON + error responses. For compatibility, the traceback field is + present, but always empty. +- Release 2.11.1 + * avoid unhandled error on some invalid paths #1369 (@minrk) + * Change md5 to hash and hash_algorithm, fix incompatibility + #1367 (@Wh1isper) + +------------------------------------------------------------------- +Sun Nov 26 16:16:36 UTC 2023 - Ben Greiner + +- Update to 2.11.0 + * Support get file(notebook) md5 #1363 (@Wh1isper) +- Release 2.10.1 + * ContentsHandler return 404 rather than raise exc #1357 + (@bloomsa) +- Release 2.10.0 + * Update kernel env to reflect changes in session #1354 + (@blink1073) +- Release 2.9.0 + * Ability to configure cull_idle_timeout with kernelSpec #1342 + (@akshaychitneni) + * Run Gateway token renewers even if the auth token is empty. + #1340 (@ojarjur) +- Release 2.8.0 + * Added Logs for get_os_path closes issue #1336 + (@jayeshsingh9767) + * Avoid showing "No answer for 5s" when shutdown is slow #1320 + (@minrk) + +------------------------------------------------------------------- +Sun Sep 24 18:04:17 UTC 2023 - Ben Greiner + +- Update to 2.7.3 + * Support external kernels #1305 (@davidbrochart) + +------------------------------------------------------------------- +Tue Aug 29 07:28:29 UTC 2023 - Ben Greiner + +- Update fixes: + * CVE-2023-39968 boo#1214730 + * CVE-2023-40170 boo#1214731 + +------------------------------------------------------------------- +Sat Aug 26 13:06:44 UTC 2023 - Ben Greiner + +- Update to 2.7.2 + * accessing API version should not count as activity #1315 + (@minrk) + * Make kernel_id as a conditional optional field #1300 + (@allstrive) + * Reference current_user to detect auth #1294 (@bhperry) + * send2trash now supports deleting from different filesystem + type(#1290) #1291 (@wqj97) +- Release 2.7.0 + * Add missing events to gateway client #1288 (@allstrive) + +------------------------------------------------------------------- +Sun Jun 11 20:34:14 UTC 2023 - Ben Greiner + +- Update to 2.6.0 + ## New features added + * Emit events from the kernels service and gateway client #1252 + (@rajmusuku) + ## Enhancements made + * Allows immutable cache for static files in a directory #1268 + (@brichet) + * Merge the gateway handlers into the standard handlers. #1261 + (@ojarjur) + * Gateway manager retry kernel updates #1256 (@ojarjur) + * Use debug-level messages for generating anonymous users #1254 + (@hbcarlos) + * Define a CURRENT_JUPYTER_HANDLER context var #1251 (@Zsailer) + ## Bugs fixed + * Don't instantiate an unused Future in gateway connection trait + #1276 (@minrk) + * Write server list to stdout #1275 (@minrk) + * Make the kernel_websocket_protocol flag reusable. #1264 + (@ojarjur) + * Register websocket handler from same module as kernel handlers + #1249 (@kevin-bates) + * Re-enable websocket ping/pong from the server #1243 (@Zsailer) + * Fix italics in operators security sections #1242 (@kevin-bates) + * Fix calculation of schema location #1239 (@lresende) + +------------------------------------------------------------------- +Sun Mar 19 17:31:55 UTC 2023 - Ben Greiner + +- Update to 2.5.0 + * Enable KernelSpecResourceHandler to be async #1236 (@Zsailer) + * Added error propagation to gateway_request function #1233 + (@broden-wanner) +- Release 2.4.0 + * Skip dir size check if not enumerable #1227 (@vidartf) + * Optimize hidden checks #1226 (@vidartf) + * Enable users to copy both files and directories #1190 + (@kenyaachon) + * Fix port selection #1229 (@blink1073) + * Fix priority of deprecated NotebookApp.notebook_dir behind + ServerApp.root_dir #1223 (@minrk) + * Ensure content-type properly reflects gateway kernelspec + resources #1219 (@kevin-bates) +- Release 2.3.0 + * Support IPV6 in _find_http_port() #1207 (@schnell18) + * Redact tokens, etc. in url parameters from request logs #1212 + (@minrk) + * Fix get_loader returning None when + load_jupyter_server_extension is not found (#1193) + +------------------------------------------------------------------- +Sun Feb 5 16:11:49 UTC 2023 - Ben Greiner + +- Update to 2.2.1 + * remove upper bound on anyio #1192 (@minrk) +- Release 2.2.0 + ## Enhancements made + * Only load enabled extension packages #1180 (@minrk) + * Pass in a logger to get_metadata #1176 (@yuvipanda) + ## Bugs fixed + * Don't assume that resources entries are relative #1182 (@ojarjur) + ## Maintenance and upkeep improvements + * Updates for client 8 #1188 (@blink1073) + * Use repr in logging for exception. #1185 (@Carreau) + +------------------------------------------------------------------- +Sun Jan 15 20:54:21 UTC 2023 - Ben Greiner + +- Update to 2.1.0 + * Fix preferred_dir for sync contents manager #1173 (@vidartf) + * Update typing and warning handling #1174 (@blink1073) +- Release 2.0.7 + * Log how long each extension module takes to import #1171 + (@yuvipanda) + * Set JPY_SESSION_NAME to full notebook path. #1100 (@Carreau) + * Reapply preferred_dir fix, now with better backwards + compatability #1162 (@vidartf) + * Update example to use hatch #1169 (@blink1073) + * Clean up docs build and typing #1168 (@blink1073) + * Fix check release by ignoring duplicate file name in wheel + #1163 (@blink1073) + * Fix broken link in warning message #1158 (@consideRatio) + +------------------------------------------------------------------- +Sun Jan 1 17:50:22 UTC 2023 - Ben Greiner + +- Update to 2.0.6 + * Iterate through set of apps in extension_manager.any_activity + method #1157 (@mahendrapaipuri) + * Handle flake8-errmsg #1155 (@blink1073) + * Add spelling and docstring enforcement #1147 (@blink1073) + +------------------------------------------------------------------- +Sun Dec 25 21:57:37 UTC 2022 - Ben Greiner + +- Update to 2.0.5 + * Remove end kwarg after migration from print to info #1151 + (@krassowski) + * Import ensure-sync directly from dependence. #1149 (@Carreau) + * Update deprecation warning #1148 (@Carreau) +- Release 2.0.4 + * Fix handling of extension last activity #1145 (@blink1073) +- Release 2.0.3 + * Restore default writing of browser open redirect file, add + opt-in to skip #1144 (@bollwyvl) +- Release 2.0.2 + * Raise errors on individual problematic extensions when listing + extension #1139 (@Zsailer) + * Find an available port before starting event loop #1136 + (@blink1073) + * only write browser files if we’re launching the browser #1133 + (@hhuuggoo) + * Logging message used to list sessions fails with template error + #1132 (@vindex10) + * Include base_url at start of kernelspec resources path #1124 + (@bloomsa) +- Release 2.0.1 + * [Gateway] Remove redundant list kernels request during session + poll #1112 (@kevin-bates) + * Maintenance and upkeep improvements + * Fix jupyter_core pinning #1122 (@ophie200) +- Major Release 2.0.0 + ## Enhancements made + * Introduce ServerKernelManager class #1101 (@kevin-bates) + * New configurable/overridable kernel ZMQ+Websocket connection + API #1047 (@Zsailer) + * Pass kernel environment to cwd_for_path method #1046 + (@divyansshhh) + * Better Handling of Asyncio #1035 (@blink1073) + * Add authorization to AuthenticatedFileHandler #1021 + (@jiajunjie) + * [Gateway] Add support for gateway token renewal #985 + (@kevin-bates) + * Make it easier to pass custom env variables to kernel #981 + (@divyansshhh) + * Accept and manage cookies when requesting gateways #969 (@wjsi) + * Emit events from the Contents Service #954 (@Zsailer) + * Retry certain errors between server and gateway #944 + (@kevin-bates) + * Allow new file types #895 (@davidbrochart) + * Make it easier for extensions to customize the ServerApp #879 + (@minrk) + * Adds anonymous users #863 (@hbcarlos) + * switch to jupyter_events #862 (@Zsailer) + * consolidate auth config on IdentityProvider #825 (@minrk) + ## Bugs fixed + * Fix kernel WebSocket protocol #1110 (@davidbrochart) + * Defer webbrowser import #1095 (@blink1073) + * Use handle_outgoing_message for ZMQ replies #1089 (@Zsailer) + * Call ports_changed on the multi-kernel-manager instead of the + kernel manager #1088 (@Zsailer) + * Add more websocket connection tests and fix bugs #1085 + (@blink1073) + * Tornado WebSocketHandler fixup #1083 (@davidbrochart) + * persist userid cookie when auth is disabled #1076 (@minrk) + * Fix rename_file and delete_file to handle hidden files properly + #1073 (@yacchin1205) + * Add more coverage #1069 (@blink1073) + * Increase nbconvert and checkpoints coverage #1066 (@blink1073) + * Fix min version check again #1049 (@blink1073) + * Fallback new file type to file for contents put #1013 (@a3626a) + * Fix some typos in release instructions #1003 (@kevin-bates) + * Wrap the concurrent futures in an asyncio future #1001 + (@blink1073) + * [Gateway] Fix and deprecate env whitelist handling #979 + (@kevin-bates) + * fix issues with jupyter_events 0.5.0 #972 (@Zsailer) + * Correct content-type headers #965 (@epignot) + * Don’t validate certs for when stopping server #959 (@Zsailer) + * Parse list value for terminado_settings #949 (@krassowski) + * Fix bug in api/contents requests for an allowed copy #939 + (@kiersten-stokes) + * Fix error that prevents posting to api/contents endpoint with + no body #937 (@kiersten-stokes) + * avoid creating asyncio.Lock at import time #935 (@minrk) + * Fix get_kernel_path for AsyncFileManagers. #929 + (@thetorpedodog) + * Fix c.GatewayClient.url snippet syntax #917 (@rickwierenga) + * Add back support for kernel launch timeout pad #910 + (@CiprianAnton) + * Notify ChannelQueue that the response router thread is + finishing #896 (@CiprianAnton) + * Make ChannelQueue.get_msg true async #892 (@CiprianAnton) + * Check for serverapp for reraise flag #887 (@vidartf) + ## Maintenance and upkeep improvements + * Make tests less sensitive to default kernel name #1118 + (@blink1073) + * Tweak codecov settings #1113 (@blink1073) + * Bump minimatch from 3.0.4 to 3.1.2 #1109 (@dependabot) + * Add skip-if-exists config #1108 (@blink1073) + * Use pytest-jupyter #1099 (@blink1073) + * Clean up release instructions and coverage handling #1098 + (@blink1073) + * Import ensure_async from jupyter_core #1093 (@davidbrochart) + * Add more tests #1092 (@blink1073) + * Fix coverage upload #1091 (@blink1073) + * Add base handler tests #1090 (@blink1073) + * Add more websocket connection tests and fix bugs #1085 + (@blink1073) + * Use base setup dependency type #1084 (@blink1073) + * Add more serverapp tests #1079 (@blink1073) + * Add more gateway tests #1078 (@blink1073) + * More cleanup #1077 (@blink1073) + * Fix hatch scripts and windows workflow run #1074 (@blink1073) + * use recommended github-workflows checker #1071 (@blink1073) + * Add more coverage #1069 (@blink1073) + * More coverage #1067 (@blink1073) + * Increase nbconvert and checkpoints coverage #1066 (@blink1073) + * Test downstream jupyter_server_terminals #1065 (@blink1073) + * Test notebook prerelease #1064 (@blink1073) + * MAINT: remove python 3.4 branch #1061 (@Carreau) + * Bump actions/checkout from 2 to 3 #1056 (@dependabot) + * Bump actions/setup-python from 2 to 4 #1055 (@dependabot) + * Bump pre-commit/action from 2.0.0 to 3.0.0 #1054 (@dependabot) + * Add dependabot file #1053 (@blink1073) + * Use global env for min version check #1048 (@blink1073) + * Clean up handling of synchronous managers #1044 (@blink1073) + * Clean up config files #1031 (@blink1073) + * Make node optional #1030 (@blink1073) + * Use admin github token for releaser #1025 (@blink1073) + * CI Cleanup #1023 (@blink1073) + * Use mdformat instead of prettier #1022 (@blink1073) + * Add pyproject validation #1020 (@blink1073) + * Remove hardcoded client install in CI #1019 (@blink1073) + * Handle client 8 pending kernels #1014 (@blink1073) + * Use releaser v2 tag #1010 (@blink1073) + * Use hatch environments to simplify test, coverage, and docs + build #1007 (@blink1073) + * Update to version2 releaser #1006 (@blink1073) + * Do not use dev version yet #999 (@blink1073) + * Add workflows for simplified publish #993 (@blink1073) + * Remove hardcoded client install #991 (@blink1073) + * Test with client 8 updates #988 (@blink1073) + * Switch to using hatchling version command #984 (@blink1073) + * Run downstream tests in parallel #973 (@blink1073) + * Update pytest_plugin with fixtures to test auth in core and + extensions #956 (@akshaychitneni) + * Fix docs build #952 (@blink1073) + * Fix flake8 v5 compat #941 (@blink1073) + * Improve logging of bare exceptions and other cleanups. #922 + (@thetorpedodog) + * Use more explicit version template for pyproject #919 + (@blink1073) + * Fix handling of dev version #913 (@blink1073) + * Fix owasp link #908 (@blink1073) + * default to system node version in precommit #906 (@dlqqq) + * Test python 3.11 on ubuntu #839 (@blink1073) + ## Documentation improvements + * Remove left over from notebook #1117 (@fcollonval) + * Fix wording #1037 (@fcollonval) + * Fix GitHub actions badge link #1011 (@blink1073) + * Pin docutils to fix docs build #1004 (@blink1073) + * Update server extension disable instructions #998 (@3coins) + * Update index.rst #970 (@razrotenberg) + * Fix typo in IdentityProvider documentation #915 (@danielyahn) + * docs: document the logging_config trait #844 (@oliver-sanders) + ## Deprecated features + * [Gateway] Fix and deprecate env whitelist handling #979 + (@kevin-bates) + +------------------------------------------------------------------- +Wed Oct 26 10:32:16 UTC 2022 - Ben Greiner + +- Update to version 1.21.0 + * Handle client 8 pending kernels #1014 (@blink1073) +- Release 1.19.1 + * Wrap the concurrent futures in an asyncio future #1000 + (@blink1073) +- Release 1.19.0 + * New features added + + Backport Inject session identifier into environment variable + #920 (@vidartf) + * Enhancements made + + Backport #981: Make it easier to pass custom env variables to + kernel #994 (@divyansshhh) + + Retry certain errors between server and gateway #944 + (@kevin-bates) + * Bugs fixed + + Backport PR #965: Correct content-type headers #966 + (@epignot) + + avoid creating asyncio.Lock at import time #935 (@minrk) + + Fix c.GatewayClient.url snippet syntax #917 (@rickwierenga) + + Add back support for kernel launch timeout pad #910 + (@CiprianAnton) + * Maintenance and upkeep improvements + + Test with client 8 updates #992 (@blink1073) + + Backport PR #922: Improve logging of bare exceptions etc. + #926 (@thetorpedodog) + + Fix handling of dev version #913 (@blink1073) + + Fix owasp link #908 (@blink1073) + +------------------------------------------------------------------- +Fri Aug 5 19:58:24 UTC 2022 - Ben Greiner + +- Add missing pytest-timeout in -test package + +------------------------------------------------------------------- +Mon Jul 25 00:12:10 UTC 2022 - Arun Persaud + +- update to version 1.18.1: + * Bugs fixed + + Notify ChannelQueue that the response router thread is finishing + #896 (@CiprianAnton) + + Make ChannelQueue.get_msg true async #892 (@CiprianAnton) + +- changes from version 1.18.0: + * Enhancements made + + Show import error when faiing to load an extension #878 (@minrk) + * Bugs fixed + + Fix gateway kernel shutdown #874 (@kevin-bates) + * Maintenance and upkeep improvements + + suppress tornado deprecation warnings #882 (@minrk) + + Normalize os_path #886 (@martinRenou) + + Fix lint #867 (@blink1073) + + Fix sphinx 5.0 support #865 (@blink1073) + +------------------------------------------------------------------- +Tue Jun 14 14:19:00 UTC 2022 - Ben Greiner + +- Update to 1.17.1 + * Address security advisory GHSA-q874-g24w-4q9g +- boo#1200548, CVE-2022-29241 +- Release 1.17.0 + * Add the root_dir value to the logging message in case of non + compliant preferred_dir #804 (@echarles) + * missing required arguments in utils.fetch #798 (@minrk) + * Add helper jobs for branch protection #797 (@blink1073) + * [pre-commit.ci] pre-commit autoupdate #793 + (@pre-commit-ci[bot]) + * Update branch references and links #791 (@blink1073) +- Release notes for 1.16.0 + * add hook to observe pending sessions #751 (@Zsailer) + * Add max-age Cache-Control header to kernel logos #760 + (@divyansshhh) + * Regression in connection URL calcuation in ServerApp #761 + (@jhamet93) + * Include explicit package data #757 (@blink1073) + * Ensure terminal cwd exists #755 (@fcollonval) + * make 'cwd' param for TerminalManager absolute #749 (@rccern) + * wait to cleanup kernels after kernel is finished pending #748 + (@Zsailer) + * Skip jsonschema in CI #766 (@blink1073) + * Remove redundant job and problematic check #765 (@blink1073) + * Update pre-commit #764 (@blink1073) + * Install pre-commit automatically #763 (@blink1073) + * Add pytest opts and use isort #762 (@blink1073) + * Ensure minimal nbconvert support jinja2 v2 & v3 #756 + (@fcollonval) + * Fix error handler in simple extension examples #750 + (@andreyvelich) + * Clean up workflows #747 (@blink1073) + * Remove Redundant Dir_Exists Invocation When Creating New Files + with ContentsManager #720 (@jhamet93) + * Handle importstring pre/post save hooks #754 (@dleen) +- Remove extra code in check section: Python flavored alternatives + have been merged into python-rpm-macros + +------------------------------------------------------------------- +Wed Mar 23 18:53:06 UTC 2022 - Ben Greiner + +- Update to version 1.15.6 + * Missing warning when no authorizer in found ZMQ handlers #744 + (@Zsailer) +- Release notes for 1.15.5 + * Relax type checking on ExtensionApp.serverapp #739 (@minrk) + * raise no-authorization warning once and allow disabled + authorization #738 (@Zsailer) +- Release notes for 1.15.4 + * Fix server-extension paths (3rd time's the charm) #734 (@minrk) +- Release notes for 1.15.2 + * allow handlers to work without an authorizer in the Tornado + settings #717 (@Zsailer) +- Release notes for 1.15.1 + * Revert "Re-use ServerApp.config_file_paths for consistency + (#715)" #728 (@blink1073) +- Release notes for 1.15.0 + * Add authorization layer to server request handlers #165 + (@Zsailer) Enhancements made + * Validate notebooks once per fetch or save #724 (@kevin-bates) + * Register pre/post save hooks, call them sequentially #696 + (@davidbrochart) + * Implement Required Methods in Async Manner #721 (@jhamet93) + * Call pre_save_hook only on first chunk of large files #716 + (@davidbrochart) + * Re-use ServerApp.config_file_paths for consistency #715 + (@minrk) + * serverapp: Use .absolute() instead of .resolve() for symlinks + #712 (@EricCousineau-TRI) + * Fall back to legacy protocol if selected_subprotocol raises + exception #706 (@davidbrochart) + * Fix FilesHandler not meet RFC 6713 #701 (@Wh1isper) + +------------------------------------------------------------------- +Thu Feb 10 05:17:10 UTC 2022 - Arun Persaud + +- update to version 1.13.5: + * Enhancements made + + Protocol alignment #657 (@davidbrochart) + * Bugs fixed + + Fix to remove potential memory leak on Jupyter Server + ZMQChannelHandler code #682 (@Vishwajeet0510) + + Pin pywintpy for now #681 (@blink1073) + + Fix the non-writable path deletion error #670 (@vkaidalov) + + make unit tests backwards compatible without pending kernels + #669 (@Zsailer) + * Maintenance and upkeep improvements + + Clean up full install test #689 (@blink1073) + + Update trigger_precommit.yml #687 (@blink1073) + + Add Auto Pre-Commit #685 (@blink1073) + + Fix a typo #683 (@krassowski) + + (temporarily) skip pending kernels unit tests on Windows CI #673 + (@Zsailer) + +------------------------------------------------------------------- +Sat Jan 29 19:35:29 UTC 2022 - Ben Greiner + +- Update to 1.13.4 + * Fix nbconvert handler run_sync() #667 (@davidbrochart) +- Use pytest-timeout and flaky to rerun flaky failing tests +- Use pytest-xdist for process control so that the worker does not + randomly hang at the end of the pytest run. + +------------------------------------------------------------------- +Sat Jan 15 19:52:09 UTC 2022 - Ben Greiner + +- Update to 1.13.3 + * More updates to unit tests for pending kernels work #662 + (@Zsailer) + * bump traitlets dependency #663 (@Zsailer) +- Update to 1.13.2 + * Don't block the event loop when exporting with nbconvert #655 + (@davidbrochart) + * Add more awaits for pending kernel in unit tests #654 + (@Zsailer) + * Print IPv6 url as hostname or enclosed in brackets #652 (@op3) + * Run pre_save_hook before model check #643 (@davidbrochart) + * handle KeyError when get session #641 (@ccw630) + * Clean up deprecations #650 (@blink1073) + * Update branch references #646 (@blink1073) + * pyproject.toml: clarify build system version #634 + (@adamjstewart) + +------------------------------------------------------------------- +Fri Dec 31 15:55:54 UTC 2021 - Ben Greiner + +- Update to 1.13.1 + * nudge both the shell and control channels #636 (@Zsailer) + * Persistent session storage #614 (@Zsailer) + * Nudge on the control channel instead of the shell #628 + (@JohanMabille) + * Clean up downstream tests #629 (@blink1073) + * Clean up version info handling #620 (@blink1073) + * Await _finish_kernel_start #617 (@jtpio) + * Update to Python 3.10 in the CI workflows #618 (@jtpio) + * Use maintainer-tools base setup action #616 (@blink1073) + * Consistent logging method #607 (@mwakaba2) + * Use pending kernels #593 (@blink1073) + * Set xsrf cookie on base url #612 (@minrk) + * Update jpserver_extensions trait to work with traitlets 5.x + #610 (@Zsailer) + * Fix allow_origin_pat property to properly parse regex #603 + (@havok2063) + * Enforce labels on PRs #613 (@blink1073) + * Normalize file name and path in test_api #608 (@toonn) + +------------------------------------------------------------------- +Mon Nov 15 18:42:07 UTC 2021 - Ben Greiner + +- Multibuild :test flavor, avoid possible buildcycles +- Fix libalternatives in test flavor + +------------------------------------------------------------------- +Fri Nov 12 21:41:00 UTC 2021 - Ben Greiner + +- Update to 1.11.2 + * Fix \s deprecation warning #600 (@Zsailer) + * Remove requests-unixsocket dependency #599 (@kevin-bates) + * bugfix: dir_exists is never awaited #597 (@stdll00) + * Fix missing await when call 'async_replace_file' #595 + (@Wh1isper) + * add a pytest fixture for capturing logging stream #588 + (@Zsailer) + * Maintenance and upkeep improvements + * Avoid dependency on NBConvert versions for REST API test #601 + (@Zsailer) +- Re-enable libalternatives + +------------------------------------------------------------------- +Thu Oct 28 19:14:32 UTC 2021 - Ben Greiner + +- revert the usage of libalternatives due to + gh#openSUSE/libalternatives#11 + +------------------------------------------------------------------- +Sun Oct 17 18:39:09 UTC 2021 - Stefan Schubert + +- Use libalternatives instead of update-alternatives. + +------------------------------------------------------------------- +Sun Oct 17 17:39:09 UTC 2021 - Ben Greiner + +- Update to 1.11.1 + * Do not log connection error if the kernel is already shutdown + #584 (@martinRenou) + * [BUG]: allow None for min_open_files_limit trait #587 + (@Zsailer) +- Release 1.11.0 + * Allow non-empty directory deletion through settings #574 + (@fcollonval) + * pytest_plugin: allow user specified headers in jp_ws_fetch #580 + (@oliver-sanders) + * Shutdown kernels/terminals on api/shutdown #579 (@martinRenou) + * pytest: package conftest #576 (@oliver-sanders) + * Set stacklevel on warning to point to the right place. #572 + (@Carreau) + * Respect reraise setting #571 (@vidartf) + * Fix jupyter_client warning #581 (@martinRenou) + * Add Pre-Commit Config #575 (@fcollonval) + * Clean up link checking #569 (@blink1073) +- Drop extra conftest.py + +------------------------------------------------------------------- +Mon Aug 16 12:39:42 UTC 2021 - Ben Greiner + +- Update to 1.10.2 + * fix: make command line aliases work again #564 + * decode bytes from secure cookie #562 + * Maintenance and upkeep improvements + * Add the needed space in the welcome message #561 + * Update check-release workflow #558 + * Fix typo in allow_password_change help #559 +- Release notes for v1.10.1 + * Protect against unset spec #556 +- Release notes for v1.10.0 + * PR: Add a new preferred-dir traitlet #549 + * stop hook for extensions #526 + * extensions: allow extensions in namespace packages #523 + * Fix examples/simple test execution #552 + * Rebuild package-lock, fixing local setup #548 + * small test changes #541 +- Add conftest.py missing from release tarball + +------------------------------------------------------------------- +Sat Jun 26 14:27:09 UTC 2021 - Ben Greiner + +- Update to 1.9.0 + * enable a way to run a task when an io_loop is created + * adds GatewayClient.auth_scheme configurable + * [Notebook port 4835] Add UNIX socket support to notebook server +- Release 1.8.0 + * Expose a public property to sort extensions deterministically. +- Release 1.7.0 + * Make nbconvert root handler asynchronous + * Refactor gateway kernel management to achieve a degree of + consistency +- Release 1.6.2 + * Use Jupyter Packaging #477 + +------------------------------------------------------------------- +Fri Apr 16 09:33:21 UTC 2021 - Ben Greiner + +- Release 1.6.1: + * Fix race condition with async kernel management #472 (@jtpio) + * Fix kernel lookup #475 (@davidbrochart) + * Add Extension App Aliases to Server App #473 (@jtpio) + * Correct 'Content-Type' headers #471 (@faucct) +- Release 1.6.0: + * Add env variable support for port options #461 (@afshin) + * Add support for JUPYTER_TOKEN_FILE #462 (@afshin) + * Remove unnecessary future imports #464 (@afshin) + * Add Changelog to Sphinx Docs #465 (@afshin) + * Update description for kernel restarted in the API docs #463 + (@jtpio) + * Delete the extra “or” that prevents easy cut-and-paste of URLs. + #460 (@jasongrout) + * Add descriptive log for port unavailable and port-retries=0 + #459 (@afshin) + * Add ReadTheDocs config #468 (@jtpio) + * Update MappingKM.restart_kernel to accept now kwarg #404 + (@vidartf) +- Release 1.5.1: + * Ensure jupyter config dir exists #454 (@afshin) + * Allow pre_save_hook to cancel save with HTTPError #456 (@minrk) +- Release 1.5.0: + * Add Styling to the HTML Pages #452 (@afshin) + * Implement password hashing with argon2-cffi #450 (@afshin) + * Escape user input in handlers flagged during code scans #449 + (@kevin-bates) + * Fix for the terminal shutdown issue #446 (@afshin) + * Update the branch filter for the CI badge #445 (@jtpio) + * Fix for UnboundLocalError in shutdown #444 (@afshin) + * Update CI badge and fix broken link #443 (@blink1073) + * Fix syntax typo #442 (@kiendang) + * Port terminal culling from Notebook #438 (@kevin-bates) + * More complex handling of open_browser from extension + applications #433 (@afshin) + * Correction in Changelog #429 (@Zsailer) + * Rename translation function alias #428 (@sngyo) +- Note: Don't update to v1.6.2 before setuptools >= 0.49.4 is + available, which is required by jupyter-packaging 0.9! + +------------------------------------------------------------------- +Thu Feb 25 20:54:28 UTC 2021 - Matej Cepl + +- Update to 1.4.1: + - Update README.md #425 + - Solve UnboundLocalError in launch_browser() #421 + - Add file_to_run to server extension docs #420 + - Remove outdated reference to _jupyter_server_extension_paths + in docs #419 + - Add Tests to Distribution #416 + - Enable extensions to control the file_to_run #415 + - add missing template for view.html #414 + - Remove obsoleted asyncio-patch fixture #412 + - Emit deprecation warning on old name #411 + - Correct logging message position #410 + - Update 1.3.0 Changelog to include broken 1.2.3 PRs #408 + - [Gateway] Track only this server's kernels #407 + - Update manager.py: more descriptive warnings when extensions + fail to load #396 + +------------------------------------------------------------------- +Sun Feb 14 18:05:36 UTC 2021 - Arun Persaud + +- update to version 1.3.0: + * Special case ExtensionApp that starts the ServerApp #401 (afshin) + * only use deprecated notebook_dir config if root_dir is not set + #400 (minrk) + * Use async kernel manager by default #399 (kevin-bates) + * Revert Session.username default value change #398 (mwakaba2) + * Re-enable default_url in ExtensionApp #393 (afshin) + * Enable notebook ContentsManager in jupyter_server #392 (afshin) + * Use jupyter_server_config.json as config file in the update + password api #390 (echarles) + * Increase culling test idle timeout #388 (kevin-bates) + +------------------------------------------------------------------- +Mon Feb 1 22:48:25 UTC 2021 - Ben Greiner + +- Update to version 1.2.3 + * for the full changelog between 0.2.1 and 1.2.3 see + https://github.com/jupyter-server/jupyter_server/blob/master/CHANGELOG.md + * 1.0.6: Fix open redirect vulnerability GHSA-grfj-wjv9-4f9v + (CVE-2020-26232) + * 1.0: Added new extension manager API for handling server + extensions + * 1.0: Dropped support for Python 3.5. (296) + * 1.0: Removed ipykernel as a dependency of jupyter_server. + * 0.3: (#194) The bundlerextension entry point was removed. +- Merge the jupyter-jupyter_server package into the python + packages using update-alternatives. It contained only the script + entrypoints. +- Fix testsuite by providing the correct entrypoints in PATH + +------------------------------------------------------------------- +Tue Jun 9 07:13:34 UTC 2020 - Tomáš Chvátal + +- Do not restrict us to pytest4 as the tests work with pytest5 too + +------------------------------------------------------------------- +Thu Apr 23 10:50:36 UTC 2020 - Tomáš Chvátal + +- Drop py2 deps from the spec + +------------------------------------------------------------------- +Wed Jan 15 15:25:43 UTC 2020 - Todd R + +- Update to 0.2.1 + + Added + * pytest-plugin for Jupyter Server. +- Update to 0.2.0 + + Added + * `extension` submodule + + Changed + * `jupyter serverextension ` entrypoint has been changed to `jupyter server extension `. + * `toggle_jupyter_server` and `validate_jupyter_server` function no longer take a Logger object as an argument. + * Changed testing framework from nosetests to pytest + * Added Github actions as a testing framework along side Travis and Azure + + Removed + * Removed the option to update `root_dir` trait in FileContentsManager and MappingKernelManager in ServerApp + + Fixed + * Synced Jupyter Server with Notebook PRs in batches (ended on 2019-09-27) + + Security + * Added a "secure_write to function for cookie/token saves + +------------------------------------------------------------------- +Tue Nov 12 17:38:51 UTC 2019 - Todd R + +- Drop python2 support due to python-notebook dropping python2 support +- jupyter_client renamed to jupyter-client +- jupyter_core renamed to jupyter-core + +------------------------------------------------------------------- +Sun Aug 11 01:27:08 UTC 2019 - Todd R + +- Update to 0.1.1 + * Fix extension_name validation + * Remove 'coded redirect' to default_url + * Fix default_url redirect with default 'main' handler + * pass extension_name to only extension app handlers + +------------------------------------------------------------------- +Sun Jul 28 20:33:09 UTC 2019 - Todd R + +- Update to 0.1.0 + * Update jupyter_client + * Removed Python 3.4 from the matrix + * fix bug from empty argv in extension app + * refactor extension testing to handle server instances + * add initial tests for extensionapp + * rearrange initialization steps for sanity + * add extension config as an attribute of the ExtensionApp + * pass extension traits to extension handlers as `config` property + * handler sources extension name from extension app object + * allow application to generate config + * Added control channel to ZMQChannelsHandler + * make extension handlers and settings configurable + * properly handle generate-config command + * working command line configuration, help, version, etc. + * add server extension submodule to jupyter_server + * remove notebook templates and replace with simple server templates + * Add localhost to list of default local_hostnames + +------------------------------------------------------------------- +Wed Jun 12 20:07:20 UTC 2019 - Todd R + +- Update to 0.0.5 + * Remove bundler endpoints + +------------------------------------------------------------------- +Wed May 22 21:53:32 UTC 2019 - Todd R + +- Remove selenium test dependency, it isn't really needed for the + tests and doesn't work on ARM. + +------------------------------------------------------------------- +Thu May 2 18:13:49 UTC 2019 - Todd R + +- Initial version diff --git a/python-jupyter-server.spec b/python-jupyter-server.spec new file mode 100644 index 0000000..5a38365 --- /dev/null +++ b/python-jupyter-server.spec @@ -0,0 +1,167 @@ +# +# spec file for package python-jupyter-server +# +# 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 + +%if 0%{?suse_version} > 1500 +%bcond_without libalternatives +%else +%bcond_with libalternatives +%endif + +Name: python-jupyter-server%{psuffix} +Version: 2.14.2 +Release: 0 +Summary: The backend to Jupyter web applications +License: BSD-3-Clause +Group: Development/Languages/Python +URL: https://jupyter-server.readthedocs.io +# SourceRepository: https://github.com/jupyter-server/jupyter_server +Source: https://files.pythonhosted.org/packages/source/j/jupyter_server/jupyter_server-%{version}.tar.gz +# PATCH-FIX-UPSTREAM ignore-PytestUnraisableExceptionWarning.patch gh#jupyter-server/jupyter_server#1387 mcepl@suse.com +# ignore PytestUnraisableExceptionWarning (ResourceWarning: unclosed database in ) +Patch0: ignore-PytestUnraisableExceptionWarning.patch +BuildRequires: %{python_module base >= 3.8} +BuildRequires: %{python_module hatch-jupyter-builder >= 0.8.1} +BuildRequires: %{python_module hatchling >= 1.11} +BuildRequires: %{python_module pip} +# We need the full stdlib +BuildRequires: %{pythons} +BuildRequires: fdupes +BuildRequires: python-rpm-macros >= 20210929 +Requires: python >= 3.8 +Requires: python-Jinja2 >= 3.0.3 +Requires: python-Send2Trash >= 1.8.2 +Requires: python-anyio >= 3.1.0 +Requires: python-argon2-cffi >= 21.1 +Requires: python-jupyter-client >= 7.4.4 +Requires: python-jupyter_events >= 0.9.0 +Requires: python-jupyter_server_terminals >= 0.4.4 +Requires: python-nbconvert >= 6.4.4 +Requires: python-nbformat >= 5.3.0 +Requires: python-overrides >= 5.0 +Requires: python-packaging >= 22 +Requires: python-prometheus_client >= 0.9 +Requires: python-pyzmq >= 24 +Requires: python-terminado >= 0.8.3 +Requires: python-tornado >= 6.2 +Requires: python-traitlets >= 5.6 +Requires: python-websocket-client >= 1.7 +Requires: ((python-jupyter-core >= 4.12 with python-jupyter-core < 5.0) or python-jupyter-core >= 5.1) +Provides: python-jupyter_server = %{version}-%{release} +Obsoletes: python-jupyter_server < %{version}-%{release} +%if %{with test} +BuildRequires: %{python_module jupyter-server-test = %{version}} +BuildRequires: %{python_module pytest-xdist} +BuildRequires: pandoc +%endif +%if %{with libalternatives} +BuildRequires: alts +Requires: alts +%else +Requires(post): update-alternatives +Requires(postun): update-alternatives +%endif +%if "%{python_flavor}" == "python3" || "%{python_provides}" == "python3" +Provides: jupyter-jupyter-server = %{version}-%{release} +Obsoletes: jupyter-jupyter-server < %{version}-%{release} +BuildArch: noarch +%endif +%python_subpackages + +%description +The Jupyter Server is a web application that allows you to create and +share documents that contain live code, equations, visualizations, and +explanatory text. The Notebook has support for multiple programming +languages, sharing, and interactive widgets. + +%package test +Summary: The backend to Jupyter web applications - test requirements +Group: Development/Languages/Python +Requires: python-flaky +Requires: python-ipykernel +Requires: python-jupyter-server = %{version} +Requires: python-pytest >= 7 +Requires: python-pytest-console-scripts +Requires: python-pytest-jupyter-server >= 0.7 +Requires: python-pytest-timeout +Requires: python-requests + +%description test +Metapackage for the jupyter_server[test] requirement specifier + +%prep +%autosetup -p1 -n jupyter_server-%{version} +sed -i pyproject.toml \ + -e 's/, "--color=yes"//' \ + -e '/filterwarnings/,/]/ {/error/ a \ "ignore:Module already imported so cannot be rewritten", + }' + +%if ! %{with test} +%build +%pyproject_wheel + +%install +%pyproject_install +%python_clone -a %{buildroot}%{_bindir}/jupyter-server +%python_expand %fdupes %{buildroot}%{$python_sitelib} +%endif + +%if %{with test} +%check +export LANG=en_US.UTF-8 +if [ -e ~/.local/share/jupyter ]; then + echo "WARNING: Not a clean test environment." + echo "You might need to delete ~/.local/share/jupyter in order to avoid test failures." +fi +# pytest-xdist for process control so that the worker does not indefinitely hang after success, no parallel tests +%pytest --timeout 60 --force-flaky --max-runs=3 --no-flaky-report -n 1 -k "not test_restart_kernel" +%endif + +%if ! %{with test} +%pre +# If libalternatives is used: Removing old update-alternatives entries. +%python_libalternatives_reset_alternative jupyter-server + +%post +%python_install_alternative jupyter-server + +%postun +%python_uninstall_alternative jupyter-server + +%files %{python_files} +%doc README.md +%license LICENSE +%python_alternative %{_bindir}/jupyter-server +%{python_sitelib}/jupyter_server +%{python_sitelib}/jupyter_server-%{version}*-info + +%if 0%{python_version_nodots} >= 310 +%files %{python_files test} +%license LICENSE +%endif +%endif + +%changelog