Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
169 commits
Select commit Hold shift + click to select a range
1c691ea
Lazy imports grammar / AST changes
DinoV Sep 16, 2025
3b0d745
Add __lazy_import__, check sys.modules before import
DinoV Sep 18, 2025
9eef03c
Export lazy_import in imp module
DinoV Sep 18, 2025
de281fd
Add lazy import filter
DinoV Sep 19, 2025
41ab092
Add compatiblity mode
DinoV Sep 22, 2025
058bc6e
Flow import func through to lazy imports object and __lazy_import__
DinoV Sep 22, 2025
6d7c87a
Reify lazy objects when accessed via the module object
DinoV Sep 22, 2025
f992ee7
Import lazy.get
DinoV Sep 22, 2025
6a91132
Implement better error
pablogsal Sep 22, 2025
03a419a
Fix reference and global dict in spezializing LOAD_GLOBAL
pablogsal Sep 23, 2025
e0878be
Remove copyright
pablogsal Sep 23, 2025
f9880bf
More fixes
pablogsal Sep 23, 2025
f3f5795
Fix recursive lazy imports and error path in bytecodes.c
pablogsal Sep 23, 2025
44a3e46
fix offset in addr2line
pablogsal Sep 23, 2025
73de8d0
Add global flag
pablogsal Sep 25, 2025
07a633f
Draft: force * imports to be eager
pablogsal Sep 25, 2025
20b14d9
Syntax restrictions for lazy imports
pablogsal Sep 25, 2025
164423b
Fix submodules crash
pablogsal Sep 26, 2025
00e7800
Implement disabling imports in try/except and * imports, report error…
DinoV Sep 29, 2025
781eedb
Add PyExc_ImportCycleError and raise it when a cycle is detected
DinoV Sep 29, 2025
9be59ec
Publish lazy imported packages on parent
DinoV Sep 29, 2025
b179da2
Re-enable eagerly returning imported module
DinoV Sep 29, 2025
9078f57
Fix __lazy_modules__
pablogsal Oct 1, 2025
f67310c
Add sys.set_lazy_imports_filter
pablogsal Oct 1, 2025
39c33df
Simplify grammar
pablogsal Oct 2, 2025
c8c8838
Move __lazy_imports__ check into the interpreter
DinoV Oct 2, 2025
7c49405
Don't allow __lazy_imports__ to work in try/except
DinoV Oct 2, 2025
5d6026a
Make imports in with blocks syntax errors
pablogsal Oct 2, 2025
c0c0d80
Highlight lazy imports in the new REPL
johnslavik Oct 3, 2025
5ff0dd2
Merge pull request #2 from bswck/lazy-import-pyrepl-highlight
pablogsal Oct 3, 2025
214b254
Fix global membership in LOAD_NAME
pablogsal Oct 7, 2025
e5e9592
C was a mistake
pablogsal Oct 7, 2025
aa85f9d
dir() doesn't reify module
DinoV Oct 7, 2025
2799a4d
Merge pull request #7 from LazyImportsCabal/lazy_dir
pablogsal Oct 7, 2025
7d07ae1
Add test case for external usage
DinoV Oct 7, 2025
c63198c
Move eager check for from imports into import from
DinoV Oct 2, 2025
46b3b75
Merge pull request #8 from LazyImportsCabal/lazy_test
DinoV Oct 8, 2025
c5efb20
Expose LazyImportType in types module
DinoV Oct 8, 2025
0c246bc
__import__ is loaded at reification time
DinoV Oct 8, 2025
d9ad012
Fix leaks and LOAD_ATTR specialization
DinoV Oct 8, 2025
fe526b4
Merge pull request #9 from LazyImportsCabal/cleanup
pablogsal Oct 8, 2025
06b9110
Update sys module to conform with the PEP, add matching C API
DinoV Oct 9, 2025
ee77665
Merge pull request #10 from LazyImportsCabal/sys_c_api
DinoV Oct 9, 2025
a3ddde4
Fix specialization of load global
DinoV Oct 20, 2025
cdec6a6
Merge pull request #12 from DinoV/lazy_mt
pablogsal Oct 20, 2025
c3b4807
Fix bug in specialization and make reification atomic
pablogsal Oct 21, 2025
2e19765
Fix another race
pablogsal Oct 21, 2025
2af21a1
Merge pull request #14 from LazyImportsCabal/fix
DinoV Oct 22, 2025
34ea0a5
Make __dict__ not reify to match the PEP
DinoV Oct 23, 2025
5166d39
Allow try/except in with block
DinoV Oct 23, 2025
a0a9184
Merge pull request #16 from LazyImportsCabal/lazy_globals
pablogsal Oct 24, 2025
1f6518d
Grab builtins dict from module
DinoV Oct 25, 2025
90246cc
Merge pull request #17 from DinoV/lazy_builtins
DinoV Oct 25, 2025
824ac88
Fix eager imports in try/except in global mode
pablogsal Oct 25, 2025
c075f5b
Merge pull request #18 from LazyImportsCabal/bad_global
DinoV Oct 25, 2025
59110fc
Don't reify on REPL completion
pablogsal Oct 25, 2025
aeda7ac
Add tests for __lazy_import__
DinoV Oct 27, 2025
8d57aca
Merge remote-tracking branch 'origin/main' into HEAD
DinoV Nov 3, 2025
d8f95f7
Merge pull request #21 from LazyImportsCabal/lazy_rebase
DinoV Nov 5, 2025
b743eb0
Merge pull request #19 from DinoV/lazy_tests_dunder
pablogsal Nov 9, 2025
e6cb131
Implement more of PEP 810
pablogsal Dec 6, 2025
0409481
Add more tests
pablogsal Dec 6, 2025
617e9d1
Add more tests
pablogsal Dec 6, 2025
db151a5
Merge remote-tracking branch 'upstream/main' into lazy
pablogsal Dec 6, 2025
ea120fc
Regen stuff
pablogsal Dec 6, 2025
973a4fa
Ah yes....windows
pablogsal Dec 6, 2025
266fd4d
More windows stuff and news
pablogsal Dec 6, 2025
441602a
Updated versions
pablogsal Dec 6, 2025
e6633ff
Update Doc/whatsnew/3.15.rst
pablogsal Dec 6, 2025
2f642c8
Add support in IDLE colorizer
StanFromIreland Dec 6, 2025
ab07b14
Merge pull request #22 from StanFromIreland/lazy-idle
pablogsal Dec 6, 2025
76846fe
Address feedback
pablogsal Dec 6, 2025
0b36549
Fix tests
pablogsal Dec 6, 2025
971d395
Update Doc/whatsnew/3.15.rst
pablogsal Dec 6, 2025
0c019fd
Ruff fixes
pablogsal Dec 6, 2025
8e1b20a
JIT fixes
pablogsal Dec 6, 2025
70e5ce7
More jit fixes
pablogsal Dec 6, 2025
a39cd25
Fix smelly
pablogsal Dec 6, 2025
f70d4df
Fix smelly
pablogsal Dec 6, 2025
510c200
Fix repl not coloring 'lazy' after 'from'
StanFromIreland Dec 6, 2025
d58b0cf
Doc fixes
pablogsal Dec 6, 2025
8e4f292
brrrrrrrrrrrrrrrrrrrrrr
pablogsal Dec 6, 2025
4cd4322
Merge pull request #24 from StanFromIreland/lazy-color
pablogsal Dec 6, 2025
2d3681e
PeRfoRManCe
pablogsal Dec 6, 2025
4cc6905
PeRfoRManCe
pablogsal Dec 6, 2025
4f675fd
Amend return types for `PyImport_SetLazy*` functions
picnixz Dec 6, 2025
4c3477b
moar fixes much refleaks wow
pablogsal Dec 6, 2025
2f7d223
Merge pull request #25 from picnixz/patch-1
pablogsal Dec 6, 2025
0985e2a
Doc updates
pablogsal Dec 6, 2025
610af78
Address feedback
pablogsal Dec 6, 2025
917b92e
More doc fixes
pablogsal Dec 6, 2025
e777866
Make error for invalid `lazy from __future__ ...` import prettier
StanFromIreland Dec 6, 2025
952ac21
Regen limited ABI
pablogsal Dec 6, 2025
33dc19e
Merge branch 'lazy' into lazy-future-error
StanFromIreland Dec 6, 2025
80133a5
Fix error paths and edge cases
pablogsal Dec 6, 2025
b0adc30
Free threading fixes
pablogsal Dec 6, 2025
470b9e4
TSAN fixes
pablogsal Dec 6, 2025
41761e5
Update magic number
pablogsal Dec 6, 2025
74b3efe
Merge pull request #26 from StanFromIreland/lazy-future-error
pablogsal Dec 6, 2025
006ca9c
Regen frozenmain
pablogsal Dec 6, 2025
b5121b0
Fix WASI failure
pablogsal Dec 6, 2025
093f08b
document return value for `PyImport_GetLazyImportsFilter`
picnixz Dec 7, 2025
2a514d9
fix error path in `_PyImport_LoadLazyImportTstate`
picnixz Dec 7, 2025
74f35c4
fix UAFs in `register_lazy_on_parent`
picnixz Dec 7, 2025
3014816
fix error path in `_PyImport_LazyImportModuleLevelObject`
picnixz Dec 7, 2025
f96a99c
fix error path in `_imp__set_lazy_attributes_impl`
picnixz Dec 7, 2025
c4ed3c4
Various UAFs & cosmetic fixes in `Python/{bltinmodule,bytecode,ceval}…
picnixz Dec 7, 2025
5000033
Fix missing `lazy`-related symbols for the JIT (#34)
picnixz Dec 7, 2025
a0a28c2
Merge branch 'main' into lazy
Yhg1s Dec 7, 2025
023f806
Fix and improve `Objects/lazyimportobject.c` (#31)
picnixz Dec 8, 2025
4b352dc
Fix doc merge snafu.
Yhg1s Dec 8, 2025
7a0ddfd
Fix examples in the `ast` module docs (run by doctest).
Yhg1s Dec 8, 2025
6fd8c59
Don't include the new C API functions
Yhg1s Dec 8, 2025
a05b50d
Add the new builtin types to the known-to-be-mutable-global lists in
Yhg1s Dec 8, 2025
ac80f2d
Fix some crashes
pablogsal Dec 8, 2025
2d4bdcc
Document ImportCycleError and PyExc_ImportCycleError.
Yhg1s Dec 8, 2025
cd1878c
Use `self.assertIn/assertNotIn` instead of `self.assertTrue/assertFal…
StanFromIreland Dec 8, 2025
31b7fe9
Fix more cases where lazy is not highlighted in repl (#36)
StanFromIreland Dec 8, 2025
edf9e75
Merge branch 'main' of github.com:python/cpython into lazy_head
DinoV Dec 10, 2025
4fd8fe8
Make sys.lazy_modules reflect the internal structure currently in use
DinoV Dec 3, 2025
5e4c90a
More thread safety fixes
DinoV Dec 10, 2025
ca0899c
_PyLazyImport_New improvements
DinoV Dec 10, 2025
07c1738
Add lazy import dis tests
DinoV Dec 10, 2025
11e5dca
Add C API tests
DinoV Dec 10, 2025
9c6757c
Make comment clearer
DinoV Dec 10, 2025
7ef7737
Fixup clinic issue
DinoV Dec 10, 2025
1cc816b
Merge branch 'main' of github.com:python/cpython into HEAD
DinoV Dec 11, 2025
b3060f6
Remove tsan fixes pending https://github.com/colesbury/cpython/tree/g…
DinoV Dec 11, 2025
909b69a
Standardize versionadded tags and minor updates to documentation
brittanyrey Dec 15, 2025
7995d56
Combine two very similar sentences together.
Yhg1s Dec 15, 2025
d95fd85
Address open comments
brittanyrey Dec 15, 2025
3a535de
Apply PEP-7 to `Python/import.c` (#29)
picnixz Dec 16, 2025
1572241
Reflow and reformat to stick to PEP 7's line length limit in most pla…
Yhg1s Dec 17, 2025
f2adb04
Merge branch 'main' into lazy
pablogsal Dec 17, 2025
9bcbe0a
Merge pull request #38 from Yhg1s/reflow-reformat
pablogsal Dec 17, 2025
9715124
Do not reify in tracebacks
pablogsal Dec 17, 2025
578dbfd
Merge branch 'main' into lazy
pablogsal Dec 17, 2025
002276a
Fix comment about `check_lazy_import_compatibility` (#39)
johnslavik Dec 17, 2025
9d6c8e8
Update Doc/library/sys.rst
pablogsal Dec 18, 2025
366ebd2
Regen generated files.
Yhg1s Dec 18, 2025
49712b7
Merge branch 'main' into lazy
Yhg1s Dec 18, 2025
c24d68f
Remove get_lazy_modules from docs
hugovk Dec 18, 2025
4d1129b
Get rid of a merge snafu.
Yhg1s Dec 18, 2025
931d1c1
Remove cruft from module object left over from reification of __dict__
DinoV Dec 18, 2025
d4196df
Fixup lazy import object, don't allow subclassing, improve doc, and v…
DinoV Dec 18, 2025
b437afb
Merge pull request #40 from hugovk/3.15-lazy-rm-get_lazy_modules
DinoV Dec 18, 2025
9fc7da2
Add test exercising that the appropriate error is raised when calling
brittanyrey Dec 19, 2025
29bd6c4
Merge branch 'main' into lazy
Yhg1s Jan 4, 2026
eaf8335
Fix test_sys after the removal of m_dict_version from the module obje…
Yhg1s Jan 5, 2026
b90e3ea
Address Abby's docs comment.
Yhg1s Jan 5, 2026
8639e50
Remove `types.LazyImportType` from pure variant of `types` (#48)
johnslavik Jan 5, 2026
37e8863
Merge branch 'main' into lazy
Yhg1s Jan 5, 2026
b628adf
Merge branch 'main' of github.com:python/cpython into lazy_review_upd…
DinoV Jan 15, 2026
1f67a54
Fix ups from code reviews
DinoV Jan 16, 2026
2abd718
Use dictionary watchers to update version number on writes to dictionary
DinoV Jan 26, 2026
72a7111
Small fixups
DinoV Jan 27, 2026
b960d3a
Merge pull request #49 from DinoV/lazy_review_updates
DinoV Jan 27, 2026
9dc236e
Flow _PyInterpreterFrame into _PyLazyImport_New
DinoV Jan 27, 2026
05c1f85
Fix test/test_types
DinoV Jan 27, 2026
4ce061e
Add include for jit stencils
DinoV Jan 28, 2026
99dae60
Merge branch 'main' of github.com:python/cpython into lazy_review_upd…
DinoV Jan 27, 2026
8fd3f20
Fix free threaded build
DinoV Jan 28, 2026
aa2f4de
Merge pull request #50 from DinoV/lazy_review_updates2
DinoV Jan 28, 2026
fad3ae2
Merge branch 'main' into lazy
brittanyrey Jan 28, 2026
0c9b6a2
Fix bad merge
DinoV Jan 28, 2026
80b3925
Merge pull request #51 from DinoV/fix_merge
DinoV Jan 28, 2026
a6328d7
Merge branch 'main' of github.com:python/cpython into HEAD
DinoV Feb 11, 2026
bf5adba
Merge pull request #52 from DinoV/lazy_merge
Yhg1s Feb 11, 2026
3d443ee
Merge branch 'main' into lazy
Yhg1s Feb 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Regen generated files.
  • Loading branch information
Yhg1s committed Dec 18, 2025
commit 366ebd27f912084dceb1a78efb292084072e4bb8
12 changes: 8 additions & 4 deletions Python/executor_cases.c.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 8 additions & 4 deletions Python/generated_cases.c.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading