py-flow-mapper 0.1.0b5.dev0__tar.gz → 0.1.0b6.dev0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {py_flow_mapper-0.1.0b5.dev0/src/py_flow_mapper.egg-info → py_flow_mapper-0.1.0b6.dev0}/PKG-INFO +1 -1
- {py_flow_mapper-0.1.0b5.dev0 → py_flow_mapper-0.1.0b6.dev0}/setup.py +1 -1
- {py_flow_mapper-0.1.0b5.dev0 → py_flow_mapper-0.1.0b6.dev0}/src/py_flow_mapper/__init__.py +1 -1
- {py_flow_mapper-0.1.0b5.dev0 → py_flow_mapper-0.1.0b6.dev0}/src/py_flow_mapper/mermaid_generator.py +32 -3
- {py_flow_mapper-0.1.0b5.dev0 → py_flow_mapper-0.1.0b6.dev0}/src/py_flow_mapper/utils.py +1 -1
- {py_flow_mapper-0.1.0b5.dev0 → py_flow_mapper-0.1.0b6.dev0/src/py_flow_mapper.egg-info}/PKG-INFO +1 -1
- {py_flow_mapper-0.1.0b5.dev0 → py_flow_mapper-0.1.0b6.dev0}/LICENSE +0 -0
- {py_flow_mapper-0.1.0b5.dev0 → py_flow_mapper-0.1.0b6.dev0}/README.md +0 -0
- {py_flow_mapper-0.1.0b5.dev0 → py_flow_mapper-0.1.0b6.dev0}/setup.cfg +0 -0
- {py_flow_mapper-0.1.0b5.dev0 → py_flow_mapper-0.1.0b6.dev0}/src/py_flow_mapper/analyzer.py +0 -0
- {py_flow_mapper-0.1.0b5.dev0 → py_flow_mapper-0.1.0b6.dev0}/src/py_flow_mapper/cli.py +0 -0
- {py_flow_mapper-0.1.0b5.dev0 → py_flow_mapper-0.1.0b6.dev0}/src/py_flow_mapper.egg-info/SOURCES.txt +0 -0
- {py_flow_mapper-0.1.0b5.dev0 → py_flow_mapper-0.1.0b6.dev0}/src/py_flow_mapper.egg-info/dependency_links.txt +0 -0
- {py_flow_mapper-0.1.0b5.dev0 → py_flow_mapper-0.1.0b6.dev0}/src/py_flow_mapper.egg-info/entry_points.txt +0 -0
- {py_flow_mapper-0.1.0b5.dev0 → py_flow_mapper-0.1.0b6.dev0}/src/py_flow_mapper.egg-info/requires.txt +0 -0
- {py_flow_mapper-0.1.0b5.dev0 → py_flow_mapper-0.1.0b6.dev0}/src/py_flow_mapper.egg-info/top_level.txt +0 -0
|
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
|
|
|
5
5
|
|
|
6
6
|
setup(
|
|
7
7
|
name="py-flow-mapper",
|
|
8
|
-
version="0.1.
|
|
8
|
+
version="0.1.0b6.dev",
|
|
9
9
|
author="Arun Koundinya Parasa",
|
|
10
10
|
author_email="parasa.arunkoundinya@gmail.com",
|
|
11
11
|
description="Python project analyzer and visualization tool",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
PyFlowMapper - A Python project analyzer and visualization tool.
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
-
__version__ = "0.1.
|
|
5
|
+
__version__ = "0.1.0b6.dev"
|
|
6
6
|
__author__ = "Arun Koundinya Parasa"
|
|
7
7
|
__description__ = "Analyze Python projects and generate dependency graphs"
|
|
8
8
|
__github__ = "https://github.com/ArunKoundinya/py-flow-mapper"
|
{py_flow_mapper-0.1.0b5.dev0 → py_flow_mapper-0.1.0b6.dev0}/src/py_flow_mapper/mermaid_generator.py
RENAMED
|
@@ -124,13 +124,42 @@ class MermaidGenerator:
|
|
|
124
124
|
return is_camel_case(base)
|
|
125
125
|
|
|
126
126
|
def resolve_internal(call: str, current_module: str) -> str:
|
|
127
|
-
|
|
127
|
+
call = call or ""
|
|
128
|
+
|
|
129
|
+
# 1) existing resolver
|
|
128
130
|
target = self._find_function_full_name(call, current_module)
|
|
129
131
|
if target and target in internal_funcs:
|
|
130
132
|
return target
|
|
131
133
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
+
imp_map = module_import_mapping(current_module)
|
|
135
|
+
|
|
136
|
+
# 2) If call is a bare name imported via "from X import name"
|
|
137
|
+
# import_mapping might contain: name -> "pkg.mod.name"
|
|
138
|
+
if call in imp_map:
|
|
139
|
+
mapped = imp_map[call]
|
|
140
|
+
if mapped in internal_funcs:
|
|
141
|
+
return mapped
|
|
142
|
+
# if mapped is "pkg.mod.name", try resolving it (or its tail)
|
|
143
|
+
target = self._find_function_full_name(mapped, current_module)
|
|
144
|
+
if target and target in internal_funcs:
|
|
145
|
+
return target
|
|
146
|
+
|
|
147
|
+
# 3) If call is "alias.something", rewrite alias using import_mapping
|
|
148
|
+
# import_mapping might contain: alias -> "pkg.mod"
|
|
149
|
+
if "." in call:
|
|
150
|
+
root, rest = call.split(".", 1)
|
|
151
|
+
if root in imp_map:
|
|
152
|
+
mapped_root = imp_map[root]
|
|
153
|
+
# If mapping is to a specific object like "pkg.mod.func",
|
|
154
|
+
# treat it as root too (best-effort)
|
|
155
|
+
candidate = f"{mapped_root}.{rest}"
|
|
156
|
+
if candidate in internal_funcs:
|
|
157
|
+
return candidate
|
|
158
|
+
target = self._find_function_full_name(candidate, current_module)
|
|
159
|
+
if target and target in internal_funcs:
|
|
160
|
+
return target
|
|
161
|
+
|
|
162
|
+
# 4) your existing "obj.method" heuristic
|
|
134
163
|
method = call.split(".")[-1]
|
|
135
164
|
matches = [k for k in internal_funcs if k.endswith("." + method)]
|
|
136
165
|
if len(matches) == 1:
|
|
@@ -130,7 +130,7 @@ def get_project_structure(base_path: Path, exclude_dirs: List[str] = None) -> Di
|
|
|
130
130
|
"node_modules", "site-packages",
|
|
131
131
|
"docs", "doc", "notebooks", ".ipynb_checkpoints",
|
|
132
132
|
"models", "outputs", "results",
|
|
133
|
-
"logs", "tmp", "temp",
|
|
133
|
+
"logs", "tmp", "temp","log","cache"
|
|
134
134
|
]
|
|
135
135
|
|
|
136
136
|
exclude_set = set(exclude_dirs)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{py_flow_mapper-0.1.0b5.dev0 → py_flow_mapper-0.1.0b6.dev0}/src/py_flow_mapper.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{py_flow_mapper-0.1.0b5.dev0 → py_flow_mapper-0.1.0b6.dev0}/src/py_flow_mapper.egg-info/requires.txt
RENAMED
|
File without changes
|
|
File without changes
|