Archived
This project has been archived by its maintainers, and is no longer receiving any updates.
PicklePipe
==========
.. image:: https://img.shields.io/travis/SethMichaelLarson/picklepipe/master.svg
:target: https://travis-ci.org/SethMichaelLarson/picklepipe
:alt: Linux and MacOS Build Status
.. image:: https://img.shields.io/appveyor/ci/SethMichaelLarson/picklepipe/master.svg
:target: https://ci.appveyor.com/project/SethMichaelLarson/picklepipe
:alt: Windows Build Status
.. image:: https://img.shields.io/codecov/c/github/SethMichaelLarson/picklepipe/master.svg
:target: https://codecov.io/gh/SethMichaelLarson/picklepipe
:alt: Test Suite Coverage
.. image:: https://img.shields.io/codeclimate/github/SethMichaelLarson/picklepipe.svg
:target: https://codeclimate.com/github/SethMichaelLarson/picklepipe
:alt: Code Health
.. image:: https://readthedocs.org/projects/picklepipe/badge/?version=latest
:target: http://picklepipe.readthedocs.io
:alt: Documentation Build Status
.. image:: https://pyup.io/repos/github/sethmichaellarson/picklepipe/shield.svg
:target: https://pyup.io/repos/github/sethmichaellarson/picklepipe/
:alt: Dependency Versions
.. image:: https://img.shields.io/pypi/v/picklepipe.svg
:target: https://pypi.python.org/pypi/picklepipe
:alt: PyPI Version
.. image:: https://img.shields.io/badge/say-thanks-ff69b4.svg
:target: https://saythanks.io/to/SethMichaelLarson
:alt: 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 <https://pip.pypa.io>`_.::
$ python -m pip install picklepipe
To install the latest development version from `Github <https://github.com/SethMichaelLarson/picklepipe>`_::
$ 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 <bootstrap.pypa.io>`_
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.
.. code-block:: python
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 <http://picklepipe.readthedocs.io>`_ provides API-level documentation.
Support / Report Issues
-----------------------
All support requests and issue reports should be
`filed on Github as an issue <https://github.com/SethMichaelLarson/picklepipe/issues>`_.
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 <http://picklepipe.readthedocs.io/en/latest/contributing.html>`_ for the best places to start and help.
License
-------
PicklePipe is made available under the MIT License. For more details, see `LICENSE.txt <https://github.com/SethMichaelLarson/picklepipe/blob/master/LICENSE.txt>`_.
Changelog
=========
Development
-----------
* (Add feature or bug fix along with author.)
Release 1.1.0 (December 29, 2016)
---------------------------------
* Create the :class:`picklepipe.JSONPipe` for serializing JSON data.
Release 1.0.0 (December 28, 2016)
---------------------------------
* Create initial implementation of :class:`picklepipe.PicklePipe`.
* Create :meth:`picklepipe.make_pipe_pair` to create a connected pair of :class:`picklepipe.PicklePipe` instances.
* Added support for creating own serialization pipes with :class:`picklepipe.BaseSerializationPipe`.
* Added support for the ``marshal`` object serializer with :class:`picklepipe.MarshalPipe`
* :class:`picklepipe.PicklePipe` now uses ``cPickle`` module if available.
* Make all pipe types selectable using selectors.
* Add the ``max_size`` attribute for limiting memory usage of pipes.
==========
.. image:: https://img.shields.io/travis/SethMichaelLarson/picklepipe/master.svg
:target: https://travis-ci.org/SethMichaelLarson/picklepipe
:alt: Linux and MacOS Build Status
.. image:: https://img.shields.io/appveyor/ci/SethMichaelLarson/picklepipe/master.svg
:target: https://ci.appveyor.com/project/SethMichaelLarson/picklepipe
:alt: Windows Build Status
.. image:: https://img.shields.io/codecov/c/github/SethMichaelLarson/picklepipe/master.svg
:target: https://codecov.io/gh/SethMichaelLarson/picklepipe
:alt: Test Suite Coverage
.. image:: https://img.shields.io/codeclimate/github/SethMichaelLarson/picklepipe.svg
:target: https://codeclimate.com/github/SethMichaelLarson/picklepipe
:alt: Code Health
.. image:: https://readthedocs.org/projects/picklepipe/badge/?version=latest
:target: http://picklepipe.readthedocs.io
:alt: Documentation Build Status
.. image:: https://pyup.io/repos/github/sethmichaellarson/picklepipe/shield.svg
:target: https://pyup.io/repos/github/sethmichaellarson/picklepipe/
:alt: Dependency Versions
.. image:: https://img.shields.io/pypi/v/picklepipe.svg
:target: https://pypi.python.org/pypi/picklepipe
:alt: PyPI Version
.. image:: https://img.shields.io/badge/say-thanks-ff69b4.svg
:target: https://saythanks.io/to/SethMichaelLarson
:alt: 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 <https://pip.pypa.io>`_.::
$ python -m pip install picklepipe
To install the latest development version from `Github <https://github.com/SethMichaelLarson/picklepipe>`_::
$ 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 <bootstrap.pypa.io>`_
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.
.. code-block:: python
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 <http://picklepipe.readthedocs.io>`_ provides API-level documentation.
Support / Report Issues
-----------------------
All support requests and issue reports should be
`filed on Github as an issue <https://github.com/SethMichaelLarson/picklepipe/issues>`_.
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 <http://picklepipe.readthedocs.io/en/latest/contributing.html>`_ for the best places to start and help.
License
-------
PicklePipe is made available under the MIT License. For more details, see `LICENSE.txt <https://github.com/SethMichaelLarson/picklepipe/blob/master/LICENSE.txt>`_.
Changelog
=========
Development
-----------
* (Add feature or bug fix along with author.)
Release 1.1.0 (December 29, 2016)
---------------------------------
* Create the :class:`picklepipe.JSONPipe` for serializing JSON data.
Release 1.0.0 (December 28, 2016)
---------------------------------
* Create initial implementation of :class:`picklepipe.PicklePipe`.
* Create :meth:`picklepipe.make_pipe_pair` to create a connected pair of :class:`picklepipe.PicklePipe` instances.
* Added support for creating own serialization pipes with :class:`picklepipe.BaseSerializationPipe`.
* Added support for the ``marshal`` object serializer with :class:`picklepipe.MarshalPipe`
* :class:`picklepipe.PicklePipe` now uses ``cPickle`` module if available.
* Make all pipe types selectable using selectors.
* Add the ``max_size`` attribute for limiting memory usage of pipes.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
picklepipe-1.1.1.tar.gz
(16.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file picklepipe-1.1.1.tar.gz.
File metadata
- Download URL: picklepipe-1.1.1.tar.gz
- Upload date:
- Size: 16.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb7d5b4849e225e97cd73fadc13aaf7723631bc1ce6df0327cfc1a559ed1abeb
|
|
| MD5 |
2f4b0e29dafac4b0e82aa24144d96d00
|
|
| BLAKE2b-256 |
5c20c6ef1b0a7f5dfa328e889ce5e5836b70c4647277a1ad2e36575d71ab7a81
|
File details
Details for the file picklepipe-1.1.1-py2.py3-none-any.whl.
File metadata
- Download URL: picklepipe-1.1.1-py2.py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ad6b348979531091fbfae8583276425dfc6645d1b71ec935ebb672076270e98
|
|
| MD5 |
08d9b4552dfbc49e0c0fc6f99fbc81f2
|
|
| BLAKE2b-256 |
ea433514127cf13c163d60bf15cfbbbef8bd90327a15811d0ffeaca02ca1e8e2
|