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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d55209d5b1 
								
							 
						 
						
							
							
								
								Fix obvious typos in docstrings ( #5151 )  
							
							
							
						 
						
							2018-01-10 20:56:41 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d13889214a 
								
							 
						 
						
							
							
								
								bpo-32506: Change dataclasses from OrderedDict to plain dict. (gh-5131)  
							
							
							
						 
						
							2018-01-07 14:30:17 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d327ae6ba1 
								
							 
						 
						
							
							
								
								Fix dataclasses docstring typo. (gh-5118)  
							
							
							
						 
						
							2018-01-07 08:19:45 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								d80b443f02 
								
							 
						 
						
							
							
								
								bpo-32279: Add additional params to make_dataclass(), pass through to dataclass(). (gh-5117)  
							
							
							
						 
						
							2018-01-06 17:09:58 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ed7d429ebb 
								
							 
						 
						
							
							
								
								bpo-32278: Allow dataclasses.make_dataclass() to omit type information. (gh-5115)  
							
							
							
						 
						
							2018-01-06 16:14:03 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e7ba013d87 
								
							 
						 
						
							
							
								
								bpo-32499: Add dataclasses.is_dataclass(obj), which returns True if obj is a dataclass or an instance of one. ( #5113 )  
							
							
							
						 
						
							2018-01-06 12:41:53 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								03220fdb26 
								
							 
						 
						
							
							
								
								bpo-32427: Expose dataclasses.MISSING object. ( #5045 )  
							
							
							
						 
						
							2017-12-29 13:59:58 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Eric V. Smith 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f0db54a0a1 
								
							 
						 
						
							
							
								
								bpo-32214: Implement PEP 557: Data Classes ( #4704 )  
							
							
							
						 
						
							2017-12-04 16:58:55 -05:00