Google Cloud Bigtable Row for sending append mutations.
These mutations are intended to augment the value of an existing cell
and uses the methods:
append_cell_value
increment_cell_value
The first works by appending bytes and the second by incrementing an
integer (stored in the cell as 8 bytes). In either case, if the
cell is empty, assumes the default empty value (empty string for
bytes or 0 for integer).
Google Cloud Bigtable Row for sending mutations conditionally.
Each mutation has an associated state: :data:Trueor :data:False.
Whencommit-ed, the mutations for the :data:Truestate will be applied if the filter matches any cells in
the row, otherwise the :data:Falsestate will be applied.
AConditionalRowaccumulates mutations in the same way aDirectRowdoes:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Module row (2.32.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.32.0 (latest)](/python/docs/reference/bigtable/latest/google.cloud.bigtable.row)\n- [2.31.0](/python/docs/reference/bigtable/2.31.0/google.cloud.bigtable.row)\n- [2.30.1](/python/docs/reference/bigtable/2.30.1/google.cloud.bigtable.row)\n- [2.29.0](/python/docs/reference/bigtable/2.29.0/google.cloud.bigtable.row)\n- [2.28.1](/python/docs/reference/bigtable/2.28.1/google.cloud.bigtable.row)\n- [2.26.0](/python/docs/reference/bigtable/2.26.0/google.cloud.bigtable.row)\n- [2.25.0](/python/docs/reference/bigtable/2.25.0/google.cloud.bigtable.row)\n- [2.24.0](/python/docs/reference/bigtable/2.24.0/google.cloud.bigtable.row)\n- [2.23.1](/python/docs/reference/bigtable/2.23.1/google.cloud.bigtable.row)\n- [2.22.0](/python/docs/reference/bigtable/2.22.0/google.cloud.bigtable.row)\n- [2.21.0](/python/docs/reference/bigtable/2.21.0/google.cloud.bigtable.row)\n- [2.20.0](/python/docs/reference/bigtable/2.20.0/google.cloud.bigtable.row)\n- [2.19.0](/python/docs/reference/bigtable/2.19.0/google.cloud.bigtable.row)\n- [2.18.1](/python/docs/reference/bigtable/2.18.1/google.cloud.bigtable.row)\n- [2.17.0](/python/docs/reference/bigtable/2.17.0/google.cloud.bigtable.row)\n- [2.16.0](/python/docs/reference/bigtable/2.16.0/google.cloud.bigtable.row)\n- [2.15.0](/python/docs/reference/bigtable/2.15.0/google.cloud.bigtable.row)\n- [2.14.1](/python/docs/reference/bigtable/2.14.1/google.cloud.bigtable.row)\n- [2.13.2](/python/docs/reference/bigtable/2.13.2/google.cloud.bigtable.row)\n- [2.12.0](/python/docs/reference/bigtable/2.12.0/google.cloud.bigtable.row)\n- [2.11.3](/python/docs/reference/bigtable/2.11.3/google.cloud.bigtable.row)\n- [2.10.1](/python/docs/reference/bigtable/2.10.1/google.cloud.bigtable.row)\n- [2.9.0](/python/docs/reference/bigtable/2.9.0/google.cloud.bigtable.row)\n- [2.8.1](/python/docs/reference/bigtable/2.8.1/google.cloud.bigtable.row)\n- [2.7.1](/python/docs/reference/bigtable/2.7.1/google.cloud.bigtable.row)\n- [2.6.0](/python/docs/reference/bigtable/2.6.0/google.cloud.bigtable.row)\n- [2.5.2](/python/docs/reference/bigtable/2.5.2/google.cloud.bigtable.row)\n- [2.4.0](/python/docs/reference/bigtable/2.4.0/google.cloud.bigtable.row)\n- [2.3.3](/python/docs/reference/bigtable/2.3.3/google.cloud.bigtable.row)\n- [2.2.0](/python/docs/reference/bigtable/2.2.0/google.cloud.bigtable.row)\n- [2.1.0](/python/docs/reference/bigtable/2.1.0/google.cloud.bigtable.row)\n- [2.0.0](/python/docs/reference/bigtable/2.0.0/google.cloud.bigtable.row)\n- [1.7.3](/python/docs/reference/bigtable/1.7.3/google.cloud.bigtable.row)\n- [1.6.1](/python/docs/reference/bigtable/1.6.1/google.cloud.bigtable.row)\n- [1.5.1](/python/docs/reference/bigtable/1.5.1/google.cloud.bigtable.row)\n- [1.4.0](/python/docs/reference/bigtable/1.4.0/google.cloud.bigtable.row)\n- [1.3.0](/python/docs/reference/bigtable/1.3.0/google.cloud.bigtable.row)\n- [1.2.1](/python/docs/reference/bigtable/1.2.1/google.cloud.bigtable.row)\n- [1.1.0](/python/docs/reference/bigtable/1.1.0/google.cloud.bigtable.row)\n- [1.0.0](/python/docs/reference/bigtable/1.0.0/google.cloud.bigtable.row)\n- [0.34.0](/python/docs/reference/bigtable/0.34.0/google.cloud.bigtable.row) \nUser-friendly container for Google Cloud Bigtable Row.\n\nClasses\n-------\n\n### [AppendRow](/python/docs/reference/bigtable/latest/google.cloud.bigtable.row.AppendRow)\n\n AppendRow(row_key, table)\n\nGoogle Cloud Bigtable Row for sending append mutations.\n\nThese mutations are intended to augment the value of an existing cell\nand uses the methods:\n\n- `append_cell_value`\n- `increment_cell_value`\n\nThe first works by appending bytes and the second by incrementing an\ninteger (stored in the cell as 8 bytes). In either case, if the\ncell is empty, assumes the default empty value (empty string for\nbytes or 0 for integer).\n\n### [Cell](/python/docs/reference/bigtable/latest/google.cloud.bigtable.row.Cell)\n\n Cell(value, timestamp_micros, labels=None)\n\nRepresentation of a Google Cloud Bigtable Cell.\n\n### [ConditionalRow](/python/docs/reference/bigtable/latest/google.cloud.bigtable.row.ConditionalRow)\n\n ConditionalRow(row_key, table, filter_)\n\nGoogle Cloud Bigtable Row for sending mutations conditionally.\n\nEach mutation has an associated state: :data:`True` or :data:`False`.\nWhen `commit`-ed, the mutations for the :data:`True`\nstate will be applied if the filter matches any cells in\nthe row, otherwise the :data:`False` state will be applied.\n\nA `ConditionalRow` accumulates mutations in the same way a\n`DirectRow` does:\n\n- `set_cell`\n- `delete`\n- `delete_cell`\n- `delete_cells`\n\nwith the only change the extra `state` parameter::\n\u003e \u003e \u003e row_cond = table.row(b'row-key2', filter_=row_filter)\n\u003e \u003e \u003e row_cond.set_cell(u'fam', b'col', b'cell-val', state=True)\n\u003e \u003e \u003e row_cond.delete_cell(u'fam', b'col', state=False)\n| **Note:** As with `DirectRow`, to actually send these mutations to the Google Cloud Bigtable API, you must call `commit`.\n\n### [DirectRow](/python/docs/reference/bigtable/latest/google.cloud.bigtable.row.DirectRow)\n\n DirectRow(row_key, table=None)\n\nGoogle Cloud Bigtable Row for sending \"direct\" mutations.\n\nThese mutations directly set or delete cell contents:\n\n- `set_cell`\n- `delete`\n- `delete_cell`\n- `delete_cells`\n\nThese methods can be used directly::\n\u003e \u003e \u003e row = table.row(b'row-key1')\n\u003e \u003e \u003e row.set_cell(u'fam', b'col1', b'cell-val')\n\u003e \u003e \u003e row.delete_cell(u'fam', b'col2')\n| **Note:** A `DirectRow` accumulates mutations locally via the `set_cell`, `delete`, `delete_cell` and `delete_cells` methods. To actually send these mutations to the Google Cloud Bigtable API, you must call `commit`.\n\n### [InvalidChunk](/python/docs/reference/bigtable/latest/google.cloud.bigtable.row.InvalidChunk)\n\nException raised to invalid chunk data from back-end.\n\n### [PartialRowData](/python/docs/reference/bigtable/latest/google.cloud.bigtable.row.PartialRowData)\n\n PartialRowData(row_key)\n\nRepresentation of partial row in a Google Cloud Bigtable Table.\n\nThese are expected to be updated directly from a\n`._generated.bigtable_service_messages_pb2.ReadRowsResponse`\n\n### [Row](/python/docs/reference/bigtable/latest/google.cloud.bigtable.row.Row)\n\n Row(row_key, table=None)\n\nBase representation of a Google Cloud Bigtable Row.\n\nThis class has three subclasses corresponding to the three\nRPC methods for sending row mutations:\n\n- `DirectRow` for `MutateRow`\n- `ConditionalRow` for `CheckAndMutateRow`\n- `AppendRow` for `ReadModifyWriteRow`"]]