summaryrefslogtreecommitdiffstats
path: root/Lib/functools.py
Commit message (Collapse)AuthorAgeFilesLines
* bpo-44605: Teach @total_ordering() to work with metaclasses (GH-27633)Raymond Hettinger2021-08-061-12/+12
|
* Update URLs in comments and metadata to use HTTPS (GH-27458)Noah Kantrowitz2021-07-301-2/+2
|
* bpo-31082: Use "iterable" in the docstring for functools.reduce() (GH-20796)Zackery Spytz2020-06-281-7/+8
|
* bpo-17005: Move topological sort functionality to its own module (GH-20558)Pablo Galindo2020-05-311-245/+0
| | | | | | The topological sort functionality that was introduced initially in the functools module has been moved to a new graphlib module to better accommodate the new tools and keep the original scope of the functools module.
* bpo-40571: Make lru_cache(maxsize=None) more discoverable (GH-20019)Raymond Hettinger2020-05-121-1/+10
|
* bpo-39481: Make functools.cached_property, partial, partialmethod generic ↵Ethan Smith2020-04-141-0/+6
| | | | (#19427)
* Updates functools.py with consistent quotes (GH-18825)Nikita Sobolev2020-03-111-1/+1
| | | | | | I have noticed that `'` quotes are used everywhere except this particular case, which was introduced in https://github.com/python/cpython/pull/18726 So, this is a trivial fix to enforce better consistency.
* bpo-35712: Make using NotImplemented in a boolean context issue a ↵MojoVampire2020-03-031-0/+4
| | | | deprecation warning (GH-13195)
* bpo-39815: add cached_property to all (GH-18726)Hakan Çelik2020-03-011-1/+2
| | | Automerge-Triggered-By: @pablogsal
* bpo-17005: Add a class to perform topological sorting to the standard ↵Pablo Galindo2020-01-231-2/+247
| | | | | library (GH-11583) Co-Authored-By: Tim Peters <tim.peters@gmail.com>
* bpo-38565: add new cache_parameters method for lru_cache (GH-16916)Manjusaka2019-11-121-0/+2
|
* Doc: Fix Wikipedia link for functools.lru_cache (GH-16183)amist2019-09-161-1/+1
|
* bpo-36743: __get__ is sometimes called without the owner argument (#12992)Raymond Hettinger2019-08-291-3/+3
|
* [3.9] bpo-37116: Use PEP 570 syntax for positional-only parameters. (GH-12620)Serhiy Storchaka2019-06-051-18/+1
| | | Turn deprecation warnings added in 3.8 into TypeError.
* bpo-37116: Use PEP 570 syntax for positional-only parameters. (GH-13700)Serhiy Storchaka2019-06-011-13/+3
|
* bpo-36772 Allow lru_cache to be used as decorator without making a function ↵Raymond Hettinger2019-05-261-4/+8
| | | | call (GH-13048)
* bpo-35252: Remove FIXME from test_functools (GH-10551)Lysandros Nikolaou2019-05-191-3/+5
|
* bpo-36542: Allow to overwrite the signature for Python functions. (GH-12705)Serhiy Storchaka2019-05-061-0/+1
|
* bpo-36492: Deprecate passing some arguments as keyword arguments. (GH-12637)Serhiy Storchaka2019-04-011-1/+17
| | | | | | | | | | | | | | | | | | | | | | Deprecated passing the following arguments as keyword arguments: - "func" in functools.partialmethod(), weakref.finalize(), profile.Profile.runcall(), cProfile.Profile.runcall(), bdb.Bdb.runcall(), trace.Trace.runfunc() and curses.wrapper(). - "function" in unittest.addModuleCleanup() and unittest.TestCase.addCleanup(). - "fn" in the submit() method of concurrent.futures.ThreadPoolExecutor and concurrent.futures.ProcessPoolExecutor. - "callback" in contextlib.ExitStack.callback(), contextlib.AsyncExitStack.callback() and contextlib.AsyncExitStack.push_async_callback(). - "c" and "typeid" in the create() method of multiprocessing.managers.Server and multiprocessing.managers.SharedMemoryServer. - "obj" in weakref.finalize(). Also allowed to pass arbitrary keyword arguments (even "self" and "func") if the above arguments are passed as positional argument.
* bpo-36431: Use PEP 448 dict unpacking for merging two dicts. (GH-12553)Serhiy Storchaka2019-03-271-14/+7
|
* Consistently move the misses update to just before the user function call ↵Raymond Hettinger2019-01-311-3/+3
| | | | (GH-11715)
* bpo-35780: Fix errors in lru_cache() C code (GH-11623)Raymond Hettinger2019-01-261-4/+7
|
* bpo-34890: Make iscoroutinefunction, isgeneratorfunction and ↵Pablo Galindo2018-10-261-0/+6
| | | | | | | | | | | isasyncgenfunction work with functools.partial (GH-9903) inspect.isfunction() processes both inspect.isfunction(func) and inspect.isfunction(partial(func, arg)) correctly but some other functions in the inspect module (iscoroutinefunction, isgeneratorfunction and isasyncgenfunction) lack this functionality. This commits adds a new check in the mentioned functions in the inspect module so they can work correctly with arbitrarily nested partial functions.
* bpo-32321: Add pure Python fallback for functools.reduce (GH-8548)madman-bob2018-10-251-4/+39
|
* bpo-21145: Add cached_property decorator in functools (#6982)Carl Meyer2018-08-281-0/+55
| | | | | | Robust caching of calculated properties is harder than it looks at first glance, so add a solid, well-tested implementation to the standard library.
* bpo-33967: Fix singledispatch raised IndexError when no args (GH-8184)Dong-hee Na2018-07-101-0/+5
|
* bpo-32380: Create functools.singledispatchmethod (#6306)Ethan Smith2018-05-261-1/+38
|
* bpo-32227: functools.singledispatch supports registering via type ↵Łukasz Langa2017-12-111-1/+17
| | | | annotations (#4733)
* bpo-31581: Reduce the number of imports for functools (GH-3757)INADA Naoki2017-09-301-5/+8
|
* bpo-31370: Remove support for threads-less builds (#3385)Antoine Pitrou2017-09-071-7/+1
| | | | | | * Remove Setup.config * Always define WITH_THREAD for compatibility.
* Conceptually, roots is a set. Also searching it as a set is a tiny bit ↵Raymond Hettinger2017-09-051-1/+1
| | | | faster (#3338)
* Add comment to explain the implications of not sorting keywords (#3331)Raymond Hettinger2017-09-051-0/+4
| | | In Python 3.6, sorted() was removed from _make_key() for the lru_cache and instead rely on guaranteed keyword argument order preservation. This makes keyword argument handling faster but it also causes multiple callers with a different keyword argument order to be cached as separate items. Depending on your point of view, this is either a performance regression (increased number of cache misses) or a performance enhancement (faster computation of keys).
* mergeRaymond Hettinger2017-01-091-4/+3
|\
| * Issue #29203: functools.lru_cache() now respects PEP 468Raymond Hettinger2017-01-091-4/+3
| |
* | Issue #28991: Address comment that the __len__ call looked unattractiveRaymond Hettinger2016-12-161-3/+4
|/
* mergeRaymond Hettinger2016-12-161-2/+4
|\
| * Issue #28991: Fix obscure reentrancy bug in functools.lru_cache().Raymond Hettinger2016-12-161-2/+4
| |
* | Issue #27137: align Python & C implementations of functools.partialNick Coghlan2016-09-101-17/+75
|/ | | | | | | | The pure Python fallback implementation of functools.partial now matches the behaviour of its accelerated C counterpart for subclassing, pickling and text representation purposes. Patch by Emanuel Barry and Serhiy Storchaka.
* Removed redundant call of update_wrapper().Serhiy Storchaka2015-10-241-1/+1
|
* Issue #23572: Fixed functools.singledispatch on classes with falsy metaclasses.Yury Selivanov2015-08-181-1/+1
| | | | Patch by Ethan Furman.
* Backed out changeset: b0a0b9b59012Serhiy Storchaka2015-05-241-99/+108
|
* Backed out changeset 57776eee74f2Larry Hastings2015-05-231-108/+99
|
* Issue #14373: Added C implementation of functools.lru_cache(). Based onSerhiy Storchaka2015-05-231-99/+108
| | | | patches by Matt Joiner and Alexey Kachayev.
* Issue #16261: Converted some bare except statements to except statementsSerhiy Storchaka2015-05-201-1/+1
| | | | with specified exception type. Original patch by Ramchandra Apte.
* Reduce the overhead in functools.total_ordering by localizing NotImplemented.Raymond Hettinger2015-05-131-12/+12
| | | | (Sugguested by Serhiy Storchaka)
* Issue #7830: Flatten nested functools.partial.Alexander Belopolsky2015-03-011-0/+8
|
* Issue #23326: Removed __ne__ implementations. Since fixing default __ne__Serhiy Storchaka2015-01-311-2/+0
| | | | implementation in issue #21408 they are redundant.
* No need to rebuild a constant dictionary on every call. Move convert ↵Raymond Hettinger2015-01-141-16/+17
| | | | mapping to module level.
* Minor speed-up. Use local variable instead of a global lookup.Raymond Hettinger2015-01-071-10/+10
|
* mergeRaymond Hettinger2015-01-061-76/+81
|\