-
-
Notifications
You must be signed in to change notification settings - Fork 185
Change import statements to import only what's needed #468
Conversation
directory to import only what is needed. This fix issue python#464
1st1
commented
Nov 16, 2016
How about we do simple
import asyncio
at the top of each example? get_event_loop() should become asyncio.get_event_loop().
That's the style we recommend in Python documentation and use in asyncio code itself.
denisra
commented
Nov 16, 2016
That makes sense. Let me fix that.
the-knights-who-say-ni
commented
Nov 16, 2016
Hello, and thanks for your contribution!
Unfortunately we couldn't find an account corresponding to your GitHub username at bugs.python.org (b.p.o). If you don't already have an account at b.p.o, please create one and make sure to add your GitHub username. If you do already have an account at b.p.o then please go there and under "Your Details" add your GitHub username.
And in case you haven't already, please make sure to sign the PSF contributor agreement (CLA); we can't legally look at your contribution until you have signed the CLA.
Once you have done everything that's needed, please reply here and someone will verify everything is in order.
denisra
commented
Nov 16, 2016
@1st1 Please let me know if you need me to change anything else.
@the-knights-who-say-ni This is my first contribution. I've just created my account at bugs.python.org and added my Github username to it. Please let me know if I missed anything.
brettcannon
commented
Nov 16, 2016
Please ignore any label fiddling I do; you managed to find a bug with the @the-knights-who-say-ni bot.
@denisra do make sure to sign the CLA.
brettcannon
commented
Nov 16, 2016
OK, bot is fixed; sorry about that.
@brettcannon
brettcannon
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In terms of imports you need to be careful about side-effect access to submodule that just happen to be imported from asyncio itself, e.g. don't rely on test_utils existing on asyncio.
examples/cacheclt.py
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unless it's documented as such, there's no guarantee this will hold in the future. It would be better to import asyncio.test_utils explicitly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also import asyncio.test_utils.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
asyncio.test_utils
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder why we use test_utils anyways. It should be removed from examples.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@brettcannon Thanks for pointing that out. I made the changes as suggested. Please let me know if I need to change anything else.
denisra
commented
Nov 17, 2016
@brettcannon I can also confirm that I've signed the CLA.
1st1
commented
Nov 17, 2016
@denisra I wonder if we could remove import asyncio.test_utils completely. This is an internal module, and has nothing to do with examples (which historically were just experiments with asyncio, while asyncio was in active development).
denisra
commented
Nov 17, 2016
@1st1 is it ok if I create another issue and submit another PR for that, to keep things separated?
1st1
commented
Nov 17, 2016
@1st1 is it ok if I create another issue and submit another PR for that, to keep things separated?
OK, let's do that!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Imports should be sorted alphabetically (that's what we try to do in asyncio and CPython code bases).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@1st1 I wasn't aware of that, sorry. I was going by the PEP8 guidelines, where it tells us to import the standard library modules first. But I'll have that fix following your recommendations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@denisra Asyncio is technically a stdlib module. ;)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@SethMichaelLarson I can't say that it isn't :) will send send in another commit in just a few min with that fixed
Changed all the import statements in all modules in the examples directory to import only what is needed.
This fixes issue #464