Github: https://github.com/gevent/gevent
ジーヴェント
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上でビルドを実行します。