diff --git a/guides/documentation.rst b/guides/documentation.rst index d8849d6b04..63bec86254 100644 --- a/guides/documentation.rst +++ b/guides/documentation.rst @@ -58,7 +58,7 @@ That means every contributor gets to write their changelog! A changelog entry should be written in a new ``RELEASE.rst`` file in the `hypothesis-python` directory, or ``RELEASE.md`` for the Ruby and Rust versions. Note that any change to ``conjecture-rust`` is automatically also -and change for our Ruby package, and therefore requires *two* release files! +a change for our Ruby package, and therefore requires *two* release files! The first line of the file specifies the component of the version number that will be updated, according to our diff --git a/hypothesis-python/RELEASE.rst b/hypothesis-python/RELEASE.rst new file mode 100644 index 0000000000..cfbd34824b --- /dev/null +++ b/hypothesis-python/RELEASE.rst @@ -0,0 +1,4 @@ +RELEASE_TYPE: patch + +This patch updates our vendored `list of top-level domains `__, +which is used by the provisional :func:`~hypothesis.provisional.domains` strategy. diff --git a/hypothesis-python/docs/changes.rst b/hypothesis-python/docs/changes.rst index e734a9830c..fec3daa9ea 100644 --- a/hypothesis-python/docs/changes.rst +++ b/hypothesis-python/docs/changes.rst @@ -24,7 +24,12 @@ Hypothesis 6.x 6.92.1 - 2023-12-16 ------------------- -This patch fixes a bug introduced in :ref:`version 6.92.0 `, where using :func:`~python:dataclasses.dataclass` with a :class:`~python:collections.defaultdict` field as a strategy argument would error. +This patch fixes a bug introduced in :ref:`version 6.92.0 `, +where using the :func:`~hypothesis.strategies.data` strategy would fail +to draw a :func:`~python:dataclasses.dataclass` with a +:class:`~python:collections.defaultdict` field. This was due to a bug +in the standard library which `was fixed in 3.12 +`__, so we've vendored the fix. .. _v6.92.0: diff --git a/hypothesis-python/src/hypothesis/vendor/tlds-alpha-by-domain.txt b/hypothesis-python/src/hypothesis/vendor/tlds-alpha-by-domain.txt index 98deba4045..589b768abd 100644 --- a/hypothesis-python/src/hypothesis/vendor/tlds-alpha-by-domain.txt +++ b/hypothesis-python/src/hypothesis/vendor/tlds-alpha-by-domain.txt @@ -1,4 +1,4 @@ -# Version 2023112500, Last Updated Sat Nov 25 07:07:01 2023 UTC +# Version 2023122300, Last Updated Sat Dec 23 07:07:01 2023 UTC AAA AARP ABB @@ -1016,7 +1016,6 @@ SB SBI SBS SC -SCA SCB SCHAEFFLER SCHMIDT diff --git a/pyproject.toml b/pyproject.toml index 5c7bfc7ffb..99572fe97e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,6 +32,7 @@ ignore = [ "B018", "C408", "COM812", + "DJ007", "DJ008", "E721", "E731", diff --git a/requirements/coverage.txt b/requirements/coverage.txt index 7e0478bfb3..9ac3ca1c6e 100644 --- a/requirements/coverage.txt +++ b/requirements/coverage.txt @@ -10,13 +10,13 @@ async-timeout==4.0.3 # via redis attrs==23.1.0 # via hypothesis (hypothesis-python/setup.py) -black==23.11.0 +black==23.12.1 # via -r requirements/coverage.in click==8.1.7 # via # -r requirements/coverage.in # black -coverage==7.3.2 +coverage==7.3.4 # via -r requirements/coverage.in dpcontracts==0.6.0 # via -r requirements/coverage.in @@ -26,7 +26,7 @@ exceptiongroup==1.2.0 ; python_version < "3.11" # pytest execnet==2.0.2 # via pytest-xdist -fakeredis==2.20.0 +fakeredis==2.20.1 # via -r requirements/coverage.in iniconfig==2.0.0 # via pytest @@ -48,7 +48,7 @@ packaging==23.2 # pytest pandas==2.1.4 # via -r requirements/coverage.in -pathspec==0.12.0 +pathspec==0.12.1 # via black pexpect==4.9.0 # via -r requirements/test.in @@ -86,7 +86,7 @@ tomli==2.0.1 # via # black # pytest -typing-extensions==4.8.0 +typing-extensions==4.9.0 # via # -r requirements/coverage.in # black diff --git a/requirements/fuzzing.txt b/requirements/fuzzing.txt index f989f2f8ad..a91c7abdca 100644 --- a/requirements/fuzzing.txt +++ b/requirements/fuzzing.txt @@ -6,7 +6,7 @@ # annotated-types==0.6.0 # via -r requirements/coverage.in -ansi2html==1.8.0 +ansi2html==1.9.1 # via dash async-timeout==4.0.3 # via redis @@ -14,7 +14,7 @@ attrs==23.1.0 # via # hypothesis # hypothesis (hypothesis-python/setup.py) -black==23.11.0 +black==23.12.1 # via # -r requirements/coverage.in # hypofuzz @@ -31,7 +31,7 @@ click==8.1.7 # black # flask # hypothesis -coverage==7.3.2 +coverage==7.3.4 # via # -r requirements/coverage.in # hypofuzz @@ -52,19 +52,19 @@ exceptiongroup==1.2.0 ; python_version < "3.11" # pytest execnet==2.0.2 # via pytest-xdist -fakeredis==2.20.0 +fakeredis==2.20.1 # via -r requirements/coverage.in flask==3.0.0 # via dash hypofuzz==23.12.1 # via -r requirements/fuzzing.in -hypothesis[cli]==6.91.2 +hypothesis[cli]==6.92.1 # via # hypofuzz # hypothesis idna==3.6 # via requests -importlib-metadata==7.0.0 +importlib-metadata==7.0.1 # via dash iniconfig==2.0.0 # via pytest @@ -105,7 +105,7 @@ pandas==2.1.4 # via # -r requirements/coverage.in # hypofuzz -pathspec==0.12.0 +pathspec==0.12.1 # via black pexpect==4.9.0 # via -r requirements/test.in @@ -115,7 +115,7 @@ plotly==5.18.0 # via dash pluggy==1.3.0 # via pytest -psutil==5.9.6 +psutil==5.9.7 # via hypofuzz ptyprocess==0.7.0 # via pexpect @@ -163,7 +163,7 @@ tomli==2.0.1 # via # black # pytest -typing-extensions==4.8.0 +typing-extensions==4.9.0 # via # -r requirements/coverage.in # black @@ -184,5 +184,5 @@ zipp==3.17.0 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: -setuptools==69.0.2 +setuptools==69.0.3 # via dash diff --git a/requirements/tools.txt b/requirements/tools.txt index 2c7dadfb13..5f1643b847 100644 --- a/requirements/tools.txt +++ b/requirements/tools.txt @@ -6,8 +6,6 @@ # alabaster==0.7.13 # via sphinx -annotated-types==0.6.0 - # via pydantic asgiref==3.7.2 # via django asttokens==2.4.1 @@ -16,18 +14,16 @@ attrs==23.1.0 # via hypothesis (hypothesis-python/setup.py) autoflake==2.2.1 # via shed -babel==2.13.1 +babel==2.14.0 # via sphinx beautifulsoup4==4.12.2 # via sphinx-codeautolink -black==23.11.0 +black==23.12.1 # via shed build==1.0.3 # via pip-tools cachetools==5.3.2 # via tox -cerberus==1.3.5 - # via plette certifi==2023.11.17 # via requests cffi==1.16.0 @@ -46,7 +42,7 @@ colorama==0.4.6 # via tox com2ann==0.3.0 # via shed -coverage==7.3.2 +coverage==7.3.4 # via -r requirements/tools.in cryptography==41.0.7 # via @@ -55,14 +51,10 @@ cryptography==41.0.7 # types-redis decorator==5.1.1 # via ipython -distlib==0.3.7 - # via - # requirementslib - # virtualenv +distlib==0.3.8 + # via virtualenv django==5.0 # via -r requirements/tools.in -docopt==0.6.2 - # via pipreqs docutils==0.20.1 # via # readme-renderer @@ -87,15 +79,15 @@ idna==3.6 # via requests imagesize==1.4.1 # via sphinx -importlib-metadata==7.0.0 +importlib-metadata==7.0.1 # via # keyring # twine iniconfig==2.0.0 # via pytest -ipython==8.18.1 +ipython==8.19.0 # via -r requirements/tools.in -isort==5.13.0 +isort==5.13.2 # via shed jaraco-classes==3.3.0 # via keyring @@ -127,7 +119,7 @@ mdurl==0.1.2 # via markdown-it-py more-itertools==10.1.0 # via jaraco-classes -mypy==1.7.1 +mypy==1.8.0 # via -r requirements/tools.in mypy-extensions==1.0.0 # via @@ -148,33 +140,24 @@ packaging==23.2 # tox parso==0.8.3 # via jedi -pathspec==0.12.0 +pathspec==0.12.1 # via black -pep517==0.13.1 - # via requirementslib pexpect==4.9.0 # via ipython -pip-api==0.0.30 - # via isort pip-tools==7.3.0 # via -r requirements/tools.in -pipreqs==0.4.13 - # via isort pkginfo==1.9.6 # via twine platformdirs==4.1.0 # via # black - # requirementslib # tox # virtualenv -plette[validation]==0.4.4 - # via requirementslib pluggy==1.3.0 # via # pytest # tox -prompt-toolkit==3.0.41 +prompt-toolkit==3.0.43 # via ipython ptyprocess==0.7.0 # via pexpect @@ -182,10 +165,6 @@ pure-eval==0.2.2 # via stack-data pycparser==2.21 # via cffi -pydantic==2.5.2 - # via requirementslib -pydantic-core==2.14.5 - # via pydantic pyflakes==3.1.0 # via autoflake pygments==2.17.2 @@ -198,7 +177,7 @@ pyproject-api==1.6.1 # via tox pyproject-hooks==1.0.0 # via build -pyright==1.1.339 +pyright==1.1.342 # via -r requirements/tools.in pytest==7.4.3 # via -r requirements/tools.in @@ -216,22 +195,18 @@ requests==2.31.0 # via # -r requirements/tools.in # requests-toolbelt - # requirementslib # sphinx # sphinx-jsonschema # twine - # yarg requests-toolbelt==1.0.0 # via twine -requirementslib==3.0.0 - # via isort restructuredtext-lint==1.4.0 # via -r requirements/tools.in rfc3986==2.0.0 # via twine rich==13.7.0 # via twine -ruff==0.1.7 +ruff==0.1.9 # via -r requirements/tools.in secretstorage==3.3.3 # via keyring @@ -297,16 +272,11 @@ tomli==2.0.1 # black # build # mypy - # pep517 # pip-tools # pyproject-api # pyproject-hooks # pytest # tox -tomlkit==0.12.3 - # via - # plette - # requirementslib tox==4.11.4 # via -r requirements/tools.in traitlets==5.14.0 @@ -325,15 +295,13 @@ types-pytz==2023.3.1.1 # via -r requirements/tools.in types-redis==4.6.0.11 # via -r requirements/tools.in -typing-extensions==4.8.0 +typing-extensions==4.9.0 # via # -r requirements/tools.in # asgiref # black # libcst # mypy - # pydantic - # pydantic-core # typing-inspect typing-inspect==0.9.0 # via libcst @@ -347,19 +315,13 @@ wcwidth==0.2.12 # via prompt-toolkit wheel==0.42.0 # via pip-tools -yarg==0.1.9 - # via pipreqs zipp==3.17.0 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: -pip==23.3.1 - # via - # pip-api - # pip-tools - # requirementslib -setuptools==69.0.2 +pip==23.3.2 + # via pip-tools +setuptools==69.0.3 # via # nodeenv # pip-tools - # requirementslib