Repository navigation
Bugs features - #214
Open
KotlinIsland wants to merge 15 commits into
Open
Bugs features#214KotlinIsland wants to merge 15 commits into
KotlinIsland wants to merge 15 commits into
Conversation
…apper around it, so a traceback raised while it is imported shows the line that imported and the line that failed, without python's import machinery or the runner between them
…UTPUT_FORMAT asks for, as by check does, so an editor or a CI job can read them out of the build's output
…and writes an LCOV report against the .by files and lines it was written in
…for a position: the whole reference whose last name the position is on, and the call around a callee when calls are allowed
…any places use it and how many classes subclass it or members override it, counted as textDocument/references and textDocument/implementation answer at its name, for an editor drawing usage counts on every pass
…tTests, with where a new test goes, and a file's or a package's dotted name with by/moduleName
… the class at a position inherits and writing the basedpython declarations that override the ones picked, and stop importing names a .by file has implicitly when an annotation is written
…'s data, and answer by/copiedImports and by/pastedImports, the imports copied code needs and the ones a paste is missing
Contributor
by ecosystem round-tripbase: regressions: 1, changed: 26, improvements: 0, error changes: 0 (across 27811 files in 144 projects) ❌ regressions (built on base, now fails)altair —ℹ️ changed round-trip outputapprise — _by_sourcemap.py--- base/_by_sourcemap.py
+++ head/_by_sourcemap.py
@@ -616,5 +616,5 @@
"/tmp/tmp0odnw9q_/apprise/build/apprise/plugins/kook.py": {"by": "sha256:39b3c330695431522f3bcd9435df19d227f0cdbf703a653b8abd2064477bc755", "py": "sha256:a22afc1ec00a808df573faff16e928f9df71e2831702b1c5dd20c5f9bc0f2195"},
"/tmp/tmp0odnw9q_/apprise/build/apprise/plugins/kumulos.py": {"by": "sha256:601e3846598e420bfc5f1e95542db10fb87a37816bd9d7273890d82b645f1c00", "py": "sha256:a4d6d077df101166e05679412e633932ba4c80838c8db7d8d7187b0715122381"},
- "/tmp/tmp0odnw9q_/apprise/build/apprise/plugins/lametric.py": {"by": "sha256:783c3316f0dc861684a5970b483a2c16793acecfe2b4d105a3167ffa700530d7", "py": "sha256:9463443ef2beadabd9072b2e1e7f9118f8ed1249c94c5d6655025799ee890d62"},
+ "/tmp/tmp0odnw9q_/apprise/build/apprise/plugins/lametric.py": {"by": "sha256:783c3316f0dc861684a5970b483a2c16793acecfe2b4d105a3167ffa700530d7", "py": "sha256:445ddaf40c775cf23c5795acd8970160e7349573bc4d428d74da034aface5e7d"},
"/tmp/tmp0odnw9q_/apprise/build/apprise/plugins/lark.py": {"by": "sha256:0eb6f57772edee40d96ea2ff142d06a732f277927834becdd7c05ce603b1f4fa", "py": "sha256:51806667f42e7dd91016ffe0d6494094ec2743cd51803e3d76824d8feedacce1"},
"/tmp/tmp0odnw9q_/apprise/build/apprise/plugins/lauther.py": {"by": "sha256:634ebff28eff54fb147ea22c2a516e05f1d5508601e56faeec8d909e6d4272c6", "py": "sha256:db694abbb11f04da6f084747fce0ad6c14446dd2355916c177b12b133f10b169"},apprise — apprise/plugins/lametric.py--- base/apprise/plugins/lametric.py
+++ head/apprise/plugins/lametric.py
@@ -780,5 +780,5 @@
"category": _soundness_check(self.sound[0], str),
# The first element of our tuple is always the id
- "id": _soundness_check(_soundness_check(self.sound[1], (tuple, str))[0], str),
+ "id": _soundness_check(_soundness_check(self.sound[1], (str, tuple))[0], str),
# repeat - defines the number of times sound must be played.
# If set to 0 sound will be played until notification ispandera — _by_sourcemap.py--- base/_by_sourcemap.py
+++ head/_by_sourcemap.py
@@ -162,5 +162,5 @@
"/tmp/tmp0odnw9q_/pandera/build/pandera/backends/tensordict/__init__.py": ("/tmp/tmp0odnw9q_/pandera/pandera/backends/tensordict/__init__.by", [0]),
... 6768 characters elided ...
"/tmp/tmp0odnw9q_/pandera/build/pandera/backends/tensordict/register.py": {"by": "sha256:57ccf9a4064dd98f0db3b81a5f1f25e95d05f96b6396b92d11bc35e096444d4f", "py": "sha256:d9b0b4251fade44f9d63e0cbcdfe83323af8c3e352563b3bdac795bb3595efaf"},pandera — pandera/backends/tensordict/builtin_checks.py--- base/pandera/backends/tensordict/builtin_checks.py
+++ head/pandera/backends/tensordict/builtin_checks.py
@@ -1,5 +1,4 @@
"""Built-in checks for TensorDict."""
lazy from typing import Any
-from pandera._by_runtime import _soundness_check
@@ -21,8 +20,8 @@
if TORCH_AVAILABLE:
- @_soundness_check(register_builtin_check(
+ @register_builtin_check(
aliases=["gt"],
error="greater_than({min_value})",
- ), partial)
+ )
def greater_than(data: torch.Tensor, min_value: Any) -> torch.Tensor:
"""Ensure values are strictly greater than a minimum value.
@@ -33,8 +32,8 @@
return data > min_value
- @_soundness_check(register_builtin_check(
+ @register_builtin_check(
aliases=["ge"],
error="greater_than_or_equal_to({min_value})",
- ), partial)
+ )
def greater_than_or_equal_to(
data: torch.Tensor, min_value: Any
@@ -47,8 +46,8 @@
return data >= min_value
- @_soundness_check(register_builtin_check(
+ @register_builtin_check(
aliases=["lt"],
error="less_than({max_value})",
- ), partial)
+ )
def less_than(data: torch.Tensor, max_value: Any) -> torch.Tensor:
"""Ensure all values are strictly less than a maximum value.
@@ -59,8 +58,8 @@
... 650 characters elided ...
@@ -101,8 +100,8 @@
return (data > min_value) & (data < max_value)
- @_soundness_check(register_builtin_check(
+ @register_builtin_check(
aliases=["isin"],
error="isin({allowed_values})",
- ), partial)
+ )
def isin(data: torch.Tensor, allowed_values: Iterable) -> torch.Tensor:
"""Ensure all values are in a set of allowed values.pycryptodome — _by_sourcemap.py--- base/_by_sourcemap.py
+++ head/_by_sourcemap.py
@@ -423,5 +423,5 @@
"/tmp/tmp3u3ba6fa/pycryptodome/build/lib/Crypto/SelfTest/Random/test_random.py": {"by": "sha256:11a20824d4f1ae9b303629b26d716d5f6acfda24239a49ecf10c17dece54850d", "py": "sha256:7c4599d60804b7888aff84a05ee0b4aa93b16ac98529fceac2a3990494897b3a"},
"/tmp/tmp3u3ba6fa/pycryptodome/build/lib/Crypto/SelfTest/Signature/__init__.py": {"by": "sha256:43095f4173f93e9c98d8e8be9f642e9a35030cbff6fa445e5d7e1773f00d05f7", "py": "sha256:43095f4173f93e9c98d8e8be9f642e9a35030cbff6fa445e5d7e1773f00d05f7"},
- "/tmp/tmp3u3ba6fa/pycryptodome/build/lib/Crypto/SelfTest/Signature/test_dss.py": {"by": "sha256:07642f460f9e613957797c4957a02f260b3f7e690755e68cfd8bd92bdb21e0cd", "py": "sha256:ba1b048264b821ba2cdda79104658be96e1da008e70f6975ffdbbca7cc65188d"},
+ "/tmp/tmp3u3ba6fa/pycryptodome/build/lib/Crypto/SelfTest/Signature/test_dss.py": {"by": "sha256:07642f460f9e613957797c4957a02f260b3f7e690755e68cfd8bd92bdb21e0cd", "py": "sha256:d9344ba96c750303e98f833c7c811700db12ee05eafede5d0ad1c093daf0d168"},
"/tmp/tmp3u3ba6fa/pycryptodome/build/lib/Crypto/SelfTest/Signature/test_eddsa.py": {"by": "sha256:b48e98ea0cf6dd574541e13828dbbd64d1e80e6479edc509553228916c2a844e", "py": "sha256:3b21b0b5cb6cf5c675e12923affcf477d97cffa6b9d5d517525ba57aafe705e1"},
"/tmp/tmp3u3ba6fa/pycryptodome/build/lib/Crypto/SelfTest/Signature/test_mldsa.py": {"by": "sha256:78e10c68d2ee0b721f90d1a0c01a62757fbd4d3a32de96e84859507fa0f118cb", "py": "sha256:c25b5b7f039ad66de2de72d54e4c961f4d51dbe4ee87d6535eca64fd274b8518"},pycryptodome — lib/Crypto/SelfTest/Signature/test_dss.py--- base/lib/Crypto/SelfTest/Signature/test_dss.py
+++ head/lib/Crypto/SelfTest/Signature/test_dss.py
@@ -647,7 +647,7 @@
TestKey = namedtuple("TestKey", "p q g x y")
new_keys = {}
- for k in self.keys:
- tk = TestKey(*[t2l(y) for y in k[:-1]])
- new_keys[k[-1]] = tk
+ for k in _soundness_iter(self.keys, (tuple, str)):
+ tk = TestKey(*[t2l(y) for y in _soundness_iter(_soundness_check(k[:-1], (tuple, str)), str)])
+ new_keys[_soundness_check(k[-1], str)] = tk
self.keys = new_keyspytest-autoprofile — lib/pytest_autoprofile/__init__.py(only produced on base)pytest-autoprofile — lib/pytest_autoprofile/_doctest.py(only produced on base)pytest-autoprofile — lib/pytest_autoprofile/_json.py(only produced on base)pytest-autoprofile — lib/pytest_autoprofile/_multiprocessing.py(only produced on base)pytest-autoprofile — lib/pytest_autoprofile/_patches.py(only produced on base)pytest-autoprofile — lib/pytest_autoprofile/_test_util_capture_warnings.py(only produced on base)pytest-autoprofile — lib/pytest_autoprofile/_test_utils.py(only produced on base)pytest-autoprofile — lib/pytest_autoprofile/_typing.py(only produced on base)pytest-autoprofile — lib/pytest_autoprofile/_warnings.py(only produced on base)pytest-autoprofile — lib/pytest_autoprofile/_xdoctest.py(only produced on base)pytest-autoprofile — lib/pytest_autoprofile/importers.py(only produced on base)pytest-autoprofile — lib/pytest_autoprofile/option_hooks.py(only produced on base)pytest-autoprofile — lib/pytest_autoprofile/plugin.py(only produced on base)pytest-autoprofile — lib/pytest_autoprofile/profiler.py(only produced on base)pytest-autoprofile — lib/pytest_autoprofile/rewriting.py(only produced on base)pytest-autoprofile — lib/pytest_autoprofile/setup.py(only produced on base)pytest-autoprofile — lib/pytest_autoprofile/startup_hook.py(only produced on base)pytest-autoprofile — lib/pytest_autoprofile/utils.py(only produced on base)scipy — _by_sourcemap.py--- base/_by_sourcemap.py
+++ head/_by_sourcemap.py
@@ -1758,5 +1758,5 @@
"/tmp/tmp3u3ba6fa/scipy/build/scipy/sparse/_compressed.py": {"by": "sha256:af59e67bb1203608c2a987a87ecfdf3f298a213feea6d8fd817c94552c0214af", "py": "sha256:c638f6172fd5b0cd695025f48299896616057a04ef4da5104057043c3e253422"},
"/tmp/tmp3u3ba6fa/scipy/build/scipy/sparse/_construct.py": {"by": "sha256:b0f28df198b1d809eb849d2d73854d09479e963ae0bc81b748bd9bf21386e0ee", "py": "sha256:cb0170590487d6970ae2df7302d0efba22bb82504df8fecff4ae0798f84d7d83"},
- "/tmp/tmp3u3ba6fa/scipy/build/scipy/sparse/_coo.py": {"by": "sha256:20e7eb8e1caa149de2bec9fa997b3933a35eeadba90537136d994b85c05cc31b", "py": "sha256:842563863607a05844cc57d5dfa912e9ea301dd9a9c60dae5c08908bd2dc1aba"},
+ "/tmp/tmp3u3ba6fa/scipy/build/scipy/sparse/_coo.py": {"by": "sha256:20e7eb8e1caa149de2bec9fa997b3933a35eeadba90537136d994b85c05cc31b", "py": "sha256:fe04c737afcb3f61869c7b11a3e5d216007769d548e937a45d8a970449a41f4f"},
"/tmp/tmp3u3ba6fa/scipy/build/scipy/sparse/_csc.py": {"by": "sha256:dc021f60f11769cf4b6017f2baf4b4bc52c42cc51a8bcdd4e35826c981b07e37", "py": "sha256:d12c45eb74da3119a9f6aa8cbae0d42422d09e456cb24ef21671a3eaaa90221a"},
"/tmp/tmp3u3ba6fa/scipy/build/scipy/sparse/_csr.py": {"by": "sha256:ff9a69f98a8d6262348251c4e927f372aaec191d1c4cdd2d4c5ad85686b13a73", "py": "sha256:e7359679bc4a800bcc9349d894b9301e8d9917b3110b2829c04d6aca5259959f"},scipy — scipy/sparse/_coo.py--- base/scipy/sparse/_coo.py
+++ head/scipy/sparse/_coo.py
@@ -652,7 +652,7 @@
# and will mistakenly align with x_coord columns if not removed.
if none_pos:
- new_shape = list(new_shape)
+ new_shape = list[int](new_shape)
for j in none_pos[::-1]:
- new_shape.pop(j)
+ _soundness_check(new_shape.pop(j), int)
new_shape = tuple(new_shape)
@@ -697,5 +697,5 @@
# Get arr_shape if any arrays are in the index.
# Also ravel the corresponding x_coords.
- for idx in index:
+ for idx in _soundness_iter(index, slice):
if not isinstance(idx, slice) and not isintlike(idx):
arr_shape = idx.shape
@@ -734,5 +734,5 @@
continue
elif isinstance(idx, slice):
- start, stop, step = idx.indices(self.shape[i])
+ start, stop, step = _soundness_check(idx.indices(self.shape[i]), tuple)
new_coords[i] = (start + x_coords[_soundness_check(x_axes[i], int)] * step)
else: # array idx💥 fails to round-trip (unchanged from base)
⏭️ skipped
|
…colon is typed, over textDocument/onTypeFormatting, and complete the statement at a position over by/completeStatement
…s in by/syntaxOutline, and offer putting a list's elements on separate lines or on one line as the refactor.rewrite.splitList and joinList code actions
…one of their suites and the clauses that can be removed, each with the ranges it rewrites and keeps and edits that dedent the kept suites line by line
…token modifier, report each string part's text runs in by/syntaxOutline, and answer by/transpile for a document the client has not opened
…ot, bound unused_name's search for clippy, and update the initialize and semantic token snapshots for the code actions and token modifier the combined branches add
…the forward one is, since its semantic model builds a database of its own and the request panicked with cannot change database mid-query
…rkspace instead of one per declaration, run the counts one at a time on a search lane of their own so they never fill the workers other requests wait on, stop a running request and its parallel work when the client cancels it, and read the vendored root only when a stub is mapped, since every file a search visits read it under the environment lock
KotlinIsland
force-pushed
the
bugs-features
branch
from
October 23, 2026 08:33
da188c8 to
18fa185
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.