Python 3.14最前線! 開発の「新標準」uv⁠Ruffを使いこなす
――膨大な情報から本当に必要な知識を探し出すために

PythonはWeb開発から機械学習、組み込みまで幅広く使われる汎用性の高い言語です。また、標準ライブラリが充実しているため、シンプルなコードでやりたいことを実現できます。

Pythonを活用するには、文法、よく使われるライブラリの使い方について把握しておく必要があります。公式ドキュメントは有用ですが、膨大な情報から必要な知識を探し出すのは容易ではありません。また、近年は大規模言語モデル(LLM)の発展により、AI主導型の自然言語で指示するプログラミング手法が脚光を浴びています。AIをソフトウェア開発で利用する際、AIに質の高いプログラムを書いてもらうには、意図を過不足なくプロンプトに盛り込む必要があります。自身で開発するにしてもAIに自分の意図を適切に伝えるためにも、Pythonの文法やよく使われるライブラリについて把握していることは大きな武器になります。

本記事では、最近Pythonで注目度が高く、開発のために知っておきたい、武器になるトピックを2つ紹介します。

便利なパッケージマネージャー「uv」

開発環境の構築において、パッケージマネージャー「uv」は標準のpipにはない利点を持ちます。

uvには、システムに該当するバージョンのPythonがない場合に、自動的にPythonをインストールする機能があります。つまり、事前にPythonをインストールしていなくても、次のようにして必要なPythonをuvがインストールして実行や開発ができます。

$ uv python install 3.14
Installed Python 3.14.2 in 1.11s
 + cpython-3.14.2-linux-aarch64-gnu (python3.14)

このとき、uv python installコマンドは、システムにインストールされたPythonには影響を与えません。また、uv addコマンドは標準のpip installよりインストールが高速です。データ分析用パッケージpandasのインストールをpipとuvで行った際の完了時間を計測した結果、pipが約6.6秒、uvが約0.4秒と、実行速度に大きな差があります。

静的コード解析ツール「Ruff」

Pythonでの開発規模が大きくなるにつれて、コード品質管理の効率化は重要な課題です。開発現場では、コード品質を保つためにこれまではFlake8やBlack、isortといった複数のツールが標準的に使われてきました。こうした中で登場したのが、これらのツールと高い互換性を持つ統合型のリンター・フォーマッターツールであるRuffです。RuffはRustで実装されており、従来のツールと比べて圧倒的に高速です。PEP 8のスタイルガイドに沿った静的コード解析からコードフォーマットまで、Ruffだけで完結します。

Ruffは静的コード解析だけでなく、コード整形機能も備えています。この機能はRuff Formatterと呼ばれ、従来はBlackなどのフォーマッターで行っていた処理を次のようにしてRuff単体で完結できます。

# 実行前のコード(example.py)
def greet(name):
    print('Hello,'+name)
$ ruff format example.py
1 file reformatted
# 実行後のコード(example.py)
def greet(name):
    print("Hello," + name)

文字列のシングルクォートがダブルクォートに変換され、文字列連結に使われている+の前後にスペースが自動的に挿入されています。

このようにRuff Formatterにコード整形を任せることができ、さらに静的コード解析(ruff check)は品質チェックに特化しており、役割分担が明確になっています。

改訂新版 Pythonエンジニア育成推進協会監修 Python実践レシピでは、改訂に際して、今回ご紹介したパッケージマネージャーuv、静的コード解析ツールRuffをはじめ、Python 3.14ベースで最新のPythonに対応した内容をふんだんに盛り込んでアップデートしています。現場の知恵を盛り込んだ1冊となっていますので、ぜひ読んでみていただけると、開発の武器になるものと思います。