この記事は2024年7月6日で公開された中国語の記事「Python 潮流周刊#59:Polars 1.0 发布了,PyCon US 2024 演讲视频也发布了」の日本語訳です。主に LLM によって翻訳され、手修正で校正されていますが、もし不自然の点が気づいたら、「記事の改善」機能で、編集リクエストをいただけるとありがたいです。
こちらから最新号まで購読できます(英語のみですので、ご了承ください。)
こんにちは、Python エンジニアのネコです。毎週、英語を中心とした高品質な Python、AI、そして一般的な技術に関する情報をお届けしています。また、Telegram のチャンネルでは、より幅広いニュースや情報も補足的に発信していますので、ぜひフォローしてみてください。
今週は、12本の記事と12のオープンソースプロジェクトを紹介しました。全文は2200文字です。
🦄記事&チュートリアル
1、Polars 1.0 が正式リリース!今後のロードマップは?
Polars は設立から4年、GitHub で 27.5K スターを獲得し、この度正式にバージョン 1.0 をリリースしました。今後の計画には、新たなストリーミング処理エンジンの開発、NVIDIA RAPIDS を活用した GPU アクセラレーション対応、Polars のマネージドクラウドサービスの提供などが含まれます。(参考:Polarsとpandasの比較:主な違いを解説)
2、Python、Apple App Store の審査拒否問題に取り組む
Python 3.12 にアップデートした一部のアプリが、「itms-services」という特定の文字列を含むことを理由に Apple App Store の審査に通らなくなりました。この記事では、Python 開発者コミュニティによる1週間にわたる議論を経て、Python 3.13 でビルドオプション --with-app-store-compliance を追加することでこの問題を解決することで合意した経緯を詳しく解説しています。(参考:Python フォーラムでの詳細な議論)
3、PDF からのデータ抽出の課題と実用的な RAG アプリケーション
PDFファイルからテキストを抽出する際には、以下のような多くの課題があります:位置固定のレイアウト、論理的な構造の欠如、スキャンや写真撮影された画像の混在、ノイズや歪み、表の内容、縦向きページと横向きページの混在など。この記事では、LLMWhisperer の PDF からテキストへの変換サービスと、それがどのようにこれらのコンテンツ抽出の問題を効果的に解決しているかを紹介します。
非負整数nの階乗は、n以下のすべての正の整数の積です。この記事では、math.factorial(n)、イテレーティブ法、ジェネレータを使用する方法、リスト内包表記を使用する方法、再帰を使用する方法など、さまざまな実装方法を紹介しています。
この記事では、Python 環境管理、依存関係管理、プロジェクト構造、フォーマットツール、テストツール、推奨される構文・書き方、アプリケーション設計、ライブラリ選定など、Python 開発に関する27のベストプラクティスを紹介しています。
6、MicroPython入門ガイド(1):環境構築、Blink、デプロイ
MicroPython はマイクロコントローラや組み込みシステム向けに設計された Python インタープリタです。この入門ガイドシリーズの第1回では、環境構築、基本的な概念、そして基本的な使い方を紹介します。
7、Pythonで.NETライブラリを活用して実行効率を向上
Pythonプロジェクトのパフォーマンス向上方法の一つとして、他言語で開発されたライブラリを呼び出す方法があります。この記事では、pythonnet ライブラリを使用して.NETで開発されたDLLライブラリを呼び出す方法を紹介し、純粋なPythonコードとのパフォーマンス比較を実施しています。
著者は、Python プログラムをリカレントニューラルネットワーク (RNN) に埋め込み、学習済みの RNN を活用してタスクを実行する方法を紹介しています。手作業でアルゴリズムを作成して繰り返しデバッグと改良を重ねる方法と比較して、ニューラルネットワークに埋め込む方法がより優れた性能を発揮していることを示しています。
疎配列(Sparse Array) では、ほとんどの要素がゼロまたはその他の形式のプレースホルダであり、少数の要素のみが非ゼロまたは意味を持つ値となります。この記事では、スパース配列を使用する理由、一般的な格納形式、スパース配列を扱うPythonライブラリ (sparse、scipy.sparse、cupyx.sparse、torch.sparse など) について解説しています。
10、犯罪者が「親切な」Stack Overflowユーザーを装ってマルウェアを配布
Stack Overflowなどで質問をした際に、あるライブラリのインストールを勧めるコメントが付いたら、つい試してみたくなりますよね?しかし、そのライブラリはマルウェアの可能性があるのです!この記事では、最近見られる「新たな」攻撃手法を分析し、注意を呼びかけています。
11、PrettierでDjango/Jinjaテンプレートをフォーマット
筆者は、JavaScriptのフォーマットツール Prettier とそのプラグインを使用して、Jinjaテンプレートファイルをフォーマットする方法を紹介しています。また、Python純正の2つの代替案である curlylint と DjHTML についても触れています。
プログラミングでは、コード内の複数箇所を同期して変更する必要がよくあります。この記事では、派生(Derive)とテストという2つのアプローチを紹介しています。4つの実例を通じて具体的な使用方法を実演しており、理想的な完全自動同期手法には多大なコストがかかる可能性があるため、手動でのコード同期とテストの組み合わせの方が合理的かもしれないと述べています。
🐿️プロジェクト&リソース
1、graphrag:グラフベースのモジュラー RAG システム
Microsoft が最新でオープンソース化した RAG システムで、LLM の強力な機能を活用して非構造化テキストから意味のある構造化データを抽出します。知識グラフのメモリ構造を活用して LLM の出力を強化します。(スター数 4.6K)
2、puepy:PyScript ベースの Python+ WebAssembly フロントエンドフレームワーク
PyScript をベースに、ブラウザ内で完全に動作するフロントエンドフレームワークで、一部のアイデアは Vue からインスパイアされています。Pyodide と MicroPython のサポートを目指しています。
3、psqlpy:Rust 製の非同期 Python Postgre SQLドライバ
完全に Rust で開発された Python 用 PostgreSQL ドライバで、高速かつ型安全です。
4、pretzelai:Jupyter Notebookのモダンな代替品
Jupyter の改良版で、A Iによるコード生成・編集、インラインタブ補完、サイドバーでのチャット、エラー修正機能などを追加しています。(スター数 1.8K)
5、meet-libai: 李白の知識グラフ構築とAIエージェントの学習
このプロジェクトでは、李白の詩と関連資料を収集して李白に関する知識グラフを構築し、専門的なAIエージェントを学習させ、最終的に対話型の李白チャットアプリケーションを開発することを目指しています。
6、flpc:Rust 製の Python 正規表現ライブラリ
Rust で開発された正規表現ライブラリで、Python の標準 re モジュールの置き換えを目指しています。ほとんどの関数は re と同じですが、一部異なる関数もあります。
Llama-3 を基に、大量の繁体中国語と英語データで学習させた大規模言語モデルです。高い言語理解能力、文章生成能力、推論能力、そして複数回にわたる対話能力を備えています。(スター数 1.1K)
8、ttkbootstrap:tkinter の強化テーマ、Bootstrap に影響を受けたモダンフラットスタイル
tkinter のビジュアル改善テーマで、Bootstrap に影響を受けたデザインスタイルを採用しています。内蔵されている10数個のダーク/ライトテーマ、多数の定義済みウィジェット、カスタムテーマの作成もサポートしています。(スター数 1.8K)
9、bunkerweb:オープンソースの Web アプリケーションファイアウォール (WAF)
NGINX ベースの多機能な Web セキュリティ用サーバーで、Linux、Docker、Swarm、Kubernetes など様々な環境にシームレスに統合可能です。Web ベースの管理コンソールも提供しています。(スター数 3.8K)
対話型の描画アプリで、キャンバスに数学方程式を書くと、マルチモーダルLLM (大規模言語モデル) が計算結果を等号の横に表示します。Apple WWDC 2024 の「Math Notes」デモに影響を受けて開発されました。
11、cookiecutter-django:本番環境対応の Django プロジェクトを素早く立ち上げる
Cookiecutter を基に、完全な機能を備えた Django プロジェクトを素早く立ち上げることができます。Django 4.2 と Python 3.12 をサポートし、起動時のテストカバレッジが 100% 達成されています。(スター数 11.8K)
12、Linly-Talker:大規模言語モデルと視覚モデルを統合したデジタルアバター
デジタルヒューマンシステムで、Whisper、Linly、Microsoft Speech、SadTalker 音声生成システムなどの複数の技術を統合しています。(スター数 1.2K)
🐢ポッドキャスト&動画
PyCon 公式チャンネルが 2024 年の PyCon US で行われた講演の動画を公開しました。
PyCon Sweden も今年開催されたイベントの講演動画を公開しました。
🐧 バックナンバー
Python潮流周刊#9:如何在本地部署开源大语言模型?(2023.07.01)日本語訳
🐱購読はこちら
技術ニュースレターは、情報過多の時代において質の高い知識を見極めるためのスマートな手段です。このプラットフォームは日本の Python 開発者向けに特化しており、シェアする価値のある記事、チュートリアル、オープンソースプロジェクト、ソフトウェアツール、ポッドキャスト、動画、話題のトピックなど、豊富なコンテンツを厳選してご紹介します。今すぐ購読すると、毎週1本の記事が配信され、少しずつスキルアップできます。
コメントをお待ちしています!今週の紹介記事で特に気に入ったものはどれですか?皆さんからのフィードバックが多いほど、今後もより多くの情報を紹介していきます!

