- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 33.3k
Closed
Closed
Copy link
Labels
Description
The documentation of LoazyLoader.factory in the module importlib.util says:
classmethod factory(loader)
A static method which returns a callable that creates a lazy loader. This is meant to be used in situations where the loader is passed by class instead of by instance.
The problem is that there is a mixing of words classmethod and static method. And the documentation defines the static method as ... Static method objects are created by the built-in staticmethod() constructor.
The source code for the method is:
@classmethod
def factory(cls, loader):
    """Construct a callable which returns the eager loader made lazy."""
    cls.__check_eager_loader(loader)
    return lambda *args, **kwargs: cls(loader(*args, **kwargs))So, in my opition, "a static method" in the documentation should be corrected to "a class method".
I've created the PR in case the issue is right.
Linked PRs
- gh-101390: Fix docs for imporlib.util.LazyLoader.factoryto properly call it a class method #101391
- [3.11] gh-101390: Fix docs for imporlib.util.LazyLoader.factoryto properly call it a class method (GH-101391) #101813
- [3.10] gh-101390: Fix docs for imporlib.util.LazyLoader.factoryto properly call it a class method (GH-101391) #101814