[Python-modules-commits] [python-hypothesis] 02/10: Import python-hypothesis_3.44.1.orig.tar.gz

Tristan Seligmann mithrandi at moszumanska.debian.org
Wed Dec 20 07:10:18 UTC 2017


This is an automated email from the git hooks/post-receive script.

mithrandi pushed a commit to branch master
in repository python-hypothesis.

commit ac77b37f828c9c25f214db67a45bda7fdc9f865f
Author: Tristan Seligmann <mithrandi at debian.org>
Date:   Tue Dec 19 23:01:04 2017 +0200

    Import python-hypothesis_3.44.1.orig.tar.gz
---
 .coveragerc                                        |    1 +
 .gitignore                                         |    1 +
 .pyup.yml                                          |   11 +-
 .travis.yml                                        |   14 +-
 CONTRIBUTING.rst                                   |   78 +-
 Makefile                                           |  107 +-
 appveyor.yml                                       |   12 -
 ...ys => arrays10-valid=always-interesting=always} |   16 +-
 ...arrays10-valid=always-interesting=array_average |   29 +
 .../arrays10-valid=always-interesting=lower_bound  |   29 +
 .../arrays10-valid=always-interesting=never        |   29 +
 ...ays10-valid=always-interesting=size_lower_bound |   29 +
 .../arrays10-valid=always-interesting=usually      |   29 +
 ...rrays10-valid=usually-interesting=array_average |   29 +
 ...ys10-valid=usually-interesting=size_lower_bound |   29 +
 ...s => arraysvar-valid=always-interesting=always} |   16 +-
 ...rraysvar-valid=always-interesting=array_average |   29 +
 .../arraysvar-valid=always-interesting=lower_bound |   29 +
 .../arraysvar-valid=always-interesting=never       |   29 +
 ...ysvar-valid=always-interesting=size_lower_bound |   29 +
 .../arraysvar-valid=always-interesting=usually     |   29 +
 ...raysvar-valid=usually-interesting=array_average |   29 +
 ...svar-valid=usually-interesting=size_lower_bound |   29 +
 .../intlists-valid=always-interesting=always       |   14 +-
 ...ntlists-valid=always-interesting=has_duplicates |   14 +-
 .../intlists-valid=always-interesting=lower_bound  |   14 +-
 .../intlists-valid=always-interesting=minsum       |   14 +-
 .../intlists-valid=always-interesting=never        |   14 +-
 .../intlists-valid=always-interesting=nontrivial   |   29 -
 ...lists-valid=always-interesting=size_lower_bound |   29 +
 .../intlists-valid=always-interesting=usually      |   14 +-
 ...ntlists-valid=has_duplicates-interesting=minsum |   14 +-
 .../intlists-valid=usually-interesting=nontrivial  |   29 -
 ...ists-valid=usually-interesting=size_lower_bound |   29 +
 .../ints-valid=always-interesting=always           |   14 +-
 .../ints-valid=always-interesting=lower_bound      |   14 +-
 benchmark-data/ints-valid=always-interesting=never |   14 +-
 .../ints-valid=always-interesting=nontrivial       |   29 -
 .../ints-valid=always-interesting=size_lower_bound |   29 +
 .../ints-valid=always-interesting=usually          |   12 +-
 .../ints-valid=usually-interesting=nontrivial      |   29 -
 ...ints-valid=usually-interesting=size_lower_bound |   29 +
 .../sizedintlists-valid=always-interesting=always  |   14 +-
 ...edintlists-valid=always-interesting=lower_bound |   14 +-
 .../sizedintlists-valid=always-interesting=never   |   14 +-
 ...zedintlists-valid=always-interesting=nontrivial |   29 -
 ...lists-valid=always-interesting=size_lower_bound |   29 +
 .../sizedintlists-valid=always-interesting=usually |   14 +-
 ...edintlists-valid=usually-interesting=nontrivial |   29 -
 ...ists-valid=usually-interesting=size_lower_bound |   29 +
 ...always => text-valid=always-interesting=always} |   16 +-
 .../text-valid=always-interesting=lower_bound      |   29 +
 benchmark-data/text-valid=always-interesting=never |   29 +
 .../text-valid=always-interesting=size_lower_bound |   29 +
 .../text-valid=always-interesting=usually          |   29 +
 ...text-valid=usually-interesting=size_lower_bound |   29 +
 ...lways => text5-valid=always-interesting=always} |   16 +-
 .../text5-valid=always-interesting=lower_bound     |   29 +
 .../text5-valid=always-interesting=never           |   29 +
 ...text5-valid=always-interesting=size_lower_bound |   29 +
 .../text5-valid=always-interesting=usually         |   29 +
 ...ext5-valid=usually-interesting=size_lower_bound |   29 +
 circle.yml                                         |    2 +-
 docs/changes.rst                                   | 1104 ++++++++++++++-
 docs/conf.py                                       |   46 +-
 docs/data.rst                                      |  298 ++--
 docs/details.rst                                   |  205 +--
 docs/development.rst                               |    8 +-
 docs/django.rst                                    |    7 +-
 docs/endorsements.rst                              |   30 +
 docs/examples.rst                                  |    2 +-
 docs/extras.rst                                    |   66 +-
 docs/healthchecks.rst                              |    9 +-
 docs/index.rst                                     |    1 +
 docs/numpy.rst                                     |   43 +-
 docs/packaging.rst                                 |   36 +-
 docs/quickstart.rst                                |    5 +-
 docs/reproducing.rst                               |  120 ++
 docs/settings.rst                                  |  158 ++-
 docs/strategies.rst                                |    8 +-
 docs/usage.rst                                     |    6 +-
 guides/api-style.rst                               |  125 ++
 guides/documentation.rst                           |   22 +-
 guides/review.rst                                  |   10 +-
 requirements/benchmark.in                          |    1 +
 requirements/benchmark.txt                         |    7 +-
 requirements/coverage.in                           |    4 +
 requirements/coverage.txt                          |   12 +
 requirements/test.in                               |    2 +
 requirements/test.txt                              |   14 +-
 requirements/tools.in                              |    3 +
 requirements/tools.txt                             |   58 +-
 requirements/typing.in                             |    1 +
 requirements/typing.txt                            |    7 +
 scripts/basic-test.sh                              |   16 +-
 scripts/benchmarks.py                              |   43 +-
 scripts/build-documentation.sh                     |   21 +
 scripts/check-changelog.py                         |  101 --
 .../{check-untagged.py => check-release-file.py}   |   13 +-
 scripts/deploy.py                                  |   80 +-
 scripts/fix_doctests.py                            |  126 ++
 scripts/hypothesistooling.py                       |  225 ++-
 scripts/install.sh                                 |   13 +-
 scripts/run-circle.sh                              |   14 -
 scripts/{check-untagged.py => run_circle.py}       |   28 +-
 .../run_travis_make_task.py                        |   22 +-
 scripts/unicodechecker.py                          |    6 +-
 ...ck-untagged.py => update-changelog-for-docs.py} |   20 +-
 scripts/validate_branch_check.py                   |   64 +
 tests/django/manage.py => scripts/validate_pyup.py |   22 +-
 secrets.tar.enc                                    |  Bin 10256 -> 10256 bytes
 setup.cfg                                          |    0
 setup.py                                           |    7 +-
 src/hypothesis/__init__.py                         |   11 +-
 src/hypothesis/_settings.py                        |  244 +++-
 src/hypothesis/control.py                          |    4 +-
 src/hypothesis/core.py                             |  963 +++++++++----
 src/hypothesis/database.py                         |   52 +-
 src/hypothesis/errors.py                           |   51 +-
 src/hypothesis/extra/django/models.py              |  178 +--
 src/hypothesis/extra/fakefactory.py                |    6 +
 src/hypothesis/extra/numpy.py                      |  275 +++-
 .../conventions.py => extra/pandas/__init__.py}    |   18 +-
 src/hypothesis/extra/pandas/impl.py                |  645 +++++++++
 src/hypothesis/extra/pytestplugin.py               |   18 +
 src/hypothesis/internal/cache.py                   |  228 +++
 src/hypothesis/internal/charmap.py                 |  226 ++-
 src/hypothesis/internal/compat.py                  |  112 +-
 src/hypothesis/internal/conjecture/data.py         |  176 ++-
 src/hypothesis/internal/conjecture/engine.py       | 1491 ++++++++++++++------
 src/hypothesis/internal/conjecture/floats.py       |  246 ++++
 src/hypothesis/internal/conjecture/minimizer.py    |  222 +--
 src/hypothesis/internal/conjecture/utils.py        |  126 +-
 src/hypothesis/internal/coverage.py                |  125 ++
 src/hypothesis/internal/escalation.py              |   63 +-
 src/hypothesis/internal/healthcheck.py             |   38 +
 .../internal/{deferredformat.py => lazyformat.py}  |    4 +-
 src/hypothesis/internal/reflection.py              |   75 +-
 src/hypothesis/internal/renaming.py                |   66 +
 src/hypothesis/internal/validation.py              |  147 ++
 src/hypothesis/provisional.py                      |   84 ++
 src/hypothesis/searchstrategy/collections.py       |  130 +-
 src/hypothesis/searchstrategy/datetime.py          |   48 +-
 src/hypothesis/searchstrategy/deferred.py          |  126 +-
 src/hypothesis/searchstrategy/flatmapped.py        |    5 +-
 .../searchstrategy/{deferred.py => lazy.py}        |  103 +-
 src/hypothesis/searchstrategy/misc.py              |   25 +-
 src/hypothesis/searchstrategy/numbers.py           |   25 +-
 src/hypothesis/searchstrategy/recursive.py         |   10 +-
 src/hypothesis/searchstrategy/regex.py             |  499 +++++++
 src/hypothesis/searchstrategy/reprwrapper.py       |   44 -
 src/hypothesis/searchstrategy/shared.py            |    4 +-
 src/hypothesis/searchstrategy/strategies.py        |  370 ++++-
 src/hypothesis/searchstrategy/streams.py           |    2 +
 src/hypothesis/searchstrategy/strings.py           |   30 +-
 src/hypothesis/searchstrategy/types.py             |  243 ++++
 src/hypothesis/searchstrategy/wrappers.py          |   51 -
 src/hypothesis/stateful.py                         |   31 +-
 src/hypothesis/statistics.py                       |   12 +
 src/hypothesis/strategies.py                       | 1079 +++++++++-----
 src/hypothesis/strategytests.py                    |  129 --
 src/hypothesis/tools/mergedbs.py                   |  136 --
 src/hypothesis/utils/conventions.py                |    1 +
 src/hypothesis/version.py                          |    2 +-
 tests/common/__init__.py                           |   84 +-
 .../{cover/test_choices.py => common/arguments.py} |   43 +-
 tests/common/debug.py                              |   85 +-
 tests/common/setup.py                              |   38 +-
 tests/common/strategies.py                         |   60 +
 tests/common/utils.py                              |   47 +-
 tests/conftest.py                                  |   27 +-
 tests/cover/test_arbitrary_data.py                 |    4 +-
 tests/cover/test_argument_validation.py            |   56 +
 tests/cover/test_bad_repr.py                       |   21 +-
 tests/cover/test_cache_implementation.py           |  195 +++
 tests/cover/{test_example.py => test_cacheable.py} |   37 +-
 tests/cover/test_charmap.py                        |   44 +-
 tests/cover/test_choices.py                        |   19 +-
 tests/cover/test_classmap.py                       |   91 --
 tests/cover/test_composite.py                      |   18 +-
 tests/cover/test_conjecture_engine.py              |  592 +++++---
 tests/cover/test_conjecture_float_encoding.py      |  227 +++
 tests/cover/test_conjecture_minimizer.py           |    6 +
 tests/cover/test_conjecture_test_data.py           |    5 +
 tests/cover/test_conjecture_utils.py               |   15 +-
 tests/cover/test_core.py                           |    9 +-
 tests/cover/test_custom_reprs.py                   |    4 +-
 tests/cover/test_database_backend.py               |   30 +-
 ...st_map.py => test_database_seed_deprecation.py} |   24 +-
 tests/cover/test_database_usage.py                 |  123 +-
 tests/cover/test_datetimes.py                      |   52 +-
 tests/cover/test_deadline.py                       |  158 +++
 tests/cover/test_deferred_strategies.py            |  202 +++
 tests/cover/test_direct_strategies.py              |   58 +-
 tests/cover/test_escalation.py                     |   68 +
 tests/cover/test_example.py                        |   46 +-
 tests/cover/test_find.py                           |    2 +
 tests/cover/test_flatmap.py                        |   12 +-
 tests/cover/test_float_nastiness.py                |   12 +-
 tests/cover/test_given_error_conditions.py         |   46 +-
 tests/cover/test_health_checks.py                  |  131 +-
 tests/cover/test_integer_ranges.py                 |    6 +-
 tests/cover/test_interleaving.py                   |   30 +-
 tests/cover/test_intervalset.py                    |   32 +-
 tests/cover/test_lambda_formatting.py              |   63 +
 tests/cover/test_map.py                            |    7 +-
 .../{test_randomization.py => test_nesting.py}     |   26 +-
 tests/cover/test_nothing.py                        |   23 +-
 tests/cover/test_numerics.py                       |   62 +-
 .../version.py => tests/cover/test_one_of.py       |   10 +-
 tests/cover/test_phases.py                         |   40 +
 tests/cover/test_provisional_strategies.py         |   51 +
 tests/cover/test_randomization.py                  |    2 +-
 tests/cover/test_reflection.py                     |   63 +-
 tests/cover/test_regex.py                          |  386 +++++
 tests/cover/test_regressions.py                    |   80 ++
 .../classmap.py => tests/cover/test_renaming.py    |   33 +-
 tests/cover/test_reproduce_failure.py              |  203 +++
 tests/cover/test_reusable_values.py                |   94 ++
 tests/cover/test_sampled_from.py                   |   22 +-
 tests/cover/test_searchstrategy.py                 |    5 +-
 tests/cover/test_seed_printing.py                  |  123 ++
 tests/cover/test_sets.py                           |    2 +-
 tests/cover/test_settings.py                       |   49 +-
 tests/cover/test_setup_teardown.py                 |   14 +-
 tests/cover/test_shrinking_limits.py               |    3 +
 tests/cover/test_simple_characters.py              |   54 +-
 tests/cover/test_simple_collections.py             |   19 +-
 tests/cover/test_simple_numbers.py                 |   22 +-
 tests/cover/test_skipping.py                       |   49 +
 tests/cover/test_slippage.py                       |  218 +++
 tests/cover/test_stateful.py                       |   22 +-
 tests/cover/test_statistical_events.py             |   64 +-
 tests/cover/test_strategytests.py                  |   28 -
 tests/cover/test_streams.py                        |   19 +-
 tests/cover/test_target_selector.py                |  124 ++
 tests/cover/test_testdecorators.py                 |   71 +-
 tests/cover/test_timeout.py                        |  105 ++
 tests/cover/test_type_lookup.py                    |  150 ++
 tests/cover/test_uuids.py                          |   14 +-
 tests/cover/test_validation.py                     |    4 +-
 tests/datetime/test_dates.py                       |    4 +-
 tests/datetime/test_datetime.py                    |   32 +-
 tests/datetime/test_times.py                       |   27 +-
 tests/datetime/test_timezones.py                   |   23 +-
 tests/django/manage.py                             |    9 +
 tests/django/toys/urls.py                          |    4 +-
 tests/django/toystore/models.py                    |   28 +-
 tests/django/toystore/test_basic_configuration.py  |    3 +-
 tests/django/toystore/test_given_models.py         |   32 +-
 tests/fakefactory/test_fake_factory.py             |   56 +-
 tests/nocover/test_boundary_exploration.py         |   50 +
 .../test_characters.py}                            |   33 +-
 tests/nocover/test_choices.py                      |   10 +-
 tests/nocover/test_collective_minimization.py      |    3 +-
 tests/nocover/test_compat.py                       |   36 +-
 tests/nocover/test_conjecture_engine.py            |  120 ++
 tests/nocover/test_coverage.py                     |  120 ++
 .../{cover => nocover}/test_database_agreement.py  |   15 +-
 tests/nocover/test_deferred_strategies.py          |   71 +
 tests/nocover/test_descriptortests.py              |  206 ---
 tests/nocover/test_float_shrinking.py              |   64 +
 tests/nocover/test_floating.py                     |   32 +-
 tests/nocover/test_git_merge.py                    |  140 --
 .../nocover/test_large_examples.py                 |    8 +-
 tests/nocover/test_recursive.py                    |   18 +-
 tests/nocover/test_regex.py                        |   86 ++
 tests/nocover/test_strategy_state.py               |   32 +-
 tests/nocover/test_streams.py                      |   15 +-
 tests/nocover/test_target_selector.py              |   77 +
 tests/numpy/test_argument_validation.py            |   60 +
 tests/numpy/test_fill_values.py                    |   61 +
 tests/numpy/test_gen_data.py                       |  212 ++-
 .../test_dates.py => numpy/test_sampled_from.py}   |   46 +-
 {src/hypothesis/tools => tests/pandas}/__init__.py |    0
 tests/pandas/helpers.py                            |   46 +
 tests/pandas/test_argument_validation.py           |   71 +
 tests/pandas/test_data_frame.py                    |  242 ++++
 tests/pandas/test_indexes.py                       |  112 ++
 tests/pandas/test_series.py                        |   70 +
 tests/py3/test_lookup.py                           |  367 +++++
 tests/pytest/test_fixtures.py                      |   35 +
 .../manage.py => pytest/test_pytest_detection.py}  |   26 +-
 tests/pytest/test_seeding.py                       |  124 ++
 .../pytest/{test_fixtures.py => test_skipping.py}  |   45 +-
 tests/pytest/test_statistics.py                    |   15 +-
 tests/quality/test_discovery_ability.py            |    6 +-
 tests/quality/test_shrink_quality.py               |   20 +-
 tox.ini                                            |   97 +-
 289 files changed, 17092 insertions(+), 4780 deletions(-)

diff --git a/.coveragerc b/.coveragerc
index f187b0e..4152ff1 100644
--- a/.coveragerc
+++ b/.coveragerc
@@ -8,6 +8,7 @@ omit =
     **/strategytests.py
     **/compat*.py
     **/extra/__init__.py
+    **/.tox/*/lib/*/site-packages/hypothesis/internal/coverage.py
 
 [report]
 exclude_lines =
diff --git a/.gitignore b/.gitignore
index 791246d..3c83429 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,3 +16,4 @@ _build
 deploy_key
 .pypirc
 secrets.tar
+htmlcov
diff --git a/.pyup.yml b/.pyup.yml
index fc45638..1e57eec 100644
--- a/.pyup.yml
+++ b/.pyup.yml
@@ -1,10 +1,15 @@
 requirements:
-  - requirements/tools.txt
+  - requirements/tools.txt:
       updates: all
       pin: True
-  - requirements/test.txt
+  - requirements/test.txt:
       updates: all
       pin: True
-  - requirements/benchmark.txt
+  - requirements/benchmark.txt:
       updates: all
       pin: True
+  - requirements/coverage.txt:
+      updates: all
+      pin: True
+
+schedule: "every week on monday"
diff --git a/.travis.yml b/.travis.yml
index 05afd33..f4d69c7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -28,11 +28,12 @@ env:
 
     matrix:
         # Core tests that we want to run first.
-        - TASK=check-untagged
-        - TASK=check-changelog
+        - TASK=check-pyup-yml
+        - TASK=check-release-file
         - TASK=check-shellcheck
         - TASK=documentation
         - TASK=lint
+        - TASK=doctest
         - TASK=check-rst
         - TASK=check-format
         - TASK=check-benchmark
@@ -48,20 +49,25 @@ env:
         # worth testing.
         - TASK=check-unicode
         - TASK=check-ancient-pip
+        - TASK=check-pure-tracer
         - TASK=check-py273
+        - TASK=check-py27-typing
         - TASK=check-py34
         - TASK=check-py35
         - TASK=check-nose
         - TASK=check-pytest28
         - TASK=check-faker070
-        - TASK=check-faker071
+        - TASK=check-faker-latest
         - TASK=check-django18
         - TASK=check-django110
         - TASK=check-django111
+        - TASK=check-pandas19
+        - TASK=check-pandas20
+        - TASK=check-pandas21
         - TASK=deploy
 
 script:
-    - make $TASK
+    - python scripts/run_travis_make_task.py
 
 matrix:
     fast_finish: true
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
index db3b9f6..b624381 100644
--- a/CONTRIBUTING.rst
+++ b/CONTRIBUTING.rst
@@ -84,6 +84,33 @@ master fairly promptly. This will immediately trigger a release! Don't be scared
 breaks things, that's our fault not yours - the whole point of this process is to ensure
 that problems get caught before we merge rather than after.
 
+
+~~~~~~~~~~~~~~~~
+The Release File
+~~~~~~~~~~~~~~~~
+
+All changes to Hypothesis get released automatically when they are merged to
+master.
+
+In order to update the version and change log entry, you have to create a
+release file. This is a normal restructured text file called RELEASE.rst that
+lives in the root of the repository and will be used as the change log entry.
+
+It should start with following lines:
+
+* RELEASE_TYPE: major
+* RELEASE_TYPE: minor
+* RELEASE_TYPE: patch
+
+This specifies the component of the version number that should be updated, with
+the meaning of each component following `semver <http://semver.org/>`_. As a
+rule of thumb if it's a bug fix it's probably a patch version update, if it's
+a new feature it's definitely a minor version update, and you probably
+shouldn't ever need to use a major version update unless you're part of the
+core team and we've discussed it a lot.
+
+This line will be removed from the final change log entry.
+
 ~~~~~~~~~
 The build
 ~~~~~~~~~
@@ -116,16 +143,8 @@ build currently takes more than an hour of total time (it runs in parallel on Tr
 quite that long). If you've got a multi-core machine you can run 'make -j 2' (or any higher number if you want
 more) to run 2 jobs in parallel, but to be honest you're probably better off letting Travis run this step.
 
-You can also run a number of finer grained make tasks:
-
-* check-fast runs a fast but reasonably comprehensive subset of make check. It's still not *that* fast, but it
-  takes a couple of minutes instead of a couple of hours.
-* You can run the tests just for a single version of Python using one of check-py26, check-py27, check-py34,
-  check-py35, check-pypy.
-* check-coverage will run a subset of the tests on python 3.5 and then assert that this gave 100% coverage
-* lint will just run some source code checks.
-* check-django will just run tests for the Django integration
-* check-pytest will just run tests for the pytest plugin
+You can also run a number of finer grained make tasks - check ``.travis.yml`` for a short list and
+the Makefile for details.
 
 Note: The build requires a lot of different versions of python, so rather than have you install them yourself,
 the makefile will install them itself in a local directory. This means that the first time you run a task you
@@ -142,31 +161,38 @@ their individual contributions.
 * `Adam Johnson <https://github.com/adamchainz>`_
 * `Adam Sven Johnson <https://www.github.com/pkqk>`_
 * `Alex Stapleton <https://www.github.com/public>`_
-* `Alex Willmer <https://github.com/moreati>`_ (`alex at moreati.org.uk <mailto:alex at moreati.org.uk>`_)
+* `Alex Willmer <https://github.com/moreati>`_ (alex at moreati.org.uk)
+* `Ben Peterson <https://github.com/killthrush>`_ (killthrush at hotmail.com_)
 * `Charles O'Farrell <https://www.github.com/charleso>`_
+* `Charlie Tanksley <https://www.github.com/charlietanksley>`_
 * `Chris Down  <https://chrisdown.name>`_
-* `Christopher Martin <https://www.github.com/chris-martin>`_ (`ch.martin at gmail.com <mailto:ch.martin at gmail.com>`_)
+* `Christopher Martin <https://www.github.com/chris-martin>`_ (ch.martin at gmail.com)
 * `Cory Benfield <https://www.github.com/Lukasa>`_
-* `Cristi Cobzarenco <https://github.com/cristicbz>`_ (`cristi at reinfer.io <mailto:cristi at reinfer.io>`_)
-* `David Bonner <https://github.com/rascalking>`_ (`dbonner at gmail.com <mailto:dbonner at gmail.com>`_)
+* `Cristi Cobzarenco <https://github.com/cristicbz>`_ (cristi at reinfer.io)
+* `David Bonner <https://github.com/rascalking>`_ (dbonner at gmail.com)
 * `Derek Gustafson <https://www.github.com/degustaf>`_
+* `Dion Misic <https://www.github.com/kingdion>`_ (dion.misic at gmail.com)
 * `Florian Bruhin <https://www.github.com/The-Compiler>`_
 * `follower <https://www.github.com/follower>`_
 * `Jeremy Thurgood <https://github.com/jerith>`_
-* `JP Viljoen <https://github.com/froztbyte>`_ (`froztbyte at froztbyte.net <mailto:froztbyte at froztbyte.net>`_)
-* `Jonty Wareing <https://www.github.com/Jonty>`_ (`jonty at jonty.co.uk <mailto:jonty at jonty.co.uk>`_)
+* `JP Viljoen <https://github.com/froztbyte>`_ (froztbyte at froztbyte.net)
+* `Jonty Wareing <https://www.github.com/Jonty>`_ (jonty at jonty.co.uk)
+* `jwg4 <https://www.github.com/jwg4>`_
 * `kbara <https://www.github.com/kbara>`_
 * `Lee Begg <https://www.github.com/llnz2>`_
 * `marekventur <https://www.github.com/marekventur>`_
-* `Marius Gedminas <https://www.github.com/mgedmin>`_ (`marius at gedmin.as <mailto:marius at gedmin.as>`_)
-* `Markus Unterwaditzer <http://github.com/untitaker/>`_ (`markus at unterwaditzer.net <mailto:markus at unterwaditzer.net>`_)
-* `Matt Bachmann <https://www.github.com/bachmann1234>`_ (`bachmann.matt at gmail.com <mailto:bachmann.matt at gmail.com>`_)
-* `Max Nordlund <https://www.github.com/maxnordlund>`_ (`max.nordlund at gmail.com <mailto:max.nordlund at gmail.com>`_)
+* `Marius Gedminas <https://www.github.com/mgedmin>`_ (marius at gedmin.as)
+* `Markus Unterwaditzer <http://github.com/untitaker/>`_ (markus at unterwaditzer.net)
+* `Matt Bachmann <https://www.github.com/bachmann1234>`_ (bachmann.matt at gmail.com)
+* `Max Nordlund <https://www.github.com/maxnordlund>`_ (max.nordlund at gmail.com)
+* `Maxim Kulkin <https://www.github.com/maximkulkin>`_ (maxim.kulkin at gmail.com)
 * `mulkieran <https://www.github.com/mulkieran>`_
 * `Nicholas Chammas <https://www.github.com/nchammas>`_
-* `Richard Boulton <https://www.github.com/rboulton>`_ (`richard at tartarus.org <mailto:richard at tartarus.org>`_)
-* `Saul Shanabrook <https://www.github.com/saulshanabrook>`_ (`s.shanabrook at gmail.com <mailto:s.shanabrook at gmail.com>`_)
-* `Tariq Khokhar <https://www.github.com/tkb>`_ (`tariq at khokhar.net <mailto:tariq at khokhar.net>`_)
-* `Will Hall <https://www.github.com/wrhall>`_ (`wrsh07 at gmail.com <mailto:wrsh07 at gmail.com>`_)
-* `Will Thompson <https://www.github.com/wjt>`_ (`will at willthompson.co.uk <mailto:will at willthompson.co.uk>`_)
-* `Zac Hatfield-Dodds <https://www.github.com/Zac-HD>`_ (`zac.hatfield.dodds at gmail.com <mailto:zac.hatfield.dodds at gmail.com>`_)
+* `Peadar Coyle <http://www.github.com/springcoil>`_ (peadarcoyle at gmail.com)
+* `Richard Boulton <https://www.github.com/rboulton>`_ (richard at tartarus.org)
+* `Sam Hames <https://www.github.com/SamHames>`_
+* `Saul Shanabrook <https://www.github.com/saulshanabrook>`_ (s.shanabrook at gmail.com)
+* `Tariq Khokhar <https://www.github.com/tkb>`_ (tariq at khokhar.net)
+* `Will Hall <https://www.github.com/wrhall>`_ (wrsh07 at gmail.com)
+* `Will Thompson <https://www.github.com/wjt>`_ (will at willthompson.co.uk)
+* `Zac Hatfield-Dodds <https://www.github.com/Zac-HD>`_ (zac.hatfield.dodds at gmail.com)
diff --git a/Makefile b/Makefile
index 5aec4c9..7d68366 100644
--- a/Makefile
+++ b/Makefile
@@ -12,7 +12,6 @@ export COVERAGE_FILE=$(BUILD_RUNTIMES)/.coverage
 
 PY27=$(BUILD_RUNTIMES)/snakepit/python2.7
 PY273=$(BUILD_RUNTIMES)/snakepit/python2.7.3
-PY33=$(BUILD_RUNTIMES)/snakepit/python3.3
 PY34=$(BUILD_RUNTIMES)/snakepit/python3.4
 PY35=$(BUILD_RUNTIMES)/snakepit/python3.5
 PY36=$(BUILD_RUNTIMES)/snakepit/python3.6
@@ -50,9 +49,6 @@ $(PY27):
 $(PY273):
 	scripts/retry.sh scripts/install.sh 2.7.3
 
-$(PY33):
-	scripts/retry.sh scripts/install.sh 3.3
-
 $(PY34):
 	scripts/retry.sh scripts/install.sh 3.4
 
@@ -67,7 +63,6 @@ $(PYPY):
 	scripts/retry.sh scripts/install.sh pypy
 
 $(TOOL_VIRTUALENV): $(BEST_PY3)
-	rm -rf $(BUILD_RUNTIMES)/virtualenvs/tools-*
 	$(BEST_PY3) -m virtualenv $(TOOL_VIRTUALENV)
 	$(TOOL_PIP) install -r requirements/tools.txt
 
@@ -90,13 +85,14 @@ format: $(PYFORMAT) $(ISORT)
 	$(FILES_TO_FORMAT) | xargs $(PYFORMAT) -i
 
 lint: $(FLAKE8)
-	$(FLAKE8) src tests --exclude=compat.py,test_reflection.py,test_imports.py,tests/py2,test_lambda_formatting.py --ignore=E731,E721
+	$(FLAKE8) src tests --exclude=compat.py,test_reflection.py,test_imports.py,tests/py2,test_lambda_formatting.py
+
 
-check-untagged: $(BEST_PY3)
-	$(BEST_PY3) scripts/check-untagged.py
+check-pyup-yml: $(TOOL_VIRTUALENV)
+	$(TOOL_PYTHON) scripts/validate_pyup.py
 
-check-changelog: $(BEST_PY3)
-	$(BEST_PY3) scripts/check-changelog.py
+check-release-file: $(BEST_PY3)
+	$(BEST_PY3) scripts/check-release-file.py
 
 deploy: $(TOOL_VIRTUALENV)
 	$(TOOL_PYTHON) scripts/deploy.py
@@ -125,37 +121,40 @@ check-shellcheck: $(SHELLCHECK)
 	shellcheck scripts/*.sh
 
 check-py27: $(PY27) $(TOX)
-	$(TOX) -e py27-full
+	$(TOX) --recreate -e py27-full
 
 check-py273: $(PY273) $(TOX)
-	$(TOX) -e oldpy27
+	$(TOX) --recreate -e oldpy27
 
-check-py33: $(PY33) $(TOX)
-	$(TOX) -e py33-full
+check-py27-typing: $(PY27) $(TOX)
+	$(TOX) --recreate -e py27typing
 
 check-py34: $(PY34) $(TOX)
-	$(TOX) -e py34-full
+	$(TOX) --recreate -e py34-full
 
 check-py35: $(PY35) $(TOX)
-	$(TOX) -e py35-full
+	$(TOX) --recreate -e py35-full
 
 check-py36: $(BEST_PY3) $(TOX)
-	$(TOX) -e py36-full
+	$(TOX) --recreate -e py36-full
 
 check-pypy: $(PYPY) $(TOX)
-	$(TOX) -e pypy-full
+	$(TOX) --recreate -e pypy-full
+
+check-pypy-with-tracer: $(PYPY) $(TOX)
+	$(TOX) --recreate -e pypy-with-tracer
 
 check-nose: $(TOX)
-	$(TOX) -e nose
+	$(TOX) --recreate -e nose
 
 check-pytest30: $(TOX)
-	$(TOX) -e pytest30
+	$(TOX) --recreate -e pytest30
 
 check-pytest28: $(TOX)
-	$(TOX) -e pytest28
+	$(TOX) --recreate -e pytest28
 
 check-quality: $(TOX)
-	$(TOX) -e quality
+	$(TOX) --recreate -e quality
 
 check-ancient-pip: $(PY273)
 	scripts/check-ancient-pip.sh $(PY273)
@@ -164,44 +163,59 @@ check-ancient-pip: $(PY273)
 check-pytest: check-pytest28 check-pytest30
 
 check-faker070: $(TOX)
-	$(TOX) -e faker070
+	$(TOX) --recreate -e faker070
 
-check-faker071: $(TOX)
-	$(TOX) -e faker071
+check-faker-latest: $(TOX)
+	$(TOX) --recreate -e faker-latest
 
 check-django18: $(TOX)
-	$(TOX) -e django18
+	$(TOX) --recreate -e django18
 
 check-django110: $(TOX)
-	$(TOX) -e django110
+	$(TOX) --recreate -e django110
 
 check-django111: $(TOX)
-	$(TOX) -e django111
+	$(TOX) --recreate -e django111
 
 check-django: check-django18 check-django110 check-django111
 
+check-pandas18: $(TOX)
+	$(TOX) --recreate -e pandas18
+
+check-pandas19: $(TOX)
+	$(TOX) --recreate -e pandas19
+
+check-pandas20: $(TOX)
+	$(TOX) --recreate -e pandas20
+
+check-pandas21: $(TOX)
+	$(TOX) --recreate -e pandas21
+
 check-examples2: $(TOX) $(PY27)
-	$(TOX) -e examples2
+	$(TOX) --recreate -e examples2
 
 check-examples3: $(TOX)
-	$(TOX) -e examples3
+	$(TOX) --recreate -e examples3
 
 check-coverage: $(TOX)
-	$(TOX) -e coverage
+	$(TOX) --recreate -e coverage
+
+check-pure-tracer: $(TOX)
+	$(TOX) --recreate -e pure-tracer
 
 check-unicode: $(TOX) $(PY27)
-	$(TOX) -e unicode
+	$(TOX) --recreate -e unicode
 
-check-noformat: check-coverage check-py26 check-py27 check-py33 check-py34 check-py35 check-pypy check-django check-pytest
+check-noformat: check-coverage check-py26 check-py27 check-py34 check-py35 check-pypy check-django check-pytest
 
 check: check-format check-noformat
 
 check-fast: lint $(PYPY) $(PY36) $(TOX)
-	$(TOX) -e pypy-brief
-	$(TOX) -e py36-prettyquick
+	$(TOX) --recreate -e pypy-brief
+	$(TOX) --recreate -e py36-prettyquick
 
 check-rst: $(RSTLINT) $(FLAKE8)
-	$(RSTLINT) *.rst
+	$(RSTLINT) CONTRIBUTING.rst README.rst
 	$(RSTLINT) guides/*.rst
 	$(FLAKE8) --select=W191,W291,W292,W293,W391 *.rst docs/*.rst
 
@@ -209,11 +223,20 @@ compile-requirements: $(PIPCOMPILE)
 	$(PIPCOMPILE) requirements/benchmark.in --output-file requirements/benchmark.txt
 	$(PIPCOMPILE) requirements/test.in --output-file requirements/test.txt
 	$(PIPCOMPILE) requirements/tools.in --output-file requirements/tools.txt
+	$(PIPCOMPILE) requirements/typing.in --output-file requirements/typing.txt
+	$(PIPCOMPILE) requirements/coverage.in --output-file requirements/coverage.txt
+
+upgrade-requirements:
+	$(PIPCOMPILE) --upgrade requirements/benchmark.in --output-file requirements/benchmark.txt
+	$(PIPCOMPILE) --upgrade requirements/test.in --output-file requirements/test.txt
+	$(PIPCOMPILE) --upgrade requirements/tools.in --output-file requirements/tools.txt
+	$(PIPCOMPILE) --upgrade requirements/typing.in --output-file requirements/typing.txt
+	$(PIPCOMPILE) --upgrade requirements/coverage.in --output-file requirements/coverage.txt
 
 check-requirements: compile-requirements
 	git diff --exit-code
 
-secret.tar.enc: deploy_key .pypirc
+secrets.tar.enc: deploy_key .pypirc
 	rm -f secrets.tar secrets.tar.enc
 	tar -cf secrets.tar deploy_key .pypirc
 	travis encrypt-file secrets.tar
@@ -268,8 +291,14 @@ clean:
 	find src tests -name "*.pyc" -delete
 	find src tests -name "__pycache__" -delete
 
-documentation: $(SPHINX_BUILD) docs/*.rst
-	PYTHONPATH=src $(SPHINX_BUILD) -W -b html -d docs/_build/doctrees docs docs/_build/html
+.PHONY: RELEASE.rst
+RELEASE.rst:
+
+documentation: $(SPHINX_BUILD) docs/*.rst RELEASE.rst
+	scripts/build-documentation.sh $(SPHINX_BUILD) $(PY36)
 
 doctest: $(SPHINX_BUILD) docs/*.rst
 	PYTHONPATH=src $(SPHINX_BUILD) -W -b doctest -d docs/_build/doctrees docs docs/_build/html
+
+fix_doctests: $(TOOL_VIRTUALENV)
+	PYTHONPATH=src $(TOOL_PYTHON) scripts/fix_doctests.py
diff --git a/appveyor.yml b/appveyor.yml
index 9737b66..b372bc8 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -10,26 +10,14 @@ environment:
       secure: TpmpMHwgS4xxcbbzROle2xyb3i+VPP8cT5ZL4dF/UrA=
 
   matrix:
-    - PYTHON: "C:\\Python27"
-      PYTHON_VERSION: "2.7.13"
-      PYTHON_ARCH: "32"
-
     - PYTHON: "C:\\Python27-x64"
       PYTHON_VERSION: "2.7.13"
       PYTHON_ARCH: "64"
 
-    - PYTHON: "C:\\Python35"
-      PYTHON_VERSION: "3.5.3"
-      PYTHON_ARCH: "32"
-
     - PYTHON: "C:\\Python35-x64"
       PYTHON_VERSION: "3.5.3"
       PYTHON_ARCH: "64"
 
-    - PYTHON: "C:\\Python36"
-      PYTHON_VERSION: "3.6.1"
-      PYTHON_ARCH: "32"
-
     - PYTHON: "C:\\Python36-x64"
       PYTHON_VERSION: "3.6.1"
       PYTHON_ARCH: "64"
diff --git a/benchmark-data/ints-valid=always-interesting=always b/benchmark-data/arrays10-valid=always-interesting=always
similarity index 58%
copy from benchmark-data/ints-valid=always-interesting=always
copy to benchmark-data/arrays10-valid=always-interesting=always
index 91fa1f1..fb8cb9d 100644
--- a/benchmark-data/ints-valid=always-interesting=always
+++ b/benchmark-data/arrays10-valid=always-interesting=always
@@ -5,25 +5,25 @@
 # consumption when reviewing, specifically with a goal of producing
 # useful diffs so that you can get a sense of the impact of a change.
 #
-# This benchmark is for ints [integers()], with the validity
+# This benchmark is for arrays10 [arrays(dtype='int8', shape=10)], with the validity
 # condition "always" and the interestingness condition "always".
 # See the script for the exact definitions of these criteria.
 #
-# This benchmark was generated with seed 69
+# This benchmark was generated with seed 402
 #
 # Key statistics for this benchmark:
 #
 # * 1000 examples
-# * Mean size: 48.00 bytes, standard deviation: 0.00 bytes
+# * Mean size: 6.00 bytes, standard deviation: 0.00 bytes
 #
 # Additional interesting statistics:
 #
-# * Ranging from 48 [1000 times] to 48 [1000 times] bytes.
-# * Median size: 48
-# * 99% of examples had at least 48 bytes
-# * 99% of examples had at most 48 bytes
+# * Ranging from 6 [1000 times] to 6 [1000 times] bytes.
+# * Median size: 6
+# * 99% of examples had at least 6 bytes
+# * 99% of examples had at most 6 bytes
 #
 # All data after this point is an opaque binary blob. You are not expected
 # to understand it.
 
-Data 96: STARTPCOO3V5RBUABAECA2FKS4VZLIWYIV2C4UG7I5WE5FU2L66CDXSWT5F5ZKZUTCBYBAAAAAAAAH72SB2TG4NGT3FLTAFO7JVQJEND
+Data 96: STARTPCOKWVRKZ2WEULKWWJJIQNWTKEMELI3ICSG2EUJURJDNCKA2IWRWQFANNIKKXI5AKSOJVGQCNTAZWGAY2UBAAR2KANAA====END
diff --git a/benchmark-data/arrays10-valid=always-interesting=array_average b/benchmark-data/arrays10-valid=always-interesting=array_average
new file mode 100644
index 0000000..670deb2
--- /dev/null
+++ b/benchmark-data/arrays10-valid=always-interesting=array_average
@@ -0,0 +1,29 @@
+# This is an automatically generated file from Hypothesis's benchmarking
+# script (scripts/benchmarks.py).
+#
+# Lines like this starting with a # are designed to be useful for human
+# consumption when reviewing, specifically with a goal of producing
+# useful diffs so that you can get a sense of the impact of a change.
+#
+# This benchmark is for arrays10 [arrays(dtype='int8', shape=10)], with the validity
+# condition "always" and the interestingness condition "array_average".
+# See the script for the exact definitions of these criteria.
+#
+# This benchmark was generated with seed 416
+#
+# Key statistics for this benchmark:
+#
+# * 1000 examples
+# * Mean size: 718.32 bytes, standard deviation: 529.53 bytes
+#
+# Additional interesting statistics:
+#
+# * Ranging from 6 [6 times] to 3226 [once] bytes.
+# * Median size: 824
+# * 99% of examples had at least 42 bytes
+# * 99% of examples had at most 1723 bytes
+#
+# All data after this point is an opaque binary blob. You are not expected
+# to understand it.
+
+Data 3240: STARTPCOELGB3SISDODCEV7JDC5Q3AT75ZKZI4RUQZWPDNFR66LXGJOZNVGEK5ZUX5ACEEIA5J35PT57776767H5PL6RLKZ537IXGX2PTTV75JRC47PQ7FPG72KPG2CZ6YZ4O7R7NKGPPK7XUWS7XV2XP2KPWWMCQWWNDX5K5THPUZP7B5BNLKLKUCWO3OPRLWPXZBJ6ZUPG37ZX5K4TNR5OPPM7IRYUFHFQW7W36SUNQRNK3E66JXBKTCLXW67E4PNX5TBWMY3L7Z5U56UJSC5K5N42TMDMF4WSSMOURNJEULG3J6ZO2RN6ZNTE5HK4RM7WWKVIXYQB2KYEMDXD5WKLAH4OA7JUZ65MLF2IWK4TWRZ6WIB5WGT2WHDBBVAEVABRL2BMPUT3AOQJGQBNEIKLW5K43UCNBOSQ3DAK5G5MU6EORZRHGZTTAAMSOVYMBMWR4S3GRA7X36TJLFQGW4GBD24BWI2OO [...]
diff --git a/benchmark-data/arrays10-valid=always-interesting=lower_bound b/benchmark-data/arrays10-valid=always-interesting=lower_bound
new file mode 100644
index 0000000..e32d9bd
--- /dev/null
+++ b/benchmark-data/arrays10-valid=always-interesting=lower_bound
@@ -0,0 +1,29 @@
+# This is an automatically generated file from Hypothesis's benchmarking
+# script (scripts/benchmarks.py).
+#
+# Lines like this starting with a # are designed to be useful for human
+# consumption when reviewing, specifically with a goal of producing
+# useful diffs so that you can get a sense of the impact of a change.
+#
+# This benchmark is for arrays10 [arrays(dtype='int8', shape=10)], with the validity
+# condition "always" and the interestingness condition "lower_bound".
+# See the script for the exact definitions of these criteria.
+#
+# This benchmark was generated with seed 404
+#
+# Key statistics for this benchmark:
+#
+# * 1000 examples
+# * Mean size: 269.65 bytes, standard deviation: 101.83 bytes
+#
+# Additional interesting statistics:
+#
+# * Ranging from 29 [3 times] to 727 [once] bytes.
+# * Median size: 267
+# * 99% of examples had at least 47 bytes
+# * 99% of examples had at most 551 bytes
+#
+# All data after this point is an opaque binary blob. You are not expected
+# to understand it.
+
+Data 2848: STARTPCOFLGBZWISDODCEV7ZGH3DPCQEXBU2VCTZDJBXM6GSNBXKV7EALAQ2OI4WSYECLEIJ6Y7367T5OX347X57PZ5XVPM57X65L5XT7XKZP777PFNW6VN454Z5H5PTX2YNOM76NRUFNPZ5NH3P3NV76M6635S65V34PH7XWONTVHP25N5LWXTH5YTO7NIRXHPOVZ6Z7IBPW32V4GMXNQML55NKWS3WP22TPVUNHVKLFLXLJ5V2PSPNZGC6ZD3X5LYDF24DFWNUW7TBOXJ3WGZ45HZKX35DVP34GO2LCE7QD6P4ZUOSTZ4K36WLNRVGSLIJ7XP3D63BBQ52WLDYS2OKVJF7B5VFK6TBJORXXVCZLJVXY62OHKVYQ5LF4F74GADD5UAWR4OOQWYOOXGIJHUNEUX6E3HXTMKUM5HJU4EPWZIVSOADLLKT4F2GWRSSJFN7XJLC7N7KJVRLEZQWWBK43LSXCVEKP [...]
diff --git a/benchmark-data/arrays10-valid=always-interesting=never b/benchmark-data/arrays10-valid=always-interesting=never
new file mode 100644
index 0000000..c44c8f4
--- /dev/null
+++ b/benchmark-data/arrays10-valid=always-interesting=never
@@ -0,0 +1,29 @@
+# This is an automatically generated file from Hypothesis's benchmarking
+# script (scripts/benchmarks.py).
+#
+# Lines like this starting with a # are designed to be useful for human
+# consumption when reviewing, specifically with a goal of producing
+# useful diffs so that you can get a sense of the impact of a change.
+#
+# This benchmark is for arrays10 [arrays(dtype='int8', shape=10)], with the validity
+# condition "always" and the interestingness condition "never".
+# See the script for the exact definitions of these criteria.
+#
+# This benchmark was generated with seed 401
+#
+# Key statistics for this benchmark:
+#
+# * 1000 examples
+# * Mean size: 1195.67 bytes, standard deviation: 221.57 bytes
+#
+# Additional interesting statistics:
+#
+# * Ranging from 694 [once] to 2424 [once] bytes.
+# * Median size: 1178
+# * 99% of examples had at least 786 bytes
+# * 99% of examples had at most 1936 bytes
+#
+# All data after this point is an opaque binary blob. You are not expected
+# to understand it.
+
+Data 3288: STARTPCOF3GBZVYSDSESEV7ZFC4QJ3SL34SVDWUXGDZGSMYYHP37U64MIZD2WAKE4QIHJRO43SOP767R7O7767PV7PDZ7X37MZKPXT5PTTD6PONXX5FQZZ4KM6NCKHTLYQN5L7X6FU3L5XZV7DX3IHHPON5DZSZLOGO667PGJWNJZ23L7K6POXLR6O3XRRRW7PCEVFHC6XUXDOWX7YOJ77OXLKYVZI7GPRHJGP6TNRNVFQZMRZV7D5BLEPWEFCUR6YHE7NXLWM34W2SDD3PHZ5TBMFBKBV4L2TOBB362BMNSHIB5OHNA5P6LNY6OGTPLNHM3U4FZSTMKXVIZUZQP6TJM47NRJP23YZCJTK33NIOIUAMFIP5XSDC6MHAJ5GC5MMXV5CBFNFEQ3L6XVQWNQ2FCLKQMMR3NQ3EZYXPQGVZV5C3SEYYRWWGFTOZLA6ETNMJ4Q57HAKT3KMH7QRUFOV5UUFKEMZIQ6 [...]
diff --git a/benchmark-data/arrays10-valid=always-interesting=size_lower_bound b/benchmark-data/arrays10-valid=always-interesting=size_lower_bound
new file mode 100644
index 0000000..7a8afc1
--- /dev/null
+++ b/benchmark-data/arrays10-valid=always-interesting=size_lower_bound
@@ -0,0 +1,29 @@
+# This is an automatically generated file from Hypothesis's benchmarking
+# script (scripts/benchmarks.py).
+#
+# Lines like this starting with a # are designed to be useful for human
+# consumption when reviewing, specifically with a goal of producing
+# useful diffs so that you can get a sense of the impact of a change.
+#
+# This benchmark is for arrays10 [arrays(dtype='int8', shape=10)], with the validity
+# condition "always" and the interestingness condition "size_lower_bound".
+# See the script for the exact definitions of these criteria.
+#
+# This benchmark was generated with seed 405
+#
+# Key statistics for this benchmark:
+#
+# * 1000 examples
+# * Mean size: 17180.64 bytes, standard deviation: 19739.17 bytes
+#
+# Additional interesting statistics:
+#
+# * Ranging from 6 [56 times] to 128851 [once] bytes.
+# * Median size: 9886
+# * 99% of examples had at least 6 bytes
+# * 99% of examples had at most 84297 bytes
+#
+# All data after this point is an opaque binary blob. You are not expected
+# to understand it.
+
+Data 4328: STARTPCOE3GJRSIS3SDKEV4ZDD5Q2AQEYFZC6IUQU626ILZHQVXK5TEHTKKZZ3U676V4RECIMQTDQ7367HT3773VY6P37737OG3YRW7TG6P7WDG7726H6FP33RP75TB5Y5UR7Y3LM6WBX6TGYYUNJL42Z47W5CND67DK4J6P6KCR5PBBX73356TZ6ICH5TVNS7LSZVHSSGXVEC54OG6ELVTZOFN4W72QY75FL6JW32FJVXVP65UF7OLLNI473QZ3X6DWYNOKVPHX37GCRL6J2GJ73HLZDXLV6UIZ5XKPKHCR5FMOMV4OHWHB37NSC4EMR35TJ7ORWPPOMKZ4LL7FTJ5YRZ36O4UEH32WQGLN36FUHB673XRSYPL3HSBPPLL27IXO66F5APJPA6CWKGWR676N4HIMPDPHPVVDT24XUOXIXEP2IMF27TTR6IOVMSM5HR4OXLVTXXXZ4Z3P7NKOWDYFGW2TF45V7 [...]
diff --git a/benchmark-data/arrays10-valid=always-interesting=usually b/benchmark-data/arrays10-valid=always-interesting=usually
new file mode 100644
index 0000000..9858ac6
--- /dev/null
+++ b/benchmark-data/arrays10-valid=always-interesting=usually
@@ -0,0 +1,29 @@
+# This is an automatically generated file from Hypothesis's benchmarking
+# script (scripts/benchmarks.py).
+#
+# Lines like this starting with a # are designed to be useful for human
+# consumption when reviewing, specifically with a goal of producing
+# useful diffs so that you can get a sense of the impact of a change.
+#
+# This benchmark is for arrays10 [arrays(dtype='int8', shape=10)], with the validity
+# condition "always" and the interestingness condition "usually".
+# See the script for the exact definitions of these criteria.
+#
+# This benchmark was generated with seed 403
+#
+# Key statistics for this benchmark:
+#
+# * 1000 examples
+# * Mean size: 12.25 bytes, standard deviation: 23.06 bytes
+#
+# Additional interesting statistics:
+#
+# * Ranging from 6 [905 times] to 183 [once] bytes.
+# * Median size: 6
+# * 99% of examples had at least 6 bytes
+# * 99% of examples had at most 123 bytes
+#
+# All data after this point is an opaque binary blob. You are not expected
+# to understand it.
+
+Data 560: STARTPCONKV6LN3BSAEH4CXF6OHDWMGE2DP2S6VLB66XWVVI77PNAXAEWNAIFHOEVI2NEJCAPPROM3C4YZS6X666IY36D7P4TJFFAGG3UU7SVMV3TE4EN44FEA3NPX5UHVH2E76SLDURRINWGTGQ2YIJR7QDUZ5G6SIBB5UBJKZQBDSW2OIDJAXCDNDUDYSN5EYJOA7X3G6C3EADDN3NJ2WJ2VXGMVOCSKFNYTBABSMTUZQXC7UYEXLHCD3NZ464MM3FLZZ3ROD55YKXI227CJXVEITDJI4CG2OJXIWRXURHPQGTEZ3HHBZZY3ULFCGUPEDLQGOGGDYSSRNCSEXDXRLPIWKAVY4UUCZW5NILYUAZZKUGXYQTS6KGITKTEU2AY6IMQOTETO62ZB5JIOTV2VXU5SKX7R5APIY44RYMPGX44HUHGGS4JQNUTZIFKFYCAUZTSMIYJ2DEP3UHHORHAUQ2XCHBUSUYRN [...]
diff --git a/benchmark-data/arrays10-valid=usually-interesting=array_average b/benchmark-data/arrays10-valid=usually-interesting=array_average
new file mode 100644
index 0000000..a481cc8
--- /dev/null
+++ b/benchmark-data/arrays10-valid=usually-interesting=array_average
@@ -0,0 +1,29 @@
+# This is an automatically generated file from Hypothesis's benchmarking
+# script (scripts/benchmarks.py).
+#
+# Lines like this starting with a # are designed to be useful for human
+# consumption when reviewing, specifically with a goal of producing
+# useful diffs so that you can get a sense of the impact of a change.
+#
+# This benchmark is for arrays10 [arrays(dtype='int8', shape=10)], with the validity
+# condition "usually" and the interestingness condition "array_average".
+# See the script for the exact definitions of these criteria.
+#
+# This benchmark was generated with seed 418
+#
+# Key statistics for this benchmark:
+#
+# * 1000 examples
+# * Mean size: 795.10 bytes, standard deviation: 578.38 bytes
+#
+# Additional interesting statistics:
+#
+# * Ranging from 6 [4 times] to 2684 [once] bytes.
+# * Median size: 997
+# * 99% of examples had at least 27 bytes
+# * 99% of examples had at most 1920 bytes
+#
+# All data after this point is an opaque binary blob. You are not expected
+# to understand it.
+
+Data 3248: STARTPCOE3GB3SIRTOECEV7BBRGYGQDBHPL5CSCTTCZEPE6C64LXEJOQLSBQZMR32GUE7VSWEJ7736XZ7OP67H5P36XT7YR5L64RK7O57L4L6YWEP3PYNLXGWW76PWR7ZLGO7V7PPPTZW64Z5C5NNS33WX6GXX2QXLEMK7Y3BNV5WX5RU5GMXRXIB4ZPNE7TF4VDL22R3DNY4PKYPL7LALNKQ7LT5UHKOUB5HJTLLFH5LAOZ7RB2XNUDF44VZ6NJ3XZNU27F6CEX3ZNXOBZWYRNFNCFS574J56OLPEMS63H5LNFPZXSFST734LIS7MVGEPHTFGHLZYCMKBDYEICPIHA5XQSG6ZJSHRN7N4HJANOMSDYM4H26QXI6LBID3SGTD3FZHHEGW2MEUWAUROKYR5Y5S3HX4C2N6Z5O2YG24AYRHOLS34P376PYCU3XRLWKN7RUKEBLO2U5UUM3HAPBO5ARF43K6JKOH [...]
diff --git a/benchmark-data/arrays10-valid=usually-interesting=size_lower_bound b/benchmark-data/arrays10-valid=usually-interesting=size_lower_bound
new file mode 100644
... 28895 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-hypothesis.git



More information about the Python-modules-commits mailing list