Make taggers manifest functions (#2252)

* Make taggers and manifests functions

* Add changelog
This commit is contained in:
Ayaz Salikhov
2025-03-12 16:05:09 +00:00
committed by GitHub
parent 48b065050c
commit 2c1df4020a
17 changed files with 183 additions and 253 deletions

View File

@@ -2,31 +2,17 @@
# Distributed under the terms of the Modified BSD License.
from dataclasses import dataclass, field
from tagging.manifests.apt_packages import AptPackagesManifest
from tagging.manifests.conda_environment import CondaEnvironmentManifest
from tagging.manifests.julia_packages import JuliaPackagesManifest
from tagging.manifests.apt_packages import apt_packages_manifest
from tagging.manifests.conda_environment import conda_environment_manifest
from tagging.manifests.julia_packages import julia_packages_manifest
from tagging.manifests.manifest_interface import ManifestInterface
from tagging.manifests.r_packages import RPackagesManifest
from tagging.manifests.spark_info import SparkInfoManifest
from tagging.taggers.date import DateTagger
from tagging.taggers.sha import SHATagger
from tagging.manifests.r_packages import r_packages_manifest
from tagging.manifests.spark_info import spark_info_manifest
from tagging.taggers import versions
from tagging.taggers.date import date_tagger
from tagging.taggers.sha import commit_sha_tagger
from tagging.taggers.tagger_interface import TaggerInterface
from tagging.taggers.ubuntu_version import UbuntuVersionTagger
from tagging.taggers.versions import (
CondaVersionTagger,
JavaVersionTagger,
JuliaVersionTagger,
JupyterHubVersionTagger,
JupyterLabVersionTagger,
JupyterNotebookVersionTagger,
MambaVersionTagger,
PythonMajorMinorVersionTagger,
PythonVersionTagger,
PytorchVersionTagger,
RVersionTagger,
SparkVersionTagger,
TensorflowVersionTagger,
)
from tagging.taggers.ubuntu_version import ubuntu_version_tagger
@dataclass
@@ -40,55 +26,55 @@ ALL_IMAGES = {
"docker-stacks-foundation": ImageDescription(
parent_image=None,
taggers=[
SHATagger(),
DateTagger(),
UbuntuVersionTagger(),
PythonMajorMinorVersionTagger(),
PythonVersionTagger(),
MambaVersionTagger(),
CondaVersionTagger(),
commit_sha_tagger,
date_tagger,
ubuntu_version_tagger,
versions.python_major_minor_tagger,
versions.python_tagger,
versions.mamba_tagger,
versions.conda_tagger,
],
manifests=[CondaEnvironmentManifest(), AptPackagesManifest()],
manifests=[conda_environment_manifest, apt_packages_manifest],
),
"base-notebook": ImageDescription(
parent_image="docker-stacks-foundation",
taggers=[
JupyterNotebookVersionTagger(),
JupyterLabVersionTagger(),
JupyterHubVersionTagger(),
versions.jupyter_notebook_tagger,
versions.jupyter_lab_tagger,
versions.jupyter_hub_tagger,
],
),
"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()],
taggers=[versions.r_tagger],
manifests=[r_packages_manifest],
),
"julia-notebook": ImageDescription(
parent_image="minimal-notebook",
taggers=[JuliaVersionTagger()],
manifests=[JuliaPackagesManifest()],
taggers=[versions.julia_tagger],
manifests=[julia_packages_manifest],
),
"tensorflow-notebook": ImageDescription(
parent_image="scipy-notebook", taggers=[TensorflowVersionTagger()]
parent_image="scipy-notebook", taggers=[versions.tensorflow_tagger]
),
"pytorch-notebook": ImageDescription(
parent_image="scipy-notebook", taggers=[PytorchVersionTagger()]
parent_image="scipy-notebook", taggers=[versions.python_tagger]
),
"datascience-notebook": ImageDescription(
parent_image="scipy-notebook",
taggers=[RVersionTagger(), JuliaVersionTagger()],
manifests=[RPackagesManifest(), JuliaPackagesManifest()],
taggers=[versions.r_tagger, versions.julia_tagger],
manifests=[r_packages_manifest, julia_packages_manifest],
),
"pyspark-notebook": ImageDescription(
parent_image="scipy-notebook",
taggers=[SparkVersionTagger(), JavaVersionTagger()],
manifests=[SparkInfoManifest()],
taggers=[versions.spark_tagger, versions.java_tagger],
manifests=[spark_info_manifest],
),
"all-spark-notebook": ImageDescription(
parent_image="pyspark-notebook",
taggers=[RVersionTagger()],
manifests=[RPackagesManifest()],
taggers=[versions.r_tagger],
manifests=[r_packages_manifest],
),
}