async def METHOD_NAME(
    request: DumpPythonSourceAnalysisSubsystem,
    targets: Targets,
    console: Console,
) -> DumpPythonSourceAnalysis:
    source_field_sets = [
        PythonImportDependenciesInferenceFieldSet.create(tgt)
        for tgt in targets
        if PythonSourceFieldSet.is_applicable(tgt)
    ]
    source_analysis = await MultiGet(
        Get(
            PythonSourceAnalysis,
            PythonImportDependenciesInferenceFieldSet,
            fs,
        )
        for fs in source_field_sets
    )
    output: Any
    if request.flavor == AnalysisFlavor.raw_dependency_inference:
        output = source_analysis
    else:
        output = {str(a.fs.address): collect_analysis(a) for a in source_analysis}
    console.print_stdout(json.dumps(output, cls=_PeekJsonEncoder))
    return DumpPythonSourceAnalysis(exit_code=0)