RSS惑星Python

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

ノートのスレッド

VS Codeのようなツールは、プロジェクトのPython環境を特定するのに苦労しており、コード実行や依存関係分析といった不可欠な機能を妨げています。この課題は、エディタがプロジェクトがどのワークフローツールを採用しているか、または仮想環境がどこに配置されているかを検出するための普遍的な方法を持たないことに起因します。プロジェクトが最初に開かれたとき、VS CodeはユーザーがHatch、Poetry、uv、またはカスタムソリューションを好むかを確実に判断できません。現在の方法では、pyproject.tomlに基づいた推測に依存することが多く、これはサポートされているツールの正確なリストを維持することに依存します。さらに、環境をグローバルに保存したり、共有環境を許可したりするワークフローツールは、特にユーザーが多数の環境を管理している場合に、特定を複雑にします。プロジェクト内に.venvディレクトリとして環境が保存されている場合は、基本的な機能を提供する簡単な解決策があります。しかし、プロジェクト外の環境や複数の環境が存在する場合、提案されている.python-envsのような専用ファイルにそれらのパスをリストすることができます。ツールの好みに対応するため、pyproject.tomlの[workflow]テーブルが、ツールがサーバーモードで起動する方法を定義するために提案されており、Workflow Server Protocolに基づいたJSON-RPCによる通信を可能にします。このプロトコルにより、ツールはエディタに利用可能な環境を通知し、それらの作成を管理できます。代替案としては、必要な環境の詳細を返すCLIツールの命名規則を確立することが含まれます。著者の動機は、経験レベルに関係なく、すべてのPythonユーザーにとって手動の環境管理を最小限に抑えることでセットアップを簡素化したいという願望から来ています。この取り組みは、VS Codeに限定されず、他のエディタでも採用できるソリューションを目指しています。このような標準化された通信プロトコルは、ワークフローツールを単なるミドルウェアを超えて引き上げ、より広範なエディタサポートを可能にし、カスタム拡張機能の開発を削減します。
Django 6.1 ベータ1が現在利用可能になりました。それは第二の 6.1リリースサイクルの段階であり、試す機会となっています これらの変更はDjango 6.1で導入されます。Django 6.1は新機能と使いやすさの向上が調和のとれた融合を提供し、 以下について読むことができます 開発中の6.1リリースノート。新機能のバグや以前のDjango版からの後退のみが対象となります 6.1の最終リリースまでに修正されました。翻訳は リリース時に発生する「ストリングフリーズ」の後に更新される 候補者が発行されます。その 現在のリリーススケジュール 約1か月後に公開候補が見込まれており、最終リリースが予定されています 約2週間後の8月5日に予定されています。地域社会からの早期かつ頻繁な検査は、 リリースのバグ。リリーススケジュールの最新情報は公開されています Djangoフォーラムで。すべてのアルファおよびベータパッケージと同様に、本リリースは本番環境向けではありません 使う。しかし、新機能を試したり、見つける手助けをしたい場合は、 バグ修正(報告すべきもの)は 問題トラッカー)、 ベータパッケージのコピーは以下から入手できます。 ダウンロードページやPyPIで。このリリースで使用されたPGPキーIDはJacob Walls: 131403F4D16D8DC7です
Pythonフィードリーダーライブラリであるreaderのバージョン3.26がリリースされました。重要な新機能として、自動フィード検出が追加されました。これにより、ユーザーはウェブサイトのURLを入力すると、システムが検出されたフィードを提案します。この機能はautodiscoverプラグインによって提供され、検出されたフィードはfeedタグに保存されます。さらに、readerはデータベースエクスポートもサポートするようになり、ユーザーはフィードや記事のステータスを含むすべてのデータをダウンロードできるようになりました。この機能は、他のreaderインスタレーションへの移行やローカルバックアップに特に役立ちます。開発者は、readerのホスト型バージョンも開発しており、探索用の公開読み取り専用デモが利用可能です。ホスト型バージョンの主要な完了機能には、マルチユーザーWebアプリ、メール認証、インフラストラクチャのデプロイが含まれます。readerライブラリ自体は、さまざまなフィードタイプの取得、保存、管理、記事のマーク付け、タグ付け、フィルタリング、検索、統計情報の取得などのコアフィード読み取り機能を提供します。安定したAPI、広範なテストカバレッジ、型付きPythonを提供します。このライブラリは、独自のフィードリーダーを構築したり、既存のものを強化したい開発者にとってプロセスを簡素化することを目的としています。readerは、最小限の依存関係を持つ、長期的で拡張性があり、安定しており、十分にテストされたライブラリとして設計されています。
CdXz5zHNQW_VN3UB2CEG5.png
PyCoder's Weekly のこのエディションは、Python 開発とコミュニティのニュースに焦点を当てています。pytest や tox のようなフレームワークで使用されているオープンソースの Pluggy プラグインシステムを紹介します。ABC と Protocol を使用して Python でインターフェースを実装する方法に関するガイドがあり、関連するクイズも提供されます。スポンサーは、Python アプリケーションの本番監視のために Honeybadger を紹介しています。このニュースレターでは、Web スクレイピング機能を強化するための Scrapy 拡張機能の構築に関するチュートリアルが特集されています。2026 年の PSF Board Election の日程が発表され、Python 3.15 に関連する新たに確定した PEP も紹介されます。Django Software Foundation は Executive Director を探しており、PyData London 2026 のビデオが利用可能になりました。記事では、Python 3.14 のガベージコレクションの変更点、2026 年の Python タスクキューライブラリの比較、AI コード補完におけるセキュリティ脆弱性に関する懸念について取り上げています。コミュニティの議論では、新規開発者向けの依存関係管理の課題や、AI を使用した Python コードベースのコンテキストエンジニアリングについて触れています。求職市場で価値のある Python スキルを構築するためのヒントが提供されています。読者は、AST モジュールを使用して変更された Python コードを実行する方法や、Quarto を使用して SciPy のプレゼンテーションを作成する方法を学ぶことができます。紹介されている新しいプロジェクトには、asncounter、hydra、warp、python-socketio、marimo-tutorials が含まれます。今後のイベントには、バーチャルオフィスアワーや、6 月と 7 月のさまざまな Python ユーザーグループのミートアップが含まれます。
CdXz5zHNQW_ULVmhrrNLw.png
python.org のリリース管理 API における重大な認証バイパス脆弱性が、DEVCORE Research Team の Splitline Ng によって報告されました。2014年から存在していたこの脆弱性により、攻撃者は管理者ユーザー名と任意の API キーを使用して管理者権限を取得することが可能でした。悪用された場合、Python のリリースやファイルメタデータ、特にユーザーに提示されるダウンロード URL を改変することが可能でした。しかし、広範なログとデータベースバックアップの監査の結果、悪用の証拠は見つかりませんでした。Python Security Response Team (PSRT) は、報告から48時間以内に脆弱性を確認し、修正しました。Seth Larson と Hugo van Kemenade が、Jacob Coffee の支援を受けてパッチを開発・展開しました。脆弱性の古さと、リディストリビューターが使用する堅牢な検証プロセスにより、気づかれずに悪用される可能性は非常に低いと考えられます。Sigstore および PGP マテリアルの検証により、すべての python.org アーティファクトが改変されていないことが確認されました。即時のパッチ適用後、コードベースの徹底的な手動監査が、LLM 監査ツールとともに行われました。包括的なセキュリティを確保するため、Trail of Bits によるサードパーティ監査も完了しました。修正作業には、認証メカニズムのパッチ適用、新しいリリースに対する HTTPS URL の要求、否定的な認証テストケースの追加、および非 HTTPS URL の拒否が含まれました。監査能力向上のため、ログの保持期間も延長されました。
Dockerボリュームは、ローカルまたはS3互換ストレージにバックアップできるようになり、Goで記述された軽量かつ効率的なソリューションを提供します。このツールはDocker Composeとシームレスに統合され、ローテーション、暗号化、通知などの本番環境向けの機能を提供します。Pyodideはバージョン3.14.0をリリースし、Python 3.14と連携し、PEP 783によりパッケージ管理を簡素化しました。sqlite3、ssl、lzmaなどの主要な標準ライブラリがデフォルトで含まれるようになり、ユーザーエクスペリエンスが向上しました。大きな整数がPython/JS境界を越える際の精度損失に対処する重要なバグ修正が行われました。Node.jsでの実験的なTCPソケットサポートは、Pyodideの機能をサーバーサイドアプリケーションにまで拡張します。Nb-cliは、実験的なRustベースの新しいコマンドラインインターフェースであり、AIエージェントとノートブックタスクの自動化を可能にします。これにより、AIエージェントはJupyterノートブックと外部から対話でき、 composabilityとワークフローの自動化が簡素化されます。Hindsightは、永続的で学習可能なリコール機能を提供するAIエージェントメモリシステムです。正確なメモリ検索のために複数の検索方法を利用し、関連情報を自動的に統合します。最後に、このエピソードでは、AIツールや企業ニュースのアップデートなど、いくつかの追加情報が含まれています。
AIシステムは予測不可能な間違いを犯すため、すべての出力を検証する必要があります。この検証プロセスは元のタスクと同等のコストがかかる可能性があり、コストを他者に外部化することを促します。主な懸念事項は「リバースケンタウロス」現象であり、雇用主が従業員を無給のAI検証担当者に変えてしまうことです。これは、AI出力のエラーが一般的な外部性であるため、人間が作業全体を行う方が安価になるために発生します。「コードレビューがボトルネックである」という主張は、技術的なレビューだけでなく、人間の理解の必要性を強調しています。競争環境では、AIは「出世志向者」が大量のコードを迅速に生成し、検証の負担を他者に転嫁することを可能にすることで支援します。このダイナミクスはプロンプト作成者に利益をもたらし、レビュー担当者がしばしば非難されるという重大な問題のリスクを伴います。AIは「ギッシュギャロパー」としても優れており、特に政治的言説において、虚偽の情報の奔流で相手を圧倒します。詐欺、スパム、詐欺は、AIが説得力のあるテキストを迅速に生成する能力によって促進され、検証コストを被害者に外部化します。顧客サポートボットは、しばしば敵対的と見なされますが、AIを使用して顧客を迅速に却下または遅延させ、解決よりも指標を優先します。教育においては、AIは学生が検証作業を教師に外部化するため、広範な不正行為を可能にします。一部の人は、保険会社のような強力な組織に対する正当な異議申し立てのためにAIが使用されることを想像しますが、これらの組織の構造的な利点がしばしば優位に立ちます。有益なAIの使用でさえ、軍拡競争にエスカレートする可能性があり、長期的に悪い結果につながる可能性があります。AIの要約および質問応答機能も武器化される可能性がありますが、読書行為自体はウェブサイトのコンテンツにとってより破壊的と見なされています。
著者は、コーディングエージェントの上にシステムを構築する傾向が高まっていることを観察しており、エージェントの能力を単一セッションを超えて拡張するループを作成しています。これらのループには、タスクキュー、マシン実行、およびコンテキストを変更するか別のマシンに送信することによってタスクを続行するかどうかを決定するハーネスが含まれます。コーディングエージェントにはタスクのための内部ループがありますが、新しい外部の「ハーネスレベル」ループが出現し、議論を支配しています。著者は、自分が大切にしているコードに対してこのハンズオフアプローチに個人的に苦労しており、生成されたコードが過度に防御的で複雑で、強力な不変条件を欠いていると感じています。現在のモデルは、望ましくない状態を防ぐのではなく、過剰なローカル防御を追加する傾向があり、この問題は悪化しているようです。ループはこれらの傾向を増幅し、システムをより理解しにくくしながら、より堅牢に見せます。しかし、ループは、コードの変換または短命の成果物が目標となるコードの移植、パフォーマンスの探索、およびセキュリティスキャンなどのドメインで優れています。これらの場合、生成されたコードの寿命や検証可能性は、探索または変換のプロセスよりも重要ではありません。著者はこれを、永続的なコードを書くことと比較しており、それを、ソフトウェアが決定論的なマシンからソフトウェアが生物へと進化することに例えています。このシフトは、深い人間の理解から、システムをほとんど生物学的実体のように監視、安定化、および処理することへの移行を意味します。このマシン駆動の未来から撤退することは、特にセキュリティ分野では困難になりつつあります。そこでは、攻撃者と研究者はすでにループを使用しており、防御者は適応を余儀なくされています。競争圧力と、オーケストレーションを活用する一部のチームのスピードも採用を促進するでしょう。最も懸念されるのは、これらのループシステムへの潜在的な認知的および実践的な依存であり、将来のアクセス、コスト、およびマシン支援なしでコードを理解する能力についての疑問が生じます。最終的に、コードベースは、そのメンテナンスのためにマシンの参加に依存するようになる可能性があります。
このチュートリアルでは、コーディングエージェントの内部構造を理解するために、ゼロから構築する方法を解説します。事前のPython経験とClaude APIキーが必要です。プロジェクトのセットアップには、「uv」を使用してプロジェクトを作成し、「python-dotenv」と「anthropic」の依存関係をインストールします。認証は、Claude APIキーを.envファイルに配置し、.gitignoreに追加することで管理します。コーディングエージェントの核となるのは、大規模言語モデル(LLM)です。このチュートリアルでは、使いやすいSDKを持つClaude APIを特に使用します。LLMとのAPI経由でのやり取りを学びます。チュートリアルでは、LLMの機能を拡張する方法としてツールの概念を強調します。コーディングエージェントは、環境と対話するためのツールで強化されたLLMと定義されます。「anthropic」Python SDKを使用してLLMにメッセージを送信することが、実践的な実装に含まれます。提供されたコードスニペットは、環境変数をロードし、Anthropicクライアントを初期化する方法を示しています。今後のステップでは、コンテキストの管理とツール呼び出しの実装が含まれます。この実践的なアプローチにより、洗練されたコーディングエージェントの作成が分かりやすくなります。
CdXz5zHNQW_S96YGC59dT.webp
エージェントは、単に賢いモデルそのものではなく、大規模言語モデルを中心に構築されたシステムです。それらは、単一のやり取りを超えて持続し、行動することを可能にする特殊なコンポーネントを備えています。ほとんどのエージェントの基本的な構造には、推論のためのモデル、ガイダンスのための指示、情報の保存のためのメモリ、能力を拡張するためのツール、そして継続的な操作のための実行ループが含まれます。モデル、またはLLMは、言語を処理し、アクションを決定する推論エンジンとして機能します。指示は、エージェントの目的、アイデンティティ、および望ましい行動を定義し、その意思決定に焦点を当てます。各ターンでリセットされるLLMのコンテキストウィンドウとは異なり、エージェントのメモリはセッション間でアクセス可能な、外部の永続的な情報ストアです。このメモリは、時間の経過とともにコンテキストを維持し、運用上の継続性を可能にします。ツールは、エージェントにテキスト生成を超えた機能を提供し、外部世界と対話することを可能にします。実行ループは、観察、意思決定、アクション、評価のエージェントのサイクルを調整します。これらのコアコンポーネントのいずれかが欠けていると、エージェントの動作は著しく変化します。会話内のLLMの明らかなメモリとエージェントの永続的なメモリとの区別は、エージェントの機能性を理解する上で重要です。システム、モデルそのものではなく、LLMのコンテキストウィンドウに情報を管理し、供給します。最終的に、エージェントの効果は、その構成要素すべての相乗的な相互作用に依存します。
新しいプロジェクトの品質ゲートの設定では、既存の設定ファイルをコピーして編集することが多く、これは面倒で中断を伴うプロセスです。「設定アーキオロジー」と呼ばれるこのワークフローでは、ツールを手動で特定し、そのリポジトリの詳細を見つけ、YAMLを記述する必要があり、開発者の流れを妨げます。これを解決するために、コマンドラインインターフェースツールであるpc-initが開発されました。pc-initは、プロジェクトのテクノロジースタックに基づいて、本番環境に対応したpre-commit設定ファイルの足場を自動化します。ユーザーは言語とフレームワークを指定するだけで、pc-initが必要なセットアップを生成します。例えば、pc-init --lang py または pc-init --lang js --framework react のように使用します。これにより、URLを探したり、複雑なYAMLを手動で管理したりする必要がなくなります。pc-initは、プロジェクト全体で一貫した品質基準を強制することにより、標準化を促進します。このツールは拡張性もあり、ユーザーはチーム全体の一貫性のために独自のプリセットを定義できます。pre-commitとprekの両方とシームレスに統合されます。インストールは uv tool install pc-init を使用して簡単に行えます。設定ファイルを生成した後、最新のツールバージョンを取得するために pre-commit autoupdate または prek autoupdate を実行する必要があります。提案や問題は、プロジェクトのGitHubリポジトリで報告できます。
このテキストは、Rustを学ぶための新しいUnixツールトラックを紹介するもので、おなじみのPythonプログラムを再構築することで言語の概念を定着させるように設計されています。中心的な考え方は、Pythonのイディオムに関する既存の理解を活用し、それらをRustの同等物と直接比較することです。このアプローチは、学習者がRustの構文と、イテレータ、Option、Result型のようなユニークな機能を理解するのに役立ちます。例えば、Pythonの無効な入力に対する実行時例外は、Rustでは返可能な型として再構成され、エラーハンドリングを明示的かつコンパイラによって強制されるものにします。このトラックは、プロフェッショナルなRustツールの構造を反映した、純粋でテスト可能な関数を強調しています。演習では、wc、head、tail、cat、tr、grep、cut、uniq、sort、sedといった一般的なUnixユーティリティと、キャップストーンプロジェクトである「top_words」を扱います。各演習は、基本的なRustの概念、特にイテレータと異なるデータ型の処理を基盤として構築されています。Pythonのコードスニペットとの直接比較は、文脈的な理解のための重要な利点として強調されています。学習者は、実践的でテスト駆動型の学習プロセスを体験するために、無料のwcおよびhead/tail演習から始めることが推奨されています。著者は、このトラックがユーザーを受動的な学習から能動的なRust開発へと導くことを願っています。Rustのライフタイムに関するものを含む、将来のトラックについても言及されています。
CdXz5zHNQW_uybQpwreBf.jpeg
著者のRust Platform Djangoテストスイートは当初30秒かかっており、データベースのパフォーマンスに関する憶測を招きました。しかし、cProfileによるプロファイリングで、実際のボトルネックはデータベース関連ではなく、実行時間を3秒に短縮することが明らかになりました。このテキストは、多くのフィクスチャやデータベースの遅延といった解決策を推測するのではなく、パフォーマンスを測定することの重要性を強調しています。特定のボトルネックを特定するためにcProfileのようなプロファイリングツールを使用することを推奨しています。著者はcProfileを使用してpstatsファイルを生成し、その後profiling-explorerでデータを可視化しました。プロファイラーは、Djangoのデフォルトのパスワードハッシャーである_hashlib.pbkdf2_hmac関数がテスト中に過剰な時間を消費していることを強調しました。このハッシャーはブルートフォース攻撃に抵抗するために意図的に遅くされていますが、ユーザーを作成するすべてのテストを不必要に遅くしていました。テスト専用に高速なMD5ハッシャーに切り替えることで、わずか5行の修正が実装されました。この変更は非常に効果的であり、テストスイートの実行時間を大幅に短縮しました。この最初の最適化の後、次に時間のかかる関数はcursor.executeでしたが、これは当初、潜在的なN+1クエリの問題のように見えました。しかし、さらなる測定により、N+1クエリは発生していないことが確認されました。呼び出し回数の多さは、正当なテストセットアップ操作に起因すると考えられました。この経験は、無駄な労力と誤った仮定を避けるために、最適化の前に常にプロファイリングを行うという中心的なメッセージを強化しています。
CdXz5zHNQW_5c2sgQR2VI.png
Rustプラットフォームには多数のエクササイズがあり、それぞれユーザーはエディタをロードし、コードを記述し、Rustバックエンド経由で検証する必要があります。このプロセスでは、アップデートが既存の機能を壊さないことを保証するために、エンドツーエンドテストが必要です。手動テストは非効率的であり、ログインからフィードバックの受信までの完全なユーザーサイクルをカバーしません。DjangoアプリとRustバリデーターには単体テストが存在しますが、エクササイズの統合された体験をテストするものではありません。Playwrightはpytestと組み合わせることで、このエンドツーエンドテストのための簡潔なソリューションを提供します。単一のPythonテスト関数は、データベースからすべての公開エクササイズとそのソリューションを取得してパラメータ化されます。各パラメータ化されたテストは、エクササイズに移動し、正しいソリューションをエディタに注入し、提出を検証します。テストは、受信したフィードバックが正常な完了を示していることをアサートします。pytestのセッションスコープフィクスチャは、ブラウザの起動とログインをすべてのテストで一度だけ実行することで、パフォーマンスを最適化するために利用されます。Playwrightテストの重要な側面には、要素のタイミングの処理が含まれます。特にCodeMirrorエディタでは、要素の可視性とJavaScriptインスタンスの初期化のために明示的な待機を使用します。テストユーザーを作成する際にDjangoの非同期コンテキストトラップを回避するために、Playwrightフィクスチャの前に実行される別のフィクスチャでdjango_db_blockerを活用する回避策が実装されました。エンドツーエンドテストは、ライブデータベースと実際のRustバリデーターに対して実行されるように設計されており、現実的な統合テストを保証します。これらのテストは、主要なプッシュの前にローカルで実行されますが、CI環境では主に高速な単体テストが実行されます。このアプローチは、新しいテストコードを必要とせずに新しく追加されたエクササイズを自動的にテストし、フロントエンドの変更はすべてこの統合された回帰スイートに対して検証されます。Playwrightは、そのモダンで人間工学に基づいたインターフェースによりSeleniumよりも好まれており、要素のタイミングは管理可能な課題です。
著者は、タジ・ラゴーが作成したイスラム模様の十二面体に着想を得ました。彼らはそのデザインを研究し、Pythonを使用して独自のモデルを作成するためのPDFネッティングを生成しました。結果として得られた十二面体は、十二面体の幾何学的形状とイスラムの星模様をエレガントに組み合わせています。各五角形の面には、10個の小さな五芒星の輪が配置されています。各面の中心には、2つの重なり合った五芒星によって形成された10芒星があります。この巧妙なデザインは、十二面体の角で最も顕著です。ここでは、頂点で接する3つの五角形が隙間を作り出します。この隙間は、折りたたむと、同じ星の要素を使用して9芒星を完成させます。9芒星は、幾何学的な理由により、中央の10芒星の1つの点が欠けているために形成されます。著者は、ラゴー氏の木工作品に言及し、同様のデザインをもっと見るためにInstagramでタジ・ラゴーをフォローすることを勧めています。ネッティングのPDFは、他の人が独自のモデルを作成できるように利用可能です。Pythonコードの作成プロセスは、複雑な数学と線画を伴う困難なものでした。著者は、将来的にタイルベースのデザインのためのより良いツールの必要性を表明しています。十二面体の構築は、研究、コーディング、印刷、組み立て、着色を含む、やりがいのある反復的なプロセスでした。このプロジェクトにより、著者は知的創造と実践的創造の両方に関わることができました。
CdXz5zHNQW_v0N7yoOJJU.jpeg
Python Software Foundation理事会選挙が間もなく開催され、コミュニティには代表者を選出する機会が与えられます。現在、PSF理事会では4つの議席が空いており、現在の理事の任期が満了します。並行して、新たに承認されたPackaging Councilの最初の選挙も実施されます。PSF理事会の候補者指名期間は7月28日(火)に始まり、8月11日(火)に終了します。候補者は8月13日(木)に発表されます。投票するには、8月25日(火)までにContributing、Supporting、またはFellowの会員であり、投票の意思を表明する必要があります。規約の変更により、過去の投票者は自動的に投票者リストに追加されますが、メールアドレスの変更はこれを妨げる可能性があります。会員はpsfmember.orgで選挙に関するコミュニケーション設定を管理できます。PSFは、リーダーシップ、資金調達、非営利団体での経験、イベント企画、技術的専門知識など、多様なスキルを持つ候補者を求めています。PSF理事の役割についてさらに学ぶためのリソースが利用可能です。自己推薦および他者の推薦が奨励されており、被推薦者との最初の対話が推奨されます。選挙に関する議論はPSFフォーラムで行われ、オフィスアワーはDiscordで開催されます。最新情報はPSFブログおよびpsf-member-announceメーリングリストで提供されます。
Python のメソッドタイプを区別するには、メソッドが何を利用しているかに注目してください。インスタンス (self) が必要な場合は、オブジェクトの状態を変更するためのインスタンスメソッドです。特定のインスタンスではなく、クラス自体 (cls) が必要な場合は、代替コンストラクタやレジストリに最適なクラスメソッドです。メソッドが selfcls も必要としない場合は、独立したヘルパーまたはユーティリティとして機能するスタティックメソッドです。classmethod は、Python では __init__ のオーバーロードが許可されていないため、複数の方法でオブジェクトを構築する場合に特に役立ちます。例としては、datetime.date で見られるように、タイムスタンプまたは ISO 文字列から日付を作成することが挙げられます。これらのメソッドは cls を使用して、サブクラスのインスタンスが正しく作成されることを保証します。classmethod のもう 1 つの一般的な用途は、プラグインレジストリやカウンターなどのクラスレベルの状態を管理することです。staticmethod は、整理目的でクラス内に配置されたスタンドアロン関数にすぎません。Color クラスの変換ユーティリティのように、クラスの目的に密接に関連するヘルパー関数に役立ちます。ただし、staticmethod が論理的にクラスに属さない場合は、テストを容易にするためにモジュールレベルの関数として扱う方が良い場合があります。中心的な原則は、メソッドが指定されたスコープに関連する作業を実行することを保証することです。AI によって生成されたコードがますます普及するにつれて、その構造と目的を批判的に評価することが重要です。付加価値なしに単に __init__ に引数を転送する classmethod は、理解不足を示している可能性があります。同様に、スタンドアロン関数になり得る staticmethod は、構造的に間違っている可能性があります。コードのレビューにおいては、その起源に関係なく、優れた Python の実践に関する強い感覚を養うことが不可欠です。この決定ルールは、そのような評価のための簡単なフレームワークを提供します。
著者は、Discordサーバーの友人たちのために、しばしば対面イベントを企画していました。当初は、イベントの詳細を全員に知らせるために@hereを使用していました。しかし、多くの友人が、フォローアップのテキストメッセージの方が反応が良いことに気づきました。このことから、著者はテキストメッセージの企画における効果を理由に、SMS BCCツールを作成しました。著者は、Discordの@hereコマンドは、現在オンラインのユーザーにしか通知しないことを発見しました。これは、オフラインまたは退席中のユーザーは最初の通知を受け取らないことを意味します。その結果、著者の友人の多くは、しばしばオフラインであったため、最初のイベントのピンを見逃していました。この違いにより、@hereはオンラインゲームのような同期的なアクティビティには適していますが、事前のイベント企画には適していません。著者は友人にこのことを教わり、他の多くの人も知らないかもしれないと気づきました。今後は、より広範な通知を確実にするために、イベント企画には@channelを使用する予定です。このヒントが、他の人がDiscordイベントの参加者を増やすのに役立つことを願っており、他の知られていないハックについても尋ねています。
Django Software Foundation は、6つのDjangoウェブ開発エージェンシーからの多額の約束により、初のExecutive Directorを募集しています。これらのエージェンシー、Caktus Group、Lincoln Loop、Six Feet Up、Cuttlesoft、OddBird、Two Rockは、この役職の初年度の資金として合計47,500ドルを拠出しました。この資金提供は、EDの必要性についての議論から、積極的に採用活動を行うという重要な一歩となります。Executive Directorの役職は、DSFが大幅に成長し、長年献身的ではあるものの限られたボランティアの理事によって管理されてきた多くの責任を引き受けているため、必要不可欠です。この新しい有給の役職は、日常業務、スポンサーシップ、コミュニティアウトリーチ、および財務報告を担当します。エージェンシーが協力することにしたのは、Djangoへの共通の依存関係があり、フレームワークの持続可能性と長期的な存続可能性の必要性を認識したためです。2,500ドルから12,500ドルの範囲の彼らの貢献は、彼らのビジネスにとって重要な投資を反映しています。この約束は強力なスタートですが、DSFはEDの役職とその他の重要なプログラムを維持するために、年間資金調達目標を500,000ドルに引き上げています。財団は現在、Djangoから恩恵を受けている他の企業に対し、この不可欠なインフラストラクチャに貢献するよう求めています。採用プロセスは正式化されており、求人情報はまもなくさまざまなコミュニティチャネルで発表される予定です。
PyCon US 2026 では、Python セキュリティにおける重要な進展がハイライトされました。「Trailblazing Python Security」と題された新しい専用セキュリティトラックでは、フィッシング、ゼロトラスト、CPython における Rust、SBOM 生成などのトピックに関する講演が行われました。Python Software Foundation (PSF) は、PyPI でのパッケージ公開数とマルウェア数の両方が増加したと報告しました。Open Space セッションでは、オープンソースプロジェクトのメンテナーが直面するセキュリティ上の課題に焦点が当てられました。議論は、CI/CD パイプラインの強化と、多くの場合 LLM によって生成される膨大な量の脆弱性レポートの管理に集中しました。メンテナーは、ワークロードの増加と質の低い提出物の増加を考慮して、これらのレポートの処理戦略を検討しました。LLM 主導の問題を軽減するために、セキュリティポリシーと脅威モデルの使用が推奨されました。メタ会話では、メンテナーが時間を優先するのに役立つ「コントリビューターの質シグナル」の必要性が取り上げられました。Alpha-Omega のスポンサーシップは、PSF の Security Developer-in-Residence や PyPI Safety & Security Engineer を含む、主要なセキュリティ職を支援しています。更新情報には、Python Security Response Team (PSRT) のガバナンスの変更や、PyPI におけるマルウェアおよびサプライチェーン攻撃の軽減に向けた取り組みが含まれていました。
CdXz5zHNQW_ilXSD1f9ax.jpeg
経験豊富なソフトウェア開発者でありインストラクターでもあるジェフ・ヘマーは、AIへの理解を深め、Pythonスキルを刷新したいと考えていました。彼はPythonエージェンティックAIコホートに入学しましたが、知識のギャップがあると感じていたため、当初は期待値を低く設定していました。特にTelegramボットの週におけるインターフェース統合で課題に直面したものの、コースの構造により彼は進歩することができました。プログラムは、インターフェースを開発する前にコアとなるエージェントロジックを構築することを重視しており、この設計は、あるインターフェースが遅延した際に回復力があることが証明されました。ジェフにとって重要な学習のハードルは、テストのために代替サービスを使用するモッキングの概念を習得することでした。彼は、他の開発者に相談した後でも、この実践は当初混乱を招くものだと感じていました。しかし、コースは最終的にモッキングを不可欠なものとし、単体テストと統合テストを区別できるようになり、pytestのようなPythonテストフレームワークへの理解を深めることができました。ジェフの厳密なテストへの取り組みは、実際の問題を検出する包括的なテストスイートにつながりました。彼はAIをティーチングアシスタントとして活用し、コード生成ではなくPythonの実装詳細について助けを求めました。このアプローチにより、彼はアプリケーションを手作業で構築することができ、学習を強化しました。ジェフにとっての主な成果は、彼が作成した機能的なエージェントアプリケーションだけでなく、AIエージェントがどのように機能するかについての確固たるメンタルモデルでした。彼はこの理解を外部の例に対してテストし、基盤となるプロセスに対する彼の理解を確認しました。この新たに得られた明瞭さは、AIを抽象的な概念から具体的な専門分野へと変えました。
Python Steering Councilは、統合とアプローチに関する質問に対処するための新しいPEPを保留して、JIT開発を一時停止しました。Simon Willisonは、コードサンドボックスを作成するためのMicroPythonとWASMを調査しました。Wallabyは、Python開発者向けのリアルタイムテスト結果、実行時値、およびデバッグ支援を提供する新しいVS Codeツールです。OpenRouter APIは、スマートルーティングやコスト管理などの機能を持つ複数のAIモデルへのアクセスを可能にします。scikit-learn 1.9およびPython 3.14.6/3.13.14バージョンがリリースされました。Marimoは、隠れた状態を回避し、さまざまな形式にエクスポートできる再現可能なリアクティブノートブックを提供します。EuroPython 2026は、ポーランドのクラクフで25周年を祝います。SQLPyHelperは、非同期サポートを備えた複数のSQLバリアントにわたる統一データベースAPIを提供するライブラリです。Pyodide 3.14.0は、PyodideホイールのビルドとPyPIへの投稿を可能にします。いくつかの記事では、パーセプトロン、Python型チェッカーのオーバーロード、テストでの効果的なモッキング、AIコードエディタCursorとWindsurfの比較などのトピックが取り上げられています。紹介されているプロジェクトには、Celeryの信頼性レイヤー、RustベースのUUID置換、時系列のトレンド検出、Djangoヘルスエンドポイント、数値円形バッファが含まれます。今後のイベントには、仮想オフィスアワー、Android上のCPythonに関する講演、さまざまなPyDataおよびPyLadiesのミートアップが含まれます。
CdXz5zHNQW_RUdjlLmnfu.png
O'Reillyが主催する「Building Data Apps with Streamlit and Copilot」と題された4時間のライブワークショップが、太平洋時間の7月9日午前9時から午後1時まで開催されます。これは、分析をインタラクティブなツールに変えたいPythonユーザー向けに設計された、以前のワークショップの改良版です。参加者はJupyter notebookから始め、完全なStreamlitアプリケーションを構築します。このアプリにより、ユーザーはインタラクティブなコントロール、チャート、マップを使用してデータセットを探索できるようになります。Copilotは、開発を加速し、Streamlitの機能の発見を容易にするために利用されます。主なトピックには、Streamlitアプリの構造化、ユーザー入力の管理、Plotlyを使用したインタラクティブなグラフィックスの作成、ユーザーインターフェースの整理、Streamlit Cloudへのアプリのデプロイが含まれます。ワークショップはハンズオン形式で、参加者は段階的に機能的なプロジェクトを構築します。例として提供されるアプリでは、ユーザーは州と人口統計統計を選択し、その経時的な変化を視覚化し、データをチャート、マップ、またはテーブルとして表示できます。習得したスキルは、さまざまなStreamlitプロジェクトに適用可能です。このワークショップは、データサイエンティスト、アナリスト、および広範なWeb開発の知識なしにダッシュボードを構築することに興味のあるPythonユーザーに最適です。登録はO'Reillyを通じて行われ、新規メンバーには30日間の無料トライアルが利用可能です。ワークショップは録画されるため、ライブセッションに参加できない場合でもアクセスできます。
このPython Bytesのエピソードでは、いくつかの開発者ツールとテクニックを取り上げます。Calvinは、強力な拡張モデルとSuperpowersと呼ばれる方法論を持つオープンソースのコーディングエージェントであるpiを紹介します。次にMichaelは、モダンなターミナルアプリケーションであるWarp.devと、シェルの機能を向上させるOhMyZSHについて議論し、さらなる自動化のためにCommandbookapp.comを推奨します。Calvinは、永続的なリモートコーディングセッションのために、KittyまたはBlink ShellをMoshとtmuxと組み合わせて使用することを提唱し、「永続的なリモートブレイン」を作成します。Michaelは、コーディングや会話コンテキストの管理のために、PyCharmやVS CodeのようなIDE内にAIアシスタントであるClaudeを統合することの利点を強調します。文字起こしについて、CalvinはMacWhisperまたはHandyを提案し、オンデバイス処理とプライバシーを強調します。Michaelは、デバイス間の安全でポートフリーなネットワーキングのためのTailscaleの有用性を説明し、開発やリモートアクセスにおける個人的なユースケースを共有します。「Extras」セクションでは、MarkdownツールとしてTelescopoとTyporaに言及し、FableとMythosに関する政府の指示についての声明があります。エピソードはジョークで締めくくり、番組をサポートする方法に言及します。
Pluggy は、ツールやライブラリでプラグインシステムを作成するために設計された Python ライブラリです。元々は pytest プロジェクトのために開発され、その後スタンドアロンライブラリとして抽出されました。Pluggy の中心的な概念は、ホストアプリケーションによって公開され、プラグインによって実装される関数であるフックを中心に展開します。ホストは HookspecMarker を使用してフックを定義し、プラグインは HookimplMarker を使用してそれを実装します。このライブラリは、マークアップを HTML に変換し、プラグインを介してカスタムロールとコンテンツ処理をサポートする htmlize というおもちゃのツールの作成を容易にします。ホストは、プラグインがその機能を拡張できるように、htmlize_role_handlerhtmlize_contents のような特定のフックを定義します。これらのフックは、さまざまなパラメーターを受け取り、データを処理するための関数を返すことができます。Pluggy の PluginManager はプラグインのロードを処理し、setuptools エントリポイントとして登録されたプラグインを発見するための便利なメカニズムを備えています。これにより、pip を介してインストールされたプラグインをホストアプリケーションが自動的に見つけてロードできるようになります。ホストは、カスタムプラグイン発見方法を使用し、マネージャーに直接プラグインを登録することもできます。ロードされたプラグインの呼び出しは簡単です。PluginManager は、登録されたフック実装への呼び出しを調整します。フックの呼び出しは通常、すべての接続されたプラグインからの結果のリストを返しますが、実行順序を制御するオプションもあります。プラグインは、ホストの hookimpl マーカーで関数をデコレートすることによってフックを実装します。Pluggy は、発見、登録、フックの使用といった基本的なプラグインの概念とよく一致しています。標準的な Python のインポートメカニズムを活用して、ホスト API をプラグインに公開するための Pythonic な方法を提供します。プラグインシステムを作成することは簡単ですが、Pluggy はシグネチャ検証、一貫した結果収集、および順序付けオプションのような高度な機能を提供します。Pluggy を使用するかどうかの決定は、プロジェクトのニーズに依存し、その高度な機能の利点と依存関係の追加を比較検討します。ライブラリの自動エントリポイント登録メカニズムは、標準的な Python パッケージングツールを利用するプロジェクトに特に役立ちます。全体として、Pluggy は拡張可能な Python アプリケーションを構築するための堅牢で柔軟なソリューションを提供します。
Rust は、オブジェクトではなくデータと振る舞いに焦点を当てることで、従来のオブジェクト指向プログラミングを避けています。深い継承階層よりもコンポジションが好まれ、より単純なものを組み合わせることで複雑な型を構築できます。トレイトは、継承なしでポリモーフィズムを可能にし、データとは別に共有される振る舞いを定義することで、より大きな柔軟性をもたらします。Rust の所有権と借用規則は、安全で効率的なデータアクセスを保証し、ゲッターやセッターのような多くの OOP パターンを不要にします。モジュール性とクレートを通じてモジュール性が実現され、プライバシーはクラスレベルではなくモジュールレベルで強制されます。列挙型とパターンマッチングは、クラス階層を置き換える、軽量で網羅的な方法で異なるデータ型を表し、処理します。Rust のアプローチは、データと振る舞いを分離し、継承とミュータブルな状態の複雑さなしに、カプセル化、抽象化、ポリモーフィズムを提供します。これにより、コンパイラに正しさを証明させることで、より信頼性が高く保守しやすいコードが得られます。この言語はデータ指向設計を奨励し、継承よりもコンポジションを推進します。Rust の哲学は正しさの証明を中心に据えており、OOP のオブジェクト中心のアプローチとは異なるコーディングスタイルにつながります。
Twitterユーザーは、Anthropic社の輸出管理上の困難にユーモアを見出している。同社が以前からAIの危険性を強調していたことが、今や彼ら自身に直接影響を与えているように見えるからだ。米国政府が一部のAIモデルへの外国人によるアクセスを停止するよう指示したことは、強力な技術が国籍に基づいて制限されるという、広がる分断を浮き彫りにしている。この展開は、AIが普遍的な進歩のためのツールではなく、兵器として扱われるグローバルな断片化の軌道を示唆している。特に米国内にいる外国人に対してターゲットを絞った米国の輸出管理政策は、政府によるアクセス管理から個人の国籍による管理へのシフトを強調している。この排除的なアプローチは、真の安全保障上の配慮よりもナショナリズムが優先されることへの懸念を引き起こす。欧州諸国は、自国の技術政策が規制ではなく権力によって定義される状況に対処する準備ができていないため、この変化を認識するよう促されている。欧州が米国の技術プラットフォームとサプライチェーンに依存していることは、AI関連の地政学的な議論において脆弱な立場に置いている。著者は、欧州の内部の断片化と官僚的な障害がイノベーションを阻害し、意欲的な創業者を米国に追いやっていると批判している。これにより、頭脳流出とエコシステムの弱体化という自己永続的なサイクルが生じている。本文書は、欧州が単なる規制を超えて、より大きな野心、所有権、そして構築への意欲を育む必要があると主張している。著者は、米国の強みは認めつつも、その社会的な分断や対立への傾向も認識し、単に米国を模倣することに警鐘を鳴らしている。著者は、AIの力が少数の手に集中することへの対抗策として、国際協力とオープンソースの原則の重要性を強調している。最終的に、この記事は協力関係を提唱し、競合する勢力圏によって支配される断片化された世界は、個人の権利と安定を蝕むだろうと警告している。
EuroPython 2026カンファレンスが、ポーランドのクラクフで1ヶ月後に迫っており、全講演スケジュールがオンラインで公開されました。基調講演者には、新たにWilliam Woodruff氏、Marlene Mhangami氏、Imogen Wright氏が加わり、既に発表されている講演者と共にラインナップが拡充されました。チケット価格は6月26日に値上げされる予定ですので、参加予定の方はそれ以前の購入をお勧めします。遠方から参加される方のために、リモートチケット販売は6月15日から開始されます。今年はEuroPythonの25周年を記念し、無料チケットが当たるコンテストを含む特別なイベントが開催されます。コンテストの一つでは、最も古いEuroPythonバッジを募集し、もう一つでは、最もインパクトのあるEuroPython体験をビデオで共有した参加者に賞が贈られます。7月18日には、PythonとDjangoのアクセシビリティに焦点を当てたDjango Girlsによるワークショップが予定されています。Women in Pythonコミュニティは、ネットワーキングと友情構築のために7月16日に5Kランを開催します。現地ボランティアの応募は現在審査中で、通知は6月13日から19日の間に発送される予定です。講演者向けのヒントを提供するEuroPython Speaker Orientation Workshopのビデオが、YouTubeで公開されました。経済的支援の決定は通知済みで、35,000ユーロの予算から84件の助成金オファーが行われました。PyCon USからのインタビューを含む新しいコンテンツが、EuroPython YouTubeチャンネルに定期的に投稿されています。スポンサーブースの枠はほぼ満席に近づいており、残りの機会については[email protected]までお問い合わせください。RustとPythonの交差を探求するRust Summitの登録は引き続き受け付けています。EuroPython Societyは、PyCon USおよびPyCon Italiaでも積極的に活動し、その存在を共有し、コミュニティとの交流を図りました。
CdXz5zHNQW_4pUpCNfA9x.png
著者は、2025年のパイロットプログラムに成功裏に参加した後、熱意をもってSovereign Tech Fellowshipに再参加しました。このフェローシップは、重要なオープンソーステクノロジーのメンテナーに重要な資金を提供します。著者の参加により、Pythonバージョン3.14および3.15のリリース、メンタリング、コミュニティサポートに専念することができました。包括的な評価レポートは、著者の具体的な成果を含むプログラムの利点を詳述しています。Python 3.14.0の円滑なリリースは、フェローシップによる専念された時間によって大幅に支援され、プロアクティブな問題解決と迅速なリリースのストレスフリーな処理が可能になりました。著者は、新しいリリースマネージャーやトリアージャーを効果的にメンタリングし、コミュニティエンゲージメントと情報の公開共有を通じて透明性を促進しました。自動化とウェブサイトのアクセシビリティの向上により、数百万人のユーザーに影響を与えるリリースプロセスが強化されました。多数のイシューと重要なセキュリティ修正のバックポートを管理するためにトリアージダッシュボードが開発され、顕著な組織的影響を示しました。著者はまた、非技術的な改善を推進し、より大きな多様性を促進するために、PyCon USとEuroPythonの間でLanguage Summitを交互に開催することを提案し、成功させました。この組織的な取り組みには、コアチーム内での徹底的な議論と提案のプロセスが含まれていました。追加の自由時間は個人的な興味と地元のPythonコミュニティのサポートの両方に割り当てられ、ミートアップの共同主催につながりました。フェローシップは、月例会議と対面イベントを通じて貴重なつながりと共有された学習を育みました。著者の広範な貢献には、多数のGitHubコミット、リリース、カンファレンスプレゼンテーション、コミュニティ組織化の取り組みが含まれます。今後、著者は、コミュニティマネージャーやテクニカルライターを含む、拡大された2026年のフェローシップコホートを楽しみにしています。Sovereign Tech Agencyの継続的な活動は、オープンソースインフラストラクチャの改善に不可欠であり、EU Sovereign Tech Fundのような新しいEUイニシアチブに影響を与えています。
Scikit-learn 1.9 リリースでは、既存の機械学習モデルに大幅な改善が加えられました。容易に確認できる強化点としては、ノートブックでのHTML表示がリッチになり、フィッティングされた属性やColumnTransformerの出力特徴量名が表示されるようになりました。新しい実験的なコールバックメカニズムが導入され、モデルトレーニング中のプログレスバーや高度なモニタリングが可能になりました。このコールバックシステムは、並列コンピューティング環境でも、柔軟な進捗状況の追跡を可能にするように設計されています。当初、コールバックはロジスティック回帰、SearchCVオブジェクト、パイプライン、StandardScalerで利用可能です。このリリースでは、統計と数値計算の改善にも重点が置かれ、多様な入力とモデリングの選択肢全体でscikit-learnルーチンの信頼性が向上しています。ツリーベースのモデルは、欠損値と単調制約に対するネイティブサポートを得ました。線形モデルは、ロジスティック回帰でのfloat32サポートと、RidgeCV/ClassifierCVでの安定性の向上から恩恵を受けています。Scikit-learnは、進化するSciPyの実践に合わせて、スパース行列ではなくスパース配列を返すようになりました。GPUサポートは拡大しており、ロジスティック回帰、ポアソン回帰、および特定のメトリクスがGPUアクセラレーションを獲得しました。GPUバックエンドのユーザーエクスペリエンスはまだ開発中ですが、コントリビューターの参加にとって主要な分野となっています。Scikit-learnプロジェクトは、ボランティアや財政的スポンサーからの貢献によって成り立っています。
CdXz5zHNQW_uYWVeT7Rck.png
AIおよび機械学習プロジェクトを成功させるためには、適切なAIフレームワークを選択することが極めて重要です。Pythonは、成熟したサポートフレームワークのエコシステムにより、この分野を支配しています。理想的なフレームワークの選択は、本番システムか研究プロトタイプかといった、特定のプロジェクト要件に依存します。AIフレームワークは、複雑な数学的および計算的操作のための事前構築済みライブラリを提供することで、開発を簡素化します。これらのフレームワークは一般的に、ディープラーニング、クラシカル機械学習、LLM/AIエージェントフレームワークの3つのカテゴリに分類されます。AIフレームワークは、開発を加速し、コミュニティサポートを提供し、本番対応のツールを提供し、GPUなどのハードウェアに最適化されています。オープンソースフレームワークが主流であり、イノベーション、透明性、コスト効率を提供しており、商用プラットフォームはしばしばこれらのオープンソースツールの上に構築されています。Googleによって開発されたTensorFlowは、エンタープライズレベルのアプリケーションやさまざまなデバイスへのデプロイに理想的な、スケーラブルなディープラーニングフレームワークです。Scikit-learnは、構造化データに対するクラシカル機械学習に不可欠なオープンソースライブラリであり、初心者向けのAPIと包括的なアルゴリズムを提供します。MetaのPyTorchは、Pythonicな性質と動的な計算グラフにより、研究で好まれる柔軟なディープラーニングフレームワークです。Kerasは、そのシンプルさとマルチバックエンドサポートで知られる、迅速なディープラーニング実験のために設計された高レベルAPIです。LangChainは、大規模言語モデルによって強化されたアプリケーションを構築するために設計されたオープンソースフレームワークであり、外部データとツールとのLLM統合を合理化します。
CdXz5zHNQW_dXsJvecBsg.png
Djangoのエコシステムは広大であり、世界中の多くの組織や重要なインフラストラクチャで使用されています。Django Software Foundation (DSF) はこのエコシステムを支援していますが、資金に依存しています。今年、DSFはDjangoの継続的な健全性と持続可能性を確保するために、50万ドルの野心的な資金調達目標を設定しました。30万ドルからのこの増加は、月々の継続的な寄付を9,000ドルから約15,000ドルに増やすために必要です。貢献金は、チケットのトリアージやセキュリティ問題などの開発タスクを処理する、不可欠なDjango Fellowsプログラムに資金を提供します。さらに、資金は商標管理、djangoproject.comのインフラストラクチャ、DjangoConイベントや地域活動への助成金、Django GirlsやDjangonaut Spaceのようなコミュニティプログラムをサポートします。資金の増加は、専任のリーダーシップを提供し、資金調達活動を拡大するためにエグゼクティブディレクターを雇用することも可能にします。Sponsored Fellowコーポレートメンバーシップのような新しいイニシアチブは、組織がDjangoの将来に直接的かつ目に見える形で投資する機会を提供します。コーポレートメンバーシップと個人からの寄付(雇用主のマッチングやGitHub Sponsorsを含む)は、目標達成のために不可欠です。財政的に寄付できない人々にとっても、情報を広めることは貴重な貢献です。DSFは、月次の財務スナップショットを公開することで透明性を維持しており、現在の運営準備金は約22万2,000ドルです。この資金調達の増加は、安定性、持続可能性、そしてそれに依存するすべての人々のプロジェクトの将来の成功を確保するために不可欠です。
CdXz5zHNQW_2cKxZqZ5Kc.png
AI搭載のコードエディタは、AIをワークフローに直接統合することでPython開発を変革しています。CursorとWindsurfは、このシームレスな統合を提供する著名なVS Codeフォークです。どちらもVS Codeの設定をインポートし、高度なAIモデルを使用していますが、コード変更へのアプローチは大きく異なります。Cursorは、AI生成された変更を適用前にレビュー可能な差分として提示することでユーザーコントロールを優先し、AIの動作には明示的なルールに依存しています。対照的に、Windsurfはフローを重視し、エディタに直接編集を適用し、ターミナル出力や会話履歴を含む広範なワークスペースコンテキストを利用してそのアクションをガイドします。これらのエディタの比較は、AIコード補完、エージェントによる複数ファイル編集、デバッグ機能に及びます。Cursorは、実装前に変更を確認することを好むユーザーに最適ですが、Windsurfは、包括的なワークスペースコンテキスト内で作業しながらAIに直接編集を適用させたいユーザーに適しています。Cursorは、より高速な行ごとのAIコード補完と軽量なリソース使用量を提供し、小規模なコードベースに適しています。Windsurfは、相互接続されたファイル全体にわたるより構造的に認識された補完を提供し、インデックス作成のためにセマンティックマップを利用しており、大規模プロジェクトにメリットがありますが、初期にはより多くのリソースを必要とします。どちらのエディタも月額20ドルの有料プランがあり、探索用の無料ティアも利用可能です。どちらのエディタもインストールは簡単で、アプリケーションをダウンロードし、オプションでVS Codeの設定をインポートします。
CdXz5zHNQW_AAH5sMMiqO.jpeg
「Full Line Completion」というPyCharmプラグインは、ローカルのディープラーニングモデルを使用してコードの全行を提案します。著者はこの機能をテストし、安全でないコードスニペットが提案されることを発見しました。当初、このプラグインはurllib3を使用する際に安全でないリクエストの警告を無効にすることを提案しました。その後、証明書検証を無効にすることを提案し、これはアプリケーションを中間者攻撃にさらすことになります。著者はこの動作をJetBrainsに報告しましたが、JetBrainsはこれを「直接的なセキュリティ脆弱性」ではないと判断しました。しかし、JetBrainsは協調開示ポリシーを引用し、著者に報告を公表しないよう求めました。90日間の待機期間の後、著者はプラグインの新しいバージョンでもこの動作が変わらないことを発見しました。著者は、この種の問題はさまざまなコード生成モデルに存在し、本質的にCVEに値するセキュリティ脆弱性ではないと考えています。それにもかかわらず、ユーザーが意図せず脆弱なコードを受け入れるのを防ぐために、ソースでこれらの安全でない提案に対処することが重要であると主張しています。著者は、コード生成モデルにおけるこの種の課題についてコミュニティの意見を求めています。
私は長年にわたり、オープンソースの熱心な支持者であり、その資金調達に関する実験も行ってきました。オープンソースは長期的には必ず勝利するという考えを強く信じていますが、それは自動的に、あるいは迅速に起こるわけではありません。現在、オープンソースはAIのスラップ、貢献者のダイナミクスの変化、コード生成コストの低下、そして大企業が後ろ向きにドアを閉めることを学んでいることによってストレスを受けています。今日のその戦いの多くは、物語の操作です。ソーシャルメディアやビジネス界のオピニオンメーカーは、アクセスを無責任と見なすようになっています。だからこそ、EUのDMAは重要です。たとえ多くの人々(私自身を含め)がEUの規制に反射的に嫌悪感を抱いていたとしても。ヨーロッパにおけるAppleのAI機能の遅延を巡る戦いは、ブリュッセルが煩わしいからというわけではありません。それは、ユーザーが自分のデバイスやデータにアクセスできるかどうかの問題です。電話はあなたのもの、データはあなたのものですが、Appleは誰がそれにアクセスできるかを決定し、あなたから主体性を奪い、それをあなたの利益になるように見せかけようとします(安全とセキュリティのためだと言われています)。AIの核心に近づくほど、これはより顕著になります。Anthropicは、MythosとFableで人々ができることを制限することにすべての経済的インセンティブを持っています。そして、彼らはその制限を安全と(国家)安全保障の言葉で包んでいます。一部の制限は正当化できるかもしれませんが、すべてではありません。彼らは公開された作品でモデルをトレーニングし、その後、これらのシステムから学び、抽出しようとするオープンソースの試みをブロックします。EU、中国、あるいは他のどの大きな政府も嫌いだからといって、AIを含むテクノロジーへの真の民主化されたアクセスが私たちのすべてにとって利益になることを忘れてはなりません。一時的な製品の痛み、AppleのAI機能の遅延を含め、ゲートを開いたままにするのであれば、支払う価値があります。特に、未発達の資本市場、頭脳流出、内部の争いによってすでに不利な状況にあるヨーロッパ人としては、アクセスを妨げることが私たちの利益になるという物語を企業に所有させてはなりません。