urimai.utils¶
.. py:module:: urimai.utils
.. py:module:: urimai.utils.display
Rich console utilities for beautiful CLI output.
.. py:function:: pipeline_status(message) :module: urimai.utils.display
Show a spinner during an async operation, then clear it.
.. py:function:: print_sub(message) :module: urimai.utils.display
Print an indented sub-result line.
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_success(message) :module: urimai.utils.display
Print success message in green.
:type message: :sphinx_autodoc_typehints_type:\:py\:class\:\str``
:param message: Success message to display
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_error(message) :module: urimai.utils.display
Print error message in red.
:type message: :sphinx_autodoc_typehints_type:\:py\:class\:\str``
:param message: Error message to display
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_info(message) :module: urimai.utils.display
Print info message in blue.
:type message: :sphinx_autodoc_typehints_type:\:py\:class\:\str``
:param message: Info message to display
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_warning(message) :module: urimai.utils.display
Print warning message in yellow.
:type message: :sphinx_autodoc_typehints_type:\:py\:class\:\str``
:param message: Warning message to display
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_step(step, message) :module: urimai.utils.display
Print a step in a process.
:type step: :sphinx_autodoc_typehints_type:\:py\:class\:\str` :param step: Step emoji or icon :type message: :sphinx_autodoc_typehints_type::py:class:`str``
:param message: Step description
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_sql(sql, title=’SQL Query’) :module: urimai.utils.display
Print SQL query with syntax highlighting.
:type sql: :sphinx_autodoc_typehints_type:\:py\:class\:\str` :param sql: SQL query string :type title: :sphinx_autodoc_typehints_type::py:class:`str``
:param title: Title for the panel
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_table(data, title=None, max_rows=None) :module: urimai.utils.display
Print data as a Rich table.
:type data: :sphinx_autodoc_typehints_type:\:py\:class\:\list`\ \[:py:class:`dict`\ \[:py:class:`str`, :py:data:`~typing.Any`]] :param data: List of dictionaries to display :type title: :sphinx_autodoc_typehints_type::py:class:`str` | :py:obj:`None` :param title: Optional table title :type max_rows: :sphinx_autodoc_typehints_type::py:class:`int` | :py:obj:`None``
:param max_rows: Maximum number of rows to display (None for all)
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_databases(databases) :module: urimai.utils.display
Print list of databases as a table.
:type databases: :sphinx_autodoc_typehints_type:\:py\:class\:\list`\ \[:py:class:`dict`\ \[:py:class:`str`, :py:data:`~typing.Any`]]`
:param databases: List of database information dictionaries
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_settings(settings) :module: urimai.utils.display
Print settings as a table.
:type settings: :sphinx_autodoc_typehints_type:\:py\:class\:\list`\ \[:py:class:`dict`\ \[:py:class:`str`, :py:class:`str`]]`
:param settings: List of setting key-value pairs
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: create_progress() :module: urimai.utils.display
Create a Rich progress bar.
:rtype: :sphinx_autodoc_typehints_type:\:py\:class\:\~rich.progress.Progress``
:returns: Progress instance with spinner and text columns
.. py:function:: print_panel(content, title, style=’blue’) :module: urimai.utils.display
Print content in a panel.
:type content: :sphinx_autodoc_typehints_type:\:py\:class\:\str` :param content: Panel content :type title: :sphinx_autodoc_typehints_type::py:class:`str` :param title: Panel title :type style: :sphinx_autodoc_typehints_type::py:class:`str``
:param style: Panel border style color
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_welcome_banner(db_name, table_count) :module: urimai.utils.display
Print welcome banner for interactive session.
:type db_name: :sphinx_autodoc_typehints_type:\:py\:class\:\str` :param db_name: Name of the database :type table_count: :sphinx_autodoc_typehints_type::py:class:`int``
:param table_count: Number of tables in the database
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_user_prompt() :module: urimai.utils.display
Print user input prompt.
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_assistant_header() :module: urimai.utils.display
Print assistant response header.
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_conversation_history(query_results) :module: urimai.utils.display
Print conversation history in a formatted panel.
:type query_results: :sphinx_autodoc_typehints_type:\:py\:class\:\list`\ \[:py:data:`~typing.Any`]`
:param query_results: List of QueryResult objects
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_schema_info(schemas) :module: urimai.utils.display
Print database schema information.
:type schemas: :sphinx_autodoc_typehints_type:\:py\:class\:\list`\ \[:py:data:`~typing.Any`]`
:param schemas: List of SchemaInfo objects
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_database_overview(db_context, schemas) :module: urimai.utils.display
Print database overview with context panel and table summary.
:type db_context: :sphinx_autodoc_typehints_type:\:py\:data\:\~typing.Any` :param db_context: DatabaseContext object (or None) :type schemas: :sphinx_autodoc_typehints_type::py:class:`list`\ \[:py:data:`~typing.Any`]`
:param schemas: List of SchemaInfo objects
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_table_detail(schema) :module: urimai.utils.display
Print detailed schema for a single table.
:type schema: :sphinx_autodoc_typehints_type:\:py\:data\:\~typing.Any``
:param schema: SchemaInfo object
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_schema_graph(schemas) :module: urimai.utils.display
Print an ASCII relationship graph using Rich Tree.
:type schemas: :sphinx_autodoc_typehints_type:\:py\:class\:\list`\ \[:py:data:`~typing.Any`]`
:param schemas: List of SchemaInfo objects
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_table_list(table_names) :module: urimai.utils.display
Print simple list of table names.
:type table_names: :sphinx_autodoc_typehints_type:\:py\:class\:\list`\ \[:py:class:`str`]`
:param table_names: List of table names
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_help() :module: urimai.utils.display
Print help information for interactive session.
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_goodbye() :module: urimai.utils.display
Print goodbye message when exiting.
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_table_profile(profile) :module: urimai.utils.display
Print table profile with column statistics.
:type profile: :sphinx_autodoc_typehints_type:\:py\:data\:\~typing.Any``
:param profile: TableProfile object
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_usage(usage_stats) :module: urimai.utils.display
Print token usage summary line.
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:function:: print_quality_report(quality_report) :module: urimai.utils.display
Print data quality report with scores and issues.
:type quality_report: :sphinx_autodoc_typehints_type:\:py\:data\:\~typing.Any``
:param quality_report: QualityReport object
:rtype: :sphinx_autodoc_typehints_type:\:py\:obj\:\None``
.. py:module:: urimai.utils.llm
LLM setup and configuration supporting multiple providers.
.. py:function:: get_model() :module: urimai.utils.llm
Get configured LLM model instance based on the active provider.
:rtype: :sphinx_autodoc_typehints_type:\:py\:class\:\~pydantic_ai.models.Model``
:returns: Model instance configured with the appropriate API key and model name
:raises RuntimeError: If the required API key is not set or provider is unknown
.. py:function:: get_gemini_model() :module: urimai.utils.llm
Get configured Gemini model instance.
Deprecated: Use get_model() instead.
:rtype: :sphinx_autodoc_typehints_type:\:py\:class\:\~pydantic_ai.models.google.GoogleModel``