History¶
v4.5.0¶
15 May 2026
Features¶
bypass_whenandbypass_unlessnow accept callable checks and evaluate them on each invocation instead of binding only at decoration time. (#36)
v4.4.0¶
21 Dec 2025
Features¶
Add noop.
v4.3.0¶
18 Aug 2025
Features¶
Add none_as function.
v4.2.1¶
21 Jun 2025
No significant changes.
v4.2.0¶
21 Jun 2025
Features¶
Add ‘passthrough’ function.
Bugfixes¶
v4.1.0¶
27 Sep 2024
Features¶
Added chainable decorator.
v4.0.2¶
01 Aug 2024
No significant changes.
v4.0.1¶
18 Apr 2024
No significant changes.
v4.0.0¶
04 Nov 2023
Features¶
Added
splatfunction.
Deprecations and Removals¶
Removed deprecated ‘call_aside’. (#21)
v3.9.0¶
25 Aug 2023
Features¶
Enhanced type hints and declare the package as typed. Module is now a package. (#22)
v3.8.1¶
05 Aug 2023
Bugfixes¶
Restored type checking and repaired broken exclusion. (#50550895)
v3.8.0¶
25 Jun 2023
Features¶
Require Python 3.8 or later.
v3.7.0¶
29 May 2023
Added bypass_unless and bypass_when and identity.
v3.6.0¶
19 Feb 2023
#21: Renamed call_aside to invoke, deprecating call_aside.
v3.5.2¶
26 Sep 2022
Refreshed packaging.
v3.5.1¶
14 Jul 2022
Packaging refresh.
Enrolled with Tidelift.
v3.5.0¶
19 Dec 2021
#19: Add type annotations to
method_cache.Require Python 3.7.
v3.4.0¶
31 Oct 2021
apply now uses functools.wraps to ensure docstring
passthrough.
v3.3.0¶
26 Mar 2021
#18: In method_cache, support cache_clear before cache is initialized.
v3.2.1¶
21 Feb 2021
Refreshed package metadata.
v3.2.0¶
31 Jan 2021
Switched to PEP 420 for jaraco namespace.
v3.1.0¶
28 Dec 2020
Added except_ decorator.
v3.0.1¶
25 Apr 2020
#14: Removed unnecessary compatibility libraries in testing.
v3.0.0¶
19 Dec 2019
Require Python 3.6 or later.
2.0¶
01 Jan 2019
Switch to pkgutil namespace technique
for the jaraco namespace.
1.20¶
04 Jul 2018
Added save_method_args, adopted from irc.functools.
1.19¶
18 May 2018
Added .reset support to once.
1.18¶
10 May 2018
Add result_invoke decorator.
1.17¶
13 Dec 2017
Add retry decorator.
1.16¶
21 Apr 2017
#7: retry_call now accepts infinity for the retries
parameter.
1.15.2¶
09 Feb 2017
Refresh packaging.
1.15.1¶
14 Sep 2016
Fix assign_params on Python 2.
1.15¶
14 Sep 2016
Add assign_params function.
1.14¶
14 Sep 2016
Add pass_none decorator function.
1.13¶
06 Sep 2016
Add print_yielded func implementing the func of the same
name found in autocommand docs.
1.12¶
12 Aug 2016
Issue #6: Added a bit of documentation and xfail tests showing
that the method_cache can’t be used with other decorators
such as property.
1.11¶
02 Apr 2016
Include dates and links in changelog.
1.10¶
02 Apr 2016
Use Github for continuous deployment to PyPI.
1.9¶
23 Mar 2016
Add retry_call, a general-purpose function retry mechanism.
See test_functools for tests and example usage.
1.8¶
12 Dec 2015
More generous handling of missing lru_cache when installed on
Python 2 and older pip. Now all functools except method_cache
will continue to work even if backports.functools_lru_cache
is not installed. Also allows functools32 as a fallback if
available.
1.7¶
12 Dec 2015
Moved hosting to github.
1.6¶
13 Aug 2015
method_cache now accepts a cache_wrapper parameter, allowing
for custom parameters to an lru_cache or an entirely different
cache implementation.
Use backports.functools_lru_cache to provide lru_cache for
Python 2.
1.5¶
01 Jul 2015
Implement Throttler as a descriptor so it may be used to decorate
methods. Introduces first_invoke function.
Fixed failure in Throttler on Python 2 due to improper use of integer division.
1.4¶
01 Jul 2015
Added Throttler class from irc.
1.3¶
26 Apr 2015
Added call_aside decorator.
1.2¶
01 Mar 2015
Added apply decorator.
1.0¶
31 Jan 2015
Initial release drawn from jaraco.util.