benchling_sdk.helpers.transaction_manager module¶
- class AbortTransactionCall¶
Bases:
Protocol
Provide an interface for aborting an uncommitted transaction.
- __init__(*args, **kwargs)¶
- class AppendRowsCall¶
Bases:
Protocol
Provide an interface for appending rows to an existing transaction.
- __init__(*args, **kwargs)¶
- class CommitTransactionCall¶
Bases:
Protocol
Provide an interface for committing a transaction.
- __init__(*args, **kwargs)¶
- class CreateTransactionCall¶
Bases:
Protocol
Provide an interface for creating a new transaction.
- __init__(*args, **kwargs)¶
- class TransactionManager¶
Bases:
contextlib.AbstractContextManager
Manage transactions in Benchling in a generic way across various implementations.
Implements a Python context manager, managing state for a Benchling transaction. Upon exit, the transaction manager will automatically attempt to commit the transaction. If an error is encountered, it will instead abort the transaction and re-raise the error.
- __init__(create_transaction_call: CreateTransactionCall, commit_transaction_call: CommitTransactionCall, abort_transaction_call: AbortTransactionCall, append_row_call: AppendRowsCall)¶
Initialize TransactionManager.
- Parameters
create_transaction_call – A function for creating a transaction
commit_transaction_call – A function for committing a transaction
abort_transaction_call – A function for aborting a transaction
append_row_call – A function for appending a row to an existing transaction