import os import streamlit as st from typing import List data_dir = os.path.join(os.path.dirname(__file__), '..', 'data') img_dir = os.path.join(os.path.dirname(__file__), '..', 'img') config_dir = os.path.join(os.path.dirname(__file__), '..', 'config') def hf_api_token() -> str: """ Utility single access point to look up the hugging face access token. """ token = st.secrets['hf_token'] if token is None: raise ValueError('No HF access token found in streamlit secrets') return token def join_items_comma_and(items: List[str]) -> str: """ Utility to convert a list of items to lowercase strings, comma separated and ending with and """ items = [str(i).strip() for i in items] string_count = len(items) if string_count == 0: return "" if string_count == 1: return items[0] return f"{', '.join(items[:-1])} and {items[-1]}" def escape_dollars(text: str) -> str: """ Convenience function to escape dollar signs for prices in markdown """ if text is None: return text return text.replace("$", "\\$")