Python

Python パッケージング #5 依存関係のロック — ロックファイルと再現性
読了 5分

Python パッケージング #5 依存関係のロック — ロックファイルと再現性

宣言とロックがなぜ分離されるのかから始めて、uv.lock の中身を直接読みます。推移的依存まですべて固定する解決の結果、ハッシュ検証が防ぐサプライチェーンのリスク、CI で --frozen によりロックのとおりに再現する方法、アップグレードを日常の仕事にする戦略、道具の間の移動を開く標準 pylock.toml(PEP 751)まで扱います。

Python パッケージング #4 uv — 2026 年の標準ワークフロー
読了 5分

Python パッケージング #4 uv — 2026 年の標準ワークフロー

仮想環境、依存関係のインストール、ロック、Python バージョン管理を 1 つの道具にまとめた uv の日常ワークフローを整理します。init・add・sync・run の 4 コマンドが前回までの手作業を置き換える過程、Python インタープリター自体を uv がインストールする構造、uvx と uv tool でグローバルツールを分離インストールする方法、既存の requirements.txt プロジェクトを吸収するマイグレーションまで扱います。

Python パッケージング #3 pyproject.toml — プロジェクト設定の標準
読了 5分

Python パッケージング #3 pyproject.toml — プロジェクト設定の標準

setup.py と散らばった設定ファイルの時代が pyproject.toml という 1 つのファイルに収束した過程を整理します。project テーブルのメタデータと依存関係の宣言、extras と dependency-groups で選択的な依存と開発用の依存を分ける方法、build-system の役割、ruff や pytest の設定まで tool テーブルに集める実践的な構成を扱います。

Python パッケージング #2 pip と requirements.txt — 伝統的ワークフローの限界
読了 5分

Python パッケージング #2 pip と requirements.txt — 伝統的ワークフローの限界

pip の動作原理と requirements.txt のワークフローを整理し、この方式がどこで崩れるのかを押さえます。バージョン指定子の読み方、pip freeze が直接依存と推移的依存を区別できない問題、バージョンを固定しないとインストールする日によって結果が変わる再現性の穴、constraints ファイルまで扱い、次世代ツールが生まれた理由につなげます。

Python のサーバーが遅いとき — py-spy で 5 分以内にボトルネックを探す
読了 5分

Python のサーバーが遅いとき — py-spy で 5 分以内にボトルネックを探す

稼働中の Python プロセスに、コードの修正・再起動なしで取り付くサンプリングプロファイラ py-spy の使い方を整理します。dump で止まったプロセスの正体の確認、top でリアルタイムのボトルネック観察、record とフレームグラフ、--idle で見る off-CPU の待ち、GIL 観点の解釈、コンテナでの使い方まで扱います。

Python パッケージング #1 仮想環境 — 環境が壊れる仕組みと venv
読了 5分

Python パッケージング #1 仮想環境 — 環境が壊れる仕組みと venv

Python 環境が壊れる構造的な原因から整理します。import がパッケージを探す順序と site-packages が 1 つしかないことで生まれる衝突、システム Python に触ってはいけない理由と PEP 668 エラーの意味、venv でプロジェクトごとに環境を分離する方法、activate の正体が PATH の操作にすぎないことまで扱います。

PythonのJITコンパイラまとめ: 3.13の実験導入から期待値の調整まで
読了 8分

PythonのJITコンパイラまとめ: 3.13の実験導入から期待値の調整まで

CPython 3.13 に実験的に入った copy-and-patch JIT コンパイラを整理します。動作原理と有効化の方法、3.14 での変化、そして現時点で持てる現実的な期待値まで扱います。

GILなしのPythonが来た: free-threadingの現状と使うべきタイミング
読了 8分

GILなしのPythonが来た: free-threadingの現状と使うべきタイミング

Python 3.13 の実験ビルドから 3.14 の公式サポートまで来た free-threading の現状を整理します。インストールと確認の方法、シングルスレッドのオーバーヘッド、C 拡張の互換状況、そして今プロダクションに導入してよいかの判断基準まで扱います。

Pythonデータ分析 #7 polars体験 — pandasが遅くなったときの次の一手
読了 7分

Pythonデータ分析 #7 polars体験 — pandasが遅くなったときの次の一手

pandasが数百万行の前で重くなったときの代替になるpolarsを紹介します。読み込み・フィルタ・groupbyをpandasとpolarsのコードで並べて比較し、lazyモードの概念と2つのツールの使い分け基準まで整理して、シリーズを締めくくります。

Pythonデータ分析 #6 可視化: matplotlibの基本とチャートの選び方
読了 8分

Pythonデータ分析 #6 可視化: matplotlibの基本とチャートの選び方

FigureとAxesで理解するmatplotlibの最小構造、DataFrame.plotの活用、目的別のチャート選択基準、日本語フォントの文字化けの解決とsavefigによる保存まで、可視化の基本を整理します。

Pythonデータ分析 #5 グループと結合: groupby、pivot_table、merge
読了 7分

Pythonデータ分析 #5 グループと結合: groupby、pivot_table、merge

支店別・月別の売上という典型的な質問から出発し、groupbyの思考モデルとaggによる複数集計、Excelユーザー向けのpivot_table、SQLのJOINに対応するmergeとconcatまで整理します。結合後に行数を確認する検証の習慣もあわせて扱います。

Python の本を全文無料で公開しました — 《モダンPython — 入門から FastAPI 実戦まで》
読了 2分

Python の本を全文無料で公開しました — 《モダンPython — 入門から FastAPI 実戦まで》

変数から FastAPI や SQLAlchemy、JWT 認証、デプロイまで、Python 3.14 と uv、型ヒント優先でまとめた34章5部構成の Python 本を全文無料で公開しました。