From 4accfd0465e63e9c8076f5562d3696597d615b86 Mon Sep 17 00:00:00 2001 From: yuvipanda Date: Mon, 29 Oct 2018 11:17:47 -0700 Subject: [PATCH 1/2] Upgrade package versions Upgrades following packages: - JupyterHub - JupyterLab - Notebook - nteract --- integration-tests/test_extensions.py | 4 ++-- tljh/installer.py | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/integration-tests/test_extensions.py b/integration-tests/test_extensions.py index f0adb08..e8a61fa 100644 --- a/integration-tests/test_extensions.py +++ b/integration-tests/test_extensions.py @@ -13,9 +13,9 @@ def test_serverextensions(): ], stderr=subprocess.PIPE) extensions = [ - 'jupyterlab 0.34.1', + 'jupyterlab 0.35.3', 'nbgitpuller 0.6.1', - 'nteract_on_jupyter 1.8.1', + 'nteract_on_jupyter 1.9.12', 'nbresuse ' ] diff --git a/tljh/installer.py b/tljh/installer.py index e1a66d9..6f6ce4b 100644 --- a/tljh/installer.py +++ b/tljh/installer.py @@ -185,7 +185,7 @@ def ensure_jupyterhub_package(prefix): and conda packages! """ conda.ensure_pip_packages(prefix, [ - 'jupyterhub==0.9.2', + 'jupyterhub==0.9.4', 'jupyterhub-dummyauthenticator==0.3.1', 'jupyterhub-systemdspawner==0.11', 'jupyterhub-firstuseauthenticator==0.11', @@ -237,11 +237,11 @@ def ensure_user_environment(user_requirements_txt_file): conda.ensure_pip_packages(USER_ENV_PREFIX, [ # JupyterHub + notebook package are base requirements for user environment - 'jupyterhub==0.9.2', - 'notebook==5.6.0', + 'jupyterhub==0.9.4', + 'notebook==5.7.0', # Install additional notebook frontends! - 'jupyterlab==0.34.1', - 'nteract-on-jupyter==1.8.1', + 'jupyterlab==0.35.3', + 'nteract-on-jupyter==1.9.12', # nbgitpuller for easily pulling in Git repositories 'nbgitpuller==0.6.1', # nbresuse to show people how much RAM they are using From 0cef2fb21f0db2c4d16b9d1b63e99d3e5c62e72c Mon Sep 17 00:00:00 2001 From: yuvipanda Date: Mon, 29 Oct 2018 11:56:52 -0700 Subject: [PATCH 2/2] Add docs on packages in TLJH --- docs/contributing/packages.rst | 48 ++++++++++++++++++++++++++++++++++ docs/index.rst | 3 ++- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 docs/contributing/packages.rst diff --git a/docs/contributing/packages.rst b/docs/contributing/packages.rst new file mode 100644 index 0000000..484b0d1 --- /dev/null +++ b/docs/contributing/packages.rst @@ -0,0 +1,48 @@ +.. _contributing/packages: + +======================= +Environments & Packages +======================= + +TLJH installs packages from different sources during installation. +This document describes the various sources and how to upgrade +versions of packages installed. + +Python Environments +=================== + +TLJH sets up two python environments during installation. + +1. **Hub Environment**. JupyterHub, authenticators, spawners, TLJH plugins + and the TLJH configuration management code is installed into this + environment. A `venv `_ is used, + primarily since conda does not support ARM CPUs and we'd like to support the + RaspberryPI someday. Admins generally do not install custom packages + in this environment. + +2. **User Environment**. Jupyter Notebook, JupyterLab, nteract, kernels, + and packages the users wanna use (such as numpy, scipy, etc) are installed + here. A `conda `_ environment is used here, since + a lot of scientific packages are available from Conda. ``pip`` is still + used to install Jupyter specific packages, primarily because most notebook + extensions are still available only on `PyPI `_. + Admins can install packages here for use by all users. + +Python package versions +======================= + +In ``installer.py``, most Python packages have a version specified. This +can be upgraded freely whenever needed. Some of them have version checks +in ``integration-tests/test_extensions.py``, so those might need +updating too. + +Apt packages +============ + +Base operating system packages, including Python itself, are installed +via ``apt`` from the base Ubuntu repositories. The one exception to this +is nodejs, which is installed from the `nodesource `_ +apt repository. The Ubuntu provided version of nodejs is usually too old. + +We generally do not pin versions of packages provided by apt, instead +just using the latest versions provided by Ubuntu. \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index 14fc108..ea10e01 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -143,4 +143,5 @@ to people contributing in various ways. contributing/code-review contributing/dev-setup contributing/tests - contributing/plugins \ No newline at end of file + contributing/plugins + contributing/packages \ No newline at end of file