Skip to content

PyFlowMapper Beta Release

Pre-release
Pre-release

Choose a tag to compare

@ArunKoundinya ArunKoundinya released this 29 Dec 03:26

πŸ§ͺ PyFlowMapper

Beta Release – Architecture & Data-Flow Visualization for Python

This beta release introduces PyFlowMapper, a static analysis tool that helps developers understand function call relationships and data flow in Python projects β€” without executing any code.


✨ Highlights

  • πŸ” Static AST-based analysis (safe, no runtime execution)
  • πŸ”— Function call graph generation
  • 🌊 Data-flow tracking via return-value propagation
  • πŸ“Š Mermaid diagram output for easy visualization
  • 🧱 Project structure inspection
  • 🧰 CLI-first workflow with programmatic API support
  • 🐍 Python 3.12+ support

πŸš€ Key Features

CLI Commands

  • pyflow analyze <project_path>
    Analyze a Python project and generate project_meta.json

  • pyflow diagram <project_meta.json>
    Generate Mermaid diagrams (Simple, Detailed, Call Graph)

  • pyflow structure <project_path>
    Print a clean, readable project tree

Metadata Output

  • Modules, functions, and classes
  • Call relationships and reverse callers
  • Data-flow edges (return β†’ assignment)
  • Import and dependency graphs

Diagram Types

  • Simple Flow Graph – basic function calls
  • Detailed Flow Graph ⭐ – modules + calls + data flow
  • Call Graph – calls only

πŸ“š Documentation

  • Quarto-based documentation site
  • Real-world examples
  • Mermaid diagram embedding
  • CLI and architecture walkthroughs

⚠️ Known Limitations (Beta)

  • Static analysis only (dynamic runtime behavior may not be resolved)
  • Limited support for:
    • Runtime imports
    • Heavy metaprogramming
    • Function references stored in complex data structures
  • Large projects may produce very large diagrams

🎯 Intended Use (Beta)

  • Understanding unfamiliar codebases
  • Architectural documentation
  • Code reviews and refactoring support
  • Educational and exploratory analysis

πŸ§ͺ Beta Status

This is a beta release.
APIs, metadata schema, and diagram output may change based on feedback.

πŸ‘‰ Feedback, bug reports, and suggestions are highly encouraged.


πŸ“¦ Installation

pip install py-flow-mapper

Or from source:

git clone https://github.com/ArunKoundinya/py-flow-mapper.git
cd py-flow-mapper
pip install -e .

πŸ™Œ Acknowledgements

Thanks to everyone testing, experimenting, and sharing feedback during early development.

Full Changelog: https://github.com/ArunKoundinya/py-flow-mapper/commits/v0.1.0b2.dev