Reload user-defined modules during `reload()` (#2257)
* Experiment a lot with module loading * Extract methods out of experimental mess * Fix get module return type * Only reload() modules during reload() command * Remove unnecessary default parameter * Add docstrings and logging statements * Delete unwanted printout * Improve logging messages * Extract methods to a new class ModuleLoader * Remove unused builtins import * exec_module in any case at the end * Clarify docstrings & move get_module method up in file * Add more additionally excluded modules as array * Distinguish between user-defined modules and external libraries like numpy * Improved tracked_import docstring * Remove _insert_embed suffix before logging * Fix args.is_reload not defined error * Refine logic to determine whether module is user-defined or not * Fix list vs. set type annotations * Improve docstrings & change order of early return * Fix spelling mistake of "Reloading" * Try out custom deep reload * Make deep reload more robust * Also reload modules imported as classes * Move early return up to greatly improve performance * Clean up comments * Make methods of Module Loader "private" * Add backticks around function in docstring --------- Co-authored-by: Grant Sanderson <grant@3blue1brown.com>
S
Splines committed
6196daa5ec49546a8d973b6866991586f98d0d56
Parent: 94f6f0a
Committed by GitHub <noreply@github.com>
on 12/6/2024, 12:18:10 AM