この記事は2024年5月18日で公開された中国語の記事「Python 潮流周刊#51:用 Python 绘制美观的图表」の日本語訳です。主に LLM によって翻訳され、手修正で校正されていりますが、もし不自然の点が気づいたら、「記事の改善」機能で、編集リクエストをいただけるとありがたいです。
こちらから最新号まで購読できます(英語のみですので、ご了承ください。)
こんにちは、Pythonエンジニアのネコです。毎週、英語を中心とした高品質な Python、AI、そして一般的な技術に関する情報をお届けしています。また、Telegramのチャンネル では、より幅広いニュースや情報も補足的に発信していますので、ぜひフォローしてみてください。
今回は、12本の注目記事と12のオープンソースプロジェクトを紹介し、さらに『絵で見てわかるITインフラの仕組み 新装版』の中国語版《图解IT基础设施》を5冊プレゼントします。全体で約1900文字の内容となっています。
🦄記事&チュートリアル
1、注目の Python Streamlit:美しくインタラクティブな地図やグラフ
このチュートリアルでは、streamlit、pandas、plotly を使ってインタラクティブなデータ可視化プロジェクトを構築する方法を解説しています。データセットの取得から、実際の開発ステップまで丁寧に紹介されています。
この記事は短いながらも本質を突いた内容で、なぜ result という名前を変数に使うべきではないのかをわかりやすく説明しています。ほんの小さなコーディング習慣の話ですが、実際によく見かけるもので、私自身も新人時代にまさに同じ過ちをしていました。
3、Python で Loguru を使ったログ記録のはじめ方
Python には多くのログライブラリがありますが、Loguru はその中でも特に人気があり、非常にシンプルに使えることで知られています。このチュートリアルでは、Loguru のインストールから基本的な使い方までを順を追って解説しており、ログ記録をこれから学びたい人にぴったりの内容です。(参考:最も人気のある 6 つの Python ログライブラリの比較)
実務でも広く使われている Django フレームワークについて、この記事では初級から上級まで対応した 35 の面接質問とその簡潔な回答を紹介しています。
集合はハッシュ可能で重複しない要素の集まりで、辞書のキーと構造がよく似ています。この記事では、あえて「値のない辞書」を使って集合の動作を再現してみるというユニークな試みが紹介されています。ただし、実用性はまったくないのでご注意を…。
6、Sliver を使って Mac を狙う PyPI パッケージのバックドア手法
PyPI に登場した悪意あるパッケージの手口は驚くほど巧妙です。この記事で紹介されているライブラリは、Sliver のバイナリを PNG 画像に仕込み、パッケージのインストール時にその画像をデコードしてバックドアを実行するという仕組みになっています。
7、TensorFlow はなぜ徐々に存在感を失いつつあるのか?
TensorFlow(Google 開発)と PyTorch(Meta 開発)は、現在の主流となっている 2 大ディープラーニングフレームワークです。近年では PyTorch の勢いが増しており、TensorFlow は徐々にシェアを落としつつあります。この記事では、その背景にある複数の要因をわかりやすく分析しています。
遅延評価(lazy evaluation)とは、値が本当に必要になるまで計算を遅らせる仕組みのことです。Python にはどんな遅延評価の例があるのか、その実装によって得られるメリットや、逆に注意すべきデメリットについても解説されています。
9、Python のソースコードをなぜ読むべき?その構造はどんな感じ? (中国語)
「Python 3.12 ソースコードの徹底解説」シリーズの第一弾として、CPython のプロジェクト構造や Python インタプリタの基本的な仕組みを紹介しています。シリーズは100本以上の更新を予定しており、現在は無料で5本が公開されています。
2015年に書かれたこの記事で、著者が開発した10のプロジェクトを紹介しています。主に Python と C 言語によるもので、最初のプロジェクトは C と Python を組み合わせて作られた Minecraft のクローンで、GitHub では10Kスターを獲得しています。他のプロジェクトもどれも興味深い内容です。
LLM は、多くの人にとって欠かせない効率化ツールとなっています。その知能の秘密を、高度な数学を使わず、わかりやすい言葉と少量の Python コードで解説しています。
12、代替実装が抱える課題
著者は、Python や Ruby など JIT を持つ言語の代替実装に共通する問題を指摘しています。代替実装は公式実装の新機能に追いつくのが難しく、新しい言語仕様に対応しなければならないため、多くの制約を受けることになります。
🐿️プロジェクト&リソース
1、The-Python-Graph-Gallery:Pythonで描かれた数百のグラフ集
このプロジェクトはウェブサイトのソースコードで、たくさんのグラフや作図ツール、サンプルコード、記事チュートリアルが収録された面白いサイトです。(スター 1.8K)
2、parler-tts:高品質な軽量テキスト音声合成 (TTS) モデル
指定された話者の性別や音程、話し方などのスタイルに合わせて、自然な高品質音声を生成する軽量テキスト音声合成 (TTS) モデルです。データセット、前処理や学習コード、重みファイルもすべてオープンソースです。(スター 2.6K)
オープンソースの車両流量シミュレーターで、車の動きを可視化し、交通渋滞を再現します。matplotlibを使ったインタラクティブGUIも備えています。
画像を象限に分割し、それぞれに元画像の平均色を塗ることで、クールなビジュアルを作り出します。(スター 1.2K)
5、bilibot:Bilibiliのコメントで微調整されたローカルチャットボット
Bilibili ユーザーのコメントで学習したチャットボットで、テキストチャット対応に加え、questions.txtを使い特定質問の音声対話も生成可能です。ベースモデルは Qwen1.5-32B-Chat です。(スター 2.3K)
6、pyaction:Python、git、Github CLI を搭載した Docker コンテナ
Python で Github Actions を実装するためのサポートを目的とした Docker イメージです。
7、firecrawl:ウェブサイト全体を LLM 対応の Markdown に変換
任意のサイトをクロールして、LLM で使いやすいクリーンな Markdown ファイルに変換します。サイトマップ不要で全てのアクセス可能なサブページをクロールし、それぞれ Markdown を生成します。(スター 3.1K)
8、plotille:点字ドットを使いターミナルにグラフを描画
点字ドットと前景・背景色を用いて、外部依存なしにターミナルでグラフや散布図、ヒストグラム、ヒートマップを描けます。
9、petl:Pythonでデータ抽出・変換・ロードを行うテーブル操作ツール
JSON、CSV、Xlsx、XML、HTMLなど多様なファイルを変換し、MySQL や Postgres、S3 などに書き出せるデータ処理ツールです。(スター 1.2K)
10、FunClip:動画の音声認識とクリップ編集ツール、AI 編集機能付き
アリババ DAMO アカデミー(達摩院)が公開した、LLM を活用した動画編集ツールで、音声認識結果をもとにテキストや話者を自由に選択してクリップ作成が可能です。(スター 1.7K)
11、map-machine:OpenStreetMap 用 Python レンダラー
OpenStreetMap は世界的に無料の地図プロジェクトで、map-machine は地図上の多彩な要素をカスタムアイコンで表示できます。
背景と光源の種類を説明するテキストから照明をコントロールするモデルと背景画像から照明をコントロールするモデルの2種類を提供し、画像にシーンや光源の方向に合った効果を加えられます。(スター 3.1K)