Shantanu 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								29f98b46b7 
								
							 
						 
						
							
							
								
								gh-96151: Use a private name for passing builtins to dataclass. This now allows for a field named BUILTIN (gh-98143)  
							
							
							
						 
						
							2022-10-31 08:31:01 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tiger 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c46a423a52 
								
							 
						 
						
							
							
								
								bpo-35540 dataclasses.asdict now supports defaultdict fields (gh-32056)  
							
							
							
						 
						
							2022-10-06 17:11:59 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikita Sobolev 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								4f380db1a5 
								
							 
						 
						
							
							
								
								gh-96142: add missing params to dataclass._DataclassParams (gh-96382)  
							
							
							
						 
						
							2022-10-04 09:53:28 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Shantanu 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								72b5a55bc8 
								
							 
						 
						
							
							
								
								Add comment to subtle dataclass code (gh-96133)  
							
							... 
							
							
							
							In the PR that made this change, 1st1 left a "note to self: add a
comment explaining this". This comment was never added.
https://github.com/python/cpython/pull/9518/files#r280608117 
I was reading this code and it wasn't obvious to me why we weren't
exec-ing directly into locals. So I got to learn something new :-)
https://docs.python.org/3/reference/executionmodel.html#interaction-with-dynamic-features  
							
						 
						
							2022-10-03 17:30:04 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									larryhastings 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								00b5a08c80 
								
							 
						 
						
							
							
								
								gh-97799: use inspect.get_annotations in dataclass ( #97800 )  
							
							... 
							
							
							
							dataclass used to get the annotations on a class object using
cls.__dict__.get('__annotations__').  Now that it always imports
inspect, it can use inspect.get_annotations, which is modern
best practice for coping with annotations. 
							
						 
						
							2022-10-03 15:46:09 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Roman Novak 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b8c528694e 
								
							 
						 
						
							
							
								
								Fix minor docstring issues in dataclasses.py. (gh-93024)  
							
							... 
							
							
							
							Previously, when using `functools.wrap` around them (and inherit their docstrings), sphinx renders the docstrings badly and raises warnings about wrong indent. 
							
						 
						
							2022-07-26 10:48:58 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tom Fryers 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a10cf2f6b3 
								
							 
						 
						
							
							
								
								Improve dataclass docstring (gh-94686)  
							
							
							
						 
						
							2022-07-09 14:26:24 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f9433fff47 
								
							 
						 
						
							
							
								
								gh-89828: Do not relay the __class__ attribute in GenericAlias ( #93754 )  
							
							... 
							
							
							
							list[int].__class__ returned type, and isinstance(list[int], type)
returned True. It caused numerous problems in code that checks
isinstance(x, type). 
							
						 
						
							2022-06-18 11:34:57 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Bluenix 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5849af7a80 
								
							 
						 
						
							
							
								
								GH-93521: For dataclasses, filter out __weakref__ slot if present in bases (GH-93535)  
							
							
							
						 
						
							2022-06-07 20:53:08 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5f9c0f5ddf 
								
							 
						 
						
							
							
								
								Add weakref_slot to dataclass decorator, to allow instances with slots to be weakref-able. ( #92160 )  
							
							
							
						 
						
							2022-05-02 10:36:39 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Hugo van Kemenade 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6881ea936e 
								
							 
						 
						
							
							
								
								bpo-47126: Update to canonical PEP URLs specified by PEP 676 (GH-32124)  
							
							
							
						 
						
							2022-03-30 12:00:27 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Bovenberg 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								82e9b0bb0a 
								
							 
						 
						
							
							
								
								bpo-46382 dataclass(slots=True) now takes inherited slots into account (GH-31980)  
							
							... 
							
							
							
							Do not include any members in __slots__ that are already in a base class's __slots__. 
							
						 
						
							2022-03-19 17:01:17 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e029c53e1a 
								
							 
						 
						
							
							
								
								bpo-44674: Use unhashability as a proxy for mutability for default dataclass __init__ arguments. (GH-29867)  
							
							... 
							
							
							
							`@dataclass` in 3.10 prohibits using list, dict, or set as default values. It does this to avoid the mutable default problem. This test is both too strict, and not strict enough. Too strict, because some immutable subclasses should be safe, and not strict enough, because other mutable types should be prohibited. With this change applied, `@dataclass` now uses unhashability as a proxy for mutability: if objects aren't hashable, they're assumed to be mutable. 
							
						 
						
							2021-12-11 16:12:17 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								446be16686 
								
							 
						 
						
							
							
								
								bpo-45663: Fix is_dataclass() for dataclasses which are subclasses of types.GenericAlias (GH-29294)  
							
							
							
						 
						
							2021-12-05 22:42:50 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1fd4de5bdd 
								
							 
						 
						
							
							
								
								bpo-45662: Fix the repr of InitVar with a type alias to the built-in class (GH-29291)  
							
							... 
							
							
							
							For example, InitVar[list[int]]. 
							
						 
						
							2021-12-05 22:41:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d3062f672c 
								
							 
						 
						
							
							
								
								bpo-44649: Fix dataclasses(slots=True) with a field with a default, but init=False (GH-29692)  
							
							... 
							
							
							
							Special handling is needed, because for non-slots dataclasses the instance attributes are not set: reading from a field just references the class's attribute of the same name, which contains the default value. But this doesn't work for classes using __slots__: they don't read the class's attribute. So in that case (and that case only), initialize the instance attribute. Handle this for both normal defaults, and for fields using default_factory. 
							
						 
						
							2021-11-22 08:26:12 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f7638dd0f9 
								
							 
						 
						
							
							
								
								Added kw_only parameter to make_dataclasses. (GH-29679)  
							
							
							
						 
						
							2021-11-20 18:25:56 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Landon Yarrington 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5b4a7675bc 
								
							 
						 
						
							
							
								
								Fix dataclassses spelling (GH-28837)  
							
							
							
						 
						
							2021-10-09 15:17:52 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Binbin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								17b16e13bb 
								
							 
						 
						
							
							
								
								Fix typos in multiple files (GH-26689)  
							
							... 
							
							
							
							Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu> 
							
						 
						
							2021-06-12 22:47:44 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Sean Grady 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7e6f237569 
								
							 
						 
						
							
							
								
								Fix dataclass comment typo _eq__ -> __eq__ (GH-26433)  
							
							
							
						 
						
							2021-05-28 16:57:18 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								99ad742ea9 
								
							 
						 
						
							
							
								
								bpo-44015: dataclasses should allow KW_ONLY to be specified only once per class (GH-25841)  
							
							... 
							
							
							
							bpo-44015: Raise a TypeError if KW_ONLY is specified more than once. 
							
						 
						
							2021-05-03 03:24:53 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								823fbf4e0e 
								
							 
						 
						
							
							
								
								If using a frozen class with slots, add __getstate__ and __setstate__ to set the instance values. (GH-25786)  
							
							
							
						 
						
							2021-05-01 13:27:30 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yurii Karabas 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c24199184b 
								
							 
						 
						
							
							
								
								bpo-42269: Add slots parameter to dataclass decorator (GH-24171)  
							
							... 
							
							
							
							Add slots parameter to dataclass decorator and make_dataclass function. 
							
						 
						
							2021-04-30 22:14:30 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c0280532dc 
								
							 
						 
						
							
							
								
								Add keyword-only fields to dataclasses. (GH=25608)  
							
							
							
						 
						
							2021-04-25 20:42:39 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Pablo Galindo 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b0544ba77c 
								
							 
						 
						
							
							
								
								bpo-38605: Revert making 'from __future__ import annotations' the default (GH-25490)  
							
							... 
							
							
							
							This reverts commits 044a1048ca1be456ae9d 
							
						 
						
							2021-04-21 12:41:19 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								76beadb8ff 
								
							 
						 
						
							
							
								
								Fix typo in a dataclasses comment. (GH-25454)  
							
							
							
						 
						
							2021-04-17 09:53:24 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c1a66bdd6f 
								
							 
						 
						
							
							
								
								Remove an unnecessary copy of the 'namespace' parameter to make_dataclass(). (GH-25372)  
							
							
							
						 
						
							2021-04-12 21:02:02 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								750f484752 
								
							 
						 
						
							
							
								
								bpo-43764: Add match_args=False parameter to dataclass decorator and to make_dataclasses function. (GH-25337)  
							
							... 
							
							
							
							Add match_args=False parameter to dataclass decorator and to make_dataclass function. 
							
						 
						
							2021-04-10 21:28:42 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d92c59f486 
								
							 
						 
						
							
							
								
								bpo-43764: Fix __match_args__ generation logic for dataclasses (GH-25284)  
							
							
							
						 
						
							2021-04-08 12:54:34 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Iurii Kemaev 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								376ffc6ac4 
								
							 
						 
						
							
							
								
								bpo-43176: Fix processing of empty dataclasses (GH-24484)  
							
							... 
							
							
							
							When a dataclass inherits from an empty base, all immutability checks are omitted. This PR fixes this and adds tests for it.
Automerge-Triggered-By: GH:ericvsmith 
							
						 
						
							2021-04-05 22:14:01 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Zackery Spytz 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								75220674c0 
								
							 
						 
						
							
							
								
								bpo-36470: Allow dataclasses.replace() to handle InitVars with default values (GH-20867)  
							
							... 
							
							
							
							Co-Authored-By: Claudiu Popa <pcmanticore@gmail.com>
Automerge-Triggered-By: GH:ericvsmith 
							
						 
						
							2021-04-05 12:41:01 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brandt Bucher 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								145bf269df 
								
							 
						 
						
							
							
								
								bpo-42128: Structural Pattern Matching (PEP 634) (GH-22917)  
							
							... 
							
							
							
							Co-authored-by: Guido van Rossum <guido@python.org>
Co-authored-by: Talin <viridia@gmail.com>
Co-authored-by: Pablo Galindo <pablogsal@gmail.com> 
							
						 
						
							2021-02-26 14:51:55 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Batuhan Taskaya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c7437e2c02 
								
							 
						 
						
							
							
								
								bpo-41747: Ensure all dataclass methods uses their parents' qualname (GH-22155)  
							
							... 
							
							
							
							* bpo-41747: Ensure all dataclass methods uses their parents' qualname
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> 
							
						 
						
							2020-10-21 09:49:22 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Batuhan Taskaya 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								044a1048ca 
								
							 
						 
						
							
							
								
								bpo-38605: Make 'from __future__ import annotations' the default (GH-20434)  
							
							... 
							
							
							
							The hard part was making all the tests pass; there are some subtle issues here, because apparently the future import wasn't tested very thoroughly in previous Python versions.
For example, `inspect.signature()` returned type objects normally (except for forward references), but strings with the future import. We changed it to try and return type objects by calling `typing.get_type_hints()`, but fall back on returning strings if that function fails (which it may do if there are future references in the annotations that require passing in a specific namespace to resolve). 
							
						 
						
							2020-10-06 13:03:02 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ben Avrahami 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								bef7d299eb 
								
							 
						 
						
							
							
								
								bpo-41905: Add abc.update_abstractmethods() (GH-22485)  
							
							... 
							
							
							
							This function recomputes `cls.__abstractmethods__`.
Also update `@dataclass` to use it. 
							
						 
						
							2020-10-06 10:40:50 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jürgen Gmach 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								80526f6841 
								
							 
						 
						
							
							
								
								Fix typo in dataclasses module (GH-21109)  
							
							... 
							
							
							
							Automerge-Triggered-By: @matrixise 
							
						 
						
							2020-06-24 03:46:52 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ethan Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d01628e411 
								
							 
						 
						
							
							
								
								bpo-39481: PEP 585 for dataclasses, mailbox, contextvars (GH-19425)  
							
							
							
						 
						
							2020-04-14 16:14:15 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yury Selivanov 
								
							 
						 
						
							
							
							
							
								
							
							
								d219cc4180 
								
							 
						 
						
							
							
								
								bpo-34776: Fix dataclasses to support __future__ "annotations" mode ( #9518 )  
							
							
							
						 
						
							2019-12-09 15:54:20 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Samuel Colvin 
								
							 
						 
						
							
							
							
							
								
							
							
								793cb85437 
								
							 
						 
						
							
							
								
								bpo-38431: Fix __repr__ method of InitVar to work with typing objects. (GH-16702)  
							
							
							
						 
						
							2019-10-13 14:45:36 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b4d0b39a9b 
								
							 
						 
						
							
							
								
								bpo-38209: Simplify dataclasses.InitVar by using __class_getitem__(). (GH-16255)  
							
							
							
						 
						
							2019-09-22 13:32:41 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b0f4dab873 
								
							 
						 
						
							
							
								
								bpo-37868: Improve is_dataclass for instances. (GH-15325)  
							
							
							
						 
						
							2019-08-20 01:40:28 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Min ho Kim 
								
							 
						 
						
							
							
							
							
								
							
							
								96e12d5f4f 
								
							 
						 
						
							
							
								
								Fix typos in docs, comments and test assert messages ( #14872 )  
							
							
							
						 
						
							2019-07-21 16:12:33 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2d88e63bfc 
								
							 
						 
						
							
							
								
								bpo-37163: Make the obj argument of dataclasses.replace() a positional-only. (GH-14390)  
							
							
							
						 
						
							2019-06-26 19:07:44 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Augusto Hack 
								
							 
						 
						
							
							
							
							
								
							
							
								01ee12ba35 
								
							 
						 
						
							
							
								
								bpo-33569 Preserve type information with dataclasses.InitVar (GH-8927)  
							
							
							
						 
						
							2019-06-02 22:14:48 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2085bd0877 
								
							 
						 
						
							
							
								
								bpo-37116: Use PEP 570 syntax for positional-only parameters. (GH-13700)  
							
							
							
						 
						
							2019-06-01 11:00:15 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Christopher Hunt 
								
							 
						 
						
							
							
							
							
								
							
							
								b01786c881 
								
							 
						 
						
							
							
								
								bpo-35960: Fix dataclasses.field throwing away empty metadata.  (GH-11815)  
							
							
							
						 
						
							2019-02-12 06:50:49 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Srinivas  Thatiparthy (శ్రీనివాస్  తాటిపర్తి) 
								
							 
						 
						
							
							
							
							
								
							
							
								dd13c88b53 
								
							 
						 
						
							
							
								
								bpo-33947:  dataclasses no longer can raise RecursionError in repr (GF9916)  
							
							... 
							
							
							
							The reprlib code was copied here instead of importing reprlib. I'm not sure if we really need to avoid the import, but since I expect dataclasses to be more common that reprlib, it seems wise. Plus, the code is small. 
							
						 
						
							2018-10-19 12:54:50 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								9b9d97dd13 
								
							 
						 
						
							
							
								
								bpo-34363: dataclasses.asdict() and .astuple() now handle fields which are namedtuples. (GH-9151)  
							
							
							
						 
						
							2018-09-14 11:32:16 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vadim Pushtaev 
								
							 
						 
						
							
							
							
							
								
							
							
								4d12e4dc28 
								
							 
						 
						
							
							
								
								bpo-34213: Allow dataclasses to work with a field named 'object'. (GH-8452)  
							
							
							
						 
						
							2018-08-12 07:46:05 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Artjom 
								
							 
						 
						
							
							
							
							
								
							
							
								e55ca3fdcb 
								
							 
						 
						
							
							
								
								Fix typo in dataclasses documentation (GH-8102)  
							
							
							
						 
						
							2018-07-05 19:09:13 -04:00