Source code for gigl.env.dep_constants

import glob
import os
from pathlib import Path

import gigl.src.common.constants.local_fs as local_fs_constants
from gigl.common import LocalUri
from gigl.src.common.constants.components import GiGLComponents

# TODO: (Open Source) Make these publicly accesible
# We will first need to release new images to PUBLIC GCR - these are temp holds
# Note, nothing breaks as long as images are provided by user; in the default case where user does
# not provide images we will fail here.
[docs] GIGL_SRC_IMAGE_CUDA = "TODO - make this public"
[docs] GIGL_SRC_IMAGE_CPU = "TODO - make this public"
[docs] GIGL_DATAFLOW_IMAGE = "TODO - make this public"
_SPARK_35_DIR_NAME = "scala_spark35" _SPARK_DIR_NAME = "scala"
[docs] GIGL_PUBLIC_BUCKET_NAME = "public-gigl"
[docs] GIGL_PUBLIC_DATASET_NAME = "external-snap-ci-github-gigl.public_gigl"
[docs] GIGL_TEST_BUCKET_NAME = "gigl-cicd-temp"
def _get_scala_dir_name(use_spark35: bool = False) -> str: return _SPARK_35_DIR_NAME if use_spark35 else _SPARK_DIR_NAME
[docs] def get_compiled_jar_path(component: GiGLComponents, use_spark35=False) -> LocalUri: scala_dir_name = _get_scala_dir_name(use_spark35=use_spark35) path = LocalUri.join( local_fs_constants.get_project_root_directory(), f"{scala_dir_name}/{component.value}/target/scala-2.12/{component.value}-assembly-1.0.jar", ) return path
[docs] def get_local_jar_directory(component: GiGLComponents, use_spark35=False) -> LocalUri: scala_dir_name = _get_scala_dir_name(use_spark35=use_spark35) path = LocalUri.join( local_fs_constants.get_gigl_root_directory(), f"deps/{scala_dir_name}/{component.value}/jars/", ) return path
[docs] def get_current_jar_file(directory: LocalUri) -> LocalUri: list_of_files = glob.glob(str(Path(directory.uri) / "*.jar")) if not list_of_files: raise FileNotFoundError(f"No .jar file found in: {directory.uri}") latest_file = max(list_of_files, key=os.path.getctime) return LocalUri(latest_file)
[docs] def get_jar_file_uri(component: GiGLComponents, use_spark35=False) -> LocalUri: assert component in [ GiGLComponents.SubgraphSampler, GiGLComponents.SplitGenerator, ], f"Unsupported component: {component}" directory = get_local_jar_directory(component=component, use_spark35=use_spark35) return get_current_jar_file(directory)