StructuredDataDriver

class inmydata.StructuredData.StructuredDataDriver(tenant: str, server: str = 'inmydata.com', user: str | None = None, session_id: str | None = None, logging_level: int | None = 20, log_file: str | None = None)

Bases: object

A driver class for interacting with structured data in the inmydata platform. This class provides methods to retrieve data based on subjects, fields, and filters. It uses the inmydata API to fetch data and returns it as a pandas DataFrame.

tenant

The tenant identifier for the inmydata platform.

Type:

str

server

The server address for the inmydata platform, default is “inmydata.com”.

Type:

str

user

The user for whom the driver is initialized, if None, no user is set. Useful to identify the user when generating a chart (see https://developer.inmydata.com/a/solutions/articles/36000577995?portalId=36000061664).

Type:

Optional[str]

session_id

The session ID for the driver, if None, no session ID is set. Useful to identify the session when generating a chart (see https://developer.inmydata.com/a/solutions/articles/36000577995?portalId=36000061664).

Type:

Optional[str]

logging_level

The logging level for the logger, default is logging.INFO.

Type:

Optional[int]

log_file

The file to log messages to, if None, logs will be printed to the console.

Type:

Optional[str]

Members

__init__(tenant: str, server: str = 'inmydata.com', user: str | None = None, session_id: str | None = None, logging_level: int | None = 20, log_file: str | None = None)

Initializes the StructuredDataDriver with the specified tenant, server, logging level, and log file.

Parameters:
  • tenant (str) – The tenant identifier for the inmydata platform.

  • server (str) – The server address for the inmydata platform, default is “inmydata.com”.

  • user (Optional[str]) – The user for whom the driver is initialized, if None, no user is set. Useful to identify the user when generating a chart.

  • session_id (Optional[str]) – The session ID for the driver, if None, no session ID is set. Useful to identify the session when generating a chart.

  • logging_level (int) – The logging level for the logger, default is logging.INFO.

  • log_file (Optional[str]) – The file to log messages to, if None, logs will be printed to the console.

get_chart(subject: str, rowfields: list[str], columnfields: list[str], metricfields: list[str], filters: list[AIDataFilter], charttype: ChartType, caption: str, TopNUsed: dict[str, TopNOption] | None = None)

Generates a chart based on the specified subject, row fields, column fields, metric fields, filters, chart type, user, and caption. For details on showing charts in your app, see https://developer.inmydata.com/a/solutions/articles/36000577995?portalId=36000061664

Parameters:
  • subject (str) – The subject to query data from.

  • rowfields (list[str]) – The list of fields to use as rows in the chart.

  • columnfields (list[str]) – The list of fields to use as columns in the chart.

  • metricfields (list[str]) – The list of fields to use as metrics in the chart.

  • filters (list[AIDataFilter]) – The list of filters to apply to the query.

  • charttype (ChartType) – The type of chart to generate.

  • caption (str) – The caption for the chart.

  • TopNUsed (Optional[dict['str', 'TopNOption']]) – Optional dictionary of Top N filters to apply to the query. Defaults to None. They key of the dictionary is the name of the column the top N filter will be applied to.

Returns:

The ID of the generated visualisation.

Return type:

str

get_data(subject: str, fields: list[str], filters: list[AIDataFilter], TopNUsed: dict[str, TopNOption] | None = None) DataFrame | None

Retrieves data from the inmydata platform based on the specified subject, fields, and filters.

Parameters:
  • subject (str) – The subject to query data from.

  • fields (list[str]) – The list of fields to retrieve.

  • filters (list[AIDataFilter]) – The list of filters to apply to the query.

  • TopNUsed (Optional[dict['str', 'TopNOption']]) – Optional dictionary of Top N filters to apply to the query. Defaults to None. They key of the dictionary is the name of the column the top N filter will be applied to.

Returns:

A pandas DataFrame containing the retrieved data.

Return type:

pd.DataFrame

get_data_simple(subject: str, fields: list[str], simplefilters: list[AIDataSimpleFilter], caseSensitive: bool | None = True, TopNUsed: dict[str, TopNOption] | None = None) DataFrame | None

Retrieves data from the inmydata platform based on the specified subject, fields, and simple filters.

Parameters:
  • subject (str) – The subject to query data from.

  • fields (list[str]) – The list of fields to retrieve.

  • simplefilters (list[AIDataSimpleFilter]) – The list of simple filters to apply to the query.

  • caseSensitive (Optional[bool]) – Whether the filter should be case sensitive. Defaults to True.

  • TopNUsed (Optional[dict['str', 'TopNOption']]) – Optional dictionary of Top N filters to apply to the query. Defaults to None. They key of the dictionary is the name of the column the top N filter will be applied to.

Returns:

A pandas DataFrame containing the retrieved data.

Return type:

pd.DataFrame

get_session_id()

Returns the session ID for the driver.

Returns:

The session ID for the driver, or None if no session ID is set.

Return type:

Optional[str]

get_user()

Returns the user for whom the driver is initialized.

Returns:

The user for whom the driver is initialized, or None if no user is set.

Return type:

Optional[str]

set_session_id(session_id: str)

Sets the session ID for the driver.

Parameters:

session_id (str) – The session ID to set for the driver.

set_user(user: str)

Sets the user for whom the driver is initialized.

Parameters:

user (str) – The user to set for the driver.