awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
scottrogowski avatar

scottrogowski/code2flow

0
View on GitHub↗
4,586 星标·330 分支·Python·MIT·2 次浏览

Code2flow

code2flow 是一个静态程序流程映射器和源代码调用图生成器。它分析源代码以生成可视化流程图,映射函数调用关系和执行路径。

该项目包括一个异步调用跟踪可视化器,它通过 async 和 await 调用跟踪执行路径,以映射异步程序的逻辑。它还提供了一个可编程的代码分析接口,允许将调用图生成逻辑集成到其他软件应用中。

该系统通过将源代码转换为抽象语法树(AST)来识别函数定义和调用点,从而处理静态代码分析。它支持调用图过滤,通过内容过滤器和深度限制路径提取来限制可视化范围,同时提供视觉样式来区分逻辑流。

Features

  • Call Graph Generators - Provides a tool that analyzes source code to generate visual flow diagrams of function call relationships and execution paths.
  • Static Call Graph Generators - Analyzes source code to produce visual flow diagrams that map function call relationships and execution paths.
  • Static Call Site Mapping - Traverses the codebase starting from a root function to map out nested dependencies and execution paths.
  • Async Flow Visualization - Follows execution paths through async and await calls to map the flow of asynchronous programs.
  • Asynchronous Flow Visualizers - Maps execution paths through async and await calls to visualize asynchronous program logic.
  • Abstract Syntax Tree Parsing - Converts source code into abstract syntax trees to identify function definitions and call sites.
  • Static Program Flow Mappers - Generates a visual representation of how functions interact and call one another across a codebase using static analysis.
  • Static Code Analysis - Visualizes function call relationships and execution paths from source code using static analysis.
  • Asynchronous Debugging Toolkits - Visualizes the behavior of asynchronous code by tracing execution flow through async and await calls.
  • Graphviz DOT Emitters - Generates Graphviz DOT language files to render structured flow diagrams and call graphs.
  • Programmable Analysis Interfaces - Exposes parsing and graphing logic via a programmable interface for use in external scripts.
  • Architectural Onboarding - Helps developers understand unfamiliar projects by mapping program flow and downstream dependencies.
  • Programming Language Visualizations - Converts the structure of dynamic languages into structured visual representations of function calls.
  • Architectural Documentation - Automatically generates flow diagrams and call graphs to document how parts of a codebase interact.
  • Visualization Mappings - Treats async and await markers as direct edges to maintain a linear visual flow in diagrams.
  • Call Graph Pruning - Filters visualizations by restricting the number of edges traversed from a target node to reduce visual noise.
  • Graph Filtering - Allows the restriction of generated call graphs to specific functions or code subsets via inclusive filters.
  • Downstream Path Extraction - Provides a filtering capability to display only the downstream dependencies of a target function.
  • Depth-Based Scoping - Extracts subsets of the call graph by restricting the depth of connections from a target function.
  • Code Analysis - Listed in the “Code Analysis” section of the Awesome Python awesome list.
  • Code Analysis and Quality - Generates flowcharts from Python and JavaScript code.

Star 历史

scottrogowski/code2flow 的 Star 历史图表scottrogowski/code2flow 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Code2flow 的开源替代方案

相似的开源项目,按与 Code2flow 的功能重合度排序。
  • pmd/pmdpmd 的头像

    pmd/pmd

    5,425在 GitHub 上查看↗

    PMD is a multi-language static code analyzer used to identify programming flaws, unused variables, and dead code without executing the program. It functions as a code smell detector and coding standard enforcer, ensuring source code adheres to specific naming conventions, structural requirements, and project style guides. The project features an XPath-based rule engine that allows users to define custom analysis patterns using queries against an abstract syntax tree. It also includes a copy-paste detector to identify duplicated code blocks across multiple files and a visual rule designer for

    Javaapexcode-analysiscode-quality
    在 GitHub 上查看↗5,425
  • pycqa/flake8PyCQA 的头像

    PyCQA/flake8

    3,760在 GitHub 上查看↗

    Flake8 is a Python style checker and static analysis tool that identifies programmatic errors and violations of coding standards in source files. It serves as a linting wrapper that aggregates multiple checkers into a single interface, functioning as a pluggable framework for Python code analysis. The tool incorporates a cyclomatic complexity analyzer to measure the logical complexity of functions and identify code that requires refactoring. It is designed for extensibility, allowing the integration of custom plugins and rules through defined entry points. The system provides capabilities fo

    Pythoncomplexity-analysisflake8linter
    在 GitHub 上查看↗3,760
  • jendrikseipp/vulturejendrikseipp 的头像

    jendrikseipp/vulture

    4,655在 GitHub 上查看↗

    Vulture is a static analysis tool and linter designed to find unused variables, functions, and classes in Python source code. It operates as a dead code detector and unused code finder that scans source files to identify unreachable expressions and imports without executing the code. The tool employs a confidence-based heuristic scoring system to assign probability values to detections, helping to distinguish truly unused symbols from potential false positives. It further assists in pruning dead logic by sorting detected unused classes and functions by line count to prioritize the removal of

    Pythondead-code-removalpython
    在 GitHub 上查看↗4,655
  • pylint-dev/pylintpylint-dev 的头像

    pylint-dev/pylint

    5,685在 GitHub 上查看↗

    Pylint is a static code analyzer for Python that scans source code for errors, coding standard violations, code smells, and type-related issues without executing the program. It functions as a plugin-based linter framework, allowing users to extend its analysis capabilities with custom or third-party checks for project-specific rules and framework support. The tool also includes a duplicate code detector that identifies identical or near-identical code blocks across a project to help reduce redundancy. Beyond its core linting functionality, Pylint can generate UML class and package diagrams f

    Pythonclosembercode-qualityhacktoberfest
    在 GitHub 上查看↗5,685
查看 Code2flow 的所有 30 个替代方案→

常见问题解答

scottrogowski/code2flow 是做什么的?

code2flow 是一个静态程序流程映射器和源代码调用图生成器。它分析源代码以生成可视化流程图,映射函数调用关系和执行路径。

scottrogowski/code2flow 的主要功能有哪些?

scottrogowski/code2flow 的主要功能包括:Call Graph Generators, Static Call Graph Generators, Static Call Site Mapping, Async Flow Visualization, Asynchronous Flow Visualizers, Abstract Syntax Tree Parsing, Static Program Flow Mappers, Static Code Analysis。

scottrogowski/code2flow 有哪些开源替代品?

scottrogowski/code2flow 的开源替代品包括: pmd/pmd — PMD is a multi-language static code analyzer used to identify programming flaws, unused variables, and dead code… pycqa/flake8 — Flake8 is a Python style checker and static analysis tool that identifies programmatic errors and violations of coding… jendrikseipp/vulture — Vulture is a static analysis tool and linter designed to find unused variables, functions, and classes in Python… pylint-dev/pylint — Pylint is a static code analyzer for Python that scans source code for errors, coding standard violations, code… jshint/jshint — JSHint is a JavaScript static analysis tool and linter designed to detect errors and enforce coding standards. It… jquery/esprima — Esprima is a JavaScript parser that converts source code into a structured abstract syntax tree. It implements a…