nisystemlink
stable
  • Getting Started
  • API Reference
    • nisystemlink.clients.core
    • nisystemlink.clients.tag
    • nisystemlink.clients.dataframe
      • DataFrameClient
        • DataFrameClient.__init__()
        • DataFrameClient.api_info()
        • DataFrameClient.list_tables()
        • DataFrameClient.create_table()
        • DataFrameClient.query_tables()
        • DataFrameClient.get_table_metadata()
        • DataFrameClient.modify_table()
        • DataFrameClient.delete_table()
        • DataFrameClient.delete_tables()
        • DataFrameClient.modify_tables()
        • DataFrameClient.get_table_data()
        • DataFrameClient.append_table_data()
        • DataFrameClient.query_table_data()
        • DataFrameClient.query_decimated_data()
      • ApiInfo
        • ApiInfo.operations
      • AppendTableDataRequest
        • AppendTableDataRequest.end_of_data
        • AppendTableDataRequest.frame
      • Column
        • Column.column_type
        • Column.data_type
        • Column.name
        • Column.properties
      • ColumnFilter
        • ColumnFilter.column
        • ColumnFilter.operation
        • ColumnFilter.value
      • ColumnMetadataPatch
        • ColumnMetadataPatch.name
        • ColumnMetadataPatch.properties
      • ColumnOrderBy
        • ColumnOrderBy.column
        • ColumnOrderBy.descending
      • ColumnType
        • ColumnType.Index
        • ColumnType.Normal
        • ColumnType.Nullable
      • CreateTableRequest
        • CreateTableRequest.columns
        • CreateTableRequest.name
        • CreateTableRequest.properties
        • CreateTableRequest.workspace
      • DataFrame
        • DataFrame.columns
        • DataFrame.data
      • DataType
        • DataType.Bool
        • DataType.Float32
        • DataType.Float64
        • DataType.Int32
        • DataType.Int64
        • DataType.String
        • DataType.Timestamp
      • DecimationMethod
        • DecimationMethod.EntryExit
        • DecimationMethod.Lossy
        • DecimationMethod.MaxMin
      • DecimationOptions
        • DecimationOptions.intervals
        • DecimationOptions.method
        • DecimationOptions.x_column
        • DecimationOptions.y_columns
      • DeleteTablesPartialSuccess
        • DeleteTablesPartialSuccess.deleted_table_ids
        • DeleteTablesPartialSuccess.error
        • DeleteTablesPartialSuccess.failed_table_ids
      • FilterOperation
      • ModifyTableRequest
        • ModifyTableRequest.columns
        • ModifyTableRequest.metadata_revision
        • ModifyTableRequest.name
        • ModifyTableRequest.properties
        • ModifyTableRequest.workspace
      • ModifyTablesPartialSuccess
        • ModifyTablesPartialSuccess.error
        • ModifyTablesPartialSuccess.failed_modifications
        • ModifyTablesPartialSuccess.modified_table_ids
      • ModifyTablesRequest
        • ModifyTablesRequest.replace
        • ModifyTablesRequest.tables
      • Operation
        • Operation.available
        • Operation.version
      • OperationsV1
        • OperationsV1.create_tables
        • OperationsV1.delete_tables
        • OperationsV1.list_tables
        • OperationsV1.modify_metadata
        • OperationsV1.read_data
        • OperationsV1.write_data
      • PagedTableRows
        • PagedTableRows.frame
        • PagedTableRows.total_row_count
      • PagedTables
        • PagedTables.tables
      • QueryDecimatedDataRequest
        • QueryDecimatedDataRequest.decimation
      • QueryTableDataRequest
        • QueryTableDataRequest.order_by
        • QueryTableDataRequest.take
      • QueryTablesRequest
        • QueryTablesRequest.filter
        • QueryTablesRequest.order_by
        • QueryTablesRequest.order_by_descending
        • QueryTablesRequest.reference_time
        • QueryTablesRequest.substitutions
        • QueryTablesRequest.take
      • TableMetadata
        • TableMetadata.columns
        • TableMetadata.created_at
        • TableMetadata.id
        • TableMetadata.metadata_modified_at
        • TableMetadata.metadata_revision
        • TableMetadata.name
        • TableMetadata.properties
        • TableMetadata.row_count
        • TableMetadata.rows_modified_at
        • TableMetadata.supports_append
        • TableMetadata.workspace
      • TableMetdataModification
        • TableMetdataModification.id
        • TableMetdataModification.metadata_revision
        • TableMetdataModification.name
        • TableMetdataModification.properties
        • TableMetdataModification.workspace
      • TableRows
        • TableRows.frame
    • Indices and tables
nisystemlink
  • Docs »
  • API Reference »
  • nisystemlink.clients.dataframe
  • Edit on GitHub

nisystemlink.clients.dataframe¶

class nisystemlink.clients.dataframe.DataFrameClient(configuration=None)[source]¶
__init__(configuration=None)[source]¶

Initialize an instance.

Parameters

configuration (Optional[nisystemlink.clients.core.HttpConfiguration]) – Defines the web server to connect to and information about how to connect. If not provided, an instance of JupyterHttpConfiguration is used.

Raises

ApiException – if unable to communicate with the Data Frame service.

api_info()[source]¶

Get information about available API operations.

Return type

nisystemlink.clients.dataframe.models.ApiInfo

Returns

Information about available API operations.

Raises

ApiException – if unable to communicate with the Data Frame service.

list_tables(take=None, id=None, order_by=None, order_by_descending=None, continuation_token=None, workspace=None)[source]¶

Lists available tables on the SystemLink DataFrame service.

Parameters
  • take (Optional[int]) – Limits the returned list to the specified number of results. Defaults to 1000.

  • id (Optional[List[str]]) – List of table IDs to filter by.

  • order_by (Optional[Literal['CREATED_AT', 'METADATA_MODIFIED_AT', 'NAME', 'NUMBER_OF_ROWS', 'ROWS_MODIFIED_AT']]) – The sort order of the returned list of tables.

  • order_by_descending (Optional[bool]) – Whether to sort descending instead of ascending. Defaults to false.

  • continuation_token (Optional[str]) – The token used to paginate results.

  • workspace (Optional[List[str]]) – List of workspace IDs to filter by.

Return type

nisystemlink.clients.dataframe.models.PagedTables

Returns

The list of tables with a continuation token.

Raises

ApiException – if unable to communicate with the Data Frame service or provided an invalid argument.

create_table(table)[source]¶

Create a new table with the provided metadata and column definitions.

Parameters

table (nisystemlink.clients.dataframe.models.CreateTableRequest) – The request to create the table.

Return type

str

Returns

The ID of the newly created table.

Raises

ApiException – if unable to communicate with the Data Frame service or provided an invalid argument.

query_tables(query)[source]¶

Queries available tables on the SystemLink DataFrame service and returns their metadata.

Parameters

query (nisystemlink.clients.dataframe.models.QueryTablesRequest) – The request to query tables.

Return type

nisystemlink.clients.dataframe.models.PagedTables

Returns

The list of tables with a continuation token.

Raises

ApiException – if unable to communicate with the Data Frame service or provided an invalid argument.

get_table_metadata(id)[source]¶

Retrieves the metadata and column information for a single table identified by its ID.

Parameters

id (str) – Unique ID of a DataFrame table.

Return type

nisystemlink.clients.dataframe.models.TableMetadata

Returns

The metadata for the table.

Raises

ApiException – if unable to communicate with the Data Frame service or provided an invalid argument.

modify_table(id, update)[source]¶

Modify properties of a table or its columns.

Parameters
  • id (str) – Unique ID of a DataFrame table.

  • update (nisystemlink.clients.dataframe.models.ModifyTableRequest) – The metadata to update.

Raises

ApiException – if unable to communicate with the Data Frame service or provided an invalid argument.

Return type

None

delete_table(id)[source]¶

Deletes a table.

Parameters

id (str) – Unique ID of a DataFrame table.

Raises

ApiException – if unable to communicate with the Data Frame service or provided an invalid argument.

Return type

None

delete_tables(ids)[source]¶

Deletes multiple tables.

Parameters

ids (List[str]) – List of unique IDs of DataFrame tables.

Return type

Optional[nisystemlink.clients.dataframe.models.DeleteTablesPartialSuccess]

Returns

A partial success if any tables failed to delete, or None if all tables were deleted successfully.

Raises

ApiException – if unable to communicate with the Data Frame service or provided an invalid argument.

modify_tables(updates)[source]¶

Modify the properties associated with the tables identified by their IDs.

Parameters

updates (nisystemlink.clients.dataframe.models.ModifyTablesRequest) – The table modifications to apply.

Return type

Optional[nisystemlink.clients.dataframe.models.ModifyTablesPartialSuccess]

Returns

A partial success if any tables failed to be modified, or None if all tables were modified successfully.

Raises

ApiException – if unable to communicate with the Data Frame service or provided an invalid argument.

get_table_data(id, columns=None, order_by=None, order_by_descending=None, take=None, continuation_token=None)[source]¶

Reads raw data from the table identified by its ID.

Parameters
  • id (str) – Unique ID of a DataFrame table.

  • columns (Optional[List[str]]) – Columns to include in the response. Data will be returned in the same order as the columns. If not specified, all columns are returned.

  • order_by (Optional[List[str]]) – List of columns to sort by. Multiple columns may be specified to order rows that have the same value for prior columns. The columns used for ordering do not need to be included in the columns list, in which case they are not returned. If not specified, then the order in which results are returned is undefined.

  • order_by_descending (Optional[bool]) – Whether to sort descending instead of ascending. Defaults to false.

  • take (Optional[int]) – Limits the returned list to the specified number of results. Defaults to 500.

  • continuation_token (Optional[str]) – The token used to paginate results.

Return type

nisystemlink.clients.dataframe.models.PagedTableRows

Returns

The table data and total number of rows with a continuation token.

Raises

ApiException – if unable to communicate with the Data Frame service or provided an invalid argument.

append_table_data(id, data)[source]¶

Appends one or more rows of data to the table identified by its ID.

Parameters
  • id (str) – Unique ID of a DataFrame table.

  • data (nisystemlink.clients.dataframe.models.AppendTableDataRequest) – The rows of data to append and any additional options.

Raises

ApiException – if unable to communicate with the Data Frame service or provided an invalid argument.

Return type

None

query_table_data(id, query)[source]¶

Reads rows of data that match a filter from the table identified by its ID.

Parameters
  • id (str) – Unique ID of a DataFrame table.

  • query (nisystemlink.clients.dataframe.models.QueryTableDataRequest) – The filtering and sorting to apply when reading data.

Return type

nisystemlink.clients.dataframe.models.PagedTableRows

Returns

The table data and total number of rows with a continuation token.

Raises

ApiException – if unable to communicate with the Data Frame service or provided an invalid argument.

query_decimated_data(id, query)[source]¶

Reads decimated rows of data from the table identified by its ID.

Parameters
  • id (str) – Unique ID of a DataFrame table.

  • query (nisystemlink.clients.dataframe.models.QueryDecimatedDataRequest) – The filtering and decimation options to apply when reading data.

Return type

nisystemlink.clients.dataframe.models.TableRows

Returns

The decimated table data.

Raises

ApiException – if unable to communicate with the Data Frame service or provided an invalid argument.

pydantic model nisystemlink.clients.dataframe.models.ApiInfo[source]¶

Information about the available API operations.

Show JSON schema
{
   "title": "ApiInfo",
   "description": "Information about the available API operations.",
   "type": "object",
   "properties": {
      "operations": {
         "$ref": "#/definitions/OperationsV1"
      }
   },
   "required": [
      "operations"
   ],
   "definitions": {
      "Operation": {
         "title": "Operation",
         "description": "Represents an operation that can be performed on a data frame.",
         "type": "object",
         "properties": {
            "available": {
               "title": "Available",
               "type": "boolean"
            },
            "version": {
               "title": "Version",
               "type": "integer"
            }
         },
         "required": [
            "available",
            "version"
         ]
      },
      "OperationsV1": {
         "title": "OperationsV1",
         "description": "The operations available in the routes provided by the v1 HTTP API.",
         "type": "object",
         "properties": {
            "createTables": {
               "$ref": "#/definitions/Operation"
            },
            "deleteTables": {
               "$ref": "#/definitions/Operation"
            },
            "modifyMetadata": {
               "$ref": "#/definitions/Operation"
            },
            "listTables": {
               "$ref": "#/definitions/Operation"
            },
            "readData": {
               "$ref": "#/definitions/Operation"
            },
            "writeData": {
               "$ref": "#/definitions/Operation"
            }
         },
         "required": [
            "createTables",
            "deleteTables",
            "modifyMetadata",
            "listTables",
            "readData",
            "writeData"
         ]
      }
   }
}

Fields
  • operations

field operations: OperationsV1 [Required]¶
pydantic model nisystemlink.clients.dataframe.models.AppendTableDataRequest[source]¶

Contains the rows to append and optional flags. The frame field is required unless endOfData is true.

Show JSON schema
{
   "title": "AppendTableDataRequest",
   "description": "Contains the rows to append and optional flags. The ``frame`` field is\nrequired unless ``endOfData`` is true.",
   "type": "object",
   "properties": {
      "frame": {
         "$ref": "#/definitions/DataFrame"
      },
      "endOfData": {
         "title": "Endofdata",
         "type": "boolean"
      }
   },
   "definitions": {
      "DataFrame": {
         "title": "DataFrame",
         "description": "Data read from or to be written to a table.\n\nValues may be ``None`` (if the column is of type ``NULLABLE``) or encoded as\na string in a format according to each column's datatype:\n\n* BOOL: One of ``\"true\"`` or ``\"false\"``, case-insensitive.\n* INT32: Any integer number in the range [-2147483648, 2147483647],\n  surrounded by quotes.\n* INT64: Any integer number in the range [-9223372036854775808,\n  9223372036854775807], surrounded by quotes.\n* FLOAT32: A decimal number using a period for the decimal point, optionally\n  in scientific notation, in the range [-3.40282347E+38, 3.40282347E+38],\n  surrounded by quotes. Not all values within the range can be represented\n  with 32 bits. To preserve the exact binary encoding of the value when\n  converting to a string, clients should serialize 9 digits after the\n  decimal. Instead of a number, the value may be ``\"NaN\"`` (not a number),\n  ``\"Infinity\"`` (positive infinity), or ``\"-Infinity\"`` (negative\n  infinity), case-sensitive.\n* FLOAT64: A decimal number using a period for the decimal point, optionally\n  in scientific notation, in the range [-1.7976931348623157E+308,\n  1.7976931348623157E+308], surrounded by quotes. Not all values within the\n  range can be represented with 64 bits. To preserve the exact binary\n  encoding of the value when converting to a string, clients should\n  serialize 17 digits after the decimal. Instead of a number, the value may\n  be ``\"NaN\"`` (not a number), ``\"Infinity\"`` (positive infinity), or\n  ``\"-Infinity\"`` (negative infinity), case-sensitive.\n* STRING: Any quoted string.\n* TIMESTAMP: A date and time with millisecond precision in ISO-8601 format\n  and time zone. For example: ``\"2022-08-19T16:17:30.123Z\"``. If a time zone\n  is not provided, UTC is assumed. If a time zone other than UTC is\n  provided, the value will be converted to UTC. If more than three digits of\n  fractional seconds are provided, the time will be truncated to three\n  digits (i.e. milliseconds).\n\nThe format is the same as a serialized Pandas DataFrame with orient=\"split\"\nand index=False. See\nhttps://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_json.html.\n\nWhen providing a DataFrame for appending rows, any of the table's columns\nnot specified will receive a value of ``None``. If any such columns aren't\nnullable, an error will be returned. If the entire columns property is left\nout, each row is assumed to contain all columns in the order specified when\nthe table was created.",
         "type": "object",
         "properties": {
            "columns": {
               "title": "Columns",
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "data": {
               "title": "Data",
               "type": "array",
               "items": {
                  "type": "array",
                  "items": {
                     "type": "string"
                  }
               }
            }
         },
         "required": [
            "data"
         ]
      }
   }
}

Fields
  • end_of_data

  • frame

field end_of_data: Optional[bool] = None¶

Whether the table should expect any additional rows to be appended in future requests.

field frame: Optional[DataFrame] = None¶

The data frame containing the rows to append.

pydantic model nisystemlink.clients.dataframe.models.Column[source]¶

Defines a single column in a table.

Show JSON schema
{
   "title": "Column",
   "description": "Defines a single column in a table.",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "type": "string"
      },
      "dataType": {
         "$ref": "#/definitions/DataType"
      },
      "columnType": {
         "default": "NORMAL",
         "allOf": [
            {
               "$ref": "#/definitions/ColumnType"
            }
         ]
      },
      "properties": {
         "title": "Properties",
         "type": "object",
         "additionalProperties": {
            "type": "string"
         }
      }
   },
   "required": [
      "name",
      "dataType"
   ],
   "definitions": {
      "DataType": {
         "title": "DataType",
         "description": "Represents the different data types for a table column.",
         "enum": [
            "BOOL",
            "FLOAT32",
            "FLOAT64",
            "INT32",
            "INT64",
            "STRING",
            "TIMESTAMP"
         ],
         "type": "string"
      },
      "ColumnType": {
         "title": "ColumnType",
         "description": "Represents the different column types for a table column.",
         "enum": [
            "NORMAL",
            "INDEX",
            "NULLABLE"
         ],
         "type": "string"
      }
   }
}

Fields
  • column_type

  • data_type

  • name

  • properties

field column_type: ColumnType = ColumnType.Normal¶

The column type. Defaults to ColumnType.Normal.

field data_type: DataType [Required]¶

The data type of the column.

field name: str [Required]¶

The column name, which must be unique across all columns in the table.

field properties: Optional[Dict[str, str]] = None¶

User-defined properties associated with the column.

pydantic model nisystemlink.clients.dataframe.models.ColumnFilter[source]¶

A filter to apply to the table data.

Show JSON schema
{
   "title": "ColumnFilter",
   "description": "A filter to apply to the table data.",
   "type": "object",
   "properties": {
      "column": {
         "title": "Column",
         "type": "string"
      },
      "operation": {
         "$ref": "#/definitions/FilterOperation"
      },
      "value": {
         "title": "Value",
         "type": "string"
      }
   },
   "required": [
      "column",
      "operation"
   ],
   "definitions": {
      "FilterOperation": {
         "title": "FilterOperation",
         "description": "Represents the different operations that can be used in a filter.",
         "enum": [
            "EQUALS",
            "NOT_EQUALS",
            "LESS_THAN",
            "LESS_THAN_EQUALS",
            "GREATER_THAN",
            "GREATER_THAN_EQUALS",
            "CONTAINS",
            "NOT_CONTAINS"
         ],
         "type": "string"
      }
   }
}

Fields
  • column

  • operation

  • value

field column: str [Required]¶

The name of the column to use for filtering.

field operation: FilterOperation [Required]¶

How to compare the column’s value with the specified value.

An error is returned if the column’s data type does not support the specified operation: * String columns only support EQUALS, NOT_EQUALS, CONTAINS, and NOT_CONTAINS. * Non-string columns do not support CONTAINS or NOT_CONTAINS. * When value is None, the operation must be EQUALS or NOT_EQUALS. * When value is NaN for a floating-point column, the operation must be NOT_EQUALS.

field value: Optional[str] = None¶

The comparison value to use for filtering. An error will be returned if the value cannot be converted to the column’s data type.

pydantic model nisystemlink.clients.dataframe.models.ColumnMetadataPatch[source]¶

Specifies column properties to add, modify, or delete when editing table metadata.

Show JSON schema
{
   "title": "ColumnMetadataPatch",
   "description": "Specifies column properties to add, modify, or delete when editing table metadata.",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "type": "string"
      },
      "properties": {
         "title": "Properties",
         "type": "object",
         "additionalProperties": {
            "type": "string"
         }
      }
   },
   "required": [
      "name",
      "properties"
   ]
}

Fields
  • name

  • properties

field name: str [Required]¶

The name of the column to modify.

field properties: Dict[str, Optional[str]] [Required]¶

The properties to modify. A map of key value properties containing the metadata to be added or modified. Setting a property value to None will delete the property.

pydantic model nisystemlink.clients.dataframe.models.ColumnOrderBy[source]¶

Specifies a column to order by and the ordering direction.

Show JSON schema
{
   "title": "ColumnOrderBy",
   "description": "Specifies a column to order by and the ordering direction.",
   "type": "object",
   "properties": {
      "column": {
         "title": "Column",
         "type": "string"
      },
      "descending": {
         "title": "Descending",
         "type": "boolean"
      }
   },
   "required": [
      "column"
   ]
}

Fields
  • column

  • descending

field column: str [Required]¶

The name of the column to order by.

field descending: Optional[bool] = None¶

Whether the ordering should be in descending order.

class nisystemlink.clients.dataframe.models.ColumnType(value)[source]¶

Represents the different column types for a table column.

Index = 'INDEX'¶

The column provides a unique value per row. Each table must provide exactly one INDEX column. The column’s DataType must be INT32, INT64, or TIMESTAMP.

Normal = 'NORMAL'¶

The column has no special properties. This is the default.

Nullable = 'NULLABLE'¶

Rows may contain null values for this column. When appending rows, NULLABLE columns may be left out entirely, in which case all rows being appended will use null values for that column.

pydantic model nisystemlink.clients.dataframe.models.CreateTableRequest[source]¶

Contains information needed to create a table, including its properties and column definitions.

Show JSON schema
{
   "title": "CreateTableRequest",
   "description": "Contains information needed to create a table, including its properties and column definitions.",
   "type": "object",
   "properties": {
      "columns": {
         "title": "Columns",
         "type": "array",
         "items": {
            "$ref": "#/definitions/Column"
         }
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "properties": {
         "title": "Properties",
         "type": "object",
         "additionalProperties": {
            "type": "string"
         }
      },
      "workspace": {
         "title": "Workspace",
         "type": "string"
      }
   },
   "required": [
      "columns"
   ],
   "definitions": {
      "DataType": {
         "title": "DataType",
         "description": "Represents the different data types for a table column.",
         "enum": [
            "BOOL",
            "FLOAT32",
            "FLOAT64",
            "INT32",
            "INT64",
            "STRING",
            "TIMESTAMP"
         ],
         "type": "string"
      },
      "ColumnType": {
         "title": "ColumnType",
         "description": "Represents the different column types for a table column.",
         "enum": [
            "NORMAL",
            "INDEX",
            "NULLABLE"
         ],
         "type": "string"
      },
      "Column": {
         "title": "Column",
         "description": "Defines a single column in a table.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "dataType": {
               "$ref": "#/definitions/DataType"
            },
            "columnType": {
               "default": "NORMAL",
               "allOf": [
                  {
                     "$ref": "#/definitions/ColumnType"
                  }
               ]
            },
            "properties": {
               "title": "Properties",
               "type": "object",
               "additionalProperties": {
                  "type": "string"
               }
            }
         },
         "required": [
            "name",
            "dataType"
         ]
      }
   }
}

Fields
  • columns

  • name

  • properties

  • workspace

field columns: List[Column] [Required]¶

The list of columns in the table. Exactly one column must have a ColumnType of INDEX.

field name: Optional[str] = None¶

The name to associate with the table. When not specified, a name will be assigned from the table’s ID.

field properties: Optional[Dict[str, str]] = None¶

User-defined properties to associate with the table.

field workspace: Optional[str] = None¶

The workspace to create the table in. Uses the default workspace when not specified.

pydantic model nisystemlink.clients.dataframe.models.DataFrame[source]¶

Data read from or to be written to a table.

Values may be None (if the column is of type NULLABLE) or encoded as a string in a format according to each column’s datatype:

  • BOOL: One of "true" or "false", case-insensitive.

  • INT32: Any integer number in the range [-2147483648, 2147483647], surrounded by quotes.

  • INT64: Any integer number in the range [-9223372036854775808, 9223372036854775807], surrounded by quotes.

  • FLOAT32: A decimal number using a period for the decimal point, optionally in scientific notation, in the range [-3.40282347E+38, 3.40282347E+38], surrounded by quotes. Not all values within the range can be represented with 32 bits. To preserve the exact binary encoding of the value when converting to a string, clients should serialize 9 digits after the decimal. Instead of a number, the value may be "NaN" (not a number), "Infinity" (positive infinity), or "-Infinity" (negative infinity), case-sensitive.

  • FLOAT64: A decimal number using a period for the decimal point, optionally in scientific notation, in the range [-1.7976931348623157E+308, 1.7976931348623157E+308], surrounded by quotes. Not all values within the range can be represented with 64 bits. To preserve the exact binary encoding of the value when converting to a string, clients should serialize 17 digits after the decimal. Instead of a number, the value may be "NaN" (not a number), "Infinity" (positive infinity), or "-Infinity" (negative infinity), case-sensitive.

  • STRING: Any quoted string.

  • TIMESTAMP: A date and time with millisecond precision in ISO-8601 format and time zone. For example: "2022-08-19T16:17:30.123Z". If a time zone is not provided, UTC is assumed. If a time zone other than UTC is provided, the value will be converted to UTC. If more than three digits of fractional seconds are provided, the time will be truncated to three digits (i.e. milliseconds).

The format is the same as a serialized Pandas DataFrame with orient=”split” and index=False. See https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_json.html.

When providing a DataFrame for appending rows, any of the table’s columns not specified will receive a value of None. If any such columns aren’t nullable, an error will be returned. If the entire columns property is left out, each row is assumed to contain all columns in the order specified when the table was created.

Show JSON schema
{
   "title": "DataFrame",
   "description": "Data read from or to be written to a table.\n\nValues may be ``None`` (if the column is of type ``NULLABLE``) or encoded as\na string in a format according to each column's datatype:\n\n* BOOL: One of ``\"true\"`` or ``\"false\"``, case-insensitive.\n* INT32: Any integer number in the range [-2147483648, 2147483647],\n  surrounded by quotes.\n* INT64: Any integer number in the range [-9223372036854775808,\n  9223372036854775807], surrounded by quotes.\n* FLOAT32: A decimal number using a period for the decimal point, optionally\n  in scientific notation, in the range [-3.40282347E+38, 3.40282347E+38],\n  surrounded by quotes. Not all values within the range can be represented\n  with 32 bits. To preserve the exact binary encoding of the value when\n  converting to a string, clients should serialize 9 digits after the\n  decimal. Instead of a number, the value may be ``\"NaN\"`` (not a number),\n  ``\"Infinity\"`` (positive infinity), or ``\"-Infinity\"`` (negative\n  infinity), case-sensitive.\n* FLOAT64: A decimal number using a period for the decimal point, optionally\n  in scientific notation, in the range [-1.7976931348623157E+308,\n  1.7976931348623157E+308], surrounded by quotes. Not all values within the\n  range can be represented with 64 bits. To preserve the exact binary\n  encoding of the value when converting to a string, clients should\n  serialize 17 digits after the decimal. Instead of a number, the value may\n  be ``\"NaN\"`` (not a number), ``\"Infinity\"`` (positive infinity), or\n  ``\"-Infinity\"`` (negative infinity), case-sensitive.\n* STRING: Any quoted string.\n* TIMESTAMP: A date and time with millisecond precision in ISO-8601 format\n  and time zone. For example: ``\"2022-08-19T16:17:30.123Z\"``. If a time zone\n  is not provided, UTC is assumed. If a time zone other than UTC is\n  provided, the value will be converted to UTC. If more than three digits of\n  fractional seconds are provided, the time will be truncated to three\n  digits (i.e. milliseconds).\n\nThe format is the same as a serialized Pandas DataFrame with orient=\"split\"\nand index=False. See\nhttps://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_json.html.\n\nWhen providing a DataFrame for appending rows, any of the table's columns\nnot specified will receive a value of ``None``. If any such columns aren't\nnullable, an error will be returned. If the entire columns property is left\nout, each row is assumed to contain all columns in the order specified when\nthe table was created.",
   "type": "object",
   "properties": {
      "columns": {
         "title": "Columns",
         "type": "array",
         "items": {
            "type": "string"
         }
      },
      "data": {
         "title": "Data",
         "type": "array",
         "items": {
            "type": "array",
            "items": {
               "type": "string"
            }
         }
      }
   },
   "required": [
      "data"
   ]
}

Fields
  • columns

  • data

field columns: Optional[List[str]] = None¶

The names and order of the columns included in the data frame.

field data: List[List[Optional[str]]] [Required]¶

The data for each row with the order specified in the columns property. Must contain a value for each column in the columns property.

class nisystemlink.clients.dataframe.models.DataType(value)[source]¶

Represents the different data types for a table column.

Bool = 'BOOL'¶

32-bit IEEE 754 floating-point number.

Float32 = 'FLOAT32'¶

32-bit IEEE 754 floating-point number.

Float64 = 'FLOAT64'¶

64-bit IEEE 754 floating-point number.

Int32 = 'INT32'¶

32-bit signed integers.

Int64 = 'INT64'¶

64-bit signed integers.

String = 'STRING'¶

Arbitrary string data.

Timestamp = 'TIMESTAMP'¶

Date and time represented in UTC with millisecond precision.

class nisystemlink.clients.dataframe.models.DecimationMethod(value)[source]¶

Represents the different methods that can be used to decimate data.

EntryExit = 'ENTRY_EXIT'¶

Creates an x_column ordered set which will be divided in the number of intervals specified. For each of the intervals, the first and last row within the interval will be returned in addition to the maximum and minimum values for all the columns specified in y_columns.

Lossy = 'LOSSY'¶

Creates an x_column ordered set and returns an uniformly distributed sample of rows with as many rows as the number specified as intervals.

MaxMin = 'MAX_MIN'¶

Creates an x_column ordered set which will be divided in the number of intervals specified. For each of the intervals, the maximum and minimum values for all the columns specified in y_columns will be returned.

pydantic model nisystemlink.clients.dataframe.models.DecimationOptions[source]¶

Contains the parameters to use for data decimation.

Show JSON schema
{
   "title": "DecimationOptions",
   "description": "Contains the parameters to use for data decimation.",
   "type": "object",
   "properties": {
      "xColumn": {
         "title": "Xcolumn",
         "type": "string"
      },
      "yColumns": {
         "title": "Ycolumns",
         "type": "array",
         "items": {
            "type": "string"
         }
      },
      "intervals": {
         "title": "Intervals",
         "type": "integer"
      },
      "method": {
         "$ref": "#/definitions/DecimationMethod"
      }
   },
   "definitions": {
      "DecimationMethod": {
         "title": "DecimationMethod",
         "description": "Represents the different methods that can be used to decimate data.",
         "enum": [
            "LOSSY",
            "MAX_MIN",
            "ENTRY_EXIT"
         ],
         "type": "string"
      }
   }
}

Fields
  • intervals

  • method

  • x_column

  • y_columns

field intervals: Optional[int] = None¶

Number of intervals to use for decimation. Defaults to 1000.

field method: Optional[DecimationMethod] = None¶

Specifies the method used to decimate the data. Defaults to DecimationMethod.Lossy

field x_column: Optional[str] = None¶

The name of the column that will be used as the x-axis for decimating the data. The column in the table that was specified as Index will be used if this field is excluded. Only numeric columns are supported. i.e. INT32, INT64, FLOAT32, FLOAT64 and TIMESTAMP.

field y_columns: Optional[List[str]] = None¶

A list of columns to decimate by. This property is only needed when the specified method is MAX_MIN or ENTRY_EXIT. Only numeric columns are supported. i.e. INT32, INT64, FLOAT32, FLOAT64 and TIMESTAMP.

pydantic model nisystemlink.clients.dataframe.models.DeleteTablesPartialSuccess[source]¶

The result of deleting multiple tables when one or more tables could not be deleted.

Show JSON schema
{
   "title": "DeleteTablesPartialSuccess",
   "description": "The result of deleting multiple tables when one or more tables could not be deleted.",
   "type": "object",
   "properties": {
      "deletedTableIds": {
         "title": "Deletedtableids",
         "type": "array",
         "items": {
            "type": "string"
         }
      },
      "failedTableIds": {
         "title": "Failedtableids",
         "type": "array",
         "items": {
            "type": "string"
         }
      },
      "error": {
         "$ref": "#/definitions/ApiError"
      }
   },
   "required": [
      "deletedTableIds",
      "failedTableIds",
      "error"
   ],
   "definitions": {
      "ApiError": {
         "title": "ApiError",
         "description": "Represents the standard error structure for SystemLink API responses.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "code": {
               "title": "Code",
               "type": "integer"
            },
            "message": {
               "title": "Message",
               "type": "string"
            },
            "args": {
               "title": "Args",
               "default": [],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "resourceType": {
               "title": "Resourcetype",
               "type": "string"
            },
            "resourceId": {
               "title": "Resourceid",
               "type": "string"
            },
            "innerErrors": {
               "title": "Innererrors",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/ApiError"
               }
            }
         }
      }
   }
}

Fields
  • deleted_table_ids

  • error

  • failed_table_ids

field deleted_table_ids: List[str] [Required]¶

The IDs of the tables that were successfully deleted.

field error: ApiError [Required]¶

The error that occurred when deleting the tables.

field failed_table_ids: List[str] [Required]¶

The IDs of the tables that could not be deleted.

class nisystemlink.clients.dataframe.models.FilterOperation(value)[source]¶

Represents the different operations that can be used in a filter.

pydantic model nisystemlink.clients.dataframe.models.ModifyTableRequest[source]¶

Contains the metadata properties to modify. Values not included will remain unchanged.

Show JSON schema
{
   "title": "ModifyTableRequest",
   "description": "Contains the metadata properties to modify. Values not included will remain unchanged.",
   "type": "object",
   "properties": {
      "metadataRevision": {
         "title": "Metadatarevision",
         "type": "integer"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "workspace": {
         "title": "Workspace",
         "type": "string"
      },
      "properties": {
         "title": "Properties",
         "type": "object",
         "additionalProperties": {
            "type": "string"
         }
      },
      "columns": {
         "title": "Columns",
         "type": "array",
         "items": {
            "$ref": "#/definitions/ColumnMetadataPatch"
         }
      }
   },
   "definitions": {
      "ColumnMetadataPatch": {
         "title": "ColumnMetadataPatch",
         "description": "Specifies column properties to add, modify, or delete when editing table metadata.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "properties": {
               "title": "Properties",
               "type": "object",
               "additionalProperties": {
                  "type": "string"
               }
            }
         },
         "required": [
            "name",
            "properties"
         ]
      }
   }
}

Fields
  • columns

  • metadata_revision

  • name

  • properties

  • workspace

field columns: Optional[List[ColumnMetadataPatch]] = None¶

Updates to the column properties. Cannot add or remove columns, or change the name of a column.

field metadata_revision: Optional[int] = None¶

When specified, this is an integer that must match the last known revision number of the table, incremented by one. If it doesn’t match the current metadataRevision incremented by one at the time of execution, the modify request will be rejected with a 409 Conflict. This is used to ensure that changes to this table’s metadata are based on a known, previous state.

field name: Optional[str] = None¶

The new name of the table. Setting to None will reset the name to the table’s ID.

field properties: Optional[Dict[str, Optional[str]]] = None¶

The properties to modify. A map of key value properties containing the metadata to be added or modified. Setting a property value to None will delete the property.

field workspace: Optional[str] = None¶

The new workspace for the table. Setting to None will reset to the default workspace. Changing the workspace requires permission to delete the table in its current workspace and permission to create the table in its new workspace.

pydantic model nisystemlink.clients.dataframe.models.ModifyTablesPartialSuccess[source]¶

The result of modifying multiple tables when one or more tables could not be modified.

Show JSON schema
{
   "title": "ModifyTablesPartialSuccess",
   "description": "The result of modifying multiple tables when one or more tables could not be modified.",
   "type": "object",
   "properties": {
      "modifiedTableIds": {
         "title": "Modifiedtableids",
         "type": "array",
         "items": {
            "type": "string"
         }
      },
      "failedModifications": {
         "title": "Failedmodifications",
         "type": "array",
         "items": {
            "$ref": "#/definitions/TableMetdataModification"
         }
      },
      "error": {
         "$ref": "#/definitions/ApiError"
      }
   },
   "required": [
      "modifiedTableIds",
      "failedModifications",
      "error"
   ],
   "definitions": {
      "TableMetdataModification": {
         "title": "TableMetdataModification",
         "description": "Contains the metadata properties to modify. Values not included in the\nrequest or included with a ``None`` value will remain unchanged.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "metadataRevision": {
               "title": "Metadatarevision",
               "type": "integer"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "workspace": {
               "title": "Workspace",
               "type": "string"
            },
            "properties": {
               "title": "Properties",
               "type": "object",
               "additionalProperties": {
                  "type": "string"
               }
            }
         },
         "required": [
            "id"
         ]
      },
      "ApiError": {
         "title": "ApiError",
         "description": "Represents the standard error structure for SystemLink API responses.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "code": {
               "title": "Code",
               "type": "integer"
            },
            "message": {
               "title": "Message",
               "type": "string"
            },
            "args": {
               "title": "Args",
               "default": [],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "resourceType": {
               "title": "Resourcetype",
               "type": "string"
            },
            "resourceId": {
               "title": "Resourceid",
               "type": "string"
            },
            "innerErrors": {
               "title": "Innererrors",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/ApiError"
               }
            }
         }
      }
   }
}

Fields
  • error

  • failed_modifications

  • modified_table_ids

field error: ApiError [Required]¶

The error that occurred when modifying the tables.

field failed_modifications: List[TableMetdataModification] [Required]¶

The requested modifications that could not be applied.

field modified_table_ids: List[str] [Required]¶

The IDs of the tables that were successfully modified.

pydantic model nisystemlink.clients.dataframe.models.ModifyTablesRequest[source]¶

Contains one or more table modifications to apply.

Show JSON schema
{
   "title": "ModifyTablesRequest",
   "description": "Contains one or more table modifications to apply.",
   "type": "object",
   "properties": {
      "tables": {
         "title": "Tables",
         "type": "array",
         "items": {
            "$ref": "#/definitions/TableMetdataModification"
         }
      },
      "replace": {
         "title": "Replace",
         "type": "boolean"
      }
   },
   "required": [
      "tables"
   ],
   "definitions": {
      "TableMetdataModification": {
         "title": "TableMetdataModification",
         "description": "Contains the metadata properties to modify. Values not included in the\nrequest or included with a ``None`` value will remain unchanged.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "metadataRevision": {
               "title": "Metadatarevision",
               "type": "integer"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "workspace": {
               "title": "Workspace",
               "type": "string"
            },
            "properties": {
               "title": "Properties",
               "type": "object",
               "additionalProperties": {
                  "type": "string"
               }
            }
         },
         "required": [
            "id"
         ]
      }
   }
}

Fields
  • replace

  • tables

field replace: Optional[bool] = None¶

When true, existing properties are replaced instead of merged.

field tables: List[TableMetdataModification] [Required]¶

The table modifications to apply. Each table may only appear once in the list.

pydantic model nisystemlink.clients.dataframe.models.Operation[source]¶

Represents an operation that can be performed on a data frame.

Show JSON schema
{
   "title": "Operation",
   "description": "Represents an operation that can be performed on a data frame.",
   "type": "object",
   "properties": {
      "available": {
         "title": "Available",
         "type": "boolean"
      },
      "version": {
         "title": "Version",
         "type": "integer"
      }
   },
   "required": [
      "available",
      "version"
   ]
}

Fields
  • available

  • version

field available: bool [Required]¶

Whether or not the operation is available to the caller (e.g. due to permissions).

field version: int [Required]¶

The version of the available operation.

pydantic model nisystemlink.clients.dataframe.models.OperationsV1[source]¶

The operations available in the routes provided by the v1 HTTP API.

Show JSON schema
{
   "title": "OperationsV1",
   "description": "The operations available in the routes provided by the v1 HTTP API.",
   "type": "object",
   "properties": {
      "createTables": {
         "$ref": "#/definitions/Operation"
      },
      "deleteTables": {
         "$ref": "#/definitions/Operation"
      },
      "modifyMetadata": {
         "$ref": "#/definitions/Operation"
      },
      "listTables": {
         "$ref": "#/definitions/Operation"
      },
      "readData": {
         "$ref": "#/definitions/Operation"
      },
      "writeData": {
         "$ref": "#/definitions/Operation"
      }
   },
   "required": [
      "createTables",
      "deleteTables",
      "modifyMetadata",
      "listTables",
      "readData",
      "writeData"
   ],
   "definitions": {
      "Operation": {
         "title": "Operation",
         "description": "Represents an operation that can be performed on a data frame.",
         "type": "object",
         "properties": {
            "available": {
               "title": "Available",
               "type": "boolean"
            },
            "version": {
               "title": "Version",
               "type": "integer"
            }
         },
         "required": [
            "available",
            "version"
         ]
      }
   }
}

Fields
  • create_tables

  • delete_tables

  • list_tables

  • modify_metadata

  • read_data

  • write_data

field create_tables: Operation [Required]¶

The ability to create new DataFrame tables.

field delete_tables: Operation [Required]¶

The ability to delete tables and all of their data.

field list_tables: Operation [Required]¶

The ability to locate and read metadata for tables.

field modify_metadata: Operation [Required]¶

The ability to modify metadata for tables.

field read_data: Operation [Required]¶

The ability to query and read data from tables.

field write_data: Operation [Required]¶

The ability to append rows of data to tables.

pydantic model nisystemlink.clients.dataframe.models.PagedTableRows[source]¶

Contains the result of a query for rows of data.

Show JSON schema
{
   "title": "PagedTableRows",
   "description": "Contains the result of a query for rows of data.",
   "type": "object",
   "properties": {
      "continuationToken": {
         "title": "Continuationtoken",
         "type": "string"
      },
      "frame": {
         "$ref": "#/definitions/DataFrame"
      },
      "totalRowCount": {
         "title": "Totalrowcount",
         "type": "integer"
      }
   },
   "required": [
      "frame",
      "totalRowCount"
   ],
   "definitions": {
      "DataFrame": {
         "title": "DataFrame",
         "description": "Data read from or to be written to a table.\n\nValues may be ``None`` (if the column is of type ``NULLABLE``) or encoded as\na string in a format according to each column's datatype:\n\n* BOOL: One of ``\"true\"`` or ``\"false\"``, case-insensitive.\n* INT32: Any integer number in the range [-2147483648, 2147483647],\n  surrounded by quotes.\n* INT64: Any integer number in the range [-9223372036854775808,\n  9223372036854775807], surrounded by quotes.\n* FLOAT32: A decimal number using a period for the decimal point, optionally\n  in scientific notation, in the range [-3.40282347E+38, 3.40282347E+38],\n  surrounded by quotes. Not all values within the range can be represented\n  with 32 bits. To preserve the exact binary encoding of the value when\n  converting to a string, clients should serialize 9 digits after the\n  decimal. Instead of a number, the value may be ``\"NaN\"`` (not a number),\n  ``\"Infinity\"`` (positive infinity), or ``\"-Infinity\"`` (negative\n  infinity), case-sensitive.\n* FLOAT64: A decimal number using a period for the decimal point, optionally\n  in scientific notation, in the range [-1.7976931348623157E+308,\n  1.7976931348623157E+308], surrounded by quotes. Not all values within the\n  range can be represented with 64 bits. To preserve the exact binary\n  encoding of the value when converting to a string, clients should\n  serialize 17 digits after the decimal. Instead of a number, the value may\n  be ``\"NaN\"`` (not a number), ``\"Infinity\"`` (positive infinity), or\n  ``\"-Infinity\"`` (negative infinity), case-sensitive.\n* STRING: Any quoted string.\n* TIMESTAMP: A date and time with millisecond precision in ISO-8601 format\n  and time zone. For example: ``\"2022-08-19T16:17:30.123Z\"``. If a time zone\n  is not provided, UTC is assumed. If a time zone other than UTC is\n  provided, the value will be converted to UTC. If more than three digits of\n  fractional seconds are provided, the time will be truncated to three\n  digits (i.e. milliseconds).\n\nThe format is the same as a serialized Pandas DataFrame with orient=\"split\"\nand index=False. See\nhttps://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_json.html.\n\nWhen providing a DataFrame for appending rows, any of the table's columns\nnot specified will receive a value of ``None``. If any such columns aren't\nnullable, an error will be returned. If the entire columns property is left\nout, each row is assumed to contain all columns in the order specified when\nthe table was created.",
         "type": "object",
         "properties": {
            "columns": {
               "title": "Columns",
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "data": {
               "title": "Data",
               "type": "array",
               "items": {
                  "type": "array",
                  "items": {
                     "type": "string"
                  }
               }
            }
         },
         "required": [
            "data"
         ]
      }
   }
}

Fields
  • frame

  • total_row_count

field frame: DataFrame [Required]¶

The data frame containing the rows of data.

field total_row_count: int [Required]¶

The total number of rows matched by the query across all pages of results.

pydantic model nisystemlink.clients.dataframe.models.PagedTables[source]¶

The response for a table query containing the matched tables.

Show JSON schema
{
   "title": "PagedTables",
   "description": "The response for a table query containing the matched tables.",
   "type": "object",
   "properties": {
      "continuationToken": {
         "title": "Continuationtoken",
         "type": "string"
      },
      "tables": {
         "title": "Tables",
         "type": "array",
         "items": {
            "$ref": "#/definitions/TableMetadata"
         }
      }
   },
   "required": [
      "tables"
   ],
   "definitions": {
      "DataType": {
         "title": "DataType",
         "description": "Represents the different data types for a table column.",
         "enum": [
            "BOOL",
            "FLOAT32",
            "FLOAT64",
            "INT32",
            "INT64",
            "STRING",
            "TIMESTAMP"
         ],
         "type": "string"
      },
      "ColumnType": {
         "title": "ColumnType",
         "description": "Represents the different column types for a table column.",
         "enum": [
            "NORMAL",
            "INDEX",
            "NULLABLE"
         ],
         "type": "string"
      },
      "Column": {
         "title": "Column",
         "description": "Defines a single column in a table.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "dataType": {
               "$ref": "#/definitions/DataType"
            },
            "columnType": {
               "default": "NORMAL",
               "allOf": [
                  {
                     "$ref": "#/definitions/ColumnType"
                  }
               ]
            },
            "properties": {
               "title": "Properties",
               "type": "object",
               "additionalProperties": {
                  "type": "string"
               }
            }
         },
         "required": [
            "name",
            "dataType"
         ]
      },
      "TableMetadata": {
         "title": "TableMetadata",
         "description": "Contains information about a table, including its properties and column definitions.",
         "type": "object",
         "properties": {
            "columns": {
               "title": "Columns",
               "type": "array",
               "items": {
                  "$ref": "#/definitions/Column"
               }
            },
            "createdAt": {
               "title": "Createdat",
               "type": "string",
               "format": "date-time"
            },
            "id": {
               "title": "Id",
               "type": "string"
            },
            "metadataModifiedAt": {
               "title": "Metadatamodifiedat",
               "type": "string",
               "format": "date-time"
            },
            "metadataRevision": {
               "title": "Metadatarevision",
               "type": "integer"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "properties": {
               "title": "Properties",
               "type": "object",
               "additionalProperties": {
                  "type": "string"
               }
            },
            "rowCount": {
               "title": "Rowcount",
               "type": "integer"
            },
            "rowsModifiedAt": {
               "title": "Rowsmodifiedat",
               "type": "string",
               "format": "date-time"
            },
            "supportsAppend": {
               "title": "Supportsappend",
               "type": "boolean"
            },
            "workspace": {
               "title": "Workspace",
               "type": "string"
            }
         },
         "required": [
            "columns",
            "createdAt",
            "id",
            "metadataModifiedAt",
            "metadataRevision",
            "name",
            "properties",
            "rowCount",
            "rowsModifiedAt",
            "supportsAppend",
            "workspace"
         ]
      }
   }
}

Fields
  • tables

field tables: List[TableMetadata] [Required]¶

The list of tables returned by the query.

pydantic model nisystemlink.clients.dataframe.models.QueryDecimatedDataRequest[source]¶

Specifies the columns, filters and decimation parameters for a query.

Show JSON schema
{
   "title": "QueryDecimatedDataRequest",
   "description": "Specifies the columns, filters and decimation parameters for a query.",
   "type": "object",
   "properties": {
      "columns": {
         "title": "Columns",
         "type": "array",
         "items": {
            "type": "string"
         }
      },
      "filters": {
         "title": "Filters",
         "type": "array",
         "items": {
            "$ref": "#/definitions/ColumnFilter"
         }
      },
      "decimation": {
         "$ref": "#/definitions/DecimationOptions"
      }
   },
   "definitions": {
      "FilterOperation": {
         "title": "FilterOperation",
         "description": "Represents the different operations that can be used in a filter.",
         "enum": [
            "EQUALS",
            "NOT_EQUALS",
            "LESS_THAN",
            "LESS_THAN_EQUALS",
            "GREATER_THAN",
            "GREATER_THAN_EQUALS",
            "CONTAINS",
            "NOT_CONTAINS"
         ],
         "type": "string"
      },
      "ColumnFilter": {
         "title": "ColumnFilter",
         "description": "A filter to apply to the table data.",
         "type": "object",
         "properties": {
            "column": {
               "title": "Column",
               "type": "string"
            },
            "operation": {
               "$ref": "#/definitions/FilterOperation"
            },
            "value": {
               "title": "Value",
               "type": "string"
            }
         },
         "required": [
            "column",
            "operation"
         ]
      },
      "DecimationMethod": {
         "title": "DecimationMethod",
         "description": "Represents the different methods that can be used to decimate data.",
         "enum": [
            "LOSSY",
            "MAX_MIN",
            "ENTRY_EXIT"
         ],
         "type": "string"
      },
      "DecimationOptions": {
         "title": "DecimationOptions",
         "description": "Contains the parameters to use for data decimation.",
         "type": "object",
         "properties": {
            "xColumn": {
               "title": "Xcolumn",
               "type": "string"
            },
            "yColumns": {
               "title": "Ycolumns",
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "intervals": {
               "title": "Intervals",
               "type": "integer"
            },
            "method": {
               "$ref": "#/definitions/DecimationMethod"
            }
         }
      }
   }
}

Fields
  • decimation

field decimation: Optional[DecimationOptions] = None¶

The decimation options to use when querying data. If not specified, the default is to use DecimationMethod.Lossy with 1000 intervals over the table’s index column.

pydantic model nisystemlink.clients.dataframe.models.QueryTableDataRequest[source]¶

Contains the filtering and sorting options to use when querying table data.

Show JSON schema
{
   "title": "QueryTableDataRequest",
   "description": "Contains the filtering and sorting options to use when querying table data.",
   "type": "object",
   "properties": {
      "continuationToken": {
         "title": "Continuationtoken",
         "type": "string"
      },
      "columns": {
         "title": "Columns",
         "type": "array",
         "items": {
            "type": "string"
         }
      },
      "filters": {
         "title": "Filters",
         "type": "array",
         "items": {
            "$ref": "#/definitions/ColumnFilter"
         }
      },
      "orderBy": {
         "title": "Orderby",
         "type": "array",
         "items": {
            "$ref": "#/definitions/ColumnOrderBy"
         }
      },
      "take": {
         "title": "Take",
         "type": "integer"
      }
   },
   "definitions": {
      "FilterOperation": {
         "title": "FilterOperation",
         "description": "Represents the different operations that can be used in a filter.",
         "enum": [
            "EQUALS",
            "NOT_EQUALS",
            "LESS_THAN",
            "LESS_THAN_EQUALS",
            "GREATER_THAN",
            "GREATER_THAN_EQUALS",
            "CONTAINS",
            "NOT_CONTAINS"
         ],
         "type": "string"
      },
      "ColumnFilter": {
         "title": "ColumnFilter",
         "description": "A filter to apply to the table data.",
         "type": "object",
         "properties": {
            "column": {
               "title": "Column",
               "type": "string"
            },
            "operation": {
               "$ref": "#/definitions/FilterOperation"
            },
            "value": {
               "title": "Value",
               "type": "string"
            }
         },
         "required": [
            "column",
            "operation"
         ]
      },
      "ColumnOrderBy": {
         "title": "ColumnOrderBy",
         "description": "Specifies a column to order by and the ordering direction.",
         "type": "object",
         "properties": {
            "column": {
               "title": "Column",
               "type": "string"
            },
            "descending": {
               "title": "Descending",
               "type": "boolean"
            }
         },
         "required": [
            "column"
         ]
      }
   }
}

Fields
  • order_by

  • take

field order_by: Optional[List[ColumnOrderBy]] = None¶

A list of columns to order the results by. Multiple columns may be specified to order rows that have the same value for prior columns. The columns used for sorting do not need to be included in the columns list, in which case they are not returned. If order_by is not specified, then the order in which results are returned is undefined.

field take: Optional[int] = None¶

Limits the returned list to the specified number of results.

pydantic model nisystemlink.clients.dataframe.models.QueryTablesRequest[source]¶

Request parameters for querying tables.

Show JSON schema
{
   "title": "QueryTablesRequest",
   "description": "Request parameters for querying tables.",
   "type": "object",
   "properties": {
      "continuationToken": {
         "title": "Continuationtoken",
         "type": "string"
      },
      "filter": {
         "title": "Filter",
         "type": "string"
      },
      "substitutions": {
         "title": "Substitutions",
         "type": "array",
         "items": {
            "anyOf": [
               {
                  "type": "integer"
               },
               {
                  "type": "boolean"
               },
               {
                  "type": "string"
               }
            ]
         }
      },
      "referenceTime": {
         "title": "Referencetime",
         "type": "string",
         "format": "date-time"
      },
      "take": {
         "title": "Take",
         "type": "integer"
      },
      "orderBy": {
         "title": "Orderby",
         "enum": [
            "CREATED_AT",
            "METADATA_MODIFIED_AT",
            "NAME",
            "NUMBER_OF_ROWS",
            "ROWS_MODIFIED_AT"
         ],
         "type": "string"
      },
      "orderByDescending": {
         "title": "Orderbydescending",
         "type": "boolean"
      }
   },
   "required": [
      "filter"
   ]
}

Fields
  • filter

  • order_by

  • order_by_descending

  • reference_time

  • substitutions

  • take

field filter: str [Required]¶

The table query filter in Dynamic LINQ format.

Allowed properties in the filter are:

  • createdAt: DateTime the table was created

  • createdWithin: TimeSpan in which the table was created

  • id: String value uniquely identifying the table

  • name: String name for the table

  • metadataModifiedAt: DateTime the table’s metadata was last modified

  • metadataModifiedWithin: TimeSpan in which the table’s metadata was last modified

  • properties: Dictionary with string keys and values representing table metadata

  • rowsModifiedAt: DateTime rows were last appended to the table

  • rowsModifiedWithin: TimeSpan within rows were last appended to the table

  • rowCount: Int32 number of rows in the table

  • supportsAppend: Boolean indicating whether or not the table supports appending additional rows of data

  • workspace: String value ID of the workspace the table belongs to

  • workspaceName: String value name of the workspace the table belongs to

Allowed constants in the filter are:

  • RelativeTime.CurrentDay: TimeSpan representing the elapsed time between now and the start of the current day

  • RelativeTime.CurrentWeek: TimeSpan representing the elapsed time between now and the start of the current week

  • RelativeTime.CurrentMonth: TimeSpan representing the elapsed time between now and the start of the current month

  • RelativeTime.CurrentYear: TimeSpan representing the elapsed time between now and the start of the current year

field order_by: Optional[Literal['CREATED_AT', 'METADATA_MODIFIED_AT', 'NAME', 'NUMBER_OF_ROWS', 'ROWS_MODIFIED_AT']] = None¶

The sort order of the returned list of tables.

field order_by_descending: Optional[bool] = None¶

Whether to sort descending instead of ascending.

The elements in the list are sorted ascending by default. If the orderByDescending parameter is specified, the elements in the list are sorted based on it’s value. The orderByDescending value must be a boolean string. The elements in the list are sorted ascending if false and descending if true.

field reference_time: Optional[datetime] = None¶

The date and time to use as the reference point for RelativeTime filters, including time zone information. Defaults to the time on the server in UTC.

field substitutions: Optional[List[Union[StrictInt, StrictBool, str, None]]] = None¶

Make substitutions in the query filter expression.

Substitutions for the query expression are indicated by non-negative integers that are prefixed with the @ symbol. Each substitution in the given expression will be replaced by the element at the corresponding index (zero-based) in this list. For example, @0 in the filter expression will be replaced with the element at the zeroth index of the substitutions list.

field take: Optional[int] = None¶

Limits the returned list to the specified number of results.

pydantic model nisystemlink.clients.dataframe.models.TableMetadata[source]¶

Contains information about a table, including its properties and column definitions.

Show JSON schema
{
   "title": "TableMetadata",
   "description": "Contains information about a table, including its properties and column definitions.",
   "type": "object",
   "properties": {
      "columns": {
         "title": "Columns",
         "type": "array",
         "items": {
            "$ref": "#/definitions/Column"
         }
      },
      "createdAt": {
         "title": "Createdat",
         "type": "string",
         "format": "date-time"
      },
      "id": {
         "title": "Id",
         "type": "string"
      },
      "metadataModifiedAt": {
         "title": "Metadatamodifiedat",
         "type": "string",
         "format": "date-time"
      },
      "metadataRevision": {
         "title": "Metadatarevision",
         "type": "integer"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "properties": {
         "title": "Properties",
         "type": "object",
         "additionalProperties": {
            "type": "string"
         }
      },
      "rowCount": {
         "title": "Rowcount",
         "type": "integer"
      },
      "rowsModifiedAt": {
         "title": "Rowsmodifiedat",
         "type": "string",
         "format": "date-time"
      },
      "supportsAppend": {
         "title": "Supportsappend",
         "type": "boolean"
      },
      "workspace": {
         "title": "Workspace",
         "type": "string"
      }
   },
   "required": [
      "columns",
      "createdAt",
      "id",
      "metadataModifiedAt",
      "metadataRevision",
      "name",
      "properties",
      "rowCount",
      "rowsModifiedAt",
      "supportsAppend",
      "workspace"
   ],
   "definitions": {
      "DataType": {
         "title": "DataType",
         "description": "Represents the different data types for a table column.",
         "enum": [
            "BOOL",
            "FLOAT32",
            "FLOAT64",
            "INT32",
            "INT64",
            "STRING",
            "TIMESTAMP"
         ],
         "type": "string"
      },
      "ColumnType": {
         "title": "ColumnType",
         "description": "Represents the different column types for a table column.",
         "enum": [
            "NORMAL",
            "INDEX",
            "NULLABLE"
         ],
         "type": "string"
      },
      "Column": {
         "title": "Column",
         "description": "Defines a single column in a table.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "dataType": {
               "$ref": "#/definitions/DataType"
            },
            "columnType": {
               "default": "NORMAL",
               "allOf": [
                  {
                     "$ref": "#/definitions/ColumnType"
                  }
               ]
            },
            "properties": {
               "title": "Properties",
               "type": "object",
               "additionalProperties": {
                  "type": "string"
               }
            }
         },
         "required": [
            "name",
            "dataType"
         ]
      }
   }
}

Fields
  • columns

  • created_at

  • id

  • metadata_modified_at

  • metadata_revision

  • name

  • properties

  • row_count

  • rows_modified_at

  • supports_append

  • workspace

field columns: List[Column] [Required]¶

The list of columns in the table.

field created_at: datetime [Required]¶

The date and time the table was created.

field id: str [Required]¶

The table’s unique identifier.

field metadata_modified_at: datetime [Required]¶

The date and time the table’s metadata was last modified.

field metadata_revision: int [Required]¶

The table’s metadata revision number, incremented each time the metadata is modified.

field name: str [Required]¶

The name associated with the table.

field properties: Dict[str, str] [Required]¶

User-defined properties associated with the table.

field row_count: int [Required]¶

The number of rows in the table.

field rows_modified_at: datetime [Required]¶

The date and time the table’s data was last modified.

field supports_append: bool [Required]¶

Whether the table supports appending additional rows of data.

field workspace: str [Required]¶

The workspace the table belongs to.

pydantic model nisystemlink.clients.dataframe.models.TableMetdataModification[source]¶

Contains the metadata properties to modify. Values not included in the request or included with a None value will remain unchanged.

Show JSON schema
{
   "title": "TableMetdataModification",
   "description": "Contains the metadata properties to modify. Values not included in the\nrequest or included with a ``None`` value will remain unchanged.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "metadataRevision": {
         "title": "Metadatarevision",
         "type": "integer"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "workspace": {
         "title": "Workspace",
         "type": "string"
      },
      "properties": {
         "title": "Properties",
         "type": "object",
         "additionalProperties": {
            "type": "string"
         }
      }
   },
   "required": [
      "id"
   ]
}

Fields
  • id

  • metadata_revision

  • name

  • properties

  • workspace

field id: str [Required]¶

The ID of the table to modify.

field metadata_revision: Optional[int] = None¶

When specified, this is an integer that must match the last known revision number of the table, incremented by one. If it doesn’t match the current metadataRevision incremented by one at the time of execution, the modify request will be rejected with a conflict error. This is used to ensure that changes to this table’s metadata are based on a known, previous state.

field name: Optional[str] = None¶

The new name of the table.

field properties: Optional[Dict[str, Optional[str]]] = None¶

The properties to modify. A map of key value properties containing the metadata to be added or modified. Setting a property value to None will delete the property. Existing properties not included in the map are unaffected unless replace is true in the top-level request object.

field workspace: Optional[str] = None¶

The new workspace for the table. Changing the workspace requires permission to delete the table in its current workspace and permission to create the table in its new workspace.

pydantic model nisystemlink.clients.dataframe.models.TableRows[source]¶

Contains the result of a query for rows of decimated data.

Show JSON schema
{
   "title": "TableRows",
   "description": "Contains the result of a query for rows of decimated data.",
   "type": "object",
   "properties": {
      "frame": {
         "$ref": "#/definitions/DataFrame"
      }
   },
   "required": [
      "frame"
   ],
   "definitions": {
      "DataFrame": {
         "title": "DataFrame",
         "description": "Data read from or to be written to a table.\n\nValues may be ``None`` (if the column is of type ``NULLABLE``) or encoded as\na string in a format according to each column's datatype:\n\n* BOOL: One of ``\"true\"`` or ``\"false\"``, case-insensitive.\n* INT32: Any integer number in the range [-2147483648, 2147483647],\n  surrounded by quotes.\n* INT64: Any integer number in the range [-9223372036854775808,\n  9223372036854775807], surrounded by quotes.\n* FLOAT32: A decimal number using a period for the decimal point, optionally\n  in scientific notation, in the range [-3.40282347E+38, 3.40282347E+38],\n  surrounded by quotes. Not all values within the range can be represented\n  with 32 bits. To preserve the exact binary encoding of the value when\n  converting to a string, clients should serialize 9 digits after the\n  decimal. Instead of a number, the value may be ``\"NaN\"`` (not a number),\n  ``\"Infinity\"`` (positive infinity), or ``\"-Infinity\"`` (negative\n  infinity), case-sensitive.\n* FLOAT64: A decimal number using a period for the decimal point, optionally\n  in scientific notation, in the range [-1.7976931348623157E+308,\n  1.7976931348623157E+308], surrounded by quotes. Not all values within the\n  range can be represented with 64 bits. To preserve the exact binary\n  encoding of the value when converting to a string, clients should\n  serialize 17 digits after the decimal. Instead of a number, the value may\n  be ``\"NaN\"`` (not a number), ``\"Infinity\"`` (positive infinity), or\n  ``\"-Infinity\"`` (negative infinity), case-sensitive.\n* STRING: Any quoted string.\n* TIMESTAMP: A date and time with millisecond precision in ISO-8601 format\n  and time zone. For example: ``\"2022-08-19T16:17:30.123Z\"``. If a time zone\n  is not provided, UTC is assumed. If a time zone other than UTC is\n  provided, the value will be converted to UTC. If more than three digits of\n  fractional seconds are provided, the time will be truncated to three\n  digits (i.e. milliseconds).\n\nThe format is the same as a serialized Pandas DataFrame with orient=\"split\"\nand index=False. See\nhttps://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_json.html.\n\nWhen providing a DataFrame for appending rows, any of the table's columns\nnot specified will receive a value of ``None``. If any such columns aren't\nnullable, an error will be returned. If the entire columns property is left\nout, each row is assumed to contain all columns in the order specified when\nthe table was created.",
         "type": "object",
         "properties": {
            "columns": {
               "title": "Columns",
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "data": {
               "title": "Data",
               "type": "array",
               "items": {
                  "type": "array",
                  "items": {
                     "type": "string"
                  }
               }
            }
         },
         "required": [
            "data"
         ]
      }
   }
}

Fields
  • frame

field frame: DataFrame [Required]¶

The data frame containing the rows of data.

Previous

© Copyright 2020, National Instruments Revision efb1a790.

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: stable
Versions
latest
stable
v1.0.1
v0.1.3
Downloads
pdf
epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.