TableInfo Class

Table metadata with dict-like backward compatibility.

Supports both new attribute access (info.schema_name) and legacy dict-key access (info["table_schema_name"]) for backward compatibility with code written against the raw dict API.

Example:


   info = client.tables.create("new_Product", {"new_Price": "decimal"})
   print(info.schema_name)              # new attribute access
   print(info["table_schema_name"])     # legacy dict-key access

Constructor

TableInfo(schema_name: str = '', logical_name: str = '', entity_set_name: str = '', metadata_id: str = '', primary_name_attribute: str | None = None, primary_id_attribute: str | None = None, display_name: str | None = None, description: str | None = None, columns: List[ColumnInfo] | None = None, columns_created: List[str] | None = None)

Parameters

Name Description
schema_name
Required
str

Table schema name (e.g. "Account").

logical_name
Required
str

Table logical name (lowercase).

entity_set_name
Required
str

OData entity set name.

metadata_id
Required
str

Metadata GUID.

display_name
str

Human-readable display name.

Default value: None
description
str

Table description.

Default value: None
columns

Column metadata (when retrieved).

Default value: None
columns_created
list[str] or None

Column schema names created with the table.

Default value: None
primary_name_attribute
Default value: None
primary_id_attribute
Default value: None

Methods

from_api_response

Create from a raw Dataverse EntityDefinition API response.

from_dict

Create from an SDK internal dict (snake_case keys).

This handles the dict format returned by _create_table and _get_table_info in the OData layer.

get

Return value for key, or default if not present.

items

Return (legacy_key, value) pairs.

keys

Return legacy dict keys.

to_dict

Return a dict with legacy keys for backward compatibility.

values

Return values corresponding to legacy dict keys.

from_api_response

Create from a raw Dataverse EntityDefinition API response.

from_api_response(response_data: Dict[str, Any]) -> TableInfo

Parameters

Name Description
response_data
Required

Raw entity metadata dict (PascalCase keys).

Returns

Type Description

from_dict

Create from an SDK internal dict (snake_case keys).

This handles the dict format returned by _create_table and _get_table_info in the OData layer.

from_dict(data: Dict[str, Any]) -> TableInfo

Parameters

Name Description
data
Required

Dictionary with SDK snake_case keys.

Returns

Type Description

get

Return value for key, or default if not present.

get(key: str, default: Any = None) -> Any

Parameters

Name Description
key
Required
default
Default value: None

items

Return (legacy_key, value) pairs.

items() -> List[tuple]

keys

Return legacy dict keys.

keys() -> KeysView[str]

to_dict

Return a dict with legacy keys for backward compatibility.

to_dict() -> Dict[str, Any]

values

Return values corresponding to legacy dict keys.

values() -> List[Any]

Attributes

columns

columns: List[ColumnInfo] | None = None

columns_created

columns_created: List[str] | None = None

description

description: str | None = None

display_name

display_name: str | None = None

entity_set_name

entity_set_name: str = ''

logical_name

logical_name: str = ''

metadata_id

metadata_id: str = ''

primary_id_attribute

primary_id_attribute: str | None = None

primary_name_attribute

primary_name_attribute: str | None = None

schema_name

schema_name: str = ''