benchling_sdk.services.v2.beta.v2_beta_data_frame_service module

class V2BetaDataFrameService

Bases: benchling_sdk.services.v2.base_service.BaseService

V2-Beta Data Frames.

Data Frames are Benchling objects that represent tabular data with typed columns and rows of data.

See https://benchling.com/api/v2-beta/reference#/Data%20Frames

create(data_frame: benchling_api_client.v2.beta.models.data_frame_create.DataFrameCreate) benchling_api_client.v2.beta.models.data_frame.DataFrame

Create a data frame.

See https://benchling.com/api/v2-beta/reference#/Data%20Frames/createDataFrame

create_from_bytes(data_frame: benchling_api_client.v2.beta.models.data_frame_create.DataFrameCreate, input_bytes: Union[_io.BytesIO, bytes], timeout_seconds: float = _DEFAULT_HTTP_TIMEOUT_UPLOAD_DATA_FRAME) AsyncTaskLink

Create a data frame from bytes or BytesIO data.

Parameters
  • data_frame – The DataFrameCreate specification for the data. This must be provided, as it cannot be inferred from file names.

  • input_bytes – Data to upload as bytes or BytesIO

  • timeout_seconds – Extends the normal HTTP timeout settings since DataFrame uploads can be large Use this to extend even further if streams are very large

Returns

An AsyncTaskLink that can be polled to know when the data frame has completed processing

Return type

AsyncTaskLink

create_from_file(file: Path, data_frame: Optional[benchling_api_client.v2.beta.models.data_frame_create.DataFrameCreate] = None, timeout_seconds: float = _DEFAULT_HTTP_TIMEOUT_UPLOAD_DATA_FRAME) AsyncTaskLink

Create a data frame from file data.

Parameters
  • file – A valid Path to an existing file containing the data to upload

  • data_frame – The DataFrameCreate specification for the data. If not provided, it will be inferred from the file name

  • timeout_seconds – Extends the normal HTTP timeout settings since DataFrame uploads can be large Use this to extend even further if streams are very large

Returns

An AsyncTaskLink that can be polled to know when the data frame has completed processing

Return type

AsyncTaskLink

download_data_frame_bytes(data_frame: benchling_api_client.v2.beta.models.data_frame.DataFrame, timeout_seconds: float = _DEFAULT_HTTP_TIMEOUT_UPLOAD_DATA_FRAME) List[_io.BytesIO]

Download data frame data to bytes.

Parameters
  • data_frame – The data frame to download

  • timeout_seconds – Extends the normal HTTP timeout settings since DataFrame uploads can be large Use this to extend even further if streams are very large

Returns

An ordered list of BytesIO streams corresponding to a manifest item in the data frame

Return type

List[BytesIO]

download_data_frame_bytes_by_id(data_frame_id: str, timeout_seconds: float = _DEFAULT_HTTP_TIMEOUT_UPLOAD_DATA_FRAME) List[_io.BytesIO]

Download data frame data to files by data_frame_id.

Fetches the data frame first, then downloads the files.

Parameters
  • data_frame_id – The id of the data frame to download

  • timeout_seconds – Extends the normal HTTP timeout settings since DataFrame uploads can be large Use this to extend even further if streams are very large

Returns

An ordered list of BytesIO streams corresponding to a manifest item in the data frame

Return type

List[BytesIO]

download_data_frame_files(data_frame: benchling_api_client.v2.beta.models.data_frame.DataFrame, destination_path: Optional[Path] = None, timeout_seconds: float = _DEFAULT_HTTP_TIMEOUT_UPLOAD_DATA_FRAME) List[Path]

Download data frame data to files.

Parameters
  • data_frame – The data frame to download

  • destination_path – A target directory to place the files. File names will be created based on the manifest item file names. If not specified, a temp directory will be created. The caller is responsible for deleting this directory.

  • timeout_seconds – Extends the normal HTTP timeout settings since DataFrame uploads can be large Use this to extend even further if streams are very large

Returns

An ordered list of downloaded file paths corresponding to a manifest item in the data frame

Return type

List[Path]

download_data_frame_files_by_id(data_frame_id: str, destination_path: Optional[Path] = None, timeout_seconds: float = _DEFAULT_HTTP_TIMEOUT_UPLOAD_DATA_FRAME) List[Path]

Download data frame data to files by data_frame_id.

Fetches the data frame first, then downloads the files.

Parameters
  • data_frame_id – The id of the data frame to download

  • destination_path – A target directory to place the files. File names will be created based on the manifest item file names. If not specified, a temp directory will be created. The caller is responsible for deleting this directory.

  • timeout_seconds – Extends the normal HTTP timeout settings since DataFrame uploads can be large Use this to extend even further if streams are very large

Returns

An ordered list of downloaded file paths corresponding to a manifest item in the data frame

Return type

List[Path]

get_by_id(data_frame_id: str) benchling_api_client.v2.beta.models.data_frame.DataFrame

Get a data frame and URLs to download its data.

See https://benchling.com/api/v2-beta/reference#/Data%20Frames/getDataFrame

update(data_frame_id: str, data_frame: benchling_api_client.v2.beta.models.data_frame_update.DataFrameUpdate) AsyncTaskLink

Update a data frame.

See https://benchling.com/api/v2-beta/reference#/Data%20Frames/patchDataFrame

upload_bytes(url: str, input_bytes: Union[_io.BytesIO, bytes], timeout_seconds: float = _DEFAULT_HTTP_TIMEOUT_UPLOAD_DATA_FRAME) None

Upload bytes to an existing data frame.

Parameters
  • url – The url provided by Benchling for uploading to the data frame

  • input_bytes – Data to upload as bytes or BytesIO

  • timeout_seconds – Extends the normal HTTP timeout settings since DataFrame uploads can be large Use this to extend even further if streams are very large

upload_file(url: str, file: Path, timeout_seconds: float = _DEFAULT_HTTP_TIMEOUT_UPLOAD_DATA_FRAME) None

Upload a file to an existing data frame.

Parameters
  • url – The url provided by Benchling for uploading to the data frame

  • file – A valid Path to an existing file containing the data to upload

  • timeout_seconds – Extends the normal HTTP timeout settings since DataFrame uploads can be large Use this to extend even further if streams are very large