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

* Add jupyter/julia-notebook There is a growing number of Julia users in the Jupyter ecosystem who do not use R, and hence would <3 to have a dedicated docker image that doesn't bring in all the R stuff that datascience-notebook brings in! The built image size is much smaller, and eventually paves the way to better ecosystem support for Julia. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Add a test for julia-notebook * Tell tests what julia-notebook inherits from * Sort lists with julia-notebook * Fix README for julia-notebook * Add julia-notebook to the makefile * Move julia-notebook below r-notebook * Use hard tabs in Makefile * Do some more sorting * Rename test_julia to avoid mypy issue * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Re-order julia/r-notebook Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com> * Move julia-notebook stanza under r-notebook * Update inheritance diagram --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com>
91 lines
2.7 KiB
Python
91 lines
2.7 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()],
|
|
),
|
|
"julia-notebook": ImageDescription(
|
|
parent_image="minimal-notebook",
|
|
taggers=[JuliaVersionTagger()],
|
|
manifests=[JuliaPackagesManifest()],
|
|
),
|
|
"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()],
|
|
),
|
|
}
|