Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-dogpile.cache for
openSUSE:Factory checked in at 2023-05-30 22:02:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-dogpile.cache (Old)
and /work/SRC/openSUSE:Factory/.python-dogpile.cache.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-dogpile.cache"
Tue May 30 22:02:18 2023 rev:37 rq:1089613 version:1.2.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-dogpile.cache/python-dogpile.cache.changes
2023-05-10 16:19:02.551158568 +0200
+++
/work/SRC/openSUSE:Factory/.python-dogpile.cache.new.1533/python-dogpile.cache.changes
2023-05-30 22:02:32.911047816 +0200
@@ -1,0 +2,7 @@
+Mon May 29 16:38:30 UTC 2023 - Dirk Müller <[email protected]>
+
+- update to 1.2.1:
+ * Added py.typed file to root so that typing tools such as Mypy
+ recognize dogpile as typed. Pull request courtesy Daverball.
+
+-------------------------------------------------------------------
Old:
----
dogpile.cache-1.2.0.tar.gz
New:
----
dogpile.cache-1.2.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-dogpile.cache.spec ++++++
--- /var/tmp/diff_new_pack.NGCPZF/_old 2023-05-30 22:02:33.283050008 +0200
+++ /var/tmp/diff_new_pack.NGCPZF/_new 2023-05-30 22:02:33.287050032 +0200
@@ -19,10 +19,10 @@
%{?!python_module:%define python_module() python3-%{**}}
%global pythons python3
Name: python-dogpile.cache
-Version: 1.2.0
+Version: 1.2.1
Release: 0
%define modname dogpile.cache
-%define modver 1_2_0
+%define modver 1_2_1
Summary: A caching front-end based on the Dogpile lock
License: BSD-3-Clause
URL: https://github.com/sqlalchemy/dogpile.cache
++++++ dogpile.cache-1.2.0.tar.gz -> dogpile.cache-1.2.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/dogpile.cache-rel_1_2_0/docs/build/changelog.rst
new/dogpile.cache-rel_1_2_1/docs/build/changelog.rst
--- old/dogpile.cache-rel_1_2_0/docs/build/changelog.rst 2023-04-26
17:47:49.000000000 +0200
+++ new/dogpile.cache-rel_1_2_1/docs/build/changelog.rst 2023-05-20
17:56:52.000000000 +0200
@@ -3,6 +3,17 @@
=========
.. changelog::
+ :version: 1.2.1
+ :released: Sat May 20 2023
+
+ .. change::
+ :tags: bug, typing
+ :tickets: 238
+
+ Added py.typed file to root so that typing tools such as Mypy recognize
+ dogpile as typed. Pull request courtesy Daverball.
+
+.. changelog::
:version: 1.2.0
:released: Wed Apr 26 2023
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/dogpile.cache-rel_1_2_0/docs/build/conf.py
new/dogpile.cache-rel_1_2_1/docs/build/conf.py
--- old/dogpile.cache-rel_1_2_0/docs/build/conf.py 2023-04-26
17:47:49.000000000 +0200
+++ new/dogpile.cache-rel_1_2_1/docs/build/conf.py 2023-05-20
17:56:52.000000000 +0200
@@ -74,7 +74,7 @@
# The short X.Y version.
version = dogpile.__version__
# The full version, including alpha/beta/rc tags.
-release = "1.2.0"
+release = "1.2.1"
# The language for content autogenerated by Sphinx. Refer to documentation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/dogpile.cache-rel_1_2_0/dogpile/__init__.py
new/dogpile.cache-rel_1_2_1/dogpile/__init__.py
--- old/dogpile.cache-rel_1_2_0/dogpile/__init__.py 2023-04-26
17:47:49.000000000 +0200
+++ new/dogpile.cache-rel_1_2_1/dogpile/__init__.py 2023-05-20
17:56:52.000000000 +0200
@@ -1,4 +1,4 @@
-__version__ = "1.2.0"
+__version__ = "1.2.1"
from .lock import Lock # noqa
from .lock import NeedRegenerationException # noqa
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/dogpile.cache-rel_1_2_0/setup.cfg
new/dogpile.cache-rel_1_2_1/setup.cfg
--- old/dogpile.cache-rel_1_2_0/setup.cfg 2023-04-26 17:47:49.000000000
+0200
+++ new/dogpile.cache-rel_1_2_1/setup.cfg 2023-05-20 17:56:52.000000000
+0200
@@ -27,6 +27,7 @@
zip_safe = False
packages = find:
python_requires = >=3.6
+include_package_data = True
package_dir =
=.
@@ -38,6 +39,9 @@
[options.exclude_package_data]
'' = tests*
+[options.package_data]
+* = py.typed
+
[options.entry_points]
mako.cache =
dogpile.cache = dogpile.cache.plugins.mako_cache:MakoPlugin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/dogpile.cache-rel_1_2_0/tests/cache/_fixtures.py
new/dogpile.cache-rel_1_2_1/tests/cache/_fixtures.py
--- old/dogpile.cache-rel_1_2_0/tests/cache/_fixtures.py 2023-04-26
17:47:49.000000000 +0200
+++ new/dogpile.cache-rel_1_2_1/tests/cache/_fixtures.py 2023-05-20
17:56:52.000000000 +0200
@@ -21,6 +21,10 @@
from . import eq_
+def gen_some_key():
+ return f"some_key_{random.randint(1, 100000)}"
+
+
class _GenericBackendFixture(object):
@classmethod
def setup_class(cls):
@@ -33,12 +37,13 @@
cls._check_backend_available(backend)
def tearDown(self):
+ some_key = gen_some_key()
if self._region_inst:
for key in self._keys:
self._region_inst.delete(key)
self._keys.clear()
elif self._backend_inst:
- self._backend_inst.delete("some_key")
+ self._backend_inst.delete(some_key)
@classmethod
def _check_backend_available(cls, backend):
@@ -94,22 +99,26 @@
class _GenericBackendTest(_GenericBackendFixture, TestCase):
def test_backend_get_nothing(self):
backend = self._backend()
- eq_(backend.get_serialized("some_key"), NO_VALUE)
+ some_key = gen_some_key()
+ eq_(backend.get_serialized(some_key), NO_VALUE)
def test_backend_delete_nothing(self):
backend = self._backend()
- backend.delete("some_key")
+ some_key = gen_some_key()
+ backend.delete(some_key)
def test_backend_set_get_value(self):
backend = self._backend()
- backend.set_serialized("some_key", b"some value")
- eq_(backend.get_serialized("some_key"), b"some value")
+ some_key = gen_some_key()
+ backend.set_serialized(some_key, b"some value")
+ eq_(backend.get_serialized(some_key), b"some value")
def test_backend_delete(self):
backend = self._backend()
- backend.set_serialized("some_key", b"some value")
- backend.delete("some_key")
- eq_(backend.get_serialized("some_key"), NO_VALUE)
+ some_key = gen_some_key()
+ backend.set_serialized(some_key, b"some value")
+ backend.delete(some_key)
+ eq_(backend.get_serialized(some_key), NO_VALUE)
def test_region_is_key_locked(self):
reg = self._region()
@@ -128,8 +137,9 @@
def test_region_set_get_value(self):
reg = self._region()
- reg.set("some key", "some value")
- eq_(reg.get("some key"), "some value")
+ some_key = gen_some_key()
+ reg.set(some_key, "some value")
+ eq_(reg.get(some_key), "some value")
def test_region_set_multiple_values(self):
reg = self._region()
@@ -202,8 +212,9 @@
def test_region_set_get_nothing(self):
reg = self._region()
- reg.delete_multi(["some key"])
- eq_(reg.get("some key"), NO_VALUE)
+ some_key = gen_some_key()
+ reg.delete_multi([some_key])
+ eq_(reg.get(some_key), NO_VALUE)
def test_region_creator(self):
reg = self._region()
@@ -211,7 +222,8 @@
def creator():
return "some value"
- eq_(reg.get_or_create("some key", creator), "some value")
+ some_key = gen_some_key()
+ eq_(reg.get_or_create(some_key, creator), "some value")
@pytest.mark.time_intensive
def test_threaded_dogpile(self):
@@ -221,6 +233,7 @@
reg = self._region(config_args={"expiration_time": 0.25})
lock = Lock()
canary = []
+ some_key = gen_some_key()
def creator():
ack = lock.acquire(False)
@@ -232,7 +245,7 @@
def f():
for x in range(5):
- reg.get_or_create("some key", creator)
+ reg.get_or_create(some_key, creator)
time.sleep(0.5)
threads = [Thread(target=f) for i in range(10)]
@@ -253,8 +266,9 @@
With "distributed" locks, this is not 100% the case.
"""
+ some_key = gen_some_key()
reg = self._region(config_args={"expiration_time": 0.25})
- backend_mutex = reg.backend.get_mutex("some_key")
+ backend_mutex = reg.backend.get_mutex(some_key)
is_custom_mutex = backend_mutex is not None
locks = dict((str(i), Lock()) for i in range(11))
@@ -310,10 +324,11 @@
def test_region_delete(self):
reg = self._region()
- reg.set("some key", "some value")
- reg.delete("some key")
- reg.delete("some key")
- eq_(reg.get("some key"), NO_VALUE)
+ some_key = gen_some_key()
+ reg.set(some_key, "some value")
+ reg.delete(some_key)
+ reg.delete(some_key)
+ eq_(reg.get(some_key), NO_VALUE)
@pytest.mark.time_intensive
def test_region_expire(self):
@@ -324,6 +339,7 @@
# with very slow processing missing a timeout, as is often the
# case with this particular test
+ some_key = gen_some_key()
expire_time = 1.00
reg = self._region(config_args={"expiration_time": expire_time})
@@ -332,18 +348,18 @@
def creator():
return "some value %d" % next(counter)
- eq_(reg.get_or_create("some key", creator), "some value 1")
+ eq_(reg.get_or_create(some_key, creator), "some value 1")
time.sleep(expire_time + (0.2 * expire_time))
# expiration is definitely hit
- post_expiration = reg.get("some key", ignore_expiration=True)
+ post_expiration = reg.get(some_key, ignore_expiration=True)
if post_expiration is not NO_VALUE:
eq_(post_expiration, "some value 1")
- eq_(reg.get_or_create("some key", creator), "some value 2")
+ eq_(reg.get_or_create(some_key, creator), "some value 2")
# this line needs to run less the expire_time sec before the previous
# two or it hits the expiration
- eq_(reg.get("some key"), "some value 2")
+ eq_(reg.get(some_key), "some value 2")
def test_decorated_fn_functionality(self):
# test for any quirks in the fn decoration that interact
@@ -371,13 +387,14 @@
eq_(my_function(4, 3), 11)
def test_exploding_value_fn(self):
+ some_key = gen_some_key()
reg = self._region()
def boom():
raise Exception("boom")
assert_raises_message(
- Exception, "boom", reg.get_or_create, "some_key", boom
+ Exception, "boom", reg.get_or_create, some_key, boom
)