./net/py-zmq, Python bindings for zeromq

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


Branch: CURRENT, Version: 26.2.1, Package name: py312-zmq-26.2.1, Maintainer: pkgsrc-users

PyZMQ is ostensibly the Python bindings for ZeroMQ, but the project,
following Python's 'batteries included' philosophy, provides more than
just Python methods objects for calling into the ZeroMQ C++ library.


Required to run:
[devel/py-cython] [net/zeromq] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 271.907 KB

Version history: (Expand)


CVS history: (Expand)


   2025-02-03 09:29:00 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-zmq: updated to 26.2.1

26.2.1 is a tiny bugfix release

- Update bundled libsodium to 1.0.20
- Some typing-related fixes for pyright and newer mypy versions
- Fix PYZMQ_NO_BUNDLE option name when specified via cmake instead of \ 
environment variable
- Fix missing `socket.context` reference when shadowing existing Sockets
- Various updates to documentation and examples, especially discouraging use of \ 
insecure `recv_pyobj` without message authentication.
  `recv_pyobj` is **_NOT_** deprecated, but it is _discouraged_.
   2024-08-30 10:20:08 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-zmq: updated to 26.2.0

26.2 fixes some regressions introduced by the new build system in 26.0:

These changes all match the behavior of pyzmq 25.1.2:

- include libzmq location in rpath when building from source
- restore libsodium randombytes_close fix for bundled libzmq
- Disable sometimes-broken IPC/EPOLL on Windows

Installing pyzmq from source on Windows should build with IPC enabled by default,
but the Windows wheels on PyPI have it disabled because it produces unavoidable \ 
crashes for some users.

IPC support via epoll on Windows was disabled in pyzmq 24 due to crashes,
this was reintroduced somewhat unintentionally via the new build system in 26.0 \ 
(there was a chance libzmq 4.3.5 would fix it),
but unfortunately the crashes remain, so IPC is disabled again in 26.2.
   2024-08-20 09:54:05 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-zmq: updated to 26.1.1

26.1.1
Bug fixes
   2024-08-06 13:54:26 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-zmq: updated to 26.1.0

26.1.0

26.1.0 is the first release with wheels for CPython 3.13.
Free-threading support in CPython 3.13 is experimental,
but since libzmq sockets themselves aren't threadsafe, pyzmq sockets should \ 
still be handled with locks.

- pyzmq tests are no longer distributed as part of the package
- fix CFFI backend compilation with `-Werror=incompatible-pointer-types`
   2024-05-01 21:07:13 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-zmq: updated to 26.0.3

26.0.3

- Add Cython as build dependency for non-pypy, non-cpython implementations \ 
(fixes install on pyston)
   2024-04-27 04:42:18 by Ryo ONODERA | Files touched by this commit (3)
Log message:
net/py-zmq: Fix build under NetBSD at least

Wheel invokes cmake and it has no CMAKE_CONFIGURE_ARGS.
Then _zmq.so was reported as problematic RPATH.
Define CMAKE_SKIP_RPATH in CMakeLists.txt to fix this failure.
   2024-04-24 14:50:28 by Adam Ciarcinski | Files touched by this commit (5) | Package updated
Log message:
py-zmq: updated to 26.0.2

26.0.2

- When bundling libsodium, download from libsodium's releases on GitHub instead \ 
of download.libsodium.org,
  which appears to error frequently.

26.0.1

- Fix install from source with cmake \< 3.21

26.0.0

pyzmq 26 is a small release, but with some big changes _hopefully_ nobody will \ 
notice,
except for some users (especially on Windows) where pyzmq releases did not work.

The highlights are:

- The Cython backend has been rewritten using Cython 3's pure Python mode.
- The build system has been rewritten to use CMake via [scikit-build-core] \ 
instead of setuptools (setup.py is gone!).
- Bundled libzmq is updated to 4.3.5, which changes its license from LGPL to MPL.

This means:

1. Cython >=3.0 is now a build requirement (if omitted, source distributions \ 
_should_ still build from Cython-generated .c files without any Cython present)
1. pyzmq's Cython backend is a single extension module, which should improve \ 
install size, import time, compile time, etc.
1. pyzmq's Cython backend is now BSD-licensed, matching the rest of pyzmq.
1. The license of the libzmq library (included in pyzmq wheels) starting with \ 
4.3.5 is now Mozilla Public License 2.0 (MPL-2.0).
1. when building pyzmq from source and it falls back on bundled libzmq, libzmq \ 
and libsodium are built as static libraries using their own build systems (CMake \ 
for libzmq, autotools for libsodium except on Windows where it uses msbuild)
   rather than bundling libzmq with tweetnacl as a Python Extension.

Since the new build system uses libzmq and libsodium's own build systems, \ 
evaluated at install time, building pyzmq with bundled libzmq from source should \ 
be much more likely to succeed on a variety of platforms than the previous \ 
method, where their build system was skipped and approximated as a Python \ 
extension.
But I would also be _very_ surprised if I didn't break anything in the process \ 
of replacing 14 years of setup.py from scratch, especially cases like \ 
cross-compiling.
Please [report](https://github.com/zeromq/pyzmq/issues/new) any issues you \ 
encounter building pyzmq.

See [build docs](building-pyzmq) for more info.

__New__:

- Experimental support for wheels on windows-arm64
- `Socket.bind('tcp://ip:0')` can be used as a context manager to bind to a \ 
random port.
  The resulting URL can be retrieved as `socket.last_endpoint`.
- Add `SyncSocket` and `SyncContext` type aliases for the default Socket/Context \ 
implementations,
  since the base classes are Generics, type-wise.
  These are type aliases only to be used in type checking, not actual classes.

__Enhancements__:

- `repr(Frame)` now produces a nice repr, summarizing Frame contents (without \ 
getting too large),
  e.g. `<zmq.Frame(b'abcdefghijkl'...52B)>`

__Breaking changes__:

- `str(Frame)` no longer returns the whole frame contents interpreted as utf8-bytes.
  Instead, it returns the new summarized repr,
  which produces more logical results with `print`, etc.
  `bytes(Frame)` remains unchanged, and utf-8 text strings can still be produced \ 
with:
  `bytes(Frame).decode("utf8")`,
  which works in all versions of pyzmq and does the same thing.
- Stop building Python 3.7 wheels for manylinux1, which reached EOL in January, \ 
2022. The new build system doesn't seem to be able to find cmake in that \ 
environment.
   2023-12-05 19:20:01 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-zmq: updated to 25.1.2

25.1.2

- Fix builds with some recent compilers and bundled libzmq
- Fix builds with upcoming Cython 3.1