This project has been archived by its maintainers, and is no longer receiving any updates.
==========
.. 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.
Metadata
Release files for picklepipe 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| picklepipe-1.1.1.tar.gz | 16.6 kB | Without provenance | Details for picklepipe-1.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| picklepipe-1.1.1-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details for picklepipe-1.1.1-py2.py3-none-any.whl |
Total release size: 29.2 kB
Release files / picklepipe-1.1.1.tar.gz
| Download URL | picklepipe-1.1.1.tar.gz |
|---|---|
| Size | 16.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cb7d5b4849e225e97cd73fadc13aaf7723631bc1ce6df0327cfc1a559ed1abeb
|
|
BLAKE2b-256 checksum How to use checksums |
5c20c6ef1b0a7f5dfa328e889ce5e5836b70c4647277a1ad2e36575d71ab7a81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / picklepipe-1.1.1-py2.py3-none-any.whl
| Download URL | picklepipe-1.1.1-py2.py3-none-any.whl |
|---|---|
| Size | 12.6 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
8ad6b348979531091fbfae8583276425dfc6645d1b71ec935ebb672076270e98
|
|
BLAKE2b-256 checksum How to use checksums |
ea433514127cf13c163d60bf15cfbbbef8bd90327a15811d0ffeaca02ca1e8e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for picklepipe 1.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.