port lazy_loader perf and native PEP810 + add python3.15 support - #6930
port lazy_loader perf and native PEP810 + add python3.15 support#6930benedikt-bartscher wants to merge 15 commits into
Conversation
Merging this PR will improve performance by 4.57%
|
| Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|
| ⚡ | test_evaluate_page[_complicated_page] |
26.5 ms | 25.1 ms | +5.39% |
| ⚡ | test_evaluate_page_with_hooks[_complicated_page] |
26.7 ms | 25.4 ms | +5.32% |
| ⚡ | test_evaluate_page[_stateful_page] |
4.6 ms | 4.4 ms | +4.46% |
| ⚡ | test_evaluate_page_with_hooks[_stateful_page] |
4.8 ms | 4.6 ms | +4.17% |
| ⚡ | test_console_log |
382.7 µs | 369.7 µs | +3.53% |
Tip
Curious why performance improved? Comment @codspeedbot explain why performance improved on this PR, or directly use the CodSpeed MCP with your agent.
Comparing benedikt-bartscher:use-lazy-loader-branch (7764f16) with main (7711b20)
Footnotes
-
8 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
Greptile SummaryThis PR adds Python 3.15 support and adopts native PEP 810 lazy imports where available.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| packages/reflex-base/src/reflex_base/utils/lazy_loader.py | Adds cached lazy attributes and guarded native PEP 810 bindings; no eligible follow-up defect was established. |
| packages/reflex-base/src/reflex_base/utils/compat.py | Introduces a Python-version-compatible replacement for the removed private dataclasses sentinel type. |
| packages/reflex-base/src/reflex_base/utils/types.py | Normalizes PEP 728 NoExtraItems sentinels during runtime TypedDict validation. |
| pyproject.toml | Selects the pure-Python psycopg distribution on Python 3.15 while retaining binary extras on older versions. |
| uv.lock | Regenerates resolution markers and psycopg dependencies for Python 3.15. |
| .github/workflows/unit_tests.yml | Extends Linux, Windows, and macOS unit-test matrices to Python 3.15. |
| .github/workflows/integration_app_harness.yml | Extends Redis and in-memory integration matrices to Python 3.15. |
Reviews (14): Last reviewed commit: "Merge branch 'main' into use-lazy-loader..." | Re-trigger Greptile
There was a problem hiding this comment.
All reported issues were addressed across 17 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
scientific-python/lazy-loader#172
scientific-python/lazy-loader#173 (merged)