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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dong-hee Na 
								
							 
						 
						
							
							
							
							
								
							
							
								3d70f7aef6 
								
							 
						 
						
							
							
								
								bpo-33805: Improve error message of dataclasses.replace() (GH-7580)  
							
							
							
						 
						
							2018-06-23 10:46:32 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e7adf2ba41 
								
							 
						 
						
							
							
								
								bpo-33796: Ignore ClassVar for dataclasses.replace(). (GH-7488)  
							
							
							
						 
						
							2018-06-07 14:43:59 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								4e81296b18 
								
							 
						 
						
							
							
								
								bpo-33536: Validate make_dataclass() field names. (GH-6906)  
							
							
							
						 
						
							2018-05-16 11:31:29 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								9285835a05 
								
							 
						 
						
							
							
								
								bpo-33534: Remove unneeded test. (GH-6897)  
							
							... 
							
							
							
							This condition as already tested before this code is called. 
							
						 
						
							2018-05-16 07:24:00 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f8e7549490 
								
							 
						 
						
							
							
								
								Reflow dataclasses comments (GH-6893)  
							
							... 
							
							
							
							To be more consistent with other code (and so people stop hassling me!), reflow the dataclasses comments to not use a single space indentation when continuing a paragraph of text. 
							
						 
						
							2018-05-16 05:14:53 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2a7bacbd91 
								
							 
						 
						
							
							
								
								bpo-33453: Handle string type annotations in dataclasses. (GH-6768)  
							
							
							
						 
						
							2018-05-15 22:44:27 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								01abc6ec3a 
								
							 
						 
						
							
							
								
								bpo-33517: dataclasses: Add the field type to Field repr (GH-6858)  
							
							
							
						 
						
							2018-05-15 08:36:21 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								3059042410 
								
							 
						 
						
							
							
								
								bpo-33502: dataclass._Dataclassparams repr: use repr of each member. (GH-6812)  
							
							
							
						 
						
							2018-05-14 17:16:52 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2473eea65d 
								
							 
						 
						
							
							
								
								bpo-33494: Change dataclasses.Fields repr to use the repr of each of its members (GH-6798)  
							
							
							
						 
						
							2018-05-14 11:37:28 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ivan Levkivskyi 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5a7092de12 
								
							 
						 
						
							
							
								
								Allow dynamic creation of generic dataclasses (GH-6319)  
							
							
							
						 
						
							2018-03-31 13:41:17 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								521995205a 
								
							 
						 
						
							
							
								
								bpo-33175: dataclasses should look up __set_name__ on class, not instance (GH-6305)  
							
							
							
						 
						
							2018-03-29 11:07:48 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								de7a2f04d6 
								
							 
						 
						
							
							
								
								bpo-33141: Have dataclasses.Field pass through __set_name__ to any default argument. (GH-6260)  
							
							... 
							
							
							
							This is part of PEP 487 and the descriptor protocol. 
							
						 
						
							2018-03-26 13:29:16 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								01d618c560 
								
							 
						 
						
							
							
								
								bpo-33134: dataclasses: use function dispatch table for hash, instead of a string lookup which then is tested with if tests. (GH-6222)  
							
							... 
							
							
							
							* Change _hash_action to be a function table lookup, instead of a list
of strings which is then tested with if statements. 
							
						 
						
							2018-03-24 22:10:14 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f96ddade00 
								
							 
						 
						
							
							
								
								Trivial dataclass cleanups: (GH-6218)  
							
							... 
							
							
							
							- When adding a single element to a list, use .append() instead of
  += and creating a new list.
- For consistency, import the copy module, instead of just deepcopy. This
  leaves only a module at the class level, instead of a function.
- Improve some comments.
- Improve some whitespace.
- Use tuples instead of lists.
- Simplify a test. 
							
						 
						
							2018-03-24 17:20:26 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								56970b8ce9 
								
							 
						 
						
							
							
								
								bpo-32505: dataclasses: raise TypeError if a member variable is of type Field, but doesn't have a type annotation. (GH-6192)  
							
							... 
							
							
							
							If a dataclass has a member variable that's of type Field, but it doesn't have a type annotation, raise TypeError. 
							
						 
						
							2018-03-22 16:28:48 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8e4560a9da 
								
							 
						 
						
							
							
								
								Add 'Field' to dataclasses.__all__. (GH-6182)  
							
							... 
							
							
							
							- Add missing 'Field' to __all__.
- Improve tests to catch this. 
							
						 
						
							2018-03-21 17:10:22 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8f6eccdc64 
								
							 
						 
						
							
							
								
								bpo-32896: Fix error when subclassing a dataclass with a field that uses a default_factory (GH-6170)  
							
							... 
							
							
							
							Fix the way that new annotations in a class are detected. 
							
						 
						
							2018-03-20 22:00:23 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7389fd935c 
								
							 
						 
						
							
							
								
								bpo-33100: Dataclasses now handles __slots__ and default values correctly. (GH-6152)  
							
							... 
							
							
							
							If the class has a member that's a MemberDescriptorType, it's not a default value, it's from that member being in __slots__. 
							
						 
						
							2018-03-19 21:07:51 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f199bc655e 
								
							 
						 
						
							
							
								
								bpo-32953: Dataclasses: frozen should not be inherited for non-dataclass derived classes ( #6147 )  
							
							... 
							
							
							
							If a non-dataclass derives from a frozen dataclass, allow attributes to be set.
Require either all of the dataclasses in a class hierarchy to be frozen, or all non-frozen.
Store `@dataclass` parameters on the class object under `__dataclass_params__`. This is needed to detect frozen base classes. 
							
						 
						
							2018-03-18 20:40:34 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5da8cfb838 
								
							 
						 
						
							
							
								
								Fixed incorrect default value for dataclass unsafe_hash. (GH-5949)  
							
							
							
						 
						
							2018-03-01 08:01:41 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2fa6b9eae0 
								
							 
						 
						
							
							
								
								bpo-32960: For dataclasses, disallow inheriting frozen from non-frozen classes and vice-versa, (GH-5919)  
							
							... 
							
							
							
							This restriction will be relaxed at a future date. 
							
						 
						
							2018-02-26 20:38:33 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								dbf9cff48a 
								
							 
						 
						
							
							
								
								bpo-32929: Dataclasses: Change the tri-state hash parameter to the boolean unsafe_hash. ( #5891 )  
							
							... 
							
							
							
							unsafe_hash=False is now the default. It is the same behavior as the old hash=None parameter. unsafe_hash=True will try to add __hash__. If it already exists, TypeError is raised. 
							
						 
						
							2018-02-25 21:30:17 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ea8fc52e75 
								
							 
						 
						
							
							
								
								bpo-32513: Make it easier to override dunders in dataclasses. (GH-5366)  
							
							... 
							
							
							
							Class authors no longer need to specify repr=False if they want to provide a custom __repr__ for dataclasses. The same thing applies for the other dunder methods that the dataclass decorator adds. If dataclass finds that a dunder methods is defined in the class, it will not overwrite it. 
							
						 
						
							2018-01-27 19:07:40 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ivan Levkivskyi 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d911e40e78 
								
							 
						 
						
							
							
								
								bpo-32226: PEP 560: improve typing module ( #4906 )  
							
							... 
							
							
							
							This PR re-designs the internal typing API using the new PEP 560 features.
However, there are only few minor changes in the public API. 
							
						 
						
							2018-01-20 11:23:59 +00:00