Source code for ibm_watsonx_ai.helpers.helpers

#  -----------------------------------------------------------------------------------------
#  (C) Copyright IBM Corp. 2023-2024.
#  https://opensource.org/licenses/BSD-3-Clause
#  -----------------------------------------------------------------------------------------

import json
from configparser import ConfigParser
from typing import Union

__all__ = [
    "get_credentials_from_config",
    "pipeline_to_script",
]


[docs] def get_credentials_from_config(env_name, credentials_name, config_path="./config.ini"): """Load credentials from the config file. :: [DEV_LC] credentials = { } cos_credentials = { } :param env_name: name of [ENV] defined in the config file :type env_name: str :param credentials_name: name of credentials :type credentials_name: str :param config_path: path to the config file :type config_path: str :return: loaded credentials :rtype: dict **Example:** .. code-block:: python get_credentials_from_config(env_name='DEV_LC', credentials_name='credentials') """ config = ConfigParser() config.read(config_path) return json.loads(config.get(env_name, credentials_name))
def pipeline_to_script(pipeline) -> Union["str", "HTML"]: """Create a python script based on a passed pipeline model. (Python code representation of pipeline model) :param pipeline: pipeline model to be written as a script :type pipeline: Pipeline or TrainedPipeline :return: information about the script location :rtype: str or html **Example:** .. code-block:: python pipeline_to_script(pipeline=best_pipeline) """ from lale.helpers import import_from_sklearn_pipeline from sklearn.pipeline import Pipeline from ibm_watsonx_ai.utils.autoai.utils import is_ipython from ibm_watsonx_ai.utils import create_download_link import os script_name = "pipeline_script.py" if isinstance(pipeline, Pipeline): pipeline = import_from_sklearn_pipeline(pipeline) script = pipeline.pretty_print() with open(script_name, "w") as f: f.write(script) script_location = f"{os.path.abspath('.')}/{script_name}" if is_ipython(): return create_download_link(script_location) else: return f"Pipeline python script location: {script_location}"