あなたが気に入る 10 の外部 Python パッケージ
アダム・ゴールドシュミット著
Python は、プログラマーにどれだけの自由が必要かを試す実験です。自由が多すぎると誰も他人のコードを読むことができなくなります。少なすぎると表現力が危険にさらされます。 - グイド・ファン・ロッサム
Guido 氏が語るこの自由こそが、Python の人気の理由の 1 つです。とりわけ、その人気により、ますます多くの開発者がこの言語を使用するようになり、最終的には本当に素晴らしいオープンソース プロジェクトにつながります。
私は通常、1 日に 1 回、GitHub でプロジェクトを探しています。この記事では、あなたがよく知っているかもしれないし、知らないかもしれない 10 個の素晴らしいパッケージを取り上げたいと思います。あまりトレンドのないものから始めて、最終的には…そうですね、Flask になります。
さぁ、始めよう!
Loguru — ロギングが簡単に
これは私がプロジェクトで定期的に使用している本当に素晴らしいパッケージです。これは自らを「Python で楽しいロギングを実現することを目的としたライブラリ」と説明しています。このパッケージを使用すると、すぐに使用できるログを簡単に構成できます。
インストール後に行う必要があるのは、モジュールをインポートすることだけです。
from loguru import logger
箱から出してすぐに自由に使用できます。
logger.debug("Hello, cool debugger")
ドキュメントは充実しており、多くのカスタマイズオプションがあります。
もっと-itertools
peekable
など、場合によっては非常に役立つさまざまな興味深いメソッド:
>>> p = peekable(['a', 'b'])>>> p.peek()'a'>>> next(p)'a'
またはチャンク化
:
>>> list(chunked([1, 2, 3, 4, 5, 6], 3))[[1, 2, 3], [4, 5, 6]]
MonkeyType — 静的型アノテーション ジェネレーター
monkeytype run myscript.py
このパッケージは、ランタイム型を収集することによって、スタブ ファイルまたはソース コード自体に型注釈を自動的に生成します。そうです、Python はアノテーションの使用を強制しません。しかし、アノテーションはコードの可読性にとって (そして、場合によってはエラーを回避するためにも) 非常に重要であると私は信じています。このリストに型アノテーションを処理するパッケージがさらに 2 つあるのもそのためです。 )
Pyright — 静的型チェッカー
Microsoft からのエキサイティングな新しいパッケージ。最初のコミットはわずか 17 日前でした。このパッケージは、Mypy (このリストにもあります) の競合製品です。正直、まだ使う機会がありませんが、ぜひ使ってみたいと思っています。現在、型チェッカーとして mypy を使用していますが、これも試してみたいと思います。
request-async — requests
の async
/await
構文のサポート
これは私が先日 GitHub で発見した新しいパッケージで、かなり期待できそうです。コード内で HTTP リクエストを簡単に処理できるリクエスト パッケージは誰もが知っています。さて、このパッケージは、次のリクエストに対して async
および await
という単語を実装します。
import requests_async as requestsresponse = await requests.get('https://example.org')print(response.status_code)print(response.text)
かなりクールですよね?
HTTPie — 最新のコマンドライン cURL
以前に cURL を使用したことがある方は、それがそれほど楽しいものではないことをご存知のはずです。パラメータ名を覚えて、データがカプセル化されていることを確認する必要があります…そうですね、HTTPie はこれをはるかに簡単にすることを目指しています。以下は、フォーム データを送信する例の 1 つです。
http -f POST example.org hello=World
Pipenv — Python のより良いパッケージ化
新しいプロジェクトを開始するときは、常に新しい virtualenv
を作成し、pip
を使用していくつかの基本パッケージをインストールします。次に、これらのパッケージ名をファイル (setup.py
または requirements.txt
) に保存する必要があります。 npm
を使用したことがある方は、npm の方がはるかに簡単であることをご存知でしょう。 npm —save
と記述するだけで、パッケージ名が package.json
に保存されます。そのため、私は最初に、現在使用している pip
パッケージのバージョンを setup.py
に「フリーズ」するための単純なパッケージである pypkgfreeze を作成しました。
とにかく、pipenv は 2 つの世界をマージすることを目的とした興味深いソリューションです。彼らのリポジトリ ページで最もよく説明されています。
プロジェクトの virtualenv を自動的に作成して管理するだけでなく、パッケージをインストール/アンインストールするときに Pipfile
からパッケージを追加/削除します。また、決定論的なビルドを生成するために使用される、常に重要な Pipfile.lock
も生成します。
ここで試してみることができます。
mypy — 静的型チェッカー
前に述べたように、これは私が現在標準の静的型チェッカーとして使用しているパッケージです。これはコードを読みやすくエレガントに保つのに役立ちます (私はそう思います)。
黒
私は多くの Python フォーマッタを試してきましたが、black
が明らかに私のお気に入りです。構文はすっきりしていて、コマンド ラインは迅速に実行され、ファイルを確認したり実際に編集したりできるため、CI/CD にとって非常に便利です。ここで試すこともできます!
フラスコ
これまでに書いたことのないことをここに書くかどうかはわかりません。おそらくこの驚くべきマイクロ フレームワークについてはご存知でしょうが、そうでない場合は、ぜひチェックしてみてください。
行く前に…
読んでくれてありがとう!私の GitHub アカウントをフォローすると、より優れたリポジトリが表示されます。私は目に入るすべてのクールなものにスターを付ける傾向があります:)
この記事が気に入っていただけましたら、拍手ボタンを押してください?他の人がそれを見つけられるようにするためです。長く続けるほど拍手が増えます!
以下のコメント欄でご意見を遠慮なく共有してください。