# Module transaction (2.27.0)

2.27.0 (latest) 2.26.0 2.23.0 2.22.0 2.21.0 2.20.2 2.19.0 2.18.0 2.17.2 2.16.1 2.15.0 2.14.0 2.13.1 2.12.0 2.11.1 2.10.1 2.9.1 2.8.0 2.7.3 2.6.1 2.5.3 2.4.0 2.3.4 2.2.0 2.1.3 2.0.2 1.9.2 1.8.1 1.7.0 1.6.2 1.5.0 1.4.0 1.3.0 Helpers for applying Google Cloud Firestore changes in a transaction.

## Classes

### [Transaction](https://docs.cloud.google.com/python/docs/reference/firestore/latest/google.cloud.firestore_v1.transaction.Transaction)

    Transaction(client, max_attempts=5, read_only=False)

Accumulate read-and-write operations to be sent in a transaction.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `client` | `https://docs.cloud.google.com/python/docs/reference/firestore/latest/google.cloud.firestore_v1.client.Client` The client that created this transaction. |
| `max_attempts` | `Optional[int]` The maximum number of attempts for the transaction (i.e. allowing retries). Defaults to MAX_ATTEMPTS. |
| `read_only` | `Optional[bool]` Flag indicating if the transaction should be read-only or should allow writes. Defaults to :data:`False`. |

## Modules
Functions

### transactional

    transactional(
        to_wrap: typing.Callable,
    ) -> google.cloud.firestore_v1.transaction._Transactional

Decorate a callable so that it runs in a transaction.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `Callable[[https://docs.cloud.google.com/python/docs/reference/firestore/latest/google.cloud.firestore_v1.transaction.Transaction, ...], Any]` | the wrapped callable. |