commit 9b9d3a84fbe0923ffc695a3a1e2444599c596c8b43985483a34cd2ed2e278fc6 Author: Adrian Schröter Date: Fri May 3 21:16:26 2024 +0200 Sync from SUSE:SLFO:Main python-jupyter-core revision a64f53aed3e1a178ce2bed7a14b54f1a 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/_multibuild b/_multibuild new file mode 100644 index 0000000..fcc7b97 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + test + diff --git a/jupyter_core-5.3.0.tar.gz b/jupyter_core-5.3.0.tar.gz new file mode 100644 index 0000000..0e4e9bf --- /dev/null +++ b/jupyter_core-5.3.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6db75be0c83edbf1b7c9f91ec266a9a24ef945da630f3120e1a0046dc13713fc +size 83909 diff --git a/python-jupyter-core.changes b/python-jupyter-core.changes new file mode 100644 index 0000000..f81df95 --- /dev/null +++ b/python-jupyter-core.changes @@ -0,0 +1,405 @@ +------------------------------------------------------------------- +Sun Mar 19 17:35:27 UTC 2023 - Ben Greiner + +- Update to 5.3.0 + * Fix pywin32 version constraint #347 (@blink1073) + * Support platformdirs 3 #342 (@blink1073) + +------------------------------------------------------------------- +Sun Feb 5 15:58:09 UTC 2023 - Ben Greiner + +- Update to 5.2.0 + * Set up shell command-line tab-completion for jupyter and + subcommands #337 (@azjps) +- Release 5.1.5 + * Don't format logs in log call. #336 (@Carreau) +- Release 5.1.4 + * Suppress any exception in _do_i_own shortcut #335 (@minrk) + +------------------------------------------------------------------- +Sun Jan 22 12:58:35 UTC 2023 - Ben Greiner + +- Update to 5.1.3 + * Clear the test environment before each function run #333 + (@jasongrout) + +------------------------------------------------------------------- +Sun Jan 8 09:16:03 UTC 2023 - Ben Greiner + +- Update to 5.1.2 + * Add spell check and ensure docstrings #327 (@blink1073) + * Maint: Some more precise typing. #326 (@Carreau) + +------------------------------------------------------------------- +Sun Dec 25 20:25:31 UTC 2022 - Ben Greiner + +- Update to 5.1.1 + * Only prefer envs owned by the current user #323 (@minrk) + * Don't treat the conda root env as an env #324 (@minrk) +- Release 5.1.0 + * Add run_sync and ensure_async functions #315 (@davidbrochart) +- Release 5.0.0 + ## Major Changes + * Prefer Environment Level Configuration. We now make the + assumption that if we are running in a virtual environment, we + * should prioritize the environment-level sys.prefix over the + user-level paths. Users can opt out of this behavior by setting + JUPYTER_PREFER_ENV_PATH, which takes precedence over our + autodetection. + * Migrate to Standard Platform Directories. In version 5, we + introduce a JUPYTER_PLATFORM_DIRS environment variable to opt + in * to using more appropriate platform-specific directories. + We raise a deprecation warning if the variable is not set. In + version 6, JUPYTER_PLATFORM_DIRS will be opt-out. In version 7, + we will remove the environment variable checks and old + directory logic. + * Drop Support for Python 3.7 + * We are dropping support for Python 3.7 ahead of its official + end of life, to reduce * maintenance burden as we add support + for Python 3.11. + * Use platformdirs for path locations #292 (@blink1073) + * Try to detect if we are in a virtual environment and change + path precedence * accordingly #286 (@jasongrout) + * Add current working directory as first config path #291 + (@blink1073) + * Fix inclusion of jupyter file and check in CI #276 (@blink1073) + * Bump github/codeql-action from 1 to 2 #308 (@dependabot) + * Bump actions/checkout from 2 to 3 #307 (@dependabot) + * Add dependabot #306 (@blink1073) + * Adopt jupyter releaser #305 (@blink1073) + * Add more typing #304 (@blink1073) + * Require Python 3.8+ #302 (@blink1073) + * Use hatch backend #265 (@blink1073) + * Switch to flit build backend #262 (@blink1073) + * is_hidden: Use normalized paths #271 (@martinRenou) + +------------------------------------------------------------------- +Wed Oct 26 10:12:39 UTC 2022 - Ben Greiner + +- Update to 4.11.2 + * no release notes + * from the git log: merge GHSA-m678-f26j-3hrp + +------------------------------------------------------------------- +Mon Aug 1 17:56:47 UTC 2022 - Ben Greiner + +- Update to 4.11.1 + * Fix inclusion of jupyter file and check in CI by @blink1073 in + #276 +- Release 4.11.0 + * Use hatch backend by @blink1073 in #265 + * is_hidden: Use normalized paths by @martinRenou in #271 +- Release 4.10.0 + * Include all files from jupyter_core by @jonringer in #253 +- Refresh use_rpms_paths.patch + +------------------------------------------------------------------- +Sun Mar 13 06:59:34 UTC 2022 - Ben Greiner + +- Update to 4.9.2 + * set proper sys.argv[0] for subcommand by @bnavigator in #248 + * Add explicit encoding in open calls by @dlukes in #249 + * jupyter_config_dir - reorder home_dir initialization by + @dharmaquark in #251 +- Drop argv0_subcommand.patch merged upstream + +------------------------------------------------------------------- +Fri Nov 12 21:09:24 UTC 2021 - Ben Greiner + +- Update to 4.9.1 + * Add Python site user base subdirectories to config and data + user-level paths if site.ENABLE_USER_SITE is True. One way to + disable these directory additions is to set the + PYTHONNOUSERSITE environment variable. These locations can be + customized by setting the PYTHONUSERBASE environment variable. + * Add a workaround for virtualenv for getting the user site + directory. + +------------------------------------------------------------------- +Fri Nov 12 08:25:01 UTC 2021 - Stefan Schubert + +- Patch for solving gh#openSUSE/libalternatives#11: + argv0_subcommand.patch + This patch can be removed while releasing version >4.9.1. +- Enabled using libalternatives again. + +------------------------------------------------------------------- +Thu Oct 28 19:16:16 UTC 2021 - Ben Greiner + +- revert the usage of libalternatives due to + gh#openSUSE/libalternatives#11 + +------------------------------------------------------------------- +Sun Oct 17 17:28:20 UTC 2021 - Ben Greiner + +- Update to version 4.8.1 + * Print an error message instead of an exception when a command + is not found (PR #218) + * Return canonical path when using %APPDATA% on Windows (PR #222) + * Print full usage on missing or invalid commands (PR #225) + * Remove dependency on pywin32 package on PyPy (PR #230) + * Update packages listed in jupyter --version (PR #232) + * Inherit base aliases/flags from traitlets Application, + including --show-config from traitlets 5 (PR #233) + * Trigger warning when trying to check hidden file status on PyPy + (PR #238) + +------------------------------------------------------------------- +Tue Oct 5 15:35:48 UTC 2021 - Stefan Schubert + +- Use libalternatives instead of update-alternatives. + +------------------------------------------------------------------- +Wed Feb 3 22:46:22 UTC 2021 - Benjamin Greiner + +- Require the jupyter-jupyter_core-filesystem so that depending + packages have the sysconf and share files. (And the macros, + but if they use it, they really should BuildRequire it + explicitly) + +------------------------------------------------------------------- +Sun Jan 31 17:57:15 UTC 2021 - Ben Greiner + +- Update to 4.7.1 + * Allow creating user to delete secure file +- Changelog for 4.7.0 + * Add a new JUPYTER_PREFER_ENV_PATH variable, which can be set + to switch the order of the environment-level path and the + user-level path in the Jupyter path hierarchy (e.g., jupyter + --paths). It is considered set if it is a value that is not + one of 'no', 'n', 'off', 'false', '0', or '0.0' (case + insensitive). If you are running Jupyter in multiple virtual + environments as the same user, you will likely want to set + this environment variable. + * Drop Python 2.x and 3.5 support, as they have reached end of + life. + * jupyter --paths --debug now explains the environment + variables that affect the current path list. + * Add conda environment information in jupyter troubleshoot. + * Update _version.version_info and _version.__version__ to + follow Python conventions. +- merge jupyter package as capability into the primary python + package +- fix replacement of paths: + * fix noop introduced by overeager specfile-cleaner for system + paths, adjust use_rpm_paths.patch + * don't replace ENV_CONFIG_PATH or ENV_JUPYTER_PATH because that + would break virtual environments. See also + gh#jupyter/jupyter_core#208 + +------------------------------------------------------------------- +Sat Mar 28 07:39:17 UTC 2020 - Tomáš Chvátal + +- Fix build without python2 + +------------------------------------------------------------------- +Tue Mar 17 07:20:32 UTC 2020 - Tomáš Chvátal + +- Do not pull sybmol named package but real named package + +------------------------------------------------------------------- +Mon Feb 24 15:37:51 UTC 2020 - Todd R + +- Update to 4.6.3 + * Changed windows secure_write path to skip all filesystem + permission checks when running in insecure mode. Too many + exception paths existed for mounted file systems to reliably + try to set them before opting out with the insecure write + pattern. +- Update to 4.6.2 + * Add ability to allow insecure writes with + JUPYTER_ALLOW_INSECURE_WRITES environement variable. + * Docs typo and build fixes + * Added python 3.7 and 3.8 builds to testing +- Implement tests via multibuild +- Drop doc subpackage. This was only around to resolve dependency + cycles in testing, which the multibuild now does. Keeping up + with rapid changes in readthedocs was becoming difficult. + +------------------------------------------------------------------- +Tue Nov 12 15:54:48 UTC 2019 - Todd R + +- Update to 4.6.1 + * Tolerate execute bit in owner permissions when validating secure writes + * Fix project name typo in copyright +- Update to 4.6.0 + * Unicode characters existing in the user's home directory name are properly + handled + * ``mock`` is now only required for testing on Python 2 + * Deprecation warnings relative to ``_runtime_dir_changed`` are no longer + produced + * The ``scripts`` directory relative to the current python environment is + now appended to the search directory for subcommands + * Some utility functions (``exists()``, ``is_hidden()``, ``secure_write()``) + have been moved from ``jupyter_client`` and ``jupyter_server`` to + ``jupyter_core`` + * Fix error on Windows when setting private permissions +- Rename to python-jupyter-core to match upstream name change + +------------------------------------------------------------------- +Fri Aug 16 14:46:15 UTC 2019 - Todd R + +- Fix self-obseletion + +------------------------------------------------------------------- +Mon Jun 24 20:30:24 UTC 2019 - Todd R + +- Update to version 4.5.0 + * ``jupyter --version`` now tries to show the version number of various other + installed Jupyter packages, not just ``jupyter_core``. + This will hopefully make it clearer that there are various packages with + their own version numbers. + * Allow a :envvar:`JUPYTER_CONFIG_PATH` environment variable to specify a + search path of additional locations for config. + * ``jupyter subcommand`` no longer modifies the :envvar:`PATH` environment + variable when it runs ``jupyter-subcommand``. + * Jupyter's 'runtime' directory no longer uses ``XDG_RUNTIME_DIR``. While + it has some attractive properties, it has led to various problems. + * Fix ``JupyterApp`` to respect the ``raise_config_file_errors`` traitlet. + * Various improvements to the bash completion scripts in this repository. + * The ``setup.py`` script now always uses setuptools, like most other Jupyter + projects. + * The LICENSE file is included in wheels. + +------------------------------------------------------------------- +Thu Apr 25 01:58:55 UTC 2019 - Todd R + +- Split out jupyter components into subpackage. +- Add rpm macros. +- Rename doc package to match jupyter package. + +------------------------------------------------------------------- +Tue Feb 13 19:47:23 UTC 2018 - toddrme2178@gmail.com + +- Update url + +------------------------------------------------------------------- +Wed Nov 22 22:48:47 UTC 2017 - arun@gmx.de + +- require sphinxcontrib-github-alt + +- update to version 4.4.0: + * jupyter troubleshoot gets the list of packages from the Python + environment it's in, by using sys.executable to call pip list + (:ghpull:`104`). + * Added utility function ensure_dir_exists, and switched to using it + over the one from ipython_genutils, which does permissions wrong + (:ghpull:`113`). + * Avoid creating the ~/.ipython directory when checking if it exists + for config migration (:ghpull:`118`). + * Fix mistaken description in zsh completions (:ghpull:`98`). + * Fix subcommand tests on Windows (:ghpull:`103`). + * The README now describes how to work on jupyter_core and build the + docs (:ghpull:`110`). + * Fix a broken link to a release in the docs (:ghpull:`109`). + +------------------------------------------------------------------- +Wed Sep 20 17:53:24 UTC 2017 - toddrme2178@gmail.com + +- Set configuration and data paths to be correct for any + Linux distribution. This is done by using sed to replace + hard-coded values with those provided by rpm. + * Add use_rpms_paths.patch to make the paths easier to replace. + +------------------------------------------------------------------- +Wed Apr 26 16:32:25 UTC 2017 - toddrme2178@gmail.com + +- Implement single-spec version. +- Remove version_specific_dirs.patch. + The Python3 jupyter implementation will be used for directories. + +------------------------------------------------------------------- +Fri Mar 31 13:59:14 UTC 2017 - toddrme2178@gmail.com + +- Add version_specific_dirs.patch + Uses python version-specific directories to avoid conflicts. +- Install the directories used for system-side settings and data so + they are properly owned by this package. + +------------------------------------------------------------------- +Thu Mar 30 19:05:42 UTC 2017 - toddrme2178@gmail.com + +- Update to 4.3.0 + * Add `JUPYTER_NO_CONFIG` environment variable for disabling all + Jupyter configuration. + * More detailed error message when failing to launch subcommands. +- Update to 4.2.1 + * Fix error message on Windows when subcommand not found. + * Correctly display PATH in ``jupyter troubleshoot`` on Windows. +- Update to 4.2.0 + * Make :command:`jupyter` directory top priority in search path + for subcommands, so that :command:`jupyter-subcommand` next to + :command:`jupyter` will always be picked if present. + * Avoid using ``shell=True`` for subcommand dispatch on Windows. +- Update to 4.1.1 + * Include symlink directory and real location on subcommand PATH + when :file:`jupyter` is a symlink. +- Update to 4.1.0 + * Add ``jupyter.py`` module, so that :command:`python -m jupyter` + always works. + * Add prototype ``jupyter troubleshoot`` command for displaying + environment info. + * Ensure directory containing ``jupyter`` executable is included + when dispatching subcommands. + * Unicode fixes for Legacy Python. + +------------------------------------------------------------------- +Wed Feb 17 14:22:56 UTC 2016 - toddrme2178@gmail.com + +- Simplify the tests for whether to build pdf documentation + +------------------------------------------------------------------- +Wed Feb 17 08:53:35 UTC 2016 - toddrme2178@gmail.com + +- Split documentation to speed up building. + This is a dependency of a lot of other packages, and the + dependencies for the documentation are very heavy. So build + the documentation separately to avoid holding up the build + process. + +------------------------------------------------------------------- +Thu Oct 1 11:33:33 UTC 2015 - toddrme2178@gmail.com + +- Build documentation + +------------------------------------------------------------------- +Wed Sep 23 11:20:47 UTC 2015 - toddrme2178@gmail.com + +- update to version 4.0.6: + * fix typo preventing migration when custom.css is missing +- update to version 4.0.5: + * fix subcommands on Windows (yes, again) + * fix migration when custom.js/css are not present + +------------------------------------------------------------------- +Mon Aug 24 10:29:04 UTC 2015 - toddrme2178@gmail.com + +- Update to 4.0.4 + * ensure version is printed to stdout … + * remove file-extension from subcommand list on Windows +- Update requirements + +------------------------------------------------------------------- +Fri Aug 14 07:48:27 UTC 2015 - toddrme2178@gmail.com + +- Update to 4.0.3 + * use raw_input on Python 2 + * Use setuptools entry points when setuptools in use + * Use instances of traits instead of trait classes +- Fix package naming consistency + +------------------------------------------------------------------- +Fri Aug 14 07:03:18 UTC 2015 - toddrme2178@gmail.com + +- Fix update-alternatives usage + +------------------------------------------------------------------- +Thu Aug 13 14:06:32 UTC 2015 - toddrme2178@gmail.com + +- Update dependency names + +------------------------------------------------------------------- +Tue Jul 21 10:49:36 UTC 2015 - jennings@neuro.bzm + +- Initial version + diff --git a/python-jupyter-core.spec b/python-jupyter-core.spec new file mode 100644 index 0000000..3daff5c --- /dev/null +++ b/python-jupyter-core.spec @@ -0,0 +1,140 @@ +# +# spec file +# +# Copyright (c) 2023 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/ +# + + +%if 0%{?suse_version} > 1500 +%bcond_without libalternatives +%else +%bcond_with libalternatives +%endif + +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "test" +%define psuffix -test +%bcond_without test +%else +%define psuffix %{nil} +%bcond_with test +%endif + +Name: python-jupyter-core%{psuffix} +Version: 5.3.0 +Release: 0 +Summary: Base package on which Jupyter projects rely +License: BSD-3-Clause +URL: https://github.com/jupyter/jupyter_core +Source0: https://files.pythonhosted.org/packages/source/j/jupyter_core/jupyter_core-%{version}.tar.gz +# PATCH-FIX-OPENSUSE -- use_rpms_paths.patch -- change paths so they are easy to replace at build time +Patch0: use_rpms_paths.patch +BuildRequires: %{python_module base >= 3.8} +BuildRequires: %{python_module hatchling} +BuildRequires: %{python_module pip} +BuildRequires: fdupes +BuildRequires: python-rpm-macros >= 20210929 +Requires: python-platformdirs >= 2.5 +Requires: python-traitlets >= 5.3 +%if %{with libalternatives} +BuildRequires: alts +Requires: alts +%else +Requires(post): update-alternatives +Requires(postun):update-alternatives +%endif +Recommends: python-ipython +Provides: python-jupyter_core = %{version}-%{release} +Obsoletes: python-jupyter_core < %{version}-%{release} +%if "%{python_flavor}" == "python3" || "%{python_provides}" == "python3" +Provides: jupyter-jupyter-core = %{version}-%{release} +Obsoletes: jupyter-jupyter-core < %{version}-%{release} +Provides: jupyter-jupyter_core = %{version}-%{release} +Obsoletes: jupyter-jupyter_core < %{version}-%{release} +%endif +BuildArch: noarch +%if %{with test} +BuildRequires: %{python_module ipykernel} +BuildRequires: %{python_module jupyter-core = %{version}} +BuildRequires: %{python_module pytest-timeout} +BuildRequires: %{python_module pytest} +%endif +%python_subpackages + +%description +Core common functionality of Jupyter projects. + +This package contains base application classes and configuration inherited by +other projects. It doesn't do much on its own. + +There is no reason to install this package on its own. It will be pulled in +as a dependency by packages that require it. + +%prep +%autosetup -p1 -n jupyter_core-%{version} +# Set the appropriate hardcoded paths dynamically +sed -i "s|@_datadir_jupyter_@|\"%{_datadir}/jupyter\"|" jupyter_core/paths.py +sed -i "s|@_distconfdir_jupyter_@|\"%{_distconfdir}/jupyter\"|" jupyter_core/paths.py +sed -i "/addopts/ s/--color=yes//" pyproject.toml + +%if !%{with test} +%build +%pyproject_wheel +%endif + +%if !%{with test} +%install +%pyproject_install +%python_clone -a %{buildroot}%{_bindir}/jupyter +%python_clone -a %{buildroot}%{_bindir}/jupyter-migrate +%python_clone -a %{buildroot}%{_bindir}/jupyter-troubleshoot +%{python_expand chmod a+x %{buildroot}%{$python_sitelib}/jupyter_core/troubleshoot.py +sed -i "s|^#!%{_bindir}/env python$|#!%{__$python}|" %{buildroot}%{$python_sitelib}/jupyter_core/troubleshoot.py +} +%python_compileall +%python_expand %fdupes %{buildroot}%{$python_sitelib} +%endif + +%if %{with test} +%check +# does not work outside venvs: gh#jupyter/jupyter_core#208 +donttest="test_jupyter_path_prefer_env or test_jupyter_config_path_prefer_env" +# we changed the xdg path +donttest="$donttest or test_config_dir_linux" +%pytest -k "not ($donttest)" +%endif + +%pre +# If libalternatives is used: Removing old update-alternatives entries. +%python_libalternatives_reset_alternative jupyter + +%post +%python_install_alternative jupyter jupyter-migrate jupyter-troubleshoot + +%postun +%python_uninstall_alternative jupyter + +%if !%{with test} +%files %{python_files} +%license LICENSE +%python_alternative %{_bindir}/jupyter +%python_alternative %{_bindir}/jupyter-migrate +%python_alternative %{_bindir}/jupyter-troubleshoot +%{python_sitelib}/jupyter.py* +%pycache_only %{python_sitelib}/__pycache__/jupyter.*.py* +%{python_sitelib}/jupyter_core/ +%{python_sitelib}/jupyter_core-%{version}*-info +%endif + +%changelog diff --git a/use_rpms_paths.patch b/use_rpms_paths.patch new file mode 100644 index 0000000..05b49e1 --- /dev/null +++ b/use_rpms_paths.patch @@ -0,0 +1,37 @@ +From: toddrme2178@gmail.com +Date: 2017-09-20 +Subject: Use rpm paths + +Use single-line paths. These must be replaced with the appropriate +system paths in the .spec file. + +--- + +Index: jupyter_core-5.1.1/jupyter_core/paths.py +=================================================================== +--- jupyter_core-5.1.1.orig/jupyter_core/paths.py ++++ jupyter_core-5.1.1/jupyter_core/paths.py +@@ -219,10 +219,7 @@ else: + else: # PROGRAMDATA is not defined by default on XP. + SYSTEM_JUPYTER_PATH = [os.path.join(sys.prefix, "share", "jupyter")] + else: +- SYSTEM_JUPYTER_PATH = [ +- "/usr/local/share/jupyter", +- "/usr/share/jupyter", +- ] ++ SYSTEM_JUPYTER_PATH = [ @_datadir_jupyter_@ ] + + ENV_JUPYTER_PATH: List[str] = [os.path.join(sys.prefix, "share", "jupyter")] + +@@ -301,10 +298,7 @@ else: + else: # PROGRAMDATA is not defined by default on XP. + SYSTEM_CONFIG_PATH = [] + else: +- SYSTEM_CONFIG_PATH = [ +- "/usr/local/etc/jupyter", +- "/etc/jupyter", +- ] ++ SYSTEM_CONFIG_PATH = [ @_distconfdir_jupyter_@ ] + ENV_CONFIG_PATH: List[str] = [os.path.join(sys.prefix, "etc", "jupyter")] + +