mirror of
https://github.com/jupyter/docker-stacks.git
synced 2025-10-09 02:54:05 +00:00

* Create base-jupyter from base-notebook for non-server jupyter applications * Fix pre-commit errors and begin test refactoring * More test refactoring * Add base-jupyter to images_hierarchy * Use folder work instead of .jupyter in nb-user test * Add base-jupyter to tagging hierarchy * Linting: trailing comma * Apply review comments, remove obsolute Miniforge reference * Add self-signed cert comment back to base-notebook doc * Update docs/using/selecting.md Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com> * Remove redundant apt-get upgrade per review * Remove b/c approaches per review * Move test_nb_user_change back to base-notebook tests, per review * fix linting * Rename base-jupyter to docker-stacks-foundation, per review * Rename tests/base-jupyter to docker-stacks-foundation * Use alphabetical order * Use alphabetical order * Fix markdown style * Split test_nb_user_change between the foundation and base tests Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com>
86 lines
2.5 KiB
Python
86 lines
2.5 KiB
Python
# Copyright (c) Jupyter Development Team.
|
|
# Distributed under the terms of the Modified BSD License.
|
|
from dataclasses import dataclass, field
|
|
from typing import Optional
|
|
|
|
from tagging.manifests import (
|
|
AptPackagesManifest,
|
|
CondaEnvironmentManifest,
|
|
JuliaPackagesManifest,
|
|
ManifestInterface,
|
|
RPackagesManifest,
|
|
SparkInfoManifest,
|
|
)
|
|
from tagging.taggers import (
|
|
DateTagger,
|
|
HadoopVersionTagger,
|
|
JavaVersionTagger,
|
|
JuliaVersionTagger,
|
|
JupyterHubVersionTagger,
|
|
JupyterLabVersionTagger,
|
|
JupyterNotebookVersionTagger,
|
|
PythonMajorMinorVersionTagger,
|
|
PythonVersionTagger,
|
|
RVersionTagger,
|
|
SHATagger,
|
|
SparkVersionTagger,
|
|
TaggerInterface,
|
|
TensorflowVersionTagger,
|
|
UbuntuVersionTagger,
|
|
)
|
|
|
|
|
|
@dataclass
|
|
class ImageDescription:
|
|
parent_image: Optional[str]
|
|
taggers: list[TaggerInterface] = field(default_factory=list)
|
|
manifests: list[ManifestInterface] = field(default_factory=list)
|
|
|
|
|
|
ALL_IMAGES = {
|
|
"docker-stacks-foundation": ImageDescription(
|
|
parent_image=None,
|
|
taggers=[
|
|
SHATagger(),
|
|
DateTagger(),
|
|
UbuntuVersionTagger(),
|
|
PythonMajorMinorVersionTagger(),
|
|
PythonVersionTagger(),
|
|
],
|
|
manifests=[CondaEnvironmentManifest(), AptPackagesManifest()],
|
|
),
|
|
"base-notebook": ImageDescription(
|
|
parent_image="docker-stacks-foundation",
|
|
taggers=[
|
|
JupyterNotebookVersionTagger(),
|
|
JupyterLabVersionTagger(),
|
|
JupyterHubVersionTagger(),
|
|
],
|
|
),
|
|
"minimal-notebook": ImageDescription(parent_image="base-notebook"),
|
|
"scipy-notebook": ImageDescription(parent_image="minimal-notebook"),
|
|
"r-notebook": ImageDescription(
|
|
parent_image="minimal-notebook",
|
|
taggers=[RVersionTagger()],
|
|
manifests=[RPackagesManifest()],
|
|
),
|
|
"tensorflow-notebook": ImageDescription(
|
|
parent_image="scipy-notebook", taggers=[TensorflowVersionTagger()]
|
|
),
|
|
"datascience-notebook": ImageDescription(
|
|
parent_image="scipy-notebook",
|
|
taggers=[RVersionTagger(), JuliaVersionTagger()],
|
|
manifests=[RPackagesManifest(), JuliaPackagesManifest()],
|
|
),
|
|
"pyspark-notebook": ImageDescription(
|
|
parent_image="scipy-notebook",
|
|
taggers=[SparkVersionTagger(), HadoopVersionTagger(), JavaVersionTagger()],
|
|
manifests=[SparkInfoManifest()],
|
|
),
|
|
"all-spark-notebook": ImageDescription(
|
|
parent_image="pyspark-notebook",
|
|
taggers=[RVersionTagger()],
|
|
manifests=[RPackagesManifest()],
|
|
),
|
|
}
|