Skip to content

Commit 0d8ee4a

Browse files
dependabot[bot]Copilotevroon
authored
Bump pyrefly from 0.58.0 to 0.60.0 in /backend (#1647)
Bumps [pyrefly](https://github.com/facebook/pyrefly) from 0.58.0 to 0.60.0. <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.60.0</h2> <p><strong>Full Changelog</strong>: <a href="https://github.com/facebook/pyrefly/compare/0.59.1...0.60.0">https://github.com/facebook/pyrefly/compare/0.59.1...0.60.0</a></p> <h2>Pyrefly v0.59.1</h2> <p>Fixed a performance regression in 0.59.0.</p> <p><strong>Full Changelog</strong>: <a href="https://github.com/facebook/pyrefly/compare/0.59.0...0.59.1">https://github.com/facebook/pyrefly/compare/0.59.0...0.59.1</a></p> <h2>Pyrefly v0.59.0</h2> <p><strong>Status : Beta</strong><br /> <em><strong>Release date:</strong> March 30, 2026</em></p> <p>Pyrefly v0.59.0 bundles <strong>153 commits</strong> from <strong>20 contributors</strong>.</p> <hr /> <h2>✨ New &amp; Improved</h2> <table> <thead> <tr> <th align="left">Area</th> <th align="left">What’s new</th> </tr> </thead> <tbody> <tr> <td align="left"><strong>Type Checking</strong></td> <td align="left">- You can now use <code>while...else</code> statements with returns in the <code>else</code> clause without triggering a false positive <code>missing-explicit-return</code> error. <!-- raw HTML omitted --><!-- raw HTML omitted -->- Pyrefly now correctly handles type inference for nested empty dictionaries when constructing TypedDict instances, avoiding <code>implicit-any</code> errors. <!-- raw HTML omitted --><!-- raw HTML omitted -->- Error messages now highlight related code with inline labels; for example, an unsupported * operation will show the types of both operands directly in the source snippet</td> </tr> <tr> <td align="left"><strong>Language Server</strong></td> <td align="left">- LSP hover information for classes now displays constructor signature and docstring. <!-- raw HTML omitted --><!-- raw HTML omitted -->- Support additional LSP functionality for notebooks, including find-references and rename.</td> </tr> <tr> <td align="left"><strong>Performance</strong></td> <td align="left">- Faster typechecking in large pythonc codebases, up to 2x faster on recent benchmarks on real world projects <!-- raw HTML omitted --><!-- raw HTML omitted -->- Reduced CPU usage through smarter caching of module resolution results <!-- raw HTML omitted --><!-- raw HTML omitted -->- Improved performance of the LSP server by reducing redundant workspace diagnostic publishes.</td> </tr> </tbody> </table> <hr /> <h2>🐛 bug fixes</h2> <p>We closed 16 bug issues this release 👏</p> <ul> <li><a href="https://redirect.github.com/facebook/pyrefly/issues/2026">#2026</a>: Fixed an issue where recursive bounded generics were incorrectly reported as <code>object</code>, ensuring accurate type checking.</li> <li><a href="https://redirect.github.com/facebook/pyrefly/issues/2812">#2812</a>: Resolved a false positive <code>invalid-type-var</code> error when persisting the <code>get</code> method of a fully-annotated <code>dict</code>.</li> <li><a href="https://redirect.github.com/facebook/pyrefly/issues/2804">#2804</a>: Fixed an <code>implicit-any</code> false positive that occurred with TypedDict items, improving code readability.</li> <li><a href="https://redirect.github.com/facebook/pyrefly/issues/2868">#2868</a>: Pyrefly now correctly recognizes <code>while...else</code> statements with returns in the <code>else</code> clause as exhaustive.</li> <li><a href="https://redirect.github.com/facebook/pyrefly/issues/2814">#2814</a>: Enhanced hover information for <code>datetime.datetime</code> imports to display constructor signatures and docstrings.</li> <li><a href="https://redirect.github.com/facebook/pyrefly/issues/2896">#2896</a>: Fixed a <code>bad-argument-type</code> error that occurred when using double-underscore arguments.</li> <li><a href="https://redirect.github.com/facebook/pyrefly/issues/2893">#2893</a>: Pyrefly now correctly handles dict Literal key types as subtypes of str key types.</li> <li><a href="https://redirect.github.com/facebook/pyrefly/issues/2865">#2865</a>: Resolved an issue where tuple subclasses with overridden <code>__getitem__</code> were not recognized.</li> <li><a href="https://redirect.github.com/facebook/pyrefly/issues/2871">#2871</a>: Fixed a false positive error when using <code>isinstance</code> with <code>type | X</code>.</li> <li>And more! <a href="https://redirect.github.com/facebook/pyrefly/issues/2444">#2444</a>, <a href="https://redirect.github.com/facebook/pyrefly/issues/1270">#1270</a>, <a href="https://redirect.github.com/facebook/pyrefly/issues/2900">#2900</a>, <a href="https://redirect.github.com/facebook/pyrefly/issues/2862">#2862</a>, <a href="https://redirect.github.com/facebook/pyrefly/issues/2853">#2853</a></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="shell"><code>pip install --upgrade pyrefly==0.59.0 </code></pre> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/facebook/pyrefly/commit/c2b1fc9469bc81e0399dd00a3217cdc37e7f097e"><code>c2b1fc9</code></a> Update pyrefly version</li> <li><a href="https://github.com/facebook/pyrefly/commit/06213fddd6816f6d2777fc3916b7a5ba820b42b1"><code>06213fd</code></a> fix(typing): resolve invalid Self to Any during annotation solving to prevent...</li> <li><a href="https://github.com/facebook/pyrefly/commit/db31b9ba645e5492f04f6638f2f808ddf2195251"><code>db31b9b</code></a> Exclude private module symbols &amp; attributes</li> <li><a href="https://github.com/facebook/pyrefly/commit/5c15b256e7332114374124ef32e54a5c47d5a1ef"><code>5c15b25</code></a> deduplicate helpers into extract_shared.rs</li> <li><a href="https://github.com/facebook/pyrefly/commit/d83fad270dcc0e9c526e2458215a056a1635c610"><code>d83fad2</code></a> exclude overload implementation signature from report</li> <li><a href="https://github.com/facebook/pyrefly/commit/7ca03ead46fd074ec80a7fb7eecd4a407d8f485e"><code>7ca03ea</code></a> refactor specials.rs to reduce duplication</li> <li><a href="https://github.com/facebook/pyrefly/commit/d02a78b5003eb54aa15b50e86fa5a6d0b31c56b7"><code>d02a78b</code></a> tweak error message for consistency</li> <li><a href="https://github.com/facebook/pyrefly/commit/e5a11e342f89714504e3ea5598cf7facf5079dca"><code>e5a11e3</code></a> Fix false positive missing attribute for from X import * re-exports in stub f...</li> <li><a href="https://github.com/facebook/pyrefly/commit/836e647e0e0dca86115a0e8e6b7a02f0b29d76f1"><code>836e647</code></a> Bump pulldown-cmark 0.13.1 -&gt; 0.13.3</li> <li><a href="https://github.com/facebook/pyrefly/commit/a5bcb2279a810a04dbd4a45794643bd30482d593"><code>a5bcb22</code></a> Improve ParamSpec/Concatenate representation (<a href="https://redirect.github.com/facebook/pyrefly/issues/2981">#2981</a>)</li> <li>Additional commits viewable in <a href="https://github.com/facebook/pyrefly/compare/0.58.0...0.60.0">compare view</a></li> </ul> </details> <br /> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: evroon <11857441+evroon@users.noreply.github.com>
1 parent 5ee9fcb commit 0d8ee4a

3 files changed

Lines changed: 21 additions & 18 deletions

File tree

backend/bracket/utils/starlette.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,13 @@ def _get_route_for_request(request: Request) -> Route | None:
1313
if route is not None:
1414
return route
1515

16-
for route in request.app.routes:
17-
match, _ = route.matches(request.scope)
16+
for r in request.app.routes:
17+
if not isinstance(r, Route):
18+
continue
19+
match, _ = r.matches(request.scope)
1820
if match is Match.FULL:
19-
request.state.__route_cached__ = route
20-
return route
21+
request.state.__route_cached__ = r
22+
return r
2123

2224
return None
2325

backend/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ dev = [
5555
"mypy==1.20.0",
5656
"pluggy==1.6.0",
5757
"pylint==4.0.2",
58-
"pyrefly==0.58.0",
58+
"pyrefly==0.60.0",
5959
"pytest-asyncio==1.3.0",
6060
"pytest-cov==7.1.0",
6161
"pytest-xdist==3.8.0",

backend/uv.lock

Lines changed: 14 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)