Deprecate済みの機能をそろそろ削除していいかどうか悩んだときに、Githubのソースコード検索だとソースコードのコピーが置いてある個人リポジトリがたくさんあったりして役に立ちません。
PyPIのミラーを作って全部のパッケージを確認できればいいのですが面倒なので、とりあえずTOP4000パッケージだけを対象にしてソースパッケージのダウンロードして調査しています。
まずTOP4000パッケージのリストですが、 Top PyPI Packages というサイトから入手できます。BigQueryで自分でリストを作るよりもお手軽です。
つぎにパッケージをダウンロードする方法ですが、 pip download だと --no-deps
つけてもビルド依存関係を解決しようとしたりしてうまくいかなかったので、PyPIのJSON APIからsdistを見つけてダウンロードするようにしています。
notes/download_sdist.py at master · methane/notes · GitHub
Python/C API を調べたかったのでこのスクリプトは sdist しかダウンロードしていませんが、 Universal wheel しか配布していないパッケージもあるので、Python標準ライブラリの利用状況を調べたい場合は sdist が存在しない場合に wheel をダウンロードするように改修する必要があります。
sdist の拡張子は .tar.gz, .tar.bz2, .zip なので、あとは単にシェルの機能を使って展開するだけです。
他にもいい方法ないかなと思ったら、 Sourcegraph が結構使えそうでした。これは PyEval_ReleaseLock というDeprecateされている関数の利用例をSourcegraphで探す例です。