libzmq-4.2 has introduced the concept of unstable DRAFT APIs.
As of libzmq-4.2, this includes the CLIENT-SERVER and RADIO-DISH patterns.

Because these APIs are explicitly unstable,
pyzmq does not support them by default,
and pyzmq binaries (wheels) will not be built with DRAFT API suport.
However, pyzmq-17 can be built with draft socket support,
as long as you compile pyzmq yourself with a special flag.

By specifying --install-option, pip knows to not install wheels, and will compile pyzmq from source.

The --zmq=$PREFIX part is only necessary if libzmq is installed somewhere not on the default search path.
If libzmq is installed in /usr/local or similar,
only the --enable-drafts install option is required.

There are examples of the CLIENT-SERVER and RADIO-DISH patterns in the examples/draft
directory of the pyzmq repository.