hoops_ai.insights.hoops_viewer_interface

Interface module for HOOPS Viewer functionality.

This module wraps the hoops-viewer package and provides graceful error handling if the package is not available.

Functions

create_viewer([host, port, silent, ...])

Create a HoopsViewer instance with validation.

find_free_port([start_port, max_attempts, host])

Find a free port starting from a given port number.

get_viewer_class()

Get the HoopsViewer class for direct instantiation.

is_port_available(port[, host])

Check if a port is available for binding.

is_viewer_available()

Check if hoops_viewer package is installed.

hoops_ai.insights.hoops_viewer_interface.create_viewer(host='127.0.0.1', port=8000, silent=True, static_folder=None)

Create a HoopsViewer instance with validation.

Parameters:
  • host (str) – Host address for the viewer server (default: ‘127.0.0.1’)

  • port (int) – Port for the viewer server (default: 8000)

  • silent (bool) – Whether to suppress server output (default: True)

  • static_folder (Path | None) – Path to static folder for serving files (default: None)

Returns:

HoopsViewer instance

Raises:

ImportError – If hoops-viewer package is not installed

Return type:

Any

hoops_ai.insights.hoops_viewer_interface.find_free_port(start_port=8000, max_attempts=100, host='127.0.0.1')

Find a free port starting from a given port number.

Parameters:
  • start_port (int) – Port number to start searching from (default: 8000)

  • max_attempts (int) – Maximum number of ports to try (default: 100)

  • host (str) – Host address to check (default: ‘127.0.0.1’)

Returns:

First available port number, or None if no port found

Return type:

int

Examples

>>> port = find_free_port()
>>> print(f"Found free port: {port}")
>>> port = find_free_port(start_port=9000)  # Start from 9000
hoops_ai.insights.hoops_viewer_interface.get_viewer_class()

Get the HoopsViewer class for direct instantiation.

Returns:

HoopsViewer class

Raises:

ImportError – If hoops-viewer package is not installed

hoops_ai.insights.hoops_viewer_interface.is_port_available(port, host='127.0.0.1')

Check if a port is available for binding.

Parameters:
  • port (int) – Port number to check

  • host (str) – Host address to check (default: ‘127.0.0.1’)

Returns:

True if port is available, False otherwise

Return type:

bool

hoops_ai.insights.hoops_viewer_interface.is_viewer_available()

Check if hoops_viewer package is installed.

Returns:

True if hoops_viewer is available, False otherwise

Return type:

bool