./devel/py-dogpile-cache, Caching front-end based on the Dogpile lock

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.3.2, Package name: py311-dogpile-cache-1.3.2, Maintainer: pkgsrc-users

Dogpile consists of two subsystems, one building on top of the other.

dogpile provides the concept of a "dogpile lock", a control structure which
allows a single thread of execution to be selected as the "creator" of some
resource, while allowing other threads of execution to refer to the previous
version of this resource as the creation proceeds; if there is no previous
version, then those threads block until the object is available.

dogpile.cache is a caching API which provides a generic interface to caching
backends of any variety, and additionally provides API hooks which integrate
these cache backends with the locking mechanism of dogpile.

Overall, dogpile.cache is intended as a replacement to the Beaker caching
system, the internals of which are written by the same author. All the ideas of
Beaker which "work" are re- implemented in dogpile.cache in a more efficient and
succinct manner, and all the cruft (Beaker's internals were first written in
2005) relegated to the trash heap.


Required to run:
[devel/py-setuptools] [devel/py-decorator] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 263.42 KB

Version history: (Expand)


CVS history: (Expand)


   2024-02-22 18:35:15 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-dogpile-cache: updated to 1.3.2

1.3.2

[usecase] [redis]
Added a new backend RedisClusterBackend, allowing support for Redis Cluster. \ 
Pull request courtesy Maël Naccache Tüfekçi.

[usecase] [redis]
Added support for additional Redis client parameters \ 
RedisBackend.socket_connect_timeout, RedisBackend.socket_keepalive and \ 
RedisBackend.socket_keepalive_options. Pull request courtesy Takashi Kajinami.
   2024-02-08 07:05:27 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-dogpile-cache: updated to 1.3.1

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. Pull request \ 
courtesy Takashi Kajinami.
   2024-01-12 12:55:50 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-dogpile-cache: updated to 1.3.0

1.3.0

feature

Added new method 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 CachedValue object is returned which features new \ 
accessors to retrieve cached time and current age. Pull request courtesy \ 
Grégoire Deveaux.

misc

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.
   2023-11-07 23:38:10 by Thomas Klausner | Files touched by this commit (112)
Log message:
*: latest py-sphinx only support Python 3.9+
   2023-07-10 14:59:00 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-dogpile-cache: updated to 1.2.2

1.2.2

[bug] [typing]
Made use of pep-673 Self type for method chained methods such as \ 
CacheRegion.configure() and ProxyBackend.wrap().
   2023-05-22 14:46:29 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-dogpile-cache: updated to 1.2.1

1.2.1
Added py.typed file to root so that typing tools such as Mypy recognize dogpile \ 
as typed.
   2023-05-05 21:51:22 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-dogpile-cache: updated to 1.2.0

1.2.0

[feature] [region]
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. This can allow an application that’s been \ 
updated to gracefully re-cache old items that were persisted from a previous \ 
version of the application. Pull request courtesy Simon Hewitt.
   2023-04-23 12:56:24 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-dogpile-cache: updated to 1.1.8

1.1.8

bug

[bug] [memcached]
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.

1.1.7

usecase

[usecase] [memcached]
Added MemcacheArgs.dead_retry and MemcacheArgs.socket_timeout to the dictionary \ 
of additional keyword arguments that will be passed directly to \ 
GenericMemcachedBackend().

1.1.6

usecase

[usecase] [redis]
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.

bug

[bug] [redis]
Fixed regression caused by backwards-incompatible API changes in Redis that \ 
caused the “distributed lock” feature to not function.