gh-142349: Document LazyImportType.resolve() method - #156936
Conversation
Documentation build overview
|
This comment was marked as resolved.
This comment was marked as resolved.
johnslavik
left a comment
There was a problem hiding this comment.
Hmmm, https://docs.python.org/3.16/reference/simple_stmts.html#lazy doesn't know about types.LazyImportType. Additionally, none of the classes in types have method documentations.
Maybe the right place for this documentation is in https://docs.python.org/3.16/reference/simple_stmts.html#lazy?
|
And https://docs.python.org/3.16/library/types.html#types.LazyImportType doesn't know about https://docs.python.org/3.16/reference/simple_stmts.html#lazy. These guys should talk to each other. |
|
Actually, this belongs to built-in types. Generator (that isn't a builtin name) interface is documented there too. @Viicos can we move this to built-in types? |
|
I think documenting this in |
|
I indeed took I also know the stdlib page is huge and there are plans to split it, so not sure what should be done today. |
|
@encukou, what would you recommend? |
There was a problem hiding this comment.
IMO, eventually this should be in a new builtins section, but, that's not in place now :)
Any of the proposed locations fine; stick with the current version.
And https://docs.python.org/3.16/library/types.html#types.LazyImportType doesn't know about https://docs.python.org/3.16/reference/simple_stmts.html#lazy
The bigger issue is that reference/simple_stmts has a stub that refers to PEP 810 for the “full specification”, while PEP 810 points right back for the “canonical documentation”. The full spec should move to the docs. But that's not for this PR to solve.
I worked on this a while ago! |
|
|
||
| .. method:: resolve() | ||
|
|
||
| Resolve the lazy object by reifying the lazily imported module. |
There was a problem hiding this comment.
Looking at it again, this should mention the return value. Maybe like this:
| Resolve the lazy object by reifying the lazily imported module. | |
| Resolve the lazy import and return the "real" imported module. |
There was a problem hiding this comment.
It would perhaps also be nice to define reifying/resolving "fully" (with all the effects of reifying a lazy import, such as what it does to sys.lazy_modules), but I assume that the spec will do a better job at it.
There was a problem hiding this comment.
It would perhaps also be nice to define reifying/resolving "fully" (with all the effects of reifying a lazy import, such as what it does to
sys.lazy_modules), but I assume that the spec will do a better job at it.
Yeah most likely it makes more sense to wait for the full spec to be written out, and update this with a :ref: to what reifying means.
Resolve the lazy import and return the "real" imported module.
lazy proxy objects aren't necessarily proxying module objects, so maybe something like:
| Resolve the lazy object by reifying the lazily imported module. | |
| Reify the lazy import and return the "real" object being imported. |
resolve()is referenced several times in PEP 810, but not documented. I believe it would make sense to explicitly document it.See also #156924.