Currently model.py uses google.cloud.spanner_v1.transaction.Transaction for all the transaction parameters, but I think the read-only methods are designed to work with google.cloud.spanner_v1.snapshot.Snapshot too. Snapshot is available through the Spanner ORM API in spanner_orm.api.SpannerReadApi.run_read_only() and spanner_orm.decorator.transactional_read(), so we really should support using correct type annotations for Snapshot. Another thing to consider is whether there should be any support for google.cloud.spanner_v1.batch.Batch in write-only Model methods.
Currently
model.pyusesgoogle.cloud.spanner_v1.transaction.Transactionfor all the transaction parameters, but I think the read-only methods are designed to work withgoogle.cloud.spanner_v1.snapshot.Snapshottoo.Snapshotis available through the Spanner ORM API inspanner_orm.api.SpannerReadApi.run_read_only()andspanner_orm.decorator.transactional_read(), so we really should support using correct type annotations forSnapshot. Another thing to consider is whether there should be any support forgoogle.cloud.spanner_v1.batch.Batchin write-only Model methods.