{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":252646465,"defaultBranch":"main","name":"beartype","ownerLogin":"beartype","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-04-03T06:06:22.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/63089855?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1724744601.0","currentOid":""},"activityList":{"items":[{"before":"4c203c90a49a072be3dc54e03e855e986f5d65ef","after":"41026e47447d76474e335f7ea90dbd7951b67813","ref":"refs/heads/main","pushedAt":"2024-08-27T07:43:17.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"**Beartype 0.19.0** stable release started.","shortMessageHtmlLink":"**Beartype 0.19.0** stable release started."}},{"before":"c89a72e85bc16747aaf66db6a5069c5c8eafd635","after":"4c203c90a49a072be3dc54e03e855e986f5d65ef","ref":"refs/heads/main","pushedAt":"2024-08-26T05:44:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` + lambda functions.\n\nThis commit generalizes @beartype's newly introduced **type hint\ninference API** (i.e., the public `beartype.door.infer_hint()` function)\nto better infer the number of unannotated parameters accepted by lambda\nfunctions: e.g.,\n\n```python\n>>> infer_hint(lambda: None)\ncollections.abc.Callable[[], object]\n>>> infer_hint(lambda so, much, hotness: None)\ncollections.abc.Callable[[object, object, object], object]\n```\n\nDay by day, @beartype's power grows. (*Fearsome fees, dolesome dollars!*)","shortMessageHtmlLink":"beartype.door.infer_hint() + lambda functions."}},{"before":"f438dca4ab8e8a25a738f823ac87607d5aa03534","after":"c89a72e85bc16747aaf66db6a5069c5c8eafd635","ref":"refs/heads/main","pushedAt":"2024-08-25T04:43:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` + `pygments`.\n\nThis commit resolves a critical bug in @beartype's newly introduced\n**type hint inference API** (i.e., the public\n`beartype.door.infer_hint()` function) with respect to a \"shagnasty\"\nthird-party `pygments` object that has bedeviled @leycec for the entire\nsummer but has finally met its match. *Your time is done, Shagnasty!*\n(*Honourable honey or incurable incunabula?*)","shortMessageHtmlLink":"beartype.door.infer_hint() + pygments."}},{"before":"01052d7bf8bd3c1e692287bf74760e2f491938e8","after":"f438dca4ab8e8a25a738f823ac87607d5aa03534","ref":"refs/heads/main","pushedAt":"2024-08-24T06:28:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 25.\n\nThis commit is the last in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), finally\nresolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems.\n\nThis commit is actually the last in a commit sub-chain implementing a\nprivate **tensor type hint inference API** (i.e., low-level functions\ndynamically inferring tensor type hints for popular third-party tensor\npackages like NumPy, JAX, and PyTorch). Specifically, this exhaustively\ntests NumPy tensor type hint inference. When I say \"exhaustively,\" I of\ncourse mean \"exhaustedly.\" I am exhausted. That's what I'm saying.\n(*Spontaneous pontification on pontoon vacations!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 25."}},{"before":"965fb2f10ce9858cbcf3891ed56315e3b707528a","after":"01052d7bf8bd3c1e692287bf74760e2f491938e8","ref":"refs/heads/main","pushedAt":"2024-08-23T07:07:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 24.\n\nThis commit is the next in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), en-route\nto resolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems.\n\nThis commit is actually the next in a commit sub-chain implementing a\nprivate **tensor type hint inference API** (i.e., low-level functions\ndynamically inferring tensor type hints for popular third-party tensor\npackages like NumPy, JAX, and PyTorch). Specifically, this commit\ndefines a new test session-scoped `numpy_arrays()` fixture and\ncorresponding `_NumpyArrays` dataclass in the test-specific\n`beartype_test.a00_unit.data.api.data_apinumpy` submobule; this fixture\nsimplifies NumPy testing by aggregating NumPy arrays of various dtypes\nof interest to downstream unit tests. (*Extrapolated interpolations!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 24."}},{"before":"0e27d0f1f96ef7f73a29562d1cabda9b24ec5a80","after":"965fb2f10ce9858cbcf3891ed56315e3b707528a","ref":"refs/heads/main","pushedAt":"2024-08-19T07:31:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 23.\n\nThis commit is the next in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), en-route\nto resolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems.\n\nThis commit is actually the next in a commit sub-chain implementing a\nprivate **tensor type hint inference API** (i.e., low-level functions\ndynamically inferring tensor type hints for popular third-party tensor\npackages like NumPy, JAX, and PyTorch). Specifically, this commit\nfinalizes our NumPy-specific type hint inference API. Although untested,\nthis API is the miracle on Earth that Gamma Ray has been waiting for.\n(*What we need right now is a miracle on Earth!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 23."}},{"before":"64622f70d2bf0fe3ad834606d265fdac2f0c9c38","after":"0e27d0f1f96ef7f73a29562d1cabda9b24ec5a80","ref":"refs/heads/main","pushedAt":"2024-08-18T06:35:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 22.\n\nThis commit is the next in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), en-route\nto resolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems. Specifically, this commit\ngeneralizes this API to:\n\n* Efficiently detect and return all PEP-compliant type hints unmodified:\n e.g.,\n\n ```python\n >>> infer_hint(list[str])\n list[str]\n ```\n\n* Infer the type hint for sufficiently small tuples likely to be\n returned from **multiple-return functions** (i.e., functions returning\n two or more values as a tuple whose items are those values) as\n fixed-length rather than variadic tuple type hints: e.g.,\n\n ```python\n >>> infer_hint(('Leggo', b'my uggo', 42, 3.14))\n tuple[str, bytes, int, float] # <-- fixed-length tuple\n >>> infer_hint(('Leggo', b'my uggo', 42, 3.14) * 4)\n tuple[str | bytes | int | float, ...] # <-- variadic tuple\n ```\n\n(*Brawny yawning, bro!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 22."}},{"before":"d9b64e20fb38012a065ef6054ccf13c6a208fa4e","after":"64622f70d2bf0fe3ad834606d265fdac2f0c9c38","ref":"refs/heads/main","pushedAt":"2024-08-16T08:04:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`BeartypeConf.claw_skip_package_names` x 6.\n\nThis commit is the last in a commit chain implementing support for a\nnew `BeartypeConf.claw_skip_package_names` configuration option,\nresolving feature request #407 kindly submitted by awakened QA min-maker\n@minmax (Karataev Pavel). This option enables callers to selectively\nignore problematic third-party packages from runtime type-checking by\n@beartype via an explicit **package name blacklist** (e.g., ban, deny,\nignore, or omit list of the names of all packages and modules to be\nexcluded from consideration), applied during `beartype.claw` import\nhooks. This functionality technically applies to *all* import hooks but\nis (mostly) just applicable to the `beartype.claw.beartype_all()` import\nhook. Currently, that hook unconditionally subjects *all* third-party\npackages to runtime type-checking by @beartype. Since *many* third-party\npackages fail to support such type-checking, however, that hook is\npragmatically useless as is. This option significantly improves the\nrobustness (and thus usability) of that hook against problematic code\noutside the control of @beartype-friendly packages.\n\nSpecifically, this commit... *was sheer madness.* It's best not to\ncontemplate the unfathomable depths on display here. (*Simple dimples!*)","shortMessageHtmlLink":"BeartypeConf.claw_skip_package_names x 6."}},{"before":"b41845692b989334441d68d77516eb4d890c624f","after":"d9b64e20fb38012a065ef6054ccf13c6a208fa4e","ref":"refs/heads/main","pushedAt":"2024-08-15T07:11:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`BeartypeConf.claw_skip_package_names` x 5.\n\nThis commit is the next in a commit chain implementing support for a\nnew `BeartypeConf.claw_skip_package_names` configuration option,\nen-route to resolving feature request #407 kindly submitted by awakened\nQA min-maker @minmax (Karataev Pavel). This option enables callers to\nselectively ignore problematic third-party packages from runtime\ntype-checking by @beartype via an explicit **package name blacklist**\n(e.g., ban, deny, ignore, or omit list of the names of all packages and\nmodules to be excluded from consideration), applied during\n`beartype.claw` import hooks. This functionality technically applies to\n*all* import hooks but is (mostly) just applicable to the\n`beartype.claw.beartype_all()` import hook. Currently, that hook\nunconditionally subjects *all* third-party packages to runtime\ntype-checking by @beartype. Since *many* third-party packages fail to\nsupport such type-checking, however, that hook is pragmatically useless\nas is. This option significantly improves the robustness (and thus\nusability) of that hook against problematic code outside the control\nof @beartype-friendly packages.\n\nSpecifically, this commit refactors the new\n`BeartypeConf.claw_skip_package_names` option from a totally unsafe\n`Iterable[str]` data structure to a substantially safer\n`Collection[str]` data structure. Thanks to @minmax for even this\nastute observation. Huzzahs! Long may @minmax code into the night!\n\nNaturally, nothing is tested. Thas jus' what @leycec do be like.\n(*Deplorable depredations or lore-friendly trendings!?*)","shortMessageHtmlLink":"BeartypeConf.claw_skip_package_names x 5."}},{"before":"8ec5ca374f198895175f9fe26a32d02a0fbc8e2a","after":"b41845692b989334441d68d77516eb4d890c624f","ref":"refs/heads/main","pushedAt":"2024-08-15T05:12:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`BeartypeValidatorTester`: `object` -> `Any`.\n\nThis commit generalizes the type hint annotating the\n`beartype.vale.Is[...]` validator to accept *any* callable accepting an\narbitrary object and returning a boolean, resolving feature request #416\nkindly submitted by min-max QA Chad King (QACK) @minmax (Karataev\nPavel). Specifically, this commit refactors the private\n`beartype.vale._util._valeutiltyping.BeartypeValidatorTester` type hint:\n\n```python\n# ...from this:\nBeartypeValidatorTester = Callable[[object], bool]\n\n# ...to this:\nBeartypeValidatorTester = Callable[[Any], bool]\n```\n\nThanks a heap overflow to @minmax for the super-succint solution. *What\na QA Chad King.* (*Thuggish feather in sluggishly muggy weather!*)","shortMessageHtmlLink":"BeartypeValidatorTester: object -> Any."}},{"before":"3556b1a6b8881d9dd7c05404461ba0f85e1bb513","after":"8ec5ca374f198895175f9fe26a32d02a0fbc8e2a","ref":"refs/heads/main","pushedAt":"2024-08-14T07:08:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`BeartypeConf.claw_skip_package_names` x 4.\n\nThis commit is the next in a commit chain implementing support for a\nnew `BeartypeConf.claw_skip_package_names` configuration option,\nen-route to resolving feature request #407 kindly submitted by awakened\nQA min-maker @minmax (Karataev Pavel). This option enables callers to\nselectively ignore problematic third-party packages from runtime\ntype-checking by @beartype via an explicit **package name blacklist**\n(e.g., ban, deny, ignore, or omit list of the names of all packages and\nmodules to be excluded from consideration), applied during\n`beartype.claw` import hooks. This functionality technically applies to\n*all* import hooks but is (mostly) just applicable to the\n`beartype.claw.beartype_all()` import hook. Currently, that hook\nunconditionally subjects *all* third-party packages to runtime\ntype-checking by @beartype. Since *many* third-party packages fail to\nsupport such type-checking, however, that hook is pragmatically useless\nas is. This option significantly improves the robustness (and thus\nusability) of that hook against problematic code outside the control\nof @beartype-friendly packages.\n\nSpecifically, this commit finishes implementing low-level support for a\nnew private\n`beartype.claw._clawstate.BeartypeClawState.packages_trie_blacklist`\ninstance variable. Allowing the `BeartypeConf.claw_skip_package_names`\noption to be generic iterable is optimal for caller convenience but\nsuboptimal for internal efficiency. This `packages_trie_blacklist` data\nstructure efficiently coerces this inefficient iterable of\n`\".\"`-delimited package names into an efficient trie of undelimited\npackage basenames. Look. Just roll with it, GitHub.\n\nNaturally, nothing is tested. Thas jus' what @leycec do be like.\n(*Trustworthy tests ain't worth no rusty scorched earth!*)","shortMessageHtmlLink":"BeartypeConf.claw_skip_package_names x 4."}},{"before":"da53c82d8ee65b898e2707067d6faf24593f9246","after":"3556b1a6b8881d9dd7c05404461ba0f85e1bb513","ref":"refs/heads/main","pushedAt":"2024-08-13T07:42:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`BeartypeConf.claw_skip_package_names` x 3.\n\nThis commit is the next in a commit chain implementing support for a\nnew `BeartypeConf.claw_skip_package_names` configuration option,\nen-route to resolving feature request #407 kindly submitted by awakened\nQA min-maker @minmax (Karataev Pavel). This option enables callers to\nselectively ignore problematic third-party packages from runtime\ntype-checking by @beartype via an explicit **package name blacklist**\n(e.g., ban, deny, ignore, or omit list of the names of all packages and\nmodules to be excluded from consideration), applied during\n`beartype.claw` import hooks. This functionality technically applies to\n*all* import hooks but is (mostly) just applicable to the\n`beartype.claw.beartype_all()` import hook. Currently, that hook\nunconditionally subjects *all* third-party packages to runtime\ntype-checking by @beartype. Since *many* third-party packages fail to\nsupport such type-checking, however, that hook is pragmatically useless\nas is. This option significantly improves the robustness (and thus\nusability) of that hook against problematic code outside the control\nof @beartype-friendly packages.\n\nSpecifically, this commit continues implementing low-level support for a\nnew private\n`beartype.claw._clawstate.BeartypeClawState.packages_trie_blacklist`\ninstance variable. Allowing the `BeartypeConf.claw_skip_package_names`\noption to be generic iterable is optimal for caller convenience but\nsuboptimal for internal efficiency. This `packages_trie_blacklist` data\nstructure efficiently coerces this inefficient iterable of\n`\".\"`-delimited package names into an efficient trie of undelimited\npackage basenames. Look. Just roll with it, GitHub.\n\n(*Crudely roll on, droll fruit roll-up!*)","shortMessageHtmlLink":"BeartypeConf.claw_skip_package_names x 3."}},{"before":"7c0968da011033facbd9860d0ece3988dc585bd3","after":"da53c82d8ee65b898e2707067d6faf24593f9246","ref":"refs/heads/main","pushedAt":"2024-08-12T07:01:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`BeartypeConf.claw_skip_package_names` x 2.\n\nThis commit is the next in a commit chain implementing support for a\nnew `BeartypeConf.claw_skip_package_names` configuration option,\nen-route to resolving feature request #407 kindly submitted by awakened\nQA min-maker @minmax (Karataev Pavel). This option enables callers to\nselectively ignore problematic third-party packages from runtime\ntype-checking by @beartype via an explicit **package name blacklist**\n(e.g., ban, deny, ignore, or omit list of the names of all packages and\nmodules to be excluded from consideration), applied during\n`beartype.claw` import hooks. This functionality technically applies to\n*all* import hooks but is (mostly) just applicable to the\n`beartype.claw.beartype_all()` import hook. Currently, that hook\nunconditionally subjects *all* third-party packages to runtime\ntype-checking by @beartype. Since *many* third-party packages fail to\nsupport such type-checking, however, that hook is pragmatically useless\nas is. This option significantly improves the robustness (and thus\nusability) of that hook against problematic code outside the control\nof @beartype-friendly packages.\n\nSpecifically, this commit begins implementing low-level support for a\nnew private\n`beartype.claw._clawstate.BeartypeClawState.packages_trie_blacklist`\ninstance variable. Allowing the `BeartypeConf.claw_skip_package_names`\noption to be generic iterable is optimal for caller convenience but\nsuboptimal for internal efficiency. This `packages_trie_blacklist` data\nstructure efficiently coerces this inefficient iterable of\n`\".\"`-delimited package names into an efficient trie of undelimited\npackage basenames. Look. Just roll with it, GitHub.\n\n(*Internal ontologies on top of infernal topologies!*)","shortMessageHtmlLink":"BeartypeConf.claw_skip_package_names x 2."}},{"before":"0188eeb861f568f0b17577e4e33f38adf72ae8dd","after":"7c0968da011033facbd9860d0ece3988dc585bd3","ref":"refs/heads/main","pushedAt":"2024-08-11T20:09:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`BeartypeConf.claw_skip_package_names` x 1.\n\nThis commit is the first in a commit chain implementing support for a\r\nnew `BeartypeConf.claw_skip_package_names` configuration option by\r\nfearless radical Mandelbrot explorer @frrad (Frederick Robinson),\r\nen-route to resolving feature request #407 kindly submitted by awakened\r\nQA min-maker @minmax (Karataev Pavel). This option enables callers to\r\nselectively ignore problematic third-party packages from runtime\r\ntype-checking by @beartype via an explicit **package name blacklist**\r\n(e.g., ban, deny, ignore, or omit list of the names of all packages and\r\nmodules to be excluded from consideration), applied during\r\n`beartype.claw` import hooks. This functionality technically applies to\r\n*all* import hooks but is (mostly) just applicable to the\r\n`beartype.claw.beartype_all()` import hook. Currently, that hook\r\nunconditionally subjects *all* third-party packages to runtime\r\ntype-checking by @beartype. Since *many* third-party packages fail to\r\nsupport such type-checking, however, that hook is pragmatically useless\r\nas is. This option significantly improves the robustness (and thus\r\nusability) of that hook against problematic code outside the control\r\nof @beartype-friendly packages. Big shout-outs to @frrad for his\r\ntremendous volunteerism here. (*Firstly thirsty!*)","shortMessageHtmlLink":"BeartypeConf.claw_skip_package_names x 1."}},{"before":"ae0d45cbc759aa98068eedd18edc5a181704f417","after":"0188eeb861f568f0b17577e4e33f38adf72ae8dd","ref":"refs/heads/main","pushedAt":"2024-08-11T03:40:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 21.\n\nThis commit is the next in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), en-route\nto resolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems.\n\nThis commit is actually the next in a commit sub-chain implementing a\nprivate **tensor type hint inference API** (i.e., low-level functions\ndynamically inferring tensor type hints for popular third-party tensor\npackages like NumPy, JAX, and PyTorch). Specifically, this commit\nresolves trivial – albeit so, so annoying – `pyright` false positives in\nthis new private\n`beartype.door._func.infer.kind.inferthirdparty` submodule.\n(*Remarkable miracles of a meritorious oracle!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 21."}},{"before":"50c739389fbc9d4cf4526c7b82c943e5d224cf8b","after":"ae0d45cbc759aa98068eedd18edc5a181704f417","ref":"refs/heads/main","pushedAt":"2024-08-10T07:20:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 20.\n\nThis commit is the next in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), en-route\nto resolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems.\n\nThis commit is actually the first in a commit sub-chain implementing a\nprivate **tensor type hint inference API** (i.e., low-level functions\ndynamically inferring tensor type hints for popular third-party tensor\npackages like NumPy, JAX, and PyTorch). Specifically, this commit begins\na first-draft implementation of a new private\n`beartype.door._func.infer.kind.inferthirdparty` submodule with initial\nsupport for inferring type hints for NumPy arrays -- complete with both\n`dtype` and dimensionality (i.e., `ndim`) validation. (*Stunning thunder, Stu!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 20."}},{"before":"efda2818f75ef25172fc3baa9b4854b9d458d03b","after":"50c739389fbc9d4cf4526c7b82c943e5d224cf8b","ref":"refs/heads/main","pushedAt":"2024-08-09T06:45:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 19.\n\nThis commit is the next in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), en-route\nto resolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems.\n\nThis commit is actually the next in a commit sub-chain implementing a\nprivate **callable type hint inference API** (i.e., low-level functions\ndynamically inferring `Callable[...]` type hints describing arbitrary\ncallables). Specifically, this commit continues unit testing our\n`beartype.door._func.infer._infercallable` submodule. (*Hyper hype!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 19."}},{"before":"7070e1aae758cd2bda3643f942ccab799c077b93","after":"efda2818f75ef25172fc3baa9b4854b9d458d03b","ref":"refs/heads/main","pushedAt":"2024-08-08T06:42:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 18.\n\nThis commit is the next in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), en-route\nto resolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems.\n\nThis commit is actually the next in a commit sub-chain implementing a\nprivate **callable type hint inference API** (i.e., low-level functions\ndynamically inferring `Callable[...]` type hints describing arbitrary\ncallables). Specifically, this commit begins unit testing our\n`beartype.door._func.infer._infercallable` submodule. (*Impeccably patient inpatients!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 18."}},{"before":"cfbfe03adfe675c95dadd372ded67e4825043b18","after":"7070e1aae758cd2bda3643f942ccab799c077b93","ref":"refs/heads/main","pushedAt":"2024-08-08T05:49:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"Numba integration test.\n\nThis commit adds a new `test_numba_njit()` integration test exercising\nthat the `@beartype.beartype` decorator plays *really* nicely with the\nthird-party `@numba.njit` decorator`, avoiding regressions in issue #412\nkindly submitted by Los Angeles QA angel @jonnyhyman (Jonny Hyman).\n(*Lick an angelic jelly!*)","shortMessageHtmlLink":"Numba integration test."}},{"before":"c27041e5bc3d220eaf4fa06ebbcca924386f5113","after":"cfbfe03adfe675c95dadd372ded67e4825043b18","ref":"refs/heads/main","pushedAt":"2024-08-07T07:53:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 17.\n\nThis commit is the next in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), en-route\nto resolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems.\n\nThis commit is actually the next in a commit sub-chain implementing a\nprivate **callable type hint inference API** (i.e., low-level functions\ndynamically inferring `Callable[...]` type hints describing arbitrary\ncallables). Specifically, this commit generalizes our first-draft\nimplementation of the `beartype.door._func.infer._infercallable`\nsubmodule to support Python ≥ 3.8. So glad! Emoji cat, help us to make\nthis worky. (*Maladorous odors, milady!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 17."}},{"before":"8a9c7375be7ce25680afa7a5ab1b523b1caeb640","after":"c27041e5bc3d220eaf4fa06ebbcca924386f5113","ref":"refs/heads/main","pushedAt":"2024-08-06T07:43:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 16.\n\nThis commit is the next in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), en-route\nto resolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems.\n\nThis commit is actually the next in a commit sub-chain implementing a\nprivate **callable type hint inference API** (i.e., low-level functions\ndynamically inferring `Callable[...]` type hints describing arbitrary\ncallables). Specifically, this commit finalizes a first-draft\nimplementation of the `beartype.door._func.infer._infercallable`\nsubmodule -- which remains untested and unworking under Python < 3.11.\nSo sad! Emoji cat, help us to make this worky. (*Cute cuticles in icky icicles!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 16."}},{"before":"e9eeb4e282f438e770520b99deadbe219a1c62dc","after":"8a9c7375be7ce25680afa7a5ab1b523b1caeb640","ref":"refs/heads/main","pushedAt":"2024-08-03T07:25:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 15.\n\nThis commit is the next in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), en-route\nto resolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems.\n\nThis commit is actually the first in a commit sub-chain implementing a\nprivate **callable type hint inference API** (i.e., low-level functions\ndynamically inferring `Callable[...]` type hints describing arbitrary\ncallables). Specifically, this commit begins outlining the skeletal\nstructure of a mostly non-functioning\n`beartype.door._func.infer._infercallable` submodule. (*Standard dastards!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 15."}},{"before":"80cc33c56e23154c7980f61fb6a3d732aecc8487","after":"e9eeb4e282f438e770520b99deadbe219a1c62dc","ref":"refs/heads/main","pushedAt":"2024-08-02T07:10:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 14.\n\nThis commit is the next in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), en-route\nto resolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems. Specifically, this commit continues\nresolving critical defects in our underlying support for inferring\nbuiltin dictionary types (e.g., `dict` collections). This turned out to\nbe considerably more arduous than expected, because the core\n`collections.abc.Mapping` protocol fails to define the\n`__subclasshook__()` dunder method and thus fails to support so-called\n\"virtual subclasses\" despite the official `collections.abc`\ndocumentation claiming otherwise. Defly not pleased, CPython devbros.\nYour bugs are making a hard thing even harder. I express sad feels.\n(*Upsurging urgency!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 14."}},{"before":"d3c7e0625da17391400fdcac10d8397fe16d91c2","after":"80cc33c56e23154c7980f61fb6a3d732aecc8487","ref":"refs/heads/main","pushedAt":"2024-08-01T07:37:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 13.\n\nThis commit is the next in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), en-route\nto resolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems. Specifically, this commit resolves\ncritical defects in our underlying support for inferring builtin\ndictionary types (e.g., `dict` collections). (*Presumptuous sumptuous sump pump!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 13."}},{"before":"24983f989a82fcad903c991c87c303431734771f","after":"d3c7e0625da17391400fdcac10d8397fe16d91c2","ref":"refs/heads/main","pushedAt":"2024-07-31T07:22:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 12.\n\nThis commit is the next in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), en-route\nto resolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems. Specifically, this commit:\n\n* Adds support for **counter type hint inference** (i.e., inference for\n `collections.Counter`-based dictionaries).\n* Dramatically optimizes our private **builtin collection type hint\n inference API** (i.e., low-level function dynamically inferring the\n type hints that best describe builtins collections like `list`,\n `tuple`, and `dict` objects) to exhibit worst-case `O(1)` constant\n time complexity. This is why we @beartype, folks.\n\n(*Blasted bliss, Ted!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 12."}},{"before":"39991ef815e8729b25a5fea0ff6041091abd646e","after":"24983f989a82fcad903c991c87c303431734771f","ref":"refs/heads/main","pushedAt":"2024-07-30T07:56:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 11.\n\nThis commit is the next in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), en-route\nto resolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems. Specifically, this commit implements\na private **builtin collection type hint inference API** (i.e.,\nlow-level function dynamically inferring the type hints that best\ndescribe builtins collections like `list`, `tuple`, and `dict` objects).\n(*Obverse obsidian on the converse, Poseidon!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 11."}},{"before":"9674aab50f7856862c038d544772688aa629f509","after":"39991ef815e8729b25a5fea0ff6041091abd646e","ref":"refs/heads/main","pushedAt":"2024-07-27T07:17:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 10.\n\nThis commit is the next in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), en-route\nto resolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems.\n\nThis commit is actually the next in a commit sub-chain implementing a\nprivate **`collections.abc` type hint inference API** (i.e., low-level\nfunctions dynamically inferring the `collections.abc` protocol that best\ndescribe arbitrary objects). Specifically, this commit... oh, who am I\nkidding? I'm so tired. Nobody reads the fine print, anyway. Let's just\npretend this was a meaningful commit. Would @leycec lie!?\n(*Frumpy crumbs on crumpled stumps!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 10."}},{"before":"a42231a7e592a4c4b1cfbbf81c9785adb42c6b61","after":"9674aab50f7856862c038d544772688aa629f509","ref":"refs/heads/main","pushedAt":"2024-07-26T07:47:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 9.\n\nThis commit is the next in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), en-route\nto resolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems.\n\nThis commit is actually the next in a commit sub-chain implementing a\nprivate **`collections.abc` type hint inference API** (i.e., low-level\nfunctions dynamically inferring the `collections.abc` protocol that best\ndescribe arbitrary objects). Specifically, this commit:\n\n* Heavily debugs our first-draft implementation of the private\n `beartype.door._func.infer._infercollabc` submodule, which was so\n awful that it *never stopped.* Infinite loop, I summon you!\n* Continues unit testing that submodule. The pain is real.\n\n(*Insipid lipids inside a sappy cupid!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 9."}},{"before":"62226a39258a54c531b65bce00fa2d61ffb89666","after":"a42231a7e592a4c4b1cfbbf81c9785adb42c6b61","ref":"refs/heads/main","pushedAt":"2024-07-25T07:28:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 8.\n\nThis commit is the next in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), en-route\nto resolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems.\n\nThis commit is actually the next in a commit sub-chain implementing a\nprivate **`collections.abc` type hint inference API** (i.e., low-level\nfunctions dynamically inferring the `collections.abc` protocol that best\ndescribe arbitrary objects). Specifically, this commit:\n\n* Partially unit tests our first-draft implementation of the private\n `beartype.door._func.infer._infercollabc` submodule underlying this\n `collections.abc` type hint inference.\n* Integrates this inference into the larger-scope\n `beartype.door._func.infer.infermain` submodule underlying this\n general-purpose type hint inference.\n\n(*Pellucid pelicans can lick cans!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 8."}},{"before":"7ac060bb2420df7501fa65123a82ead423b83e20","after":"62226a39258a54c531b65bce00fa2d61ffb89666","ref":"refs/heads/main","pushedAt":"2024-07-24T07:41:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leycec","name":"Cecil Curry","path":"/leycec","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217028?s=80&v=4"},"commit":{"message":"`beartype.door.infer_hint()` x 7.\n\nThis commit is the next in a commit chain implementing a new public\n**type hint inference API** (i.e., high-level functions dynamically\ninferring the type hints that best describe arbitrary objects), en-route\nto resolving feature request #403 kindly submitted by \"funny guy, great\npersonality, amazing dev\" @Moosems.\n\nThis commit is actually the next in a commit sub-chain implementing a\nprivate **`collections.abc` type hint inference API** (i.e., low-level\nfunctions dynamically inferring the `collections.abc` protocol that best\ndescribe arbitrary objects). Specifically, this commit finalizes a\nthoroughly untested first-draft implementation of the private\n`beartype.door._func.infer._infercollections` submodule underlying this\ninference. (*Inconsequential quests in sequential consolation!*)","shortMessageHtmlLink":"beartype.door.infer_hint() x 7."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEpRAe_QA","startCursor":null,"endCursor":null}},"title":"Activity · beartype/beartype"}