Skip to content

Update dependency cachetools to v7#216

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/cachetools-7.x
Open

Update dependency cachetools to v7#216
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/cachetools-7.x

Conversation

@renovate

@renovate renovate Bot commented May 1, 2026

Copy link
Copy Markdown

This PR contains the following updates:

Package Change Age Confidence
cachetools (changelog) ^4.2^7.0.0 age confidence

Release Notes

tkem/cachetools (cachetools)

v7.1.4

Compare Source

===================

  • Minor unit test improvements.

  • Update build environment.

v7.1.3

Compare Source

===================

  • Minor type stub improvements.

  • Update build environment.

v7.1.2

Compare Source

===================

  • Minor type stub improvements.

  • Minor documentation improvements.

  • Modernize build environment.

v7.1.1

Compare Source

===================

  • Various type stub improvements.

v7.1.0

Compare Source

===================

  • Add type stubs based on the work of the good people at typeshed <https://github.com/python/typeshed/tree/main/stubs/cachetools/>__.

  • Update unit tests.

v7.0.6

Compare Source

===================

  • Minor code improvements.

  • Update project URLs.

  • Update CI environment.

v7.0.5

Compare Source

===================

  • Minor @cachedmethod performance improvements.

v7.0.4

Compare Source

===================

  • Fix and properly document @cachedmethod.cache_key behavior.

  • Minor documentation improvements.

v7.0.3

Compare Source

===================

  • Fix DeprecationWarning when creating an autospec mock with
    @cachedmethod decorations.

v7.0.2

Compare Source

===================

  • Provide more efficient clear() implementation for all support
    Cache classes (courtesy Josep Pon Farreny).

v7.0.1

Compare Source

===================

  • Various test improvements.

  • Update Copilot Instructions.

v7.0.0

Compare Source

===================

  • Require Python 3.10 or later (breaking change).

  • Drop support for passing info as fourth positional parameter to
    @cached (breaking change).

  • Drop support for cache(self) returning None with
    @cachedmethod (breaking change).

  • Convert the @cachedmethod wrappers to descriptors, deprecating
    its use with class methods and instances that do not provide a
    mutable __dict__ attribute (potentially breaking change).

  • Convert the previously undocumented @cachedmethod attributes
    (cache, cache_lock, etc.) to properties for instance
    methods, providing official support and documentation (potentially
    breaking change).

  • Add an optional info parameter to the @cachedmethod
    decorator for reporting per-instance cache statistics. Note that
    this requires the instance's __dict__ attribute to be a mutable
    mapping.

v6.2.6

Compare Source

===================

  • Improve typedkey performance.

  • Minor documentation improvements.

  • Minor testing improvements.

  • Minor code readability improvements.

v6.2.5

Compare Source

===================

  • Improve documentation regarding @cachedmethod with lock
    parameter.

  • Add test cases for cache stampede scenarios.

  • Update CI environment.

v6.2.4

Compare Source

===================

  • Fix license information displayed on PyPI be using an updated
    version of twine for uploading.

v6.2.3

Compare Source

===================

  • Improve documentation regarding @cachedmethod with condition
    parameter.

  • Minor style and readability improvements.

  • Modernize build environment.

  • Update CI environment.

v6.2.2

Compare Source

===================

  • Minor improvements from GitHub Copilot code review.

  • Improve documentation.

v6.2.1

Compare Source

===================

  • Add support for Python 3.14.

  • Improve documentation.

  • Update CI environment.

v6.2.0

Compare Source

===================

  • Improve general RRCache performance by storing cache keys in an
    additional sequence container. Note that this will increase memory
    consumption.

  • Add more unit tests.

v6.1.0

Compare Source

===================

  • Improve LFUCache insertion performance by switching to an
    implementation based on the cacheing <https://pypi.org/project/cacheing/>_ library.

  • Update CI environment.

v6.0.0

Compare Source

===================

  • Require Python 3.9 or later (breaking change).

  • Remove MRUCache and the @func.mru_cache decorator (breaking
    change).

  • Add an optional condition parameter to the @cached and
    @cachedmethod decorators, which, when used with a
    threading.Condition instance, should improve cache stampede <https://en.wikipedia.org/wiki/Cache_stampede>_ issues in massively
    parallel environments. Note that this will inflict some performance
    penalty, and therefore has to be enabled explicitly.

  • Convert the cachetools.func decorators to use a
    threading.Condition instance to deal with cache stampede <https://en.wikipedia.org/wiki/Cache_stampede>_ issues. Note that
    this may result in a noticable performance degradation, depending
    on your actual use case.

  • Deprecate support for cache(self) returning None to suppress
    caching with the @cachedmethod decorator.

  • Improve documentation.

  • Update CI environment.

v5.5.2

Compare Source

===================

  • Reduce number of @cached lock/unlock operations.

  • Improve documentation.

  • Update CI environment.

v5.5.1

Compare Source

===================

  • Add documentation regarding caching of exceptions.

  • Officially support Python 3.13.

  • Update CI environment.

v5.5.0

Compare Source

===================

  • TTLCache.expire() returns iterable of expired (key, value)
    pairs.

  • TLRUCache.expire() returns iterable of expired (key, value)
    pairs.

  • Documentation improvements.

  • Update CI environment.

v5.4.0

Compare Source

===================

  • Add the keys.typedmethodkey decorator.

  • Deprecate MRUCache class.

  • Deprecate @func.mru_cache decorator.

  • Update CI environment.

v5.3.3

Compare Source

===================

  • Documentation improvements.

  • Update CI environment.

v5.3.2

Compare Source

===================

  • Add support for Python 3.12.

  • Various documentation improvements.

v5.3.1

Compare Source

===================

  • Depend on Python >= 3.7.

v5.3.0

Compare Source

===================

  • Add cache_info() function to @cached decorator.

v5.2.1

Compare Source

===================

  • Add support for Python 3.11.

  • Correct version information in RTD documentation.

  • badges/shields: Change to GitHub workflow badge routes.

v5.2.0

Compare Source

===================

  • Add cachetools.keys.methodkey().

  • Add cache_clear() function to decorators.

  • Add src directory to sys.path for Sphinx autodoc.

  • Modernize func wrappers.

v5.1.0

Compare Source

===================

  • Add cache decorator parameters as wrapper function attributes.

v5.0.0

Compare Source

===================

  • Require Python 3.7 or later (breaking change).

  • Remove deprecated submodules (breaking change).

    The cache, fifo, lfu, lru, mru, rr and
    ttl submodules have been deleted. Therefore, statements like

    from cachetools.ttl import TTLCache

    will no longer work. Use

    from cachetools import TTLCache

    instead.

  • Pass self to @cachedmethod key function (breaking change).

    The key function passed to the @cachedmethod decorator is
    now called as key(self, *args, **kwargs).

    The default key function has been changed to ignore its first
    argument, so this should only affect applications using custom key
    functions with the @cachedmethod decorator.

  • Change exact time of expiration in TTLCache (breaking change).

    TTLCache items now get expired if their expiration time is less
    than or equal to timer(). For applications using the default
    timer(), this should be barely noticeable, but it may affect the
    use of custom timers with larger tick intervals. Note that this
    also implies that a TTLCache with ttl=0 can no longer hold
    any items, since they will expire immediately.

  • Change Cache.__repr__() format (breaking change).

    String representations of cache instances now use a more compact and
    efficient format, e.g.

    LRUCache({1: 1, 2: 2}, maxsize=10, currsize=2)

  • Add TLRU cache implementation.

  • Documentation improvements.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate

renovate Bot commented May 1, 2026

Copy link
Copy Markdown
Author

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: poetry.lock
Updating dependencies
Resolving dependencies...


The current project's Python requirement (>=3.8,<4.0) is not compatible with some of the required packages Python requirement:
  - cachetools requires Python >=3.10, so it will not be satisfied for Python >=3.8,<3.10
  - cachetools requires Python >=3.10, so it will not be satisfied for Python >=3.8,<3.10
  - cachetools requires Python >=3.10, so it will not be satisfied for Python >=3.8,<3.10
  - cachetools requires Python >=3.10, so it will not be satisfied for Python >=3.8,<3.10
  - cachetools requires Python >=3.10, so it will not be satisfied for Python >=3.8,<3.10
  - cachetools requires Python >=3.10, so it will not be satisfied for Python >=3.8,<3.10
  - cachetools requires Python >=3.10, so it will not be satisfied for Python >=3.8,<3.10

Because no versions of cachetools match >7.0.0,<7.0.1 || >7.0.1,<7.0.2 || >7.0.2,<7.0.3 || >7.0.3,<7.0.4 || >7.0.4,<7.0.5 || >7.0.5,<7.0.6 || >7.0.6,<8.0.0
 and cachetools (7.0.0) requires Python >=3.10, cachetools is forbidden.
And because cachetools (7.0.1) requires Python >=3.10, cachetools is forbidden.
And because cachetools (7.0.2) requires Python >=3.10
 and cachetools (7.0.3) requires Python >=3.10, cachetools is forbidden.
And because cachetools (7.0.4) requires Python >=3.10
 and cachetools (7.0.5) requires Python >=3.10, cachetools is forbidden.
So, because cachetools (7.0.6) requires Python >=3.10
 and bohr-runtime depends on cachetools (^7.0.0), version solving failed.

  • Check your dependencies Python requirement: The Python requirement can be specified via the `python` or `markers` properties
    
    For cachetools, a possible solution would be to set the `python` property to ">=3.10,<4.0"
    For cachetools, a possible solution would be to set the `python` property to ">=3.10,<4.0"
    For cachetools, a possible solution would be to set the `python` property to ">=3.10,<4.0"
    For cachetools, a possible solution would be to set the `python` property to ">=3.10,<4.0"
    For cachetools, a possible solution would be to set the `python` property to ">=3.10,<4.0"
    For cachetools, a possible solution would be to set the `python` property to ">=3.10,<4.0"
    For cachetools, a possible solution would be to set the `python` property to ">=3.10,<4.0"

    https://python-poetry.org/docs/dependency-specification/#python-restricted-dependencies,
    https://python-poetry.org/docs/dependency-specification/#using-environment-markers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants