This is a multi-part message in MIME format. --------------8F8110B6CFB57E279F385677 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi everybody, while I'm still thinking about writing the import manager, here is a patch that implements the walk-up-the-hierarchy import scheme that got so much positive feedback. I'm intending to use this implementation as proof of concept for the switch to my new package structure, but wouldn't mind seeing something like it the distribution as well ;-) It changes the default import mechanism to work like this: >>> import d try a.b.c.d try a.b.d try a.d try d fail instead of just doing the current two-level lookup: >>> import d try a.b.c.d try d fail As a result, relative imports referring to higher level packages work out of the box without any ugly underscores in the import name. Plus the whole scheme is pretty simple to explain and straightforward. Since the patch is so small, I attached it to this mail. Hope you don't mind. The ZIP archive also contains a sample package which demonstrates the feature. Run Python with -v flag to see how the new scheme works. Feedback is most welcome. I am especially interested whether the scheme breaks any existing packages. -- Marc-Andre Lemburg ______________________________________________________________________ Y2000: 81 days left Business: http://www.lemburg.com/ Python Pages: http://www.lemburg.com/python/ --------------8F8110B6CFB57E279F385677 Content-Type: application/x-zip-compressed; name="walkingimport.zip" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="walkingimport.zip" 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 AFBLBQYAAAAABQAFAGYBAADxCAAAAAA= --------------8F8110B6CFB57E279F385677--
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4