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

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


Branch: CURRENT, Version: 1.2.0nb1, Package name: py312-wsproto-1.2.0nb1, 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:

Filesize: 52.173 KB

Version history: (Expand)


CVS history: (Expand)


   2022-11-27 10:55:37 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-wsproto: updated to 1.2.0

1.2.0 (2022-08-23)
------------------

- Bugfix: When a close frame with status NO_STATUS_RCVD is sent, send
  and empty payload.
- Bugfix: Changing both encoding and decoding of the Host, from ascii
  to idna.
- Bugfix: Support multiple Sec-WebSocket-Extensions and
  Sec-WebSocket-Protocol headers.
- Accept bytes alongside string as path argument in
  initiate_upgrade_connection.
- Check the state when sending events, raising if the event cannot be
  sent in the current state.
- Send an empty payload for NO_STATUS_RCVD.

1.1.0 (2022-02-27)
------------------

- Added support for Python 3.10.
- Drop support for Python 3.6, meaning the minimum supported version
  is Python 3.7.0.
- Various type checking and code linting improvements.
   2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595)
Log message:
*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS
   2021-10-26 13:31:15 by Nia Alarie | Files touched by this commit (1030)
Log message:
www: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Not committed (merge conflicts):
www/nghttp2/distinfo

Unfetchable distfiles (almost certainly fetched conditionally...):
./www/nginx-devel/distinfo array-var-nginx-module-0.05.tar.gz
./www/nginx-devel/distinfo echo-nginx-module-0.62.tar.gz
./www/nginx-devel/distinfo encrypted-session-nginx-module-0.08.tar.gz
./www/nginx-devel/distinfo form-input-nginx-module-0.12.tar.gz
./www/nginx-devel/distinfo headers-more-nginx-module-0.33.tar.gz
./www/nginx-devel/distinfo lua-nginx-module-0.10.19.tar.gz
./www/nginx-devel/distinfo naxsi-1.3.tar.gz
./www/nginx-devel/distinfo nginx-dav-ext-module-3.0.0.tar.gz
./www/nginx-devel/distinfo nginx-rtmp-module-1.2.2.tar.gz
./www/nginx-devel/distinfo nginx_http_push_module-1.2.10.tar.gz
./www/nginx-devel/distinfo ngx_cache_purge-2.5.1.tar.gz
./www/nginx-devel/distinfo ngx_devel_kit-0.3.1.tar.gz
./www/nginx-devel/distinfo ngx_http_geoip2_module-3.3.tar.gz
./www/nginx-devel/distinfo njs-0.5.0.tar.gz
./www/nginx-devel/distinfo set-misc-nginx-module-0.32.tar.gz
./www/nginx/distinfo array-var-nginx-module-0.05.tar.gz
./www/nginx/distinfo echo-nginx-module-0.62.tar.gz
./www/nginx/distinfo encrypted-session-nginx-module-0.08.tar.gz
./www/nginx/distinfo form-input-nginx-module-0.12.tar.gz
./www/nginx/distinfo headers-more-nginx-module-0.33.tar.gz
./www/nginx/distinfo lua-nginx-module-0.10.19.tar.gz
./www/nginx/distinfo naxsi-1.3.tar.gz
./www/nginx/distinfo nginx-dav-ext-module-3.0.0.tar.gz
./www/nginx/distinfo nginx-rtmp-module-1.2.2.tar.gz
./www/nginx/distinfo nginx_http_push_module-1.2.10.tar.gz
./www/nginx/distinfo ngx_cache_purge-2.5.1.tar.gz
./www/nginx/distinfo ngx_devel_kit-0.3.1.tar.gz
./www/nginx/distinfo ngx_http_geoip2_module-3.3.tar.gz
./www/nginx/distinfo njs-0.5.0.tar.gz
./www/nginx/distinfo set-misc-nginx-module-0.32.tar.gz
   2021-10-07 17:09:00 by Nia Alarie | Files touched by this commit (1033)
Log message:
www: Remove SHA1 hashes for distfiles
   2020-12-19 12:50:04 by Leonardo Taccari | Files touched by this commit (2)
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.