{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":486229049,"defaultBranch":"master","name":"uap-python","ownerLogin":"masklinn","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2022-04-27T14:35:25.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/6993?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1713727353.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"a823a620015b828062b62767739d4a255c786b73","ref":"refs/heads/master-0.18","pushedAt":"2024-04-21T19:22:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"Update uap-core to 0.18\n\napparently I never updated it...","shortMessageHtmlLink":"Update uap-core to 0.18"}},{"before":"0f65580122edfde4f646ea42cff3e808ae0284e7","after":"0b91ef3c5c51115e1e7d96d49abeee8cd87f2b53","ref":"refs/heads/more-cache-tests","pushedAt":"2024-03-30T11:23:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"Add test to ensure backfilling results does not lead to evictions\n\nPartial results are back-filled (new domains added) by re-setting them\nin the cache. With a sufficiently incorrect implementation, the cache\ncan evict entries on that occasion even though it does not need\nto (because we're replacing an existing entry).\n\nExactly that should have been fixed by #204, but was not tested at the\ntime.\n\nFixes #199","shortMessageHtmlLink":"Add test to ensure backfilling results does not lead to evictions"}},{"before":null,"after":"0f65580122edfde4f646ea42cff3e808ae0284e7","ref":"refs/heads/more-cache-tests","pushedAt":"2024-03-28T16:47:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"Add test to ensure backfilling results does not lead to evictions\n\nPartial results are back-filled (new domains added) by re-setting them\nin the cache. With a sufficiently incorrect implementation, the cache\ncan evict entries on that occasion even though it does not need\nto (because we're replacing an existing entry).\n\nExactly that should have been fixed by #204, but was not tested at the\ntime.\n\nFixes #199","shortMessageHtmlLink":"Add test to ensure backfilling results does not lead to evictions"}},{"before":"c2f7d830fbb2c871319d83a8c8102e54737ac949","after":null,"ref":"refs/heads/migration","pushedAt":"2024-03-27T18:35:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"}},{"before":"81f9903303400ca7a2d9a7f8985196b7934c8210","after":"c2f7d830fbb2c871319d83a8c8102e54737ac949","ref":"refs/heads/migration","pushedAt":"2024-03-27T18:29:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"Add migration documentation for 0.x -> 1.0\n\nFixes #181","shortMessageHtmlLink":"Add migration documentation for 0.x -> 1.0"}},{"before":null,"after":"81f9903303400ca7a2d9a7f8985196b7934c8210","ref":"refs/heads/migration","pushedAt":"2024-03-27T17:52:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"Add migration documentation for 0.x -> 1.0\n\nFixes #181","shortMessageHtmlLink":"Add migration documentation for 0.x -> 1.0"}},{"before":"6ffabc92d8bb935438d86e8c5b1c3b37ff084fab","after":null,"ref":"refs/heads/avoid-unnecessary-evictions","pushedAt":"2024-03-27T16:30:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"}},{"before":null,"after":"6ffabc92d8bb935438d86e8c5b1c3b37ff084fab","ref":"refs/heads/avoid-unnecessary-evictions","pushedAt":"2024-03-26T19:54:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"Avoid eviction on entry replacement\n\n`*Result` objects are immutable, thus if a `PartialResult` gets filled\nfurther it has to be re-set into the cache.\n\nThis does not change the cache size, but because the current S3 and\nSIEVE implementations unconditionally check the cache size on\n`__setitem__` they may evict an entry unnecessarily.\n\nFix that: if there is already a valid cache entry for the key, just\nupdate it in place instead of trying to evict then creating a brand\nnew entry.\n\nAlso update the LRU to pre-check for size (and presence as well), this\nmay make setting a bit more expensive than post-check but it avoids\n\"wronging\" the user by bypassing the limit they set.\n\nFixes #201","shortMessageHtmlLink":"Avoid eviction on entry replacement"}},{"before":"e380448b4128475957cf4c7f77b889b0ebb0421e","after":null,"ref":"refs/heads/usage-docs","pushedAt":"2024-03-26T19:53:32.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"}},{"before":"f1d4378062847ff50125cf359f9030c8461982c9","after":null,"ref":"refs/heads/independent-checkers","pushedAt":"2024-03-26T19:53:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"}},{"before":"2a1e4921b6494775ec3f19c047800b3fbf1f2211","after":"f1d4378062847ff50125cf359f9030c8461982c9","ref":"refs/heads/independent-checkers","pushedAt":"2024-03-26T19:38:14.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"Merge branch 'master' into independent-checkers","shortMessageHtmlLink":"Merge branch 'master' into independent-checkers"}},{"before":"7873e3fdc30778d4e7e625a60306a2ccc2cd4429","after":"e380448b4128475957cf4c7f77b889b0ebb0421e","ref":"refs/heads/usage-docs","pushedAt":"2024-03-26T19:15:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"Add advanced cache documentation and belady approximator to hitrates\n\n- belady is useful to get *some* sort of semi-realistic expectation of\n a cache, as the maximum hit rate is only somewhat realistic as cache\n sizes get close to the number of unique entries\n- caches have been busting my balls and I'd assume the average user\n doesn't have the time and inclination to bother, so some guidance is\n useful\n- as caching is generally a CPU/memory tradeoff, while ``hitrates``\n provides a cache overhead estimation giving users a better grasp of\n the implementation details and where the overhead comes from is\n useful\n- plus I regularly re-wonder and re-research and re-discover the size\n complexity of various collections so this gives me the opportunity\n to actually write it down for once","shortMessageHtmlLink":"Add advanced cache documentation and belady approximator to hitrates"}},{"before":null,"after":"2a1e4921b6494775ec3f19c047800b3fbf1f2211","ref":"refs/heads/independent-checkers","pushedAt":"2024-03-26T19:14:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"run mypy even if ruff fails\n\nBecause all the checks are performed in the same job and github\nactions will stop at the first step failure within a job, if one of\nthe ruff checks (formatting or checking) fails then mypy does not run\nat all, which is undesirable.\n\nTurns out the steps have an implicit `if success()` if no [status\ncheck function][check] (`success`, `failure`, `always`, `cancelled`)\nis used to guard the step.\n\nThus by gating on `always` and possibly explicitly checking the\nconclusion of specific checks it becomes possible to run `mypy` even\nthough `ruff check` failed, but not run it if *installing* mypy\nfailed.\n\n[check]: https://docs.github.com/en/actions/learn-github-actions/expressions#status-check-functions","shortMessageHtmlLink":"run mypy even if ruff fails"}},{"before":"05f1e5d06c51c518e91d8050bbbfef1d618c060b","after":"7873e3fdc30778d4e7e625a60306a2ccc2cd4429","ref":"refs/heads/usage-docs","pushedAt":"2024-03-26T19:08:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"Add advanced cache documentation and belady approximator to hitrates\n\n- belady is useful to get *some* sort of semi-realistic expectation of\n a cache, as the maximum hit rate is only somewhat realistic as cache\n sizes get close to the number of unique entries\n- caches have been busting my balls and I'd assume the average user\n doesn't have the time and inclination to bother, so some guidance is\n useful\n- as caching is generally a CPU/memory tradeoff, while ``hitrates``\n provides a cache overhead estimation giving users a better grasp of\n the implementation details and where the overhead comes from is\n useful\n- plus I regularly re-wonder and re-research and re-discover the size\n complexity of various collections so this gives me the opportunity\n to actually write it down for once","shortMessageHtmlLink":"Add advanced cache documentation and belady approximator to hitrates"}},{"before":"63156f0dc0294851bf42fa6628b581e38636d18b","after":"05f1e5d06c51c518e91d8050bbbfef1d618c060b","ref":"refs/heads/usage-docs","pushedAt":"2024-03-26T19:05:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"Add advanced cache documentation and belady approximator to hitrates\n\n- belady is useful to get *some* sort of semi-realistic expectation of\n a cache, as the maximum hit rate is only somewhat realistic as cache\n sizes get close to the number of unique entries\n- caches have been busting my balls and I'd assume the average user\n doesn't have the time and inclination to bother, so some guidance is\n useful\n- as caching is generally a CPU/memory tradeoff, while ``hitrates``\n provides a cache overhead estimation giving users a better grasp of\n the implementation details and where the overhead comes from is\n useful\n- plus I regularly re-wonder and re-research and re-discover the size\n complexity of various collections so this gives me the opportunity\n to actually write it down for once","shortMessageHtmlLink":"Add advanced cache documentation and belady approximator to hitrates"}},{"before":"5e141696108f1f8070ea4009a3aaaa6b63e38666","after":"63156f0dc0294851bf42fa6628b581e38636d18b","ref":"refs/heads/usage-docs","pushedAt":"2024-03-25T20:18:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"Add advanced cache documentation and belady approximator to hitrates\n\n- belady is useful to get *some* sort of semi-realistic expectation of\n a cache, as the maximum hit rate is only somewhat realistic as cache\n sizes get close to the number of unique entries\n- caches have been busting my balls and I'd assume the average user\n doesn't have the time and inclination to bother, so some guidance is\n useful\n- as caching is generally a CPU/memory tradeoff, while ``hitrates``\n provides a cache overhead estimation giving users a better grasp of\n the implementation details and where the overhead comes from is\n useful\n- plus I regularly re-wonder and re-research and re-discover the size\n complexity of various collections so this gives me the opportunity\n to actually write it down for once","shortMessageHtmlLink":"Add advanced cache documentation and belady approximator to hitrates"}},{"before":"fd45d7483229828de271c928da479367387f7967","after":"5e141696108f1f8070ea4009a3aaaa6b63e38666","ref":"refs/heads/usage-docs","pushedAt":"2024-03-24T21:12:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"run mypy even if ruff fails","shortMessageHtmlLink":"run mypy even if ruff fails"}},{"before":"29a5dbea06c9d9b1d6b6d80661baa6efdb034b42","after":"fd45d7483229828de271c928da479367387f7967","ref":"refs/heads/usage-docs","pushedAt":"2024-03-24T21:08:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"m","shortMessageHtmlLink":"m"}},{"before":"c8619e26639872097b8062e59150a90f0dfee0f5","after":"29a5dbea06c9d9b1d6b6d80661baa6efdb034b42","ref":"refs/heads/usage-docs","pushedAt":"2024-03-24T21:07:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"m","shortMessageHtmlLink":"m"}},{"before":"93d286f0e40f1d69923a96af1cdca1a09d865609","after":"c8619e26639872097b8062e59150a90f0dfee0f5","ref":"refs/heads/usage-docs","pushedAt":"2024-03-24T21:01:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"m","shortMessageHtmlLink":"m"}},{"before":"d2a1bcf8a77e0fb05e76418c6046965c2b42c7ff","after":"93d286f0e40f1d69923a96af1cdca1a09d865609","ref":"refs/heads/usage-docs","pushedAt":"2024-03-24T20:55:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"m","shortMessageHtmlLink":"m"}},{"before":"bf1201a58e9b79079575fa02a96c20f62c9108e7","after":"d2a1bcf8a77e0fb05e76418c6046965c2b42c7ff","ref":"refs/heads/usage-docs","pushedAt":"2024-03-24T20:50:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"m","shortMessageHtmlLink":"m"}},{"before":"90c564cd6d1a0b57f3cc7015b0e9b494468304e1","after":"bf1201a58e9b79079575fa02a96c20f62c9108e7","ref":"refs/heads/usage-docs","pushedAt":"2024-03-24T20:50:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"m","shortMessageHtmlLink":"m"}},{"before":"8afa6a50588d4e980297c17260703041e95a0a81","after":"90c564cd6d1a0b57f3cc7015b0e9b494468304e1","ref":"refs/heads/usage-docs","pushedAt":"2024-03-24T20:44:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"run mypy even if ruff fails","shortMessageHtmlLink":"run mypy even if ruff fails"}},{"before":"332923096a5d93cc7370c6d0457ced24fab8e11c","after":"8afa6a50588d4e980297c17260703041e95a0a81","ref":"refs/heads/usage-docs","pushedAt":"2024-03-24T19:38:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"fixup! Initial doc: installation, quickstart, API doc","shortMessageHtmlLink":"fixup! Initial doc: installation, quickstart, API doc"}},{"before":"32e2ff6237aa01ba51bcb0e694ad53844aff5f9f","after":"332923096a5d93cc7370c6d0457ced24fab8e11c","ref":"refs/heads/usage-docs","pushedAt":"2024-03-24T19:30:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"fixup! Initial doc: installation, quickstart, API doc","shortMessageHtmlLink":"fixup! Initial doc: installation, quickstart, API doc"}},{"before":"63134c2fbe4703d414463586f34f13073ee08421","after":"32e2ff6237aa01ba51bcb0e694ad53844aff5f9f","ref":"refs/heads/usage-docs","pushedAt":"2024-03-24T19:17:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"Add advanced cache documentation and belady approximator to hitrates\n\n- belady is useful to get *some* sort of semi-realistic expectation of\n a cache, as the maximum hit rate is only somewhat realistic as cache\n sizes get close to the number of unique entries\n- caches have been busting my balls and I'd assume the average user\n doesn't have the time and inclination to bother, so some guidance is\n useful\n- as caching is generally a CPU/memory tradeoff, while ``hitrates``\n provides a cache overhead estimation giving users a better grasp of\n the implementation details and where the overhead comes from is\n useful\n- plus I regularly re-wonder and re-research and re-discover the size\n complexity of various collections so this gives me the opportunity\n to actually write it down for once","shortMessageHtmlLink":"Add advanced cache documentation and belady approximator to hitrates"}},{"before":"ecdd2faf2b0f5f1b885a3fa874209ecc01087b05","after":"63134c2fbe4703d414463586f34f13073ee08421","ref":"refs/heads/usage-docs","pushedAt":"2024-03-24T19:07:24.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"Add advanced cache documentation and belady approximator to hitrates\n\n- belady is useful to get *some* sort of semi-realistic expectation of\n a cache, as the maximum hit rate is only somewhat realistic as cache\n sizes get close to the number of unique entries\n- caches have been busting my balls and I'd assume the average user\n doesn't have the time and inclination to bother, so some guidance is\n useful\n- as caching is generally a CPU/memory tradeoff, while ``hitrates``\n provides a cache overhead estimation giving users a better grasp of\n the implementation details and where the overhead comes from is\n useful\n- plus I regularly re-wonder and re-research and re-discover the size\n complexity of various collections so this gives me the opportunity\n to actually write it down for once","shortMessageHtmlLink":"Add advanced cache documentation and belady approximator to hitrates"}},{"before":"f6c786e62ce60474c4f3eca5cd9fe3762c0e04df","after":null,"ref":"refs/heads/re2-empty-set","pushedAt":"2024-03-16T19:40:47.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"}},{"before":"2ade7474217701c865686edcc438c09b6426d025","after":"f6c786e62ce60474c4f3eca5cd9fe3762c0e04df","ref":"refs/heads/re2-empty-set","pushedAt":"2024-03-16T19:11:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"masklinn","name":null,"path":"/masklinn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6993?s=80&v=4"},"commit":{"message":"Suppress \"Compile called before Add\" in re2.Filter\n\nWhen compiling an empty set, ``FilteredRE2::Compile`` logs a warning\nto stderr which can not be suppressed (google/re2#485).\n\nReplace `re2.Filter` by a null object if the corresponding matchers\nlist is empty: not only do we need to skip `Filter.Compile` to\nsuppress the warning message, we need to skip `Filter.Match` or the\nprogram will segfault (google/re2#484). Using a null object seems\nsafer and more reliable than adding conditionals, even if it requires\nmore code and reindenting half the file.\n\nDoing this also seems safer than my first instinct of trying to use\nlow-level fd redirection: fd redirection suffers from race\nconditions[^thread] and could suffer from other cross-platform\ncompatibility issues (e.g. does every python-supported OS have stderr\non fd 2 and correctly supports dup, dup2, and close?)\n\n[^thread]: AFAIK CPython does not provide a python-level GIL-pin\n feature (even less so with the GILectomy plans), so we have no way\n to prevent context-switching and any message sent to stderr by\n sibling threads would be lost","shortMessageHtmlLink":"Suppress \"Compile called before Add\" in re2.Filter"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAENmhRxQA","startCursor":null,"endCursor":null}},"title":"Activity ยท masklinn/uap-python"}