Metadata-Version: 1.1
Name: redpipe
Version: 1.0.0rc3
Summary: Easy Redis pipelines
Home-page: https://github.com/72squared/redpipe
Author: John Loehrer
Author-email: 72squared@gmail.com
License: MIT
Download-URL: https://github.com/72squared/redpipe/archive/1.0.0rc3.tar.gz
Description: RedPipe
        =======
        *Pain-Free redis pipelining in python.*
        
        |BuildStatus| |CoverageStatus| |Version| |Python| |Docs|
        
        This project is beta software.
        The interface may change.
        
        The code is well tested and rapidly stabilizing.
        Check back soon.
        
        Requirements
        ------------
        
        The *redpipe* module requires Python 2.7 or higher.
        
        
        Installation
        ------------
        
        To install, use pip:
        
        .. code-block::
        
            $ pip install redpipe
        
        or from source:
        
        .. code-block::
        
            $ python setup.py install
        
        
        Documentation
        -------------
        Find **RedPipe** documentation on `Read the Docs <http://redpipe.readthedocs.io/en/latest/>`_.
        
        
        
        .. |BuildStatus| image:: https://travis-ci.org/72squared/redpipe.svg?branch=master
            :target: https://travis-ci.org/72squared/redpipe
        
        .. |CoverageStatus| image:: https://coveralls.io/repos/github/72squared/redpipe/badge.svg?branch=master
            :target: https://coveralls.io/github/72squared/redpipe?branch=master
        
        .. |Version| image:: https://badge.fury.io/py/redpipe.svg
            :target: https://badge.fury.io/py/redpipe
        
        .. |Python| image:: https://img.shields.io/badge/python-2.7,3.4,pypy-blue.svg
            :target:  https://pypi.python.org/pypi/redpipe/
        
        .. |Docs| image:: https://readthedocs.org/projects/redpipe/badge/?version=latest
            :target: http://redpipe.readthedocs.org/en/latest/
            :alt: Documentation Status
        
        
        Release Notes
        =============
        
        Releases prior to **1.0.0** are considered beta.
        The api is not officially supported.
        We make no guarantees about backward compatibility.
        
        Once the api reaches **1.0.0**, all major and minor release notes will be well documented.
        Upgrade notes and any breaking changes will be described here and how to handle them.
        
        1.0.0rc3 (May 10, 2017)
        -----------------------
        Use threads by default when talking to multiple backends in the same pipeline.
        You can disable this behavior with `redpipe.disable_threads()`.
        
        
        1.0.0rc2 (May 9, 2017)
        ----------------------
        Minor changes.
        
        * make the keyspace object call conform to redis-py
        * use twine to publish to pypi
        * publish wheels
        
        
        1.0.0rc1 (May 7, 2017)
        ----------------------
        This marks the first RC.
        There are a few breaking changes, mostly easily fixed.
        
        * better handling of Nones returned from hmget in Struct
        * testing with toxiproxy to simulate slower networks in benchmarks
        * using pytest-benchmark tool for benchmark comparisons
        * simplifying connections so we can pass in redis or rediscluster
        * fixing some compat issues with redis-py interface
        
        
        0.5.0 (May 5, 2017)
        -------------------
        More breaking changes to Struct.
        Solidifying the api.
        Making important simplifications.
        This will make it easier to explain and document.
        
        * Struct and Keyspace: simplifying some variable names
        * Struct: support a no_op flag to prevent read/write from redis
        * Struct: no kwargs as properties of struct. a dict models it better
        * Struct: specify fields to load when instantiating
        * Struct: reuse remove logic in the update function for elements set to None
        * Simplifying task wait and promise to use the TaskManager directly
        * Future: better isinstance and is comparison checks
        * make it easier to build docs
        * adding Docker support for testing many versions of python
        
        
        0.4.0 (May 4, 2017)
        -------------------
        * by default, don't use transactions
        * autocommit flag renamed to autoexec. *Breaking change*.
        * support pickling Struct
        * make repr(Struct) more standard
        * cleaner connection and pipeline interfaces
        * verify redis cluster support with a single-node redis cluster via redislite
        
        0.3.2 (May 3, 2017)
        -------------------
        After experimenting with some things, simplifying Struct back down.
        Some of the methods in Struct will break.
        Easier to explain with fewer methods and can still do everything I need to.
        
        * cleaner support for items and iteritems in struct
        * support for delete in struct
        * fixed a bug with deleting multiple keys in Keyspace objects.
        * simplification on json serialization detection
        * test flake8 on travis
        * test with hiredis
        
        This release also improves the documentation on Struct.
        I hadn't bothered much up until this point.
        The interface was still solidifying.
        Starting to get to a stable place there.
        
        0.3.1 (May 2, 2017)
        -------------------
        Breaking changes in this release as well.
        Can only access data from a struct object like you would a dictionary.
        This is an important step because it disambiguates commands from data.
        And it enforces one consistent way to access data.
        All the methods on the `Struct` give it a dictionary interface.
        Easier to explain the mental model this way.
        
        * Improvements to `redpipe.Struct`.
        * Documentation improvements.
        
        
        0.3.0 (April 30, 2017)
        ----------------------
        BIG REFACTOR.
        key no longer part of the constructor of Keyspace objects.
        Instead, you pass the key name to the method.
        This keeps the api identical in arguments in redis-py.
        It also allows me to support multi-key operations.
        This is a breaking change.
        
        * no need for a compat layer, using six
        * standardize key, value, member encoding & decoding by reusing Field interface
        * key no longer part of the constructor of Keyspace objects
        
        
        0.2.5 (April 30, 2017)
        ----------------------
        * support for binary field
        * improving encoding and decoding in Keyspaces
        * alias iteritems to items on struct
        * make fields use duck-typing to validate instead of using isinstance
        
        
        0.2.4 (April 28, 2017)
        ----------------------
        * better interface for async enable/disable.
        * add ability to talk to multiple redis servers in parallel via threads
        
        
        0.2.3 (April 27, 2017)
        ----------------------
        * renaming datatypes to keyspaces. easier to explain.
        * moving documentation from readme into docs/ for readthedocs.
        * support for ascii field
        
        
        0.2.2 (April 26, 2017)
        ----------------------
        * better support and testing of redis cluster
        * support for hyperloglog data type
        * adding support for more complex field types
        * support sortedset lex commands
        * support for scanning
        
        
        0.2.1 (April 24, 2017)
        ----------------------
        * bug fix: make sure accessing result before ready results in a consistent exception type.
        * bug fix: issue when exiting with statement from python cli
        
        
        0.2.0 (April 24, 2017)
        ----------------------
        * make the deferred object imitate the underlying result
        
        
        0.1.1 (April 23, 2017)
        ----------------------
        * make it possible to typecast fields in the Hash data type
        * better support for utf-8
        * make result object traceback cleaner
        
        0.1.0 (April 21, 2017)
        ----------------------
        
        * better pipelining and task management
        * better support for multi pipeline use case
        
        
        Earlier Releases
        ----------------
        Releases less than **0.1.0** in this project are considered early alpha and don't deserve special mention.
        
Keywords: redis redis-pipeline orm database
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Environment :: Web Environment
Classifier: Operating System :: POSIX
