{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":32483713,"defaultBranch":"main","name":"pytype","ownerLogin":"google","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-03-18T20:52:08.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1342004?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1713291923.0","currentOid":""},"activityList":{"items":[{"before":"e0924155333fdb20a92affd81210e1b697a89e0c","after":"07e902ec393ce07e3934c2d1c3769a2c0fb9d299","ref":"refs/heads/main","pushedAt":"2024-04-24T20:33:41.000Z","pushType":"pr_merge","commitsCount":23,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"Merge pull request #1620 from google/google_sync\n\nGoogle sync","shortMessageHtmlLink":"Merge pull request #1620 from google/google_sync"}},{"before":"b5e788e6780edf33782f5d8d1ab9bd9bdff8956a","after":"a2dc5add7efc82e28783dc1f76acab62eb857803","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T19:50:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"Use macos-13 to work around bug in macos-latest.\n\nFor https://github.com/google/pytype/issues/1621.","shortMessageHtmlLink":"Use macos-13 to work around bug in macos-latest."}},{"before":"bd3b303097814ad3751a303555dfc3e6a331b780","after":"b5e788e6780edf33782f5d8d1ab9bd9bdff8956a","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T19:08:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"Skip test in 3.8 that uses BUILD_TUPLE_UNPACK_WITH_CALL opcode.","shortMessageHtmlLink":"Skip test in 3.8 that uses BUILD_TUPLE_UNPACK_WITH_CALL opcode."}},{"before":"5a3306bd29e02801255b94420c5f9121d4752cab","after":"bd3b303097814ad3751a303555dfc3e6a331b780","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T17:54:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"Implement byte_CALL_FUNCTION_KW.","shortMessageHtmlLink":"Implement byte_CALL_FUNCTION_KW."}},{"before":"592d4fa754ebc968e7ce92291619a3ebb526808f","after":"5a3306bd29e02801255b94420c5f9121d4752cab","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T17:03:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"Call super().__init__() in FunctionArgDict.","shortMessageHtmlLink":"Call super().__init__() in FunctionArgDict."}},{"before":"98fa177b26ec70237db29e1732e4fbe2fbd32666","after":"592d4fa754ebc968e7ce92291619a3ebb526808f","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T16:52:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"rewrite: simplify types related to function calls.\n\nRemoves the 'indefinite' attribute from abstract.Dict and adds it to\nabstract.FunctionArgTuple. This way, FunctionArgTuple and FunctionArgDict have\na fully consistent typing story, but the general Tuple and Dict representations\nare kept relatively simple.\n\nI reran ./rewrite/tests/run.sh, and this change has no effect on our\npass/fail/error numbers.\n\nPiperOrigin-RevId: 627558177","shortMessageHtmlLink":"rewrite: simplify types related to function calls."}},{"before":"3328c34ab980bfe04a9c9b041612306d2b894f12","after":"98fa177b26ec70237db29e1732e4fbe2fbd32666","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T16:52:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"Add ability to register overlay functions with the abstract converter.\n\nI started out by trying to implement overlays following our current design,\nwith an overlay module containing overlay members, but I realized that this\nquickly becomes a pain if you want to replace a method of a class (e.g., to get\nat EnumMeta.__new__, I need to create overlay objects for the enum module, the\nEnumMeta class, and finally the EnumMeta.__new__ method).\n\nHere's a potential alternative design that involves using decorators to\n\"register\" individual objects as overlays and having convert.py do overlay\nregistry lookups. Let me know what you think.\n\nPiperOrigin-RevId: 627541189","shortMessageHtmlLink":"Add ability to register overlay functions with the abstract converter."}},{"before":"94bd0430cbe0bbadc0e33e588468f2dc8482652a","after":"3328c34ab980bfe04a9c9b041612306d2b894f12","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T16:52:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"rewrite: handle fstrings\n\nPiperOrigin-RevId: 627195965","shortMessageHtmlLink":"rewrite: handle fstrings"}},{"before":"0322324bb7a554c4021ab37890d3ddc667a3972e","after":"94bd0430cbe0bbadc0e33e588468f2dc8482652a","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T16:52:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"rewrite: Minimal implementation of type subscripting.\n\nReplaces `A[X]` with `A`, mostly so code with subscripted type annotations can\nwork without crashing.\n\nPiperOrigin-RevId: 627133846","shortMessageHtmlLink":"rewrite: Minimal implementation of type subscripting."}},{"before":"518415cbc0d0d9243a6ce528699777f7a791a032","after":"0322324bb7a554c4021ab37890d3ddc667a3972e","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T16:52:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"rewrite: move most of frame.py's function calling code into a separate file.\n\nframe.py is already sort of long and will only get longer as we add more\nopcodes. This pulls most of the function calling code, which is fairly\nself-contained, into a separate file.\n\nPiperOrigin-RevId: 626664567","shortMessageHtmlLink":"rewrite: move most of frame.py's function calling code into a separat…"}},{"before":"bf876f80cdc1bbba2814aa344642f1ce519cbc33","after":"518415cbc0d0d9243a6ce528699777f7a791a032","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T16:51:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"rewrite: improve slightly suboptimal isinstance checks.\n\nBoth SimpleFunction and BoundFunction are subclasses of BaseFunction.\n\nPiperOrigin-RevId: 626560114","shortMessageHtmlLink":"rewrite: improve slightly suboptimal isinstance checks."}},{"before":"d9c1435e84a3896f12554b4e9f96a4950933f8c4","after":"bf876f80cdc1bbba2814aa344642f1ce519cbc33","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T16:51:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"Add the metaclass-calling framework needed for EnumMeta.__new__.\n\nAdds the code needed to detect and call a custom implementation of\ntype.__new__. An implementation of EnumMeta.__new__ will come in a later CL.\n\nAlso fixes a minor issue where convert.py was failing to add modules and class\nprefixes to method names.\n\nPiperOrigin-RevId: 626545872","shortMessageHtmlLink":"Add the metaclass-calling framework needed for EnumMeta.__new__."}},{"before":"f26776350720d1526ce8f10652f6263a9b958eca","after":"d9c1435e84a3896f12554b4e9f96a4950933f8c4","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T16:51:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"rewrite: Move unpacking of DICT_UPDATE and LIST_EXTEND args into the vm\n\nThe `abstract.Dict` and `abstract.List` containers now only get their update\nmethods called with a well-formed Dict/List\n\nPiperOrigin-RevId: 626520407","shortMessageHtmlLink":"rewrite: Move unpacking of DICT_UPDATE and LIST_EXTEND args into the vm"}},{"before":"e8da23e4a89d8cd996dd0a9b5950056c2d9dcdf4","after":"f26776350720d1526ce8f10652f6263a9b958eca","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T16:51:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"Add a less annoying way to invoke ctx.abstract_loader.load_raw_type.\n\nPiperOrigin-RevId: 626492628","shortMessageHtmlLink":"Add a less annoying way to invoke ctx.abstract_loader.load_raw_type."}},{"before":"9a164b27ab1db91308fa393c131952a4812c8276","after":"e8da23e4a89d8cd996dd0a9b5950056c2d9dcdf4","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T16:51:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"rewrite: Support indefinite **args and **args forwarding\n\n- Replaces `internal.ConstKeyDict` with `internal.FunctionArgsDict`\n- Adds better support for indefinite `containers.Dict` and conversion between\n `Dict` and `FunctionArgsDict`\n- Fixes balancing of args between `kwargs` and `**args` in the arg mapper\n\nPiperOrigin-RevId: 626473976","shortMessageHtmlLink":"rewrite: Support indefinite **args and **args forwarding"}},{"before":"8fb00065e05590464568019efe3fbc2e338b3f62","after":"9a164b27ab1db91308fa393c131952a4812c8276","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T16:51:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"rewrite: Improve handling of indefinite iterables in posargs\n\nMerges posargs and starargs before handling splats, and does not replace splats\nwith Any when matching args since we might want to forward them through several\nfunction calls.\n\nPiperOrigin-RevId: 626107538","shortMessageHtmlLink":"rewrite: Improve handling of indefinite iterables in posargs"}},{"before":"fb55b1e3a7c70d20144695f74266fa854ba3d321","after":"8fb00065e05590464568019efe3fbc2e338b3f62","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T16:51:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"rewrite: add MRO computation and improve class attribute lookup.\n\nPiperOrigin-RevId: 625877986","shortMessageHtmlLink":"rewrite: add MRO computation and improve class attribute lookup."}},{"before":"c29cb159e56be06333f7ac745d1aea35c31d4c67","after":"fb55b1e3a7c70d20144695f74266fa854ba3d321","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T16:50:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"rewrite: Unpack *args and **args when mapping against a signature.\n\nLargely ported from abstract.function.Args.simplify, with a few changes because\nwe don't handle indefinite iterables well yet, and refactored a bit to be\neasier to read and type check.\n\nNot tested for now because it also needs changes to LIST_EXTEND and a few other\nplaces to handle unpacking of `Any` better, and this change was getting long\nenough already. Added a skipped test that works in the execution phase, but not\nthe analyse-with-fake-args phase.\n\nPiperOrigin-RevId: 625859869","shortMessageHtmlLink":"rewrite: Unpack *args and **args when mapping against a signature."}},{"before":"b5e1e1ae3a792a4add98364dc8233187005d4c19","after":"c29cb159e56be06333f7ac745d1aea35c31d4c67","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T16:50:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"Add EMPTY_MAP to datatypes.py.\n\nPiperOrigin-RevId: 625493532","shortMessageHtmlLink":"Add EMPTY_MAP to datatypes.py."}},{"before":"4382f5dcbbc20750b80863a747b69005175136c6","after":"b5e1e1ae3a792a4add98364dc8233187005d4c19","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T16:50:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"rewrite: detect metaclasses.\n\nPiperOrigin-RevId: 625487997","shortMessageHtmlLink":"rewrite: detect metaclasses."}},{"before":"409ba01bf71a91d6a8ae80199193e56e2495acf3","after":"4382f5dcbbc20750b80863a747b69005175136c6","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T16:50:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"rewrite: support simple class inheritance.\n\nAlso removes a Python 2 TODO that I happened to spot while looking at our\ncurrent implementation of __build_class__.\n\nPiperOrigin-RevId: 625451422","shortMessageHtmlLink":"rewrite: support simple class inheritance."}},{"before":"6311ba664ca978ef5c5037da723c15b51ff3c202","after":"409ba01bf71a91d6a8ae80199193e56e2495acf3","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T16:50:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"rewrite: skip test failing in lower Python versions.\n\nPiperOrigin-RevId: 625414202","shortMessageHtmlLink":"rewrite: skip test failing in lower Python versions."}},{"before":"8d4aaa304ead6a1d2da8b8c1792cf3e77df54029","after":"6311ba664ca978ef5c5037da723c15b51ff3c202","ref":"refs/heads/google_sync","pushedAt":"2024-04-24T16:50:04.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"rewrite: implement reveal_type.\n\nPiperOrigin-RevId: 625414033","shortMessageHtmlLink":"rewrite: implement reveal_type."}},{"before":"61404c4102f6f8cafd863e691c51e5d7e0c85ca1","after":"e0924155333fdb20a92affd81210e1b697a89e0c","ref":"refs/heads/main","pushedAt":"2024-04-16T19:18:40.000Z","pushType":"pr_merge","commitsCount":12,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"Merge pull request #1617 from google/google_sync\n\nGoogle sync","shortMessageHtmlLink":"Merge pull request #1617 from google/google_sync"}},{"before":"fa03c3919f6bde6994965c95faccce45168be496","after":"8d4aaa304ead6a1d2da8b8c1792cf3e77df54029","ref":"refs/heads/google_sync","pushedAt":"2024-04-16T18:38:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"rewrite: skip test failing in lower Python versions.","shortMessageHtmlLink":"rewrite: skip test failing in lower Python versions."}},{"before":"02b214a4120cdadbf0f158f23b373a39f25a212a","after":"fa03c3919f6bde6994965c95faccce45168be496","ref":"refs/heads/google_sync","pushedAt":"2024-04-16T18:27:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"Update typeshed to a4cc79fbecac8d981152950dfad5cf625e0ac5ec.","shortMessageHtmlLink":"Update typeshed to a4cc79fbecac8d981152950dfad5cf625e0ac5ec."}},{"before":"f3f2d7266a0489a381d05444950ad33202f11f45","after":"02b214a4120cdadbf0f158f23b373a39f25a212a","ref":"refs/heads/google_sync","pushedAt":"2024-04-16T18:26:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"Update typeshed to a4cc79fbecac8d981152950dfad5cf625e0ac5ec.\n\n* Updates typeshed.\n* Updates pytype stubs and tests to be compatible with changes to how typeshed\n handles positional-only parameters.\n* Updates devtools/python/indexer/filesystem/ tests.\n* Updates devtools/wald/languages/python/ tests with help from tbosch@.\n* Adds siloed files to the dynamic blocklist that contain new pytype errors and\n cannot be patched.\n\nPiperOrigin-RevId: 625396777","shortMessageHtmlLink":"Update typeshed to a4cc79fbecac8d981152950dfad5cf625e0ac5ec."}},{"before":"bb745e8f7dbeaf7c67d50d8b505aacc7e3b94169","after":"f3f2d7266a0489a381d05444950ad33202f11f45","ref":"refs/heads/google_sync","pushedAt":"2024-04-16T18:26:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"rewrite: Make sure *args and **kwargs are locals in the function's frame\n\nPiperOrigin-RevId: 625163657","shortMessageHtmlLink":"rewrite: Make sure *args and **kwargs are locals in the function's frame"}},{"before":"60b1e8be8167f75e7dc1722ca41524b192508413","after":"bb745e8f7dbeaf7c67d50d8b505aacc7e3b94169","ref":"refs/heads/google_sync","pushedAt":"2024-04-16T18:26:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"rewrite: log import-error and module-attr.\n\nI'm a little unsatisfied with having to create a throwaway binding to pass to\nerrorlog.attribute_error, but I figure we can wait to revisit this until we\nlook more seriously into implementing attribute error detection.\n\nPiperOrigin-RevId: 625161404","shortMessageHtmlLink":"rewrite: log import-error and module-attr."}},{"before":"bd024f0d82219b10818bc3d132ba77081e059680","after":"60b1e8be8167f75e7dc1722ca41524b192508413","ref":"refs/heads/google_sync","pushedAt":"2024-04-16T18:26:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rchen152","name":"Rebecca Chen","path":"/rchen152","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4142312?s=80&v=4"},"commit":{"message":"rewrite: Support function calls with only indefinite starargs\n\nPiperOrigin-RevId: 625138862","shortMessageHtmlLink":"rewrite: Support function calls with only indefinite starargs"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEOYi9sAA","startCursor":null,"endCursor":null}},"title":"Activity · google/pytype"}