Hello community,

here is the log from the commit of package python-hypothesis for 
openSUSE:Factory checked in at 2019-06-13 22:38:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-hypothesis (Old)
 and      /work/SRC/openSUSE:Factory/.python-hypothesis.new.4811 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-hypothesis"

Thu Jun 13 22:38:29 2019 rev:37 rq:708933 version:4.24.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-hypothesis/python-hypothesis.changes      
2019-05-17 23:37:19.726104138 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-hypothesis.new.4811/python-hypothesis.changes
    2019-06-13 22:38:30.720280574 +0200
@@ -1,0 +2,23 @@
+Sat Jun  8 23:18:22 UTC 2019 - Arun Persaud <[email protected]>
+
+- update to version 4.24.3:
+  * This patch improves the implementation of an internal wrapper on
+    Python 3.8 beta1 (and will break on the alphas; but they’re not
+    meant to be stable). On other versions, there is no change at
+    all. Thanks to Daniel Hahler for the patch, and Victor Stinner for
+    his work on bpo-37032 that made it possible.
+
+-------------------------------------------------------------------
+Thu Jun  6 09:01:21 UTC 2019 - Ondřej Súkup <[email protected]>
+
+- update to 4.24.2
+ * Deprecation messages for functions in hypothesis.extra.django.models
+   now explicitly name the deprecated function to make it easier to track down 
usages. 
+ * a spurious bug raised when a @st.composite function was passed a 
keyword-only argument.
+ * deprecates GenericStateMachine, in favor of RuleBasedStateMachine.
+ * This patch clarifies some error messages when the test function signature
+   is incompatible with the arguments to @given, especially when the 
@settings()
+   decorator is also used
+ * ixes a minor formatting issue the docstring of from_type()
+
+-------------------------------------------------------------------

Old:
----
  hypothesis-python-4.23.4.tar.gz

New:
----
  hypothesis-python-4.24.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-hypothesis.spec ++++++
--- /var/tmp/diff_new_pack.ZoAGpA/_old  2019-06-13 22:38:31.228280403 +0200
+++ /var/tmp/diff_new_pack.ZoAGpA/_new  2019-06-13 22:38:31.232280402 +0200
@@ -28,7 +28,7 @@
 %endif
 %bcond_without python2
 Name:           python-hypothesis%{psuffix}
-Version:        4.23.4
+Version:        4.24.3
 Release:        0
 Summary:        A library for property based testing
 License:        MPL-2.0

++++++ hypothesis-python-4.23.4.tar.gz -> hypothesis-python-4.24.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hypothesis-hypothesis-python-4.23.4/CONTRIBUTING.rst 
new/hypothesis-hypothesis-python-4.24.3/CONTRIBUTING.rst
--- old/hypothesis-hypothesis-python-4.23.4/CONTRIBUTING.rst    2019-05-09 
08:15:59.000000000 +0200
+++ new/hypothesis-hypothesis-python-4.24.3/CONTRIBUTING.rst    2019-06-07 
08:14:08.000000000 +0200
@@ -234,6 +234,7 @@
 * `Karthikeyan Singaravelan <https://www.github.com/tirkarthi>`_ 
([email protected])
 * `Katrina Durance <https://github.com/kdurance>`_
 * `kbara <https://www.github.com/kbara>`_
+* `Kristian Glass <https://www.github.com/doismellburning>`_
 * `Kyle Reeve <https://www.github.com/kreeve>`_ ([email protected])
 * `Lee Begg <https://www.github.com/llnz2>`_
 * `Lisa Goeller <https://www.github.com/lgoeller>`_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/.coveragerc 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/.coveragerc
--- old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/.coveragerc       
2019-05-09 08:15:59.000000000 +0200
+++ new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/.coveragerc       
2019-06-07 08:14:08.000000000 +0200
@@ -22,3 +22,4 @@
     __deepcopy__
     except ImportError:
     if PY2:
+    assert all\(.+\)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/docs/changes.rst 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/docs/changes.rst
--- old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/docs/changes.rst  
2019-05-09 08:15:59.000000000 +0200
+++ new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/docs/changes.rst  
2019-06-07 08:14:08.000000000 +0200
@@ -21,6 +21,104 @@
 You should generally assume that an API is internal unless you have specific
 information to the contrary.
 
+.. _v4.24.3:
+
+-------------------
+4.24.3 - 2019-06-07
+-------------------
+
+This patch improves the implementation of an internal wrapper on Python 3.8
+beta1 (and will break on the alphas; but they're not meant to be stable).
+On other versions, there is no change at all.
+
+Thanks to Daniel Hahler for the patch, and Victor Stinner for his work
+on :bpo:`37032` that made it possible.
+
+.. _v4.24.2:
+
+-------------------
+4.24.2 - 2019-06-06
+-------------------
+
+Deprecation messages for functions in ``hypothesis.extra.django.models`` now
+explicitly name the deprecated function to make it easier to track down usages.
+Thanks to Kristian Glass for this contribution!
+
+.. _v4.24.1:
+
+-------------------
+4.24.1 - 2019-06-04
+-------------------
+
+This patch fixes :issue:`1999`, a spurious bug raised when a 
:func:`@st.composite <hypothesis.strategies.composite>` function was passed a 
keyword-only argument.
+
+Thanks to Jim Nicholls for his fantastic bug report.
+
+.. _v4.24.0:
+
+-------------------
+4.24.0 - 2019-05-29
+-------------------
+
+This release deprecates ``GenericStateMachine``, in favor of
+:class:`~hypothesis.stateful.RuleBasedStateMachine`.  Rule-based stateful
+testing is significantly faster, especially during shrinking.
+
+If your use-case truly does not fit rule-based stateful testing,
+we recommend writing a custom test function which drives your specific
+control-flow using :func:`~hypothesis.strategies.data`.
+
+.. _v4.23.9:
+
+-------------------
+4.23.9 - 2019-05-28
+-------------------
+
+This patch fixes a very rare example database issue with file permissions.
+
+When running a test that uses both :func:`@given <hypothesis.given>`
+and ``pytest.mark.parametrize``, using :pypi:`pytest-xdist` on Windows,
+with failing examples in the database, two attempts to read a file could
+overlap and we caught ``FileNotFound`` but not other ``OSError``\ s.
+
+.. _v4.23.8:
+
+-------------------
+4.23.8 - 2019-05-26
+-------------------
+
+This patch has a minor cleanup of the internal engine.
+There is no user-visible impact.
+
+.. _v4.23.7:
+
+-------------------
+4.23.7 - 2019-05-26
+-------------------
+
+This patch clarifies some error messages when the test function signature
+is incompatible with the arguments to :func:`@given <hypothesis.given>`,
+especially when the :obj:`@settings() <hypothesis.settings>` decorator
+is also used (:issue:`1978`).
+
+.. _v4.23.6:
+
+-------------------
+4.23.6 - 2019-05-19
+-------------------
+
+This release adds the :pypi:`pyupgrade` fixer to our code style,
+for consistent use of dict and set literals and comprehensions.
+
+.. _v4.23.5:
+
+-------------------
+4.23.5 - 2019-05-16
+-------------------
+
+This release slightly simplifies a small part of the core engine.
+There is no user-visible change.
+
 .. _v4.23.4:
 
 -------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/docs/stateful.rst 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/docs/stateful.rst
--- old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/docs/stateful.rst 
2019-05-09 08:15:59.000000000 +0200
+++ new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/docs/stateful.rst 
2019-06-07 08:14:08.000000000 +0200
@@ -333,82 +333,10 @@
 Generic state machines
 ----------------------
 
-The class :class:`~hypothesis.stateful.GenericStateMachine` is the underlying 
machinery of stateful testing
-in Hypothesis. Chances are you will want to use the rule based stateful testing
-for most things, but the generic state machine functionality can be useful 
e.g. if
-you want to test things where the set of actions to be taken is more closely
-tied to the state of the system you are testing.
-
-.. note::
-    GenericStateMachine is a *very* thin wrapper around :func:`@given 
<hypothesis.given>`
-    and :func:`~hypothesis.strategies.data`.  Consider using those primitives 
directly,
-    as the resulting tests are usually easier to write, understand, and debug.
-    GenericStateMachine only exists because it predates 
:func:`~hypothesis.strategies.data`,
-    and will be deprecated and removed in a future version (:issue:`1693`).
-
-.. module:: hypothesis.stateful
-.. autoclass:: GenericStateMachine
-    :members: steps, execute_step, check_invariants, teardown
-
-For example, here we use stateful testing as a sort of link checker, to test
-`hypothesis.works <https://hypothesis.works>`_ for broken links or links that
-use HTTP instead of HTTPS.
-
-.. code:: python
-
-  from hypothesis.stateful import GenericStateMachine
-  import hypothesis.strategies as st
-  from requests_html import HTMLSession
-
-
-  class LinkChecker(GenericStateMachine):
-      def __init__(self):
-          super(LinkChecker, self).__init__()
-          self.session = HTMLSession()
-          self.result = None
-
-      def steps(self):
-          if self.result is None:
-              # Always start on the home page
-              return st.just("https://hypothesis.works/";)
-          else:
-              return st.sampled_from([
-                  l
-                  for l in self.result.html.absolute_links
-                  # Don't try to crawl to other people's sites
-                  if l.startswith("https://hypothesis.works";) and
-                  # Avoid Cloudflare's bot protection. We are a bot but we 
don't
-                  # care about the info it's hiding.
-                  '/cdn-cgi/' not in l
-              ])
-
-      def execute_step(self, step):
-          self.result = self.session.get(step)
-
-          assert self.result.status_code == 200
-
-          for l in self.result.html.absolute_links:
-              # All links should be HTTPS
-              assert "https://hypothesis.works/"; not in l
-
-
-  TestLinks = LinkChecker.TestCase
-
-Running this (at the time of writing this documentation) produced the following
-output:
-
-::
-
-  AssertionError: assert 'https://hypothesis.works/' not in 
'http://hypoth...test-fixtures/'
-  'https://hypothesis.works/' is contained here:
-    https://hypothesis.works/articles/hypothesis-pytest-fixtures/
-  ? +++++++++++++++++++++++++
-
-    ------------ Hypothesis ------------
-
-  Step #1: 'https://hypothesis.works/'
-  Step #2: 'https://hypothesis.works/articles/'
+.. warning::
+    ``GenericStateMachine`` is deprecated and will be removed in a future 
version.
 
+.. autoclass:: hypothesis.stateful.GenericStateMachine
 
 -------------------------
 More fine grained control
@@ -416,7 +344,7 @@
 
 If you want to bypass the TestCase infrastructure you can invoke these
 manually. The stateful module exposes the function 
``run_state_machine_as_test``,
-which takes an arbitrary function returning a GenericStateMachine and an
+which takes an arbitrary function returning a RuleBasedStateMachine and an
 optional settings parameter and does the same as the class based runTest
 provided.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/_strategies.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/_strategies.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/_strategies.py
     2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/_strategies.py
     2019-06-07 08:14:08.000000000 +0200
@@ -1236,7 +1236,7 @@
             "builds(), but is only allowed as a keyword arg"
         )
     required = required_args(target, args, kwargs) or set()
-    to_infer = set(k for k, v in kwargs.items() if v is infer)
+    to_infer = {k for k, v in kwargs.items() if v is infer}
     if required or to_infer:
         if isclass(target) and attr.has(target):
             # Use our custom introspection for attrs classes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/core.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/core.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/core.py
    2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/core.py
    2019-06-07 08:14:08.000000000 +0200
@@ -230,6 +230,7 @@
         def wrapped_test(*arguments, **kwargs):
             raise InvalidArgument(message)
 
+        wrapped_test.is_hypothesis_test = True
         return wrapped_test
 
     if not (generator_arguments or generator_kwargs):
@@ -244,12 +245,11 @@
         )
 
     if len(generator_arguments) > len(original_argspec.args):
+        args = tuple(generator_arguments)
         return invalid(
-            (
-                "Too many positional arguments for %s() (got %d but"
-                " expected at most %d"
-            )
-            % (name, len(generator_arguments), len(original_argspec.args))
+            "Too many positional arguments for %s() were passed to @given "
+            "- expected at most %d arguments, but got %d %r"
+            % (name, len(original_argspec.args), len(args), args)
         )
 
     if infer in generator_arguments:
@@ -266,16 +266,15 @@
         if k not in original_argspec.args + original_argspec.kwonlyargs
     ]
     if extra_kwargs and not original_argspec.varkw:
+        arg = extra_kwargs[0]
         return invalid(
-            "%s() got an unexpected keyword argument %r" % (name, 
extra_kwargs[0])
+            "%s() got an unexpected keyword argument %r, from `%s=%r` in 
@given"
+            % (name, arg, arg, generator_kwargs[arg])
         )
     for a in original_argspec.args:
         if isinstance(a, list):  # pragma: no cover
             return invalid(
-                (
-                    "Cannot decorate function %s() because it has "
-                    "destructuring arguments"
-                )
+                "Cannot decorate function %s() because it has destructuring 
arguments"
                 % (name,)
             )
     if original_argspec.defaults or original_argspec.kwonlydefaults:
@@ -424,7 +423,7 @@
     import unittest
 
     # This is a set because nose may simply re-export unittest.SkipTest
-    exceptions = set([unittest.SkipTest])
+    exceptions = {unittest.SkipTest}
 
     try:  # pragma: no cover
         from unittest2 import SkipTest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/database.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/database.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/database.py
        2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/database.py
        2019-06-07 08:14:08.000000000 +0200
@@ -24,7 +24,7 @@
 
 from hypothesis.configuration import storage_directory
 from hypothesis.errors import HypothesisException, HypothesisWarning
-from hypothesis.internal.compat import FileNotFoundError, hbytes
+from hypothesis.internal.compat import hbytes
 from hypothesis.utils.conventions import not_set
 
 
@@ -171,7 +171,7 @@
             try:
                 with open(os.path.join(kp, path), "rb") as i:
                     yield hbytes(i.read())
-            except FileNotFoundError:
+            except EnvironmentError:
                 pass
 
     def save(self, key, value):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/extra/django/models.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/extra/django/models.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/extra/django/models.py
     2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/extra/django/models.py
     2019-06-07 08:14:08.000000000 +0200
@@ -34,7 +34,7 @@
 def add_default_field_mapping(field_type, strategy):
     # type: (Type[dm.Field], st.SearchStrategy[Any]) -> None
     note_deprecation(
-        "This function is deprecated; use `hypothesis.extra.django."
+        "`hypothesis.extra.django.models.add_default_field_mapping` is 
deprecated; use `hypothesis.extra.django."
         "register_field_strategy` instead.",
         since="2019-01-10",
     )
@@ -76,7 +76,7 @@
       shop_strategy = models(Shop, company=models(Company))
     """
     note_deprecation(
-        "This function is deprecated; use `hypothesis.extra.django."
+        "`hypothesis.extra.django.models.models` is deprecated; use 
`hypothesis.extra.django."
         "from_model` instead.",
         since="2019-01-10",
     )
@@ -93,7 +93,7 @@
     if missed:
         raise InvalidArgument(
             u"Missing arguments for mandatory field%s %s for model %s"
-            % (u"s" if missed else u"", u", ".join(missed), model.__name__)
+            % (u"s" if len(missed) > 1 else u"", u", ".join(missed), 
model.__name__)
         )
 
     for field in result:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/extra/numpy.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/extra/numpy.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/extra/numpy.py
     2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/extra/numpy.py
     2019-06-07 08:14:08.000000000 +0200
@@ -493,7 +493,7 @@
             valid_sizes,
         )
         if all(isinstance(s, int) for s in sizes):
-            sizes = sorted(set(s // 8 for s in sizes))
+            sizes = sorted({s // 8 for s in sizes})
     strat = st.sampled_from(sizes)
     if "{}" not in kind:
         kind += "{}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/internal/compat.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/internal/compat.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/internal/compat.py
 2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/internal/compat.py
 2019-06-07 08:14:08.000000000 +0200
@@ -374,6 +374,9 @@
         "co_cellvars",
     ]
 else:
+    # This field order is accurate for 3.5 - 3.7, but not 3.8 when a new field
+    # was added for positional-only arguments.  However it also added a 
.replace()
+    # method that we use instead of field indices, so they're fine as-is.
     CODE_FIELD_ORDER = [
         "co_argcount",
         "co_kwonlyargcount",
@@ -392,10 +395,6 @@
         "co_cellvars",
     ]
 
-    if sys.version_info >= (3, 8, 0):
-        # PEP 570 added "positional only arguments"
-        CODE_FIELD_ORDER.insert(1, "co_posonlyargcount")
-
 
 def update_code_location(code, newfile, newlineno):
     """Take a code object and lie shamelessly about where it comes from.
@@ -407,6 +406,12 @@
     code you're probably here because it's broken something and now
     you're angry at me. Sorry.
     """
+    if hasattr(code, "replace"):
+        # Python 3.8 added positional-only params (PEP 570), and thus changed
+        # the layout of code objects.  In beta1, the `.replace()` method was
+        # added to facilitate future-proof code.  See BPO-37032 for details.
+        return code.replace(co_filename=newfile, co_firstlineno=newlineno)
+
     unpacked = [getattr(code, name) for name in CODE_FIELD_ORDER]
     unpacked[CODE_FIELD_ORDER.index("co_filename")] = newfile
     unpacked[CODE_FIELD_ORDER.index("co_firstlineno")] = newlineno
@@ -525,27 +530,6 @@
     return it
 
 
-if PY3:
-    FileNotFoundError = FileNotFoundError  # type: Type[IOError]
-else:
-    FileNotFoundError = IOError
-
-# We need to know what sort of exception gets thrown when you try to write over
-# an existing file where you're not allowed to. This is rather less consistent
-# between versions than might be hoped.
-if PY3:
-    FileExistsError = FileExistsError  # type: Type[IOError]
-
-elif WINDOWS:
-    FileExistsError = WindowsError
-
-else:
-    # This doesn't happen in this case: We're not on windows and don't support
-    # the x flag because it's Python 2, so there are no places where this can
-    # be thrown.
-    FileExistsError = None
-
-
 # Under Python 2, math.floor and math.ceil return floats, which cannot
 # represent large integers - eg `float(2**53) == float(2**53 + 1)`.
 # We therefore implement them entirely in (long) integer operations.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/internal/conjecture/engine.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/internal/conjecture/engine.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/internal/conjecture/engine.py
      2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/internal/conjecture/engine.py
      2019-06-07 08:14:08.000000000 +0200
@@ -503,9 +503,6 @@
 
         return mutate_from
 
-    def __rewrite(self, data, result):
-        return self.__zero_bound(data, result)
-
     def __zero_bound(self, data, result):
         """This tries to get the size of the generated data under control by
         replacing the result with zero if we are too deep or have already
@@ -741,7 +738,7 @@
                     result = buffer[data.index : data.index + n]
                     if len(result) < n:
                         result += hbytes(n - len(result))
-                    return self.__rewrite(data, result)
+                    return self.__zero_bound(data, result)
 
                 data = self.new_conjecture_data(draw_bytes=draw_bytes)
                 self.test_function(data)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/internal/conjecture/utils.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/internal/conjecture/utils.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/internal/conjecture/utils.py
       2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/internal/conjecture/utils.py
       2019-06-07 08:14:08.000000000 +0200
@@ -154,25 +154,12 @@
     return values[integer_range(data, 0, len(values) - 1)]
 
 
-def getrandbits(data, n):
-    # This method is equivalent to data.draw_bits(n) except that it fails
-    # to set the mask. This method should die but is currently maintaining
-    # bugwards compatibility with some oddities of behaviour that we've
-    # not yet fully debugged. See
-    # https://github.com/HypothesisWorks/hypothesis/issues/1827
-    # for details.
-    n_bytes = n // 8
-    if n % 8 != 0:
-        n_bytes += 1
-    return data.draw_bits(n_bytes * 8) & ((1 << n) - 1)
-
-
 FLOAT_PREFIX = 0b1111111111 << 52
 FULL_FLOAT = int_to_float(FLOAT_PREFIX | ((2 << 53) - 1)) - 1
 
 
 def fractional_float(data):
-    return (int_to_float(FLOAT_PREFIX | getrandbits(data, 52)) - 1) / 
FULL_FLOAT
+    return (int_to_float(FLOAT_PREFIX | data.draw_bits(52)) - 1) / FULL_FLOAT
 
 
 def boolean(data):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/internal/reflection.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/internal/reflection.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/internal/reflection.py
     2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/internal/reflection.py
     2019-06-07 08:14:08.000000000 +0200
@@ -182,7 +182,7 @@
             else:
                 raise TypeError("No value provided for argument %r" % 
(arg_name))
 
-    if kwargs and not argspec.varkw:
+    if kwargs and not (argspec.varkw or argspec.kwonlyargs):
         if len(kwargs) > 1:
             raise TypeError(
                 "%s() got unexpected keyword arguments %s"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/searchstrategy/collections.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/searchstrategy/collections.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/searchstrategy/collections.py
      2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/searchstrategy/collections.py
      2019-06-07 08:14:08.000000000 +0200
@@ -188,7 +188,7 @@
             except TypeError:
                 self.keys = tuple(sorted(strategy_dict.keys(), key=repr))
         super(FixedKeysDictStrategy, self).__init__(
-            strategy=TupleStrategy((strategy_dict[k] for k in self.keys))
+            strategy=TupleStrategy(strategy_dict[k] for k in self.keys)
         )
 
     def calc_is_empty(self, recur):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/searchstrategy/regex.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/searchstrategy/regex.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/searchstrategy/regex.py
    2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/searchstrategy/regex.py
    2019-06-07 08:14:08.000000000 +0200
@@ -36,16 +36,16 @@
 
 SPACE_CHARS = set(u" \t\n\r\f\v")
 UNICODE_SPACE_CHARS = SPACE_CHARS | set(u"\x1c\x1d\x1e\x1f\x85")
-UNICODE_DIGIT_CATEGORIES = set(["Nd"])
+UNICODE_DIGIT_CATEGORIES = {"Nd"}
 UNICODE_SPACE_CATEGORIES = set(as_general_categories("Z"))
 UNICODE_LETTER_CATEGORIES = set(as_general_categories("L"))
 UNICODE_WORD_CATEGORIES = set(as_general_categories(["L", "N"]))
 
 # This is verbose, but correct on all versions of Python
-BYTES_ALL = set(int_to_byte(i) for i in range(256))
-BYTES_DIGIT = set(b for b in BYTES_ALL if re.match(b"\\d", b))
-BYTES_SPACE = set(b for b in BYTES_ALL if re.match(b"\\s", b))
-BYTES_WORD = set(b for b in BYTES_ALL if re.match(b"\\w", b))
+BYTES_ALL = {int_to_byte(i) for i in range(256)}
+BYTES_DIGIT = {b for b in BYTES_ALL if re.match(b"\\d", b)}
+BYTES_SPACE = {b for b in BYTES_ALL if re.match(b"\\s", b)}
+BYTES_WORD = {b for b in BYTES_ALL if re.match(b"\\w", b)}
 BYTES_LOOKUP = {
     sre.CATEGORY_DIGIT: BYTES_DIGIT,
     sre.CATEGORY_SPACE: BYTES_SPACE,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/stateful.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/stateful.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/stateful.py
        2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/stateful.py
        2019-06-07 08:14:08.000000000 +0200
@@ -89,7 +89,17 @@
     @given(st.data())
     def run_state_machine(factory, data):
         machine = factory()
-        check_type(GenericStateMachine, machine, "state_machine_factory()")
+        if isinstance(machine, GenericStateMachine) and not isinstance(
+            machine, RuleBasedStateMachine
+        ):
+            note_deprecation(
+                "%s inherits from GenericStateMachine, which is deprecated.  
Use a "
+                "RuleBasedStateMachine, or a test function with st.data(), 
instead."
+                % (type(machine).__name__,),
+                since="2019-05-29",
+            )
+        else:
+            check_type(RuleBasedStateMachine, machine, 
"state_machine_factory()")
         data.conjecture_data.hypothesis_runner = machine
 
         n_steps = settings.stateful_step_count
@@ -150,25 +160,28 @@
 class GenericStateMachine(
     GenericStateMachineMeta("GenericStateMachine", (object,), {})  # type: 
ignore
 ):
-    """A GenericStateMachine is the basic entry point into Hypothesis's
-    approach to stateful testing.
-
-    The intent is for it to be subclassed to provide state machine descriptions
-
-    The way this is used is that Hypothesis will repeatedly execute something
-    that looks something like::
-
-        x = MyStatemachineSubclass()
-        x.check_invariants()
-        try:
-            for _ in range(n_steps):
-                x.execute_step(x.steps().example())
-                x.check_invariants()
-        finally:
-            x.teardown()
+    """A GenericStateMachine is a deprecated approach to stateful testing.
 
-    And if this ever produces an error it will shrink it down to a small
-    sequence of example choices demonstrating that.
+    In earlier versions of Hypothesis, you would define ``steps``,
+    ``execute_step``, ``teardown``, and ``check_invariants`` methods;
+    and the engine would then run something like the following::
+
+        @given(st.data())
+        def test_the_stateful_thing(data):
+            x = MyStatemachineSubclass()
+            x.check_invariants()
+            try:
+                for _ in range(50):
+                    step = data.draw(x.steps())
+                    x.execute_step(step)
+                    x.check_invariants()
+            finally:
+                x.teardown()
+
+    We now recommend using rule-based stateful testing instead wherever
+    possible.  If your test is better expressed in the above format than
+    as a rule-based state machine, we suggest "unrolling" your method
+    definitions into a simple test function with the above control flow.
     """
 
     def steps(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/version.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/version.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/src/hypothesis/version.py
 2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/src/hypothesis/version.py
 2019-06-07 08:14:08.000000000 +0200
@@ -17,5 +17,5 @@
 
 from __future__ import absolute_import, division, print_function
 
-__version_info__ = (4, 23, 4)
+__version_info__ = (4, 24, 3)
 __version__ = ".".join(map(str, __version_info__))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/common/utils.py 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/common/utils.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/common/utils.py 
    2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/common/utils.py 
    2019-06-07 08:14:08.000000000 +0200
@@ -130,7 +130,7 @@
 
 
 def all_values(db):
-    return set(v for vs in db.data.values() for v in vs)
+    return {v for vs in db.data.values() for v in vs}
 
 
 def non_covering_examples(database):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/cover/test_conjecture_engine.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/cover/test_conjecture_engine.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/cover/test_conjecture_engine.py
     2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/cover/test_conjecture_engine.py
     2019-06-07 08:14:08.000000000 +0200
@@ -46,7 +46,7 @@
 from hypothesis.internal.conjecture.utils import Sampler, calc_label_from_name
 from hypothesis.internal.entropy import deterministic_PRNG
 from tests.common.strategies import SLOW, HardToShrink
-from tests.common.utils import no_shrink
+from tests.common.utils import counts_calls, no_shrink
 
 SOME_LABEL = calc_label_from_name("some label")
 
@@ -1615,3 +1615,48 @@
         runner.run()
         assert runner.tree.is_exhausted
         assert runner.valid_examples == 2
+
+
[email protected](
+    "pass_name",
+    [
+        "pass_to_descendant",
+        "adaptive_example_deletion",
+        "zero_examples",
+        "minimize_floats",
+        "example_deletion_with_block_lowering",
+        "reorder_examples",
+    ],
+)
+def test_shrinker_skips_stale_examples(monkeypatch, pass_name):
+    # Pretend that all example identifiers are stale, to test that this case
+    # is handled cleanly.
+    monkeypatch.setattr(
+        Shrinker, "example_for_stable_identifier", counts_calls(lambda self, 
x: None)
+    )
+
+    # For "example_deletion_with_block_lowering", also pretend that all blocks
+    # are shrinking blocks, so that steps can be generated.
+    monkeypatch.setattr(
+        Shrinker, "is_shrinking_block", counts_calls(lambda self, i: True)
+    )
+
+    # Declare a test function that should satisfy step generation for all of
+    # the relevant shrink passes.
+    @shrinking_from([255] * 5)
+    def shrinker(data):
+        total = 0
+        data.start_example(0)
+        for _ in range(5):
+            data.start_example(0)
+            total += data.draw_bits(8)
+            data.stop_example(0)
+        data.stop_example(0)
+
+        data.mark_interesting()
+
+    # Run the shrink pass; this should not throw.
+    shrinker.fixate_shrink_passes([pass_name])
+
+    # Confirm that the pass had to deal with stale examples.
+    assert Shrinker.example_for_stable_identifier.calls > 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/cover/test_conjecture_test_data.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/cover/test_conjecture_test_data.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/cover/test_conjecture_test_data.py
  2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/cover/test_conjecture_test_data.py
  2019-06-07 08:14:08.000000000 +0200
@@ -161,8 +161,8 @@
 
     assert len(d.examples) == 6
 
-    depths = set((ex.length, ex.depth) for ex in d.examples)
-    assert depths == set([(2, 1), (3, 2), (6, 2), (9, 1), (12, 1), (23, 0)])
+    depths = {(ex.length, ex.depth) for ex in d.examples}
+    assert depths == {(2, 1), (3, 2), (6, 2), (9, 1), (12, 1), (23, 0)}
 
 
 def test_has_examples_even_when_empty():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/cover/test_conjecture_utils.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/cover/test_conjecture_utils.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/cover/test_conjecture_utils.py
      2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/cover/test_conjecture_utils.py
      2019-06-07 08:14:08.000000000 +0200
@@ -26,7 +26,6 @@
 from hypothesis.internal.compat import hbytes, hrange
 from hypothesis.internal.conjecture.data import ConjectureData
 from hypothesis.internal.coverage import IN_COVERAGE_TESTS
-from tests.cover.test_conjecture_engine import run_to_buffer
 
 
 def test_does_draw_data_for_empty_range():
@@ -147,12 +146,3 @@
         calculated[base] += (1 - p_alternate) / n
         calculated[alternate] += p_alternate / n
     assert probabilities == calculated
-
-
-def test_get_randbits_can_set_high_bit():
-    @run_to_buffer
-    def x(data):
-        if cu.getrandbits(data, 8) >> 7:
-            data.mark_interesting()
-
-    assert x == hbytes([1 << 7])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/cover/test_example.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/cover/test_example.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/cover/test_example.py
       2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/cover/test_example.py
       2019-06-07 08:14:08.000000000 +0200
@@ -48,7 +48,7 @@
 
 def test_does_not_always_give_the_same_example():
     s = st.integers()
-    assert len(set(s.example() for _ in range(100))) >= 10
+    assert len({s.example() for _ in range(100)}) >= 10
 
 
 def test_raises_on_no_examples():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/cover/test_explicit_examples.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/cover/test_explicit_examples.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/cover/test_explicit_examples.py
     2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/cover/test_explicit_examples.py
     2019-06-07 08:14:08.000000000 +0200
@@ -112,7 +112,7 @@
         seen.append(x)
 
     test_not_long_str()
-    assert set(seen[:2]) == set((long_str, short_str))
+    assert set(seen[:2]) == {long_str, short_str}
 
 
 @pytest.mark.parametrize((u"x", u"y"), [(1, False), (2, True)])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/cover/test_pretty.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/cover/test_pretty.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/cover/test_pretty.py
        2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/cover/test_pretty.py
        2019-06-07 08:14:08.000000000 +0200
@@ -249,11 +249,11 @@
     objects = [
         set(),
         frozenset(),
-        set([1]),
+        {1},
         frozenset([1]),
-        set([1, 2]),
+        {1, 2},
         frozenset([1, 2]),
-        set([-1, -2, -3]),
+        {-1, -2, -3},
     ]
     expected = [
         "set()",
@@ -270,14 +270,14 @@
 
 
 def test_unsortable_set():
-    xs = set([1, 2, 3, "foo", "bar", "baz", object()])
+    xs = {1, 2, 3, "foo", "bar", "baz", object()}
     p = pretty.pretty(xs)
     for x in xs:
         assert pretty.pretty(x) in p
 
 
 def test_unsortable_dict():
-    xs = dict((k, 1) for k in [1, 2, 3, "foo", "bar", "baz", object()])
+    xs = {k: 1 for k in [1, 2, 3, "foo", "bar", "baz", object()]}
     p = pretty.pretty(xs)
     for x in xs:
         assert pretty.pretty(x) in p
@@ -389,7 +389,7 @@
 
 
 def test_long_dict():
-    d = dict((n, n) for n in range(10000))
+    d = {n: n for n in range(10000)}
     p = pretty.pretty(d)
     last2 = p.rsplit("\n", 2)[-2:]
     assert_equal(last2, [" 999: 999,", " ...}"])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/cover/test_regressions.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/cover/test_regressions.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/cover/test_regressions.py
   2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/cover/test_regressions.py
   2019-06-07 08:14:08.000000000 +0200
@@ -82,7 +82,7 @@
 
 def test_regression_issue_1230():
     strategy = st.builds(
-        lambda x, y: dict((list(x.items()) + list(y.items()))),
+        lambda x, y: dict(list(x.items()) + list(y.items())),
         st.fixed_dictionaries({"0": st.text()}),
         st.builds(
             lambda dictionary, keys: {key: dictionary[key] for key in keys},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/cover/test_runner_strategy.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/cover/test_runner_strategy.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/cover/test_runner_strategy.py
       2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/cover/test_runner_strategy.py
       2019-06-07 08:14:08.000000000 +0200
@@ -23,7 +23,7 @@
 
 from hypothesis import find, given, strategies as st
 from hypothesis.errors import InvalidArgument
-from hypothesis.stateful import GenericStateMachine
+from hypothesis.stateful import RuleBasedStateMachine, rule
 
 
 def test_cannot_use_without_a_runner():
@@ -60,12 +60,10 @@
         assert runner is self
 
 
-class RunnerStateMachine(GenericStateMachine):
-    def steps(self):
-        return st.runner()
-
-    def execute_step(self, step):
-        assert self is step
+class RunnerStateMachine(RuleBasedStateMachine):
+    @rule(runner=st.runner())
+    def step(self, runner):
+        assert runner is self
 
 
 TestState = RunnerStateMachine.TestCase
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/cover/test_stateful.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/cover/test_stateful.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/cover/test_stateful.py
      2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/cover/test_stateful.py
      2019-06-07 08:14:08.000000000 +0200
@@ -26,7 +26,6 @@
 from hypothesis import (
     PrintSettings,
     __version__,
-    assume,
     reproduce_failure,
     seed,
     settings as Settings,
@@ -93,22 +92,6 @@
         self.counter = step
 
 
-class GoodSet(GenericStateMachine):
-    def __init__(self):
-        self.stuff = set()
-
-    def steps(self):
-        return tuples(booleans(), integers())
-
-    def execute_step(self, step):
-        delete, value = step
-        if delete:
-            self.stuff.discard(value)
-        else:
-            self.stuff.add(value)
-        assert delete == (value not in self.stuff)
-
-
 Leaf = namedtuple(u"Leaf", (u"label",))
 Split = namedtuple(u"Split", (u"left", u"right"))
 
@@ -247,8 +230,6 @@
 
 
 bad_machines = (
-    OrderedStateMachine,
-    SetStateMachine,
     BalancedTrees,
     DepthMachine,
     RoseTreeStateMachine,
@@ -296,17 +277,9 @@
     assert "rule2data" in output
 
 
-class GivenLikeStateMachine(GenericStateMachine):
-    def steps(self):
-        return lists(booleans(), min_size=1)
-
-    def execute_step(self, step):
-        assume(any(step))
-
-
 def test_can_get_test_case_off_machine_instance():
-    assert GoodSet().TestCase is GoodSet().TestCase
-    assert GoodSet().TestCase is not None
+    assert SetStateMachine().TestCase is SetStateMachine().TestCase
+    assert SetStateMachine().TestCase is not None
 
 
 class FlakyDrawLessMachine(GenericStateMachine):
@@ -323,6 +296,7 @@
             assert 0 not in bytearray(step)
 
 
+@checks_deprecated_behaviour
 def test_flaky_draw_less_raises_flaky():
     with raises(Flaky):
         FlakyDrawLessMachine.TestCase().runTest()
@@ -336,6 +310,7 @@
         assert current_build_context().is_final
 
 
+@checks_deprecated_behaviour
 def test_flaky_raises_flaky():
     with raises(Flaky):
         FlakyStateMachine.TestCase().runTest()
@@ -424,6 +399,7 @@
         consumes(integers())
 
 
+@checks_deprecated_behaviour
 def test_ratchetting_raises_flaky():
     with raises(Flaky):
         FlakyRatchettingMachine.TestCase().runTest()
@@ -471,20 +447,12 @@
 )
 
 
-TestGoodSets = GoodSet.TestCase
-TestGivenLike = GivenLikeStateMachine.TestCase
 TestDynamicMachine = DynamicMachine.TestCase
 TestIntAdder = IntAdder.TestCase
 TestPrecondition = PreconditionMachine.TestCase
 
 
-for test_case in (
-    TestGoodSets,
-    TestGivenLike,
-    TestDynamicMachine,
-    TestIntAdder,
-    TestPrecondition,
-):
+for test_case in (TestDynamicMachine, TestIntAdder, TestPrecondition):
     test_case.settings = Settings(test_case.settings, max_examples=10)
 
 
@@ -502,6 +470,7 @@
     assert len(Foo.rules()) == 2
 
 
+@checks_deprecated_behaviour
 def test_minimizes_errors_in_teardown():
     counter = [0]
 
@@ -536,11 +505,13 @@
             raise ValueError(u"%d is too high" % (value,))
 
 
+@checks_deprecated_behaviour
 def test_can_use_factory_for_tests():
     with raises(ValueError):
         run_state_machine_as_test(lambda: RequiresInit(42))
 
 
+@Settings(stateful_step_count=5)
 class FailsEventually(GenericStateMachine):
     def __init__(self):
         super(FailsEventually, self).__init__()
@@ -554,14 +525,9 @@
         assert self.counter < 10
 
 
-FailsEventually.TestCase.settings = Settings(
-    FailsEventually.TestCase.settings, stateful_step_count=5
-)
-
-TestDoesNotFail = FailsEventually.TestCase
-
-
+@checks_deprecated_behaviour
 def test_can_explicitly_pass_settings():
+    run_state_machine_as_test(FailsEventually)
     try:
         FailsEventually.TestCase.settings = Settings(
             FailsEventually.TestCase.settings, stateful_step_count=15
@@ -595,6 +561,7 @@
         FailsEventually.TestCase.settings = real_settings
 
 
+@checks_deprecated_behaviour
 def test_saves_failing_example_in_database():
     db = ExampleDatabase(":memory:")
     with raises(AssertionError):
@@ -602,6 +569,7 @@
     assert any(list(db.data.values()))
 
 
+@checks_deprecated_behaviour
 def test_can_run_with_no_db():
     with raises(AssertionError):
         run_state_machine_as_test(SetStateMachine, Settings(database=None))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/nocover/test_collective_minimization.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/nocover/test_collective_minimization.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/nocover/test_collective_minimization.py
     2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/nocover/test_collective_minimization.py
     2019-06-07 08:14:08.000000000 +0200
@@ -50,6 +50,6 @@
             settings=settings(max_examples=2000),
         )
         assert len(xs) == n
-        assert 2 <= len(set((map(repr, xs)))) <= 3
+        assert 2 <= len(set(map(repr, xs))) <= 3
     except NoSuchExample:
         pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/nocover/test_flatmap.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/nocover/test_flatmap.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/nocover/test_flatmap.py
     2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/nocover/test_flatmap.py
     2019-06-07 08:14:08.000000000 +0200
@@ -99,7 +99,7 @@
 
     result = minimal(s, criterion)
     assert len(result) == 6
-    assert set(result) == set([False, u""])
+    assert set(result) == {False, u""}
 
 
 @pytest.mark.parametrize("n", range(1, 10))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/nocover/test_pretty_repr.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/nocover/test_pretty_repr.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/nocover/test_pretty_repr.py
 2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/nocover/test_pretty_repr.py
 2019-06-07 08:14:08.000000000 +0200
@@ -94,7 +94,7 @@
 )
 
 
-strategy_globals = dict((k, getattr(st, k)) for k in dir(st))
+strategy_globals = {k: getattr(st, k) for k in dir(st)}
 
 strategy_globals["OrderedDict"] = OrderedDict
 strategy_globals["inf"] = float("inf")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/nocover/test_testdecorators.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/nocover/test_testdecorators.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/nocover/test_testdecorators.py
      2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/nocover/test_testdecorators.py
      2019-06-07 08:14:08.000000000 +0200
@@ -18,7 +18,7 @@
 from __future__ import absolute_import, division, print_function
 
 from hypothesis import HealthCheck, given, reject, settings
-from hypothesis.errors import Unsatisfiable
+from hypothesis.errors import InvalidArgument, Unsatisfiable
 from hypothesis.strategies import integers
 from tests.common.utils import raises
 
@@ -44,3 +44,20 @@
     with raises(Unsatisfiable) as e:
         Foo().this_has_a_unique_name_and_lives_on_a_class()
     assert (Foo.this_has_a_unique_name_and_lives_on_a_class.__name__) in 
e.value.args[0]
+
+
+def test_signature_mismatch_error_message():
+    # Regression test for issue #1978
+
+    @settings(max_examples=2)
+    @given(x=integers())
+    def bad_test():
+        pass
+
+    try:
+        bad_test()
+    except InvalidArgument as e:
+        assert (
+            str(e) == "bad_test() got an unexpected keyword argument 'x', "
+            "from `x=integers()` in @given"
+        )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/numpy/test_gen_data.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/numpy/test_gen_data.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/numpy/test_gen_data.py
      2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/numpy/test_gen_data.py
      2019-06-07 08:14:08.000000000 +0200
@@ -466,7 +466,7 @@
     min_size = data.draw(st.integers(0, ndim), label="min_size")
     max_size = data.draw(st.integers(min_size, ndim), label="max_size")
     axes = data.draw(nps.valid_tuple_axes(ndim, min_size, max_size), 
label="axes")
-    assert len(set(axes)) == len(set([i if 0 < i else ndim + i for i in axes]))
+    assert len(set(axes)) == len({i if 0 < i else ndim + i for i in axes})
 
 
 @given(ndim=st.integers(0, 5), data=st.data())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/pandas/test_indexes.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/pandas/test_indexes.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/pandas/test_indexes.py
      2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/pandas/test_indexes.py
      2019-06-07 08:14:08.000000000 +0200
@@ -24,7 +24,7 @@
 import hypothesis.extra.numpy as npst
 import hypothesis.extra.pandas as pdst
 import hypothesis.strategies as st
-from hypothesis import HealthCheck, assume, given, reject, settings
+from hypothesis import HealthCheck, given, reject, settings
 from hypothesis.errors import NoExamples
 from tests.pandas.helpers import supported_by_pandas
 
@@ -72,13 +72,17 @@
     min_size = data.draw(st.integers(0, 10), "min_size")
     max_size = data.draw(st.none() | st.integers(min_size, min_size + 10), 
"max_size")
     unique = data.draw(st.booleans(), "unique")
-    dtype = data.draw(npst.scalar_dtypes(), "dtype")
-    assume(supported_by_pandas(dtype))
-
-    # Pandas bug: https://github.com/pandas-dev/pandas/pull/14916 until 0.20;
-    # then int64 indexes are inferred from uint64 values.
-    assume(dtype.kind != "u")
-
+    dtype = data.draw(
+        st.one_of(
+            npst.boolean_dtypes(),
+            npst.integer_dtypes(endianness="="),
+            npst.floating_dtypes(endianness="="),
+            npst.complex_number_dtypes(endianness="="),
+            npst.datetime64_dtypes(endianness="="),
+            npst.timedelta64_dtypes(endianness="="),
+        ).filter(supported_by_pandas),
+        "dtype",
+    )
     pass_elements = data.draw(st.booleans(), "pass_elements")
 
     converted_dtype = pandas.Index([], dtype=dtype).dtype
@@ -109,8 +113,7 @@
         else:
             raise
     if dtype is None:
-        if pandas.__version__ >= "0.19":
-            assert index.dtype == inferred_dtype
+        assert index.dtype == inferred_dtype
     else:
         assert index.dtype == converted_dtype
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/py3/test_composite_kwonlyargs.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/py3/test_composite_kwonlyargs.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/py3/test_composite_kwonlyargs.py
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/py3/test_composite_kwonlyargs.py
    2019-06-07 08:14:08.000000000 +0200
@@ -0,0 +1,38 @@
+# coding=utf-8
+#
+# This file is part of Hypothesis, which may be found at
+# https://github.com/HypothesisWorks/hypothesis/
+#
+# Most of this work is copyright (C) 2013-2019 David R. MacIver
+# ([email protected]), but it contains contributions by others. See
+# CONTRIBUTING.rst for a full list of people who may hold copyright, and
+# consult the git log if you need to determine who owns an individual
+# contribution.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public License,
+# v. 2.0. If a copy of the MPL was not distributed with this file, You can
+# obtain one at https://mozilla.org/MPL/2.0/.
+#
+# END HEADER
+
+from __future__ import absolute_import, division, print_function
+
+from hypothesis import given, strategies as st
+
+# Tests that convert_keyword_arguments in reflection.py can handle
+# composites that only have keyword-only arguments.
+# See https://github.com/HypothesisWorks/hypothesis/issues/1999
+
+
[email protected]
+def kwonlyargs_composites(draw, *, kwarg1=None):
+    return draw(st.fixed_dictionaries({"kwarg1": st.just(kwarg1), "i": 
st.integers()}))
+
+
+@given(
+    st.lists(
+        st.one_of(kwonlyargs_composites(kwarg1="test")), unique_by=lambda x: 
x["i"]
+    )
+)
+def test_composite_with_keyword_only_args(a):
+    assert True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/pytest/test_statistics.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/pytest/test_statistics.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/pytest/test_statistics.py
   2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/pytest/test_statistics.py
   2019-06-07 08:14:08.000000000 +0200
@@ -98,17 +98,11 @@
 
 
 STATEFUL_TESTSUITE = """
+from hypothesis.stateful import RuleBasedStateMachine, rule
 
-from hypothesis import given
-from hypothesis.strategies import integers
-from hypothesis.stateful import GenericStateMachine
-
-
-class Stuff(GenericStateMachine):
-    def steps(self):
-        return integers()
-
-    def execute_step(self, step):
+class Stuff(RuleBasedStateMachine):
+    @rule()
+    def step(self):
         pass
 
 TestStuff = Stuff.TestCase
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/quality/test_shrink_quality.py
 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/quality/test_shrink_quality.py
--- 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-python/tests/quality/test_shrink_quality.py
      2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-python/tests/quality/test_shrink_quality.py
      2019-06-07 08:14:08.000000000 +0200
@@ -73,7 +73,7 @@
 
 def test_minimize_mixed_list():
     mixed = minimal(lists(integers() | text()), lambda x: len(x) >= 10)
-    assert set(mixed).issubset(set((0, u"")))
+    assert set(mixed).issubset({0, u""})
 
 
 def test_minimize_longer_string():
@@ -85,14 +85,11 @@
 
 
 def test_minimize_3_set():
-    assert minimal(sets(integers()), lambda x: len(x) >= 3) in (
-        set((0, 1, 2)),
-        set((-1, 0, 1)),
-    )
+    assert minimal(sets(integers()), lambda x: len(x) >= 3) in ({0, 1, 2}, 
{-1, 0, 1})
 
 
 def test_minimize_3_set_of_tuples():
-    assert minimal(sets(tuples(integers())), lambda x: len(x) >= 2) == 
set(((0,), (1,)))
+    assert minimal(sets(tuples(integers())), lambda x: len(x) >= 2) == {(0,), 
(1,)}
 
 
 def test_minimize_sets_of_sets():
@@ -163,7 +160,7 @@
         lambda t: len(t) >= 3,
     )
     assert isinstance(x, dict_class)
-    assert set(x.values()) == set((u"",))
+    assert set(x.values()) == {u""}
     for k in x:
         if k < 0:
             assert k + 1 in x
@@ -301,7 +298,7 @@
 def test_minimize_list_of_sets():
     assert minimal(
         lists(sets(booleans())), lambda x: len(list(filter(None, x))) >= 3
-    ) == ([set((False,))] * 3)
+    ) == ([{False}] * 3)
 
 
 def test_minimize_list_of_lists():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/hypothesis-ruby/README.markdown 
new/hypothesis-hypothesis-python-4.24.3/hypothesis-ruby/README.markdown
--- old/hypothesis-hypothesis-python-4.23.4/hypothesis-ruby/README.markdown     
2019-05-09 08:15:59.000000000 +0200
+++ new/hypothesis-hypothesis-python-4.24.3/hypothesis-ruby/README.markdown     
2019-06-07 08:14:08.000000000 +0200
@@ -32,7 +32,7 @@
 
       values.delete_at(values.index(to_remove))
 
-      # Will fail if the value ws duplicated in the list.
+      # Will fail if the value was duplicated in the list.
       expect(values.include?(to_remove)).to be false
       
     end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/requirements/coverage.txt 
new/hypothesis-hypothesis-python-4.24.3/requirements/coverage.txt
--- old/hypothesis-hypothesis-python-4.23.4/requirements/coverage.txt   
2019-05-09 08:15:59.000000000 +0200
+++ new/hypothesis-hypothesis-python-4.24.3/requirements/coverage.txt   
2019-06-07 08:14:08.000000000 +0200
@@ -2,11 +2,11 @@
 # This file is autogenerated by pip-compile
 # To update, run:
 #
-#    pip-compile requirements/coverage.in --output-file 
requirements/coverage.txt
+#    pip-compile --output-file=requirements/coverage.txt 
requirements/coverage.in
 #
 coverage==4.5.3
 lark-parser==0.7.1
-numpy==1.16.3
+numpy==1.16.4
 pandas==0.24.2
 python-dateutil==2.8.0    # via pandas
 pytz==2019.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/requirements/test.txt 
new/hypothesis-hypothesis-python-4.24.3/requirements/test.txt
--- old/hypothesis-hypothesis-python-4.23.4/requirements/test.txt       
2019-05-09 08:15:59.000000000 +0200
+++ new/hypothesis-hypothesis-python-4.24.3/requirements/test.txt       
2019-06-07 08:14:08.000000000 +0200
@@ -2,17 +2,22 @@
 # This file is autogenerated by pip-compile
 # To update, run:
 #
-#    pip-compile requirements/test.in --output-file requirements/test.txt
+#    pip-compile --output-file=requirements/test.txt requirements/test.in
 #
 apipkg==1.5               # via execnet
 atomicwrites==1.3.0       # via pytest
 attrs==19.1.0
 execnet==1.6.0            # via pytest-xdist
-mock==3.0.4
+importlib-metadata==0.17  # via pluggy, pytest
+mock==3.0.5
 more-itertools==5.0.0
-pluggy==0.9.0             # via pytest
+packaging==19.0           # via pytest
+pluggy==0.12.0            # via pytest
 py==1.8.0                 # via pytest
+pyparsing==2.4.0          # via packaging
 pytest-forked==1.0.2      # via pytest-xdist
 pytest-xdist==1.28.0
-pytest==4.4.1
-six==1.12.0               # via mock, more-itertools, pytest, pytest-xdist
+pytest==4.6.1
+six==1.12.0               # via mock, more-itertools, packaging, pytest, 
pytest-xdist
+wcwidth==0.1.7            # via pytest
+zipp==0.5.1               # via importlib-metadata
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/requirements/tools.in 
new/hypothesis-hypothesis-python-4.24.3/requirements/tools.in
--- old/hypothesis-hypothesis-python-4.23.4/requirements/tools.in       
2019-05-09 08:15:59.000000000 +0200
+++ new/hypothesis-hypothesis-python-4.24.3/requirements/tools.in       
2019-06-07 08:14:08.000000000 +0200
@@ -19,6 +19,7 @@
 pylint
 pytest
 python-dateutil
+pyupgrade
 pyupio
 requests
 restructuredtext-lint
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/requirements/tools.txt 
new/hypothesis-hypothesis-python-4.24.3/requirements/tools.txt
--- old/hypothesis-hypothesis-python-4.23.4/requirements/tools.txt      
2019-05-09 08:15:59.000000000 +0200
+++ new/hypothesis-hypothesis-python-4.24.3/requirements/tools.txt      
2019-06-07 08:14:08.000000000 +0200
@@ -2,7 +2,7 @@
 # This file is autogenerated by pip-compile
 # To update, run:
 #
-#    pip-compile requirements/tools.in --output-file requirements/tools.txt
+#    pip-compile --output-file=requirements/tools.txt requirements/tools.in
 #
 alabaster==0.7.12         # via sphinx
 appdirs==1.4.3            # via black
@@ -10,9 +10,9 @@
 atomicwrites==1.3.0       # via pytest
 attrs==19.1.0
 autoflake==1.3
-babel==2.6.0              # via sphinx
+babel==2.7.0              # via sphinx
 backcall==0.1.0           # via ipython
-bandit==1.5.1
+bandit==1.6.0
 black==19.3b0
 bleach==3.1.0             # via readme-renderer
 certifi==2019.3.9         # via requests
@@ -21,12 +21,12 @@
 coverage==4.5.3
 decorator==4.4.0          # via ipython, traitlets
 deprecated==1.2.5         # via pygithub
-django==2.2.1
+django==2.2.2
 docutils==0.14            # via readme-renderer, restructuredtext-lint, sphinx
 dparse==0.4.1             # via pyupio, safety
 dpcontracts==0.6.0
 entrypoints==0.3          # via flake8
-filelock==3.0.10          # via tox
+filelock==3.0.12          # via tox
 flake8-alfred==1.1.1
 flake8-docstrings==1.3.0
 flake8-polyfill==1.0.2    # via flake8-docstrings
@@ -35,28 +35,29 @@
 gitpython==2.1.11         # via bandit
 idna==2.8                 # via requests
 imagesize==1.1.0          # via sphinx
+importlib-metadata==0.17  # via pluggy, pytest
 ipython-genutils==0.2.0   # via traitlets
 ipython==7.5.0
-isort==4.3.18
+isort==4.3.20
 jedi==0.13.3              # via ipython
 jinja2==2.10.1            # via pyupio, sphinx
 lark-parser==0.7.1
-lazy-object-proxy==1.3.1  # via astroid
+lazy-object-proxy==1.4.1  # via astroid
 markupsafe==1.1.1         # via jinja2
 mccabe==0.6.1             # via flake8, pylint
-mock==3.0.4
+mock==3.0.5
 more-itertools==5.0.0
 mypy-extensions==0.4.1    # via mypy
 mypy==0.701
-numpy==1.16.3
-packaging==19.0           # via dparse, pyupio, safety, sphinx
+numpy==1.16.4
+packaging==19.0           # via dparse, pytest, pyupio, safety, sphinx
 parso==0.4.0              # via jedi
-pbr==5.2.0                # via stevedore
+pbr==5.2.1                # via stevedore
 pexpect==4.7.0            # via ipython
 pickleshare==0.7.5        # via ipython
-pip-tools==3.6.1
+pip-tools==3.7.0
 pkginfo==1.5.0.1          # via twine
-pluggy==0.9.0             # via pytest, tox
+pluggy==0.12.0            # via pytest, tox
 prompt-toolkit==2.0.9     # via ipython
 ptyprocess==0.6.0         # via pexpect
 py==1.8.0                 # via pytest, tox
@@ -64,26 +65,27 @@
 pydocstyle==3.0.0         # via flake8-docstrings
 pyflakes==2.1.1           # via autoflake, flake8
 pygithub==1.43.7          # via pyupio
-pygments==2.3.1           # via ipython, readme-renderer, sphinx
+pygments==2.4.2           # via ipython, readme-renderer, sphinx
 pyjwt==1.7.1              # via pygithub
 pylint==2.3.1
 pyparsing==2.4.0          # via packaging
-pytest==4.4.1
+pytest==4.6.1
 python-dateutil==2.8.0
 python-gitlab==1.8.0      # via pyupio
 pytz==2019.1              # via babel, django
+pyupgrade==1.18.0
 pyupio==1.0.2
 pyyaml==5.1               # via bandit, dparse, pyupio
 readme-renderer==24.0     # via twine
 requests-toolbelt==0.9.1  # via twine
-requests==2.21.0
+requests==2.22.0
 restructuredtext-lint==1.3.0
 safety==1.8.5             # via pyupio
 six==1.12.0               # via astroid, bandit, bleach, dparse, mock, 
more-itertools, packaging, pip-tools, prompt-toolkit, pydocstyle, pytest, 
python-dateutil, python-gitlab, pyupio, readme-renderer, stevedore, tox, 
traitlets
 smmap2==2.0.5             # via gitdb2
 snowballstemmer==1.2.1    # via pydocstyle, sphinx
 sphinx-rtd-theme==0.4.3
-sphinx==2.0.1
+sphinx==2.1.0
 sphinxcontrib-applehelp==1.0.1  # via sphinx
 sphinxcontrib-devhelp==1.0.1  # via sphinx
 sphinxcontrib-htmlhelp==1.0.2  # via sphinx
@@ -92,14 +94,16 @@
 sphinxcontrib-serializinghtml==1.1.3  # via sphinx
 sqlparse==0.3.0           # via django
 stevedore==1.30.1         # via bandit
+tokenize-rt==2.2.0        # via pyupgrade
 toml==0.10.0
-tox==3.9.0
-tqdm==4.31.1              # via pyupio, twine
+tox==3.12.1
+tqdm==4.32.1              # via pyupio, twine
 traitlets==4.3.2          # via ipython
 twine==1.13.0
 typed-ast==1.3.5          # via astroid, mypy
-urllib3==1.24.3           # via requests
-virtualenv==16.5.0        # via tox
-wcwidth==0.1.7            # via prompt-toolkit
+urllib3==1.25.3           # via requests
+virtualenv==16.6.0        # via tox
+wcwidth==0.1.7            # via prompt-toolkit, pytest
 webencodings==0.5.1       # via bleach
 wrapt==1.11.1             # via astroid, deprecated
+zipp==0.5.1               # via importlib-metadata
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/requirements/typing.txt 
new/hypothesis-hypothesis-python-4.24.3/requirements/typing.txt
--- old/hypothesis-hypothesis-python-4.23.4/requirements/typing.txt     
2019-05-09 08:15:59.000000000 +0200
+++ new/hypothesis-hypothesis-python-4.24.3/requirements/typing.txt     
2019-06-07 08:14:08.000000000 +0200
@@ -2,6 +2,6 @@
 # This file is autogenerated by pip-compile
 # To update, run:
 #
-#    pip-compile requirements/typing.in --output-file requirements/typing.txt
+#    pip-compile --output-file=requirements/typing.txt requirements/typing.in
 #
 typing==3.6.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hypothesis-hypothesis-python-4.23.4/tooling/src/hypothesistooling/__main__.py
 
new/hypothesis-hypothesis-python-4.24.3/tooling/src/hypothesistooling/__main__.py
--- 
old/hypothesis-hypothesis-python-4.23.4/tooling/src/hypothesistooling/__main__.py
   2019-05-09 08:15:59.000000000 +0200
+++ 
new/hypothesis-hypothesis-python-4.24.3/tooling/src/hypothesistooling/__main__.py
   2019-06-07 08:14:08.000000000 +0200
@@ -232,6 +232,7 @@
         "--remove-unused-variables",
         *files_to_format,
     )
+    pip_tool("pyupgrade", "--keep-percent-format", *files_to_format)
     pip_tool("isort", *files_to_format)
     pip_tool("black", *files_to_format)
 


Reply via email to