Raymond Hettinger
8b57d73639
bpo-28638: Optimize namedtuple() creation time by minimizing use of exec() ( #3454 )
...
* Working draft without _source
* Re-use itemgetter() instances
* Speed-up calls to __new__() with a pre-bound tuple.__new__()
* Add note regarding string interning
* Remove unnecessary create function wrappers
* Minor sync-ups with PR-2736. Mostly formatting and f-strings
* Bring-in qualname/__module fix-ups from PR-2736
* Formally remove the verbose flag and _source attribute
* Restore a test of potentially problematic field names
* Restore kwonly_args test but without the verbose option
* Adopt Inada's idea to reuse the docstrings for the itemgetters
* Neaten-up a bit
* Add news blurb
* Serhiy pointed-out the need for interning
* Jelle noticed as missing f on an f-string
* Add whatsnew entry for feature removal
* Accede to request for dict literals instead keyword arguments
* Leave the method.__module__ attribute pointing the actual location of the code
* Improve variable names and add a micro-optimization for an non-public helper function
* Simplify by in-lining reuse_itemgetter()
* Arrange steps in more logical order
* Save docstring in local cache instead of interning
2017-09-10 10:23:36 -07:00
Victor Stinner
d6debb24e0
bpo-29919: Remove unused imports found by pyflakes ( #137 )
...
Make also minor PEP8 coding style fixes on modified imports.
2017-03-27 16:05:26 +02:00
Xiang Zhang
d5d3249e8a
bpo-26915: Test identity first in membership operation in index() and count() methods of collections.abc.Sequence (GH-503)
2017-03-08 11:04:24 +08:00
Serhiy Storchaka
5bb8b9134b
Issue #18896 : Python function can now have more than 255 parameters.
...
collections.namedtuple() now supports tuples with more than 255 elements.
2016-12-16 19:19:02 +02:00
Yury Selivanov
22214ab0af
Issue #28720 : Add collections.abc.AsyncGenerator.
2016-11-16 18:25:04 -05:00
Raymond Hettinger
0d5048cb21
Issue #17941 : Add a *module* parameter to collections.namedtuple()
2016-09-12 00:18:31 -07:00
Guido van Rossum
f0666949fd
Issue 27598: Add Collections to collections.abc.
...
Patch by Ivan Levkivskyi, docs by Neil Girdhar.
2016-08-23 10:47:07 -07:00
Guido van Rossum
97c1adf393
Anti-registration of various ABC methods.
...
- Issue #25958 : Support "anti-registration" of special methods from
various ABCs, like __hash__, __iter__ or __len__. All these (and
several more) can be set to None in an implementation class and the
behavior will be as if the method is not defined at all.
(Previously, this mechanism existed only for __hash__, to make
mutable classes unhashable.) Code contributed by Andrew Barnert and
Ivan Levkivskyi.
2016-08-18 09:22:23 -07:00
Raymond Hettinger
6538b430cf
Issue #25628 : Make namedtuple "rename" and "verbose" parameters keyword-only.
2016-08-16 10:55:43 -07:00
Martin Panter
8bde911115
Issue #27626 : Merge spelling fixes from 3.5
2016-07-28 01:30:58 +00:00
Martin Panter
eb9957065a
Issue #27626 : Spelling fixes in docs, comments and internal names
...
Based on patch by Ville Skyttä.
2016-07-28 01:11:04 +00:00
Raymond Hettinger
584e8aedc3
Issue 26915: Add identity checks to the collections ABC __contains__ methods.
2016-05-05 11:14:06 +03:00
Guido van Rossum
16ca06b8cb
Add collections.Reversible. Patch by Ivan Levkivskyi. Fixes issue #25987 .
2016-04-04 10:59:29 -07:00
Serhiy Storchaka
2cefc1efa2
Issue #25616 : Tests for OrderedDict are extracted from test_collections
...
into separate file test_ordered_dict.
2015-11-25 17:12:02 +02:00
Serhiy Storchaka
33e7ea5ad6
Issue #25616 : Tests for OrderedDict are extracted from test_collections
...
into separate file test_ordered_dict.
2015-11-25 17:09:01 +02:00
Serhiy Storchaka
710cd34bdb
Issue #25449 : Fixed a crash and leaking NULL in repr() of OrderedDict that
...
was mutated by direct calls of dict methods.
2015-11-04 22:33:07 +02:00
Serhiy Storchaka
b45b7b2137
Issue #25449 : Iterating OrderedDict with keys with unstable hash now raises
...
KeyError in C implementations as well as in Python implementation.
Added tests for OrderedDict subclasses.
2015-11-04 22:05:38 +02:00
Serhiy Storchaka
14eefe353e
Issue #25395 : Fixed crash when highly nested OrderedDict structures were
...
garbage collected.
2015-11-01 16:12:34 +02:00
Serhiy Storchaka
992ec46acc
Issue #25406 : Fixed a bug in C implementation of OrderedDict.move_to_end()
...
that caused segmentation fault or hang in iterating after moving several
items to the start of ordered dict.
2015-10-14 19:21:24 +03:00
Raymond Hettinger
9157545c11
merge
2015-08-30 09:15:36 -07:00
Raymond Hettinger
7a3602e7cf
Issue #24931 : Resolve __dict__ conflict in namedtuple subclasses.
2015-08-30 09:13:48 -07:00
Eric Snow
8c7f9558eb
Issue #24667 : Resize odict in all cases that the underlying dict resizes.
2015-08-07 17:45:12 -06:00
Yury Selivanov
fdbeb2b4b6
Issue #24400 : Resurrect inspect.isawaitable()
...
collections.abc.Awaitable and collections.abc.Coroutine no longer
use __instancecheck__ hook to detect generator-based coroutines.
inspect.isawaitable() can be used to detect generator-based coroutines
and to distinguish them from regular generator objects.
2015-07-03 13:11:35 -04:00
Eric Snow
4fabf02633
Issue #24369 : Defend against key-changes during iteration.
2015-06-04 00:09:56 -06:00
Eric Snow
ac02ef373f
Issue #24368 : Support keyword arguments in OrderedDict methods.
2015-06-02 20:42:14 -06:00
Eric Snow
b952ab43f2
Issue #24359 : Check for changed OrderedDict size during iteration.
2015-06-01 23:35:13 -06:00
Eric Snow
d171975609
Issue #24348 : Drop superfluous increfs/decrefs.
2015-06-01 23:12:13 -06:00
Eric Snow
a762af74b2
Issue #24347 : Set KeyError if PyDict_GetItemWithError returns NULL.
2015-06-01 22:59:08 -06:00
Eric Snow
67fb92e8c6
Issue #16991 : Do not return None from OrderedDict.__reversed__.
2015-05-30 11:43:36 -06:00
Yury Selivanov
7aa5341164
Reverting my previous commit.
...
Something went horribly wrong when I was doing `hg rebase`.
2015-05-30 10:57:56 -04:00
Eric Snow
47db71756d
Issue #16991 : Add a C implementation of collections.OrderedDict.
2015-05-29 22:21:39 -06:00
Yury Selivanov
a24fcfdf23
Issue 24315: Make collections.abc.Coroutine derived from Awaitable
...
(Merge 3.5)
2015-05-29 09:01:47 -04:00
Yury Selivanov
56fc614025
Issue 24315: Make collections.abc.Coroutine derived from Awaitable
2015-05-29 09:01:29 -04:00
Raymond Hettinger
c074e9d765
Issue #24286 : Forward port dict view abstract base class tests.
2015-05-26 01:47:58 -07:00
Raymond Hettinger
ec219ba1c0
Issue #23086 : Add start and stop arguments to the Sequence.index() mixin method.
2015-05-22 19:29:22 -07:00
Raymond Hettinger
573b44c18f
Issue 22189: Add missing methods to UserString
2015-05-22 16:56:32 -07:00
Yury Selivanov
e0104ae103
Issue 24184: Add AsyncIterator and AsyncIterable to collections.abc.
2015-05-14 12:19:16 -04:00
Yury Selivanov
08e5300afc
collections.abc.tests: Remove some unnecessary code.
2015-05-13 23:57:59 -04:00
Yury Selivanov
aded55c6e3
collections.abc: Test that if an object is a Coroutine it is also an Awaitable
2015-05-13 23:41:55 -04:00
Raymond Hettinger
eac503aeac
Issue #24064 : Property() docstrings are now writeable.
...
(Patch by Berker Peksag.)
2015-05-13 01:09:59 -07:00
Yury Selivanov
7544508f02
PEP 0492 -- Coroutines with async and await syntax. Issue #24017 .
2015-05-11 22:57:16 -04:00
Raymond Hettinger
bd60e8dece
Issue #24018 : Add a collections.Generator abstract base class.
2015-05-09 01:07:23 -04:00
Raymond Hettinger
32ea16577d
Issue 23704: Add index(), copy(), and insert() to deques. Register deques as a MutableSequence.
2015-03-21 01:37:37 -07:00
Serhiy Storchaka
65ee4674e2
Issue #22777 : Test pickling with all protocols.
2014-12-15 14:06:02 +02:00
Serhiy Storchaka
bad1257c96
Issue #22777 : Test pickling with all protocols.
2014-12-15 14:03:42 +02:00
Serhiy Storchaka
a86700ae87
Issue #22609 : Revert changes in UserDict. They conflicted with existing tests.
2014-11-27 17:45:44 +02:00
Serhiy Storchaka
ae5cb214d2
Issue #22609 : Constructors and update methods of mapping classes in the
...
collections module now accept the self keyword argument.
2014-11-27 16:25:51 +02:00
Serhiy Storchaka
f51f713f30
Issue #22609 : Revert changes in UserDict. They conflicted with existing tests.
2014-11-27 17:46:15 +02:00
Serhiy Storchaka
8943ecfab2
Issue #22609 : Constructors and update methods of mapping classes in the
...
collections module now accept the self keyword argument.
2014-11-27 16:35:26 +02:00
Raymond Hettinger
bb6c0aaebf
PEP 479: Use the return-keyword instead of raising StopIteration inside a generators.
2014-11-22 22:14:41 -08:00
Raymond Hettinger
aa92d342f1
merge
2014-05-26 00:14:14 -07:00
Raymond Hettinger
dd5e53a086
Issue 8743: Improve interoperability between sets and the collections.Set abstract base class.
2014-05-26 00:09:04 -07:00
Raymond Hettinger
2d452ee166
Issue 15246: Improve test coverage for collections.abc.Set. (Contributed by James King).
2014-05-25 18:28:39 -07:00
Raymond Hettinger
53d2c41f77
Issue #19414 : Have the OrderedDict mark deleted links as unusable.
...
This gives an earlier and more visible failure if a link is deleted
during iteration.
2014-05-03 21:58:45 -07:00
Serhiy Storchaka
578c9211d6
Issue #19505 : The items, keys, and values views of OrderedDict now support
...
reverse iteration using reversed().
2014-04-04 15:19:36 +03:00
Eric V. Smith
4d5d69d452
TestNamedTuple.test_pickle was only testing through protocol 2. Changed to have it automatically test through the most recent version.
2014-02-05 10:33:14 -05:00
Raymond Hettinger
facd0a346f
Strengthen one of the collections.Counter() tests
2013-10-05 17:14:51 -07:00
Raymond Hettinger
07573d7b24
merge
2013-10-04 16:52:39 -07:00
Raymond Hettinger
cb1d96f782
Issue #18594 : Make the C code more closely match the pure python code.
2013-10-04 16:51:02 -07:00
Nick Coghlan
45163ccce4
Close #18690 : register memoryview with Sequence ABC
2013-10-02 22:31:47 +10:00
Ezio Melotti
0cb2aafb36
#18106 : refactor tests to use subtests and proper assert methods. Patch by Vajrasky Kok.
2013-07-07 13:37:20 +02:00
Serhiy Storchaka
3ee6dabf5b
Issue #17900 : Allowed pickling of recursive OrderedDicts. Decreased pickled
...
size and pickling time.
2013-05-21 12:47:57 +03:00
Raymond Hettinger
163e9821b4
Undo the deprecation of _asdict().
...
Backed out changeset c4ca39bece9d
2013-05-18 00:05:20 -07:00
Raymond Hettinger
4e0172fd9a
Deprecate nametuple._asdict()
2013-05-17 17:14:27 -07:00
Raymond Hettinger
4072875dcb
merge
2013-05-03 02:41:02 -07:00
Raymond Hettinger
b98dcc1f53
Issue #15535 : Fix pickling of named tuples.
2013-05-03 02:24:15 -07:00
Vinay Sajip
1ba81ee19a
Closes #16613 : Added optional mapping argument to ChainMap.new_child.
2013-01-11 23:39:53 +00:00
Andrew Svetlov
b904e4256e
Merge issue #16373 : Prevent infinite recursion for ABC Set class operations.
...
Patch by Serhiy Storchaka.
2012-11-01 13:31:12 +02:00
Andrew Svetlov
bcac6ad1f3
Issue #16373 : Prevent infinite recursion for ABC Set class operations.
2012-11-01 13:28:54 +02:00
Raymond Hettinger
68fb89fdb7
Fix whitespace
2011-11-05 13:43:01 -07:00
Raymond Hettinger
f1182cd4db
Merge
2011-11-05 13:39:57 -07:00
Raymond Hettinger
4e6bf41934
Improve Counter.__repr__() to not fail with unorderable values
2011-11-05 13:35:26 -07:00
Raymond Hettinger
becd56822a
Issue #13121 : Support in-place math operators for collections.Counter().
2011-10-19 13:40:37 -07:00
Raymond Hettinger
fcb393c018
Add support for unary plus and unary minus to collections.Counter()
2011-08-09 13:00:40 -07:00
Raymond Hettinger
22cc1183a3
merge
2011-06-02 23:49:44 -07:00
Raymond Hettinger
3d89057ff8
Fix named tuples to work with vars().
2011-06-02 23:40:24 -07:00
Raymond Hettinger
a5ac2ce982
Backport 3.3 fixes and cleans ups.
2011-05-02 11:02:13 -07:00
Łukasz Langa
75da860413
TestChainMap was not previously used. Minor corrections applied.
2011-04-29 11:35:03 +02:00
Raymond Hettinger
b5a40d4d3f
Fix minor subclassing issue with collections.Counter
2011-04-15 13:23:01 -07:00
Raymond Hettinger
6c9e5b779f
Fix minor subclassing issue with collections.Counter
2011-04-15 13:21:30 -07:00
Raymond Hettinger
1c746c28f3
Fix minor subclassing issue with collections.Counter
2011-04-15 13:16:46 -07:00
Raymond Hettinger
6712a3e14f
Remove test_importable(). Couldn't see how to make this reliable across all platforms.
2011-03-24 10:51:06 -07:00
Raymond Hettinger
d4652fab51
Isolate the test_source() test in test_collections
2011-03-24 09:45:43 -07:00
Raymond Hettinger
f6d3e8eaef
Add tests for _source to importable and exec'able.
...
Move __name__ back out of the template; the responsibility
for setting __name__ lies with the caller (which knows
something about the new namespace), not with the class
definition (which doesn't know about the namespace it is
being built in).
2011-03-23 20:33:30 -07:00
Raymond Hettinger
2ebea41d31
Expose the namedtuple source with a _source attribute.
2011-03-23 12:52:23 -07:00
Eli Bendersky
0716a579a4
Mentioned new clear() method of MutableSequence in its doc, and added unit tests for its mixin methods
2011-03-04 10:38:14 +00:00
Raymond Hettinger
d032131dcb
Add __bool__ method. Add tests. Fix-up broken test.
2011-02-26 06:53:58 +00:00
Raymond Hettinger
9fe1ccfb5a
Issue #11297 : Add collections.ChainMap()
2011-02-26 01:02:51 +00:00
Raymond Hettinger
dcb29c93d2
Add tests for the collections helper class and sync-up with py3k branch.
2011-02-23 08:28:06 +00:00
Raymond Hettinger
499e19340e
Add tests for the _ChainMap helper class.
2011-02-23 07:56:53 +00:00
Raymond Hettinger
57d1a887e7
Fix imports from collections.abc
2011-02-23 00:46:28 +00:00
Raymond Hettinger
1d879f6852
Backport r87613 to make OrderedDict subclassing match dict subclassing.
2011-01-04 20:57:19 +00:00
Raymond Hettinger
426e052a4f
Make C helper function more closely match the pure python version, and add tests.
2011-01-03 02:12:02 +00:00
Raymond Hettinger
345c49b16b
Fix OrderedDic.pop() to work for subclasses that define __missing__().
2011-01-01 23:51:55 +00:00
Raymond Hettinger
32062e9be7
Make it easier to extend OrderedDict without breaking it.
2011-01-01 22:38:00 +00:00
Raymond Hettinger
a673b1fd0e
Fix OrderedDict.setdefault() to work for subclasses that define __missing__().
2010-12-31 23:16:17 +00:00
Alexander Belopolsky
fdb32c15e4
Merged revisions 86857 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r86857 | raymond.hettinger | 2010-11-28 22:56:12 -0500 (Sun, 28 Nov 2010) | 1 line
Issue #10565 : Iterator ABC should require both __next__ and __iter__.
........
2010-11-30 01:01:02 +00:00
Raymond Hettinger
ead22227cc
Issue #10565 : Iterator ABC should require both __next__ and __iter__.
2010-11-29 03:56:12 +00:00
Ezio Melotti
19f2aeba67
Merged revisions 86596 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r86596 | ezio.melotti | 2010-11-20 21:04:17 +0200 (Sat, 20 Nov 2010) | 1 line
#9424 : Replace deprecated assert* methods in the Python test suite.
........
2010-11-21 01:30:29 +00:00
Ezio Melotti
b3aedd4862
#9424 : Replace deprecated assert* methods in the Python test suite.
2010-11-20 19:04:17 +00:00