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 13 commits into
Conversation
Merging this PR will improve performance by 5.22%
Performance Changes
Tip Curious why performance improved? Comment Comparing Footnotes
|
Greptile SummaryThe PR adds Python 3.15 support and introduces native PEP 810 lazy imports while optimizing classic lazy attribute resolution.
Confidence Score: 5/5The PR appears safe to merge because no blocking failure remains in the eligible review scope. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| packages/reflex-base/src/reflex_base/utils/lazy_loader.py | Adds native PEP 810 bindings and package-level caching for resolved lazy attributes. |
| packages/reflex-base/src/reflex_base/utils/compat.py | Provides a public compatibility alias for the dataclass missing-value sentinel type. |
| packages/reflex-base/src/reflex_base/utils/types.py | Normalizes Python and typing-extensions NoExtraItems sentinels during TypedDict validation. |
| pyproject.toml | Selects pure-Python psycopg on Python 3.15 while retaining the binary extra on older versions. |
| uv.lock | Regenerates Python-version resolution partitions and psycopg markers for Python 3.15. |
| .github/workflows/unit_tests.yml | Extends Linux, Windows, and macOS unit-test matrices to Python 3.15. |
Reviews (12): 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