Introspection API

Introspection protocols.

class sqldbagent.introspect.base.InspectionService(*args, **kwargs)[source]

Bases: Protocol

Minimal shared inspection contract for initial surfaces.

inspect_server()[source]

Return normalized server metadata.

Return type:

ServerModel

inspect_database(database=None)[source]

Return normalized database metadata.

Parameters:

database (str | None, default: None)

Return type:

DatabaseModel

inspect_schema(schema)[source]

Return normalized schema metadata.

Parameters:

schema (str)

Return type:

SchemaModel

list_databases()[source]

Return database names visible to the datasource.

Return type:

list[str]

list_schemas(database=None)[source]

Return schema names for an optional database.

Parameters:

database (str | None, default: None)

Return type:

list[str]

list_tables(schema=None)[source]

Return table names for an optional schema.

Parameters:

schema (str | None, default: None)

Return type:

list[str]

list_views(schema=None)[source]

Return view names for an optional schema.

Parameters:

schema (str | None, default: None)

Return type:

list[str]

describe_table(table_name, schema=None)[source]

Return normalized table metadata.

Parameters:
  • table_name (str)

  • schema (str | None, default: None)

Return type:

TableModel

describe_view(view_name, schema=None)[source]

Return normalized view metadata.

Parameters:
  • view_name (str)

  • schema (str | None, default: None)

Return type:

ViewModel

Generic SQLAlchemy-backed inspection service.

class sqldbagent.introspect.service.SQLAlchemyInspectionService(engine)[source]

Bases: object

Inspection service backed by SQLAlchemy reflection.

Parameters:

engine (Engine)

__init__(engine)[source]

Initialize the inspection service.

Parameters:

engine (Engine) – SQLAlchemy engine used for reflection.

Return type:

None

inspect_server()[source]

Return normalized server metadata.

Returns:

Server-level metadata for the datasource.

Return type:

ServerModel

inspect_database(database=None)[source]

Return normalized database metadata.

Parameters:

database (str | None, default: None) – Optional database override. Defaults to the current database.

Returns:

Database-level metadata with normalized schemas.

Return type:

DatabaseModel

inspect_schema(schema)[source]

Return normalized schema metadata.

Parameters:

schema (str) – Schema name to inspect.

Returns:

Schema-level metadata with normalized tables.

Return type:

SchemaModel

list_databases()[source]

Return the configured database name when available.

Returns:

Database names visible to the datasource.

Return type:

list[str]

list_schemas(database=None)[source]

Return reflected schema names.

Parameters:

database (str | None, default: None) – Optional database scope. Currently informational only.

Returns:

Sorted schema names.

Return type:

list[str]

list_tables(schema=None)[source]

Return reflected table names.

Parameters:

schema (str | None, default: None) – Optional schema name.

Returns:

Sorted table names.

Return type:

list[str]

list_views(schema=None)[source]

Return reflected view names.

Parameters:

schema (str | None, default: None) – Optional schema name.

Returns:

Sorted view names.

Return type:

list[str]

describe_table(table_name, schema=None)[source]

Return normalized metadata for a table.

Parameters:
  • table_name (str) – Table name to inspect.

  • schema (str | None, default: None) – Optional schema containing the table.

Returns:

Normalized table metadata.

Return type:

TableModel

describe_view(view_name, schema=None)[source]

Return normalized metadata for a view.

Parameters:
  • view_name (str) – View name to inspect.

  • schema (str | None, default: None) – Optional schema containing the view.

Returns:

Normalized view metadata.

Return type:

ViewModel