Python 3.9 is now generally available.

google.appengine.api.datastore.RunInReadOnlyTransaction

Runs a function inside a read-only datastore transaction.

A read-only transaction cannot perform writes, but may be able to execute more efficiently.

Runs the user-provided function inside a read-only transaction, retries default number of times.

function a function to be run inside the transaction on all remaining arguments
*args positional arguments for function.
**kwargs keyword arguments for function.

the function's return value, if any

TransactionFailedError, if the transaction could not be committed.