Bump pyrefly from 0.62.0 to 0.63.1 in /backend (#1703)

Bumps [pyrefly](https://github.com/facebook/pyrefly) from 0.62.0 to
0.63.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/facebook/pyrefly/releases">pyrefly's
releases</a>.</em></p>
<blockquote>
<h2>Pyrefly v0.63.1</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/facebook/pyrefly/compare/0.63.0...0.63.1">https://github.com/facebook/pyrefly/compare/0.63.0...0.63.1</a></p>
<h2>Pyrefly v0.63.0</h2>
<p><strong>Status : BETA</strong>
<em>Release date: April 27, 2026</em></p>
<p>Pyrefly v0.63.0 bundles <strong>129 commits</strong> from <strong>26
contributors</strong>.</p>
<hr />
<h2> New &amp; Improved</h2>
<table>
<thead>
<tr>
<th>Area</th>
<th>What's new</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Type Checking</strong></td>
<td>- Enum member types are preserved even when the metaclass conflicts
with <code>EnumMeta</code>, reducing noise in projects using custom
metaclasses with enums. <!-- raw HTML omitted --><!-- raw HTML omitted
-->- Constrained <code>TypeVar</code>s no longer get pinned to a
specific constraint when matched against <code>Any</code>, preventing
false positives. <!-- raw HTML omitted --><!-- raw HTML omitted -->-
Self/cls annotations on all methods and classmethods are validated to
ensure they reference the defining class or a superclass, catching more
annotation errors.</td>
</tr>
<tr>
<td><strong>Language Server</strong></td>
<td>- The LSP now reports <code>unused-ignore</code> diagnostics when
configured to do so, helping you clean up stale suppression comments.
<!-- raw HTML omitted --><!-- raw HTML omitted -->- Completions for
attribute override definitions are available in class bodies, surfacing
base-class members filtered by fuzzy match. <!-- raw HTML omitted
--><!-- raw HTML omitted -->- The LSP server no longer crashes on
Jupyter notebook cell URIs (<code>vscode-notebook-cell:</code>), with
full support for resolving notebook cell paths and position offsets.
<!-- raw HTML omitted --><!-- raw HTML omitted -->- Workspace symbol
search uses the correct location for re-exported symbols, preventing
panics on multi-byte UTF-8 characters. <!-- raw HTML omitted --><!-- raw
HTML omitted -->- Inlay hints are clickable for built-in types like
<code>tuple</code>, <code>dict</code>, and <code>str</code>, enabling
go-to-definition directly from hint overlays.</td>
</tr>
<tr>
<td><strong>Error Messages</strong></td>
<td>- A new <code>unnecessary-type-conversion</code> lint warns when
<code>str()</code>, <code>int()</code>, or <code>float()</code> is
called on an argument that is already of that exact type.</td>
</tr>
<tr>
<td><strong>Reporting &amp; Coverage</strong></td>
<td>- Public symbol filtering is available via <code>pyrefly report
--public-only</code>, using cross-module tracing to report only public
symbols.</td>
</tr>
<tr>
<td><strong>Performance</strong></td>
<td>- TypedDict subset checks are now cached on the Solver, reducing CPU
time by ~5.3x and wall time by ~6.7x on pydantic (from 9.5s to
1.4s).</td>
</tr>
<tr>
<td><strong>Configuration &amp; Initialization</strong></td>
<td>- <code>pyrefly init</code> supports <code>--dry-run</code> for safe
previews without writing files, and <code>--print-config</code> for
machine-readable TOML output.</td>
</tr>
</tbody>
</table>
<hr />
<h2>🐛 bug fixes</h2>
<p>We closed <strong>9</strong> bug issues this release 👏</p>
<ul>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3099">#3099</a>:
Fixed an issue where property setters and deleters inflated typable
counts in <code>pyrefly report</code> by incorrectly counting their
trivial <code>-&gt; None</code> return types.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3098">#3098</a>:
Fixed an issue where overloads in <code>pyrefly report</code> were not
deduplicated, causing parameters and callable signatures to be counted
multiple times and inflate coverage metrics.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3067">#3067</a>:
Fixed an issue where the type display path was dropping the unpack
marker (<code>*</code>) for direct <code>TypeVarTuple</code> arguments,
causing <code>Shape</code> to render bare instead of
<code>*Shape</code>.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3040">#3040</a>:
Fixed an issue where properties on metaclasses were not taking
precedence over properties on the class during class-level attribute
access, causing false <code>bad-assignment</code> and
<code>bad-return</code> errors.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3150">#3150</a>:
Fixed an issue where type aliases were inflating type coverage in
<code>pyrefly report</code> by being counted as typable entities.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3041">#3041</a>:
Fixed a panic during workspace/symbol requests on re-exported symbols
with multi-byte UTF-8 characters, caused by using the canonical module's
byte offset against the re-exporting file's buffer.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3109">#3109</a>:
Added a new <code>unnecessary-type-conversion</code> lint that warns
when <code>str()</code>, <code>int()</code>, or <code>float()</code> is
called on an argument that is already of that exact type, making the
conversion redundant.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3187">#3187</a>:
Fixed a panic in <code>pyrefly report</code> when
<code>@no_type_check</code> decorator was used, caused by a missing key
lookup for skipped parameter annotations.</li>
<li><a
href="https://redirect.github.com/facebook/pyrefly/issues/3090">#3090</a>:
Improved the unused-coroutine error message when an <code>await</code>
expression already has <code>await</code> but produces a coroutine due
to an incorrect return type annotation on the function definition.</li>
</ul>
<p>Thank-you to all our contributors who found these bugs and reported
them! Did you know this is one of the most helpful contributions you can
make to an open-source project? If you find any bugs in Pyrefly we want
to know about them! Please open a bug report issue <a
href="https://github.com/facebook/pyrefly/issues">here</a></p>
<hr />
<h2>📦 Upgrade</h2>
<pre lang="bash"><code>pip install --upgrade pyrefly==0.63.0
</code></pre>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e765bc651b"><code>e765bc6</code></a>
bump version</li>
<li><a
href="599bee3231"><code>599bee3</code></a>
better inlay hints docs</li>
<li><a
href="a4ff846acb"><code>a4ff846</code></a>
Add module uri to module tsp types (<a
href="https://redirect.github.com/facebook/pyrefly/issues/3250">#3250</a>)</li>
<li><a
href="625877be16"><code>625877b</code></a>
Implement multi-connection architecture (<a
href="https://redirect.github.com/facebook/pyrefly/issues/3218">#3218</a>)</li>
<li><a
href="252c52a3f8"><code>252c52a</code></a>
move process_event into own block</li>
<li><a
href="18bb101c90"><code>18bb101</code></a>
factor out snapshot_changed_notification</li>
<li><a
href="447f5f97e8"><code>447f5f9</code></a>
add set_experimental to server</li>
<li><a
href="84bdff6a15"><code>84bdff6</code></a>
Consolidate response helpers and extract parse_tsp_request</li>
<li><a
href="66b487bf83"><code>66b487b</code></a>
Rename TspServer to TspConnection</li>
<li><a
href="43ec5ac126"><code>43ec5ac</code></a>
Add IPC transport for TSP connections (<a
href="https://redirect.github.com/facebook/pyrefly/issues/3217">#3217</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/facebook/pyrefly/compare/0.62.0...0.63.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyrefly&package-manager=uv&previous-version=0.62.0&new-version=0.63.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
dependabot[bot]
2026-06-03 22:00:28 +00:00
committed by GitHub
parent 6b4fbb0fbe
commit 119d097795
2 changed files with 13 additions and 13 deletions

View File

@@ -55,7 +55,7 @@ dev = [
"mypy==1.20.0",
"pluggy==1.6.0",
"pylint==4.0.2",
"pyrefly==0.62.0",
"pyrefly==0.63.1",
"pytest-asyncio==1.3.0",
"pytest-cov==7.1.0",
"pytest-xdist==3.8.0",

24
backend/uv.lock generated
View File

@@ -408,7 +408,7 @@ dev = [
{ name = "mypy", specifier = "==1.20.0" },
{ name = "pluggy", specifier = "==1.6.0" },
{ name = "pylint", specifier = "==4.0.2" },
{ name = "pyrefly", specifier = "==0.62.0" },
{ name = "pyrefly", specifier = "==0.63.1" },
{ name = "pytest", specifier = "==9.0.3" },
{ name = "pytest-asyncio", specifier = "==1.3.0" },
{ name = "pytest-cov", specifier = "==7.1.0" },
@@ -1450,19 +1450,19 @@ wheels = [
[[package]]
name = "pyrefly"
version = "0.62.0"
version = "0.63.1"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/bb/ad/8874ed25781e7dd561c6d75fb4a7becf10a18d75b074f25b845cc334f781/pyrefly-0.62.0.tar.gz", hash = "sha256:da1fbe1075dc1e6c8e3134e9370b0a0e7a296061d782cca5bf83dbb8e4c10d7c", size = 5537672, upload-time = "2026-04-20T17:12:15.718Z" }
sdist = { url = "https://files.pythonhosted.org/packages/6c/66/c3e6c3963fe6bb40b0199745ce6cd5772253ec0a4edfe6db63a646f9d007/pyrefly-0.63.1.tar.gz", hash = "sha256:6819eb0857f5fcaef463ad58778e4121cb8c7c5a974a4739c8aa867e1ef16980", size = 5574619, upload-time = "2026-04-29T05:59:52.521Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/1b/ea/09bd9da7d5df294db800312fb415be2fefbaa5594178e9e49f44fa071aea/pyrefly-0.62.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:9d78ec4f126dee1fa76215b193b964490ce10e62a32d2787a72c51623658b803", size = 13020414, upload-time = "2026-04-20T17:11:43.617Z" },
{ url = "https://files.pythonhosted.org/packages/4b/f0/f84afac4f220c4c8c801b779ee2ff28ad3f7731f4283c2e1b6ee9012e8c2/pyrefly-0.62.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:2a41a34902d20756264486f9e309f22633d100261bd960feea6e858a098d985d", size = 12515659, upload-time = "2026-04-20T17:11:46.59Z" },
{ url = "https://files.pythonhosted.org/packages/40/0b/620c39cefa9ae1b25ee7a2da9d8d3c278b095649cb8435c5e01ea64f7c17/pyrefly-0.62.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4666c6b65aea662e5f77b64dc91c091b7ea5cede6aa66c0f4cbae26480403583", size = 36228332, upload-time = "2026-04-20T17:11:50.523Z" },
{ url = "https://files.pythonhosted.org/packages/2d/fb/47b8b76438c12761e509a3666cd5a99d4af7f21976ba8385feb475cbfe30/pyrefly-0.62.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1aefab798f47d37c13ded791192fee9b39a6d2b12e31f38ae06a1f80c4b26e22", size = 38995741, upload-time = "2026-04-20T17:11:54.702Z" },
{ url = "https://files.pythonhosted.org/packages/55/d2/03bd17673f61147cd5609cd7d6a1455eeccc17a07a7e141ed9931b0c42c0/pyrefly-0.62.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8fa986b50d56740da1d7ae7c660a505143cb9d286fa98cc7e5f4a759cc6eaa5d", size = 37205321, upload-time = "2026-04-20T17:11:58.9Z" },
{ url = "https://files.pythonhosted.org/packages/75/14/20ba7b7f2d182f9b7c1e24a3041dac9b5730ae28cfe1614a2c98706650f2/pyrefly-0.62.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32e9b175805c82ffb967e4708f4910bace7e1a12736907380cc9afdbaabb0efb", size = 41786834, upload-time = "2026-04-20T17:12:03.221Z" },
{ url = "https://files.pythonhosted.org/packages/fa/c8/5a7ba88c4fa1b5090d877f70fa1b742b921b9e7d8d3f4b6b9b1ba1820850/pyrefly-0.62.0-py3-none-win32.whl", hash = "sha256:1cd98edc20cab5bac8016c9220ee66080e39bd22e7f0e9bb3e2c4e2be1555eed", size = 12010170, upload-time = "2026-04-20T17:12:06.791Z" },
{ url = "https://files.pythonhosted.org/packages/2e/78/d8f810de010ff2ed594c630c724fd817ef430963249e9eb396ce8f785e9d/pyrefly-0.62.0-py3-none-win_amd64.whl", hash = "sha256:6994f8ee7d6720325ee52207fbdaca98a799a1efe462bb5ba90c47160f7f3e6e", size = 12861816, upload-time = "2026-04-20T17:12:09.689Z" },
{ url = "https://files.pythonhosted.org/packages/c7/a9/ac824ef6a3f50b7c0ec5974471f8f2cb205cd1edd53a5abbcf7ba37feb5d/pyrefly-0.62.0-py3-none-win_arm64.whl", hash = "sha256:362a5d47a5ac5aaa5258091e878a1759ff8b687d8cf462af1c516144f7b0108a", size = 12352977, upload-time = "2026-04-20T17:12:12.736Z" },
{ url = "https://files.pythonhosted.org/packages/e5/7b/52a34bd3dde4c1b6cf8e8cf8bcbb0fa52b868df2ab07220e130c87877376/pyrefly-0.63.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:1bc37f4fe8c3e50f6718bcb1c6cae475e5e24197f6fe8042c3d6ca3d8f2e10da", size = 13102494, upload-time = "2026-04-29T05:59:27.558Z" },
{ url = "https://files.pythonhosted.org/packages/60/e0/2ac0c3e003ba6c855e4775536485c75b18e1aaf5e18e966a033751436416/pyrefly-0.63.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:712733b7c4344644eafa827de88a36e697a1aa282f913da89d3ad26e7dcc2dc2", size = 12597372, upload-time = "2026-04-29T05:59:30.434Z" },
{ url = "https://files.pythonhosted.org/packages/5f/07/1bb6354ccd7ccca2706fc00cfde952c2e18383a47f0cb5417347df836b7f/pyrefly-0.63.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6cbba7aedc266be0e6a69305e9caa53b3b4bab190bde046ce37a895af5c20a0", size = 36494119, upload-time = "2026-04-29T05:59:33.813Z" },
{ url = "https://files.pythonhosted.org/packages/cc/f5/9c243090872ad3c1f690c782df900468630ad139a0fb309a1185e6838dc7/pyrefly-0.63.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6a99c4acd7ff8418a15f39dd402d8f9bf7d640a8a2536f7a1b34ef7e1b1167c", size = 39262905, upload-time = "2026-04-29T05:59:36.609Z" },
{ url = "https://files.pythonhosted.org/packages/b1/ef/33918f3b5d04e34f8ad7a5d0de493c5d32a93b183b58c7e785571854b608/pyrefly-0.63.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b6490de58b1ec9fe99aa1fbaf0759079a916c0fb75d345439ba2a427aaebc1a", size = 37446668, upload-time = "2026-04-29T05:59:39.549Z" },
{ url = "https://files.pythonhosted.org/packages/15/d5/f0c9e6938c3f1231405ee77045b2b51c349d1a6aa84ba8717f4829f64bbc/pyrefly-0.63.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d53ec1f8711b24b1e992309b978b219daf2335201f26acafa86f14fbb81804ec", size = 42061281, upload-time = "2026-04-29T05:59:42.56Z" },
{ url = "https://files.pythonhosted.org/packages/9c/0c/ca7d4f2bc3c17dac9c3da9956d8baa5c4fe4c4e4996ead9b55273b0ee20a/pyrefly-0.63.1-py3-none-win32.whl", hash = "sha256:a9a45d3fc563f02cdca4681e899a775561bd71e923d6ac4a8979d93d7c2aff2a", size = 12086212, upload-time = "2026-04-29T05:59:45.021Z" },
{ url = "https://files.pythonhosted.org/packages/97/b5/1f6373e1fcefca3414baeed4209ecab2f4beb7849a2508517d73e78034ce/pyrefly-0.63.1-py3-none-win_amd64.whl", hash = "sha256:c6470a8eedae0e46d94667fd958cd008f9c2599aa3e6f2f43b6f4e6e87863cc3", size = 12934616, upload-time = "2026-04-29T05:59:48.146Z" },
{ url = "https://files.pythonhosted.org/packages/e9/ab/116efd46872f88cec697133d0430ce28affcc7247ebdff71429422a3a42b/pyrefly-0.63.1-py3-none-win_arm64.whl", hash = "sha256:b54b068a77341bc50604fb9bd4d0cf37fb74c09fb92344645c596813cc53950a", size = 12434930, upload-time = "2026-04-29T05:59:50.462Z" },
]
[[package]]