GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

gevent

gevent – Python用コルーチンベースの同時実行ライブラリ

投稿日:

Python用コルーチンベースの同時実行ライブラリ http://gevent.org

ジーヴェント

geventは、コルーチンベースのPythonネットワークライブラリです。

機能は次のとおりです。

  • libevまたはlibuvに基づく高速イベントループ。
  • グリーンレットに基づく軽量の実行ユニット。
  • Python標準ライブラリの概念を再利用する親しみやすいAPI。
  • SSLをサポートする協調ソケット。
  • DNSクエリは、 c-aresまたはスレッドプールを通じて実行されます。
  • 標準的なブロッキングソケット用に書かれた標準ライブラリとサードパーティのモジュールを使用する能力

geventはイベントレットに触発されていますが、より一貫性のあるAPI、より簡単な実装、より良いパフォーマンスを備えています。 なぜ他人がgeventを使用し、 geventに基づいオープンソースプロジェクトのリストをチェックするのかを読んでください

geventはDenis Bilenkoによって書かれました

バージョン1.1以来、geventは貢献者の助けを借りてNextThoughtによって維持され、MITライセンスの下でライセンスされています。

最新メジャーリリースの新機能をご覧ください。

このバージョンの詳細な変更履歴を確認してください。

geventを取得する

geventはPython> = 2.7、Python> = 3.4、またはPyPy> = 5.5(PyPy2とPyPy3を含む)で動作します。 すべてのプラットフォームでsetuptoolsをインストールする必要があります(これは仮想環境で作業する場合は自動的に行われます)。

pipを使ってgeventをインストールすることができます:

pip install gevent

先端

バイナリホイールをインストールするには、Pip 8.0以降が必要です。

先端

libuvバックエンドを使用するには、manylinuxホイールではなくソースからインストールする必要があります。

Python Package Indexから最新のリリースをダウンロードするか、リポジトリをクローンしてください

http://www.gevent.orgのオンラインドキュメントをお読みください 追加のインストール情報はここにあります

バグトラッカーメーリングリストブログTwitter(@gevent)に関するフィードバックや問題を投稿してください

開発

最新の開発版をインストールするには:

pip install setuptools cffi 'cython>=0.27' git+git://github.com/gevent/gevent.git#egg=gevent

geventでハッキングするには(virtualenvを使用):

$ git clone https://github.com/gevent/gevent.git
$ cd gevent
$ virtualenv env
$ source env/bin/activate
(env) $ pip install -r dev-requirements.txt

注意

チェックアウトを構築するには、Cコンパイラ、Cython、Python開発ヘッダーがインストールされている必要があります。 CPythonにCFFIをインストールする(これはPyPy上で標準です)、テスト用のCFFIバックエンドを構築することができ、toxはPythonの複数のバージョンをテストするためのコマンドです。

テストの実行

テストを実行する方法はいくつかあります。 開発中にあるバージョンのPythonでテストを実行するには、次のようにしてください:

(env) $ pip install -e .
(env) $ cd src/greentest
(env) $ python ./testrunner.py

プルリクエストを送信する前に、サポートされているPythonのすべてのバージョンでテストを実行し、プロスペクターを使用してコードの品質をチェックすることをお勧めします。 これはTravis CIで行われていることです。 ローカルでは、それはtoxを使って行うことができます:

pip install tox
tox

testrunnerは、 – --coverage引数を受け入れて、 coverage.pyパッケージを通じてコードカバレッジメトリックを有効にします。 それはこのようなものになるでしょう:

cd src/greentest
python testrunner.py --coverage
coverage combine
coverage html -i
<open htmlcov/index.html>

Travis CIのビルドは自動的にcoveralls.ioへの更新を提出し、テストカバレッジを監視します。

注意

Debianでは、すべてのテストを実行するにはlibpythonX.Y-testsuiteインストールされている必要があります。

継続的インテグレーション

テストスイートは、送信されたプッシュ/プル要求ごとに実行されます。 Travis CIはLinux上でテストするために使用され、 AppVeyorはWindows上でビルドを実行します。







-gevent
-, , ,

執筆者: