commit 319168f18ecb7d95ead91f3d7aaada23dabe1161
Merge: bd52c57 0bcf66d
Author: Julien Danjou <julien@danjou.info>
Date:   Wed Jul 26 09:45:21 2017 +0200

    Merge pull request #82 from zaneb/master
    
    Document random exponential backoff strategy

commit 0bcf66dc1885c6d5e4994031b2982d3de18ac30d
Author: Zane Bitter <zbitter@redhat.com>
Date:   Tue Jul 25 12:49:54 2017 -0400

    Document wait_random_exponential strategy

commit d5a1d8faf02ffbe27b9a85bcb93d53a9d4e7114c
Author: Zane Bitter <zbitter@redhat.com>
Date:   Tue Jul 25 12:19:59 2017 -0400

    Rename wait_full_jitter to wait_random_exponential
    
    The name "full jitter" can only really be interpreted in the context of
    a particular blog post[1] that compares it to other possible algorithms.
    The formal name for this algorithm, which was originally developed for
    CSMA communication systems (the first was ALOHA, but it is also used by
    e.g. Ethernet)[2] is "truncated binary exponential backoff"[3].
    
    However, the term "exponential backoff" is already used to describe a
    different algorithm in tenacity, that doesn't include jitter. These have
    different use cases - geometrically increasing fixed delays are useful
    for balancing retries against latency when a resource is unavailable and
    you don't know when it will be available again; geometrically increasing
    jitter is useful when multiple actors are in contention for the same
    resource.
    
    Since the "full_jitter" algorithm is effectively a convolution of the
    "random" and "exponential" algorithms, "random_exponential" seems like a
    better name for it.
    
    The old name is still exported to avoid breaking any existing users.
    
    [1] https://www.awsarchitectureblog.com/2015/03/backoff.html
    [2] http://www.cs.utexas.edu/users/lam/NRL/backoff.html
    [3] https://en.wikipedia.org/wiki/Exponential_backoff

commit bd52c579e5ac384b016d532f431487fa89ef1eb8
Merge: fad5e64 2a75895
Author: Julien Danjou <julien@danjou.info>
Date:   Mon Jul 10 18:57:34 2017 +0200

    Merge pull request #79 from Brian-Williams/retry_until_exception_type
    
    Retry until exception type

commit 2a75895bdc84d396771d042ead09319af09e4f34
Author: Brian-Williams <Brian-Williams@users.noreply.github.com>
Date:   Thu Jul 6 22:30:43 2017 -0400

    Add retry_unless_exception_type
    
    - Add a complement of retry_if_exception_type and tests.
    - Changed docstrings since exception_types can be an individual
      exception or a tuple of exceptions.
    - Fixed a typo in NoNameErrorAfterCount.go.
    - Gave NoIOErrorAfterCount and NoNameErrorAfterCount triple quoted
      docstrings.

commit fad5e64b9ca23416ab5b44d4a56fc22867abe87f
Merge: 222c202 5385e58
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Jul 7 09:31:25 2017 +0200

    Merge pull request #80 from Brian-Williams/docs
    
    Add missing ')' to README.rst

commit 5385e58b6c7a2dcda7707043d53cd581430928d0
Author: Brian Williams <brian.williams@actifio.com>
Date:   Fri Jul 7 00:53:22 2017 -0400

    Add missing ')' to README.rst

commit 222c202638fa50f95e70a3b79375df39a5c34e55
Author: Julien Danjou <julien@danjou.info>
Date:   Wed Jun 21 12:16:11 2017 +0200

    Do not duplicate statistics fields in instance
    
    Statistics are thread-locals, so leverage them rather than using
    non-thread-safe instance attributes
    
    Fixes #75

commit f49b3059fb09ca7ee1091f8f16c9f70a015a5ca6
Author: Julien Danjou <julien@danjou.info>
Date:   Wed Jun 21 11:45:54 2017 +0200

    Do not start trial_start_time as an attribute
    
    This makes it thread-safer.

commit 509627d724333a0a00e120b430cc87da1a45a7b6
Author: Julien Danjou <julien@danjou.info>
Date:   Tue Jun 20 16:43:42 2017 +0200

    Add an example on how to combine stop conditions
    
    Fixes #74

commit dc009e7fc59195419e2e1347b3f1e5c0cca58a2a
Merge: dd0c50a 35cdb55
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Jun 16 12:02:54 2017 +0200

    Merge pull request #69 from harlowja/add-event-based-stop-and-nap
    
    Add new event based sleep and stop

commit dd0c50a540785fd67daf726eec84cfe373b26a0c
Merge: 8253e90 8c58663
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Jun 16 12:02:01 2017 +0200

    Merge pull request #70 from william-silversmith/master
    
    feat: added wait_full_jitter

commit 8253e90a73576a7895afa7f97c617c9aea6cca34
Author: Julien Danjou <julien@danjou.info>
Date:   Wed Jun 14 23:41:46 2017 +0200

    Put a link to the GitHub issue of retrying about the fork.
    
    Fixes #65

commit 8c586639e280e64b40fdf530b3bfe45ebffdd9fb
Author: William Silversmith <william.silversmith@gmail.com>
Date:   Thu Jun 8 17:05:39 2017 -0400

    feat: added wait_full_jitter
    
    Wait strategy based on the results of this Amazon Architecture Blog:
    
    https://www.awsarchitectureblog.com/2015/03/backoff.html
    
    The Full Jitter strategy attempts to prevent synchronous clusters
    from forming in distributed systems by combining exponential backoff
    with random jitter. This differs from other strategies as jitter isn't
    added to the exponentially increasing sleep time, rather the time is
    computed is uniformly random between zero and the exponential point.
    
    Excerpted from the above blog:
        sleep = random_between(0, min(cap, base * 2 ** attempt))
    
    A competing algorithm called "Decorrelated Jitter" is competitive
    and in some circumstances may be better. c.f. the above blog for
    details.

commit 35cdb55b427263319f6198981c229d4f7d8450bc
Author: Joshua Harlow <jxharlow@godaddy.com>
Date:   Thu May 18 22:57:36 2017 -0700

    Add new event based sleep and stop

commit 913aff6604d75ff28576ae7793ef3d57cfd17029
Author: Julien Danjou <julien@danjou.info>
Date:   Wed May 3 12:26:56 2017 +0200

    Add `wraps' method directly on Retrying object
    
    This allows to (re)use an existing Retrying object to wrap any function.
    
    Sem-Ver: feature

commit 5052cdc3b140766563d916c4bc949e733ae5914b
Author: Julien Danjou <julien@danjou.info>
Date:   Mon Apr 24 11:04:28 2017 +0200

    wait: handle OverflowError

commit 07f8dda054660281e733d2119edc30bce5ec65bc
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Apr 13 14:59:03 2017 +0200

    doc: raise Exception in example so they actually work
    
    The examples are not clear enough that they will not retry since they do not
    raise any exception. This adds a raise statement so if anybody try them it will
    see what tenacity actually does.
    
    Fixes #57

commit 9f9311bec5ed7c2fa1c3c99f8b2bb7e0e11e03b3
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Apr 13 14:58:33 2017 +0200

    Remove weird example with retry_if_io_error

commit e916e65f636fd7289c6244aca63f0cf5ab2b041b
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Mar 24 14:37:54 2017 +0100

    Bump version for new feature
    
    Commit dc9ed513eb0ffcfba5b1bc5b9f7388703c1570ec introduced a new feature.
    
    Sem-Ver: feature

commit 3dce1815ed42dd44cd4db856c3515b0a0d9f56eb
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Mar 24 13:45:25 2017 +0100

    Add Python 3.6 support
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit dc9ed513eb0ffcfba5b1bc5b9f7388703c1570ec
Author: Michael Evans <michael.evans@mwrinfosecurity.com>
Date:   Fri Mar 24 13:37:27 2017 +0200

    Add retry_if_not_result class to compliment the existing retry_if_result class

commit f2e0fa73a26e4c4331eeeb145d576bfa0f5b1637
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Mar 24 10:02:50 2017 +0100

    Fix six minimum version
    
    Fixes #54

commit bc49bd09a70d7edfcd0fcf72747e988b59a51714
Author: Julien Danjou <julien@danjou.info>
Date:   Tue Mar 21 10:43:13 2017 +0100

    doc: rewrite the before explanation
    
    Fixes #53

commit 4101b5ed9560f3053a1e540cda92c635f15714da
Author: Julien Danjou <julien@danjou.info>
Date:   Mon Mar 6 17:45:02 2017 +0100

    Add __call__ on BaseRetrying class
    
    This is not a with statement, but it's as easy as shown in #48.

commit 9fb57d4cd7f2dbc0e88d3af05824929eb36e9a78
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Mar 3 11:41:41 2017 +0100

    Document before and after keywords
    
    Fixes #51

commit 651d980c9930b6e1dc135c3aa3b4761ea5252e3b
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Mar 3 09:51:04 2017 +0100

    Remove useless MANIFEST

commit 2ecd22f5305ab1f97f480a30bf46016d5c1aafae
Author: Julien Danjou <julien@danjou.info>
Date:   Sat Feb 25 22:29:11 2017 +0100

    Remove non-working PyPI download image
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 8c9525378289d2aed3826cb5ab3014d81839c9e7
Author: Julien Danjou <julien@danjou.info>
Date:   Tue Jan 10 16:18:20 2017 +0100

    Bump hacking to 0.13
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 5b111272f6e8af19b9437f50a7f2b8e587511883
Author: Julien Danjou <julien@danjou.info>
Date:   Tue Jan 10 16:16:53 2017 +0100

    Use Python 3 for pep8 tox target

commit 206e8ede4b2d2de297b905b25b0cc010ab8b9081
Author: Julien Danjou <julien@danjou.info>
Date:   Tue Jan 10 16:15:57 2017 +0100

    Remove deprecated wait_jitter
    
    Fixes #46
    
    Sem-Ver: api-break

commit 76cec8a3ec4c69efbeaebb04927c928f2af5a314
Author: Julien Danjou <julien@danjou.info>
Date:   Wed Jan 4 16:40:26 2017 +0100

    Fix pep8 errors
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 9e8d7792eb9499cf0c02efe7030c75190e5cae7d
Author: Julien Danjou <julien@danjou.info>
Date:   Wed Jan 4 16:23:25 2017 +0100

    Correctly set the exception if we TryAgain for ever
    
    Fixes #45

commit c3b02ab8aa532f0b1c8d1bda94856114dc45c223
Merge: e9e7294 d408c40
Author: Julien Danjou <julien@danjou.info>
Date:   Tue Dec 13 15:49:01 2016 +0100

    Merge pull request #37 from bersace/async
    
    Retry coroutines

commit d408c40b505bce4b0d9e30ae74378edc594255bb
Author: Étienne BERSAC (bersace) <etienne.bersac@people-doc.com>
Date:   Tue Dec 13 11:21:43 2016 +0100

    Retry on coroutines

commit e9e72941f36a45836ebd42f8891e95d20d785302
Merge: 8a233bf c95baa3
Author: Julien Danjou <julien@danjou.info>
Date:   Tue Dec 13 14:36:21 2016 +0100

    Merge pull request #43 from bersace/pep8
    
    Run flake8 only with latest python

commit c95baa3dc409751d34bcc580f4bbff6605778eca
Author: Étienne BERSAC (bersace) <etienne.bersac@people-doc.com>
Date:   Tue Dec 13 11:21:43 2016 +0100

    Run flake8 only with latest python

commit 8a233bfec3f0d85b44b87cd79b097f77f8e76a4e
Merge: 7952f8e fea726a
Author: Julien Danjou <julien@danjou.info>
Date:   Tue Dec 13 10:29:51 2016 +0100

    Merge pull request #42 from bersace/decorator
    
    Deduplicate retry decorator logic

commit fea726ace40edbf770c98de824f2f1ba1b0ee385
Author: Étienne BERSAC (bersace) <etienne.bersac@people-doc.com>
Date:   Tue Dec 13 10:00:07 2016 +0100

    Deduplicate retry decorator logic

commit 7952f8e1d3504ec80dc1912ec9c273129d53982e
Merge: 8f96a9f 3f40fcf
Author: Julien Danjou <julien@danjou.info>
Date:   Mon Dec 12 21:54:45 2016 +0100

    Merge pull request #40 from bersace/marshaller
    
    Split marshall of retries from IOs

commit 3f40fcf0ecd92184c913b15981fb273bdc90ed03
Author: Étienne BERSAC (bersace) <etienne.bersac@people-doc.com>
Date:   Thu Dec 1 12:12:08 2016 +0100

    Extract controller IOs in subclass

commit 8f96a9ff383e0521723c131fd908551b55b5ed4d
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Dec 1 12:25:11 2016 +0100

    Allow to combine stop conditions

commit 16796e471fb35ca2753435a3365065791cc4fea6
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Nov 25 17:46:36 2016 +0100

    Add SayThanks
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 5eff3d4dbf84e2c5e0532e0149f97aefe259181f
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Nov 25 17:40:12 2016 +0100

    retry: implement bitwise operators on retry strategies

commit 26ed5e05219b31e5d66b3d25f0180ffb52fbb5c6
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Nov 25 17:32:45 2016 +0100

    retry: add retry_all

commit d0b4f9538c094d82c8dbd1111a9c4d855962c26a
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Nov 25 17:03:30 2016 +0100

    Deprecate wait_jitter for wait_random

commit 2e483a72e76c416726fd4f97b53d42104c6b1822
Merge: 950b931 d77dc95
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Nov 24 12:13:47 2016 +0100

    Merge pull request #38 from bersace/tox
    
    Align tox and travis settings

commit d77dc9504541e99cd9e10242ce74c8836ade1377
Author: Étienne BERSAC (bersace) <etienne.bersac@people-doc.com>
Date:   Thu Nov 24 11:44:51 2016 +0100

    Align tox and travis settings

commit 950b931bb59a881096cd61a025fa40987ad9018c
Merge: 4541190 6df4068
Author: Julien Danjou <julien@danjou.info>
Date:   Wed Nov 16 14:10:16 2016 +0100

    Merge pull request #36 from sileht/master
    
    Fix README typo

commit 6df406806edaa4f1f96e35332c4721f8cd12e585
Author: Mehdi Abaakouk <sileht@sileht.net>
Date:   Wed Nov 16 12:30:59 2016 +0100

    Fix README typo

commit 45411905dbcd1b3a34cf57ff6699028990ce8370
Author: Julien Danjou <julien@danjou.info>
Date:   Mon Nov 7 22:46:33 2016 +0100

    Bump hacking to 0.12

commit d78b8f35c417637a048e9219602e01770c17a756
Merge: abf9448 9fb0ed7
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Oct 27 19:43:22 2016 +0200

    Merge pull request #34 from harlowja/floating
    
    This is using floating point seconds (not milliseconds)

commit abf94483502de69189632671651cfc7f48c9a9c6
Merge: d9c284d 5a6d9a8
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Oct 27 19:42:42 2016 +0200

    Merge pull request #35 from harlowja/fix-readme
    
    Fix README.rst wrong description

commit 5a6d9a80ec090d95b4af088ad623dd6cc9f99ec8
Author: Joshua Harlow <jxharlow@godaddy.com>
Date:   Thu Oct 27 12:25:31 2016 +0200

    Fix README.rst wrong description
    
    This shouldn't be describing exponential
    backoff when its applying a fixed wait with
    jitter (so fix the description to talk about
    the right things).

commit 9fb0ed78532b6b0d313119ed8f0ab0434e02b55e
Author: Joshua Harlow <jxharlow@godaddy.com>
Date:   Thu Oct 27 12:08:21 2016 +0200

    This is using floating point seconds (not milliseconds)

commit d9c284d26dff1a210d978bcd9843bae2e9635038
Merge: 4f9e495 a844483
Author: Julien Danjou <julien@danjou.info>
Date:   Wed Oct 26 18:02:19 2016 +0200

    Merge pull request #33 from harlowja/docstring-tweaks
    
    Some small docstring updates

commit 4f9e4951dad1bf72cb376af411a9e1887199d03d
Merge: 144125b 6309376
Author: Julien Danjou <julien@danjou.info>
Date:   Wed Oct 26 14:12:00 2016 +0200

    Merge pull request #32 from harlowja/py3-print
    
    Use py3.x compat print in README.rst

commit a844483c161229d20a75e2643cef26b2a7bd7476
Author: Joshua Harlow <jxharlow@godaddy.com>
Date:   Wed Oct 26 14:09:54 2016 +0200

    Some small docstring updates

commit 630937636dce85d6a9feff71dd8ebb9eae29eee0
Author: Joshua Harlow <jxharlow@godaddy.com>
Date:   Wed Oct 26 13:59:10 2016 +0200

    Use py3.x compat print in README.rst

commit 144125b92b17acf86ce27763d502fe84c66d4d22
Merge: 879590e ed46728
Author: Julien Danjou <julien@danjou.info>
Date:   Tue Oct 25 16:15:16 2016 +0200

    Merge pull request #31 from gdavoian/master
    
    Fix typo in retry_if_exception example

commit ed467284de046bfca88d5070eb6f165c0ba6a545
Author: Gevorg Davoian <gdavoian@mirantis.com>
Date:   Tue Oct 25 00:55:34 2016 +0300

    Fix typo in retry_if_exception example

commit 879590e590f8e57f6678cab38f7ed7d7f538e9bc
Merge: 2c7ab55 9a1b4b7
Author: Julien Danjou <julien@danjou.info>
Date:   Sat Oct 22 18:58:11 2016 +0200

    Merge pull request #30 from gdavoian/master
    
    Implement '+' operator for wait strategies

commit 9a1b4b7459f9862249ab7f47bed7b104c35e6adc
Author: Gevorg Davoian <gdavoian@mirantis.com>
Date:   Sat Oct 22 16:51:17 2016 +0300

    Implement '+' operator for wait strategies

commit 2c7ab553d287ae4ce3ec8c684c86543ff2e277fe
Author: Julien Danjou <julien@danjou.info>
Date:   Tue Oct 4 18:03:26 2016 +0200

    Initialize statistics at runtime
    
    Doing the initialization at __init__ time only does it for the current thread,
    obviously.

commit 510cd9f67192982d97a5ff8a5bc09d0d5edd72a1
Author: Julien Danjou <julien@danjou.info>
Date:   Tue Oct 4 09:02:41 2016 +0200

    Rename `_retrying` attribute to `retry` and document it

commit 4ecc24dab58078c8c110eed902fbd53066ead79f
Author: Julien Danjou <julien@danjou.info>
Date:   Mon Oct 3 13:32:58 2016 +0200

    Store retrying object as an attribute of retried function
    
    That allows to access statistics easily.

commit 4294e97d537870ddf0a73ea95e638b36bb6f5f01
Author: Julien Danjou <julien@danjou.info>
Date:   Mon Oct 3 13:32:44 2016 +0200

    Make sure statistics are thread locals

commit 998382181bb3ee81a583d5caf5f1ca5b1aa3fb3b
Author: Julien Danjou <julien@danjou.info>
Date:   Mon Oct 3 13:30:17 2016 +0200

    Remove NOTICE file

commit 3ca87fab537246ed3e5085c74ae9a4f7cf851e3c
Merge: bed8817 2318710
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Sep 23 13:02:09 2016 +0200

    Merge pull request #28 from bodenr/master
    
    Fix reraise when no exception

commit 2318710e4713e2bb967f7bdb4b1c692eb4af61fb
Author: Boden R <bodenvmw@gmail.com>
Date:   Thu Sep 22 14:13:19 2016 -0600

    Fix reraise when no exception
    
    https://github.com/jd/tenacity/pull/27 introduced a bug
    whereupon if a retry callable doesn't raise and Retrying has
    its self.reraise set to True, a TypeError will be raised because
    we try to raise something that's not an exception class.
    
    This fixes that issue and adds a UT for it.
    
    [1] https://github.com/jd/tenacity/pull/27

commit bed881719af36d5db13ba58963cf908c80ed303f
Merge: 3956599 f6535ce
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Sep 16 12:36:04 2016 +0200

    Merge pull request #27 from bodenr/master
    
    Add support for reraise

commit f6535ce0aa5b1303bcff0e5c4ba5ee52dc2c205c
Author: Boden R <bodenvmw@gmail.com>
Date:   Thu Sep 15 14:07:52 2016 -0600

    Add support for reraise

commit 395659933fb4eadd1825ab27a1139bcb0311535b
Author: Julien Danjou <julien@danjou.info>
Date:   Tue Sep 13 11:51:25 2016 +0200

    doc: fix text legend for retry_if_result
    
    Fixes #23

commit ec366904b8c4b4e04b763c6ee0f6a28c0609a2e9
Merge: 5a66d38 ee00856
Author: Julien Danjou <julien@danjou.info>
Date:   Mon Aug 29 09:47:17 2016 +0200

    Merge pull request #21 from harlowja/useful-repr
    
    Add a useful __repr__

commit ee008560554ec4bf458d60aee981b844d8815d50
Author: Joshua Harlow <harlowja@gmail.com>
Date:   Sun Aug 28 18:50:53 2016 -0700

    Add a useful __repr__

commit 5a66d389ac3c90c80c8bc9ad7694b810c392d39b
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 26 10:08:56 2016 +0200

    wait: fix wait_random to return floating point numbers
    
    Otherwise it only wait on integer values.

commit 03fb0a9adbab5706559ec86c8a14a6fae2bb4d52
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 26 10:01:49 2016 +0200

    Remove milliseconds usage in modules
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 7d6a9c4203c2990adf698d9e364147b8fd4b6427
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 26 09:54:35 2016 +0200

    Stop using millisecond values for callbacks

commit 78494c4a88ae37665c345300fcfc5544f5fb850b
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 26 09:52:43 2016 +0200

    Add pbr generated files to ignore list
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit b04134a8148c3eb2bb6757c1a2a66d7009441ad2
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 25 17:37:24 2016 +0200

    Use seconds everywhere instead of miliseconds
    
    Fixes #17

commit 51a701764b0010bd11be457f19793055ea6edbe3
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 25 17:33:15 2016 +0200

    Fix retry_if_exception_type usage in doc
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit ca318ba10b21d36325ee179509b7292c6ab45c84
Merge: d2bb605 2aa46b3
Author: Julien Danjou <julien@danjou.info>
Date:   Mon Aug 22 22:19:47 2016 +0200

    Merge pull request #18 from harlowja/nice-ordinal
    
    Add and use a nice ordinal func when logging before/after

commit d2bb605f5e9adf094e3d5736813781c71a6b92c7
Merge: de94b6a fe16371
Author: Julien Danjou <julien@danjou.info>
Date:   Mon Aug 22 22:19:17 2016 +0200

    Merge pull request #13 from bodenr/master
    
    Add  wait_chain()

commit 2aa46b3ab5c36d377fdf7108fbdf2bc882c9bd74
Author: Joshua Harlow <harlowja@gmail.com>
Date:   Sat Aug 20 21:19:52 2016 -0700

    Add and use a nice ordinal func when logging before/after

commit de94b6a89a04a975529e97179c6420bd0ce4baea
Merge: ba53576 5c30f37
Author: Julien Danjou <julien@danjou.info>
Date:   Sat Aug 20 22:59:53 2016 +0200

    Merge pull request #15 from harlowja/before-after
    
    Add before/after strategies

commit 5c30f37ca3c8f061f6a54fcad7d96671b11b807c
Author: Joshua Harlow <harlowja@gmail.com>
Date:   Fri Aug 19 21:24:33 2016 -0700

    Add before/after strategies
    
    Make these before and after functions more official
    by providing some basic ones and a no-op ones that
    will be used by default.

commit fe16371add197d5e3f655f8f90604271caab721a
Author: Boden R <bodenvmw@gmail.com>
Date:   Thu Aug 18 14:51:28 2016 -0600

    Add wait_chain()
    
    One PR I had in retrying [1] proposed to support the notion of
    "stepped wait". This patch adds stepping support by introducing
    a new wait_chain function that accepts one or more strategies
    and chains their execution sequentially such that each strategy
    is run once per attempt and then removed from the chain.

commit ba53576ab2dd3f5dcd21a20c4d656fc4f5c63d21
Merge: 9ea6df0 5b8e618
Author: Julien Danjou <julien@danjou.info>
Date:   Sat Aug 20 10:41:06 2016 +0200

    Merge pull request #14 from harlowja/comment-adjust
    
    Fix comment stating rejection

commit 9ea6df04d68e12b2dd59eef05c80f186a03e4d61
Merge: 5b4fc5f 5efb378
Author: Julien Danjou <julien@danjou.info>
Date:   Sat Aug 20 10:37:43 2016 +0200

    Merge pull request #16 from harlowja/stats
    
    Add basic stats

commit 5efb3780c14aee1ae83618901fa3f6d736b7e664
Author: Joshua Harlow <harlowja@gmail.com>
Date:   Fri Aug 19 22:49:58 2016 -0700

    Add basic stats
    
    Fixes issue #6

commit 5b8e6183d0d500d61a3085d24521a38fb13c96d5
Author: Joshua Harlow <harlowja@gmail.com>
Date:   Fri Aug 19 21:03:10 2016 -0700

    Fix comment stating rejection

commit 5b4fc5f0ee37a4e8c831c2c8c36025651881d275
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 18 16:56:19 2016 +0200

    Rename reject to retry
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit f082fba6152b623cb1345b27fdfbe77c6e558844
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 18 10:21:31 2016 +0200

    Enable pep8 checks on Travis
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit b0ee6fb4b625dc531322e34c675c401dc8358e30
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 18 10:19:56 2016 +0200

    Remove Python 2.6 support

commit 00fe1f1cd026a3b2a8c641c12552bf5cfe945990
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 18 10:07:23 2016 +0200

    Fix pep8 errors
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 6759b3ca36b31f8d46ad1f7a1080ebd2b42f1b08
Merge: 3059c46 74ba03f
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 18 09:52:56 2016 +0200

    Merge pull request #12 from harlowja/folders-are-good
    
    Folders are good

commit 3059c468e0e464d36096df238c5a904586003119
Merge: 80fe958 ab1bcea
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 18 09:50:55 2016 +0200

    Merge pull request #10 from harlowja/less-python
    
    Remove dead versions of py 3.x

commit 74ba03f34d3531d90705e1d6bdf248a0fe1c8cc3
Author: Joshua Harlow <harlowja@gmail.com>
Date:   Wed Aug 17 22:25:31 2016 -0700

    Move to a folder structure
    
    We are really starting to push the boundaries
    of what I want in a single file, and python has
    modules so we might as well use them to organize
    or code better (vs not).

commit ab1bceab37f07d92875db38576d3b9545e2d48e3
Author: Joshua Harlow <harlowja@gmail.com>
Date:   Wed Aug 17 08:52:58 2016 -0700

    Remove dead versions of py 3.x
    
    The less pytho versions we have to
    try to think about supporting (and
    dealing with there edge-cases) the
    better.
    
    Fixes issue #4

commit 80fe9586e76eae6f57a46a6e5304c79cd8b99dd1
Author: Julien Danjou <julien@danjou.info>
Date:   Wed Aug 17 10:34:35 2016 +0200

    Allow to raise TryAgain to force a retry at any time
    
    Fixes #5

commit a5ee033ba449a75abf0d2afdd67de19ad6bdc58b
Merge: b4d7732 3e9c640
Author: Julien Danjou <julien@danjou.info>
Date:   Tue Aug 16 10:18:12 2016 +0200

    Merge pull request #2 from harlowja/use-mono
    
    Use monotonic time

commit 3e9c6402c1dd19f14c9d5117d1c6af80986281f4
Author: Joshua Harlow <harlowja@gmail.com>
Date:   Sun Aug 14 22:43:50 2016 -0700

    Use monotonic time
    
    Monotonic time has the nice benefit of never
    going backwards or getting messed up by NTPd
    so use it instead of time.time for computing
    durations (its a built-in on py3.x so we might
    as well).

commit b4d7732e86dbd6a9ddf73c3363de156218e66bf4
Author: Julien Danjou <julien@danjou.info>
Date:   Mon Aug 15 09:27:54 2016 +0200

    Fix doc with retry_if_exception_type

commit 0499e91bf5a8488293f6d8064bce72a70f03de0e
Author: Julien Danjou <julien@danjou.info>
Date:   Mon Aug 15 09:27:00 2016 +0200

    Add retry_if_exception(predicate)

commit bdc5f6a34fba8585be5dd48e04d969db2e448f3b
Author: Julien Danjou <julien@danjou.info>
Date:   Mon Aug 15 09:22:59 2016 +0200

    Rename retry_if_exceptino to retry_if_exception_type

commit e568d469bce35b23ecd3c7a336b27434eaf65344
Author: Julien Danjou <julien@danjou.info>
Date:   Mon Aug 15 09:12:51 2016 +0200

    Remove dead code

commit fe25dbfdee37227aeebc5b7dfcb9902725a1ab7c
Merge: 1f9aa66 6ff10c2
Author: Julien Danjou <julien@danjou.info>
Date:   Mon Aug 15 09:11:49 2016 +0200

    Merge pull request #3 from harlowja/use-futs
    
    Use futures

commit 1f9aa665175e31918cfc31a52b49c6a1a41cb747
Merge: 48194e2 e7d2105
Author: Julien Danjou <julien@danjou.info>
Date:   Mon Aug 15 09:09:04 2016 +0200

    Merge pull request #1 from harlowja/docstrings
    
    Add docstring on wait_jitter

commit 6ff10c2c4b82a83e4cae3b2112f80431c1275a79
Author: Joshua Harlow <harlowja@gmail.com>
Date:   Sun Aug 14 23:11:52 2016 -0700

    Use futures
    
    The futures class is pretty much equivalent to the
    attempt class here, so instead of using our ow
    customized version of it, we might as well just use
    it in the first place.

commit e7d21053e9c05dc852de52098aea02323cfd37b9
Author: Joshua Harlow <harlowja@gmail.com>
Date:   Sun Aug 14 22:37:35 2016 -0700

    Add docstring on wait_jitter

commit 48194e2c9ce60948464a65fa47066eb922b57dcd
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 12 18:35:11 2016 +0200

    Allow to specify exp_base
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 06660bcd97fc36644d3d9525576d56b2f7cd0cc5
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 12 16:22:39 2016 +0200

    Simplify wait min/max computing
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 1937f7d01aa786704db1ae76820d292e4d57a0b2
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 12 16:21:02 2016 +0200

    test: add test for RetryError.__str__
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 5cb0e4f61c055f818681d468f6a2023b6146dccc
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 12 16:00:02 2016 +0200

    Always wrap exceptions
    
    But uses raise from.

commit f1055c4d01339d5caecf59fdbec642d685e8d2cd
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 12 15:47:27 2016 +0200

    Add project name in doc
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit a09d31b3da8e3a33d21e055ca522a44a5c355985
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 12 15:41:54 2016 +0200

    Add .tox to .gitignore
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 659e78279c4b067219723121a2620b69ede2d360
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 12 15:41:30 2016 +0200

    Add doc
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 85a4a1a36301a48c457a1549723dbe5698bf818b
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 12 15:30:19 2016 +0200

    Remove retry select strategy, use a functional composition approach

commit 6eddc7ae4381e41b29b11351577dfdbad0afdae3
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 12 14:43:50 2016 +0200

    test: replace assertTrue by assertGreaterEqual

commit b307f4e2cc447d2624ec7af07620eea6d1ab95fc
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 12 11:47:42 2016 +0200

    Make stop have a default value
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit a03c29f03952dd9e513c8ce0b9cd7365984d5718
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 12 11:45:28 2016 +0200

    Make README doc8 compliant
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 9d725dbb1ba07a680941f99b50896f50884e6ba0
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 12 11:44:01 2016 +0200

    Allow to specify sleep function
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit a3e984e41a9f5bbdae1c8e727474bc790c374525
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 12 11:42:43 2016 +0200

    Implement wait strategy combination to replace jitter argument

commit 0ba1f7f0b9b280f76fd12c903e805b8107dac56b
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 12 11:40:53 2016 +0200

    Fix typo in README
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 77e1606933b88a3358bfe50e01dd7d54e0195fc5
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 12 11:14:02 2016 +0200

    Simplify wait strategy picking by forcing a func in kwargs

commit 3b590b8879158e6708229b3587fd68a077cf07cc
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 12 11:13:00 2016 +0200

    Fix stop examples in README
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 43a75cf20fc4342d1a27fda50d3ffb50155678c3
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Aug 12 10:07:56 2016 +0200

    Simplify stop strategy picking by always requiring a function

commit 0195bed3c7596969cc54b689626586cc97f8c907
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 11 18:41:08 2016 +0200

    Add some copyrights
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 6c1392fa101f76930ee85a8379146dbf05e6083d
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 11 18:40:15 2016 +0200

    Depends on nose in tox
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit ccd50ec1a3d4e8336b80406b5e4ddbd1a14a9569
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 11 18:39:28 2016 +0200

    Move some methods to staticmethods
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 2092a48ce60bde5c19d73b8a0269f33df8755300
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 11 18:21:47 2016 +0200

    Fix tox command
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 70d15b35c592a3aaba11dacd11bf478ca42b9b1c
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 11 18:21:27 2016 +0200

    Fix pep8 errors
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit b99a20422219b8b1db7338e453d038b02e75cdd5
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 11 18:08:09 2016 +0200

    Add tox.ini
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 0ec10faab77921cc50ca2f9562e6c422cdc22826
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 11 15:36:32 2016 +0200

    Switch to pbr
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit d5aa9a30e5aad3eaa08e0fc0e8feec0e6811668b
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 11 15:31:06 2016 +0200

    Rename to tenacity
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 88c61fde90115ea6e8d4aae25825b6da8b246dd2
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 11 15:29:00 2016 +0200

    Update README
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit a20f3c1437942e834308a69978027ac33f878bd1
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 11 15:28:53 2016 +0200

    Remove AUTHORS

commit 9d1358242cd0eb908361c50d9c1ac7c44055dcfa
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Aug 11 15:24:23 2016 +0200

    Remove HISTORY.rst
    
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit cb499287a779b711aa5c9be7a281c947d9ea98ee
Author: Joshua Harlow <harlowja@gmail.com>
Date:   Mon Jun 13 23:03:29 2016 -0700

    Declutter __init__ by using strategy selection
    
    Instead of having there be a complicated __init__
    function that has to make a bunch of complicated
    decisions this change moves the logic for making
    those decisions into a set of helper functions that
    now select the various wait/stop/reject strategies
    to use when retrying.
    
    This will hopefully make it easier to add new
    strategies as well as move forward to a path where
    users can provide there own strategies (if they
    so want to).

commit 4240fc6966babc973a3c6b8482925b5cca44d99f
Author: Joshua Harlow <jxharlow@godaddy.com>
Date:   Fri Jun 10 17:43:31 2016 -0700

    Dynamically compute MAX_WAIT

commit 1d5699348d707e377aad7488da6a8a1b48a65933
Merge: 3a435e8 deaa384
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Mon Jun 6 23:02:12 2016 -0500

    Merge pull request #52 from RyPeck/python-3.5
    
    Add Python 3.5

commit 3a435e8ba85d85d7300a3609cb6f3ba8cb4bc170
Merge: 855db16 919d6e0
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Mon Jun 6 22:45:05 2016 -0500

    Merge pull request #37 from harlowja/allow-retry-on-exception-exception-tuple
    
    Allow providing exception tuple for 'retry_on_exception' argument

commit 855db168d38493a1607066b127a6c93d4920371a
Merge: 37b3222 6311fd3
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Sun Jun 5 22:21:29 2016 -0500

    Merge pull request #40 from cyrusd/master
    
    Callbacks for before/after attempts

commit deaa38460aa802552d8bbb641e6171f60b258125
Author: Ryan Peck <ryan@rypeck.com>
Date:   Sun Jun 5 17:15:13 2016 -0400

    Add Python 3.5

commit 37b322221cd5e92221672c3b919c52e00dfd95b4
Merge: ecef4c2 2a84101
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Sun Jun 5 15:34:38 2016 -0500

    Merge pull request #38 from harlowja/incrementing-wait-max
    
    Add a upper bound on incrementing wait

commit ecef4c2d95140a62b41664d3381ecd79fe4244db
Merge: da33537 918fc72
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Sun Jun 5 15:32:56 2016 -0500

    Merge pull request #36 from jd/jd/staticmethod
    
    Declare a few methods static

commit 6311fd38973cb824c57c3cd74b4e44ab1f09d15e
Author: Cyrus Durgin <cyrus@statelessnetworks.com>
Date:   Fri Dec 18 12:49:38 2015 -0800

    updated

commit 6a55573d588e4a817986c8964d97dceb8c46585a
Author: cyrus durgin <cyrusd@gmail.com>
Date:   Thu Sep 10 15:57:35 2015 -0700

    Adds two additional parameters to the Retrying() constructor:
    
        _before_attempts
        _after_attempts
    
    Each of these should be a reference to a function that takes a
    single argument, attempt_number.
    
    _before_attempts will be called before each attempt is run;
    _after_attempts is run after any *unsuccessful* attempt.
    
    Handy for logging status messages, etc in between attempts.

commit 2a84101c9a84e3006624ba14d7779c99fb0ef354
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue Jun 23 18:22:53 2015 -0700

    Add a upper bound on incrementing wait

commit 919d6e0011f2c725e0bf613d8b5fcf7e48b41cce
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue Jun 23 18:15:41 2015 -0700

    Allow providing exception tuple for 'retry_on_exception' argument
    
    It seems like a common pattern to have a function that is used
    that just checks if the exception that is thrown is of a given type
    so to avoid duplicating this pattern by all retry library users
    just natively provide support for it.

commit da33537e0850f997aea75c4dec010e2b5594071f
Author: Ray Holder <ray@blacklocus.com>
Date:   Sun Jun 7 00:06:24 2015 -0500

    bump version up to 1.3.4-dev, align badges in README.rst with a service that still works

commit 918fc72fc199cace94581979dfc3afc3e38bfa66
Author: Julien Danjou <julien@danjou.info>
Date:   Mon Jun 1 17:38:25 2015 +0200

    Declare a few methods static
    
    A few methods are actually static, declare them as such.

commit 3659c70b1f0d0e4f3a262d6b76075a8eb082c73d
Author: Ray Holder <ray@blacklocus.com>
Date:   Sun Dec 14 19:07:01 2014 -0600

    prepare for 1.3.3 release

commit 650688df3cc6a2236830831e8201ba959c51269c
Author: Ray Holder <ray@blacklocus.com>
Date:   Sun Dec 14 19:06:27 2014 -0600

    update history for 1.3.3 release

commit c3b2d302cd90231a5a48bec21acc0358a752e2c7
Author: Ray Holder <ray@blacklocus.com>
Date:   Sun Dec 14 19:05:54 2014 -0600

    add a few more contributors

commit 5cb2c24f3065cf1bfaa4943959e28ea0dad5b184
Merge: 2cd062e 0a3eb6e
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Sun Dec 14 18:42:26 2014 -0600

    Merge pull request #27 from herriojr/master
    
    Adding in minimum version since anything lower doesn't work.

commit 0a3eb6eae1a1a15978d02eec74d5215e5c3a259d
Author: Jonathan Herriott <jherriott@bitcasa.com>
Date:   Wed Nov 19 11:29:31 2014 -0800

    Adding in minimum version since anything lower doesn't work.

commit 2cd062edcb522b37c49e5b693e69d5fa8d6d2437
Author: Ray Holder <ray@blacklocus.com>
Date:   Sun Nov 9 22:26:41 2014 -0600

    prepare for 1.3.2 release

commit 7dea034d806f54d14e6cded57bc50575c138291c
Author: Ray Holder <ray@blacklocus.com>
Date:   Sun Nov 9 22:26:15 2014 -0600

    remove six license boilerplate since we're not embedding it anymore

commit 394ea5b4921ae8ef90d3a38ed4605e285b87610c
Author: Ray Holder <ray@blacklocus.com>
Date:   Sun Nov 9 22:22:33 2014 -0600

    update HISTORY.rst for 1.3.2

commit 7a50d88ad1201f069f2aebf80d3b22b8ef749e43
Merge: 6fa2005 01a2173
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Sun Nov 9 21:13:02 2014 -0600

    Merge pull request #23 from harlowja/jitter
    
    Allow a jitter value to be passed in

commit 6fa200573f667d8ff050b23a0076de42112d7e1b
Author: Ray Holder <ray@blacklocus.com>
Date:   Sun Nov 9 20:52:22 2014 -0600

    adding Maxym Shalenyi to AUTHORS.rst

commit 8fd859896a2e7181515f8f5a924085dcf3613d00
Merge: ad35b7e ee2ae2a
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Sun Nov 9 20:43:07 2014 -0600

    Merge pull request #21 from harlowja/wraps
    
    Ensure we wrap the decorated functions

commit ad35b7e2401574d0e49bce04712f73ad03750a15
Author: Ray Holder <ray@blacklocus.com>
Date:   Sun Nov 9 20:24:34 2014 -0600

    fix up some some pep8 stuff

commit d51fd58129df84615dbb28ed2377301e0fc9fc60
Author: Ray Holder <ray@blacklocus.com>
Date:   Sun Nov 9 20:12:49 2014 -0600

    bump version up to 1.3.2-dev

commit 01a217353220f48167575724a77fa7c4bd527bd4
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Oct 29 19:21:13 2014 -0700

    Allow a jitter value to be passed in
    
    To avoid the thundering herd problem when retrying is
    triggered at exactly the same moment by many entities
    allow for passing in a jitter maximum value which will
    be used to randomly alter the amount of time slept
    by each retrying object user; this helps randomize the
    thundering herd and makes it possible to reduce the
    issue.

commit ee2ae2a9d309132ad7ad2a354f4e3926377634d9
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Oct 3 20:02:20 2014 -0700

    Ensure we wrap the decorated functions
    
    To avoid losing the original functions docs, name
    and other attributes ensure that this correctly uses
    six.wraps (which uses functools.wraps internally) to
    wrap the decorated function.

commit cab083eb5791615fadbc0c98ad77a70d64b77d0d
Merge: 36a09fa 445633f
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Wed Oct 1 00:49:02 2014 -0400

    Merge pull request #19 from emonty/master
    
    Add requirements.txt to MANFEST.in

commit 445633f9221ff6efdbdb7822ff7ab01952396829
Author: Monty Taylor <mordred@inaugust.com>
Date:   Tue Sep 30 19:42:32 2014 -0700

    Add requirements.txt to MANFEST.in
    
    Without this, pip installs of retrying all fail due to requirements.txt
    being missing in the tarball but required by setup.py.

commit 36a09fa4dadb67b81359078c61f418a971f57372
Author: Ray Holder <ray@blacklocus.com>
Date:   Tue Sep 30 19:50:23 2014 -0500

    prepare for 1.3.0 release

commit 3fe643afa78b5e42aa0cdb96c1ec3df638b2be1e
Author: Ray Holder <ray@blacklocus.com>
Date:   Tue Sep 30 19:48:39 2014 -0500

    update AUTHORS.rst to add contributors

commit 8993298992a48d20452cc5b414b11bfb1b4b0dd2
Merge: 30b068f 062c5ba
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Tue Sep 30 20:43:58 2014 -0400

    Merge pull request #16 from hguemar/master
    
    Replaced bundled code with using six

commit 062c5ba16b414770969871b3494f582402476985
Author: Haïkel Guémar <hguemar@fedoraproject.org>
Date:   Fri Sep 5 14:36:25 2014 +0200

    Replaced bundled code with using six

commit 30b068f26af13236e8b50f18feeb237023ab43b1
Author: Ray Holder <ray@blacklocus.com>
Date:   Mon Aug 25 19:46:15 2014 -0500

    update AUTHORS.rst

commit dcc355bc4ed977cafe9244bcbbe1b080799f3abb
Author: Ray Holder <ray@blacklocus.com>
Date:   Mon Aug 25 19:44:05 2014 -0500

    bump version up to 1.2.4-dev

commit fc88833dd769260ef4382914b9922da8980ee6c0
Merge: ce99e6c d59d446
Author: Ray Holder <ray@blacklocus.com>
Date:   Mon Aug 25 19:38:17 2014 -0500

    Merge tag 'v1.2.3'
    
    Release 1.2.3

commit ce99e6ccd29e604bf0549d3de5cc495300e290d7
Merge: 709c177 6504edc
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Mon Aug 25 19:20:16 2014 -0500

    Merge pull request #15 from svisser/patch-1
    
    Ensure file handles are closed using with statement

commit 6504edc5966e597dca703d3a02b1d3f878f5bc9c
Author: Simeon Visser <svisser@users.noreply.github.com>
Date:   Tue Aug 26 01:09:37 2014 +0100

    Ensure file handles are closed using with statement

commit d59d44624ac7b9afa9ecc949873fd29266dfde67
Author: Ray Holder <ray@blacklocus.com>
Date:   Mon Aug 25 18:44:14 2014 -0500

    prepare for 1.2.3 release

commit 6b78d7656864d3b29830b58f2d85312bf19913ba
Author: Ray Holder <ray@blacklocus.com>
Date:   Mon Aug 25 18:22:20 2014 -0500

    add Daniel Nephin to AUTHORS.rst

commit 709c1770aac577307352d2aae525df5d79fb73c5
Merge: 6d8ef5b 8b73aff
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Mon Aug 25 18:12:33 2014 -0500

    Merge pull request #14 from dnephin/custom_wait_and_stop
    
    Support custom wait and stop functions

commit 8b73aff04ee320ce27570c447028c30817f23d1a
Author: Daniel Nephin <dnephin@yelp.com>
Date:   Fri Aug 22 07:31:21 2014 -0700

    Support custom wait and stop functions.

commit 6d8ef5bd03365836910edcd3398331ab22b17c00
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Thu Jun 26 13:39:04 2014 -0500

    bump version to 1.2.3-dev, add 3.3/3.4 classifiers

commit 9a6be782d6618f3d1048b4f5c1226d6aeefc73dd
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Thu Jun 26 13:35:09 2014 -0500

    add Saul Shanabrook to AUTHORS.rst

commit 8cd01a05ba8079c10836bd418b3a051c59f3b639
Merge: 52ebba0 9e60bac
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Thu Jun 26 13:32:46 2014 -0500

    Merge pull request #13 from saulshanabrook/patch-1
    
    Add python 3.3 and 3.4 support

commit 9e60bac40ade07b8d35989f0d45a444cbd7f2740
Author: Saul Shanabrook <s.shanabrook@gmail.com>
Date:   Thu Jun 26 12:46:21 2014 -0400

    Add python 3.3 and 3.4 support

commit 52ebba0af2d1782e74524a90b0309a4b95b3581e
Author: Ray Holder <ray@blacklocus.com>
Date:   Fri Jun 20 02:30:58 2014 -0500

    prepare for 1.2.2 release

commit cc5cc905ea9296613c90e6fde345170b2f281395
Author: Ray Holder <ray@blacklocus.com>
Date:   Fri Jun 20 02:24:55 2014 -0500

    update HISTORY.rst for 1.2.2 release

commit 8ca5b41bcaf6bae12a67627899fe4326d6b7aa44
Author: Ray Holder <ray@blacklocus.com>
Date:   Fri Jun 20 02:16:50 2014 -0500

    add comments from rdooley, add comment around stop behavior

commit e5fc513f5d593c052a537cbb8483d560e0516bbf
Merge: bac9ab8 1ca4a7d
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Fri Jun 20 01:43:48 2014 -0500

    Merge pull request #10 from simondolle/bugfix/#8_raise_retry_error_on_failure
    
    Bugfix/#8 raise retry error on failure

commit 1ca4a7d31d90a17f0cbdd4666e8d9be00f60aa4d
Author: Simon Dollé <simon.dolle@gmail.com>
Date:   Sun Jun 15 16:39:19 2014 +0200

    Update AUTHORS.rst

commit 017dfa7efef5c0d84c83179c08633b82bd9a4eb2
Author: Simon Dollé <simon.dolle@gmail.com>
Date:   Sun Jun 15 16:36:20 2014 +0200

    If possible, raise the last exception when stopping
    
    When we stop retrying because of recurring exceptions,
    we expect the decorator to raise the last exception.
    (if wrap_exception==False)
    This commit fixes issue #8.

commit 868fcd8ede2d72fa5afb0207efbdfb430edeff07
Author: Simon Dollé <simon.dolle@gmail.com>
Date:   Sun Jun 15 16:27:54 2014 +0200

    Test exception type on failure.
    
    When we stop retrying, because of recurring exception
    we expect the decorator to raise the last raised exception
    without any wrapping (if wrap_exception==False)
    cf #8
    We test this behavior in a new unit test.

commit bac9ab8621d54428cdb5f9778acbb121f2e2fa11
Author: Ray Holder <ray@blacklocus.com>
Date:   Mon May 5 12:30:39 2014 -0500

    bump version up to 1.2.2-dev

commit e0ebef9d2b3571be4f788e9d7fa02561d8ecaa8a
Author: Ray Holder <ray@blacklocus.com>
Date:   Mon May 5 12:15:02 2014 -0500

    update HISTORY.rst, bump version up to 1.2.1 for release

commit 036672e4b18ded2b9b0d13a9aa58991a09ff2f53
Merge: c86e061 ff817d9
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Mon May 5 19:11:28 2014 +0200

    Merge pull request #5 from alexkuang/master
    
    Fix AttributeError when explicitly specifying wait type ...

commit ff817d98fc98b722befb3bbb1a6a53cc3f207a5d
Author: Alex Kuang <akuang@bizo.com>
Date:   Mon May 5 08:58:26 2014 -0400

    Fix AttributeError when explicitly specifying wait type, and add appropriate regression tests. (fixes #4)

commit c86e061eaa65b960ce6c56439a05d9f1c9d55717
Author: Ray Holder <ray@blacklocus.com>
Date:   Sun May 4 20:46:54 2014 -0500

    update HISTORY.rst for 1.2.0 release

commit eace177e368b5194db7e83ee2164b157cdea0b95
Author: Ray Holder <ray@blacklocus.com>
Date:   Sun May 4 20:37:59 2014 -0500

    prepare for 1.2.0 release

commit b95ae91b113867264d42081549c09931cce00d4f
Author: Ray Holder <ray@blacklocus.com>
Date:   Sun May 4 20:37:32 2014 -0500

    add a crude check for a custom exception message in the test suite

commit 389d407f9d8faf55917627b77037b003f3a8b4d0
Merge: 6bc111f 5271e77
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Mon May 5 03:15:21 2014 +0200

    Merge pull request #3 from underrun/master
    
    remove need for specification of stop/wait type

commit 5271e7790e9e2bbe52ea03a61c6e1f5d4fc751b1
Author: Derek Wilson <dwilson@domaintools.com>
Date:   Fri May 2 14:52:06 2014 -0700

    remove need for specification of stop/wait type
    
    because it can be inferred from the args passed in

commit 6bc111fd90786a8f137b4b1d44a76bd9e9b4d465
Author: Ray Holder <ray@blacklocus.com>
Date:   Mon Mar 31 01:40:10 2014 -0500

    prepare for 1.1.0 release

commit 553e2221fc7154034a269ea0522d97a58111b292
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Mon Mar 31 01:32:21 2014 -0500

    Update HISTORY.rst

commit 49551b1bc04bd3c0fe227ad0440b0513c2b28062
Merge: f728447 28e56fa
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Mon Mar 31 01:26:01 2014 -0500

    Merge pull request #2 from rholder/1-propagate-tracebacks
    
    propagate complete tracebacks #1

commit 28e56fa56a080153896060eaf41a36c6d1bb707a
Author: Ray Holder <ray@blacklocus.com>
Date:   Mon Mar 31 01:11:32 2014 -0500

    add even moar Python 3.x compatibility hacks from the six project, update license

commit f53a468a6dcd253d56e5e4c9af6ddec13de2ad62
Author: Ray Holder <ray@blacklocus.com>
Date:   Sun Mar 30 22:54:18 2014 -0500

    let's see if Python 3.2.x is happy now...

commit e2ba41fc763884bd07507bc85ef08ef0f93ce3e9
Author: Ray Holder <ray@blacklocus.com>
Date:   Sun Mar 30 22:32:08 2014 -0500

    Fix up Python 2.6 and Python 3.2 compatibility

commit f405d7ecc33cd31cfe8cc60cce70ba78cc444577
Author: Ray Holder <ray@blacklocus.com>
Date:   Sun Mar 30 22:21:53 2014 -0500

    propagate complete tracebacks such that they show up in nested stack frames, adjust api and tests #1

commit f728447c8cc614fbcd056d6f062e4cdd126e7a49
Author: Ray Holder <ray.holder+github@gmail.com>
Date:   Thu Nov 7 18:37:57 2013 -0600

    adding version and download badges

commit 5ac66cf291fa6d017d28a56355cc50f476cc08db
Author: Ray Holder <ray@blacklocus.com>
Date:   Wed Mar 20 03:01:48 2013 -0500

    clean up the classifiers so they appear correctly on pypi, add license metadata, prep for release

commit c88af28dc11b52c471d2d0bbf1ce1a8418c8aa39
Author: Ray Holder <ray@blacklocus.com>
Date:   Wed Mar 20 01:57:21 2013 -0500

    add note about Python 2.x/3.x compatibility and patch up test suite to run under Python 3

commit 8035a32c1bb8f80150498017b1e35815b01790e9
Author: Ray Holder <ray@blacklocus.com>
Date:   Wed Mar 20 01:39:37 2013 -0500

    fixed a bug where classes not extending from the Python exception hierarchy could slip through, preparing for 1.0.1 release

commit a7a6a432530400a67ed33416b5e76727217738fa
Author: Ray Holder <ray@blacklocus.com>
Date:   Tue Jan 22 02:10:36 2013 -0600

    add missing files...

commit 8ee7df072e4e08274ca7e433ac79f02f67b2eaa1
Author: Ray Holder <ray@blacklocus.com>
Date:   Tue Jan 22 01:38:38 2013 -0600

    typo... um... yeah...

commit d51df31bda58254f322c4056d771256210fa8c9a
Author: Ray Holder <ray@blacklocus.com>
Date:   Tue Jan 22 01:35:55 2013 -0600

    clean up RST for PyPI, add some better annotations to examples

commit e9a0bf4e8fd9aa23edb9ff0002fd698d2ce67b89
Author: Ray Holder <ray@blacklocus.com>
Date:   Tue Jan 22 00:54:10 2013 -0600

    Python 3.2 compatibility fix, since we don't have sys.maxint anymore...

commit f2237dfecd96eddd0c02afd3ddc52a5225315a22
Author: Ray Holder <ray@blacklocus.com>
Date:   Tue Jan 22 00:29:33 2013 -0600

    sanitize setup.py one more time before release

commit d2bb0f06f6c06e00126cfda17b67cf6cc3d2a16c
Author: Ray Holder <ray@blacklocus.com>
Date:   Tue Jan 22 00:29:01 2013 -0600

    add a few more tests for some edge cases

commit c4f99b5c0091379d48c2a10481a3c3e241b1592a
Author: Ray Holder <ray@blacklocus.com>
Date:   Tue Jan 22 00:26:39 2013 -0600

    add configurable support for wrapping any raised Exception in a RetryError instead of just raising it directly, add a few more comments

commit b842154ded92ac17b377e7993d9859c5c7744337
Author: Ray Holder <ray@blacklocus.com>
Date:   Tue Jan 22 00:24:52 2013 -0600

    stop committing nonsense examples...

commit 31b33d7f54845974772ccce375d75cd9dae1bc38
Author: Ray Holder <ray@blacklocus.com>
Date:   Tue Jan 22 00:21:17 2013 -0600

    add a bunch of examples since they're more succinct than a full api description

commit 90437ad8b5e05edff4da1d6737ed05aa654818d5
Author: Ray Holder <ray@blacklocus.com>
Date:   Mon Jan 21 18:51:25 2013 -0600

    adding AUTHORS.rst

commit f913c44737febac73b8c752195543456fb2743d1
Author: Ray Holder <ray@blacklocus.com>
Date:   Mon Jan 21 18:49:12 2013 -0600

    flushing out the README.rst a bit more

commit fd4d0e8470a95df48ed0d09f8c23a0054b5bd97d
Author: Ray Holder <ray@blacklocus.com>
Date:   Mon Jan 21 18:47:43 2013 -0600

    default to retry on any exception, handle @retry and @retry() behavior

commit 77ecdf01fd8232551f58649f7e7dcefa80f46257
Author: Ray Holder <ray@blacklocus.com>
Date:   Mon Jan 21 02:15:54 2013 -0600

    update history

commit 4c30bdb48f4e0afb830d8284bdfd42cb20d58d49
Author: Ray Holder <ray@blacklocus.com>
Date:   Mon Jan 21 02:14:31 2013 -0600

    add test suite, clean up packaging

commit a6e0b2e702df5bb7f479ebd7e0ca3ced88e483b8
Author: Ray Holder <ray@blacklocus.com>
Date:   Mon Jan 21 02:12:21 2013 -0600

    ignore packaging and pyc's

commit 8c7f48d5f1a475c5e544eb7304634a36557bed21
Author: Ray Holder <ray@blacklocus.com>
Date:   Mon Jan 21 02:11:32 2013 -0600

    add Travis CI support

commit a56a5741f72d043a21c10c880d14b492e92ad448
Author: Ray Holder <ray@blacklocus.com>
Date:   Sat Jan 19 23:36:02 2013 -0600

    drop in an __init__.py

commit da5e3e9778e135997f3a795bcbebd7ecd0748f82
Author: Ray Holder <ray@blacklocus.com>
Date:   Sat Jan 19 23:34:41 2013 -0600

    adding HISTORY.rst

commit 946c3ff731247e589a0c19997ce6f1dd7691032d
Author: Ray Holder <ray@blacklocus.com>
Date:   Sat Jan 19 23:06:53 2013 -0600

    clean up some TODO's and comments

commit bf2248c2dd504e14c17ad741e60771a4a3586e48
Author: Ray Holder <ray@blacklocus.com>
Date:   Sat Jan 19 22:56:10 2013 -0600

    adding first stable implementation, reasonable passing test coverage

commit 987c363146ff8a8e05f048571995987b1e5310a9
Author: Ray Holder <ray@blacklocus.com>
Date:   Sat Jan 19 22:54:58 2013 -0600

    add minimal readme

commit 6317adfe060fd4437ac4cacab879df3ac4179901
Author: Ray Holder <ray@blacklocus.com>
Date:   Sat Jan 19 22:37:34 2013 -0600

    add license and other project boilerplate
