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 2024-01-29 22:25:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-hypothesmith (Old)
and /work/SRC/openSUSE:Factory/.python-hypothesmith.new.1815 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-hypothesmith"
Mon Jan 29 22:25:58 2024 rev:10 rq:1141815 version:0.3.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-hypothesmith/python-hypothesmith.changes
2023-12-28 22:54:57.892193158 +0100
+++
/work/SRC/openSUSE:Factory/.python-hypothesmith.new.1815/python-hypothesmith.changes
2024-01-29 22:26:02.338970860 +0100
@@ -1,0 +2,6 @@
+Mon Jan 22 23:31:11 UTC 2024 - Dirk Müller <[email protected]>
+
+- update to 0.3.2:
+ * Performance improvements based on Hypothesis 6.93.0
+
+-------------------------------------------------------------------
Old:
----
hypothesmith-0.3.1.tar.gz
New:
----
hypothesmith-0.3.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-hypothesmith.spec ++++++
--- /var/tmp/diff_new_pack.HKsY22/_old 2024-01-29 22:26:03.074997538 +0100
+++ /var/tmp/diff_new_pack.HKsY22/_new 2024-01-29 22:26:03.078997683 +0100
@@ -1,7 +1,7 @@
#
# spec file
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -27,7 +27,7 @@
%bcond_with test
%endif
Name: python-hypothesmith%{psuffix}
-Version: 0.3.1
+Version: 0.3.2
Release: 0
Summary: Hypothesis strategies for generating Python programs,
something like CSmith
License: MPL-2.0
@@ -38,13 +38,13 @@
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-base >= 3.7
-Requires: python-hypothesis >= 6.89.0
+Requires: python-hypothesis >= 6.93.0
Requires: python-lark >= 0.10.1
Requires: python-libcst >= 0.4.0
%if %{with test}
BuildRequires: %{python_module black}
BuildRequires: %{python_module exceptiongroup}
-BuildRequires: %{python_module hypothesis >= 6.89.0}
+BuildRequires: %{python_module hypothesis >= 6.93.0}
BuildRequires: %{python_module lark >= 0.10.1}
BuildRequires: %{python_module libcst >= 0.4.0}
BuildRequires: %{python_module parso}
++++++ hypothesmith-0.3.1.tar.gz -> hypothesmith-0.3.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.3.1/CHANGELOG.md
new/hypothesmith-0.3.2/CHANGELOG.md
--- old/hypothesmith-0.3.1/CHANGELOG.md 2023-11-17 20:00:39.000000000 +0100
+++ new/hypothesmith-0.3.2/CHANGELOG.md 2024-01-13 17:44:25.000000000 +0100
@@ -1,5 +1,9 @@
# Changelog
+### 0.3.2 - 2024-01-13
+- Performance improvements based on
+ [Hypothesis
6.93.0](https://hypothesis.readthedocs.io/en/latest/changes.html#v6-93-0)
+
### 0.3.1 - 2023-09-06
- Hypothesis >= 6.89.0 made some internal changes which broke our
`from_grammar()`.
This patch restores compatibility, and requires the new Hypothesis.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.3.1/PKG-INFO
new/hypothesmith-0.3.2/PKG-INFO
--- old/hypothesmith-0.3.1/PKG-INFO 2023-11-17 20:00:50.726210400 +0100
+++ new/hypothesmith-0.3.2/PKG-INFO 2024-01-13 17:44:32.809634000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: hypothesmith
-Version: 0.3.1
+Version: 0.3.2
Summary: Hypothesis strategies for generating Python programs, something like
CSmith
Home-page: https://github.com/Zac-HD/hypothesmith
Author: Zac Hatfield-Dodds
@@ -22,7 +22,7 @@
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
-Requires-Dist: hypothesis[lark]>=6.84.1
+Requires-Dist: hypothesis[lark]>=6.93.0
Requires-Dist: libcst>=1.0.1
# hypothesmith
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.3.1/deps/check.txt
new/hypothesmith-0.3.2/deps/check.txt
--- old/hypothesmith-0.3.1/deps/check.txt 2023-11-17 20:00:39.000000000
+0100
+++ new/hypothesmith-0.3.2/deps/check.txt 2024-01-13 17:44:25.000000000
+0100
@@ -4,23 +4,23 @@
#
# pip-compile --output-file=deps/check.txt deps/check.in
#
-attrs==23.1.0
+attrs==23.2.0
# via
# flake8-bugbear
# hypothesis
autoflake==2.2.1
# via shed
-bandit==1.7.5
+bandit==1.7.6
# via flake8-bandit
-black==23.11.0
+black==23.12.1
# via shed
click==8.1.7
# via black
com2ann==0.3.0
# via shed
-exceptiongroup==1.1.3
+exceptiongroup==1.2.0
# via hypothesis
-flake8==6.1.0
+flake8==7.0.0
# via
# -r deps/check.in
# flake8-bandit
@@ -29,7 +29,7 @@
# flake8-docstrings
flake8-bandit==4.1.1
# via -r deps/check.in
-flake8-bugbear==23.9.16
+flake8-bugbear==23.12.2
# via -r deps/check.in
flake8-comprehensions==3.14.0
# via -r deps/check.in
@@ -37,11 +37,11 @@
# via -r deps/check.in
gitdb==4.0.11
# via gitpython
-gitpython==3.1.40
+gitpython==3.1.41
# via bandit
-hypothesis==6.89.0
+hypothesis==6.93.0
# via -r deps/check.in
-isort==5.12.0
+isort==5.13.2
# via shed
libcst==1.1.0
# via shed
@@ -51,7 +51,7 @@
# via flake8
mdurl==0.1.2
# via markdown-it-py
-mypy==1.7.0
+mypy==1.8.0
# via -r deps/check.in
mypy-extensions==1.0.0
# via
@@ -60,21 +60,21 @@
# typing-inspect
packaging==23.2
# via black
-pathspec==0.11.2
+pathspec==0.12.1
# via black
pbr==6.0.0
# via stevedore
-platformdirs==4.0.0
+platformdirs==4.1.0
# via black
pycodestyle==2.11.1
# via flake8
pydocstyle==6.3.0
# via flake8-docstrings
-pyflakes==3.1.0
+pyflakes==3.2.0
# via
# autoflake
# flake8
-pygments==2.16.1
+pygments==2.17.2
# via rich
pyupgrade==3.15.0
# via shed
@@ -101,7 +101,7 @@
# autoflake
# black
# mypy
-typing-extensions==4.8.0
+typing-extensions==4.9.0
# via
# black
# libcst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.3.1/deps/test.txt
new/hypothesmith-0.3.2/deps/test.txt
--- old/hypothesmith-0.3.1/deps/test.txt 2023-11-17 20:00:39.000000000
+0100
+++ new/hypothesmith-0.3.2/deps/test.txt 2024-01-13 17:44:25.000000000
+0100
@@ -4,25 +4,25 @@
#
# pip-compile --output-file=deps/test.txt deps/test.in setup.py
#
-attrs==23.1.0
+attrs==23.2.0
# via hypothesis
-black==23.11.0
+black==23.12.1
# via -r deps/test.in
click==8.1.7
# via black
-coverage[toml]==7.3.2
+coverage[toml]==7.4.0
# via pytest-cov
-exceptiongroup==1.1.3
+exceptiongroup==1.2.0
# via
# hypothesis
# pytest
execnet==2.0.2
# via pytest-xdist
-hypothesis[lark]==6.89.0
+hypothesis[lark]==6.93.0
# via hypothesmith (setup.py)
iniconfig==2.0.0
# via pytest
-lark==1.1.8
+lark==1.1.9
# via hypothesis
libcst==1.1.0
# via hypothesmith (setup.py)
@@ -36,20 +36,20 @@
# pytest
parso==0.8.3
# via -r deps/test.in
-pathspec==0.11.2
+pathspec==0.12.1
# via black
-platformdirs==4.0.0
+platformdirs==4.1.0
# via black
pluggy==1.3.0
# via pytest
-pytest==7.4.3
+pytest==7.4.4
# via
# -r deps/test.in
# pytest-cov
# pytest-xdist
pytest-cov==4.1.0
# via -r deps/test.in
-pytest-xdist==3.4.0
+pytest-xdist==3.5.0
# via -r deps/test.in
pyyaml==6.0.1
# via libcst
@@ -60,7 +60,7 @@
# black
# coverage
# pytest
-typing-extensions==4.8.0
+typing-extensions==4.9.0
# via
# black
# libcst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.3.1/setup.py
new/hypothesmith-0.3.2/setup.py
--- old/hypothesmith-0.3.1/setup.py 2023-11-17 20:00:39.000000000 +0100
+++ new/hypothesmith-0.3.2/setup.py 2024-01-13 17:44:25.000000000 +0100
@@ -32,7 +32,7 @@
license="MPL 2.0",
description="Hypothesis strategies for generating Python programs,
something like CSmith",
zip_safe=False,
- install_requires=["hypothesis[lark]>=6.84.1", "libcst>=1.0.1"],
+ install_requires=["hypothesis[lark]>=6.93.0", "libcst>=1.0.1"],
python_requires=">=3.8",
classifiers=[
"Development Status :: 4 - Beta",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.3.1/src/hypothesmith/__init__.py
new/hypothesmith-0.3.2/src/hypothesmith/__init__.py
--- old/hypothesmith-0.3.1/src/hypothesmith/__init__.py 2023-11-17
20:00:39.000000000 +0100
+++ new/hypothesmith-0.3.2/src/hypothesmith/__init__.py 2024-01-13
17:44:25.000000000 +0100
@@ -3,5 +3,5 @@
from hypothesmith.cst import from_node
from hypothesmith.syntactic import from_grammar
-__version__ = "0.3.1"
+__version__ = "0.3.2"
__all__ = ["from_grammar", "from_node"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.3.1/src/hypothesmith/cst.py
new/hypothesmith-0.3.2/src/hypothesmith/cst.py
--- old/hypothesmith-0.3.1/src/hypothesmith/cst.py 2023-11-17
20:00:39.000000000 +0100
+++ new/hypothesmith-0.3.2/src/hypothesmith/cst.py 2024-01-13
17:44:25.000000000 +0100
@@ -21,6 +21,13 @@
from libcst._nodes.expression import ExpressionPosition
from libcst._nodes.statement import _INDENT_WHITESPACE_RE
+from .syntactic import ALLOWED_CHARS
+
+
+def py_from_regex(pattern):
+ return st.from_regex(pattern, fullmatch=True, alphabet=ALLOWED_CHARS)
+
+
# 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 {
@@ -29,11 +36,11 @@
libcst.Imaginary: IMAGNUMBER_RE,
libcst.SimpleWhitespace: libcst._nodes.whitespace.SIMPLE_WHITESPACE_RE,
}.items():
- _strategy = st.builds(node_type, st.from_regex(pattern, fullmatch=True))
+ _strategy = st.builds(node_type, py_from_regex(pattern))
st.register_type_strategy(node_type, _strategy)
# type-ignore comments are special in the 3.8+ (typed) ast, so boost their
chances)
-_comments = st.from_regex(libcst._nodes.whitespace.COMMENT_RE, fullmatch=True)
+_comments = py_from_regex(libcst._nodes.whitespace.COMMENT_RE)
st.register_type_strategy(
libcst.Comment, st.builds(libcst.Comment, _comments | st.just("# type:
ignore"))
)
@@ -68,9 +75,7 @@
# inference to provide most of our arguments for us.
# However, in some cases we want to either restrict arguments (e.g.
libcst.Name),
# or supply something nastier than the default argument (e.g.
libcst.SimpleWhitespace)
-nonempty_whitespace = st.builds(
- libcst.SimpleWhitespace, st.from_regex(" +", fullmatch=True)
-)
+nonempty_whitespace = st.builds(libcst.SimpleWhitespace, py_from_regex(" +"))
REGISTERED = (
[libcst.Asynchronous, nonempty_whitespace],
[libcst.AsName, st.from_type(libcst.Name)],
@@ -89,12 +94,7 @@
st.from_type(libcst.Name) | st.from_type(libcst.Attribute),
nonempty_seq(libcst.ImportAlias),
],
- [
- libcst.IndentedBlock,
- infer,
- infer,
- st.from_regex(_INDENT_WHITESPACE_RE, fullmatch=True),
- ],
+ [libcst.IndentedBlock, infer, infer, py_from_regex(_INDENT_WHITESPACE_RE)],
[libcst.IsNot, infer, nonempty_whitespace, infer],
[
libcst.MatchSingleton,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hypothesmith-0.3.1/src/hypothesmith/syntactic.py
new/hypothesmith-0.3.2/src/hypothesmith/syntactic.py
--- old/hypothesmith-0.3.1/src/hypothesmith/syntactic.py 2023-11-17
20:00:39.000000000 +0100
+++ new/hypothesmith-0.3.2/src/hypothesmith/syntactic.py 2024-01-13
17:44:25.000000000 +0100
@@ -25,6 +25,7 @@
"simple_stmt": "single",
"compound_stmt": "single",
}
+ALLOWED_CHARS = st.characters(codec="utf-8", min_codepoint=1)
class PythonIndenter(Indenter):
@@ -37,17 +38,6 @@
tab_len = 4
-def utf8_encodable(terminal: str) -> bool:
- try:
- terminal.encode()
- return True
- except UnicodeEncodeError: # pragma: no cover
- # Very rarely, a "." in some terminal regex will generate a surrogate
- # character that cannot be encoded as UTF-8. We apply this filter to
- # ensure it doesn't happen at runtime, but don't worry about coverage.
- return False
-
-
class GrammarStrategy(LarkStrategy):
def __init__(self, grammar: Lark, start: str, auto_target: bool):
explicit_strategies = {
@@ -55,11 +45,7 @@
PythonIndenter.DEDENT_type: st.just(""),
"NAME": st.text().filter(str.isidentifier),
}
- super().__init__(grammar, start, explicit_strategies)
- self.terminal_strategies = {
- k: v.map(lambda s: s.replace("\0", "")).filter(utf8_encodable)
- for k, v in self.terminal_strategies.items() # type: ignore
- }
+ super().__init__(grammar, start, explicit_strategies,
alphabet=ALLOWED_CHARS)
self.auto_target = auto_target and start != "single_input"
def do_draw(self, data): # type: ignore
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hypothesmith-0.3.1/src/hypothesmith.egg-info/PKG-INFO
new/hypothesmith-0.3.2/src/hypothesmith.egg-info/PKG-INFO
--- old/hypothesmith-0.3.1/src/hypothesmith.egg-info/PKG-INFO 2023-11-17
20:00:50.000000000 +0100
+++ new/hypothesmith-0.3.2/src/hypothesmith.egg-info/PKG-INFO 2024-01-13
17:44:32.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: hypothesmith
-Version: 0.3.1
+Version: 0.3.2
Summary: Hypothesis strategies for generating Python programs, something like
CSmith
Home-page: https://github.com/Zac-HD/hypothesmith
Author: Zac Hatfield-Dodds
@@ -22,7 +22,7 @@
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
-Requires-Dist: hypothesis[lark]>=6.84.1
+Requires-Dist: hypothesis[lark]>=6.93.0
Requires-Dist: libcst>=1.0.1
# hypothesmith
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hypothesmith-0.3.1/src/hypothesmith.egg-info/requires.txt
new/hypothesmith-0.3.2/src/hypothesmith.egg-info/requires.txt
--- old/hypothesmith-0.3.1/src/hypothesmith.egg-info/requires.txt
2023-11-17 20:00:50.000000000 +0100
+++ new/hypothesmith-0.3.2/src/hypothesmith.egg-info/requires.txt
2024-01-13 17:44:32.000000000 +0100
@@ -1,2 +1,2 @@
-hypothesis[lark]>=6.84.1
+hypothesis[lark]>=6.93.0
libcst>=1.0.1