Planet Python 日本語 ノート

Planet Python 日本語

Planet Pythonは、Python関連の内容を様々なソースから集めたプラネットサイトです。ブログ、ニュースサイト、他のオンライン出版物が含まれます。 このサイトは、Pythonプログラミングの世界で最新の開発状況を追跡するためのワンストップデスティネーションを提供します。サイトの内容には、チュートリアル、ニュース、プロジェクトの発表、Python関連の様々なトピックに関する議論が含まれます。 ユーザーは、Pythonコミュニティ、最新リリース、会議、Pythonプログラミング言語の使用に関するベストプラクティスに関する情報を入手するためにサイトを訪れることができます。このサイトの目的は、Python関連の内容を宣伝し、普及させることで、Pythonコミュニティの成長と発展に貢献することです。

ノートのスレッド

著者はAIを活用したドキュメンテーションテストの新しいアプローチを開発しました。Markdownファイルでプロジェクトのチュートリアルとドキュメントを更新した後、その有効性をテストするためにAIの使用を検討しました。ChatGPTに、ドキュメントを読み込み、説明されているツールを使用しようとする隔離されたチャット環境を作成するように指示しました。AIはこれに同意し、新しいチャットの詳細なプロンプトを生成し、その進捗を監視しました。その後、AIは発見したドキュメントの不備について報告しました。例えば、LinuxおよびWSLのセットアップ手順を提供していたにもかかわらず、ツールの意図されたLinuxでの使用に関する明示的な記述がドキュメントに欠けていることを指摘しました。これにより、AIはWindows環境でツールを実行しようとし、著者による明確化が必要な暗黙の前提を浮き彫りにしました。著者は、AIに新しいユーザーとして行動させ、積極的にタスクを完了しようとし、遭遇した問題を報告させるこの方法を高く評価しています。これは単なる言葉遣いのレビューを超え、ドキュメントの従いやすさの実用的なテストを提供します。AIが無効な点を提示する可能性はありますが、どの変更を実装するかを決定する際には人間の判断が依然として重要です。著者は、ドキュメントは人間の読者とAIアシスタントの両方に役立つ必要があると強調しています。プロジェクトとのやり取りにAIを利用するユーザーが増えるにつれて、ドキュメントは直接的な人間の使用と、AIがユーザーを効果的に支援できるように、明確である必要があります。これは、AIのためだけに排他的に書くのではなく、ドキュメントがAIとのやり取りをどの程度サポートできるかを考慮することを意味します。最終的に、著者は、人間またはAIのいずれかのユーザーがタスクを達成するためにドキュメントを正常にフォローできるかどうかを評価することによって、コードと同様にドキュメントをテストすることを提案しています。この革新的なテスト方法は、将来のプロジェクトでドキュメントの効果を向上させるための新しい視点を提供します。
CdXz5zHNQW_Tocx7RtYip.png
CdXz5zHNQW_FgX6KQYd0y.webp
biwak.info は、アルプスの山小屋向けのモバイルファーストのマップを開発し、OpenStreetMap と Wikidata から取得した詳細情報を持つ 33,437 の命名された山頂を追加しました。接続が限られているモバイルデバイスに最適化するため、15.4 MB という大量の山頂データを効率的に読み込む必要がありました。その解決策は、Leaflet で使用されている既存のスリッピーマップタイルグリッドを模倣して、データをより小さなタイルベースの JSON ファイルに分割することでした。これにより、ブラウザはユーザーの現在のマップビューに表示されている関連する山頂データのみを取得できます。データグリッドのズームレベルは 10 に固定され、ネットワークリクエストの数と各ダウンロードファイルのサイズのバランスが取られています。このレベルでは、アルプスのタイルは約 27x27 km で、ズームレベル 12 の典型的な電話画面は最大 6 つのタイルに触れ、中央値のタイルサイズは 13 KB (gzip 圧縮で 3.6 KB) です。Python スクリプトは、これらのタイルファイルと、空でないタイルのマニフェストを作成し、必要なファイルのみがリクエストされるようにします。各タイルの JSON データはコンパクトで、整数座標とフィールドヘッダーを使用してファイルサイズを最小限に抑えています。山頂は、異なるマップズームレベルでの表示を制御するために、プロミネンスまたはアイソレーションによってランク付けされ、低いズームではより重要な山頂のみが表示されます。クライアントサイドの JavaScript は、Leaflet の 'moveend' イベントを使用して必要なタイルを決定し、遅い接続での過負荷を防ぐために最大 4 つの並列リクエストで取得します。64 タイルの LRU キャッシュがダウンロードされたデータを管理し、現在のビューにない場合は最も最近使用されていないタイルをドロップします。山頂データは、個別の Leaflet マーカーを使用するのではなく、単一のキャンバスにレンダリングされ、パフォーマンスが向上します。マップをタップすると、読み込まれたタイル内で最近傍探索を実行して、近くの山頂を特定します。タイルベースのグリッドは、ディープリンクも自然にサポートし、特定の山頂の安定した URL を可能にします。今後の機能強化には、峠や展望台などのより多くのデータカテゴリの追加、および MapLibre のようなマッピングライブラリとの統合のためのベクタータイル (MVT) への移行が含まれます。このシステムは、サーバーやデータベースなしで大量のデータセットを効果的に処理し、単純なファイルグリッドの力を実証しています。
CdXz5zHNQW_7Oo4LQLM3G.webp
このテキストは、ソフトウェア開発におけるコミュニケーションの断絶に対するソリューションであるGnomonを紹介しています。この断絶は、異なるステークホルダーがシステムの記述を異なるように解釈することによって生じます。「請求書を修正するエージェントを構築しています」のような「修正」といった用語が、異なる理解やプロジェクトの失敗につながることを、著者は多様な経験に基づいて強調しています。大規模言語モデル(LLM)の台頭は、もっともらしいが潜在的に不正確なアーキテクチャ図を生成することで、これを悪化させています。Gnomonは、小さな言語であるgnomocodeと、オントロジーに対してステートメントを検証するコンパイラを提供することで、これに対処します。LLMは自然言語をgnomocodeに翻訳し、コンパイラはその有効性をチェックし、出力は視覚化、クエリ、または文章に変換することができます。Pythonで書かれたコンパイラは、Lark、rdflib、pySHACLを使用しています。Gnomonの背後にある動機は、話し言葉と実行可能な図との間のギャップを埋め、一貫性と説明責任を確保することです。会話からモデルへ、そしてコード/図から読みやすいテキストへの両方向での動作を目指しています。会話からモデルへの順方向が、この記事の主な焦点です。Gnomonの主要な要件には、曖昧さのない用語、最新のアーキテクチャ要素(LLM、メモリ、ツール)のネイティブサポート、人間とモデルの両方にとっての可読性、単一モデルからの複数のビュー、バージョン管理、不確実性を表現する能力が含まれます。このアプローチは、LLMに直接質問したり、構造化されたオブジェクトを使用したりするような、より単純な方法を試みた結果から進化しました。これらの方法は、アーキテクチャグラフの複雑さや欠落した情報に対処できませんでした。UMLやC4のような既存の表記法も、固定されたシンボル、"かもしれない"ステートメントの欠如、限られた意味論的チェックのために不十分であることがわかりました。コンパイラを備えたカスタム言語が、最も実行可能なソリューションであることが証明されました。コンパイラは、LLMにローカライズされたエラーとフィードバックを提供し、修正を可能にします。Gnomonの中核は、SKOS、PROV-O、DPVのような既存のRDF語彙に基づいたオントロジーです。57の用語と12のモジュールからなるこのカーネルは、関係とルールを定義し、一貫性を確保します。オントロジーは、語彙、コンパイラのエラーメッセージ、文章生成、図ビューを決定します。Gnomocode自体は、Markdown、Python、グラフクエリ言語から構文を借用した、可読性と精度を重視して設計されています。宣言、プロパティ割り当て、アクション、フローなどの概念をサポートしています。重要な機能は、事実に対する信頼度レベルを表現できることで、システムがさらなる確認を必要とする情報を特定できるようになります。Pythonで書かれたコンパイラは、解析にLarkを使用しています。その文法はオントロジーから直接生成されるため、言語の拡張はコードを変更するのではなく、データを変更することになります。このモジュール式の設計により、コアの解析ルールを変更することなく、柔軟な語彙拡張が可能になります。
CdXz5zHNQW_IUf3kDkWHC.png
Microsoftは、Type Server Protocol(TSP)を導入することで、Python開発者のエクスペリエンスを向上させています。Language Server Protocolの拡張であるこのオープンスタンダードは、エディタやツールが型チェッカーをバックエンドコンポーネントとして統合することを可能にします。TSPは、VS Code IDEのインテリジェンスレイヤーであるPylanceを、デフォルトの型チェッカーであるPyrightから分離します。この分離により、開発者はMetaのPyreflyのような代替型チェッカーに簡単に切り替えることができます。Pylanceのコア機能(補完やGitHub Copilot連携など)は、選択された型チェッカーに関わらず一貫して維持されます。MicrosoftはMetaと提携し、静的型解析およびAI/MLライブラリにおけるMetaの専門知識を活用して、Pyreflyの完全なTSPサポートを確保しています。この協力は、Pythonエコシステム内の相互運用性を促進することを目的としています。高いパフォーマンスとCI互換性で知られるPyreflyは、Pylanceとシームレスに統合できるようになりました。これにより、開発者はPyreflyの型解析エンジンとPylanceのAI対応インテリジェンスを組み合わせることができます。ユーザーは、Pylanceバージョン2026.4.1以降をインストールすることで、この新しいエクスペリエンスを試すことができます。PylanceはPyreflyのインストールを自動的に検出し、ユーザーに切り替えを促します。あるいは、ユーザーはVS Codeの設定を通じて、Pylance、Pylance + Pyright、またはPylance + Pyreflyを含む、好みの診断ソースを手動で選択できます。ステータスバーには、アクティブな診断ソースが明確に表示されます。
CdXz5zHNQW_jwz7YqFtlb.png
PyCoder's Weekly のこの号では、さまざまな Python トピックを扱っています。チュートリアルでは Django ORM とマイグレーションについて解説し、それらを構築、破損、修正する方法、そして Django 6.1 のパフォーマンス問題への対処法を詳述しています。Python における関数型プログラミングについて、そのパラダイムと実践的な応用について議論しながら説明しています。PropelAuth は、特に AI エージェント統合におけるセキュリティ機能で注目されています。Python Web アプリにおける Model-View-Controller (MVC) パターンを Flask の例で探求しています。Python 3.16.0 Alpha 1 がリリースされ、Python Bytes ポッドキャストは 500 回目のエピソードを祝いました。PyPy v8.0.1 のリリースも言及されています。Claude Code コースでは、過度な ChatGPT への依存なしに Python CLI アプリを構築する方法を教えています。OpenTeams は 2026 年の PyTorch への貢献をレビューし、AI エージェントの使用増加に言及しています。scikit-learn を使用してハイパーパラメータ検索のためのベイズ最適化を実演しています。Pendulum datetime ライブラリのユニークな "+" 演算子が調査されています。PyPI はメールの評判計算を更新し、Outlook アドレスを再び許可するようになりました。Parquet のデータエンジニアリングにおける利点を Polars、DuckDB、PyArrow を使用して説明しています。Gemini 4 Argon の機能が Python コード生成で紹介されています。Python のプロジェクト構造について議論し、フラットレイアウトと src/ レイアウトのどちらを選択するかについてのガイダンスを提供しています。Docling と LlamaParse の PDF テーブル抽出における比較が行われています。文字列、データ型、最初のステップなどの基本的な Python の概念がチュートリアルでカバーされています。最後に、今後の Python イベントのリストが提供されています。
CdXz5zHNQW_wpqLkNZyB4.png
Nodは、ユーザーがPythonプログラムを一時停止し、デバッグのために任意の特定の行でノートブックを開くことができるJupyterLab拡張機能です。このツールは、実行中のプログラム内で直接変数とコールスタックを調べることができます。Polars 2.0がリリースされ、メモリと速度の向上のためにデフォルトのストリーミングエンジンが搭載されました。しかし、この新しいエンジンは特定の操作で行順序を保証しないため、順序が重要な場合は明示的な処理が必要です。Polars 2.0は、デフォルトでアウトオブコア処理も可能にし、メモリが枯渇した場合にデータをディスクにスピルさせることができます。このアップデートでは、ネイティブMapデータ型が導入され、パフォーマンスが向上し、新しいマップ操作関数が追加されました。Django-cachalotは、ORMクエリをキャッシュし、基盤となるデータが変更されたときに自動的に無効化するソリューションとして紹介されています。読み込みが多いアプリケーションの速度を大幅に向上させますが、書き込み操作が頻繁なテーブルにはあまり適していません。Djangoでの非同期トランザクションのサポートに向けた進展があり、データベーストランザクション内でasyncioタスクがどのように相互作用するかを改善することを目指しています。現在の提案には、トランザクションがロールバックされた場合でも、兄弟タスクが書き込みを継続できるようにする新しい設計が含まれています。重要なプロジェクトであるJazzbandがシャットダウンされる予定であり、代替プラットフォームの検討が促されています。Treemdは、Markdownファイルを閲覧するための便利なTUIとして強調されています。Talk Pythonのメンバーシップ、ビジュアルトピックガイド、および最近のPython Enhancement Proposalsに関する議論も触れられています。PyPI上の無料スレッドPolarsバージョンの潜在的な鮮度についての観察がなされています。最後に、ジョークの簡単な言及が、エピソードの多様な技術的議論を締めくくっています。
Python 3.15 は、開発者体験を向上させるいくつかの機能強化を導入しており、特にエラーメッセージの改善に重点が置かれています。注目すべき改善点の1つは、AttributeError 例外に遭遇した場合の、より役立つメッセージです。オブジェクトがネストされた属性内に正しい名前のメンバーを持っている場合、Python は正しいパスを提案するようになります。たとえば、o.value が間違っていて o.inner.value が存在する場合、エラーメッセージがそれを指摘します。さらに、組み込み型のメソッドにアクセスしようとして AttributeError に遭遇した場合、Python は一般的なタイプミスをチェックするようになります。明白なタイプミスが検出されない場合、頻繁に使用されるメソッドのテーブルを参照します。これにより、より直接的なガイダンスを提供することで、デバッグ時間を短縮することを目指しています。この記事は、Python 3.15 の機能を祝う一連の記事の一部であり、毎日説明と例が提供されます。言及されているその他の改善点には、より多くの色の追加と、UTF-8 エンコーディングのデフォルト使用が含まれます。これらの変更は、Python 開発をより効率的でユーザーフレンドリーにすることを目的としています。著者は、アルファ段階でネストされた属性エラーの提案機能に関するバグを報告しましたが、それは迅速に対処されました。
CdXz5zHNQW_saimMyYTTU.webp
2026年2月、Python Software Foundation (PSF) は、セキュリティリスクと、古いインフラストラクチャを圧倒する過剰なボットトラフィックのため、ウィキを読み取り専用にしました。この突然の決定は、これらのリソースに依存し、貢献していたコミュニティメンバーに混乱を引き起こしました。これらの問題に対処するため、PSFはGitHub Pagesでホストされる新しいウィキを立ち上げ、モダンなフロントエンドと権限ベースのコンテンツ管理システムを提供しています。これらの新しいウィキは、PSF、Python、Jythonウィキ用の提供されたリンクからアクセスできるようになりました。過剰な自動トラフィックは、主にインターネットをスクレイピングしようとするAIボットからのもので、古いサーバーを過負荷にしていました。さらに、古いウィキの一部はサポートされていないPython 2で実行されており、セキュリティ上の脆弱性を抱えていました。PSFは、特に献身的な貢献者にとって、古いウィキの突然の廃止によって引き起こされたフラストレーションを認識しています。彼らは、新しいウィキが価値のある改善されたコミュニティリソースとなることを目指しており、貢献は現在GitHubでのプルリクエストを通じて管理されています。GitHubは、既存のPSFホストプロジェクトと連携して、ホスティングと管理を合理化するために選択されました。GitHubリポジトリを介した新しい権限ベースのシステムにより、誰でもプルリクエストを通じて変更をリクエストできます。GitHubで生成された静的サイトへのこの移行は、セキュリティリスクを軽減し、ボット駆動の過負荷から保護します。貢献は、リポジトリのREADMEファイルを確認することで奨励されており、確立された貢献者には書き込みアクセス権が付与されます。
eMudhra CAの侵害は、Pythonエコシステムにおける認証局の取り扱いにおけるシステム的な問題を浮き彫りにしました。CPythonはOpenSSLに依存しており、CAルート証明書が必要です。Pythonは、ネイティブサポートが不足しているプラットフォーム向けに、certifiパッケージを通じてこれらをバンドルしています。歴史的にcertifiは重要でしたが、現在ではLinuxディストリビューションが独自に管理された優れた証明書ストアを提供しています。OpenSSLベースのPythonインストールにおけるデフォルトの有効な証明書失効メカニズムの欠如が大きな問題です。依存関係としてのcertifiのアップグレードは、Pythonおよびpipエコシステム全体にわたる連鎖的なアップデートを引き起こします。pipはcertifiをバンドルしているため、侵害が発生した場合、pipとPython自体の両方の緊急アップデートが必要になる可能性があります。Python Security Response Teamは、複数のPythonブランチにわたるリリースを調整する必要があります。pipはデフォルトでtruststoreを使用するように移行しており、これによりcertifiへの依存、特にLinuxユーザーにとっての依存が軽減されるでしょう。このインシデントでは、他の多くのパッケージングツールやインフラストラクチャコンポーネントが迅速に行動する必要がありました。パッチが適用された後に依存関係をアップグレードするようユーザーに通知することは、依然として大きな課題です。著者は、ほとんどのプラットフォームが現在十分なCAバンドルを提供していることを考えると、PyPIは証明書配布チャネルであることをやめるべきだと提案しています。Pythonおよびpipのメンテナーの負担を軽減するために、システム提供の証明書ストアへの依存を増やす方向への移行が提案されています。OpenSSLベースのシステムにおける効果的な証明書失効という未解決の問題は、将来のボランティアの負担を軽減するために対処する必要があります。
PyCon Ireland 2026は、11月21日土曜日にダブリンのChartered Accountants Houseで開催されます。カンファレンスでは、3つのトラックにわたる30以上のトーク、少なくとも4つのワークショップ、2つのパネルディスカッションに加え、基調講演やライトニングトークが行われます。スケジュールの大半は人工知能と機械学習のトピックに充てられています。これらには、エージェンティックAI、ベイズモデリング、MLベンチマーキング、データアーキテクチャ、予測、MLモニタリング、ニューラルネットワークが含まれます。AI以外にも、非同期I/O、Pythonパッケージング、量子プログラミング、セキュアコーディング、ソフトウェアアーキオロジーに関するセッションが予定されています。主催者は170件以上の応募を受け付け、提案してくれたすべての貢献者に感謝しています。チケットは現在販売されており、一般チケットは59ユーロ、学生チケットは35ユーロ、法人チケットは159ユーロです。すべてのチケットはオールインクルーシブで、すべてのセッションへのアクセス、ネットワーキングの機会、朝食、昼食、軽食が含まれています。スケジュールにはさらに追加がある可能性がありますので、参加者は最新情報を確認することをお勧めします。
Python 3.15 は、インタプリタ起動時にパッケージのエントリポイントを実行するための .start 拡張子を持つ起動設定ファイルを導入します。これらのエントリポイントは、インポートステートメントと同様に機能し、モジュールに続いてコロンと呼び出し可能な関数を指定します。たとえば、error_links:install は、インタプリタに error_links モジュール内の install 関数を呼び出すように指示します。この新しい機能は、起動時に自動的に実行される標準ライブラリの site モジュールの機能に基づいています。歴史的に、.pth ファイルは Python のモジュール検索パスを拡張するために使用され、インポート行を含むこともできました。しかし、.pth ファイルのインポート行はセキュリティリスクをもたらしました。PEP 829 は、カスタム起動コードを実行するためのより安全な方法を導入することで、これを解決しました。その結果、Python 3.15 以降では、.pth ファイルのインポート行は .start ファイルに取って代わられて非推奨になりました。Python 3.15 は、組み込み型、遅延インポート、改善された型付け、およびより視覚的な機能など、さまざまな強化を提供します。「Python 3.15 の 15 日間」シリーズは、これらの新機能について毎日解説します。
CdXz5zHNQW_88iLQz2pFM.webp
Django Steering Council は、Django 6.2 に対するコミュニティからの貢献を求めています。彼らは、マルチカラムサブクエリ用の CompositeField や、UUID のような代替プライマリキー用の DEFAULT_PK_FIELD 設定など、テストとレビューを必要とする主要な機能に焦点を当てています。評議会はまた、Django のメインブランチに対するプロジェクトのテストに関する講演にも言及しており、これは特定のフィーチャーブランチのテストにも適応できます。QuerySet.executed_queries の追加、パーティション化されたクッキー、HTTP QUERY メソッドのサポート、プロキシの背後にある CSRF デバッグメッセージの改善など、小規模な機能も注目されています。New Features キューも焦点となっており、アイデアは必要な入力の種類別に分類されています。技術的な審査が必要なアイデアには、モデル Meta およびマイグレーション生成のカスタマイズ、最新の CSRF 保護の実装、タスク用のタイムアウト API の追加、サブソース整合性、インポートマップの組み込みが含まれます。時間の限られている方のために、既存のアイデアに対するコミュニティからの入力は、絵文字リアクション、特にレビューが確認されたことを示す 😕 絵文字を通じて奨励されています。コミュニティからのフィードバックが必要な特定のアイデアには、パスワードリセットメールのカスタマイズのためのより良いフック、Git ドキュメントの PR ヘルプ、サービス URL の解析、タスク実行順序の標準化、AuthenticationMiddleware の更新、SMTP を介した Unicode メールアドレスのサポートが含まれます。評議会はコミュニティに感謝し、Django Forum または Discord を通じた参加を奨励しています。
Python 3.15.0 のリリースは、最終リリースから 2 週間前に始まった一連のアップデートを通じて記録されました。当初は期待される機能に関する問い合わせもあり、興奮が高まっていました。予定されていたリリース日には、証明書の問題により重要な Python ウェブサイトで 503 エラーが発生し、プロセスが遅延しました。サーバーの問題が解決されると、不安定なテストと、直前の遅延インポートの修正を含むいくつかのリリースブロッカーの問題に対処する必要が生じました。これらの修正を適切に取り込むために、サプライズの 3 回目のリリース候補版である 3.15.0rc3 が発表およびリリースされ、最終リリース日が 1 週間延期されました。バックポートされていないテストへの依存関係により、遅延インポートブロッカーの 1 つのマージが遅延しました。rc3 のリリースが成功した後、チームは最終ローンチの準備を進めました。最終リリースの 2 回目の試みで、すべてのブロッカーがクリアされ、ビルドボットはグリーンになりました。しかし、チェンジログツールである blurb のバグにより、迅速な修正、アップデート、およびバックポートが必要となりました。その後、別の blurb 関連のロックファイルの問題により、リリースアーティファクトのビルドが失敗しましたが、これは迅速に解決されました。macOS および Windows のインストーラービルドが開始され、Windows のプロセスではバイナリ署名の承認が手動で行われました。最終的に、Python 3.15.0 がリリースされ、遅延インポート、frozendict、および高速な JIT などの新機能が搭載されました。リリース後のタスクには、PEP 790 の更新、ドキュメントの再構築、およびさらなるコアチームのマージのために 3.15 ブランチのロック解除が含まれていました。その後、リリースマネージャーは Python 3.16 の次のアルファリリースを合図しました。
CdXz5zHNQW_5t7QXRxkX2.png
手動で管理されていたホームサーバーは、コーディングエージェントと宣言的な構成を使用して変革されました。このエージェントは読み取り専用アクセス権を持ち、サーバーへの直接的な変更を防ぎます。すべての変更は、gitリポジトリ内のpyinfraデプロイメントでコード化されるようになりました。エージェントはサーバーを探索し、望ましい状態変更のためのPythonコードを記述し、これらの変更をレビューのために提示します。重要なのは、sudoパスワードがゲートキーパーとして機能し、実際のデプロイメントにはユーザーの介入が必要となることです。リポジトリ構造には、エージェントルール、サーバー状態インベントリ、pyinfraデプロイメント、および構成ファイルが含まれます。エージェントのタスクには、ドキュメントの読み取り、構成の特定、およびsystemdユニットの記述が含まれます。ユーザーはドライランをレビューし、その後デプロイメントのためにコードを実行します。このワークフローは、システムアップグレード、サービス移行、およびカスタムアプリケーションのデプロイメントを処理します。間違いは学習され、将来のセッションのためにエージェントルールに組み込まれます。個人データには効果的ですが、読み取り専用アクセスは、機密性の高いサードパーティ情報を持つマシンについては考慮が必要です。
CdXz5zHNQW_zasqR31jDU.png
この会話では、AIエージェントの構成要素について探求し、大規模言語モデル(LLM)とそれを囲むソフトウェアを区別します。AIが写真を整理する際、LLMはコンピューター上のファイルに直接アクセスするのではなく、リクエストを生成します。このリクエストは、エージェントの操作を管理するソフトウェアである「ハーネス」によって受信されます。ハーネスはその後、ファイルを一覧表示したりメタデータを読み取ったりするようなアクションを実行するために、特定の「ツール」を使用します。ハーネスはこれらのツールからの結果をLLMに返し、LLMが情報を処理して次のステップを決定できるようにします。LLMは構造化された「ツール呼び出し」を通じてハーネスにリクエストを伝え、ハーネスはそれを解釈して正しいツールを呼び出します。この相互作用により、モデル、ハーネス、ツールが繰り返し情報を交換するエージェントループが作成されます。モデルを「脳」、ツールを「筋肉」、ハーネスを「コーディネーター」とするアナロジーは、それぞれの役割を明確にするのに役立ちます。しかし、ハーネスは意図しないファイルの変更を防ぐといったルールや制限も強制します。プロセスは、モデルが最終的な応答を生成するか、ハーネスがエラーや制限のために操作を停止すると終了します。エージェントはまた、ファイルを特定のフォルダーにコピーするといったタスクが、元のファイルを変更することなく正確に完了したことを検証する必要があります。
CdXz5zHNQW_eyYaVLyYu6.jpeg
この記事は、エマ・クック氏がアクセシビリティチームの一員としてEuroPython 2026に多大な貢献をしたことを強調しています。エマ氏の参加は、カンファレンスのインクルーシブなアプローチを高め、すべての参加者にとって歓迎されるものにすることを目指しました。彼女はボランティア経験を、活気に満ち、歓迎され、充実したものだと語りました。以前は参加者として、その後ボランティアとして参加した彼女にとって、2026年の運営委員会での役割は、その役割としては初めてでした。エマ氏は、カンファレンスを物理的にアクセスしやすく、神経多様性のある個人をサポートすることに焦点を当てました。彼女の責任には、静かな部屋の確保、刺激玩具の提供、育児や食事の要件などのさまざまな参加者のニーズへの対応が含まれていました。重要な成果の1つは、EuroPythonにHidden Disabilities Sunflowerスキームを導入したことです。このイニシアチブにより、目に見えない障害を持つ個人が、理解が必要な場合があることを控えめに示すことができます。エマ氏のカンファレンスに対する見方は根本的に変わり、舞台裏の仕事への深い感謝の念を育みました。彼女は、情熱的な個人と協力し、具体的な影響を与え、ユニークな洞察を得るために、他の人々にもボランティアをすることを奨励しています。
CdXz5zHNQW_fdEJ2urIrT.png
フリーランサーは、有料の簿記ツールが遅すぎ、必須のレポート機能が不足していることに気づきました。彼らはPythonを使用して独自のソリューションを構築することを決定し、広範なテストを備えた小規模なコードベースを作成しました。このカスタムシステムには、データ抽出のための人間の監視付き請求書スキャナーが含まれています。このプロセスは月次の簿記タスクを自動化し、会計士のためにExcelレポートを生成します。AIに魅力を感じたものの、フリーランサーはAIが必要なのは、さまざまなサプライヤーのPDFからデータを抽出する1つのステップだけだと特定しました。プロセスの残りは、算術と検証のための堅牢なコードに依存しています。システムは、重要な意思決定ポイントとデータ承認のためのヒューマン・イン・ザ・ループを重視しています。承認されると、PDFは不変の記録として機能するように名前が変更され、データベースの必要性がなくなります。システムの設計は、不変性とトレーサビリティを優先しており、最終レポートのすべての合計は数式です。このアプローチにより、会計士による簡単な検証が保証されます。フリーランサーは現在システムを維持していますが、完全な制御、コスト削減、およびワークフローの改善を実現しています。主なポイントは、ワークフローのマッピング、AIの控えめな使用、コーディングルール、人間の監視、およびトレーサビリティの確保です。
CdXz5zHNQW_B1IdOrwP5A.png
PyPyチームはバージョン8.0.1をリリースし、2026年9月14日にPyPyをアップデートしました。このリリースでは、バッファメモリリークと、RPythonオブジェクトをC PyObjectオブジェクトに紐付ける際の問題が修正されています。Python 3.11および3.12の標準ライブラリが、バンドルされたlibexpatと共にアップデートされました。内部的には、テストにpytest 3.10が使用されるようになりました。このリリースには、Python 2.7.18+をサポートするPyPy2.7と、Python 3.11.17をサポートするPyPy3.11(これが最後のリリースとなります)が含まれています。Python 3.12.15をサポートするPyPy3.12も含まれています。これら3つのインタープリタはすべて共通のコードベースに基づいています。ユーザーはアップデートを推奨されており、ダウンロードリンクはpypy.orgで見つけることができます。チームは寄付者への感謝を述べ、バグ修正、ドキュメント、JIT改善への貢献を呼びかけています。C拡張機能を使用しているライブラリメンテナーは、PyPyのパフォーマンス向上のためにCFFIバージョンを作成するか、今後のcp312-abi3タグサポートを利用することを強く推奨します。PyPyは、統合されたトレーシングJITコンパイラで知られる、高速なPythonインタープリタであり、CPythonの代替です。バイナリビルドは、x86マシン(Linux、Mac OS、Windows)および64ビットARM(Linux、macOS)向けに提供されています。Windows 32ビットや各種Linuxアーキテクチャなどの他のプラットフォームもサポートされていますが、公式バイナリはありません。PyPyチームは、貢献者への感謝を表明し、新しいメンバーを歓迎します。また、他の動的言語の開発者にもRPythonの探索を奨励しています。詳細については、完全な変更履歴が利用可能です。
このエピソードでは、Brianとの対談、追加コンテンツ、そしてジョークが特集されています。Nickは、トークン生成なしで高速かつ費用対効果の高い分類を提供する「System 1」決定モデルであるJevを探求し、これを生成LLMと従来のMLモデルの中間に位置づけています。Brettは、PEP 772を通じて設立された初のPython Packaging Council (PPC) の選挙を発表し、現在その範囲とロジスティクスを定義しています。Calvinは、Daniel LemireによるPython向けのfastsimdjsonのベンチマークを発表し、特にマルチスレッディングとレイジーパーシングを使用した場合、毎秒数十ギガバイトのJSONデータを解析できる能力を示しています。Michaelは、Miguel Grinbergによる年次Pythonベンチマークについて議論し、Python 3.15の実験的なJITビルドが大幅に高速化されていることを示していますが、シングルスレッドテストではPyPyとRustがCPythonを上回っています。Carolは、Python開発者向けの透明で信頼できるAIツールに焦点を当てたコミュニティ主導のイニシアチブであるSatyrn AIを紹介します。Michaelはまた、Adobe Creative SuiteのRustベースのAI構築オープンソース代替品であるArtCraftを強調し、ソフトウェア開発の状況の変化と持続可能性の課題を強調しています。Calvinは、モデルの互換性を確認するためのllmfit.orgへのリンクを共有し、uv 0.13.0がデフォルトでPython 3.15を使用するようになったことを指摘しています。NickはBlack Python Devsの学生アンバサダープログラムを宣伝し、BrettはPython 3.15.0の最終リリースを発表します。最後に、多くの例外を発生させる「例外的な」Python開発者に関するジョークでエピソードは締めくくられます。
CPython 3.15 と他の Python 実装との間で、8 つのサンプルプログラムを使用したパフォーマンス比較が実施されました。目標は、CPython の進捗状況を評価し、PyPy や Ahead-of-Time (AOT) トランスパイラなどの代替手段と比較することでした。ベンチマークの結果は、JIT コンパイラを備えた CPython 3.15 で大幅な改善を示しました。JIT なしでは、CPython 3.15 はわずかな速度向上を提供しましたが、JIT が有効になるとパフォーマンスは大幅に向上しました。3.15 におけるこの JIT の改善は、PyPy のパフォーマンスとの将来的な収束の可能性を示唆する、重要なポイントと考えられています。PyPy 7.3.20 は、幅広い Python 機能サポートを備えていても、非常に印象的な速度向上を示しました。TurboPython や Shed Skin のような、制限された Python サブセットで動作する AOT トランスパイラは、さらに大きな速度向上を達成しました。TurboPython は特に強力なパフォーマンスを示し、一部のプログラムでは最速でしたが、改善の余地がある領域もいくつかあります。Shed Skin も最新バージョンでパフォーマンスの向上が見られました。著者は、自身の関与により、結果に Shed Skin に対するわずかな偏りがあることを認めています。各プログラムの詳細な結果は別途入手可能です。
CdXz5zHNQW_ZYgwc6b5Y1.png
CdXz5zHNQW_xNle5WNziN.png
ソニーは、2028年以降にリリースされるすべてのゲームがデジタル専用になると発表しました。この移行はXboxにも及ぶと予想されていますが、任天堂はファーストパーティタイトルについては引き続きパッケージ版を提供する可能性があります。すべてデジタル化されたゲームの未来は、プラットフォームをNetflixのようなストリーミングサービスと同じ制約下に置くことになります。最近のソニック・ザ・ヘッジホッグ3とピクミン2のリマスター版は、潜在的な問題を浮き彫りにしています。デジタルゲームはライセンスとして機能し、プレイヤーとメディア所有者との継続的な関係を必要とします。これらの関係は、メディア所有者が含まれるコンテンツに対して持つライセンス契約の影響を受けます。ライセンスが失効したり問題に直面したりした場合、開発者はゲーム内でそれを是正する必要があります。ロックバンドのような音楽をフィーチャーしたゲームは、失効するライセンス条件によってすでにこれを実証しています。ソニック・ザ・ヘッジホッグ3のサウンドトラックは、マイケル・ジャクソンの未クレジットの関与疑惑により、リマスター版で変更されました。同様に、ピクミン2の実際のブランドの採用は、最新リリースで架空のものに置き換えられました。この傾向は、将来のゲームが創造的な制約と所有権および保存に関する課題に直面する可能性を示唆しています。
CdXz5zHNQW_Iv3vUonWZa.jpeg
Python 3.15 では、アプリケーションの起動時間を改善するために明示的な遅延インポートが導入されました。これらのインポートは、インポートステートメントの前に「lazy」キーワードを付けることで示されます。通常のインポートはモジュールを即座にロードしますが、遅延インポートはモジュールが実際に使用されるまでモジュールのロードを延期します。これにより、Python アプリケーションの初期起動フェーズでの不要なオーバーヘッドを防ぎます。この記事シリーズは、この新しい機能を明確な例で説明することを目的としています。また、古いPythonバージョンと互換性のあるコードの書き方についても説明します。既存のPythonインポートシステムは、インポートステートメントが検出されるとすぐにモジュールをロードします。スクリプトの冒頭で多くのモジュールがインポートされている場合、これは大幅な遅延につながる可能性があります。遅延インポートは、モジュールが明示的にアクセスされたときにのみロードすることで、この問題に対処します。これは、アプリケーションのすべての実行パスで使用されない可能性があるモジュールに特に役立ちます。インポートプロセスを最適化することで、Python アプリケーションの起動をより速くすることに重点が置かれています。
CdXz5zHNQW_RgxhaSl0ry.webp