Skip to content
This repository has been archived by the owner on Jan 3, 2018. It is now read-only.

sethmlarson/picklepipe

Repository files navigation

PicklePipe

Linux and MacOS Build Status

Windows Build Status

Test Suite Coverage

Code Health

Documentation Build Status

Dependency Versions

PyPI Version

Say Thanks to the Maintainers

Python pickling protocol over any network interface. Also provides a basic interface to implement your own serializing pipes.

This project was started and released in under 24 hours while I was on holiday break.

Getting Started with PicklePipe

PicklePipe is available on PyPI can be installed with pip.:

$ python -m pip install picklepipe

To install the latest development version from Github:

$ python -m pip install git+git://github.com/SethMichaelLarson/picklepipe.git

If your current Python installation doesn't have pip available, try get-pip.py

After installing PicklePipe you can use it like any other Python module. Here's a very simple demonstration of scheduling a single job on a farm.

import picklepipe

# Create a pair of connected pipes.
pipe1, pipe2 = picklepipe.make_pipe_pair(picklepipe.PicklePipe)

# Send an object in one end.
pipe1.send_object('Hello, world!')

# And retrieve it from the other.
obj = pipe2.recv_object(timeout=1.0)

assert obj == 'Hello, world!'

# Also can be used to send objects to remote locations!
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('host', 12345))
pipe = picklepipe.PicklePipe(sock)
pipe.send_object('Hello, world!')
pipe.close()

API Reference

The API Reference on readthedocs.io provides API-level documentation.

Support / Report Issues

All support requests and issue reports should be filed on Github as an issue. Make sure to follow the template so your request may be as handled as quickly as possible. Please respect contributors by not using personal contacts for support requests.

Contributing

We happily welcome contributions, please see our guide for Contributors for the best places to start and help.

License

PicklePipe is made available under the MIT License. For more details, see LICENSE.txt.