1:mod:`modulegraph.find_modules` --- High-level module dependency finding interface
2==================================================================================
3
4.. module:: modulegraph.find_modules
5   :synopsis: High-level module dependency finding interface
6
7This module provides a high-level interface to the functionality of
8the modulegraph package.
9
10
11.. function:: find_modules([scripts[, includes[, packages[, excludes[, path[, debug]]]]]])
12
13   High-level interface, takes iterables for: scripts, includes, packages, excludes
14
15   And returns a :class:`modulegraph.modulegraph.ModuleGraph` instance,
16   python_files, and extensions
17
18   python_files is a list of pure python dependencies as modulegraph.Module objects,
19
20   extensions is a list of platform-specific C extension dependencies as modulegraph.Module objects
21
22
23.. function:: parse_mf_results(mf)
24
25   Return two lists: the first one contains the python files in the graph,
26   the second the C extensions.
27
28   :param mf: a :class:`modulegraph.modulegraph.ModuleGraph` instance
29
30
31Lower-level functionality
32-------------------------
33
34The functionality in this section is much lower level and should probably
35not be used. It's mostly documented as a convenience for maintainers.
36
37
38.. function:: get_implies()
39
40   Return a mapping of implied dependencies. The key is a, possibly dotted,
41   module name and the value a list of dependencies.
42
43   This contains hardcoded list of hard dependencies, for example for C
44   extensions in the standard libary that perform imports in C code, which
45   the generic dependency finder cannot locate.
46
47.. function:: plat_prepare(includes, packages, excludes)
48
49   Updates the lists of includes, packages and excludes for the current
50   platform. This will add items to these lists based on hardcoded platform
51   information.
52
53.. function:: find_needed_modules([mf[, scripts[, includes[, packages[, warn]]]]])
54
55   Feeds the given :class:`ModuleGraph <modulegraph.ModuleGraph>`  with
56   the *scripts*, *includes* and *packages* and returns the resulting
57   graph. This function will create a new graph when *mf* is not specified
58   or ``None``.
59