python / cpython

The Python programming language
https://www.python.org
Other
63.14k stars 30.23k forks source link

Add function `ispackage` to stdlib `inspect` #125633

Open Xiaokang2022 opened 5 days ago

Xiaokang2022 commented 5 days ago

Feature or enhancement

Proposal:

Currently, the built-in module inspect lacks a function to determine whether an object is a package or not. This is a small but useful feature.

According to the documentation, this feature should not be difficult to implement, and we should add it to the standard library:

  1. Definition of a package
  2. module.__package__
  3. module.__name__
  4. module.__spec__

I've tried to implement this feature and will make a PR later.

Has this already been discussed elsewhere?

This is a minor feature, which does not need previous discussion elsewhere

Links to previous discussion of this feature:

No response

Linked PRs

Xiaokang2022 commented 5 days ago

My idea for implementing this feature is:

flowchart LR
    1(obj)
    2{is module?}
    3{hasattr 
    __ path __?}
    4(pkg)

    1 --> 2 --Y--> 3 --Y--> 4