Files
sousa-gecko/python/mach/docs/driver.md
T
Sylvestre Ledru 4965b8c815 Bug 2038819 - Convert python/**/docs RST to Markdown r=mozperftest-reviewers,sparky
Convert python/{docs,mach/docs,mozperftest/perfdocs,mozboot,
mozbuild/mozbuild/vendor/docs} RST to MyST-flavored Markdown, plus
the top-level READMEs for python/mach, python/mozboot, and
python/mozperftest.

Differential Revision: https://phabricator.services.mozilla.com/D304229
2026-06-26 20:13:35 +00:00

839 B

(mach-driver)=

Drivers

Entry Points

It is possible to use setuptools' entry points to load commands directly from python packages. A mach entry point is a function which returns a list of files or directories containing mach command providers. e.g.:

def list_providers():
    providers = []
    here = os.path.abspath(os.path.dirname(__file__))
    for p in os.listdir(here):
        if p.endswith('.py'):
            providers.append(os.path.join(here, p))
    return providers

See http://pythonhosted.org/setuptools/setuptools.html#dynamic-discovery-of-services-and-plugins for more information on creating an entry point. To search for entry point plugins, you can call {py:meth}mach.command_util.load_commands_from_entry_point. e.g.:

load_commands_from_entry_point("mach.external.providers")