code: def scan(python_modules, callback, ignore=tuple()):
      
      scanner = venusian.Scanner(callback=callback)
      for python_module in python_modules:
          if isinstance(python_module, six.string_types):
              python_module = importlib.import_module(python_module)
          scanner.scan(
              python_module,
              categories=[WIRING_VENUSIAN_CATEGORY],
              ignore=ignore
          )
docs: Recursively scans `python_modules` for providers registered with
      :py:mod:`wiring.scanning.register` module and for each one calls `callback`
      with :term:`specification` as the first argument, and the provider object
      as the second.
  
      Each element in `python_modules` may be a module reference or a string
      representing a path to a module.
  
      Module paths given in `ignore` are excluded from scanning.