{"action":"created","issue":{"url":"https://api.github.com/repos/kragniz/python-etcd3/issues/221","repository_url":"https://api.github.com/repos/kragniz/python-etcd3","labels_url":"https://api.github.com/repos/kragniz/python-etcd3/issues/221/labels{/name}","comments_url":"https://api.github.com/repos/kragniz/python-etcd3/issues/221/comments","events_url":"https://api.github.com/repos/kragniz/python-etcd3/issues/221/events","html_url":"https://github.com/kragniz/python-etcd3/pull/221","id":255322285,"number":221,"title":"Update hypothesis to 3.23.3","user":{"login":"pyup-bot","id":16239342,"avatar_url":"https://avatars0.githubusercontent.com/u/16239342?v=4","gravatar_id":"","url":"https://api.github.com/users/pyup-bot","html_url":"https://github.com/pyup-bot","followers_url":"https://api.github.com/users/pyup-bot/followers","following_url":"https://api.github.com/users/pyup-bot/following{/other_user}","gists_url":"https://api.github.com/users/pyup-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/pyup-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pyup-bot/subscriptions","organizations_url":"https://api.github.com/users/pyup-bot/orgs","repos_url":"https://api.github.com/users/pyup-bot/repos","events_url":"https://api.github.com/users/pyup-bot/events{/privacy}","received_events_url":"https://api.github.com/users/pyup-bot/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-09-05T15:43:12Z","updated_at":"2017-09-05T16:08:20Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/kragniz/python-etcd3/pulls/221","html_url":"https://github.com/kragniz/python-etcd3/pull/221","diff_url":"https://github.com/kragniz/python-etcd3/pull/221.diff","patch_url":"https://github.com/kragniz/python-etcd3/pull/221.patch"},"body":"\nThere's a new version of [hypothesis](https://pypi.python.org/pypi/hypothesis) available.\nYou are currently using **3.11.6**. I have updated it to **3.23.3**\n\n\n\nThese links might come in handy:  <a href=\"https://pypi.python.org/pypi/hypothesis\">PyPI</a> | <a href=\"https://pyup.io/changelogs/hypothesis/\">Changelog</a> | <a href=\"https://github.com/HypothesisWorks/hypothesis/issues\">Repo</a> \n\n\n\n### Changelog\n> \n>### 3.23.3\n\n>-------------------\n\n>This is a bugfix release for :func:`~hypothesis.strategies.decimals`\n>with the ``places`` argument.\n\n>- No longer fails health checks (:issue:`725`, due to internal filtering)\n>- Specifying a ``min_value`` and ``max_value`` without any decimals with\n>  ``places`` places between them gives a more useful error message.\n>- Works for any valid arguments, regardless of the decimal precision context.\n\n>-------------------\n\n\n>### 3.23.2\n\n>-------------------\n\n>This is a small refactoring release that removes a now-unused parameter to an\n>internal API. It shouldn&#39;t have any user visible effect.\n\n>-------------------\n\n\n>### 3.23.1\n\n>-------------------\n\n>Hypothesis no longer propagates the dynamic scope of settings into strategy\n>definitions.\n\n>This release is a small change to something that was never part of the public\n>API and you will almost certainly not notice any effect unless you&#39;re doing\n>something surprising, but for example the following code will now give a\n>different answer in some circumstances:\n\n>.. code-block:: python\n\n>    import hypothesis.strategies as st\n>    from hypothesis import settings\n\n>    CURRENT_SETTINGS = st.builds(lambda: settings.default)\n\n>(We don&#39;t actually encourage you writing code like this)\n\n>Previously this would have generated the settings that were in effect at the\n>point of definition of ``CURRENT_SETTINGS``. Now it will generate the settings\n>that are used for the current test.\n\n>It is very unlikely to be significant enough to be visible, but you may also\n>notice a small performance improvement.\n\n>-------------------\n\n\n>### 3.23.0\n\n>-------------------\n\n>This release adds a ``unique`` argument to :func:`~hypothesis.extra.numpy.arrays`\n>which behaves the same ways as the corresponding one for\n>:func:`~hypothesis.strategies.lists`, requiring all of the elements in the\n>generated array to be distinct.\n\n>-------------------\n\n\n>### 3.22.2\n\n>-------------------\n\n>This release fixes an issue where Hypothesis would raise a ``TypeError`` when\n>using the datetime-related strategies if running with ``PYTHONOPTIMIZE=2``.\n>This bug was introduced in v3.20.0.  (See :issue:`822`)\n\n>-------------------\n\n\n>### 3.22.1\n\n>-------------------\n\n>Hypothesis now transparently handles problems with an internal unicode cache,\n>including file truncation or read-only filesystems (:issue:`767`).\n>Thanks to Sam Hames for the patch.\n\n>-------------------\n\n\n>### 3.22.0\n\n>-------------------\n\n>This release provides what should be a substantial performance improvement to\n>numpy arrays generated using :ref:`provided numpy support &lt;hypothesis-numpy&gt;`,\n>and adds a new ``fill_value`` argument to :func:`~hypothesis.extra.numpy.arrays`\n>to control this behaviour.\n\n>This work was funded by `Stripe &lt;https://stripe.com/&gt;`_.\n\n>-------------------\n\n\n>### 3.21.3\n\n>-------------------\n\n>This release fixes some extremely specific circumstances that probably have\n>never occurred in the wild where users of\n>:func:`~hypothesis.searchstrategy.deferred` might have seen a RuntimeError from\n>too much recursion, usually in cases where no valid example could have been\n>generated anyway.\n\n>-------------------\n\n\n>### 3.21.2\n\n>-------------------\n\n>This release fixes some minor bugs in argument validation:\n\n>    * :ref:`hypothesis.extra.numpy &lt;hypothesis-numpy&gt;` dtype strategies would raise an internal error\n>      instead of an InvalidArgument exception when passed an invalid\n>      endianness specification.\n>    * :func:`~hypothesis.strategies.fractions` would raise an internal error instead of an InvalidArgument\n>      if passed ``float(&quot;nan&quot;)`` as one of its bounds.\n>    * The error message for passing ``float(&quot;nan&quot;)`` as a bound to various\n>      strategies has been improved.\n>    * Various bound arguments will now raise InvalidArgument in cases where\n>      they would previously have raised an internal TypeError or\n>      ValueError from the relevant conversion function.\n>    * :func:`~hypothesis.strategies.streaming` would not have emitted a\n>      deprecation warning when called with an invalid argument.\n\n>-------------------\n\n\n>### 3.21.1\n\n>-------------------\n\n>This release fixes a bug where test failures that were the result of\n>an example would print an extra stack trace before re-raising the\n>exception.\n\n>-------------------\n\n\n>### 3.21.0\n\n>-------------------\n\n>This release deprecates Hypothesis&#39;s strict mode, which turned Hypothesis&#39;s\n>deprecation warnings into errors. Similar functionality can be achieved\n>by using :func:`simplefilter(&#39;error&#39;, HypothesisDeprecationWarning) &lt;python:warnings.simplefilter&gt;`.\n\n>-------------------\n\n\n>### 3.20.0\n\n>-------------------\n\n>This release renames the relevant arguments on the\n>:func:`~hypothesis.strategies.datetimes`, :func:`~hypothesis.strategies.dates`,\n>:func:`~hypothesis.strategies.times`, and :func:`~hypothesis.strategies.timedeltas`\n>strategies to ``min_value`` and ``max_value``, to make them consistent with the\n>other strategies in the module.\n\n>The old argument names are still supported but will emit a deprecation warning\n>when used explicitly as keyword arguments. Arguments passed positionally will\n>go to the new argument names and are not deprecated.\n\n>-------------------\n\n\n>### 3.19.3\n\n>-------------------\n\n>This release provides a major overhaul to the internals of how Hypothesis\n>handles shrinking.\n\n>This should mostly be visible in terms of getting better examples for tests\n>which make heavy use of :func:`~hypothesis.strategies.composite`,\n>:ref:`data &lt;interactive-draw&gt;` or :ref:`flatmap &lt;flatmap&gt;` where the data\n>drawn depends a lot on previous choices, especially where size parameters are\n>affected. Previously Hypothesis would have struggled to reliably produce\n>good examples here. Now it should do much better. Performance should also be\n>better for examples with a non-zero ``min_size``.\n\n>You may see slight changes to example generation (e.g. improved example\n>diversity) as a result of related changes to internals, but they are unlikely\n>to be significant enough to notice.\n\n>-------------------\n\n\n>### 3.19.2\n\n>-------------------\n\n>This release fixes two bugs in ``hypothesis.extra.numpy``:\n\n>* :func:`~hypothesis.extra.numpy.unicode_string_dtypes` didn&#39;t work at all due\n>  to an incorrect dtype specifier. Now it does.\n>* Various impossible conditions would have been accepted but would error when\n>  they fail to produced any example. Now they raise an explicit InvalidArgument\n>  error.\n\n>-------------------\n\n\n>### 3.19.1\n\n>-------------------\n\n>This is a bugfix release for :issue:`739`, where bounds for\n>:func:`~hypothesis.strategies.fractions` or floating-point\n>:func:`~hypothesis.strategies.decimals` were not properly converted to\n>integers before passing them to the integers strategy.\n>This excluded some values that should have been possible, and could\n>trigger internal errors if the bounds lay between adjacent integers.\n\n>You can now bound :func:`~hypothesis.strategies.fractions` with two\n>arbitrarily close fractions.\n\n>It is now an explicit error to supply a min_value, max_value, and\n>max_denominator to :func:`~hypothesis.strategies.fractions` where the value\n>bounds do not include a fraction with denominator at most max_denominator.\n\n>-------------------\n\n\n>### 3.19.0\n\n>-------------------\n\n>This release adds the :func:`~hypothesis.strategies.from_regex` strategy,\n>which generates strings that contain a match of a regular expression.\n\n>Thanks to Maxim Kulkin for creating the\n>`hypothesis-regex &lt;https://github.com/maximkulkin/hypothesis-regex&gt;`_\n>package and then helping to upstream it! (:issue:`662`)\n\n>-------------------\n\n\n>### 3.18.5\n\n>-------------------\n\n>This is a bugfix release for :func:`~hypothesis.strategies.integers`.\n>Previously the strategy would hit an internal assertion if passed non-integer\n>bounds for ``min_value`` and ``max_value`` that had no integers between them.\n>The strategy now raises InvalidArgument instead.\n\n>-------------------\n\n\n>### 3.18.4\n\n>-------------------\n\n>Release to fix a bug where mocks can be used as test runners under certain\n>conditions. Specifically, if a mock is injected into a test via pytest\n>fixtures or patch decorators, and that mock is the first argument in the\n>list, hypothesis will think it represents self and turns the mock\n>into a test runner.  If this happens, the affected test always passes\n>because the mock is executed instead of the test body. Sometimes, it\n>will also fail health checks.\n\n>Fixes :issue:`491` and a section of :issue:`198`.\n>Thanks to Ben Peterson for this bug fix.\n\n>-------------------\n\n\n>### 3.18.3\n\n>-------------------\n\n>This release should improve the performance of some tests which\n>experienced a slow down as a result of the 3.13.0 release.\n\n>Tests most likely to benefit from this are ones that make extensive\n>use of `min_size` parameters, but others may see some improvement\n>as well.\n\n>-------------------\n\n\n>### 3.18.2\n\n>-------------------\n\n>This release fixes a bug introduced in 3.18.0. If the arguments\n>``whitelist_characters`` and ``blacklist_characters`` to\n>:func:`~hypothesis.strategies.characters` both contained elements, then an\n>``InvalidArgument`` exception would be raised.\n\n>Thanks to Zac Hatfield-Dodds for reporting and fixing this.\n\n>-------------------\n\n\n>### 3.18.1\n\n>-------------------\n\n>This is a bug fix release to fix :issue:`780`, where\n>:func:`~hypothesis.strategies.sets` and similar would trigger health check\n>errors if their element strategy could only produce one element (e.g.\n>if it was :func:`~hypothesis.strategies.just`).\n\n>-------------------\n\n\n>### 3.18.0\n\n>-------------------\n\n>This is a feature release:\n\n>* :func:`~hypothesis.strategies.characters` now accepts\n>  ``whitelist_characters``, particular characters which will be added to those\n>  it produces. (:issue:`668`)\n>* A bug fix for the internal function ``_union_interval_lists()``, and a rename\n>  to ``_union_intervals()``. It now correctly handles all cases where intervals\n>  overlap, and it always returns the result as a tuple for tuples.\n\n>Thanks to Alex Willmer for these.\n\n>-------------------\n\n\n>### 3.17.0\n\n>-------------------\n\n>This release documents :ref:`the previously undocumented phases feature &lt;phases&gt;`&quot;,\n>making it part of the official public API. It also updates how the example\n>database is used. Principally:\n\n>* A ``Phases.reuse`` argument will now correctly control whether examples\n>  from the database are run (it previously did exactly the wrong thing and\n>  controlled whether examples would be *saved*).\n>* Hypothesis will no longer try to rerun *all* previously failing examples.\n>  Instead it will replay the smallest previously failing example and a\n>  selection of other examples that are likely to trigger any other bugs that\n>  will found. This prevents a previous failure from dominating your tests\n>  unnecessarily.\n>* As a result of the previous change, Hypothesis will be slower about clearing\n>  out old examples from the database that are no longer failing (because it can\n>  only clear out ones that it actually runs).\n\n>-------------------\n\n\n>### 3.16.1\n\n>-------------------\n\n>This release makes an implementation change to how Hypothesis handles certain\n>internal constructs.\n\n>The main effect you should see is improvement to the behaviour and performance\n>of collection types, especially ones with a ``min_size`` parameter. Many cases\n>that would previously fail due to being unable to generate enough valid\n>examples will now succeed, and other cases should run slightly faster.\n\n>-------------------\n\n\n>### 3.16.0\n\n>-------------------\n\n>This release introduces a deprecation of the timeout feature. This results in\n>the following changes:\n\n>* Creating a settings object with an explicit timeout will emit a deprecation\n>  warning.\n>* If your test stops because it hits the timeout (and has not found a bug) then\n>  it will emit a deprecation warning.\n>* There is a new value ``unlimited`` which you can import from hypothesis.\n>  ``settings(timeout=unlimited)`` will *not* cause a deprecation warning.\n>* There is a new health check, ``hung_test``, which will trigger after a test\n>  has been running for five minutes if it is not suppressed.\n\n>-------------------\n\n\n>### 3.15.0\n\n>-------------------\n\n>This release deprecates two strategies, :func:`~hypothesis.strategies.choices` and\n>:func:`~hypothesis.strategies.streaming`.\n\n>Both of these are somewhat confusing to use and are entirely redundant since the\n>introduction of the :func:`~hypothesis.strategies.data` strategy for interactive\n>drawing in tests, and their use should be replaced with direct use of\n>:func:`~hypothesis.strategies.data` instead.\n\n>-------------------\n\n\n>### 3.14.2\n\n>-------------------\n\n>This fixes a bug where Hypothesis would not work correctly on Python 2.7 if you\n>had the typing module backport installed.\n\n>-------------------\n\n\n>### 3.14.1\n\n>-------------------\n\n>This raises the maximum depth at which Hypothesis starts cutting off data\n>generation to a more reasonable value which it is harder to hit by accident.\n\n>This resolves (:issue:`751`), in which some examples which previously worked\n>would start timing out, but it will also likely improve the data generation\n>quality for complex data types.\n\n>-------------------\n\n\n>### 3.14.0\n\n>-------------------\n\n>Hypothesis now understands inline type annotations (:issue:`293`):\n\n>- If the target of :func:`~hypothesis.strategies.builds` has type annotations,\n>  a default strategy for missing required arguments is selected based on the\n>  type.  Type-based strategy selection will only override a default if you\n>  pass :const:`hypothesis.infer` as a keyword argument.\n\n>- If :func:`given &lt;hypothesis.given&gt;` wraps a function with type annotations,\n>  you can pass :const:`~hypothesis.infer` as a keyword argument and the\n>  appropriate strategy will be substituted.\n\n>- You can check what strategy will be inferred for a type with the new\n>  :func:`~hypothesis.strategies.from_type` function.\n\n>- :func:`~hypothesis.strategies.register_type_strategy` teaches Hypothesis\n>  which strategy to infer for custom or unknown types.  You can provide a\n>  strategy, or for more complex cases a function which takes the type and\n>  returns a strategy.\n\n>-------------------\n\n\n>### 3.13.1\n\n>-------------------\n\n>This is a bug fix release for :issue:`514` - Hypothesis would continue running\n>examples after a :class:`~python:unittest.SkipTest` exception was raised,\n>including printing a falsifying example.  Skip exceptions from the standard\n>:mod:`python:unittest` module, and ``pytest``, ``nose``, or ``unittest2``\n>modules now abort the test immediately without printing output.\n\n>-------------------\n\n\n>### 3.13.0\n\n>-------------------\n\n>This release has two major aspects to it: The first is the introduction of\n>:func:`~hypothesis.strategies.deferred`, which allows more natural definition\n>of recursive (including mutually recursive) strategies.\n\n>The second is a number of engine changes designed to support this sort of\n>strategy better. These should have a knock-on effect of also improving the\n>performance of any existing strategies that currently generate a lot of data\n>or involve heavy nesting by reducing their typical example size.\n\n>-------------------\n\n\n>### 3.12.0\n\n>-------------------\n\n>This release makes some major internal changes to how Hypothesis represents\n>data internally, as a prelude to some major engine changes that should improve\n>data quality. There are no API changes, but it&#39;s a significant enough internal\n>change that a minor version bump seemed warranted.\n\n>User facing impact should be fairly mild, but includes:\n\n>* All existing examples in the database will probably be invalidated. Hypothesis\n>  handles this automatically, so you don&#39;t need to do anything, but if you see\n>  all your examples disappear that&#39;s why.\n>* Almost all data distributions have changed significantly. Possibly for the better,\n>  possibly for the worse. This may result in new bugs being found, but it may\n>  also result in Hypothesis being unable to find bugs it previously did.\n>* Data generation may be somewhat faster if your existing bottleneck was in\n>  draw_bytes (which is often the case for large examples).\n>* Shrinking will probably be slower, possibly significantly.\n\n>If you notice any effects you consider to be a significant regression, please\n>open an issue about them.\n\n>-------------------\n\n\n\n\n\n\n*Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.*\n\nHappy merging! 🤖\n"},"comment":{"url":"https://api.github.com/repos/kragniz/python-etcd3/issues/comments/327224630","html_url":"https://github.com/kragniz/python-etcd3/pull/221#issuecomment-327224630","issue_url":"https://api.github.com/repos/kragniz/python-etcd3/issues/221","id":327224630,"user":{"login":"codecov-io","id":8655789,"avatar_url":"https://avatars0.githubusercontent.com/u/8655789?v=4","gravatar_id":"","url":"https://api.github.com/users/codecov-io","html_url":"https://github.com/codecov-io","followers_url":"https://api.github.com/users/codecov-io/followers","following_url":"https://api.github.com/users/codecov-io/following{/other_user}","gists_url":"https://api.github.com/users/codecov-io/gists{/gist_id}","starred_url":"https://api.github.com/users/codecov-io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codecov-io/subscriptions","organizations_url":"https://api.github.com/users/codecov-io/orgs","repos_url":"https://api.github.com/users/codecov-io/repos","events_url":"https://api.github.com/users/codecov-io/events{/privacy}","received_events_url":"https://api.github.com/users/codecov-io/received_events","type":"User","site_admin":false},"created_at":"2017-09-05T16:08:20Z","updated_at":"2017-09-05T16:08:20Z","author_association":"NONE","body":"# [Codecov](https://codecov.io/gh/kragniz/python-etcd3/pull/221?src=pr&el=h1) Report\n> Merging [#221](https://codecov.io/gh/kragniz/python-etcd3/pull/221?src=pr&el=desc) into [master](https://codecov.io/gh/kragniz/python-etcd3/commit/b92c181add3b6ad17a367a8466339509b25c71ed?src=pr&el=desc) will **not change** coverage.\n> The diff coverage is `n/a`.\n\n[![Impacted file tree graph](https://codecov.io/gh/kragniz/python-etcd3/pull/221/graphs/tree.svg?token=NsamKQXm22&src=pr&height=150&width=650)](https://codecov.io/gh/kragniz/python-etcd3/pull/221?src=pr&el=tree)\n\n```diff\n@@           Coverage Diff           @@\n##           master     #221   +/-   ##\n=======================================\n  Coverage   93.73%   93.73%           \n=======================================\n  Files          10       10           \n  Lines         638      638           \n=======================================\n  Hits          598      598           \n  Misses         40       40\n```\n\n\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/kragniz/python-etcd3/pull/221?src=pr&el=continue).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)\n> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/kragniz/python-etcd3/pull/221?src=pr&el=footer). Last update [b92c181...08ff5f9](https://codecov.io/gh/kragniz/python-etcd3/pull/221?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).\n"}}
{"actor":{"display_login":"codecov-io"}}