Python 3: If we have imported urllib and/or urllib3, do we need to also import requests lib independently? : In a course I'm taking, we have the following code:
[![enter image description here][1]][1]
You can see we are importing the `requests` library, but at the same time it is inside `urllib3` as a module/package. 

Doing some research I've found that Python comes with the `urllib` package, that comes with the `request` module. On the other hand, `requests` is a module inside `urllib3`, but it is a library on its own.

`urllib` and `urllib2` are standard Python librares, but `urllib3` is a completely separated library with a confusing name. A portion of it has been included in the standard library and `requests` depends on it, but it is not a newer version of `urllib`/`urllib2`; the library that actually wants to improve is `httplib` (ref: [Github](https://github.com/urllib3/urllib3/issues/1065)). <blockquote>"Under the hood, *requests* uses *urllib3* to do most of the http heavy lifting. When used properly, it should be mostly the same unless you need more advanced configuration" </blockquote> (ref: [Stackexchange](https://stackoverflow.com/questions/36937110/what-is-the-practical-difference-between-these-two-ways-of-making-web-connection)):

I got to these conclussions but I'm still confused. If I import `urllib`, do I still need to import `requests`? What if I import `urllib3`?  

Also, should it be imported separatedly, as in the depicted code, or should I import it `from` one of the mentioned libraries?
  [1]: https://i.stack.imgur.com/gspd3.png