File python-dogpile.cache.changes of Package python-dogpile.cache

-------------------------------------------------------------------
Wed Mar 26 07:48:23 UTC 2025 - Steve Kowalik <[email protected]>

- Normalize metadata directory name.

-------------------------------------------------------------------
Mon May  6 08:35:52 UTC 2024 - Dirk Müller <[email protected]>

- 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 <[email protected]>

- 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 <[email protected]>

- 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 <[email protected]>

- use %{?sle15_python_module_pythons}
- add typing-extensions

-------------------------------------------------------------------
Thu Dec 28 09:04:01 UTC 2023 - Dirk Müller <[email protected]>

- 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 <[email protected]>

- 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 <[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.

-------------------------------------------------------------------
Tue May  9 21:34:11 UTC 2023 - Dirk Müller <[email protected]>

- 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 <[email protected]>

- 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 <[email protected]>

- 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 <[email protected]>

- Update requirements

-------------------------------------------------------------------
Mon Sep  6 04:29:32 UTC 2021 - Steve Kowalik <[email protected]>

- 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 <[email protected]>

- update to 1.1.3:
  * rereleae, no changes

-------------------------------------------------------------------
Thu Apr 22 20:27:18 UTC 2021 - Dirk Müller <[email protected]>

- update to 1.1.2:
  * rerelease, no changes

-------------------------------------------------------------------
Wed Mar 10 15:18:25 UTC 2021 - Dirk Müller <[email protected]>

- fix build for older distributions with old default-pytest

-------------------------------------------------------------------
Sun Jan 24 18:40:18 UTC 2021 - Dirk Müller <[email protected]>

- skip building against python 3.6

-------------------------------------------------------------------
Wed Nov 25 14:10:35 UTC 2020 - Matej Cepl <[email protected]>

- 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 <[email protected]>

- 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 <[email protected]>

- skip python2 building - 0.9.2 is python 3.x only

-------------------------------------------------------------------
Tue Jun  2 17:00:19 UTC 2020 - Dirk Mueller <[email protected]>

- 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 <[email protected]>

- update to 0.9.0
  * Added logging facililities into :class:`.CacheRegion`

-------------------------------------------------------------------
Fri Oct  4 14:09:51 UTC 2019 - Marketa Calabkova <[email protected]>

- 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 <[email protected]>

- 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 <[email protected]>

- Fix fdupes call

-------------------------------------------------------------------
Thu Dec  6 05:44:25 UTC 2018 - Thomas Bechtold <[email protected]>

- 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 <[email protected]>

- Remove superfluous devel dependency for noarch package

-------------------------------------------------------------------
Thu Oct 11 11:29:30 UTC 2018 - Dirk Mueller <[email protected]>

- 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 - [email protected]

- skip lock tests, they fail frequently (bsc#1086987)

-------------------------------------------------------------------
Fri Apr 20 07:50:52 UTC 2018 - [email protected]

- for testing purposes drop dogpile.cache-tests_more_slow_waiters.patch

-------------------------------------------------------------------
Thu Apr 19 13:00:53 UTC 2018 - [email protected]

- only run generic tests using pytest (bsc#1089564)

-------------------------------------------------------------------
Tue Mar 27 00:44:45 CEST 2018 - [email protected]

- 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 - [email protected]

- add  dogpile-threading.patch

-------------------------------------------------------------------
Wed Nov  8 16:29:43 UTC 2017 - [email protected]

- Fix broken symlinks created by fdupes on the python3-dogpile.cache package

-------------------------------------------------------------------
Mon Aug 21 16:00:57 UTC 2017 - [email protected]

- 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 - [email protected]

- Fix Provides/Obsoletes.

-------------------------------------------------------------------
Wed Mar  1 14:02:39 UTC 2017 - [email protected]

- Converted to single-spec

-------------------------------------------------------------------
Wed Aug 31 10:47:40 UTC 2016 - [email protected]

- 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 - [email protected]

- Use pypi.io for Source url

-------------------------------------------------------------------
Fri Jul  1 14:38:37 UTC 2016 - [email protected]

- 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 - [email protected]

- 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 - [email protected]

- 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 - [email protected]

- 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 - [email protected]

- 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 - [email protected]

- 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 - [email protected]

- 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 - [email protected]

- 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 - [email protected]

- Initial package (0.5.0)

openSUSE Build Service is sponsored by
OSZAR »