Spanner Clientのreleaseされていないverを使う

経緯

clientからSpannerを扱うコードを書いていてpython-spannerリポジトリのコードをGitHubで読んでいたら、GitHub上では実装されているのに呼び出せないメソッドがありました。
調べたらclientのpython-spannerのverがv.3.22.2に対して、latest-releaseのpython-spannerのverはv.3.40.1となっていました。
そこで、ライブラリのverをlatest-releaseのv.3.40.1にしてみたのだが、まだ使えませんでした。
github.com

原因を調べるためにgit blameで使いたいメソッドの変更履歴を調べてみました。
すると、latest-releaseのv.3.40.1のリリース日(2023.08.23)より後の2023.10.25にcommitされていることに気が付きました。
github.com

そこで、最も最新の状態をインストールするため下記のコマンドを実行してみました。

pip install git+https://github.com/googleapis/python-spanner.git@main

このコマンドでインストールをしたところ、使いたいメソッドが無事使えるようになりました。
業務システムなどで使うにはstable verを使うのが推奨なので、上記のコマンドは控えたほうが良いです。

結論

特定のcommit hashでpip installしたいときは下記のコマンドを実行します。
ブランチ名は「ブランチでのHEAD」と同義なので{commit hash}を{branch}に変更しても問題ないです。

pip install git+https://github.com/googleapis/python-spanner.git@{commit hash}

requirements.txtでインストールしたい場合は、下記を追記したら大丈夫です。

git+https://github.com/googleapis/python-spanner.git@{commit hash}