Python modules manipulation utility functions.
Exception |
|
exception raised when we are not able to get a python source file for a precompiled file |
Function | check |
check there are some __init__.py all along the way |
Function | file |
Undocumented |
Function | file |
given a mod path (i.e. split module / package name), return the corresponding file, giving priority to source file over precompiled file if it exists |
Function | get |
given a package directory return a list of all available python module's files in the package and its subpackages |
Function | get |
given a dotted name return the module part of the name : |
Function | get |
given a python module's file name return the matching source file name (the filename will be returned identically if it's already an absolute path to a python source file...) |
Function | is |
Undocumented |
Function | is |
Returns True if one part of the module name is in the package whitelist |
Function | is |
Undocumented |
Function | is |
rtype: bool return: True if the filename is a python source file |
Function | is |
return true if the given module name is relative to the given file name |
Function | is |
try to guess if a module is a standard python module (by default, see std_path parameter's description) |
Function | load |
Load a Python module from it's path. |
Function | load |
Load a python module from its split name. |
Function | load |
Load a Python module from its name. |
Function | modpath |
Get the corresponding split module's name from a filename |
Function | modpath |
Undocumented |
Constant | BUILTIN |
dictionary with builtin module names has key |
Constant | EXT |
Undocumented |
Constant | IS |
Undocumented |
Variable | PY |
Undocumented |
Variable | PY |
list of possible python source file extension |
Variable | STD |
directories where standard modules are located |
Function | _cache |
Normalize path with caching. |
Function | _get |
Extracts the relative mod path of the file to import from |
Function | _handle |
remove files/directories in the black list |
Function | _has |
if the given directory has a valid __init__ file, return its path, else return None |
Function | _is |
return true if the given filename should be considered as a python file |
Function | _normalize |
Resolve symlinks in path and convert to absolute path. |
Function | _path |
Undocumented |
Function | _posix |
Undocumented |
Function | _spec |
given a mod path (i.e. split module / package name), return the corresponding spec |
Constant | _NORM |
Undocumented |
Variable | _root |
Undocumented |
given a mod path (i.e. split module / package name), return the corresponding file, giving priority to source file over precompiled file if it exists
Parameters | |
modpath:list or tuple | split module's name (i.e name of a module or package split on '.') (this means explicit relative imports that start with dots have empty strings in this list!) |
path:list or None | optional list of path where the module or package should be searched (use sys.path if nothing or None is given) |
context | context file to consider, necessary if the identifier has been introduced using a relative import unresolvable in the actual context (i.e. modutils) |
Returns | |
(str or None, import type) | the path to the module's file or None if it's an integrated builtin module such as 'sys' |
Raises | |
ImportError | if there is no such module in the directory |
given a package directory return a list of all available python module's files in the package and its subpackages
Parameters | |
src | path of the directory corresponding to the package |
blacklist:list or tuple | iterable list of files or directories to ignore. |
list | get files from all paths, including ones without __init__.py |
Returns | |
list | the list of all available python module's files in the package and its subpackages |
given a dotted name return the module part of the name :
>>> get_module_part('astroid.as_string.dump') 'astroid.as_string'
XXX: deprecated, since it doesn't handle package precedence over module (see #10066)
Parameters | |
dotted | full name of the identifier we are interested in |
context | context file to consider, necessary if the identifier has been introduced using a relative import unresolvable in the actual context (i.e. modutils) |
Returns | |
str or None | the module part of the name or None if we have not been able at all to import the given name |
Raises | |
ImportError | if there is no such module in the directory |
given a python module's file name return the matching source file name (the filename will be returned identically if it's already an absolute path to a python source file...)
Parameters | |
filename:str | python module's file name |
include | Undocumented |
Returns | |
str | the absolute path of the source file if it exists |
Raises | |
NoSourceFile | if no source file exists on the file system |
str
, package_whitelist: set[ str]
) -> bool
:
(source)
¶
Returns True if one part of the module name is in the package whitelist
>>> is_module_name_part_of_extension_package_whitelist('numpy.core.umath', {'numpy'}) True
return true if the given module name is relative to the given file name
Parameters | |
modname:str | name of the module we are interested in |
from | path of the module from which modname has been imported |
Returns | |
bool | true if the module has been imported relatively to from_file |
try to guess if a module is a standard python module (by default,
see std_path
parameter's description)
Parameters | |
modname:str | name of the module we are interested in |
std | list of path considered has standard |
Returns | |
bool | true if the module:
- is located on the path listed in one of the directory in std_path
- is a built-in module |
Load a Python module from it's path.
Parameters | |
filepath:str | path to the python module or package |
Returns | |
module | the loaded module |
Raises | |
ImportError | if the module or package is not found |
Load a python module from its split name.
Parameters | |
parts:list(str) or tuple(str) | python name of a module or package split on '.' |
Returns | |
module | the loaded module |
Raises | |
ImportError | if the module or package is not found |
Load a Python module from its name.
Parameters | |
dotted | python name of a module or package |
Returns | |
module | the loaded module |
Raises | |
ImportError | if the module or package is not found |
Get the corresponding split module's name from a filename
This function will return the name of a module or package split on .
.
Parameters | |
filename:str | file's path for which we want the module's name |
path | Undocumented |
Undocumented | |
Returns | |
list(str) | the corresponding split module's name |
Raises | |
ImportError | if the corresponding module's name has not been found |
Extracts the relative mod path of the file to import from
Check if a file is within the passed in path and if so, returns the relative mod path from the one passed in.
If the filename is no in path_to_check, returns None
Note this function will look for both abs and realpath of the file, this allows to find the relative base path even if the file is a symlink of a file in the passed in path
- Examples:
- _get_relative_base_path("/a/b/c/d.py", "/a/b") -> ["c","d"] _get_relative_base_path("/a/b/c/d.py", "/dev") -> None
Resolve symlinks in path and convert to absolute path.
Note that environment variables and ~ in the path need to be expanded in advance.
This can be cached by using _cache_normalize_path.
given a mod path (i.e. split module / package name), return the corresponding spec
this function is used internally, see file_from_modpath
's
documentation for more information