https://github.com/lahadiyani/tracemorph
library Python untuk melacak eksekusi fungsi, membangun visualisasi call-chain, serta menghasilkan narasi error berbasis AI (via LLM API).
https://github.com/lahadiyani/tracemorph
debugging-tools error-tracking function-tracing llm-error-tracing llm-evaluation
Last synced: 4 months ago
JSON representation
library Python untuk melacak eksekusi fungsi, membangun visualisasi call-chain, serta menghasilkan narasi error berbasis AI (via LLM API).
- Host: GitHub
- URL: https://github.com/lahadiyani/tracemorph
- Owner: lahadiyani
- License: other
- Created: 2025-07-03T07:47:55.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-07-04T06:07:40.000Z (11 months ago)
- Last Synced: 2025-09-14T11:51:12.633Z (9 months ago)
- Topics: debugging-tools, error-tracking, function-tracing, llm-error-tracing, llm-evaluation
- Language: Python
- Homepage: https://pypi.org/project/tracemorph/
- Size: 62.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TraceMorph

**TraceMorph** adalah library Python untuk melacak eksekusi fungsi, membangun visualisasi call-chain, serta menghasilkan narasi error berbasis AI (via LLM API).
### 🚀 Fitur
- Dekorator tracing fungsi otomatis
- Pelacakan exception global
- Ekspor hasil trace ke JSON
- Narasi human-readable berbasis LLM
- Bisa diintegrasikan ke middleware, testing, atau backend
### Cara install
```pip
pip install tracemorph
```
### 🧠Contoh Penggunaan
```python
from tracemorph import trace
@trace
def bagi(a, b):
return a / b
bagi(10, 2)
```
### contoh 2
```python
from tracemorph import trace, TraceBuilder
@trace()
def error_prone(x, y):
return x / y # Bisa error kalau y=0
if __name__ == "__main__":
try:
error_prone(10, 0)
except Exception:
pass
data = TraceBuilder.build_latest_and_export()
if data:
print(data['colored_narrative']) # Print narasi berwarna rapi di terminal
else:
print("No trace found.")
```
### contoh 3
```python
from tracemorph import trace, TraceBuilder
@trace
def test(x):
return x * 2
test(10)
print(TraceBuilder.build_narrative_for_last()[0])
```