PEP Idea: Extended import syntax for aliasing module attributes
Omar Ahmed via Python-list <[email protected]>
| Newsgroups | gmane.comp.python.general |
|---|---|
| Message-ID | <[email protected]> |
Hi all,
I would like to propose a potential addition to Python's `import` syntax that would improve clarity and ergonomics for cases where developers want both full module access *and* a local alias to a specific attribute within that module.
Currently, to get both behaviors, we typically write:
import module
optimize = module.optimize
This works fine, but it is slightly verbose and less explicit in intent.
I would like to explore syntax like:
import module with module.optimize as optimize
or possibly:
import module with (
module.optimize as optimize,
module.validate as check
)
The goal is to import the full module as usual, while simultaneously assigning a local name to a chosen sub-attribute all in a single declaration.
This strikes a balance between:
*Readability* (makes intensions clearer)
*Convenience* (avoids repetitive alias assignments)
*Maintainability* (discourages `from module import *`)
I am curious to hear whether this type of syntax has been considered before, or if it might be worth formalizing into a PEP. I would be happy to help develop a draft proposal if there is interest.
Thank you for reading.
-Omar