Source code for steamship.cli.utils

"""Common utilities for the Steamship Python API"""
import os
import sys
import traceback
from importlib import machinery
from pathlib import Path

import click

from steamship.base.error import SteamshipError


[docs] def find_api_py() -> Path: path = Path("src/api.py") if not path.exists(): path = Path("api.py") if not path.exists(): raise SteamshipError("Could not find api.py either in root directory or in src.") return path
[docs] def get_api_module(path: Path): try: sys.path.append(str(path.parent.absolute())) # load the API module to allow config inspection / generation return machinery.SourceFileLoader("api", str(path)).load_module() except Exception: click.secho( "An error occurred while loading your api.py to check configuration parameters. Full stack trace below.", fg="red", ) traceback.print_exc() click.get_current_context().abort() return None
[docs] def is_in_replit() -> bool: """Returns True if the user appears to be inside Replit.""" if os.environ.get("REPLIT_CLI") or os.environ.get("REPLIT_DB_URL"): return True return False