{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":718880320,"defaultBranch":"main","name":"torchfix","ownerLogin":"pytorch-labs","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-11-15T01:21:07.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/107212512?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726786618.0","currentOid":""},"activityList":{"items":[{"before":"2fb5e300342241ea0a1ffaab2256d2d333afad1d","after":null,"ref":"refs/heads/deprecated-symbols","pushedAt":"2024-09-19T22:56:58.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sbrugman","name":"Simon Brugman","path":"/sbrugman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9756388?s=80&v=4"}},{"before":"6d37cc5287fdd3b2a6911d56af5958975bd1c538","after":"87289c14d4548e9692e038704ca321f8046addee","ref":"refs/heads/main","pushedAt":"2024-09-19T21:34:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kit1980","name":"Sergii Dymchenko","path":"/kit1980","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420184?s=80&v=4"},"commit":{"message":"Augment deprecated symbols (#80)\n\nExtended the existing symbols","shortMessageHtmlLink":"Augment deprecated symbols (#80)"}},{"before":null,"after":"2fb5e300342241ea0a1ffaab2256d2d333afad1d","ref":"refs/heads/deprecated-symbols","pushedAt":"2024-09-19T21:31:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sbrugman","name":"Simon Brugman","path":"/sbrugman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9756388?s=80&v=4"},"commit":{"message":"Augment deprecated symbols","shortMessageHtmlLink":"Augment deprecated symbols"}},{"before":"b0f3b670dd21bef44a0abf3bd38c5f9cd3c1d0c6","after":null,"ref":"refs/heads/sdym/0.6","pushedAt":"2024-09-18T10:46:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sbrugman","name":"Simon Brugman","path":"/sbrugman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9756388?s=80&v=4"}},{"before":"e0988aa1b10ca7d319c752a2a095f00cd676637a","after":"6d37cc5287fdd3b2a6911d56af5958975bd1c538","ref":"refs/heads/main","pushedAt":"2024-09-18T10:46:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sbrugman","name":"Simon Brugman","path":"/sbrugman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9756388?s=80&v=4"},"commit":{"message":"Bump version to 0.6.0\n\nPreparing 0.6.0 release, which is probably a bit overdue already.\r\nAlso it's nice to align the release with PyTorch conference.\r\n\r\n- Added `torch.utils._pytree._register_pytree_node` and `torch.backends.cuda.sdp_kernel` to the deprecated APIs rules\r\n- Enhanced rule TOR203 to support `torchvision.datasets` and `transforms` in addition to `models`\r\n- Added rules TOR106 and TOR107 to suggest replacing `torch.log(1 + x)` and `torch.exp(x) - 1` with more numerically stable equivalents\r\n- Multiple code refactorings, bug fixes, and quality of life and documentation improvements","shortMessageHtmlLink":"Bump version to 0.6.0"}},{"before":null,"after":"b0f3b670dd21bef44a0abf3bd38c5f9cd3c1d0c6","ref":"refs/heads/sdym/0.6","pushedAt":"2024-09-18T00:35:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kit1980","name":"Sergii Dymchenko","path":"/kit1980","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420184?s=80&v=4"},"commit":{"message":"Bump version to 0.6.0\n\nPreparing 0.6.0 release, which is probably a bit overdue already.\r\nAlso it's nice to align the release with PyTorch conference.\r\n\r\n- Added `torch.utils._pytree._register_pytree_node` and `torch.backends.cuda.sdp_kernel` to the deprecated APIs rules\r\n- Enhanced rule TOR203 to support `torchvision.datasets` and `transforms` in addition to `models`\r\n- Added rules TOR106 and TOR107 to suggest replacing `torch.log(1 + x)` and `torch.exp(x) - 1` with more numerically stable equivalents\r\n- Multiple code refactorings, bug fixes, and quality of life and documentation improvements","shortMessageHtmlLink":"Bump version to 0.6.0"}},{"before":"1f98c1db0824a9e9e535bebb1c45200439110a42","after":null,"ref":"refs/heads/sdym/expm1","pushedAt":"2024-09-17T23:02:57.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sbrugman","name":"Simon Brugman","path":"/sbrugman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9756388?s=80&v=4"}},{"before":"7bf6f67f5220aaf9a99b2ba64f9df9814df10738","after":"e0988aa1b10ca7d319c752a2a095f00cd676637a","ref":"refs/heads/main","pushedAt":"2024-09-17T21:52:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kit1980","name":"Sergii Dymchenko","path":"/kit1980","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420184?s=80&v=4"},"commit":{"message":"Add TorchExpm1Visitor (#78)\n\nFollow-up for https://github.com/pytorch-labs/torchfix/pull/77","shortMessageHtmlLink":"Add TorchExpm1Visitor (#78)"}},{"before":"62c293f4bf2b4bb9baeb7b433731f109a45892ec","after":"1f98c1db0824a9e9e535bebb1c45200439110a42","ref":"refs/heads/sdym/expm1","pushedAt":"2024-09-17T21:51:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kit1980","name":"Sergii Dymchenko","path":"/kit1980","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420184?s=80&v=4"},"commit":{"message":"Add a negative test","shortMessageHtmlLink":"Add a negative test"}},{"before":null,"after":"62c293f4bf2b4bb9baeb7b433731f109a45892ec","ref":"refs/heads/sdym/expm1","pushedAt":"2024-09-17T19:54:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kit1980","name":"Sergii Dymchenko","path":"/kit1980","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420184?s=80&v=4"},"commit":{"message":"Add TorchExpm1Visitor","shortMessageHtmlLink":"Add TorchExpm1Visitor"}},{"before":"6904aefe27aaafb9541d4519bb412628ae2814e9","after":null,"ref":"refs/heads/sdym/log1p","pushedAt":"2024-09-17T17:53:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sbrugman","name":"Simon Brugman","path":"/sbrugman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9756388?s=80&v=4"}},{"before":"aef3ea17db107e9e0c015ffd4a223bc19127cb11","after":"7bf6f67f5220aaf9a99b2ba64f9df9814df10738","ref":"refs/heads/main","pushedAt":"2024-09-17T17:43:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kit1980","name":"Sergii Dymchenko","path":"/kit1980","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420184?s=80&v=4"},"commit":{"message":"Add TorchLog1pVisitor (#77)\n\nSuggest using `torch.log1p(x)` instead of `torch.log(1 + x)`.\r\nOnly a checker for now, probably not worth spending time on a codemod as\r\nit's not a very common issue.\r\n\r\nI used this to create a PR to botorch\r\nhttps://github.com/pytorch/botorch/pull/2539","shortMessageHtmlLink":"Add TorchLog1pVisitor (#77)"}},{"before":"7994bd97d2d2dd97775172f74d9aa58c3acdc347","after":"6904aefe27aaafb9541d4519bb412628ae2814e9","ref":"refs/heads/sdym/log1p","pushedAt":"2024-09-17T17:41:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kit1980","name":"Sergii Dymchenko","path":"/kit1980","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420184?s=80&v=4"},"commit":{"message":"Add false negative test","shortMessageHtmlLink":"Add false negative test"}},{"before":null,"after":"7994bd97d2d2dd97775172f74d9aa58c3acdc347","ref":"refs/heads/sdym/log1p","pushedAt":"2024-09-16T22:36:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kit1980","name":"Sergii Dymchenko","path":"/kit1980","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420184?s=80&v=4"},"commit":{"message":"Add TorchLog1pVisitor","shortMessageHtmlLink":"Add TorchLog1pVisitor"}},{"before":"af3c6ff13dd8dd4cc937825ec11cd00739ff65a9","after":"aef3ea17db107e9e0c015ffd4a223bc19127cb11","ref":"refs/heads/main","pushedAt":"2024-09-13T22:41:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kit1980","name":"Sergii Dymchenko","path":"/kit1980","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420184?s=80&v=4"},"commit":{"message":"DOC(README): rule code assignment policy (#72)\n\nThe documentation should explain the rule code assignment policy, so\r\nthat its clear which code to pick for newly developed rules.\r\n\r\nThis was my best guess from the existing rules. Is it correct?","shortMessageHtmlLink":"DOC(README): rule code assignment policy (#72)"}},{"before":null,"after":"934fa262507df05a51fc38b2b0ee3a07e9ab1078","ref":"refs/heads/remove-macos-stderr-suppression","pushedAt":"2024-09-13T15:51:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sbrugman","name":"Simon Brugman","path":"/sbrugman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9756388?s=80&v=4"},"commit":{"message":"Remove masOS stderr suppression \n\n`contextlib.redirect_stderr` works on Mac, no need to additional clause","shortMessageHtmlLink":"Remove masOS stderr suppression"}},{"before":"7855ac1a17700b76d1a46ce9038882b63c62c901","after":"af3c6ff13dd8dd4cc937825ec11cd00739ff65a9","ref":"refs/heads/main","pushedAt":"2024-09-12T06:59:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sbrugman","name":"Simon Brugman","path":"/sbrugman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9756388?s=80&v=4"},"commit":{"message":"Improving test case developer experience (#69)\n\nThis PR updates the test fixtures to have the `.py` extension for\r\ncodemod output files. This is helpful for writing new tests (I'll be\r\nadding some for the new rules)\r\n\r\n- Codemod output is now stored as `.out.py` instead of `.py.out`. This\r\nmarks the files as Python source to IDEs, linters etc. For test\r\ndiscovery, the input files were renamed to `.in.py` from `.py`.\r\n\r\nFollow-up PR for https://github.com/pytorch-labs/torchfix/pull/67. Will\r\nrebase this one once that PR is merged.","shortMessageHtmlLink":"Improving test case developer experience (#69)"}},{"before":"5699fc87dcd27e5aea3420c8251255cfc21284ad","after":"7855ac1a17700b76d1a46ce9038882b63c62c901","ref":"refs/heads/main","pushedAt":"2024-09-10T22:30:53.000Z","pushType":"pr_merge","commitsCount":9,"pusher":{"login":"sbrugman","name":"Simon Brugman","path":"/sbrugman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9756388?s=80&v=4"},"commit":{"message":"Use dict comprehension","shortMessageHtmlLink":"Use dict comprehension"}},{"before":"311cdd72caa243882e2ed45860e04676069857c1","after":"5699fc87dcd27e5aea3420c8251255cfc21284ad","ref":"refs/heads/main","pushedAt":"2024-09-10T12:09:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sbrugman","name":"Simon Brugman","path":"/sbrugman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9756388?s=80&v=4"},"commit":{"message":"Split tests into individual test cases (#67)\n\n`metafunc.parametrize` can be used to create more granular test cases by\r\ndynamically generating test fixtures (i.e. arguments). This in our case\r\nis helpful for debugging failing test cases, by knowing directly which\r\nof the paths are failing.\r\n\r\n\r\n\r\n_Before_\r\n\r\n\r\n\r\n_After_\r\n\r\nChanges:\r\n\r\n- Split checker and codemod tests into individual test cases via\r\nmetafunc\r\n- Few pathlib cleanups\r\n- Removed obviated logger calls in these functions","shortMessageHtmlLink":"Split tests into individual test cases (#67)"}},{"before":"f30ac8b6b0fd89b9be85d72dad42810404523c26","after":null,"ref":"refs/heads/ci-matrix-macos","pushedAt":"2024-09-09T22:38:06.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sbrugman","name":"Simon Brugman","path":"/sbrugman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9756388?s=80&v=4"}},{"before":"458d6ab74cd9edb12828b2f098a20e24be070ce5","after":"311cdd72caa243882e2ed45860e04676069857c1","ref":"refs/heads/main","pushedAt":"2024-09-09T22:36:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kit1980","name":"Sergii Dymchenko","path":"/kit1980","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420184?s=80&v=4"},"commit":{"message":"CI: enable testing on macOS (#75)\n\nWhen I run `torchfix` on macOS the `contextlib.redirect_stderr` works as\r\nexpected.\r\n\r\nHowever, in the code we make an exception for `Darwin` (macOS):\r\n\r\n\r\nhttps://github.com/pytorch-labs/torchfix/blob/main/torchfix/__main__.py#L25\r\n\r\nBy enabling this test in CI we could test if removal of the dup2\r\nworkaround is possible.","shortMessageHtmlLink":"CI: enable testing on macOS (#75)"}},{"before":"07be364e2860a08daae91de77b5e7f902769c744","after":"f30ac8b6b0fd89b9be85d72dad42810404523c26","ref":"refs/heads/ci-matrix-macos","pushedAt":"2024-09-09T19:51:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sbrugman","name":"Simon Brugman","path":"/sbrugman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9756388?s=80&v=4"},"commit":{"message":"CI: setup Python explicitly","shortMessageHtmlLink":"CI: setup Python explicitly"}},{"before":null,"after":"07be364e2860a08daae91de77b5e7f902769c744","ref":"refs/heads/ci-matrix-macos","pushedAt":"2024-09-09T19:43:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sbrugman","name":"Simon Brugman","path":"/sbrugman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9756388?s=80&v=4"},"commit":{"message":"CI: enable testing on macOS","shortMessageHtmlLink":"CI: enable testing on macOS"}},{"before":"c755731b1faa2e7b74e02386540b4b2aa546ab68","after":"458d6ab74cd9edb12828b2f098a20e24be070ce5","ref":"refs/heads/main","pushedAt":"2024-09-06T16:48:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kit1980","name":"Sergii Dymchenko","path":"/kit1980","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420184?s=80&v=4"},"commit":{"message":"TST: add deprecated false negative example (#74)","shortMessageHtmlLink":"TST: add deprecated false negative example (#74)"}},{"before":"555bb8d59819e9117cc41b0f3df87f3ed1e6e60f","after":"c755731b1faa2e7b74e02386540b4b2aa546ab68","ref":"refs/heads/main","pushedAt":"2024-09-05T19:34:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kit1980","name":"Sergii Dymchenko","path":"/kit1980","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420184?s=80&v=4"},"commit":{"message":"Fix distinct error codes test (#73)\n\nCloses https://github.com/pytorch-labs/torchfix/issues/71","shortMessageHtmlLink":"Fix distinct error codes test (#73)"}},{"before":"8aef63bc548d100a0bb3826b4ca6ce05330f5ccf","after":"555bb8d59819e9117cc41b0f3df87f3ed1e6e60f","ref":"refs/heads/main","pushedAt":"2024-08-30T22:39:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kit1980","name":"Sergii Dymchenko","path":"/kit1980","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420184?s=80&v=4"},"commit":{"message":"Move development dependencies to `pyproject.toml` (#64)\n\nMinor PR to kick-off contributing to `torchfix`. I'm developing new\r\nfunctionality, which I plan to contribute in follow-up PRs.\r\n\r\nChanges:\r\n- Move `requirements-dev.txt` to `optional-dependencies`\r\n- Explicitly set the setuptools build system\r\n- Omit `pip install pre-commit` in CONTRIBUTING.md, already included in\r\ndev dependencies","shortMessageHtmlLink":"Move development dependencies to pyproject.toml (#64)"}},{"before":"a0d3b2e5699943a64cbdd8f2f349b82d37a66af5","after":"8aef63bc548d100a0bb3826b4ca6ce05330f5ccf","ref":"refs/heads/main","pushedAt":"2024-08-19T22:35:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kit1980","name":"Sergii Dymchenko","path":"/kit1980","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420184?s=80&v=4"},"commit":{"message":"Sort rule codes in CLI (#68)\n\nSort the rule codes in the CLI help is more intuitive to the user.\r\n\r\n_Before_:\r\n```text\r\n --select SELECT Comma-separated list of rules to enable or 'ALL' to enable all rules. Available rules: TOR001, TOR105, TOR402, TOR103, TOR401, TOR201, TOR004, TOR104, TOR501, TOR102,\r\n TOR202, TOR403, TOR203, TOR002, TOR901, TOR003, TOR101. Defaults to all except for TOR3, TOR4, TOR9.\r\n```\r\n\r\n_After_:\r\n```text\r\n --select SELECT Comma-separated list of rules to enable or 'ALL' to enable all rules. Available rules: TOR001, TOR002, TOR003, TOR004, TOR101, TOR102, TOR103, TOR104, TOR105, TOR201,\r\n TOR202, TOR203, TOR401, TOR402, TOR403, TOR501, TOR901. Defaults to all except for TOR3, TOR4, TOR9.\r\n```\r\n\r\nChanges:\r\n\r\n- Sort rule codes\r\n- Minor code modernisation for readability (list comprehension,\r\nsuperfluous else)","shortMessageHtmlLink":"Sort rule codes in CLI (#68)"}},{"before":"63cf15228144f0f5cb6146b733a341e3649825a3","after":"a0d3b2e5699943a64cbdd8f2f349b82d37a66af5","ref":"refs/heads/main","pushedAt":"2024-08-16T19:51:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kit1980","name":"Sergii Dymchenko","path":"/kit1980","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420184?s=80&v=4"},"commit":{"message":"Document TOR004,TOR102,TOR103 and add `torch.symeig` to TOR001 (#65)\n\nLinked to https://github.com/pytorch-labs/torchfix/issues/56","shortMessageHtmlLink":"Document TOR004,TOR102,TOR103 and add torch.symeig to TOR001 (#65)"}},{"before":"f3dd6943a7fd8c00e1b79df5a8086e86b961e8ad","after":"63cf15228144f0f5cb6146b733a341e3649825a3","ref":"refs/heads/main","pushedAt":"2024-06-17T19:09:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kit1980","name":"Sergii Dymchenko","path":"/kit1980","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420184?s=80&v=4"},"commit":{"message":"Add docs for torch.chain_matmul, torch.qr, torch.range, torch.cholesky (#59)\n\nPartially addresses #56\r\nAdded `TOR101` deprecation doc for `torch.cholesky`,\r\n`torch.chain_matmul`, `torch.qr`, `torch.range`.","shortMessageHtmlLink":"Add docs for torch.chain_matmul, torch.qr, torch.range, torch.cholesky ("}},{"before":"fdad98692ed80a5d165affd0be073c53cd300cac","after":"f3dd6943a7fd8c00e1b79df5a8086e86b961e8ad","ref":"refs/heads/main","pushedAt":"2024-06-13T22:23:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kit1980","name":"Sergii Dymchenko","path":"/kit1980","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420184?s=80&v=4"},"commit":{"message":"Add rules for `datasets` and `transforms` imports (#61)\n\n## Context\r\n\r\n* There is a linter rule that recommends changing `import\r\ntorchvision.models as models` to `from torchvision import models`\r\n* The same behavior is expected for `torchvision.datasets` and\r\n`torchvision.transforms`\r\n\r\n## Changes\r\n\r\n* Extend the `models` rule to also address the first instance of the\r\n`datasets` and `transforms` imports\r\n* Rename the models import checker and related fixtures to be more\r\ngeneric since more imports are checked now\r\n\r\n## Testing\r\n\r\n* Updated existing unit test and fixture\r\n* No lint errors for modified files","shortMessageHtmlLink":"Add rules for datasets and transforms imports (#61)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOVQyMjo1Njo1OC4wMDAwMDBazwAAAAS7Yu2Y","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOVQyMjo1Njo1OC4wMDAwMDBazwAAAAS7Yu2Y","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0xM1QyMjoyMzoyOC4wMDAwMDBazwAAAARk5eTe"}},"title":"Activity ยท pytorch-labs/torchfix"}