Download lib/python3.9/site-packages/IPython/utils/module_paths.py from camenduru/slahmr-test: direct link, hf CLI and curl.
- Browser
- Download file 2.33 kB
-
https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/site-packages/IPython/utils/module_paths.py
- Command line
-
hf download hf://camenduru/slahmr-test/lib/python3.9/site-packages/IPython/utils/module_paths.py
-
curl -L -o module_paths.py https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/site-packages/IPython/utils/module_paths.py
2.33 kB
| """Utility functions for finding modules | |
| Utility functions for finding modules on sys.path. | |
| """ | |
| #----------------------------------------------------------------------------- | |
| # Copyright (c) 2011, the IPython Development Team. | |
| # | |
| # Distributed under the terms of the Modified BSD License. | |
| # | |
| # The full license is in the file COPYING.txt, distributed with this software. | |
| #----------------------------------------------------------------------------- | |
| #----------------------------------------------------------------------------- | |
| # Imports | |
| #----------------------------------------------------------------------------- | |
| # Stdlib imports | |
| import importlib | |
| import sys | |
| # Third-party imports | |
| # Our own imports | |
| #----------------------------------------------------------------------------- | |
| # Globals and constants | |
| #----------------------------------------------------------------------------- | |
| #----------------------------------------------------------------------------- | |
| # Local utilities | |
| #----------------------------------------------------------------------------- | |
| #----------------------------------------------------------------------------- | |
| # Classes and functions | |
| #----------------------------------------------------------------------------- | |
| def find_mod(module_name): | |
| """ | |
| Find module `module_name` on sys.path, and return the path to module `module_name`. | |
| - If `module_name` refers to a module directory, then return path to __init__ file. | |
| - If `module_name` is a directory without an __init__file, return None. | |
| - If module is missing or does not have a `.py` or `.pyw` extension, return None. | |
| - Note that we are not interested in running bytecode. | |
| - Otherwise, return the fill path of the module. | |
| Parameters | |
| ---------- | |
| module_name : str | |
| Returns | |
| ------- | |
| module_path : str | |
| Path to module `module_name`, its __init__.py, or None, | |
| depending on above conditions. | |
| """ | |
| spec = importlib.util.find_spec(module_name) | |
| module_path = spec.origin | |
| if module_path is None: | |
| if spec.loader in sys.meta_path: | |
| return spec.loader | |
| return None | |
| else: | |
| split_path = module_path.split(".") | |
| if split_path[-1] in ["py", "pyw"]: | |
| return module_path | |
| else: | |
| return None | |