<ul><li>00:00 The Modules chapter</li><li>00:30 Goals of having modules</li><li>04:00 Before modules (a function in a single-file program)</li><li>04:34 Creating modules: Separating the above program in to module and executable. (import, from)</li><li>05:40 How does Python find the module to be loaded?</li><li>07:56 Importing and aliasing module name (as)</li><li>11:25 path to load modules from - the module search path</li><li>12:30 sys.path the module search path</li><li>13:45 Flat project directory structure</li><li>14:39 Relative paths (Why is the directory called 'bin'?</li><li>16:30 Absolute path and why it is not a good practice</li><li>18:45 Back to the relative path and explaining how it works (os.path.join, os.path.abspath, os.path.dirname, __file__)</li><li>24:13 Mentioning modules in directory hierarchy (submodules) but not showing them. Since then, there is already a slide with that example.</li><li>24:46 Python modules are compiles .pyc files, __pycache__ directory.</li><li>28:30 Caching</li><li>30:40 How "import" and "from" work?</li><li>31:20 Runtime loading of modules</li><li>33:30 When you import a module, will Python find it eventually?</li><li>35:13 Conditional loading of modules</li><li>37:18 Duplicate importing of functions (pylint)</li><li>40:50 Script or library (script or module) (__name__, __main__)</li><li>47:00 Import the same module multiple times</li><li>48:14 Exercises: Convert the earlier solutions to be modules and programs.</li></ul>