./www/py-wsproto, Pure Python, pure state-machine WebSocket implementation

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.0.0, Package name: py38-wsproto-1.0.0, Maintainer: pkgsrc-users

Pure-Python implementation of a WebSocket protocol stack. It's written from the
ground up to be embeddable in whatever program you choose to use, ensuring that
you can communicate via WebSockets, as defined in RFC6455, regardless of your
programming paradigm.


Required to run:
[devel/py-setuptools] [www/py-h11] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: 2ca02ee672cf290ed5ce4802e0337b859a314c09
RMD160: 75d221dfd371b1a4490b80dde90b778c00e50440
Filesize: 52.171 KB

Version history: (Expand)


CVS history: (Expand)


   2020-12-19 12:50:04 by Leonardo Taccari | Files touched by this commit (2) | Package updated
Log message:
py-wsproto: Update to 1.0.0

Changes:
1.0.0 (2020-11-22)
------------------
- Prevent invalid window bit sizes.
- Added support for Python 3.8 and 3.9.
   2020-02-06 21:41:42 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-wsproto: updated to 0.15.0

0.15.0:
* Drop support for Python 2. Please pin to ~= 0.14.0 if you support
  Python 2.
* Drop support for Python 3.5, meaning the minimum supported version
  is Python 3.6.1.
* Switch events to be dataclass based, otherwise the API is
  consistent.
* Add type hints throughout and support PEP 561 via a py.typed
  file. This should allow projects that use wsproto to type check their
  usage of wsproto.
* Bugfix prevent the test folder being installed as a package called
  test.
* Explicitly require Host header in handshake.
* Drop wsaccel support and utilise the aiohttp/@willmcgugan masking
  method. wsaccel is unmaintained and this new maksing method is
  almost as quick.
   2019-05-31 22:57:05 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-wsproto: updated to 0.14.1

0.14.1:
* Loosen the h11 requirement to >= 0.8.1 as wsproto is compatible with
  0.9 onwards.
* Stop installing a "test" package on installation.
   2019-04-07 17:58:33 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
py-wsproto: updated to 0.14.0

0.14.0:
* Bugfix clarify subprotocol type as str not bytes.
* Support HTTP/2 WebSockets. This requires a HTTP/2 parser (not
  included), with hyper-h2 recommended. It renames
  handshake_extensions and hence is a breaking change.
* Bugfix badly formatted type hints.
* Bugfix minor issues identified by type checking.

0.13.0:
* Introduce a send method on the conenction which accepts the new
  events. This requires the following usage changes, ::
    connection.accept(subprotocol=subprotocol) -> \ 
connection.send(AcceptConnection(subprotocol=subprotocol))
    connection.send_data(data) -> connection.send(Message(payload=payload))
    connection.close(code) -> connection.send(CloseConnection(code=code))
    connection.ping() -> connection.send(Ping())
    connection.pong() -> connection.send(Pong())

* The Event structure is altered to allow for events to be sent and
  received, this requires the following name changes in existing code, ::
    ConnectionRequested -> Request
    ConnectionEstablished -> AcceptConnection
    ConnectionClosed -> CloseConnection
    DataReceived -> Message
    TextReceived -> TextMessage
    BytesReceived -> BytesMessage
    PingReceived -> Ping
    PongReceived -> Pong

* Introduce RejectConnection and RejectData events to be used by a
  server connection to reject rather than accept a connection or by a
  client connection to emit the rejection response. The RejectData
  event represents the rejection response body, if present.
* Add an extra_headers field to the AcceptConnection event in order to
  customise the acceptance response in server mode or to emit this
  information in client mode.
* Switch from Fail events being returned to RemoteProtocolErrors being
  raised.
* Switch from ValueErrors to LocalProtocolErrors being raised when
  an action is taken that is incompatible with the connection state or
  websocket standard.
* Enforce version checking in SERVER mode, only 13 is supported.
* Add an event_hint to RemoteProtocolErrors to hint at how to respond
  to issues.
* Switch from a bytes_to_send method to the send method
  returning the bytes to send directly. Responses to Ping and Close
  messages must now be sent (via send), with the Ping and
  CloseConnection events gaining a response method. This
  allows ::
    if isinstance(event, Ping):
        bytes_to_send = connection.send(event.response())
* Separate the handshake from the active connection handling. This
  allows the handshake and connection to be seperately used. By
  default though WSConnection does both.
* receive_bytes is renamed to receive_data and
  WSConnection should be imported from wsproto rather than
  wsproto.connection.

0.12.0:
* Support h11 ~0.8.1.
* Support Python 3.7.
* Make the close-handshake more explicit, by sending a close frame on
  reciept of a close frame.
* Bugfix fix deflate after a non-compressable message.
* Bugfix connection header acceptance, by accepting Connection header
  values that are comma separated lists.
   2018-02-27 07:57:26 by Adam Ciarcinski | Files touched by this commit (1)
Log message:
Added "python" to CATEGORIES
   2018-02-26 13:09:18 by Leonardo Taccari | Files touched by this commit (5)
Log message:
py-wsproto: Import py-wsproto-0.11.0 as www/py-wsproto

Pure-Python implementation of a WebSocket protocol stack. It's written from the
ground up to be embeddable in whatever program you choose to use, ensuring that
you can communicate via WebSockets, as defined in RFC6455, regardless of your
programming paradigm.