Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-hypothesmith for
openSUSE:Factory checked in at 2023-10-19 22:47:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-hypothesmith (Old)
and /work/SRC/openSUSE:Factory/.python-hypothesmith.new.1945 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-hypothesmith"
Thu Oct 19 22:47:32 2023 rev:8 rq:1117696 version:0.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-hypothesmith/python-hypothesmith.changes
2023-04-21 18:48:24.088386979 +0200
+++
/work/SRC/openSUSE:Factory/.python-hypothesmith.new.1945/python-hypothesmith.changes
2023-10-19 22:50:00.676289863 +0200
@@ -1,0 +2,7 @@
+Thu Oct 12 13:53:09 UTC 2023 - OndÅej Súkup <[email protected]>
+
+- update to 0.3.0
+ * Even more efficient generation of Python identifiers, using Hypothesis
6.84.1
+ * Dropped support for Python 3.7
+
+-------------------------------------------------------------------
Old:
----
hypothesmith-0.2.3.tar.gz
New:
----
hypothesmith-0.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-hypothesmith.spec ++++++
--- /var/tmp/diff_new_pack.6ZnZ2Y/_old 2023-10-19 22:50:01.376315252 +0200
+++ /var/tmp/diff_new_pack.6ZnZ2Y/_new 2023-10-19 22:50:01.380315398 +0200
@@ -1,7 +1,7 @@
#
# spec file
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -27,13 +27,13 @@
%bcond_with test
%endif
Name: python-hypothesmith%{psuffix}
-Version: 0.2.3
+Version: 0.3.0
Release: 0
Summary: Hypothesis strategies for generating Python programs,
something like CSmith
License: MPL-2.0
URL: https://github.com/Zac-HD/hypothesmith
Source:
https://files.pythonhosted.org/packages/source/h/hypothesmith/hypothesmith-%{version}.tar.gz
-BuildRequires: %{python_module base >= 3.6}
+BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@@ -44,7 +44,7 @@
%if %{with test}
BuildRequires: %{python_module black}
BuildRequires: %{python_module exceptiongroup}
-BuildRequires: %{python_module hypothesis >= 6.58.1}
+BuildRequires: %{python_module hypothesis >= 6.84.1}
BuildRequires: %{python_module lark >= 0.10.1}
BuildRequires: %{python_module libcst >= 0.4.0}
BuildRequires: %{python_module parso}
++++++ hypothesmith-0.2.3.tar.gz -> hypothesmith-0.3.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.2.3/CHANGELOG.md
new/hypothesmith-0.3.0/CHANGELOG.md
--- old/hypothesmith-0.2.3/CHANGELOG.md 2022-12-01 10:33:46.000000000 +0100
+++ new/hypothesmith-0.3.0/CHANGELOG.md 2023-09-06 19:12:48.000000000 +0200
@@ -1,5 +1,10 @@
# Changelog
+### 0.3.0 - 2023-09-06
+- Even more efficient generation of Python identifiers, using
+ [Hypothesis
6.84.1](https://hypothesis.readthedocs.io/en/latest/changes.html#v6-84-1)
+- Dropped support for Python 3.7, which is end-of-life and not supported by
Hypothesis
+
### 0.2.3 - 2022-12-01
- Actually package up the renamed grammar file this time.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.2.3/PKG-INFO
new/hypothesmith-0.3.0/PKG-INFO
--- old/hypothesmith-0.2.3/PKG-INFO 2022-12-01 10:33:54.383975000 +0100
+++ new/hypothesmith-0.3.0/PKG-INFO 2023-09-06 19:13:00.711630800 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: hypothesmith
-Version: 0.2.3
+Version: 0.3.0
Summary: Hypothesis strategies for generating Python programs, something like
CSmith
Home-page: https://github.com/Zac-HD/hypothesmith
Author: Zac Hatfield-Dodds
@@ -14,13 +14,12 @@
Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Testing
-Requires-Python: >=3.7
+Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.2.3/deps/check.in
new/hypothesmith-0.3.0/deps/check.in
--- old/hypothesmith-0.2.3/deps/check.in 2022-12-01 10:33:46.000000000
+0100
+++ new/hypothesmith-0.3.0/deps/check.in 2023-09-06 19:12:48.000000000
+0200
@@ -4,5 +4,6 @@
flake8-bugbear
flake8-comprehensions
flake8-docstrings
+hypothesis # for typechecking
mypy
shed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.2.3/deps/check.txt
new/hypothesmith-0.3.0/deps/check.txt
--- old/hypothesmith-0.2.3/deps/check.txt 2022-12-01 10:33:46.000000000
+0100
+++ new/hypothesmith-0.3.0/deps/check.txt 2023-09-06 19:12:48.000000000
+0200
@@ -1,22 +1,26 @@
#
-# This file is autogenerated by pip-compile with python 3.7
-# To update, run:
+# This file is autogenerated by pip-compile with Python 3.10
+# by the following command:
#
# pip-compile --output-file=deps/check.txt deps/check.in
#
-attrs==22.1.0
- # via flake8-bugbear
-autoflake==2.0.0
+attrs==23.1.0
+ # via
+ # flake8-bugbear
+ # hypothesis
+autoflake==2.2.1
# via shed
-bandit==1.7.4
+bandit==1.7.5
# via flake8-bandit
-black==22.10.0
+black==23.7.0
# via shed
-click==8.1.3
+click==8.1.7
# via black
com2ann==0.3.0
# via shed
-flake8==6.0.0
+exceptiongroup==1.1.3
+ # via hypothesis
+flake8==6.1.0
# via
# -r deps/check.in
# flake8-bandit
@@ -25,78 +29,82 @@
# flake8-docstrings
flake8-bandit==4.1.1
# via -r deps/check.in
-flake8-bugbear==22.10.27
+flake8-bugbear==23.7.10
# via -r deps/check.in
-flake8-comprehensions==3.10.1
+flake8-comprehensions==3.14.0
# via -r deps/check.in
-flake8-docstrings==1.6.0
+flake8-docstrings==1.7.0
# via -r deps/check.in
gitdb==4.0.10
# via gitpython
-gitpython==3.1.29
+gitpython==3.1.34
# via bandit
-importlib-metadata==5.1.0
- # via
- # click
- # flake8
- # flake8-comprehensions
- # stevedore
-isort==5.10.1
+hypothesis==6.84.1
+ # via -r deps/check.in
+isort==5.12.0
# via shed
-libcst==0.4.9
+libcst==1.0.1
# via shed
+markdown-it-py==3.0.0
+ # via rich
mccabe==0.7.0
# via flake8
-mypy==0.991
+mdurl==0.1.2
+ # via markdown-it-py
+mypy==1.5.1
# via -r deps/check.in
-mypy-extensions==0.4.3
+mypy-extensions==1.0.0
# via
# black
# mypy
# typing-inspect
-pathspec==0.10.2
+packaging==23.1
+ # via black
+pathspec==0.11.2
# via black
-pbr==5.11.0
+pbr==5.11.1
# via stevedore
-platformdirs==2.5.4
+platformdirs==3.10.0
# via black
-pycodestyle==2.10.0
+pycodestyle==2.11.0
# via flake8
-pydocstyle==6.1.1
+pydocstyle==6.3.0
# via flake8-docstrings
-pyflakes==3.0.1
+pyflakes==3.1.0
# via
# autoflake
# flake8
-pyupgrade==3.2.2
+pygments==2.16.1
+ # via rich
+pyupgrade==3.10.1
# via shed
-pyyaml==6.0
+pyyaml==6.0.1
# via
# bandit
# libcst
-shed==0.10.7
+rich==13.5.2
+ # via bandit
+shed==2023.6.1
# via -r deps/check.in
smmap==5.0.0
# via gitdb
snowballstemmer==2.2.0
# via pydocstyle
-stevedore==4.1.1
+sortedcontainers==2.4.0
+ # via hypothesis
+stevedore==5.1.0
# via bandit
-tokenize-rt==5.0.0
+tokenize-rt==5.2.0
# via pyupgrade
tomli==2.0.1
# via
# autoflake
# black
# mypy
-typing-extensions==4.4.0
+typing-extensions==4.7.1
# via
- # black
- # importlib-metadata
# libcst
# mypy
# typing-inspect
-typing-inspect==0.8.0
+typing-inspect==0.9.0
# via libcst
-zipp==3.11.0
- # via importlib-metadata
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.2.3/deps/test.txt
new/hypothesmith-0.3.0/deps/test.txt
--- old/hypothesmith-0.2.3/deps/test.txt 2022-12-01 10:33:46.000000000
+0100
+++ new/hypothesmith-0.3.0/deps/test.txt 2023-09-06 19:12:48.000000000
+0200
@@ -1,64 +1,57 @@
#
-# This file is autogenerated by pip-compile with python 3.7
-# To update, run:
+# This file is autogenerated by pip-compile with Python 3.10
+# by the following command:
#
# pip-compile --output-file=deps/test.txt deps/test.in setup.py
#
-attrs==22.1.0
- # via
- # hypothesis
- # pytest
-black==22.10.0
+attrs==23.1.0
+ # via hypothesis
+black==23.7.0
# via -r deps/test.in
-click==8.1.3
+click==8.1.7
# via black
-coverage[toml]==6.5.0
+coverage[toml]==7.3.0
# via pytest-cov
-exceptiongroup==1.0.4
+exceptiongroup==1.1.3
# via
# hypothesis
# pytest
-execnet==1.9.0
+execnet==2.0.2
# via pytest-xdist
-hypothesis[lark]==6.58.1
+hypothesis[lark]==6.84.1
# via hypothesmith (setup.py)
-importlib-metadata==5.1.0
- # via
- # click
- # pluggy
- # pytest
-iniconfig==1.1.1
+iniconfig==2.0.0
# via pytest
-lark==1.1.4
+lark==1.1.7
# via hypothesis
-libcst==0.4.9
+libcst==1.0.1
# via hypothesmith (setup.py)
-mypy-extensions==0.4.3
+mypy-extensions==1.0.0
# via
# black
# typing-inspect
-packaging==21.3
- # via pytest
+packaging==23.1
+ # via
+ # black
+ # pytest
parso==0.8.3
# via -r deps/test.in
-pathspec==0.10.2
+pathspec==0.11.2
# via black
-platformdirs==2.5.4
+platformdirs==3.10.0
# via black
-pluggy==1.0.0
+pluggy==1.3.0
# via pytest
-pyparsing==3.0.9
- # via packaging
-pytest==7.2.0
+pytest==7.4.1
# via
# -r deps/test.in
# pytest-cov
# pytest-xdist
-pytest-cov==4.0.0
+pytest-cov==4.1.0
# via -r deps/test.in
-pytest-xdist==3.0.2
+pytest-xdist==3.3.1
# via -r deps/test.in
-pyyaml==6.0
+pyyaml==6.0.1
# via libcst
sortedcontainers==2.4.0
# via hypothesis
@@ -67,15 +60,9 @@
# black
# coverage
# pytest
-typed-ast==1.5.4
- # via black
-typing-extensions==4.4.0
+typing-extensions==4.7.1
# via
- # black
- # importlib-metadata
# libcst
# typing-inspect
-typing-inspect==0.8.0
+typing-inspect==0.9.0
# via libcst
-zipp==3.11.0
- # via importlib-metadata
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.2.3/setup.py
new/hypothesmith-0.3.0/setup.py
--- old/hypothesmith-0.2.3/setup.py 2022-12-01 10:33:46.000000000 +0100
+++ new/hypothesmith-0.3.0/setup.py 2023-09-06 19:12:48.000000000 +0200
@@ -32,8 +32,8 @@
license="MPL 2.0",
description="Hypothesis strategies for generating Python programs,
something like CSmith",
zip_safe=False,
- install_requires=["hypothesis[lark]>=6.58.1", "libcst>=0.4.0"],
- python_requires=">=3.7",
+ install_requires=["hypothesis[lark]>=6.84.1", "libcst>=1.0.1"],
+ python_requires=">=3.8",
classifiers=[
"Development Status :: 4 - Beta",
"Framework :: Hypothesis",
@@ -41,7 +41,6 @@
"License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
- "Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.2.3/src/hypothesmith/__init__.py
new/hypothesmith-0.3.0/src/hypothesmith/__init__.py
--- old/hypothesmith-0.2.3/src/hypothesmith/__init__.py 2022-12-01
10:33:46.000000000 +0100
+++ new/hypothesmith-0.3.0/src/hypothesmith/__init__.py 2023-09-06
19:12:48.000000000 +0200
@@ -3,5 +3,5 @@
from hypothesmith.cst import from_node
from hypothesmith.syntactic import from_grammar
-__version__ = "0.2.3"
+__version__ = "0.3.0"
__all__ = ["from_grammar", "from_node"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.2.3/src/hypothesmith/cst.py
new/hypothesmith-0.3.0/src/hypothesmith/cst.py
--- old/hypothesmith-0.2.3/src/hypothesmith/cst.py 2022-12-01
10:33:46.000000000 +0100
+++ new/hypothesmith-0.3.0/src/hypothesmith/cst.py 2023-09-06
19:12:48.000000000 +0200
@@ -21,8 +21,6 @@
from libcst._nodes.expression import ExpressionPosition
from libcst._nodes.statement import _INDENT_WHITESPACE_RE
-from hypothesmith.syntactic import identifiers
-
# For some nodes, we just need to ensure that they use the appropriate regex
# pattern instead of allowing literally any string.
for node_type, pattern in {
@@ -42,7 +40,9 @@
# `from_type()` has less laziness than other strategies, we we register for
these
# foundational node types *before* referring to them in other strategies.
-st.register_type_strategy(libcst.Name, st.builds(libcst.Name, identifiers()))
+st.register_type_strategy(
+ libcst.Name, st.builds(libcst.Name, st.text().filter(str.isidentifier))
+)
st.register_type_strategy(
libcst.SimpleString, st.builds(libcst.SimpleString, st.text().map(repr))
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.2.3/src/hypothesmith/syntactic.py
new/hypothesmith-0.3.0/src/hypothesmith/syntactic.py
--- old/hypothesmith-0.2.3/src/hypothesmith/syntactic.py 2022-12-01
10:33:46.000000000 +0100
+++ new/hypothesmith-0.3.0/src/hypothesmith/syntactic.py 2023-09-06
19:12:48.000000000 +0200
@@ -4,12 +4,10 @@
import dis
import sys
import warnings
-from functools import lru_cache
from importlib.resources import read_text
from hypothesis import assume, strategies as st
from hypothesis.extra.lark import LarkStrategy
-from hypothesis.internal.charmap import _union_intervals
from lark import Lark
from lark.indenter import Indenter
@@ -29,27 +27,6 @@
}
-def _chars_to_regex_set(s: list) -> str:
- spans = tuple((ord(c), ord(c)) for c in s)
- return "".join(
- chr(a) if a == b else f"{chr(a)}-{chr(b)}"
- for a, b in _union_intervals(spans, spans)
- )
-
-
-@lru_cache()
-def identifiers() -> st.SearchStrategy[str]:
- lead = []
- subs = []
- for c in map(chr, range(sys.maxunicode + 1)):
- if utf8_encodable(c) and ("_" + c).isidentifier():
- subs.append(c) # e.g. "1"
- if c.isidentifier():
- lead.append(c) # e.g. "a"
- pattern = f"[{_chars_to_regex_set(lead)}][{_chars_to_regex_set(subs)}]*"
- return st.from_regex(pattern, fullmatch=True)
-
-
class PythonIndenter(Indenter):
# https://github.com/lark-parser/lark/blob/master/examples/python_parser.py
NL_type = "_NEWLINE"
@@ -76,7 +53,7 @@
explicit_strategies = {
PythonIndenter.INDENT_type: st.just(" " * PythonIndenter.tab_len),
PythonIndenter.DEDENT_type: st.just(""),
- "NAME": identifiers(),
+ "NAME": st.text().filter(str.isidentifier),
}
super().__init__(grammar, start, explicit_strategies)
self.terminal_strategies = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hypothesmith-0.2.3/src/hypothesmith.egg-info/PKG-INFO
new/hypothesmith-0.3.0/src/hypothesmith.egg-info/PKG-INFO
--- old/hypothesmith-0.2.3/src/hypothesmith.egg-info/PKG-INFO 2022-12-01
10:33:54.000000000 +0100
+++ new/hypothesmith-0.3.0/src/hypothesmith.egg-info/PKG-INFO 2023-09-06
19:13:00.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: hypothesmith
-Version: 0.2.3
+Version: 0.3.0
Summary: Hypothesis strategies for generating Python programs, something like
CSmith
Home-page: https://github.com/Zac-HD/hypothesmith
Author: Zac Hatfield-Dodds
@@ -14,13 +14,12 @@
Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Testing
-Requires-Python: >=3.7
+Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hypothesmith-0.2.3/src/hypothesmith.egg-info/requires.txt
new/hypothesmith-0.3.0/src/hypothesmith.egg-info/requires.txt
--- old/hypothesmith-0.2.3/src/hypothesmith.egg-info/requires.txt
2022-12-01 10:33:54.000000000 +0100
+++ new/hypothesmith-0.3.0/src/hypothesmith.egg-info/requires.txt
2023-09-06 19:13:00.000000000 +0200
@@ -1,2 +1,2 @@
-hypothesis[lark]>=6.58.1
-libcst>=0.4.0
+hypothesis[lark]>=6.84.1
+libcst>=1.0.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.2.3/tests/test_syntactic.py
new/hypothesmith-0.3.0/tests/test_syntactic.py
--- old/hypothesmith-0.2.3/tests/test_syntactic.py 2022-12-01
10:33:46.000000000 +0100
+++ new/hypothesmith-0.3.0/tests/test_syntactic.py 2023-09-06
19:12:48.000000000 +0200
@@ -96,12 +96,6 @@
compile(source_code, filename="<string>", mode="exec")
-@given(hypothesmith.syntactic.identifiers())
-def test_names_are_all_identifiers(name):
- assert name.isidentifier()
- name.encode() # should be UTF-8 encodable
-
-
@given(source_code=hypothesmith.from_grammar())
def test_parso_from_grammar(source_code):
result = parso.parse(source_code).get_code()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.2.3/tests/test_version.py
new/hypothesmith-0.3.0/tests/test_version.py
--- old/hypothesmith-0.2.3/tests/test_version.py 2022-12-01
10:33:46.000000000 +0100
+++ new/hypothesmith-0.3.0/tests/test_version.py 2023-09-06
19:12:48.000000000 +0200
@@ -18,7 +18,7 @@
return cls(*map(int, string.split(".")))
-@lru_cache()
+@lru_cache
def get_releases():
pattern = re.compile(r"^### (\d+\.\d+\.\d+) - (\d\d\d\d-\d\d-\d\d)$")
with open(Path(__file__).parent.parent / "CHANGELOG.md") as f:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.2.3/tox.ini
new/hypothesmith-0.3.0/tox.ini
--- old/hypothesmith-0.2.3/tox.ini 2022-12-01 10:33:46.000000000 +0100
+++ new/hypothesmith-0.3.0/tox.ini 2023-09-06 19:12:48.000000000 +0200
@@ -11,7 +11,7 @@
commands =
shed
flake8
- mypy --config-file=tox.ini .
+ ; mypy --config-file=tox.ini src/hypothesmith/
[testenv:test]
description = Runs pytest with posargs - `tox -e test -- -v` == `pytest -v`