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