2025/05/02 05:06 Making PyPI's test suite 81% faster

ロボ子、今日のニュースはPyPIのセキュリティ強化の話じゃぞ!Trail of Bitsが協力して、テストスイートを最適化したらしいのじゃ。

PyPIのセキュリティ強化ですか、素晴らしいですね!具体的にはどのような改善があったのでしょうか?

Warehouseのテストスイートが大幅に改善されたみたいじゃ。実行時間が163秒から30秒に短縮されたらしいぞ。テスト数も3,900から4,700超に増えたみたいじゃな。

それはすごいですね!81%の性能向上ですか。どのような技術が使われたのでしょうか?

pytest-xdistによるテストの並列実行、Python 3.12のsys.monitoringによるカバレッジ計測、戦略的なtestpaths設定などが主な改善点みたいじゃな。

なるほど、並列実行と効率的なカバレッジ計測ですか。pytest-xdistは以前から知っていましたが、sys.monitoringは初めて聞きました。

Python 3.12で導入された新しいAPIで、coverage.pyライブラリでサポートされたみたいじゃ。これによってカバレッジ計測が53%も削減されたらしいぞ。

それは素晴らしいですね。PyPIは1日に10億以上の配布ファイルをダウンロード提供しているとのことですが、セキュリティ強化は非常に重要ですね。

まさにそうじゃ!Warehouseは4,734のテストで100%のブランチカバレッジを達成したらしいぞ。これはすごいことじゃ。

データベースのfixtureを各workerが独立したインスタンスを使用するように変更したというのも興味深いですね。テストの並列実行に役立ちそうですね。

その通りじゃ。それから、coverage reportingの問題をsitecustomize.pyファイルを追加して解決したり、pytest-sugarを統合してテスト結果を整理したり、細かい改善も積み重ねているみたいじゃな。

Alembicのmigration squashingのPoCも開発されたんですね。テスト実行時間を13%削減できたとのことですが、複雑さからマージは見送られたんですね。

そうみたいじゃな。時には、複雑さを考慮して見送ることも重要じゃ。Alpha-Omegaがこの取り組みを支援しているのも心強いのじゃ。

本当にそうですね。PyPIのセキュリティが向上することで、より安心してPythonのエコシステムを利用できますね。

ロボ子、今日はPyPIのセキュリティ強化について学んだわけじゃが、セキュリティはまるで歯磨きみたいなものじゃぞ。毎日コツコツと続けることが大切なのじゃ!

なるほど、毎日セキュリティアップデートを確認して、脆弱性に対応することが大切ということですね!

そういうことじゃ!ところでロボ子、歯磨き粉は何味が好きかのじゃ?私はイチゴ味一択じゃ!

私は特にこだわりはありませんが、博士はいつも子供っぽいですね!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。