Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | bpo-44015: dataclasses should allow KW_ONLY to be specified only once per ↵ | Eric V. Smith | 2021-05-03 | 1 | -0/+77 |
| | | | | | class (GH-25841) bpo-44015: Raise a TypeError if KW_ONLY is specified more than once. | ||||
* | If using a frozen class with slots, add __getstate__ and __setstate__ to set ↵ | Eric V. Smith | 2021-05-01 | 1 | -0/+13 |
| | | | | the instance values. (GH-25786) | ||||
* | bpo-42269: Add slots parameter to dataclass decorator (GH-24171) | Yurii Karabas | 2021-05-01 | 1 | -0/+53 |
| | | | Add slots parameter to dataclass decorator and make_dataclass function. | ||||
* | Add additional keyword-only tests. (GH-25633) | Eric V. Smith | 2021-04-26 | 1 | -1/+29 |
| | |||||
* | Add keyword-only fields to dataclasses. (GH=25608) | Eric V. Smith | 2021-04-26 | 1 | -0/+159 |
| | |||||
* | bpo-38605: Revert making 'from __future__ import annotations' the default ↵ | Pablo Galindo | 2021-04-21 | 1 | -29/+48 |
| | | | | | | (GH-25490) This reverts commits 044a1048ca93d466965afc027b91a5a9eb9ce23c and 1be456ae9d53bb1cba2b24fc86175c282d1c2169, adapting the code to changes that happened after it. | ||||
* | bpo-43764: Add match_args=False parameter to dataclass decorator and to ↵ | Eric V. Smith | 2021-04-11 | 1 | -0/+41 |
| | | | | | make_dataclasses function. (GH-25337) Add match_args=False parameter to dataclass decorator and to make_dataclass function. | ||||
* | bpo-43764: Fix `__match_args__` generation logic for dataclasses (GH-25284) | Brandt Bucher | 2021-04-08 | 1 | -0/+8 |
| | |||||
* | bpo-43176: Fix processing of empty dataclasses (GH-24484) | Iurii Kemaev | 2021-04-06 | 1 | -0/+24 |
| | | | | | 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 | ||||
* | bpo-42128: __match_args__ can't be a list anymore (GH-25203) | Brandt Bucher | 2021-04-06 | 1 | -1/+1 |
| | |||||
* | bpo-36470: Allow dataclasses.replace() to handle InitVars with default ↵ | Zackery Spytz | 2021-04-05 | 1 | -0/+18 |
| | | | | | | | values (GH-20867) Co-Authored-By: Claudiu Popa <pcmanticore@gmail.com> Automerge-Triggered-By: GH:ericvsmith | ||||
* | bpo-42128: Structural Pattern Matching (PEP 634) (GH-22917) | Brandt Bucher | 2021-02-26 | 1 | -0/+16 |
| | | | | | Co-authored-by: Guido van Rossum <guido@python.org> Co-authored-by: Talin <viridia@gmail.com> Co-authored-by: Pablo Galindo <pablogsal@gmail.com> | ||||
* | bpo-41747: Ensure all dataclass methods uses their parents' qualname (GH-22155) | Batuhan Taskaya | 2020-10-21 | 1 | -0/+24 |
| | | | | | * bpo-41747: Ensure all dataclass methods uses their parents' qualname Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> | ||||
* | bpo-38605: Make 'from __future__ import annotations' the default (GH-20434) | Batuhan Taskaya | 2020-10-06 | 1 | -49/+30 |
| | | | | | 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). | ||||
* | bpo-41905: Add abc.update_abstractmethods() (GH-22485) | Ben Avrahami | 2020-10-06 | 1 | -0/+37 |
| | | | | This function recomputes `cls.__abstractmethods__`. Also update `@dataclass` to use it. | ||||
* | bpo-40389: Improve repr of typing.Optional (#19714) | Vlad Serebrennikov | 2020-04-30 | 1 | -1/+1 |
| | |||||
* | Add test cases for dataclasses. (#17909) | Karthikeyan Singaravelan | 2020-01-09 | 1 | -0/+19 |
| | | | | | | | | * Add test cases for dataclasses. * Add test for repr output of field. * Add test for ValueError to be raised when both default and default_factory are passed. | ||||
* | bpo-34776: Fix dataclasses to support __future__ "annotations" mode (#9518) | Yury Selivanov | 2019-12-09 | 1 | -0/+12 |
| | |||||
* | bpo-38431: Fix __repr__ method of InitVar to work with typing objects. ↵ | Samuel Colvin | 2019-10-13 | 1 | -0/+2 |
| | | | | | | (GH-16702) | ||||
* | Unmark files as executable that can't actually be executed. (GH-15353) | Greg Price | 2019-08-21 | 1 | -0/+0 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are plenty of legitimate scripts in the tree that begin with a `#!`, but also a few that seem to be marked executable by mistake. Found them with this command -- it gets executable files known to Git, filters to the ones that don't start with a `#!`, and then unmarks them as executable: $ git ls-files --stage \ | perl -lane 'print $F[3] if (!/^100644/)' \ | while read f; do head -c2 "$f" | grep -qxF '#!' \ || chmod a-x "$f"; \ done Looking at the list by hand confirms that we didn't sweep up any files that should have the executable bit after all. In particular * The `.psd` files are images from Photoshop. * The `.bat` files sure look like things that can be run. But we have lots of other `.bat` files, and they don't have this bit set, so it must not be needed for them. Automerge-Triggered-By: @benjaminp | ||||
* | bpo-37868: Improve is_dataclass for instances. (GH-15325) | Eric V. Smith | 2019-08-20 | 1 | -0/+26 |
| | |||||
* | Fix typos in docs, comments and test assert messages (#14872) | Min ho Kim | 2019-07-21 | 1 | -3/+3 |
| | |||||
* | bpo-33569 Preserve type information with dataclasses.InitVar (GH-8927) | Augusto Hack | 2019-06-03 | 1 | -0/+6 |
| | |||||
* | bpo-36766: Typos in docs and code comments (GH-13116) | penguindustin | 2019-05-06 | 1 | -1/+1 |
| | |||||
* | bpo-36678: Rename duplicate tests in test_dataclasses (GH-12899) | Windson yang | 2019-04-22 | 1 | -15/+3 |
| | |||||
* | bpo-35960: Fix dataclasses.field throwing away empty metadata. (GH-11815) | Christopher Hunt | 2019-02-12 | 1 | -2/+12 |
| | |||||
* | bpo-33947: dataclasses no longer can raise RecursionError in repr (GF9916) | Srinivas Thatiparthy (శ్రీనివాస్ తాటిపర్తి) | 2018-10-19 | 1 | -0/+86 |
| | | | 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. | ||||
* | bpo-34363: dataclasses.asdict() and .astuple() now handle fields which are ↵ | Eric V. Smith | 2018-09-14 | 1 | -0/+79 |
| | | | | namedtuples. (GH-9151) | ||||
* | bpo-34213: Allow dataclasses to work with a field named 'object'. (GH-8452) | Vadim Pushtaev | 2018-08-12 | 1 | -0/+50 |
| | |||||
* | bpo-34184: Fix running Lib/test/test_dataclasses.py as a script. (GH-8382) | Serhiy Storchaka | 2018-07-23 | 1 | -5/+5 |
| | |||||
* | bpo-33805: Improve error message of dataclasses.replace() (GH-7580) | Dong-hee Na | 2018-06-23 | 1 | -0/+16 |
| | |||||
* | bpo-33796: Ignore ClassVar for dataclasses.replace(). (GH-7488) | Eric V. Smith | 2018-06-07 | 1 | -85/+120 |
| | |||||
* | bpo-33536: Validate make_dataclass() field names. (GH-6906) | Eric V. Smith | 2018-05-16 | 1 | -108/+165 |
| | |||||
* | bpo-33453: Handle string type annotations in dataclasses. (GH-6768) | Eric V. Smith | 2018-05-16 | 1 | -2/+151 |
| | |||||
* | Clean up and enhance frozen dataclass tests. (GH-6380) | Eric V. Smith | 2018-04-05 | 1 | -27/+38 |
| | | | | | * Add a test for frozen with unhashable field value. * Improve a comment. | ||||
* | Allow dynamic creation of generic dataclasses (GH-6319) | Ivan Levkivskyi | 2018-03-31 | 1 | -1/+18 |
| | |||||
* | bpo-33175: dataclasses should look up __set_name__ on class, not instance ↵ | Eric V. Smith | 2018-03-29 | 1 | -5/+34 |
| | | | | (GH-6305) | ||||
* | bpo-33141: Have dataclasses.Field pass through __set_name__ to any default ↵ | Eric V. Smith | 2018-03-26 | 1 | -0/+42 |
| | | | | | argument. (GH-6260) This is part of PEP 487 and the descriptor protocol. | ||||
* | Minor fixes to dataclass tests. (GH-6243) | Eric V. Smith | 2018-03-26 | 1 | -42/+41 |
| | | | Also, re-enable a test for ClassVars with default_factory. | ||||
* | Trivial improvements to dataclasses tests. (GH-6234) | Eric V. Smith | 2018-03-25 | 1 | -2/+3 |
| | |||||
* | Fix invalid escape sequence: use raw string. (GH-6225) | Eric V. Smith | 2018-03-25 | 1 | -1/+1 |
| | |||||
* | bpo-32505: dataclasses: raise TypeError if a member variable is of type ↵ | Eric V. Smith | 2018-03-22 | 1 | -0/+43 |
| | | | | | 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. | ||||
* | Add 'Field' to dataclasses.__all__. (GH-6182) | Eric V. Smith | 2018-03-21 | 1 | -4/+5 |
| | | | | - Add missing 'Field' to __all__. - Improve tests to catch this. | ||||
* | bpo-32896: Fix error when subclassing a dataclass with a field that uses a ↵ | Eric V. Smith | 2018-03-21 | 1 | -0/+49 |
| | | | | | default_factory (GH-6170) Fix the way that new annotations in a class are detected. | ||||
* | bpo-33100: Dataclasses now handles __slots__ and default values correctly. ↵ | Eric V. Smith | 2018-03-20 | 1 | -0/+42 |
| | | | | | (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__. | ||||
* | bpo-32953: Dataclasses: frozen should not be inherited for non-dataclass ↵ | Eric V. Smith | 2018-03-19 | 1 | -24/+75 |
| | | | | | | | 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. | ||||
* | bpo-32960: For dataclasses, disallow inheriting frozen from non-frozen ↵ | Eric V. Smith | 2018-02-27 | 1 | -23/+61 |
| | | | | | classes and vice-versa, (GH-5919) This restriction will be relaxed at a future date. | ||||
* | Fix 'deecorator' typo in test/test_dataclasses (GH-5899) | Terry Jan Reedy | 2018-02-26 | 1 | -1/+1 |
| | |||||
* | bpo-32929: Dataclasses: Change the tri-state hash parameter to the boolean ↵ | Eric V. Smith | 2018-02-26 | 1 | -116/+124 |
| | | | | | 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. | ||||
* | Exhaustively test dataclass hashing when no hash= value is provided. This is ↵ | Eric V. Smith | 2018-02-23 | 1 | -0/+73 |
| | | | | in anticipation of changing how non-default hashing is handled. (#5834) |