From 757239717330a0db3ddf71c127ee11c90b6e487ad2f464d402a521b38ba14ab1 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Sat, 5 Jul 2025 15:04:17 +0000 Subject: [PATCH] - update to 1.3.4: * [usecase] [valkey] Added backend for valkey server. This is based on valkey-py as the driver. * Fixes to the recently added RedisClusterBackend fixing a runtime typing error that prevented it from running. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-dogpile.cache?expand=0&rev=93 --- .gitattributes | 23 ++ .gitignore | 1 + dogpile.cache-1.3.3.tar.gz | 3 + dogpile.cache-1.3.4.tar.gz | 3 + python-dogpile.cache.changes | 528 +++++++++++++++++++++++++++++++++++ python-dogpile.cache.spec | 73 +++++ 6 files changed, 631 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 dogpile.cache-1.3.3.tar.gz create mode 100644 dogpile.cache-1.3.4.tar.gz create mode 100644 python-dogpile.cache.changes create mode 100644 python-dogpile.cache.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/dogpile.cache-1.3.3.tar.gz b/dogpile.cache-1.3.3.tar.gz new file mode 100644 index 0000000..c2ed883 --- /dev/null +++ b/dogpile.cache-1.3.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3810465974f135686f22d0b6efa67e57bd6b3940fbfc61eb25c204fa45f5876b +size 108334 diff --git a/dogpile.cache-1.3.4.tar.gz b/dogpile.cache-1.3.4.tar.gz new file mode 100644 index 0000000..fa15de2 --- /dev/null +++ b/dogpile.cache-1.3.4.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7469a183a2434cc1526c91229e4abcdede2e07e72ade21f9171e14a1df0d494 +size 112106 diff --git a/python-dogpile.cache.changes b/python-dogpile.cache.changes new file mode 100644 index 0000000..93fb965 --- /dev/null +++ b/python-dogpile.cache.changes @@ -0,0 +1,528 @@ +------------------------------------------------------------------- +Sat Jul 5 15:03:31 UTC 2025 - Dirk Müller + +- update to 1.3.4: + * [usecase] [valkey] Added backend for valkey server. This is + based on valkey-py as the driver. + * Fixes to the recently added RedisClusterBackend fixing a + runtime typing error that prevented it from running. + +------------------------------------------------------------------- +Wed Mar 26 07:48:23 UTC 2025 - Steve Kowalik + +- Normalize metadata directory name. + +------------------------------------------------------------------- +Mon May 6 08:35:52 UTC 2024 - Dirk Müller + +- update to 1.3.3: + * Added support for an additional pymemcached client parameter + PyMemcacheBackend.memcached_expire_time + * Fixed the return type for CacheRegion.get(), which was + inadvertently hardcoded to use CacheReturnType that only + resolved to CachedValue or NoValue. Fixed to return + ValuePayload which resolves to Any, as well as a new literal + indicating an enum constant for :data:.api.NO_VALUE. The + :data:.api.NO_VALUE constant remains available as the single + element of this enum. + +------------------------------------------------------------------- +Mon Mar 18 12:15:51 UTC 2024 - Dirk Müller + +- update to 1.3.2: + * Added a new backend RedisClusterBackend, allowing support for + Redis Cluster. + * Added support for additional Redis client parameters + RedisBackend.socket_connect_timeout, + RedisBackend.socket_keepalive and + RedisBackend.socket_keepalive_options. + +------------------------------------------------------------------- +Thu Feb 8 09:34:47 UTC 2024 - Dirk Müller + +- update to 1.3.1: + * Added new parameter RedisBackend.username to the Redis + backend, and RedisSentinelBackend.username to the Redis + Sentinel backend. These parameters allow for username + authentication in Redis when RBAC is enabled. + +------------------------------------------------------------------- +Sun Jan 7 21:53:54 UTC 2024 - Dirk Müller + +- use %{?sle15_python_module_pythons} +- add typing-extensions + +------------------------------------------------------------------- +Thu Dec 28 09:04:01 UTC 2023 - Dirk Müller + +- update to 1.3.0: + * Added new method :meth:`.CacheRegion.get_value_metadata` + which can be used to get a value from the cache along with + its metadata, including timestamp of when the value was cached. + The :class:`.CachedValue` object is returned which features + new accessors to retrieve cached time and current age. + * Minimum Python version is now Python 3.8; prior versions + Python 3.7 and 3.6 are EOL. + * Project setup is now based on pep-621 ``pyproject.toml`` + configuration. + +------------------------------------------------------------------- +Mon Jul 10 13:09:58 UTC 2023 - Dirk Müller + +- update to 1.2.2: + * Made use of pep-673 ``Self`` type for method chained methods + such as .CacheRegion.configure and .ProxyBackend.wrap + +------------------------------------------------------------------- +Mon May 29 16:38:30 UTC 2023 - Dirk Müller + +- 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. + +------------------------------------------------------------------- +Tue May 9 21:34:11 UTC 2023 - Dirk Müller + +- update to 1.2.0: + * Added new construct api.CantDeserializeException which can be + raised by user-defined deserializer functions which would be + passed to CacheRegion.deserializer, to indicate a cache value + that can't be deserialized and therefore should be regenerated. + +------------------------------------------------------------------- +Tue Jul 19 12:05:35 UTC 2022 - Dirk Müller + +- update to 1.1.8: + * Moved the MemcacheArgs.dead_retry argument and the + MemcacheArgs.socket_timeout argument which were erroneously added to the + “set_parameters”, where they have no effect, to be part of the Memcached + connection arguments MemcachedBackend.dead_retry, + MemcachedBackend.socket_timeout. + * Added MemcacheArgs.dead_retry and MemcacheArgs.socket_timeout to the + dictionary of additional keyword arguments that will be passed directly to + GenericMemcachedBackend(). + * Added RedisBackend.connection_kwargs parameter, which is a dictionary of + additional keyword arguments that will be passed directly to StrictRedis() or + StrictRedis.from_url(), in the same way that this parameter works with the + RedisSentinelBackend already + +------------------------------------------------------------------- +Wed Mar 30 09:37:29 UTC 2022 - Luigi Baldoni + +- Update to version 1.1.5 + * Added support for additional pymemcache HashClient + parameters: retry_attempts, retry_timeout, and + dead_timeout. + +------------------------------------------------------------------- +Fri Dec 3 21:43:51 UTC 2021 - Ben Greiner + +- Update requirements + +------------------------------------------------------------------- +Mon Sep 6 04:29:32 UTC 2021 - Steve Kowalik + +- Update to 1.1.4: + * [usecase] [memcached] Added support for pymemcache socket keepalive + and retrying client. + * [bug] [general] Fixed Python 3.10 deprecation warning involving + threading. Pull request + * [bug] [regression] [tests] Repaired the test suite to work with the + 5.x series of the decorator module, which now appears to make use of + the __signature__ attribute. + * [bug] [regression] Fixed regression where ProxyBackend was missing + several methods that were added as part of the 1.1 release. + * [feature] [region] Added new region method CacheRegion.key_is_locked(). + Returns True if the given key is subject to the dogpile lock, which + would indicate that the generator function is running at that time. + * [feature] [memcached] Added support for the pymemcache backend, using + the "dogpile.cache.pymemcache" backend identifier. + +------------------------------------------------------------------- +Thu Jun 17 20:59:19 UTC 2021 - Dirk Müller + +- update to 1.1.3: + * rereleae, no changes + +------------------------------------------------------------------- +Thu Apr 22 20:27:18 UTC 2021 - Dirk Müller + +- update to 1.1.2: + * rerelease, no changes + +------------------------------------------------------------------- +Wed Mar 10 15:18:25 UTC 2021 - Dirk Müller + +- fix build for older distributions with old default-pytest + +------------------------------------------------------------------- +Sun Jan 24 18:40:18 UTC 2021 - Dirk Müller + +- skip building against python 3.6 + +------------------------------------------------------------------- +Wed Nov 25 14:10:35 UTC 2020 - Matej Cepl + +- Update to 1.1.1: + - Fixed regression where the serialization and deserialization + functions could be inadvertently turned into instance methods with + an unexpected argument signature, namely when pickle.dumps and + pickle.loads are the pure Python version as is the case in pypy. + - Reworked the means by which values are serialized and deserialized + from backends, and provided for custom serialization of values. + Added the CacheRegion.serializer and CacheRegion.deserializer + parameters which may be set to any serializer. + - Serialization and deserialization now take place within the + CacheRegion so that backends may now assume string values in all + cases. This simplifies the existing backends and also makes custom + backends easier to write and maintain. + - Additionally, the serializer is now applied to the user-defined + value portion of the CachedValue and not to the metadata or other + portions of CachedValue object itself, so the serialized portion is + effectively a "payload" within the larger CachedValue structure that + is passed as part of the larger string format. The overall format is + a separate JSON of the cached value metadata, followed by the + serialized form. This allows for end-user serialization schemes that + are hardwired to the values themselves without the need to serialize + dogpile's internal structures as well. + - Existing custom backends should continue to work without issue; they + now have the option to forego any separate serialization steps, and + can also subclass a new backend BytesBackend that marks them as + a backend that only deals with bytes coming in and out; all internal + serialization logic from such a backend can be removed. + +------------------------------------------------------------------- +Mon Sep 21 05:40:07 UTC 2020 - Dirk Mueller + +- update to 1.0.2: + * Added support for TLS connections to the bmemcached backend. + * dogpile.cache 1.0.0 was released with a minimum Python version of 3.5. + However, due to a dependency issue, the minimum version is now Python 3.6. + * Removed the "universal=1" directive from setup.cfg as this would create + py2/py3 wheels. dogpile 1.0.x is Python 3 only so a py3-only wheel is now + +------------------------------------------------------------------- +Thu Jul 30 11:03:50 UTC 2020 - Dirk Mueller + +- skip python2 building - 0.9.2 is python 3.x only + +------------------------------------------------------------------- +Tue Jun 2 17:00:19 UTC 2020 - Dirk Mueller + +- update to 0.9.2: + Ensured that the "pyproject.toml" file is not included in builds, as the + presence of this file indicates to pip that a pep-517 installation process + should be used. As this mode of operation appears to be not well supported + by current tools / distros, these problems are avoided within the scope of + dogpile.cache installation by omitting the file. + Added option to the Redis backend + :paramref:`.RedisBackend.thread_local_lock`, which when set to False will + disable the use of a threading local by the ``redis`` module in its + distributed lock service, which is known to interfere with the lock's + behavior when used in an "async" use case, within dogpile this would be + when using the :paramref:`.CacheRegion.async_creation_runner` feature. The + default is conservatively being left at True, but it's likely this should + be set to False in all cases, so a warning is emitted if this flag is not + set to False in conjunction with the distributed lock. Added an optional + argument to :class:`.RedisBackend` that specifies whether or not a + thread-local Redis lock should be used. This is the default, but it breaks + asynchronous runner compatibility. + +------------------------------------------------------------------- +Fri Dec 20 18:20:21 UTC 2019 - Dirk Mueller + +- update to 0.9.0 + * Added logging facililities into :class:`.CacheRegion` + +------------------------------------------------------------------- +Fri Oct 4 14:09:51 UTC 2019 - Marketa Calabkova + +- Update to 0.8.0 + * Replaced the Python compatbility routines for ``getfullargspec()`` with a + fully vendored version from Python 3.3. Originally, Python was emitting + deprecation warnings for this function in Python 3.8 alphas. While this + change was reverted, it was observed that Python 3 implementations for + ``getfullargspec()`` are an order of magnitude slower as of the 3.4 series + where it was rewritten against ``Signature``. While Python plans to + improve upon this situation, SQLAlchemy projects for now are using a simple + replacement to avoid any future issues. + * Pinned minimum version of Python decorator module at 4.0.0. + * Fixed the :func:`.sha1_mangle_key` key mangler to coerce incoming Unicode + objects into bytes. + +------------------------------------------------------------------- +Fri Mar 8 14:37:22 UTC 2019 - Tomáš Chvátal + +- Update to 0.7.1: + * fix python3 deprecation warnings + * Restore the API for async_creation_runner in all cases + +------------------------------------------------------------------- +Thu Mar 7 10:53:24 UTC 2019 - Tomáš Chvátal + +- Fix fdupes call + +------------------------------------------------------------------- +Thu Dec 6 05:44:25 UTC 2018 - Thomas Bechtold + +- update to 0.6.8: + * Project hosting has moved to GitHub, under the SQLAlchemy + organization at https://github.com/sqlalchemy/dogpile.cache + * Fixed issue in the :meth:`.CacheRegion.get_or_create_multi` method which + was erroneously considering the cached value as the timestamp field if the + :meth:`.CacheRegion.invalidate` method had ben used, usually causing a + ``TypeError`` to occur, or in less frequent cases an invalid result for + whether or not the cached value was invalid, leading to excessive caching + or regeneration. The issue was a regression caused by an implementation + issue in the pluggable invalidation feature added in :ticket:`38`. + +------------------------------------------------------------------- +Tue Dec 4 12:47:28 UTC 2018 - Matej Cepl + +- Remove superfluous devel dependency for noarch package + +------------------------------------------------------------------- +Thu Oct 11 11:29:30 UTC 2018 - Dirk Mueller + +- update to 0.6.6: + Added method :attr:`.CacheRegion.actual_backend` which calculates and + caches the actual backend for the region, which may be abstracted by + the use of one or more :class:`.ProxyBackend` subclasses. + +------------------------------------------------------------------- +Mon Apr 23 12:54:25 UTC 2018 - dmueller@suse.com + +- skip lock tests, they fail frequently (bsc#1086987) + +------------------------------------------------------------------- +Fri Apr 20 07:50:52 UTC 2018 - dmueller@suse.com + +- for testing purposes drop dogpile.cache-tests_more_slow_waiters.patch + +------------------------------------------------------------------- +Thu Apr 19 13:00:53 UTC 2018 - dmueller@suse.com + +- only run generic tests using pytest (bsc#1089564) + +------------------------------------------------------------------- +Tue Mar 27 00:44:45 CEST 2018 - ro@suse.de + +- update to 0.6.5: + * Fixed import issue for Python 3.7 where several variables named + "async" were, leading to syntax errors. + * drop dogpile-threading.patch (upstreamed) + +- add dogpile.cache-tests_more_slow_waiters.patch (bsc#1086987) + increase number of allowed slow waiters in testsuite + otherwise this testsuite seems extremely flaky on non-x86_64 + +------------------------------------------------------------------- +Sun Feb 18 17:35:00 UTC 2018 - dmueller@suse.com + +- add dogpile-threading.patch + +------------------------------------------------------------------- +Wed Nov 8 16:29:43 UTC 2017 - alarrosa@suse.com + +- Fix broken symlinks created by fdupes on the python3-dogpile.cache package + +------------------------------------------------------------------- +Mon Aug 21 16:00:57 UTC 2017 - tbechtold@suse.com + +- update to 0.6.4: + * The method :meth:`.Region.get_or_create_multi` will not pass to the + cache backend if no values are ultimately to be stored, based on + the use of the :paramref:`.Region.get_or_create_multi.should_cache_fn` + function. This empty dictionary is unnecessary and can cause API + problems for backends like that of Redis. + * The :attr:`.api.NO_VALUE` constant now has a fixed ``__repr__()`` + output, so that scenarios where this constant's string value + ends up being used as a cache key do not create multiple values. + * A new exception class :class:`.exception.PluginNotFound` is now + raised when a particular cache plugin class cannot be located + either as a setuptools entrypoint or as a registered backend. + Previously, a plain ``Exception`` was thrown. + * Added ``replace_existing_backend`` to + :meth:`.CacheRegion.configure_from_config`. + +------------------------------------------------------------------- +Sat May 6 03:31:54 UTC 2017 - toddrme2178@gmail.com + +- Fix Provides/Obsoletes. + +------------------------------------------------------------------- +Wed Mar 1 14:02:39 UTC 2017 - aloisio@gmx.com + +- Converted to single-spec + +------------------------------------------------------------------- +Wed Aug 31 10:47:40 UTC 2016 - tbechtold@suse.com + +- update to 0.6.2: + * Added a new system to allow custom plugins specific to the issue of + "invalidate the entire region", using a new base class + :class:`.RegionInvalidationStrategy`. As there are many potential + strategies to this (special backend function, storing special keys, etc.) + the mechanism for both soft and hard invalidation is now customizable. + New approaches to region invalidation can be contributed as documented + recipes. + * Added a new cache key generator :func:`.kwarg_function_key_generator`, + which takes keyword arguments as well as positional arguments into + account when forming the cache key. + * Restored some more util symbols that users may have been relying upon + (although these were not necessarily intended as user-facing): + ``dogpile.cache.util.coerce_string_conf``, + ``dogpile.cache.util.KeyReentrantMutex``, + ``dogpile.cache.util.memoized_property``, + ``dogpile.cache.util.PluginLoader``, + ``dogpile.cache.util.to_list``. + * Drop 0001-Link-moved-functions-in-dogpile.cache.util.patch + applied upstream + +------------------------------------------------------------------- +Mon Jul 4 08:00:04 UTC 2016 - tbechtold@suse.com + +- Use pypi.io for Source url + +------------------------------------------------------------------- +Fri Jul 1 14:38:37 UTC 2016 - tbechtold@suse.com + +- dogpile.core was merged into dogpile.cache . + See https://gerrit.sqlalchemy.org/#/c/89/ + So dogpile.core is no longer a Require. +- Add 0001-Link-moved-functions-in-dogpile.cache.util.patch + For backward compat. + +------------------------------------------------------------------- +Tue Jun 7 09:48:08 UTC 2016 - aloisio@gmx.com + +- Update to version 0.6.1 + bug: + * Fixed imports for dogpile.core restoring ReadWriteMutex + and NameRegistry into the base namespace, in addition to + dogpile.core.nameregistry and dogpile.core.readwrite_lock. + version 0.6.0 + feature: + * The dogpile.core library has been rolled in as part of the + dogpile.cache distribution. The configuration of the + dogpile name as a namespace package is also removed from + dogpile.cache. In order to allow existing installations of + dogpile.core as a separate package to remain unaffected, + the .core package has been retired within dogpile.cache + directly; the Lock class is now available directly as + dogpile.Lock and the additional dogpile.core constructs + are under the dogpile.util namespace. + Additionally, the long-deprecated dogpile.core.Dogpile + and dogpile.core.SyncReaderDogpile classes have been + removed. + bug: + * The Redis backend now creates a copy of the “arguments” + dictionary passed to it, before popping values out of it. + This prevents the given dictionary from losing its keys. + * Fixed bug in “null” backend where NullLock did not accept + a flag for the NullLock.acquire() method, nor did it return + a boolean value for “success”. + +------------------------------------------------------------------- +Mon Mar 7 07:47:48 UTC 2016 - tbechtold@suse.com + +- update to 0.5.7: + * Added new parameter :paramref:`.GenericMemcachedBackend.lock_timeout`, + used in conjunction with :paramref:`.GenericMemcachedBackend.distributed_lock`, + will specify the timeout used when communicating to the ``.add()`` method of + the memcached client. + * Added a new flag :paramref:`.CacheRegion.configure.replace_existing_backend`, + allows a region to have a new backend replace an existing one. + * Test suite now runs using py.test. + * Repaired the :meth:`.CacheRegion.get_multi` method when used with a + list of zero length against the redis backend. + +------------------------------------------------------------------- +Mon May 4 11:45:10 UTC 2015 - benoit.monin@gmx.fr + +- update to version 0.5.6: + * Changed the pickle protocol for the file/DBM backend to + pickle.HIGHEST_PROTOCOL when producing new pickles, to match + that of the redis and memorypickle backends. Pull request + courtesy anentropic. +- additional changes from version 0.5.5: + * Added new arguments + CacheRegion.cache_on_arguments.function_key_generator and + CacheRegion.cache_multi_on_arguments.function_multi_key_generator + which serve as per-decorator replacements for the region-wide + CacheRegion.function_key_generator and + CacheRegion.function_multi_key_generator parameters, + respectively, so that custom key production schemes can be + applied on a per-function basis within one region. Pull request + courtesy Hongbin Lu. + * Fixed bug where sending -1 for the + CacheRegion.get_or_create.expiration_time parameter to + CacheRegion.get_or_create() or + CacheRegion.get_or_create_multi() would fail to honor the + setting as “no expiration time”. Pull request courtesy Hongbin + Lu. + * The wrap argument is now propagated when calling + CacheRegion.configure_from_config(). Pull request courtesy + Jonathan Vanasco. + * Fixed tests under py.test, which were importing a symbol from + pytest itself is_unittest which has been removed. +- add fdupes as BuildRequires and call it after install + +------------------------------------------------------------------- +Mon Sep 15 09:03:52 UTC 2014 - tbechtold@suse.com + +- Update to version 0.5.4: + * Added new :class:`.NullBackend`, for testing and cache-disabling + purposes. Pull request courtesy Wichert Akkerman. + * Added missing Mako test dependency to setup.py. + Pull request courtesy Wichert Akkerman. + * Fixed bug where calling :meth:`.CacheRegion.get_multi` or + :meth:`.CacheRegion.set_multi` with an empty list would cause failures + based on backend. Pull request courtesy Wichert Akkerman. + * Added new :paramref:`.RedisBackend.connection_pool` option + on the Redis backend; this can be passed a ``redis.ConnectionPool`` + instance directly. Pull request courtesy Masayuko. + * Added new :paramref:`.RedisBackend.socket_timeout` option + on the Redis backend. Pull request courtesy + Saulius Menkevičius. + * Added support for tests to run via py.test. + * Repaired the entry point for Mako templates; the name of the entrypoint + itself was wrong vs. what was in the docs, but beyond that the entrypoint + would load the wrong module name. Pull request courtesy zoomorph. + * The :func:`.coerce_string_conf` function, which is used by + :meth:`.Region.configure_from_config`, will now recognize floating point + values when parsing conf strings and deliver them as such; this supports + non-integer values such as Redis ``lock_sleep``. Pullreq courtesy + Jeff Dairiki. + +------------------------------------------------------------------- +Mon Jan 13 13:39:05 UTC 2014 - dmueller@suse.com + +- update to 0.5.3: + * Fixed bug where the key_mangler would get in the way of usage of the + async_creation_runner feature within the :meth:` + +------------------------------------------------------------------- +Mon Dec 30 13:58:50 UTC 2013 - dmueller@suse.com + +- update to 0.5.2: + * Added a new argument ``lock_factory`` to the :class:`.DBMBackend` + * implementation. This allows for drop-in replacement of the default + * :class:`.FileLock` backend, which builds on ``os.flock()`` and only + * supports Unix platforms. + +------------------------------------------------------------------- +Mon Oct 21 13:21:05 UTC 2013 - dmueller@suse.com + +- update to 0.5.1: + * The :meth:`.CacheRegion.invalidate` method now supports an option + ``hard=True|False``. + * New dogpile-specific exception classes have been added, so that + issues like "region already configured", "region unconfigured", + raise dogpile-specific exceptions. Other exception classes have + +------------------------------------------------------------------- +Mon Sep 2 08:37:12 UTC 2013 - dmueller@suse.com + +- Initial package (0.5.0) + diff --git a/python-dogpile.cache.spec b/python-dogpile.cache.spec new file mode 100644 index 0000000..2614d8d --- /dev/null +++ b/python-dogpile.cache.spec @@ -0,0 +1,73 @@ +# +# spec file for package python-dogpile.cache +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?sle15_python_module_pythons} +Name: python-dogpile.cache +Version: 1.3.4 +Release: 0 +%define modname dogpile.cache +%define modver 1_3_4 +Summary: A caching front-end based on the Dogpile lock +License: BSD-3-Clause +URL: https://github.com/sqlalchemy/dogpile.cache +Source: https://github.com/sqlalchemy/%{modname}/archive/refs/tags/rel_%{modver}.tar.gz#/%{modname}-%{version}.tar.gz +BuildRequires: %{python_module Mako} +BuildRequires: %{python_module dbm} +BuildRequires: %{python_module decorator >= 4.0.0} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module pytest >= 5} +BuildRequires: %{python_module stevedore > 3.0.0} +BuildRequires: %{python_module typing-extensions >= 4.0.1} +BuildRequires: %{python_module wheel} +Requires: python-decorator >= 4.0.0 +Requires: python-stevedore >= 3.0.0 +%if 0%{?python_version_nodots} < 311 +Requires: python-typing-extensions >= 4.0.1 +%endif +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Provides: python-dogpile.core = %{version} +Obsoletes: python-dogpile.core < 0.4.1 +BuildArch: noarch +%python_subpackages + +%description +A caching API built around the concept of a "dogpile lock", which allows +continued access to an expiring data value while a single thread generates a +new value. + +%prep +%setup -q -n %{modname}-rel_%{modver} + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}/%{$python_sitelib} + +%check +%pytest + +%files %{python_files} +%license LICENSE +%doc README.rst +%{python_sitelib}/dogpile +%{python_sitelib}/dogpile_cache-%{version}.dist-info + +%changelog