| | from typing import Any, Literal, Optional, Union |
| |
|
| | from pandas import DataFrame |
| |
|
| |
|
| | class Table: |
| | """ |
| | Initializes a Table object. |
| | |
| | Args: |
| | columns (`list[str]`, *optional*, defaults to `None`): |
| | Names of the columns in the table. Optional if `data` is provided. Not |
| | expected if `dataframe` is provided. Currently ignored. |
| | data (`list[list[Any]]`, *optional*, defaults to `None`): |
| | 2D row-oriented array of values. |
| | dataframe (`pandas.`DataFrame``, *optional*, defaults to `None`): |
| | DataFrame object used to create the table. When set, `data` and `columns` |
| | arguments are ignored. |
| | rows (`list[list[any]]`, *optional*, defaults to `None`): |
| | Currently ignored. |
| | optional (`bool` or `list[bool]`, *optional*, defaults to `True`): |
| | Currently ignored. |
| | allow_mixed_types (`bool`, *optional*, defaults to `False`): |
| | Currently ignored. |
| | log_mode: (`Literal["IMMUTABLE", "MUTABLE", "INCREMENTAL"]` or `None`, *optional*, defaults to `"IMMUTABLE"`): |
| | Currently ignored. |
| | """ |
| |
|
| | TYPE = "trackio.table" |
| |
|
| | def __init__( |
| | self, |
| | columns: Optional[list[str]] = None, |
| | data: Optional[list[list[Any]]] = None, |
| | dataframe: Optional[DataFrame] = None, |
| | rows: Optional[list[list[Any]]] = None, |
| | optional: Union[bool, list[bool]] = True, |
| | allow_mixed_types: bool = False, |
| | log_mode: Optional[ |
| | Literal["IMMUTABLE", "MUTABLE", "INCREMENTAL"] |
| | ] = "IMMUTABLE", |
| | ): |
| | |
| | |
| |
|
| | if dataframe is None: |
| | self.data = data |
| | else: |
| | self.data = dataframe.to_dict(orient="records") |
| |
|
| | def _to_dict(self): |
| | return { |
| | "_type": self.TYPE, |
| | "_value": self.data, |
| | } |
| |
|