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,
+ },
+)