{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":13886623,"defaultBranch":"master","name":"nutils","ownerLogin":"evalf","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2013-10-26T16:17:57.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/28262555?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717155006.0","currentOid":""},"activityList":{"items":[{"before":"0d631b944aa76dd9add077aa860bbc2a4dce3ae1","after":"d297ffd0670f7c01dcab4b80479de1f56e6b197b","ref":"refs/heads/coo","pushedAt":"2024-05-31T11:34:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}},{"before":"f640e1b43adc435beb18a7702482d03bd8171653","after":"18ff1873bc03d96f124c93326be3a062ce59099d","ref":"refs/heads/master","pushedAt":"2024-05-31T11:32:54.000Z","pushType":"push","commitsCount":29,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"Evaluable to Python code compiler (#859)\n\nPreviously `Evaluable`s were evaluated by looping over all dependencies and\ncalling `Evaluable.evalf`. For `1 + 2 + 3` (not simplified) this boils down to\n\n```python\nserialized = [\n [Constant(1).evalf],\n [Constant(2).evalf],\n [Constant(3).evalf],\n [Add.evalf, 0, 1],\n [Add.evalf, 3, 2],\n]\ndef eval():\n values = []\n for op, *args in serialized:\n values.append(op(*map(values.get, args)))\n return values[-1]\n```\n\nThis PR replaces this mechanism by generating Python code via the new\n`evaluable.compile()` function, which produces:\n\n```python\nc0 = 1\nc1 = 2\nc2 = 3\ndef eval():\n v3 = numpy.add(c0, c1)\n v4 = numpy.add(v3, c2)\n return v4\n```\n\nIn addition, subtrees that are constant are cached for a second call, providing\na slight performance improvement.","shortMessageHtmlLink":"Evaluable to Python code compiler (#859)"}},{"before":"8077d629f4e5b804845626ef4d1ec65c51798a41","after":null,"ref":"refs/heads/eval-cache-consts","pushedAt":"2024-05-31T11:30:06.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"}},{"before":"b725ef18e3ada8499baa396d49831ac15bae443d","after":"8077d629f4e5b804845626ef4d1ec65c51798a41","ref":"refs/heads/eval-cache-consts","pushedAt":"2024-05-31T10:13:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"cache evaluable.compile","shortMessageHtmlLink":"cache evaluable.compile"}},{"before":"9a336f47c684a0012617aa1725fd88560383908f","after":"b725ef18e3ada8499baa396d49831ac15bae443d","ref":"refs/heads/eval-cache-consts","pushedAt":"2024-05-31T09:05:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"cache evaluable.compile","shortMessageHtmlLink":"cache evaluable.compile"}},{"before":"9985f1e323eba1b2693b444185af979c3750ccee","after":"9a336f47c684a0012617aa1725fd88560383908f","ref":"refs/heads/eval-cache-consts","pushedAt":"2024-05-30T20:59:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"cache evaluable.compile","shortMessageHtmlLink":"cache evaluable.compile"}},{"before":"34336b459d69ecc838a8ccd01d8d67e6f59edd95","after":"9985f1e323eba1b2693b444185af979c3750ccee","ref":"refs/heads/eval-cache-consts","pushedAt":"2024-05-30T20:55:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"cache evaluable.compile","shortMessageHtmlLink":"cache evaluable.compile"}},{"before":"6068fd00373156b51de06400744241de27b16902","after":"34336b459d69ecc838a8ccd01d8d67e6f59edd95","ref":"refs/heads/eval-cache-consts","pushedAt":"2024-05-30T18:01:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"cache evaluable.compile","shortMessageHtmlLink":"cache evaluable.compile"}},{"before":null,"after":"8159737c06cd882e515d0211be8a7904dd9d9f00","ref":"refs/heads/eval-cache-consts-suggestion","pushedAt":"2024-05-27T15:41:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gertjanvanzwieten","name":"Gertjan van Zwieten","path":"/gertjanvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5023676?s=80&v=4"},"commit":{"message":"replace _pyast.Comment by Assign argument","shortMessageHtmlLink":"replace _pyast.Comment by Assign argument"}},{"before":"ae2b40be577b46c440b7d7c9129fa0c5a4c435fe","after":"6068fd00373156b51de06400744241de27b16902","ref":"refs/heads/eval-cache-consts","pushedAt":"2024-05-24T21:05:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"cache evaluable.compile","shortMessageHtmlLink":"cache evaluable.compile"}},{"before":"5a34e223d023fb822c855c1920430831ab9f81c3","after":null,"ref":"refs/heads/coverage","pushedAt":"2024-05-24T21:03:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"}},{"before":"7b3487030d7afe1849ba11664370ae523f28df10","after":"f640e1b43adc435beb18a7702482d03bd8171653","ref":"refs/heads/master","pushedAt":"2024-05-24T21:03:17.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"replace coverage with custom framework (#874)\n\nPython 3.12 has a significant regression in coverage analysis. Related issue:\nhttps://github.com/python/cpython/issues/107674 . This PR replaces coverage\nwith a custom framework built using `sys.monitoring`, which is only available\nas of Python 3.12.","shortMessageHtmlLink":"replace coverage with custom framework (#874)"}},{"before":"f1e1786c1e56e5b014d90f1a75b8e1ade864cc77","after":"5a34e223d023fb822c855c1920430831ab9f81c3","ref":"refs/heads/coverage","pushedAt":"2024-05-24T10:48:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"GHA: replace coverage with custom framework\n\nPython 3.12 has a significant regression in coverage analysis. Related issue:\nhttps://github.com/python/cpython/issues/107674 . This patch replaces coverage\nwith a custom framework built using `sys.monitoring`, which is only available\nas of Python 3.12.","shortMessageHtmlLink":"GHA: replace coverage with custom framework"}},{"before":"409209562030e3a98cb31fbc8789cf0b1464d75c","after":"f1e1786c1e56e5b014d90f1a75b8e1ade864cc77","ref":"refs/heads/coverage","pushedAt":"2024-05-24T09:29:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"GHA: replace coverage with custom framework\n\nPython 3.12 has a significant regression in coverage analysis. Related issue:\nhttps://github.com/python/cpython/issues/107674 . This patch replaces coverage\nwith a custom framework built using `sys.monitoring`, which is only available\nas of Python 3.12.","shortMessageHtmlLink":"GHA: replace coverage with custom framework"}},{"before":null,"after":"409209562030e3a98cb31fbc8789cf0b1464d75c","ref":"refs/heads/coverage","pushedAt":"2024-05-24T08:42:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"GHA: replace coverage with custom framework\n\nPython 3.12 has a significant regression in coverage analysis. Related issue:\nhttps://github.com/python/cpython/issues/107674 . This patch replaces coverage\nwith a custom framework built using `sys.monitoring`, which is only available\nas of Python 3.12.","shortMessageHtmlLink":"GHA: replace coverage with custom framework"}},{"before":"a3520b9de393c8880c12c594af483d4ade0b956e","after":"ae2b40be577b46c440b7d7c9129fa0c5a4c435fe","ref":"refs/heads/eval-cache-consts","pushedAt":"2024-05-24T08:39:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"cache evaluable.compile","shortMessageHtmlLink":"cache evaluable.compile"}},{"before":"d6aa644fc28439bad98f1250c4cbeb51b1f22480","after":"0d631b944aa76dd9add077aa860bbc2a4dce3ae1","ref":"refs/heads/coo","pushedAt":"2024-05-23T17:51:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}},{"before":"ef1eeb4ddafb61a4d3d9ec35d22654810db41174","after":"a3520b9de393c8880c12c594af483d4ade0b956e","ref":"refs/heads/eval-cache-consts","pushedAt":"2024-05-23T17:50:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"cache evaluable.compile","shortMessageHtmlLink":"cache evaluable.compile"}},{"before":"a16614b9c1e99ec70265729d02da56a1a2c74dde","after":"d6aa644fc28439bad98f1250c4cbeb51b1f22480","ref":"refs/heads/coo","pushedAt":"2024-05-17T09:25:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}},{"before":"0f3d56cc37e86b4eb726f1060b9314c8883dc32b","after":"a16614b9c1e99ec70265729d02da56a1a2c74dde","ref":"refs/heads/coo","pushedAt":"2024-05-17T08:52:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}},{"before":"ff43ea69eda14219350e8a974d349b194f002c9e","after":"0f3d56cc37e86b4eb726f1060b9314c8883dc32b","ref":"refs/heads/coo","pushedAt":"2024-05-17T08:33:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}},{"before":"39d6cedf75a04e56d8cf695be458ca6a18f0c907","after":"ef1eeb4ddafb61a4d3d9ec35d22654810db41174","ref":"refs/heads/eval-cache-consts","pushedAt":"2024-05-16T20:42:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"cache evaluable.compile","shortMessageHtmlLink":"cache evaluable.compile"}},{"before":"f0b39357053d9fd713992e337fedcdfe75a7586b","after":"ff43ea69eda14219350e8a974d349b194f002c9e","ref":"refs/heads/coo","pushedAt":"2024-05-16T20:42:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}},{"before":"0b8122d28b2d5b4570f3be250aee3b1775ae28b9","after":"f0b39357053d9fd713992e337fedcdfe75a7586b","ref":"refs/heads/coo","pushedAt":"2024-05-16T11:49:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"TODO: move _compile_block_id to builder","shortMessageHtmlLink":"TODO: move _compile_block_id to builder"}},{"before":"6e80c2826e373fe9d7d80f5fc2fe3d4d375ca0c0","after":"39d6cedf75a04e56d8cf695be458ca6a18f0c907","ref":"refs/heads/eval-cache-consts","pushedAt":"2024-05-14T11:45:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"cache evaluable.compile","shortMessageHtmlLink":"cache evaluable.compile"}},{"before":"6bf7dd151225a61f0d6cc5d6788a1877bacbdbbf","after":"0b8122d28b2d5b4570f3be250aee3b1775ae28b9","ref":"refs/heads/coo","pushedAt":"2024-05-14T11:25:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"WIP: unittest","shortMessageHtmlLink":"WIP: unittest"}},{"before":"3168ae2c1ca2c9aa4916277b4ba73efc74ca1458","after":"6bf7dd151225a61f0d6cc5d6788a1877bacbdbbf","ref":"refs/heads/coo","pushedAt":"2024-05-14T11:21:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"WIP: unittest","shortMessageHtmlLink":"WIP: unittest"}},{"before":"f6718ac0b93a18f7eb67fa1a2f786704a3942993","after":"3168ae2c1ca2c9aa4916277b4ba73efc74ca1458","ref":"refs/heads/coo","pushedAt":"2024-05-14T10:47:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"WIP: unittest","shortMessageHtmlLink":"WIP: unittest"}},{"before":"2e74e95760c166ce64c8414f1ff3d50b551c72f9","after":"f6718ac0b93a18f7eb67fa1a2f786704a3942993","ref":"refs/heads/coo","pushedAt":"2024-05-14T10:26:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"WIP: unittest","shortMessageHtmlLink":"WIP: unittest"}},{"before":"23799ce3fdb79c2595ecd6525c932e8a3ab380fc","after":"2e74e95760c166ce64c8414f1ff3d50b551c72f9","ref":"refs/heads/coo","pushedAt":"2024-05-14T10:00:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joostvanzwieten","name":"Joost van Zwieten","path":"/joostvanzwieten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5068371?s=80&v=4"},"commit":{"message":"WIP: unittest","shortMessageHtmlLink":"WIP: unittest"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWPRpxQA","startCursor":null,"endCursor":null}},"title":"Activity ยท evalf/nutils"}