File size: 1,586 Bytes
b82e7a7
 
 
 
3d19c46
b82e7a7
3d19c46
 
b82e7a7
 
 
 
3d19c46
 
 
 
 
 
b82e7a7
3d19c46
 
 
b82e7a7
 
 
3d19c46
b82e7a7
3d19c46
 
 
 
b82e7a7
 
3d19c46
b82e7a7
3d19c46
 
b82e7a7
 
 
 
3d19c46
 
 
 
 
 
1eb6d25
56ebfd8
e22a013
56ebfd8
 
 
 
3d19c46
b82e7a7
3d19c46
 
b82e7a7
56ebfd8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
from dash import dcc

def get_intro_markdown():
    return dcc.Markdown("""
### ⚡ Function Call Visualizer for Python

Upload `.py` files and instantly see how functions connect—**visually**.  
Ideal for refactoring, onboarding, debugging, or exploring unfamiliar code.

---

#### 🔍 Features
- Upload **one or more** Python files
- Pick a top-level function to trace all its calls
- Auto-inferred:
  - Function arguments and return types (e.g. `df: pd.DataFrame`)
  - Session state usage (e.g. Streamlit `session_state`)
- Interactive graph with:
  - Call order on edges (`1`, `2`, `3`)
  - Thicker lines for repeated calls
  - Directional arrows and clear layout by call depth
- Toggleable summary tables

---

#### 🚀 How to Use
1. Switch to the **Graph Explorer** tab
2. Upload `.py` file(s)
3. Select an entry-point function
4. Explore how your code is structured—at a glance

---

### 👋 About the Creator

This open-source tool is built by **Tomas Larsson**,  
a data scientist and creator of [**my.moneytoolbox.com**](https://mymoneytoolbox.com), where he shares tools and insights for:

- Tax-efficient investing  
- Retirement modeling  
- Personal finance analytics  
- Code-first decision tools for DIY investors and engineers

---

### 🤝 Connect


Love tools like this?  
Connect on [**LinkedIn**](https://www.linkedin.com/in/tomaslarsson/) —  
Love to discuss ideas for new tools.



---

### 🧠 Tags  
`#python` `#static-analysis` `#ast` `#code-visualization` `#developer-tools` `#streamlit` `#dash` `#visualization`

        """,link_target="_blank")