Hello community,

here is the log from the commit of package python-jupyter_core for 
openSUSE:Factory checked in at 2019-06-30 10:16:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jupyter_core (Old)
 and      /work/SRC/openSUSE:Factory/.python-jupyter_core.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-jupyter_core"

Sun Jun 30 10:16:27 2019 rev:10 rq:711734 version:4.5.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-jupyter_core/python-jupyter_core-doc.changes  
    2019-05-22 11:05:25.558577323 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-jupyter_core.new.4615/python-jupyter_core-doc.changes
    2019-06-30 10:16:28.439151585 +0200
@@ -1,0 +2,20 @@
+Mon Jun 24 20:30:24 UTC 2019 - Todd R <[email protected]>
+
+- 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.
+
+-------------------------------------------------------------------
python-jupyter_core.changes: same change

Old:
----
  jupyter_core-4.4.0.tar.gz

New:
----
  jupyter_core-4.5.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-jupyter_core-doc.spec ++++++
--- /var/tmp/diff_new_pack.566jjp/_old  2019-06-30 10:16:29.211152784 +0200
+++ /var/tmp/diff_new_pack.566jjp/_new  2019-06-30 10:16:29.215152791 +0200
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %bcond_without tests
 Name:           python-jupyter_core-doc
-Version:        4.4.0
+Version:        4.5.0
 Release:        0
 Summary:        Documentation for the Jupyter base package
 License:        BSD-3-Clause

++++++ python-jupyter_core.spec ++++++
--- /var/tmp/diff_new_pack.566jjp/_old  2019-06-30 10:16:29.243152834 +0200
+++ /var/tmp/diff_new_pack.566jjp/_new  2019-06-30 10:16:29.243152834 +0200
@@ -18,7 +18,7 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-jupyter_core
-Version:        4.4.0
+Version:        4.5.0
 Release:        0
 Summary:        Base package on which Jupyter projects rely
 License:        BSD-3-Clause
@@ -102,5 +102,6 @@
 %doc CONTRIBUTING.md README.md
 %{_bindir}/jupyter
 %{_bindir}/jupyter-migrate
+%{_bindir}/jupyter-troubleshoot
 
 %changelog


++++++ jupyter_core-4.4.0.tar.gz -> jupyter_core-4.5.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_core-4.4.0/MANIFEST.in 
new/jupyter_core-4.5.0/MANIFEST.in
--- old/jupyter_core-4.4.0/MANIFEST.in  1970-01-01 01:00:00.000000000 +0100
+++ new/jupyter_core-4.5.0/MANIFEST.in  2019-06-19 16:06:58.000000000 +0200
@@ -0,0 +1,22 @@
+include COPYING.md
+include CONTRIBUTING.md
+include README.md
+include dev-requirements.txt
+
+# Documentation
+graft docs
+graft examples
+
+# Test files
+graft jupyter_core/tests/dotipython
+graft jupyter_core/tests/dotipython_empty
+
+# docs subdirs we want to skip
+prune docs/_build
+
+# Patterns to exclude from any directory
+global-exclude *~
+global-exclude *.pyc
+global-exclude *.pyo
+global-exclude .git
+global-exclude .ipynb_checkpoints
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_core-4.4.0/PKG-INFO 
new/jupyter_core-4.5.0/PKG-INFO
--- old/jupyter_core-4.4.0/PKG-INFO     2017-10-31 17:33:12.000000000 +0100
+++ new/jupyter_core-4.5.0/PKG-INFO     2019-06-19 16:09:42.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
 Name: jupyter_core
-Version: 4.4.0
+Version: 4.5.0
 Summary: Jupyter core package. A base package on which Jupyter projects rely.
 Home-page: https://jupyter.org
 Author: Jupyter Development Team
@@ -18,3 +18,4 @@
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.3
 Classifier: Programming Language :: Python :: 3.4
+Requires-Python: >=2.7, !=3.0, !=3.1, !=3.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_core-4.4.0/docs/changelog.rst 
new/jupyter_core-4.5.0/docs/changelog.rst
--- old/jupyter_core-4.4.0/docs/changelog.rst   2017-10-31 17:30:24.000000000 
+0100
+++ new/jupyter_core-4.5.0/docs/changelog.rst   2019-06-19 15:59:48.000000000 
+0200
@@ -1,6 +1,34 @@
 Changes in jupyter-core
 =======================
 
+4.5
+---
+
+4.5.0
+~~~~~
+
+`on
+GitHub <https://github.com/jupyter/jupyter_core/releases/tag/4.5.0>`__
+
+- ``jupyter --version`` now tries to show the version number of various other
+  installed Jupyter packages, not just ``jupyter_core`` (:ghpull:`136`).
+  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 (:ghpull:`139`).
+- ``jupyter subcommand`` no longer modifies the :envvar:`PATH` environment
+  variable when it runs ``jupyter-subcommand`` (:ghpull:`148`).
+- Jupyter's 'runtime' directory no longer uses ``XDG_RUNTIME_DIR``
+  (:ghpull:`143`). While it has some attractive properties, it has led to
+  various problems; see the pull request for details.
+- Fix ``JupyterApp`` to respect the ``raise_config_file_errors`` traitlet
+  (:ghpull:`149`).
+- Various improvements to the bash completion scripts in this repository
+  (:ghpull:`125`, :ghpull:`126`).
+- The ``setup.py`` script now always uses setuptools, like most other Jupyter
+  projects (:ghpull:`147`).
+- The LICENSE file is included in wheels (:ghpull:`133`).
+
 4.4
 ---
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_core-4.4.0/examples/jupyter-completion.bash 
new/jupyter_core-4.5.0/examples/jupyter-completion.bash
--- old/jupyter_core-4.4.0/examples/jupyter-completion.bash     2016-10-04 
17:47:31.000000000 +0200
+++ new/jupyter_core-4.5.0/examples/jupyter-completion.bash     2018-11-07 
18:10:19.000000000 +0100
@@ -4,20 +4,25 @@
     autoload -Uz bashcompinit && bashcompinit
 fi
 
-_jupyter()
+_jupyter_get_flags()
 {
     local url=$1
     local var=$2
     local dash=$3
-    if [[ "$url $var" == $__jupyter ]]; then
-        opts=$__jupyter
+    if [[ "$url $var" == $__jupyter_complete_last ]]; then
+        opts=$__jupyter_complete_last_res
         return
     fi
+
+    if [ -z $1 ]; then
+        opts=$(jupyter --help | sed -n  's/^  -/-/p' |sed -e 's/, /\n/' |sed 
-e 's/\(-[[:alnum:]_-]*\).*/\1/')
+    else
     # matplotlib and profile don't need the = and the
     # version without simplifies the special cased completion
-    opts=$(jupyter ${url} --help-all | grep -E "^-{1,2}[^-]" | sed -e 
"s/<.*//" -e "s/[^=]$/& /" -e "$ s/^/\n-h\n--help\n--help-all\n/")
-    __jupyter="$url $var"
-    __jupyter="$opts"
+        opts=$(jupyter ${url} --help-all | grep -E "^-{1,2}[^-]" | sed -e 
"s/<.*//" -e "s/[^=]$/& /" -e "$ s/^/\n-h\n--help\n--help-all\n/")
+    fi
+    __jupyter_complete_last="$url $var"
+    __jupyter_complete_last_res="$opts"
 }
 
 _jupyter()
@@ -26,11 +31,6 @@
     local prev=${COMP_WORDS[COMP_CWORD - 1]}
     local subcommands="notebook qtconsole console nbconvert kernelspec trust "
     local opts="help"
-    if [ -z "$__jupyter" ]; then
-        _jupyter baseopts
-        __jupyter="${opts}"
-    fi
-    local baseopts="$__jupyter"
     local mode=""
     for i in "${COMP_WORDS[@]}"; do
         [ "$cur" = "$i" ] && break
@@ -47,21 +47,21 @@
     if [[ ${cur} == -* ]]; then
         case $mode in
             "notebook" | "qtconsole" | "console" | "nbconvert")
-                _jupyter $mode
-                opts=$"${opts} ${baseopts}"
+                _jupyter_get_flags $mode
+                opts=$"${opts}"
                 ;;
             "kernelspec")
                 if [[ $COMP_CWORD -ge 3 ]]; then
                     # 'history trim' and 'history clear' covered by next line
-                    _jupyter $mode\ "${COMP_WORDS[2]}"
+                    _jupyter_get_flags $mode\ "${COMP_WORDS[2]}"
                 else
-                    _jupyter $mode
+                    _jupyter_get_flags $mode
 
                 fi
                 opts=$"${opts}"
                 ;;
             *)
-                opts=$baseopts
+                _jupyter_get_flags
         esac
         # don't drop the trailing space
         local IFS=$'\t\n'
@@ -82,6 +82,8 @@
             local sub=$(echo $subcommands | sed -e "s/ / \t/g")
             COMPREPLY=( $(compgen -W "${sub}" -- ${cur}) )
         else
+            local IFS=$'\n'
+            compopt -o filenames
             COMPREPLY=( $(compgen -f -- ${cur}) )
         fi
     fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_core-4.4.0/jupyter_core/application.py 
new/jupyter_core-4.5.0/jupyter_core/application.py
--- old/jupyter_core-4.4.0/jupyter_core/application.py  2017-10-31 
16:57:46.000000000 +0100
+++ new/jupyter_core-4.5.0/jupyter_core/application.py  2019-06-19 
15:44:24.000000000 +0200
@@ -65,7 +65,7 @@
     
     aliases = base_aliases
     flags = base_flags
-    
+
     def _log_level_default(self):
         return logging.INFO
     
@@ -203,10 +203,11 @@
         except ConfigFileNotFound:
             self.log.debug("Config file not found, skipping: %s", 
config_file_name)
         except Exception:
-            # For testing purposes.
-            if not suppress_errors:
+            # Reraise errors for testing purposes, or if set in
+            # self.raise_config_file_errors
+            if (not suppress_errors) or self.raise_config_file_errors:
                 raise
-            self.log.warn("Error loading config file: %s" %
+            self.log.warning("Error loading config file: %s" %
                             config_file_name, exc_info=True)
 
     # subcommand-related
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_core-4.4.0/jupyter_core/command.py 
new/jupyter_core-4.5.0/jupyter_core/command.py
--- old/jupyter_core-4.4.0/jupyter_core/command.py      2017-01-24 
12:07:10.000000000 +0100
+++ new/jupyter_core-4.5.0/jupyter_core/command.py      2019-06-19 
15:44:27.000000000 +0200
@@ -15,19 +15,25 @@
 import sys
 from subprocess import Popen
 
+try:
+     # py3
+     from shutil import which
+except ImportError:
+     from .utils.shutil_which import which
+
 from . import paths
 from .version import __version__
 
 class JupyterParser(argparse.ArgumentParser):
-    
+
     @property
     def epilog(self):
         """Add subcommands to epilog on request
-        
+
         Avoids searching PATH for subcommands unless help output is requested.
         """
         return 'Available subcommands: %s' % ' '.join(list_subcommands())
-    
+
     @epilog.setter
     def epilog(self, x):
         """Ignore epilog set in Parser.__init__"""
@@ -42,7 +48,7 @@
     group.add_argument('--version', action='store_true',
         help="show the jupyter command's version and exit")
     group.add_argument('subcommand', type=str, nargs='?', help='the subcommand 
to launch')
-    
+
     group.add_argument('--config-dir', action='store_true',
         help="show Jupyter config dir")
     group.add_argument('--data-dir', action='store_true',
@@ -53,15 +59,15 @@
         help="show all Jupyter paths. Add --json for machine-readable format.")
     parser.add_argument('--json', action='store_true',
         help="output paths as machine-readable json")
-    
+
     return parser
 
 
 def list_subcommands():
     """List all jupyter subcommands
-    
+
     searches PATH for `jupyter-name`
-    
+
     Returns a list of jupyter's subcommand names, without the `jupyter-` 
prefix.
     Nested children (e.g. jupyter-sub-subsub) are not included.
     """
@@ -89,7 +95,7 @@
 
 def _execvp(cmd, argv):
     """execvp, except on Windows where it uses Popen
-    
+
     Python provides execvp on Windows, but its behavior is problematic (Python 
bug#9148).
     """
     if sys.platform.startswith('win'):
@@ -113,9 +119,31 @@
         os.execvp(cmd, argv)
 
 
+def _jupyter_abspath(subcommand):
+    """This method get the abspath of a specified jupyter-subcommand with no 
+    changes on ENV.
+    """
+    # get env PATH with self
+    search_path = os.pathsep.join(_path_with_self())
+    # get the abs path for the jupyter-<subcommand>
+    jupyter_subcommand = 'jupyter-{}'.format(subcommand)
+    abs_path = which(jupyter_subcommand, path=search_path)
+    if abs_path is None:
+        raise Exception(
+            'Jupyter command `{}` not found.'.format(jupyter_subcommand)
+        )
+
+    if not os.access(abs_path, os.X_OK):
+        raise Exception(
+            'Jupyter command `{}` is not 
executable.'.format(jupyter_subcommand)
+        )
+
+    return abs_path
+
+
 def _path_with_self():
     """Put `jupyter`'s dir at the front of PATH
-    
+
     Ensures that /path/to/jupyter subcommand
     will do /path/to/jupyter-subcommand
     even if /other/jupyter-subcommand is ahead of it on PATH
@@ -128,18 +156,17 @@
     path_list = (os.environ.get('PATH') or os.defpath).split(os.pathsep)
     for script in scripts:
         bindir = os.path.dirname(script)
-        if (os.path.isdir(bindir)
-            and os.access(script, os.X_OK) # only if it's a script
+        if (
+            os.path.isdir(bindir)
+            and os.access(script, os.X_OK)  # only if it's a script
         ):
             # ensure executable's dir is on PATH
             # avoids missing subcommands when jupyter is run via absolute path
             path_list.insert(0, bindir)
-    os.environ['PATH'] = os.pathsep.join(path_list)
     return path_list
 
 
 def main():
-    _path_with_self() # ensure executable is on PATH
     if len(sys.argv) > 1 and not sys.argv[1].startswith('-'):
         # Don't parse if a subcommand is given
         # Avoids argparse gobbling up args passed to subcommand, such as `-h`.
@@ -149,7 +176,26 @@
         args, opts = parser.parse_known_args()
         subcommand = args.subcommand
         if args.version:
-            print(__version__)
+            print('{:<17}:'.format('jupyter core'), __version__)
+            for package, name in [
+                ('notebook', 'jupyter-notebook'),
+                ('qtconsole', 'qtconsole'),
+                ('IPython', 'ipython'),
+                ('ipykernel', 'ipykernel'),
+                ('jupyter_client', 'jupyter client'),
+                ('jupyterlab', 'jupyter lab'),
+                ('nbconvert', 'nbconvert'),
+                ('ipywidgets', 'ipywidgets'),
+                ('nbformat', 'nbformat'),
+                ('traitlets', 'traitlets'),
+            ]:
+                version = None
+                try:
+                    mod = __import__(package)
+                    version = mod.__version__
+                except ImportError:
+                    version = 'not installed'
+                print('{:<17}:'.format(name), version)
             return
         if args.json and not args.paths:
             sys.exit("--json is only used with --paths")
@@ -176,12 +222,13 @@
                     for p in path:
                         print('    ' + p)
             return
-    
+
     if not subcommand:
         parser.print_usage(file=sys.stderr)
         sys.exit("subcommand is required")
-    
-    command = 'jupyter-' + subcommand
+
+    command = _jupyter_abspath(subcommand)
+
     try:
         _execvp(command, sys.argv[1:])
     except OSError as e:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_core-4.4.0/jupyter_core/paths.py 
new/jupyter_core-4.5.0/jupyter_core/paths.py
--- old/jupyter_core-4.4.0/jupyter_core/paths.py        2017-10-11 
16:52:06.000000000 +0200
+++ new/jupyter_core-4.5.0/jupyter_core/paths.py        2019-06-19 
15:44:27.000000000 +0200
@@ -90,24 +90,15 @@
     
     Returns JUPYTER_RUNTIME_DIR if defined.
     
-    Respects XDG_RUNTIME_DIR on non-OS X, non-Windows,
-    falls back on data_dir/runtime otherwise.
+    The default is now (data_dir)/runtime on all platforms;
+    we no longer use XDG_RUNTIME_DIR after various problems.
     """
     env = os.environ
     
     if env.get('JUPYTER_RUNTIME_DIR'):
         return env['JUPYTER_RUNTIME_DIR']
-    
-    if sys.platform == 'darwin':
-        return pjoin(jupyter_data_dir(), 'runtime')
-    elif os.name == 'nt':
-        return pjoin(jupyter_data_dir(), 'runtime')
-    else:
-        # Linux, non-OS X Unix, AIX, etc.
-        xdg = env.get("XDG_RUNTIME_DIR", None)
-        if xdg:
-            return pjoin(xdg, 'jupyter')
-        return pjoin(jupyter_data_dir(), 'runtime')
+
+    return pjoin(jupyter_data_dir(), 'runtime')
 
 
 if os.name == 'nt':
@@ -130,7 +121,7 @@
     
     JUPYTER_PATH environment variable has highest priority.
     
-    If *subdirs are given, that subdirectory will be added to each element.
+    If ``*subdirs`` are given, that subdirectory will be added to each element.
     
     Examples:
     
@@ -183,6 +174,14 @@
     if os.environ.get('JUPYTER_NO_CONFIG'):
         return paths
 
+    # highest priority is env
+    if os.environ.get('JUPYTER_CONFIG_PATH'):
+        paths.extend(
+            p.rstrip(os.sep)
+            for p in os.environ['JUPYTER_CONFIG_PATH'].split(os.pathsep)
+        )
+
+    # then sys.prefix
     for p in ENV_CONFIG_PATH:
         if p not in SYSTEM_CONFIG_PATH:
             paths.append(p)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jupyter_core-4.4.0/jupyter_core/tests/test_application.py 
new/jupyter_core-4.5.0/jupyter_core/tests/test_application.py
--- old/jupyter_core-4.4.0/jupyter_core/tests/test_application.py       
2016-07-04 17:09:58.000000000 +0200
+++ new/jupyter_core-4.5.0/jupyter_core/tests/test_application.py       
2019-06-19 15:44:24.000000000 +0200
@@ -94,3 +94,17 @@
     shutil.rmtree(config_dir)
     shutil.rmtree(wd)
 
+def test_load_bad_config():
+    config_dir = mkdtemp()
+    wd = mkdtemp()
+    with open(pjoin(config_dir, 'dummy_app_config.py'), 'w') as f:
+        f.write('c.DummyApp.m = "a\n') # Syntax error
+    with patch.object(py3compat, 'getcwd', lambda : wd):
+        with pytest.raises(SyntaxError):
+            app = DummyApp(config_dir=config_dir)
+            app.raise_config_file_errors=True
+            app.initialize([])
+
+    shutil.rmtree(config_dir)
+    shutil.rmtree(wd)
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_core-4.4.0/jupyter_core/tests/test_paths.py 
new/jupyter_core-4.5.0/jupyter_core/tests/test_paths.py
--- old/jupyter_core-4.4.0/jupyter_core/tests/test_paths.py     2016-07-04 
17:09:58.000000000 +0200
+++ new/jupyter_core-4.5.0/jupyter_core/tests/test_paths.py     2019-06-19 
15:44:24.000000000 +0200
@@ -156,7 +156,7 @@
     
     with linux, xdg:
         runtime = jupyter_runtime_dir()
-    assert runtime == pjoin(xdg_env['XDG_RUNTIME_DIR'], 'jupyter')
+    assert runtime == pjoin(xdg_env['XDG_DATA_HOME'], 'jupyter', 'runtime')
 
 
 def test_jupyter_path():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_core-4.4.0/jupyter_core/version.py 
new/jupyter_core-4.5.0/jupyter_core/version.py
--- old/jupyter_core-4.4.0/jupyter_core/version.py      2017-10-31 
17:31:16.000000000 +0100
+++ new/jupyter_core-4.5.0/jupyter_core/version.py      2019-06-19 
16:00:13.000000000 +0200
@@ -1,6 +1,6 @@
 # Copyright (c) Jupyter Development Team.
 # Distributed under the terms of the Modified BSD License.
 
-version_info = (4, 4, 0)
+version_info = (4, 5, 0)
 
 __version__ = '.'.join(map(str, version_info))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_core-4.4.0/jupyter_core.egg-info/PKG-INFO 
new/jupyter_core-4.5.0/jupyter_core.egg-info/PKG-INFO
--- old/jupyter_core-4.4.0/jupyter_core.egg-info/PKG-INFO       1970-01-01 
01:00:00.000000000 +0100
+++ new/jupyter_core-4.5.0/jupyter_core.egg-info/PKG-INFO       2019-06-19 
16:09:42.000000000 +0200
@@ -0,0 +1,21 @@
+Metadata-Version: 1.2
+Name: jupyter-core
+Version: 4.5.0
+Summary: Jupyter core package. A base package on which Jupyter projects rely.
+Home-page: https://jupyter.org
+Author: Jupyter Development Team
+Author-email: [email protected]
+License: BSD
+Description: There is no reason to install this package on its own.
+Platform: UNKNOWN
+Classifier: Intended Audience :: Developers
+Classifier: Intended Audience :: System Administrators
+Classifier: Intended Audience :: Science/Research
+Classifier: License :: OSI Approved :: BSD License
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
+Requires-Python: >=2.7, !=3.0, !=3.1, !=3.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_core-4.4.0/jupyter_core.egg-info/SOURCES.txt 
new/jupyter_core-4.5.0/jupyter_core.egg-info/SOURCES.txt
--- old/jupyter_core-4.4.0/jupyter_core.egg-info/SOURCES.txt    1970-01-01 
01:00:00.000000000 +0100
+++ new/jupyter_core-4.5.0/jupyter_core.egg-info/SOURCES.txt    2019-06-19 
16:09:42.000000000 +0200
@@ -0,0 +1,54 @@
+CONTRIBUTING.md
+COPYING.md
+MANIFEST.in
+README.md
+dev-requirements.txt
+jupyter.py
+setup.cfg
+setup.py
+docs/Makefile
+docs/changelog.rst
+docs/conf.py
+docs/index.rst
+docs/make.bat
+docs/paths.rst
+docs/requirements.txt
+examples/completions-zsh
+examples/jupyter-completion.bash
+jupyter_core/__init__.py
+jupyter_core/__main__.py
+jupyter_core/application.py
+jupyter_core/command.py
+jupyter_core/migrate.py
+jupyter_core/paths.py
+jupyter_core/troubleshoot.py
+jupyter_core/version.py
+jupyter_core.egg-info/PKG-INFO
+jupyter_core.egg-info/SOURCES.txt
+jupyter_core.egg-info/dependency_links.txt
+jupyter_core.egg-info/entry_points.txt
+jupyter_core.egg-info/requires.txt
+jupyter_core.egg-info/top_level.txt
+jupyter_core/tests/__init__.py
+jupyter_core/tests/mocking.py
+jupyter_core/tests/test_application.py
+jupyter_core/tests/test_command.py
+jupyter_core/tests/test_migrate.py
+jupyter_core/tests/test_paths.py
+jupyter_core/tests/dotipython/nbextensions/myext.js
+jupyter_core/tests/dotipython/profile_default/ipython_config.py
+jupyter_core/tests/dotipython/profile_default/ipython_console_config.py
+jupyter_core/tests/dotipython/profile_default/ipython_kernel_config.py
+jupyter_core/tests/dotipython/profile_default/ipython_nbconvert_config.py
+jupyter_core/tests/dotipython/profile_default/ipython_notebook_config.py
+jupyter_core/tests/dotipython/profile_default/static/custom/custom.css
+jupyter_core/tests/dotipython/profile_default/static/custom/custom.js
+jupyter_core/tests/dotipython_empty/profile_default/ipython_config.py
+jupyter_core/tests/dotipython_empty/profile_default/ipython_console_config.py
+jupyter_core/tests/dotipython_empty/profile_default/ipython_kernel_config.py
+jupyter_core/tests/dotipython_empty/profile_default/ipython_nbconvert_config.py
+jupyter_core/tests/dotipython_empty/profile_default/ipython_notebook_config.py
+jupyter_core/tests/dotipython_empty/profile_default/static/custom/custom.css
+jupyter_core/tests/dotipython_empty/profile_default/static/custom/custom.js
+jupyter_core/utils/__init__.py
+jupyter_core/utils/shutil_which.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jupyter_core-4.4.0/jupyter_core.egg-info/dependency_links.txt 
new/jupyter_core-4.5.0/jupyter_core.egg-info/dependency_links.txt
--- old/jupyter_core-4.4.0/jupyter_core.egg-info/dependency_links.txt   
1970-01-01 01:00:00.000000000 +0100
+++ new/jupyter_core-4.5.0/jupyter_core.egg-info/dependency_links.txt   
2019-06-19 16:09:42.000000000 +0200
@@ -0,0 +1 @@
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jupyter_core-4.4.0/jupyter_core.egg-info/entry_points.txt 
new/jupyter_core-4.5.0/jupyter_core.egg-info/entry_points.txt
--- old/jupyter_core-4.4.0/jupyter_core.egg-info/entry_points.txt       
1970-01-01 01:00:00.000000000 +0100
+++ new/jupyter_core-4.5.0/jupyter_core.egg-info/entry_points.txt       
2019-06-19 16:09:42.000000000 +0200
@@ -0,0 +1,5 @@
+[console_scripts]
+jupyter = jupyter_core.command:main
+jupyter-migrate = jupyter_core.migrate:main
+jupyter-troubleshoot = jupyter_core.troubleshoot:main
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jupyter_core-4.4.0/jupyter_core.egg-info/requires.txt 
new/jupyter_core-4.5.0/jupyter_core.egg-info/requires.txt
--- old/jupyter_core-4.4.0/jupyter_core.egg-info/requires.txt   1970-01-01 
01:00:00.000000000 +0100
+++ new/jupyter_core-4.5.0/jupyter_core.egg-info/requires.txt   2019-06-19 
16:09:42.000000000 +0200
@@ -0,0 +1 @@
+traitlets
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jupyter_core-4.4.0/jupyter_core.egg-info/top_level.txt 
new/jupyter_core-4.5.0/jupyter_core.egg-info/top_level.txt
--- old/jupyter_core-4.4.0/jupyter_core.egg-info/top_level.txt  1970-01-01 
01:00:00.000000000 +0100
+++ new/jupyter_core-4.5.0/jupyter_core.egg-info/top_level.txt  2019-06-19 
16:09:42.000000000 +0200
@@ -0,0 +1,2 @@
+jupyter
+jupyter_core
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_core-4.4.0/scripts/jupyter 
new/jupyter_core-4.5.0/scripts/jupyter
--- old/jupyter_core-4.4.0/scripts/jupyter      2015-12-01 18:12:29.000000000 
+0100
+++ new/jupyter_core-4.5.0/scripts/jupyter      1970-01-01 01:00:00.000000000 
+0100
@@ -1,7 +0,0 @@
-#!/usr/bin/env python
-"""Launch the root jupyter command"""
-
-from jupyter_core.command import main
-
-if __name__ == '__main__':
-    main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_core-4.4.0/scripts/jupyter-migrate 
new/jupyter_core-4.5.0/scripts/jupyter-migrate
--- old/jupyter_core-4.4.0/scripts/jupyter-migrate      2015-12-01 
18:12:29.000000000 +0100
+++ new/jupyter_core-4.5.0/scripts/jupyter-migrate      1970-01-01 
01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-#!/usr/bin/env python
-"""Migrate Jupyter config from IPython < 4.0"""
-
-from jupyter_core.migrate import main
-
-if __name__ == '__main__':
-    main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_core-4.4.0/setup.cfg 
new/jupyter_core-4.5.0/setup.cfg
--- old/jupyter_core-4.4.0/setup.cfg    2015-12-01 18:12:29.000000000 +0100
+++ new/jupyter_core-4.5.0/setup.cfg    2019-06-19 16:09:42.000000000 +0200
@@ -1,2 +1,43 @@
+[metadata]
+name = jupyter_core
+version = attr: jupyter_core.version.__version__
+description = Jupyter core package. A base package on which Jupyter projects 
rely.
+long_description = There is no reason to install this package on its own.
+author = Jupyter Development Team
+author_email = [email protected]
+url = https://jupyter.org
+license = BSD
+license_file = COPYING.md
+classifiers = 
+       Intended Audience :: Developers
+       Intended Audience :: System Administrators
+       Intended Audience :: Science/Research
+       License :: OSI Approved :: BSD License
+       Programming Language :: Python
+       Programming Language :: Python :: 2
+       Programming Language :: Python :: 2.7
+       Programming Language :: Python :: 3
+       Programming Language :: Python :: 3.3
+       Programming Language :: Python :: 3.4
+
+[options]
+py_modules = jupyter
+packages = jupyter_core, jupyter_core.utils, jupyter_core.tests
+include_package_data = True
+python_requires = >=2.7, !=3.0, !=3.1, !=3.2
+install_requires = 
+       traitlets
+
+[options.entry_points]
+console_scripts = 
+       jupyter              = jupyter_core.command:main
+       jupyter-migrate      = jupyter_core.migrate:main
+       jupyter-troubleshoot = jupyter_core.troubleshoot:main
+
 [bdist_wheel]
-universal=1
+universal = 1
+
+[egg_info]
+tag_build = 
+tag_date = 0
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_core-4.4.0/setup.py 
new/jupyter_core-4.5.0/setup.py
--- old/jupyter_core-4.4.0/setup.py     2017-10-11 16:52:06.000000000 +0200
+++ new/jupyter_core-4.5.0/setup.py     2019-06-13 12:31:21.000000000 +0200
@@ -3,99 +3,24 @@
 
 # Copyright (c) Juptyer Development Team.
 # Distributed under the terms of the Modified BSD License.
-
-#-----------------------------------------------------------------------------
-# Minimal Python version sanity check (from IPython)
-#-----------------------------------------------------------------------------
-from __future__ import print_function
-
-import os
 import sys
-from glob import glob
+from setuptools import setup
+from setuptools.command.bdist_egg import bdist_egg
 
-v = sys.version_info
-if v[:2] < (2,7) or (v[:2] > (3,) and v[:2] < (3,3)):
-    error = "ERROR: Jupyter requires Python version 2.7 or 3.3 or above."
-    print(error, file=sys.stderr)
-    sys.exit(1)
-
-# At least we're on the python version we need, move on.
-
-from distutils.core import setup
-
-pjoin = os.path.join
-here = os.path.abspath(os.path.dirname(__file__))
-
-# Get the current package version.
-version_ns = {}
-with open(pjoin(here, 'jupyter_core', 'version.py')) as f:
-    exec(f.read(), {}, version_ns)
-
-def find_package_data():
-    """Find package data (testing support files)"""
-    package_data = {}
-    package_data['jupyter_core.tests'] = test_files = []
-    test_dir = pjoin('jupyter_core', 'tests')
-    prefix_len = len(test_dir) + len(os.sep)
-    for parent, dirs, files in os.walk(test_dir):
-        if files:
-            test_files.append(pjoin(parent[prefix_len:], '*.*'))
-    
-    return package_data
-
-package_data = find_package_data()
-
-setup_args = dict(
-    name                = 'jupyter_core',
-    version             = version_ns['__version__'],
-    packages            = ['jupyter_core',
-                           'jupyter_core.utils',
-                           'jupyter_core.tests'],
-    py_modules          = ['jupyter'],
-    package_data        = package_data,
-    scripts             = glob(pjoin('scripts', '*')),
-    description         = "Jupyter core package. A base package on which 
Jupyter projects rely.",
-    long_description    = """There is no reason to install this package on its 
own.""",
-    author              = "Jupyter Development Team",
-    author_email        = "[email protected]",
-    url                 = "https://jupyter.org";,
-    license             = "BSD",
-    classifiers         = [
-        'Intended Audience :: Developers',
-        'Intended Audience :: System Administrators',
-        'Intended Audience :: Science/Research',
-        'License :: OSI Approved :: BSD License',
-        'Programming Language :: Python',
-        'Programming Language :: Python :: 2',
-        'Programming Language :: Python :: 2.7',
-        'Programming Language :: Python :: 3',
-        'Programming Language :: Python :: 3.3',
-        'Programming Language :: Python :: 3.4',
-    ],
-)
 
-if any(arg.startswith('bdist') for arg in sys.argv):
-    import setuptools
+class bdist_egg_disabled(bdist_egg):
+    """Disabled version of bdist_egg
 
-setuptools_args = {}
+    Prevents setup.py install from performing setuptools' default easy_install,
+    which it should never ever do.
+    """
+    def run(self):
+        sys.exit("Aborting implicit building of eggs. Use `pip install .` to 
install from source.")
 
-setuptools_args['install_requires'] = [
-    'traitlets',
-]
-
-setuptools_args['entry_points'] = {
-    'console_scripts': [
-        'jupyter = jupyter_core.command:main',
-        'jupyter-migrate = jupyter_core.migrate:main',
-        'jupyter-troubleshoot = jupyter_core.troubleshoot:main',
-    ]
-}
-
-# setuptools requirements
-if 'setuptools' in sys.modules:
-    setup_args.update(setuptools_args)
-    setup_args.pop('scripts', None)
 
-
-if __name__ == '__main__':
-    setup(**setup_args)
+# Loads metadata and options from setup.cfg:
+setup(
+    cmdclass={
+        'bdist_egg': bdist_egg if 'bdist_egg' in sys.argv else 
bdist_egg_disabled,
+    },
+)


Reply via email to