mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-12 08:33:15 -04:00
dev-python/websockets: longdescription
Package-Manager: Portage-2.3.96, Repoman-2.3.21 Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
@@ -2,8 +2,34 @@
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>andrewammerlaan@riseup.net</email>
|
||||
<name>Andrew Ammerlaan</name>
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<email>andrewammerlaan@riseup.net</email>
|
||||
<name>Andrew Ammerlaan</name>
|
||||
</maintainer>
|
||||
<longdescription>
|
||||
What is websockets?
|
||||
|
||||
websockets is a library for building WebSocket servers and clients in Python with a focus on correctness and simplicity.
|
||||
|
||||
Built on top of asyncio, Python's standard asynchronous I/O framework, it provides an elegant coroutine-based API.
|
||||
Why should I use websockets?
|
||||
|
||||
The development of websockets is shaped by four principles:
|
||||
|
||||
Simplicity: all you need to understand is msg = await ws.recv() and await ws.send(msg); websockets takes care of managing connections so you can focus on your application.
|
||||
Robustness: websockets is built for production; for example it was the only library to handle backpressure correctly before the issue became widely known in the Python community.
|
||||
Quality: websockets is heavily tested. Continuous integration fails under 100% branch coverage. Also it passes the industry-standard Autobahn Testsuite.
|
||||
Performance: memory use is configurable. An extension written in C accelerates expensive operations. It's pre-compiled for Linux, macOS and Windows and packaged in the wheel format for each system and Python version.
|
||||
|
||||
Documentation is a first class concern in the project. Head over to Read the Docs and see for yourself.
|
||||
Why shouldn't I use websockets?
|
||||
|
||||
If you prefer callbacks over coroutines: websockets was created to provide the best coroutine-based API to manage WebSocket connections in Python. Pick another library for a callback-based API.
|
||||
If you're looking for a mixed HTTP / WebSocket library: websockets aims at being an excellent implementation of RFC 6455: The WebSocket Protocol and RFC 7692: Compression Extensions for WebSocket. Its support for HTTP is minimal — just enough for a HTTP health check.
|
||||
If you want to use Python 2: websockets builds upon asyncio which only works on Python 3. websockets requires Python ≥ 3.6.1.
|
||||
</longdescription>
|
||||
<upstream>
|
||||
<remote-id type="github">aaugustin/websockets</remote-id>
|
||||
<remote-id type="pypi">websockets</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
||||
@@ -8,7 +8,10 @@ PYTHON_COMPAT=( python3_{6,7} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="An implementation of the WebSocket Protocol (RFC 6455 & 7692)"
|
||||
HOMEPAGE="https://github.com/aaugustin/websockets https://pypi.org/project/websockets/"
|
||||
HOMEPAGE="
|
||||
https://github.com/aaugustin/websockets
|
||||
https://pypi.org/project/websockets/
|
||||
"
|
||||
SRC_URI="https://github.com/aaugustin/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
@@ -16,7 +19,7 @@ SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
python_prepare_all() {
|
||||
# these tests fail, proabably because of
|
||||
# these tests fail, probably because of
|
||||
# a permission error (no internet)
|
||||
rm tests/test_client_server.py || die
|
||||
rm tests/test_protocol.py || die
|
||||
|
||||
Reference in New Issue
Block a user