Skip to main content

Non-blocking multiprocessing pipe

Project description

pipe-nonblock Build Status

Non-blocking multiprocessing pipe


pip install pipe_nonblock

Supported versions

  • Python 3.4+


from pipe_nonblock import Pipe

c1, c2 = Pipe(duplex=True, conn1_nonblock=True, conn2_nonblock=True) # create a new duplex non-blocking pipe
assert len(list(c2.recv(32))) == 0                                   # try receive data from a connection, it's empty at the moment 
c1.send('foo')                                                       # send python string object
buf, = c2.recv(32)                                                   # recv return generator with received objects
assert buf == 'foo'
buf, = c1.recv(32)
assert buf == 'bar'

Overview of Pipe function

def Pipe(duplex, conn1_nonblock, conn1_nonblock) -> Tuple[connection1, connection2]:
parameter type description
duplex bool If duplex is True (the default) then the pipe is bidirectional. If duplex is False then the pipe is unidirectional: conn1 can only be used for receiving messages and conn2 can only be used for sending messages.
conn1_nonblock bool If conn1_nonblock is True then the connection1 is non-blocking
conn2_nonblock bool If conn2_nonblock is True then the connection2 is non-blocking

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pipe-nonblock, version 0.4
Filename, size File type Python version Upload date Hashes
Filename, size pipe_nonblock-0.4-py3-none-any.whl (5.3 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size pipe_nonblock-0.4.tar.gz (3.9 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page