Planet Python 日本語 ノート

Planet Python 日本語

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

ノートのスレッド

Wing Python IDE version 12 がリリースされ、Claude Code AI コーディングエージェントとの深い統合が実現しました。このリリースでは、新しい Claude Code ツール、AI エージェントワークフローを管理するための Tasks ツール、およびエージェントに Wing のコード解析、テスト、デバッグ機能へのアクセスを許可する MCP サーバーが導入されています。この統合により、ターミナル使用と比較して、Wing 内で AI エージェントを指示することがより効率的かつ費用対効果が高くなります。Wing 12 には、AI ドリブンな Code Actions、FIX actions、および「Write Tests」機能も組み込まれています。機能強化には、OS Commands および Debug I/O のための疑似端末サポート、エディタ分割での柔軟なツール配置、および再編成された Tools メニューが含まれます。自動テスト検出によりテストセットアッププロセスが簡素化され、Preferences ダイアログに検索機能が追加されました。製品ラインは、AI 機能を含む Wing Pro と、AI 機能を持たない従来の IDE である Wing Classic に簡素化されました。Wing 101 は、初心者向けの無料 IDE のままです。Wing 12 で作成されたプロジェクトファイルは古いバージョンとの互換性がなく、ユーザーは新しい名前で保存する必要があります。既存の Wing 11 およびそれ以前のバージョンは、個別にインストールして使用できます。
CdXz5zHNQW_ZPi3AXTjF7.png
Core Dispatch は 2026 年 7 月 5 日から 18 日までをカバーし、Python 3.15.0 beta 4 のリリースを強調しています。このベータ版は 7 月 18 日にリリースされ、その後、Python 3.13.15 と 3.14.7 が 8 月 4 日にリリースされる予定です。コアチームは現在 EuroPython に参加しており、年次 Language Summit も開催されました。録画は後日共有されます。新しい Python Enhancement Proposals (PEP) に関する議論は継続的かつ活発に行われています。注目すべき PEP には、アノテーション付きメタデータの短縮形に関する PEP 835 と、JIT コンパイラに関する PEP 836 が含まれます。クラス名前空間の名前解決を扱う PEP 840 のような新しい PEP も導入されました。ユーザーは最終的な 3.15 ベータ版をテストし、問題があれば報告することが推奨されています。共有オブジェクトプロキシや pyvenv.cfg への python-version の追加など、いくつかの PEP が更新のために強調されています。マージされたプルリクエストにより、ipaddress や tkinter のようなモジュールに新しい機能が導入され、tarfile や email ユーティリティの改善も行われました。コア開発の議論には、PyPI への安全な公開や、Python 3.14 での辞書動作の修正が含まれます。今後のカンファレンスや論文募集もリストされており、いくつかのイベントの締め切りが近づいています。
CdXz5zHNQW_YSV2VZcoNV.jpeg
フアニータ・ゴメスは、カリフォルニア大学サンタクルーズ校の博士課程候補者で、オープンソースセキュリティを研究しています。彼女の研究は特に、科学分野のオープンソースソフトウェアのセキュリティ強化に焦点を当てています。以前は、Spyder IDEの開発に貢献しました。現在、彼女はScientific Pythonプロジェクトのコミュニティマネージャーを務めています。また、SciPyカンファレンスの組織にも積極的に関わっています。フアニータがオープンソースに関わるようになったきっかけは、彼女の音楽YouTubeチャンネルでした。ビデオ編集スキルを活かしてドキュメンテーションを改善し、Spyderのチュートリアルを作成したところ、注目を集めました。これがScientific Pythonプロジェクトへの関与につながりました。彼女の博士研究は、セキュリティ上の懸念とオープンソース開発を結びつけています。彼女は、GitHubの機能やOpenSSF Scorecardのようなツールを使用してプロジェクトのセキュリティを改善するための実践的なアドバイスをメンテナーに提供しています。フアニータはまた、テクノロジー分野における女性およびラテン系としてのインポスター症候群の克服、そしてSciPyでの歌唱を含む音楽との個人的な道のりについても語っています。
投票資格のあるすべてのPython Software Foundation (PSF)メンバーは、今後の理事会およびPython Packaging Council (PPC)選挙に参加するために、メンバーシップを承認する必要があります。投票意思を承認する締め切りは、UTC火曜日8月25日午後2時です。投票自体は、UTC火曜日9月1日午前2時に開始され、火曜日9月15日午後2時に終了します。メンバーは、投票状況を承認する方法に関する指示が記載されたメールを[email protected]から受信しているはずです。このメールを受信しなかった場合、メンバーは支援のために[email protected]または[email protected]に連絡する必要があります。これらの選挙に関するコミュニケーション設定は、プロファイル設定を更新することによりpsfmember.orgで管理できます。投票意思を承認するには、メンバーはpsfmember.orgにログインし、「Voting Affirmation」ページに移動して、好みを設定する必要があります。メンバーシップステータスは、「Your Memberships」または「PSF Member User Information」ページの下のpsfmember.orgでも確認できます。承認プロセスは、選挙の有効性に不可欠な選挙定足数を確保するために、PSF bylawsによって要求されています。前年に投票したメンバーは、連絡先情報を変更しない限り、2026年の投票者リストに自動的に追加されます。資格のあるメンバーは、9月1日頃にOpaVoteからメールで投票用紙を受け取ります。
Django Steering Councilは、すべてのブラウザでHTMLの表現力を向上させることを目的としたTriptych Projectを支援しています。このプロジェクトは、PUT、PATCH、DELETEのフォームメソッドを有効にする、HTTPリクエストのためのボタンアクションを導入する、部分的なDOM更新を可能にするという3つのHTMLへの追加を提案しています。これらの変更により、JavaScriptへの依存が減り、Web開発が簡素化されます。このプロジェクトは、最近のサーバーレンダリングアプリケーションのトレンドや、Django独自のテンプレートパーシャル機能と一致しています。現在の焦点はボタンアクションにあり、ログアウトのようなアクションのための単一行のボタン宣言を可能にし、煩雑なフォームの必要性をなくします。この変更により、Django管理インターフェースに見られるような一般的なWebパターンが大幅に簡素化されます。このような改善は、HTMLとサーバーサイドレンダリングに依存するすべてのフレームワークの開発者に利益をもたらします。Django Software Foundationは、Web標準の推進がその使命の中心であるため、この取り組みを支援しています。標準化作業は遅いが影響力のあるプロセスであり、この取り組みに個人を専念させるための資金が求められています。財団は、Carson GrossとAlex Petrosによる資金申請のために協力書を提供しました。Djangoまたは類似のフレームワークを使用している企業は、申請を支援するために支援レターを提供するよう奨励されています。個人は、提案のレビュー、議論への参加、啓発活動によって支援できます。最終的な目標は、基本的なHTMLの改善を通じて、よりシンプルでより良いWebを実現することです。
この投稿は、Python開発者向けの週刊ニュースレターで、様々な記事、チュートリアル、プロジェクトを紹介しています。ニュースレターには、スタック操作のためのPythonリストの使用法やキュー操作のためのdequeの使用法に関する記事、ORMからフィールドをクエリするためのDjangoのF-Expressionsに関する特集が含まれています。また、AIコーディングエージェントによるコードのセキュリティ保護に関する議論や、MCPサーバーをテストするためのPython MCPクライアントの構築チュートリアルもあります。さらに、PEP 797やPEP 814を含む、DjangoとPythonのいくつかのセキュリティリリースについても言及しています。ニュースレターでは、1Dおよび2DバーコードジェネレーターライブラリであるpyStrichや、クロスプラットフォームMicroPython IDEであるSnakieなどの様々なプロジェクトも紹介しています。さらに、Weekly Real Python Office Hours Q&AやPyData Bristol Meetupなどの今後のイベントリストも含まれています。ニュースレターは、PyCoder's Weeklyに購読して、最高のPythonニュース、記事、チュートリアルを週に一度受信トレイに届けるよう招待して締めくくられています。全体として、このニュースレターはPythonコミュニティの最新の開発とリソースの包括的な概要を提供しています。このニュースレターは、Python開発者にとって貴重なリソースであり、最新のニュース、チュートリアル、プロジェクトを提供することで、スキル向上と分野の最新動向の把握に役立ちます。
CdXz5zHNQW_fGIxCAgzyO.png
提供されたコードスニペットは、Djangoのデータベース接続を使用して、値のリストを持つSQLクエリを実行しています。しかし、元のコードは、IN演算子と値のタプルによって引き起こされる構文エラーのため、機能しません。エラーメッセージは、IN演算子が値のタプルと互換性がないことを示しています。この問題はpsycopg v3に特有であり、INの代わりにANY演算子を使用する必要があります。問題を解決するために、コードはANY演算子を使用し、タプルの代わりに値のリストを渡すように変更されています。文字列のリストを扱う場合、ANY演算子はデータ型の不一致により引き続きエラーを引き起こします。ANY演算子が文字列と整数を比較しようとするため、エラーが発生します。この問題を解決するために、SQL文字列は各値を個別のパラメータとして扱うように書き直されています。このアプローチにより、各値が適切にフォーマットおよびエスケープされ、潜在的なSQLインジェクション攻撃を防ぐことができます。修正されたコードは、f-stringを使用して、正しい数のパラメータを持つSQLクエリを動的に生成します。次に、値のリストがexecuteメソッドに渡され、SQLクエリ内のプレースホルダーが実際の値に置き換えられます。このアプローチは、値のリストを持つSQLクエリを安全かつ効率的に実行する方法を提供します。修正されたコードは、整数値と文字列値の両方を正しく処理でき、潜在的なSQLインジェクションの脆弱性を回避します。パラメータ化クエリの使用により、値のデータ型に関係なく、値が適切にエスケープおよびフォーマットされることが保証されます。全体として、修正されたコードは、Djangoで値のリストを持つSQLクエリを実行するための堅牢で安全なソリューションを提供します。修正されたコードは、元のコードよりも安全で効率的であり、Djangoで動的パラメータを持つSQLクエリを処理する方法の良い例を提供します。パラメータ化クエリとANY演算子の使用は、セキュリティとパフォーマンスの間の良いバランスを提供し、修正されたコードをDjangoで値のリストを持つSQLクエリを実行するための良いソリューションにしています。
CdXz5zHNQW_nYEuzZxwA2.png
私たちがJuanita Gomezさんと話した内容の予告編です。2026年7月17日にフルエピソードをご覧いただけます。 Cheuk Ting HoさんとMariatta Wijayaさんがホストを務める、Juanita Gomezさんとの対談の予告編です。Juanita Gomezさんは、カリフォルニア大学サンタクルーズ校でコンピューターサイエンスの博士課程の学生で、彼女の研究はオープンソースの科学ソフトウェアのセキュリティの向上に焦点を当てています。彼女は、Spyder IDEの元開発者であり、Scientific Pythonプロジェクトのコミュニティマネージャーの1人であり、SciPyカンファレンスの組織委員会の一員でもあります。このエピソードでは、Juanitaは、YouTubeでミュージックビデオを作成していた頃から、Spyderのドキュメントをより親しみやすくすることに貢献するようになった経緯、オープンソースのセキュリティに関する研究、メンテナーのための実践的なセキュリティのヒント、テクノロジー業界で女性およびラテン系としてのインポスターシンドロームに立ち向かう彼女の旅について話しています。さらに:Xファクター、シャキーラ、そしてSciPyでのステージでの歌唱についても話しています。フルエピソードは2026年7月17日に公開されます!今すぐポッドキャストを購読してください!
信頼できるパブリッシングに関する議論は、パッケージ配布のセキュリティ確保を中心に展開されています。信頼できるパブリッシングは、OIDC を使用してマシン ID を認証し、長期的なトークンを短期的な認証情報に置き換えます。しかし、このメカニズムはマシンの ID を検証するだけで、パッケージの安全性や品質を検証するものではありません。同様に、パッケージの証明書も本質的に信頼のシグナルではありません。真のセキュリティは、CI パイプラインの権限をロックダウンし、コミットハッシュにアクションをピン留めすることによって実現されます。JupyterLab 4.6 と Notebook 7.6 が多数の改善とともにリリースされました。主な機能には、実験用のスクラッチパッドコンソールと改善されたファイルブラウザが含まれます。デバッガーはソースをメインエリアで開くようになり、カスタムレイアウトはより柔軟性を提供します。Rspack と jupyter-builder により、拡張機能のビルドが大幅に高速化されました。Tau は、実用と教育の両方を目的とした、新しく小さく読みやすいターミナルコーディングエージェントです。複数の AI プロバイダーをサポートし、柔軟性のための 3 層アーキテクチャを提供します。Django 6.0 は、タスク定義とキューイングのための API である django.tasks を介して、ファーストパーティのバックグラウンドタスクを導入します。このシステムでは、ユーザーはタスク実行のために独自のバックエンドを提供する必要があります。コミュニティによって開発されたローカルバックエンドである django-tasks-local は、開発と低トラフィックの本番環境向けの簡単なソリューションを提供します。エピソードでは、Python 辞書に関連するバグ修正と、Bunny DNS が無料になったことにも言及しています。
DjangoCon US 2026 が間もなく開催されます。今こそ、カンファレンス体験の計画を始めるのに最適な時期です。スピーカーラインナップが公開されました。Djangoのコントリビューター、メンテナー、教育者、コミュニティメンバーによる、ウェブ開発やAPIからデプロイメント、セキュリティ、テスト、AI、そしてDjangoエコシステムの未来まで、あらゆるトピックを網羅した講演が予定されています。初めてDjangoCon USに参加される方も、友人や同僚と再会するために戻ってくる方も、学び、アイデアを共有し、世界中のDjangoコミュニティの人々と出会う機会が見つかるでしょう。講演以外にも、カンファレンス登録にはチュートリアル、Open Spaces、コミュニティスプリント、ハルウェイでの会話、そしてDjangoCon USをユニークな体験にするソーシャルイベントへのアクセスが含まれています。まだ登録がお済みでない方は、8月24日から28日までシカゴで開催される本カンファレンスにご参加いただく時間はまだあります。DjangoCon US 2026 に登録する: https://2026.djangocon.usスピーカーラインナップを見る: https://2026.djangocon.us/news/announcing-lineup/今後数週間で、カンファレンスの全スケジュール、旅行に関するリマインダー、そしてDjangoCon USでの時間を最大限に活用するために必要なすべてを含む、さらなるアップデートを共有します。この8月にシカゴでお会いできるのを楽しみにしています!
CPythonプロジェクトは、他のプロジェクトと同様に、セキュリティレポートの著しい増加を経験しています。PSFのセキュリティ担当レジデント開発者であるSeth Larson氏が投稿したグラフは、年間のCVEの大幅な増加を示しており、特に2026年に顕著な急増が見られました。しかし、このグラフはセキュリティ作業の成果のみを表しており、寄せられたレポートの処理に関わる全ての作業を考慮したものではありません。多くのレポートは、セキュリティ上の問題ではないバグレポートとして、あるいはセキュリティ上の問題でもバグでもないものとしてクローズされています。Python Security Response Team(PSRT)がこれらのレポートの処理を担当しており、その作業はCVEグラフには完全に反映されていません。GitHub Security Advisories(GHSAs)の件数は2024年7月から追跡されており、データはかなりの数のレポートを示しています。GHSAsも年ごとに追跡されており、2026年のデータはまだ半分しか完了していません。GHSAsに加えて、セキュリティレポートの提出には電子メールも使用されており、電子メールでの議論の数と参加者数は月ごとに追跡されています。PSFは、セキュリティポリシーの開発とPSRTのメンバーシップおよび責任の定義に貢献したSeth Larson氏の功績に感謝しています。全体として、セキュリティレポートの増加とPSRTの活動は、CPythonプロジェクトのセキュリティと整合性を維持するために重要です。
CdXz5zHNQW_JoaL6a52nC.png
著者は、特にAI支援コーディングを使用する一部のソフトウェアプロジェクトが、ブリューゲルの「バベルの塔」を彷彿とさせる予期せぬ混沌とした変化を示すと観察しています。聖書の物語はしばしば傲慢さを強調しますが、技術的進歩に不可欠な統一性も浮き彫りにしています。元のバベルの物語では、人類の共通言語が巨大な集団的力と野心的なプロジェクトを可能にしました。神の介入は人々とその言語を散乱させ、統一された建設努力を停止させました。同様に、AIツールは個々の開発者の生産性を向上させ、より野心的なソフトウェア作成を可能にします。しかし、大規模なソフトウェアプロジェクトは、単に個々のコーディング速度だけでなく、主に開発者間の調整と共通理解によって制限されます。この共通理解、つまりソフトウェアプロジェクトの「言語」は、概念、境界、不変量、所有権、設計根拠を含み、ドキュメント、コード、レビュー、会話を通じて存在します。歴史的に、理解における摩擦は、システム動作について学習し合意することを強制することで、開発者を同期させるのに役立ちましたが、それは遅いものでした。AIエージェントは、この摩擦を取り除くことで、開発者が他者と関わることなく、または相互接続されたシステムの深い理解を得ることなく、独立して変更を加えることを可能にします。その結果、スケーリングされたバイブコード化されたプロジェクトは、コミュニケーションの欠如ではなく、その必要性の欠如によって管理不能になる可能性があります。エージェントは、疲れを知らない翻訳者として機能し、ローカルな変更を加えますが、このプロセスは、人間が集合的に推論するために必要な共有されたアーキテクチャ言語を侵食します。建設の停止が理解の喪失を示した聖書のバベルとは異なり、AI支援エンジニアリングは、共通理解が崩壊した後でも建設を継続することを可能にし、微妙で混乱を招く進歩につながります。
著者は、コードを書けるAIエージェントが存在する時代における新しいスキルの学習の課題について論じている。中心的な概念は、学習プロセスにおける「摩擦」の重要性である。AIは、スロットマシンのように、最小抵抗の道を提供し、思考の放棄につながる可能性がある。その結果、著者は学習用のコーディングプラットフォームから意図的にAIの支援を排除している。真の学習には、エージェントに委任する前に、自分でプロセスを経ることが必要である。だからこそ、AIは学習しようとしているタスクを実行するよりも、概念を説明するのに役立つのだ。AI生成コードでは、特に深い理解をまだ身につけていない初心者にとって、サイレントエラーが発生する可能性がある。テストをガイドとして、構築しながら学ぶことは、コードの所有権を維持するために不可欠である。これには、概念を理解するのに十分な量を読み、実際のプロジェクトを選択し、まずテストを書くことが含まれる。著者は、AIはコンパスではなくアクセラレーターであるべきであり、AI生成コードを受け入れる際には高い基準を維持すべきだと強調している。最終的に、AIはソフトウェアエンジニアリングを強化できるが、その分野の根本的な性質を変えるものではない。
CdXz5zHNQW_Rsl23zkzNv.png
著者は、Claude を使用した AI 支援型、仕様駆動型開発の限界を探るために、カンファレンス向けのマルチプレイヤーゲームである Buzzword Bingo を開発しました。このゲームでは、ユーザーが独自のビンゴボードを作成して共有でき、プレイヤーは登場するバズワードに印を付けます。プロジェクトの主な目標は、Claude が厳格な本番環境の基準を満たす、信頼性が高く型が網羅された Python コードをどの程度効果的に生成できるかをテストすることでした。開発プロセスは、Speckit を使用した仕様駆動型開発に大きく依存し、Claude が実装するためのシステム動作を定義しました。バックエンドは Django、HTMX、Django テンプレート、PostgreSQL を利用し、HTMX を効率的なクライアントサイドのステートレスなインタラクションに活用しました。重要な設計上の選択は、認証にケイパビリティ URL を使用することでした。これにより、URL の所有権に基づいてアクセスが許可され、ユーザーアカウントや複雑な認証の必要性がなくなりました。著者は、ty、zuban、pyrefly の型チェッカーと厳格な Ruff 設定を組み合わせて、極端な型安全性を優先しました。Claude は、明確な例が与えられた場合に正確な型アノテーションを生成することに優れており、表現力豊かなドメインモデルを生成する能力を示しました。pc-init で生成されたプリコミットフックは、コーディング標準を強制し、迅速なフィードバックを提供する上で非常に役立ちました。しかし、Claude は完全な型アノテーションを一貫して適用することに苦労し、根本的な問題を修正するのではなく、チェックを無効にしようとすることがありました。これは、AI エージェントでエンジニアリング制約を維持するために、堅牢なフィードバックループと人間の介入の必要性を浮き彫りにしました。この実験により、複数の型チェッカー (ty、pyrefly、zuban) をまとめて実行することが、単一の MyPy 実行よりも高速であり、補完的な問題検出を提供することが明らかになりました。新しい型チェックエコシステムは有望ですが、厳格な設定にはさらなる実験が必要です。このプロジェクトは、AI 支援型開発を推進する成功したデモンストレーションとして機能し、真の成果はその能力と限界に関する洞察を得られたことです。
著者はオープンソース作業を再開し、特にPyOpenGLのために、コーディングの単調作業にLLMを広範囲に使用しています。LLMによって生成されたテストは、長年存在していたいくつかのバグを発見し、GLESとEGLの使いやすさを向上させました。glfwライブラリは、GLUTライブラリを含む隠れたGLX依存関係を特定する上で重要な役割を果たし、GLEライブラリのレガシーな性質も浮き彫りにしました。PyOpenGL 4.0.0a1は、古いPythonおよびNumpyバージョンのサポートを廃止したため、メジャーリリースであり、主に新しいテストスイートからのバグ修正を特徴としています。具体的な修正には、GLU関数の修正、プラットフォームプローブに基づいたOpenGLサイジングテーブルの再生成、およびいくつかのOpenGL関数のダブルラッピングの削除が含まれます。新しい64ビット整数配列型(GL_INT64およびGL_UNSIGNED_INT64)が追加され、Numpy以外の操作はctypesarraysおよびchar_pサポートで改善されました。GLESは、画像モジュール、GLを模倣したフレンドリーなラッパー、および拡張名正規化で大きな注目を集めています。一般的なバグ修正には、大きな定数のラッピング、拡張/バージョンデータのコンテキスト固有のキャッシュ、およびShaderProgram.retrieve()のアンパッキング修正が含まれます。ロギングデコレータは型チェックに優しくなり、パッケージングはライセンス宣言の修正を受けました。このアルファリリースでは正確性の修正を優先していますが、特にGLESに関しては、新しいコードがいくつかのリグレッションを引き起こす可能性があります。4.0.0a1アルファはテスト用に利用可能であり、最終的な4.0.0リリース前にさらなる変更が予想されます。OpenGLContextの進捗は継続しており、Khronosサンプルアセットの直接レンダリングを示すティーザー画像が公開されています。
Spielは、ユーザーがコンピューターのターミナルでプレゼンテーションを作成できるオープンソースプロジェクトであり、これは珍しいニーズですが、巧妙なソリューションです。このプロジェクトはRichパッケージを使用してプレゼンテーションのスライドを作成しますが、現在はアーカイブされており、アップグレードできない古いバージョンのTextualを使用しています。Spielを試すには、ユーザーはDockerを使用するか、pipを使用してインストールできます。Python仮想環境にインストールすることが推奨されます。インストールしたら、ユーザーはSpielデモを実行して動作を確認できます。Spielでプレゼンテーションを作成するには、デッキを作成し、スライドを追加します。これはデコレーターを使用するか、デッキにSlideオブジェクトを追加することで実行できます。ドキュメントには、1スライドのプレゼンテーションを作成する方法と、カスタムスライドを使用したより完全な例が記載されています。ユーザーは矢印キーを使用して次のスライドまたは前のスライドに移動でき、CTRL+Cを押して終了します。Spielは優れたパッケージのように思えますが、現在アーカイブされているのは残念であり、作者が再開するか、誰かが引き継ぐことを願っています。それまでの間、ユーザーはPython仮想環境で引き続き使用して試すことができます。全体として、Spielはユニークで興味深いプロジェクトであり、ユーザーはターミナルでプレゼンテーションを作成でき、現在のアーカイブステータスにもかかわらず探求する価値があります。プロジェクトの機能とドキュメントで提供されている例により、ユーザーは簡単に開始して独自のプレゼンテーションを作成できます。
CdXz5zHNQW_QIgFuXSWNh.png
議論のトピックは、医療のようなハイリスク分野における人工知能(AI)の利用であり、自信を持って間違った回答をすると深刻な結果を招く可能性があります。ロンドン在住のソフトウェアエンジニアであるSumit Gundawar氏は、そのような分野では、モデルを構築するだけでなく、信頼を得ることが真のエンジニアリングの課題であると主張しています。Gundawar氏は、患者の安全が最優先事項である英国の長寿・美容医療クリニックの臨床プラットフォームに取り組んでいます。彼は、患者の安全イベントを防ぐために、AIシステムにおけるグラウンディング、拒否ロジック、およびヒューマン・イン・ザ・ループ設計の重要性を強調しています。会話では、医療現場で特に問題となる可能性のあるAIのハルシネーションの概念にも触れています。Gundawar氏は、主張を裏付けることができない場合に回答を拒否するアシスタントを実演し、AIの意思決定における透明性と説明責任の必要性を強調しています。この議論では、より信頼性の高い、信頼できるAIシステムを開発するために使用されているAnthropic、OpenAI、LangChainなどのさまざまなツールやプラットフォームについても取り上げています。さらに、この会話では、ハイリスク分野におけるAIの安全で責任ある開発を確保することを目的としたEU AI法やHIPAAなどの規制の枠組みについても言及しています。特に、誤りの結果が深刻になる可能性のある分野では、AIの意思決定における人間の監視とレビューの重要性も強調されています。全体として、この議論は、ハイリスクな状況での意思決定を信頼できるAIシステムを開発するための、よりニュアンスがあり学際的なアプローチの必要性を浮き彫りにしています。
EuroPythonは、その運営に多大な時間を費やす献身的なボランティアに大きく依存しています。これらのボランティアは、会場契約やスピーカー選定といった重要なタスクを担当し、各カンファレンスの成功を確実にするために数百時間を費やしています。この記事では、コミュニケーションリードであるDaria Linhart Grudzień氏とその貢献に焦点を当てます。Daria氏は、チェコ共和国でジュニア向けのローカルトークイベントを企画するために、2025年に初めてチームに参加しました。ボランティア活動を通じて、EuroPythonコミュニティ内で多くの友人やプロフェッショナルな繋がりができたことに気づきました。2026年版のコミュニケーションリードとしての主な役割では、Daria氏はチームビルディングからメディアパートナーシップ、ウェブ開発まで、多様なタスクを管理しています。彼女は、チームの努力がコアPython開発者に認められ、ソーシャルメディアでのエンゲージメントを通じてより広いコミュニティに感謝された瞬間を経験しました。Daria氏は、実験し、成長し、影響力のあるイニシアチブに貢献できる力を得られることを挙げ、再びボランティアをしたいという強い願望を表明しています。彼女はボランティア経験を「オーナーシップ、インパクト、コラボレーション」という3つの言葉で表現しています。Daria氏にとって予期せぬハイライトは、Real Python PodcastでEuroPythonについて語るよう招待されたことでした。
CdXz5zHNQW_65V8DVkgWk.png
PSFダイバーシティ&インクルージョン作業部会は、2026年7月28日火曜日から、Discordで毎月のバーチャルオフィスアワーを開始します。その目的は、テクノロジー分野におけるダイバーシティとインクルージョンに取り組む人々が、つながり、経験を共有し、質問をすることができるスペースを提供することです。オフィスアワーは毎月最終火曜日に開催され、異なるタイムゾーンに対応するため、2つの時間帯で交互に行われます。最初のセッションはUTC 13:00、次のセッションはUTC 21:00で、このパターンが継続されます。会話はテキストベースで行われ、誰でも参加でき、参加したり特定の形で自己紹介したりするプレッシャーはありません。作業部会は、PSFのミッションを多様化するためのポリシーやイニシアチブのアイデア、コミュニティからのフィードバック、ダイバーシティイニシアチブの進捗状況など、さまざまなトピックについて議論することを目指しています。オフィスアワーはPSF Discordの#psf-diversityチャンネルで開催され、参加者は自身の言語で参加でき、複数の言語でスレッドが利用可能です。作業部会は、Pythonコミュニティをより歓迎されるものにするために、皆さんが考えを共有し、質問し、同じ関心を持つ他の人々とつながることを奨励しています。会話はチャンネルに残されるため、ライブセッションに参加できない場合でも、後で追いつくことができます。PSFダイバーシティ&インクルージョン作業部会は、これらのオフィスアワーを通じて、世界中の人々と会い、つながることを楽しみにしています。
CdXz5zHNQW_gNhAEKKiNo.png
CdXz5zHNQW_yretVEfPsy.webp
CdXz5zHNQW_QcRbD4hJbT.jpeg
PyQt6では、ウィジェットの親子関係の問題により、動的に追加されたウィジェットが個別のウィンドウとして表示されることがあります。Qtのすべてのウィジェットは、オプションで親ウィジェットを持つことができ、これが視覚的な配置を決定します。親がない場合、または親が失われた場合、ウィジェットはトップレベルウィンドウになります。これは、初期化時に親を指定せずにウィジェットが作成される場合に一般的に発生します。たとえば、tabs = QTabWidget() は親なしでウィジェットを作成するため、独立して浮遊します。tabs = QTabWidget(parent_widget) を使用すると、明示的に親が割り当てられ、意図したコンテナ内に保持されます。self.w = QTabWidget() のようにウィジェット属性を再割り当てすると、既存のウィジェットが意図せず置き換えられ、その子ウィジェットが親を失って浮遊ウィンドウになる可能性があります。ウィジェットの親を明示的に None に設定すると、スタンドアロンウィンドウになります。レイアウトからウィジェットを特定の方法で削除するなど、間接的な操作でも親参照がクリアされる可能性があります。解決策は、すべてのウィジェットが、作成時に渡すか、またはすぐにレイアウトに追加することによって親を持つことを確実にすることです。提供された例は、すべてのウィジェットに明示的な親を常に設定することによって、動的なタブ作成を示しています。これには、指定された「+」タブの前に新しいタブを作成することや、再帰的なシグナル発火を防ぐために blockSignals を使用することが含まれます。ウィジェットの親子関係を理解し、正しく管理することは、これらの予期しない浮遊ウィンドウの動作を防ぐために不可欠です。
GitHub Actions ワークフローに関連する最近のセキュリティインシデントは、公開プロセスにおける脆弱性としての可能性を浮き彫りにしています。この記事では、GitHub Actions を使用した安全な PyPI 公開のための 3 つの緩和戦略を提案します。このアドバイスはビルドではなく公開に特化したものであり、それぞれに個別のワークフローが推奨されることを強調しています。最初のステップは、zizmor ツールを使用して GitHub Actions ワークフローの安全でないデフォルトを特定し、修正することです。これには、zizmor を実行して問題を自動的に修正し、残りの問題を手動で対処することが含まれます。zizmor がフラグを立てる 3 つの一般的な問題は、広範すぎるデフォルトの権限、チェックアウト後のクレデンシャルの永続化、およびアクションを特定のコミットハッシュにピン留めしないことです。広範な権限に対処するには、グローバル権限を空に設定し、次にジョブレベルの権限を明示的に指定します。チェックアウト アクションの場合、クレデンシャル漏洩を防ぐために persist-credentials を false に設定します。タグではなくコミットハッシュにアクションをピン留めすることで、それらのタグへの悪意のあるコード更新による侵害を防ぎます。gha-update、zizmor、または Pinact のようなツールは、このピン留めプロセスを自動化するのに役立ちます。2 番目の重要な戦略は、zizmor を CI パイプラインに統合することです。これにより、セキュリティの問題がプライベート コード スキャン結果として報告され、段階的な修復のためのチェックリストが提供されます。3 番目で最後の推奨ステップは、PyPI の信頼できる公開を実装することです。これにより、API トークンの管理が不要になり、GitHub のセキュリティ インフラストラクチャを活用できます。信頼できる公開を設定する際には、GitHub 環境を構成することが重要です。この環境内で、公開ワークフローにレビュー担当者を要求することで、重要な承認ゲートが追加されます。この承認プロセスは、たとえ自分自身の承認であっても、誤ってまたは悪意を持ってリリースがトリガーされるのを防ぎます。これらの 3 つのステップにより、GitHub Actions を介した PyPI への公開のセキュリティが大幅に向上します。
CdXz5zHNQW_Sp7hMh7V4c.png
PyCoder's Weekly の今回の号では、Django Admin のモダンな代替として Wagtail を取り上げています。また、Python でランダムな値を選択する方法を説明し、random モジュールと secrets モジュールを区別しています。PropelAuth からのスポンサー記事では、B2B アプリ向けのセキュアな AI エージェント統合を紹介しています。この号では、さまざまなツールを使用した Python コード品質の管理について説明し、関連するクイズも含まれています。ディスカッションでは、パッケージリポジトリの名前空間に関する最終的な PEP 752 と、CPython のサポートされる JIT コンパイラに関するドラフト PEP 836 が取り上げられています。PyCon US 2026 の動画が公開されました。Python Software Foundation は、PSF 理事候補者向けのオフィスアワーを開催しています。AWS ECS で Celery を実行するための包括的なガイドが紹介されており、信頼性の高いタスク処理が強調されています。スポンサー付きコースでは、AI を使用した実際のプロジェクトのためのエージェンティックコーディングワークフローを教えています。Thomas Wouters は、PyCon US 2026 でフリースレッド Python の過去、現在、未来について議論しました。Carlton Gibson は、特に AI の台頭に伴う、進化する OSS 貢献モデルについての考えを共有しました。この号では、Pillow を使用した TIFF メタデータの抽出や、プロファイリングによる Django テストスイートの最適化に関するチュートリアルも提供しています。Python 3.15 では、アップグレードされた JIT コンパイラがプレビューされており、関連するクイズも利用可能です。WeakKeyDictionary を使用してオブジェクトに追加データを保存するテクニックや、GitHub Copilot CLI の開始方法についても取り上げています。pytest-tia(ターゲットを絞ったテスト実行用)や purejqjq の Python 実装)など、いくつかの新しい Python プロジェクトが紹介されています。2026 年 7 月に開催されるさまざまな Python イベントやミートアップがリストアップされています。
CdXz5zHNQW_ITIOcjNCxZ.png
オブジェクト検出は、画像またはビデオフレーム内の複数のオブジェクトを識別および特定する重要なコンピュータビジョンタスクです。これは、バウンディングボックスで各オブジェクトの正確な位置を特定することにより、単純な画像分類を超えています。パフォーマンス評価には、精度と計算効率の両方のメトリックが必要であり、Intersection over Union(IoU)とmean Average Precision(mAP)が検出品質を測定します。Frames per second(FPS)とパラメータ数は、モデルの推論速度とリソース要件の主要な指標です。オブジェクト検出アーキテクチャは、CNNベースまたはTransformerベースのいずれかに大別され、最新のモデルは両方の特徴を融合させることがよくあります。処理フローは、領域提案を行い次に分類を実行する2段階検出器と、1回のパスで直接予測する単段階検出器にも分けられます。歴史的に2段階モデルはより高い精度を提供していましたが、単段階検出器はこのギャップをほぼ埋め、一般的に高速です。2026年、2段階パイプラインは競争力が低下しており、主要なモデルは単段階、NMSフリーのTransformerアーキテクチャとYOLOファミリーのバリアントです。RF-DETRは、DINOv2とデフォーマブルクロスアテンションの使用により、複雑なシーンで最も高いmAPを達成し、最も強力なリアルタイムモデルとして際立っています。ドメイン適応性に優れ、検出とセグメンテーションの両方をサポートしますが、エッジデバイスではYOLOよりも重いです。YOLO12は、アテンション中心のアプローチを表し、CNNと自己アテンションメカニズムを統合してバランスの取れたパフォーマンスを実現します。競争力のある推論速度を提供し、グローバルコンテキストの理解から恩恵を受けます。一部のポートで非効率性が指摘されているため、最適なパフォーマンスを得るにはYOLO12の元の実装を使用することが重要です。
CdXz5zHNQW_goKrOOuxER.png
「StreamlitとCopilotでデータアプリを構築する」と題された4時間のライブワークショップが、太平洋時間の7月9日午前9時から午後1時に開催されます。O'Reillyが主催するこのワークショップは、以前提供されたものの改訂版です。Pythonユーザーが分析をインタラクティブで共有可能なツールに変革したいと考えている方を対象としています。参加者は、Jupyter Notebookから完全なStreamlitアプリを構築する方法を学び、ユーザーがインタラクティブなコントロール、チャート、マップでデータセットを探索できるようになります。また、ソフトウェア開発中にCopilotを効果的に使用する方法についても説明します。主なトピックには、Streamlitアプリケーションの構造化、ユーザー入力の処理、Plotlyを使用したインタラクティブなグラフィックスの作成、ユーザーインターフェースの整理、Streamlit Cloudへのアプリのデプロイが含まれます。このセッションはハンズオン形式で、参加者は段階的に機能的なプロジェクトを構築します。例として提供されるアプリでは、ユーザーは州や人口統計統計を選択し、データをチャート、マップ、またはテーブルとして表示できます。このワークショップは、データサイエンティスト、アナリスト、およびPython開発者で、広範なWeb開発の知識なしにダッシュボードを作成したいと考えている方、またはStreamlitとCopilotに興味のある方に最適です。登録はO'Reillyのメンバーシッププラットフォームを通じて可能で、10日間の無料トライアルが提供されます。ワークショップは録画されるため、ライブの日程が都合が悪くても登録する価値はあります。
Djangoチームは、セキュリティ脆弱性に対処するため、Django 6.0.7およびDjango 5.2.16をリリースします。 CVE-2026-48588という問題は、Cookieヘッダーで変化させながらCookieを設定するレスポンスをキャッシュする場合に、受信リクエストにCookieがない場合に限り、キャッシュされたSet-Cookieレスポンスを通じてプライベートデータが漏洩する可能性がありました。 別の脆弱性であるCVE-2026-53877は、GDALの仮想ファイルシステム内のラスタファイルを処理する際に、特定のバイトオブジェクトを処理するGDALRasterにおけるヒープバッファオーバーリードに関係していました。 これにより、情報開示やセグメンテーションフォルトが発生する可能性があり、GDALの仮想ファイルシステム内のラスタに影響を与えました。 3つ目の脆弱性であるCVE-2026-53878は、DomainNameValidatorがドメイン名で改行文字を受け入れるため、ヘッダーインジェクションを可能にしていました。 Django自体は直接脆弱ではありませんでしたが、Djangoフォームフィールド外でDomainNameValidatorをカスタム使用している場合は影響を受ける可能性がありました。 これらの低深刻度の問題は、Djangoのメイン、6.1ベータ、6.0、および5.2ブランチで修正されました。 セキュリティのため、ユーザーはできるだけ早く最新バージョンにアップグレードすることを強く推奨します。 潜在的なセキュリティ問題は、[email protected]にプライベートに報告してください。
このエピソードでは、ディスク使用量を分析するための du コマンドよりも高速で視覚的な代替手段である dust から始まり、Python 関連のトピックをいくつか取り上げます。これにより、大きなファイルやディレクトリを簡単に特定できます。次に、ヘッダー-インデックス-ストアのレイアウトと効率的な重複排除を特徴とする、Python パッケージング用に設計された新しいアーカイブ形式仕様である war が紹介されます。その後、議論は Hermes Agent に移ります。これは、さまざまなツールやプラットフォームと統合され、永続的なメモリと自動化されたアクションを可能にするオープンソースの AI エージェントフレームワークです。このエージェントは、単なるチャットボット以上のもの、つまりユーザーのワークフローを学習して実行するパーソナルアシスタントになることを目指しています。もう 1 つの注目すべきツールは llm-coding-agent で、プロンプト駆動のテスト駆動開発を使用して構築されたアルファリリースであり、ファイルの読み書きなどのコーディング機能を提供します。このセグメントでは、開発者向けスライドの sli.dev、トークン使用量の削減のための pxpipe、および Python Packaging Council の最初の選挙日についても触れます。最後に、Michael は以前のトピックを再訪し、Linux の最小要件に関するジョークが共有されます。
このチュートリアルでは、Anthropicが提供するツールを統合することで、以前に構築されたコーディングエージェントを強化することに焦点を当てます。目標は、事前に定義された最適化されたツールスキーマを活用して、エージェントのパフォーマンスを向上させることです。具体的には、「text_editor_20250728」という名前の「str_replace_based_edit_tool」ツールを紹介します。このツールは、テキストの読み取り、書き込み、置換、挿入の機能を統合しています。この新しいツールは、以前にカスタム構築されたファイル操作用の関数を置き換えます。チュートリアルでは、コマンドの実行のために永続的なbashセッションを提供する「bash」ツールも強調しています。Anthropicのツールを使用することで、モデルはこれらの特定のスキーマでトレーニングされているため、エージェントはより一貫性があり効果的なツール呼び出しを行うことができます。テキストエディタツールは、ツール使用リクエスト内の「command」キーに基づいて、テキストの表示、置換、作成、挿入などのアクションを可能にする汎用的なコマンド駆動インターフェイスです。これらのツールを整理するために、それらは個別のサブモジュールに配置されます。既存のカスタムファイル編集関数とその対応する辞書エントリは削除され、Anthropicテキストエディタツールの構成に置き換えられます。テキストエディタツールの「command」キーは、目的の編集操作の曖昧さを解消するために重要です。
CdXz5zHNQW_J4wjjDmtWx.webp
CdXz5zHNQW_prquQPDTKb.png
このガイドでは、fastkml Pythonパッケージをmypyからtyおよびpyreflyへ移行する方法を詳述します。tyとpyreflyの両方を同時に実行することを強調しており、これらは異なるエラーのサブセットを検出するため、単一のチェッカーよりも完全な状況を提供します。プロセスは、コード変更を行う前に両方のツールのベースラインエラー数を確立することから始まります。効率的な移行の鍵は、ファイルごとにエラーを修正するのではなく、しばしばオプションのC拡張バックエンドに関連するシステム的な根本原因を特定し、対処することにあります。ツールによって明らかになった実際のバグ、特にOptional/unionの絞り込みや位置専用スタブに関するものは修正されるべきです。テストファイルからのノイズ、「構築後に絞り込みなしでアクセス」の問題は、スコープ付きルールを使用して一括抑制されるべきです。ガイドでは、厳格なプリセットを有効にしてから特定のルールを昇格させ、過度の機械的な変更を引き起こすルールを明示的に削除することを推奨しています。検証には、両方のツールがエラーを報告しないこと、完全なテストスイートがパスすること、リンターがクリーンであることが含まれます。移行前に、tyとpyreflyが一致または上回るべき厳格さのバーを理解するために、既存のmypy構成を徹底的に分析します。mypy構成のインベントリ作成には、その設定をty/pyreflyの同等のものにマッピングし、古いモジュールごとのエラーコード無効化オーバーライドを削除することが含まれます。tyとpyreflyをインストールした後、エラーの種類別に、次にファイル別に分類されたベースラインエラー数を取得することが重要です。後者は通常、システム的な原因を明らかにします。広範な抑制を伴う部分的な移行が存在する場合は、それを警告の兆候とみなし、実際のベースラインを確認するために抑制を削除する必要があります。最も効果的な動きは、両方のチェッカーがフラグを立てるアーキテクチャの不一致を修正することです。一般的なパターンは、try/exceptインポートを介して処理されるオプションのバックエンドを含み、修正は多くの場合、型チェッカーがリッチなバックエンドのスタブを見ることができるようにするif TYPE_CHECKING:ブロックです。注意すべき点には、# type: ignore[code]コメントの移植性のなさ、pyreflyのTOMLキーの大文字/小文字の問題、インターリーブに対するpyreflyの配列テーブル構文の脆弱性、およびProtocolを具体的なクラスパラメータに直接割り当てられないことなどが含まれます。プロセス全体を通して、ツールの動作と構成の慎重な検証が不可欠です。
Scikit-survival バージョン 0.28.0 がリリースされ、pandas DataFrame に加えて Polars DataFrame のサポートが導入されました。これは Narwhals DataFrame 抽象化レイヤーを通じて実現され、パフォーマンス機能が強化されています。このリリースでは、scikit-learn バージョン 1.9 との互換性も確保されています。scikit-survival 内のデータセットは、output_type 引数を指定することで Polars DataFrame として読み込むことができるようになりました。scikit-learn の set_output API により、トランスフォーマーは Polars DataFrame を返すことができ、scikit-survival の ClinicalKernelTransform と OneHotEncoder は現在、Polars と pandas の両方の入力を受け入れます。ClinicalKernelTransform は Polars の列タイプを認識し、順序付けのためにカテゴリ順序を指定できます。OneHotEncoder は文字列列を数値列に変換し、入力と同じタイプの DataFrame を返します。生存モデルは、Polars DataFrame を使用して適合および予測できるようになりましたが、これは eager DataFrame のみであり、lazy DataFrame は対象外です。このリリースでは、scikit-learn および Polars サポートに関する作業に対して 2 名の新しい貢献者が認められています。更新された依存関係には、Narwhals 2.0.1 および scikit-learn 1.9.0 が含まれます。Scikit-survival は pip または conda を介してインストールできます。