ttnn-visualizer 0.56.0__py3-none-any.whl → 0.57.0__py3-none-any.whl
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.
- ttnn_visualizer/models.py +20 -0
- ttnn_visualizer/queries.py +8 -0
- ttnn_visualizer/serializers.py +14 -0
- ttnn_visualizer/static/assets/{allPaths-CjoqZRdA.js → allPaths-ofNxJ79X.js} +1 -1
- ttnn_visualizer/static/assets/allPathsLoader-CN0GIv3K.js +2 -0
- ttnn_visualizer/static/assets/{index-CdKEq0U_.css → index-BO2e1Ec3.css} +2 -2
- ttnn_visualizer/static/assets/{index-6Y2MAcdI.js → index-Sc99nrOV.js} +196 -196
- ttnn_visualizer/static/assets/{splitPathsBySizeLoader-CT0Xi3QT.js → splitPathsBySizeLoader-C4H4Tzwo.js} +1 -1
- ttnn_visualizer/static/index.html +2 -2
- ttnn_visualizer/tests/test_serializers.py +2 -0
- ttnn_visualizer/views.py +39 -0
- {ttnn_visualizer-0.56.0.dist-info → ttnn_visualizer-0.57.0.dist-info}/METADATA +2 -2
- {ttnn_visualizer-0.56.0.dist-info → ttnn_visualizer-0.57.0.dist-info}/RECORD +18 -18
- ttnn_visualizer/static/assets/allPathsLoader-B2Ql6QSz.js +0 -2
- {ttnn_visualizer-0.56.0.dist-info → ttnn_visualizer-0.57.0.dist-info}/WHEEL +0 -0
- {ttnn_visualizer-0.56.0.dist-info → ttnn_visualizer-0.57.0.dist-info}/entry_points.txt +0 -0
- {ttnn_visualizer-0.56.0.dist-info → ttnn_visualizer-0.57.0.dist-info}/licenses/LICENSE +0 -0
- {ttnn_visualizer-0.56.0.dist-info → ttnn_visualizer-0.57.0.dist-info}/licenses/LICENSE_understanding.txt +0 -0
- {ttnn_visualizer-0.56.0.dist-info → ttnn_visualizer-0.57.0.dist-info}/top_level.txt +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as r,I as s,_ as a}from"./index-
|
|
1
|
+
import{p as r,I as s,_ as a}from"./index-Sc99nrOV.js";const n=async(o,_)=>{const i=r(o);let t;return _===s.STANDARD?t=await a(()=>import("./index-CnPrfHYh.js").then(e=>e.I),[]):t=await a(()=>import("./index-Cnc1EkDo.js").then(e=>e.I),[]),t[i]};export{n as splitPathsBySizeLoader};
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
/* SERVER_CONFIG */
|
|
35
35
|
</script>
|
|
36
36
|
|
|
37
|
-
<script type="module" crossorigin src="/static/assets/index-
|
|
38
|
-
<link rel="stylesheet" crossorigin href="/static/assets/index-
|
|
37
|
+
<script type="module" crossorigin src="/static/assets/index-Sc99nrOV.js"></script>
|
|
38
|
+
<link rel="stylesheet" crossorigin href="/static/assets/index-BO2e1Ec3.css">
|
|
39
39
|
</head>
|
|
40
40
|
<body>
|
|
41
41
|
|
|
@@ -134,6 +134,7 @@ class TestSerializers(unittest.TestCase):
|
|
|
134
134
|
"device_addresses": [25],
|
|
135
135
|
}
|
|
136
136
|
],
|
|
137
|
+
"error": None,
|
|
137
138
|
}
|
|
138
139
|
]
|
|
139
140
|
|
|
@@ -447,6 +448,7 @@ class TestSerializers(unittest.TestCase):
|
|
|
447
448
|
}
|
|
448
449
|
],
|
|
449
450
|
"stack_trace": "trace1",
|
|
451
|
+
"error": None,
|
|
450
452
|
}
|
|
451
453
|
|
|
452
454
|
self.assertEqual(result, expected)
|
ttnn_visualizer/views.py
CHANGED
|
@@ -99,6 +99,11 @@ def operation_list(instance: Instance):
|
|
|
99
99
|
inputs = list(db.query_input_tensors())
|
|
100
100
|
devices = list(db.query_devices())
|
|
101
101
|
producers_consumers = list(db.query_producers_consumers())
|
|
102
|
+
|
|
103
|
+
error_records = None
|
|
104
|
+
if db._check_table_exists("errors"):
|
|
105
|
+
error_records = list(db.query_error_records())
|
|
106
|
+
|
|
102
107
|
serialized_operations = serialize_operations(
|
|
103
108
|
inputs,
|
|
104
109
|
operation_arguments,
|
|
@@ -109,6 +114,7 @@ def operation_list(instance: Instance):
|
|
|
109
114
|
devices,
|
|
110
115
|
producers_consumers,
|
|
111
116
|
device_operations,
|
|
117
|
+
error_records,
|
|
112
118
|
)
|
|
113
119
|
return Response(
|
|
114
120
|
orjson.dumps(serialized_operations),
|
|
@@ -173,6 +179,14 @@ def operation_detail(operation_id, instance: Instance):
|
|
|
173
179
|
|
|
174
180
|
devices = list(db.query_devices())
|
|
175
181
|
|
|
182
|
+
error_record = None
|
|
183
|
+
if db._check_table_exists("errors"):
|
|
184
|
+
error_records = list(
|
|
185
|
+
db.query_error_records(filters={"operation_id": operation_id})
|
|
186
|
+
)
|
|
187
|
+
if error_records:
|
|
188
|
+
error_record = error_records[0]
|
|
189
|
+
|
|
176
190
|
serialized_operation = serialize_operation(
|
|
177
191
|
buffers,
|
|
178
192
|
inputs,
|
|
@@ -186,6 +200,7 @@ def operation_detail(operation_id, instance: Instance):
|
|
|
186
200
|
devices,
|
|
187
201
|
producers_consumers,
|
|
188
202
|
device_operations,
|
|
203
|
+
error_record,
|
|
189
204
|
)
|
|
190
205
|
|
|
191
206
|
return Response(
|
|
@@ -211,6 +226,30 @@ def operation_history(instance: Instance):
|
|
|
211
226
|
)
|
|
212
227
|
|
|
213
228
|
|
|
229
|
+
@api.route("/errors", methods=["GET"])
|
|
230
|
+
@with_instance
|
|
231
|
+
@timer
|
|
232
|
+
def errors_list(instance: Instance):
|
|
233
|
+
with DatabaseQueries(instance) as db:
|
|
234
|
+
if not db._check_table_exists("errors"):
|
|
235
|
+
return (
|
|
236
|
+
jsonify(
|
|
237
|
+
{
|
|
238
|
+
"error": "Error records table does not exist in this report database."
|
|
239
|
+
}
|
|
240
|
+
),
|
|
241
|
+
HTTPStatus.UNPROCESSABLE_ENTITY,
|
|
242
|
+
)
|
|
243
|
+
|
|
244
|
+
error_records = list(db.query_error_records())
|
|
245
|
+
serialized_errors = [dataclasses.asdict(error) for error in error_records]
|
|
246
|
+
|
|
247
|
+
return Response(
|
|
248
|
+
orjson.dumps(serialized_errors),
|
|
249
|
+
mimetype="application/json",
|
|
250
|
+
)
|
|
251
|
+
|
|
252
|
+
|
|
214
253
|
@api.route("/config")
|
|
215
254
|
@with_instance
|
|
216
255
|
@timer
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ttnn_visualizer
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.57.0
|
|
4
4
|
Summary: TT-NN Visualizer
|
|
5
5
|
Classifier: Programming Language :: Python :: 3
|
|
6
6
|
Classifier: License :: OSI Approved :: MIT License
|
|
@@ -23,7 +23,7 @@ Requires-Dist: pydantic_core==2.27.1
|
|
|
23
23
|
Requires-Dist: pydantic==2.10.3
|
|
24
24
|
Requires-Dist: python-dotenv==1.0.1
|
|
25
25
|
Requires-Dist: PyYAML==6.0.2
|
|
26
|
-
Requires-Dist: tt-perf-report==1.1.
|
|
26
|
+
Requires-Dist: tt-perf-report==1.1.8
|
|
27
27
|
Requires-Dist: uvicorn==0.30.1
|
|
28
28
|
Requires-Dist: zstd==1.5.7.0
|
|
29
29
|
Provides-Extra: dev
|
|
@@ -7,25 +7,25 @@ ttnn_visualizer/exceptions.py,sha256=KVZzb7YaWbq51DNMKPBcJHwG74RMYj_29WTSYOlXXeU
|
|
|
7
7
|
ttnn_visualizer/extensions.py,sha256=6OIRJ8-_ccfjOaXSruRXiS29jEbxp4Pyk-0JlD8IHBQ,379
|
|
8
8
|
ttnn_visualizer/file_uploads.py,sha256=HFcC6TBt5I0oBkiKgM2Qw1W7hpixE8TOTACS5N-rmGE,5013
|
|
9
9
|
ttnn_visualizer/instances.py,sha256=XctQgQXdlwtuXWFXFletRoX1m1lGUZdiW3TwIIjY0uw,11564
|
|
10
|
-
ttnn_visualizer/models.py,sha256
|
|
10
|
+
ttnn_visualizer/models.py,sha256=udECbVuxseZ2n6wkLCJnBxMOYq10mbHkQXmhLIECaxk,8376
|
|
11
11
|
ttnn_visualizer/pytest_plugin.py,sha256=bEG0cbqH0HUuZT5Ox9tFoexFNTyimBBPpI_jp75b54c,2629
|
|
12
|
-
ttnn_visualizer/queries.py,sha256=
|
|
13
|
-
ttnn_visualizer/serializers.py,sha256=
|
|
12
|
+
ttnn_visualizer/queries.py,sha256=j9PYYwzJBKJF32Fa-hyV00cPApw1_Xr_y6MpqFGBI3k,9867
|
|
13
|
+
ttnn_visualizer/serializers.py,sha256=mKxcDu9g4gAxHB6wP_1l5VJvIBmnYDIJTikiaMYXupg,9374
|
|
14
14
|
ttnn_visualizer/settings.py,sha256=zs9qWfB83XY-KeEwfeaouKx81eSUjlxxAbIZ3nAj3_g,4719
|
|
15
15
|
ttnn_visualizer/sftp_operations.py,sha256=9HwbPJPSO1UUQ98d5zeWAkEwR0zFPryUakcI68GqkVw,30181
|
|
16
16
|
ttnn_visualizer/sockets.py,sha256=_Hdne33r4FrB2tg58Vw87FWLbgQ_ikICVp4o1Mkv2mo,4789
|
|
17
17
|
ttnn_visualizer/ssh_client.py,sha256=-GS2_1tdlUqVoLfRS02i3_o1fQaM39UQN-jtAnPBmzQ,13511
|
|
18
18
|
ttnn_visualizer/utils.py,sha256=_W990vRnup9zlWJ-g_Bggyo-wDjCYF49p0nPxWNgxrE,12934
|
|
19
|
-
ttnn_visualizer/views.py,sha256=
|
|
20
|
-
ttnn_visualizer/static/index.html,sha256
|
|
21
|
-
ttnn_visualizer/static/assets/allPaths-
|
|
22
|
-
ttnn_visualizer/static/assets/allPathsLoader-
|
|
23
|
-
ttnn_visualizer/static/assets/index-
|
|
24
|
-
ttnn_visualizer/static/assets/index-CdKEq0U_.css,sha256=z3T1HyRHetlpl0trOmWro4LPU7gK914oRgtS03siLzA,626424
|
|
19
|
+
ttnn_visualizer/views.py,sha256=9lVgdX6Payo_3eqv-KuCY3w12CWgGrkzQtpG7dtdEys,47975
|
|
20
|
+
ttnn_visualizer/static/index.html,sha256=JnZLp2B37n0988C9QpWEYGG5qJzIyXaVtsaVZBFl7Qc,1135
|
|
21
|
+
ttnn_visualizer/static/assets/allPaths-ofNxJ79X.js,sha256=vDZEHiXc_MW9gco2eMYywJ5DV9Lrz7e869jbaKYcRqM,255
|
|
22
|
+
ttnn_visualizer/static/assets/allPathsLoader-CN0GIv3K.js,sha256=mjEIC-jBmopuiXv-PTM41ntwNFvOIJXtzAEMqaqDFT8,477
|
|
23
|
+
ttnn_visualizer/static/assets/index-BO2e1Ec3.css,sha256=X4WqnS9GULOojR0RGbL8YZnD5G3ZKnuSyk5fuc5QDSA,626861
|
|
25
24
|
ttnn_visualizer/static/assets/index-CnPrfHYh.js,sha256=xtrmUrKcMSwTBA7zqXJ6I_L70LzG9DkO-zbC3aWJS8g,289282
|
|
26
25
|
ttnn_visualizer/static/assets/index-Cnc1EkDo.js,sha256=m-gmIOT0AsJcaW0TVjRpOwSm52Dfp4ZDcrdnIS4qBHA,298140
|
|
26
|
+
ttnn_visualizer/static/assets/index-Sc99nrOV.js,sha256=4kGEG0815s5vgn1dUgdCiRPsu9SKa75s1rJeQ65vjfw,7908455
|
|
27
27
|
ttnn_visualizer/static/assets/site-BTBrvHC5.webmanifest,sha256=Uy_XmnGuYFVf-OZuma2NvgEPdrCrevb3HZvaxSIHoA0,456
|
|
28
|
-
ttnn_visualizer/static/assets/splitPathsBySizeLoader-
|
|
28
|
+
ttnn_visualizer/static/assets/splitPathsBySizeLoader-C4H4Tzwo.js,sha256=Ph0jr0lLtiT3gGEY_QdANtKziCLSeHVP_DgGURIDI88,281
|
|
29
29
|
ttnn_visualizer/static/favicon/android-chrome-192x192.png,sha256=BZWA09Zxaa3fXbaeS6nhWo2e-DUSjm9ElzNQ_xTB5XU,6220
|
|
30
30
|
ttnn_visualizer/static/favicon/android-chrome-512x512.png,sha256=HBiJSZyguB3o8fMJuqIGcpeBy_9JOdImme3wD02UYCw,62626
|
|
31
31
|
ttnn_visualizer/static/favicon/favicon-32x32.png,sha256=Zw201qUsczQv1UvoQvJf5smQ2ss10xaTeWxmQNYCGtY,480
|
|
@@ -33,11 +33,11 @@ ttnn_visualizer/static/favicon/favicon.svg,sha256=wDPY3VrekJ_DE1TnJ2vUy602K3S4Xe
|
|
|
33
33
|
ttnn_visualizer/static/sample-data/cluster-desc.yaml,sha256=LMxOmsRUXtVVU5ogzYkXUozB3dg2IzqIRJQpV_O5qMU,29618
|
|
34
34
|
ttnn_visualizer/tests/__init__.py,sha256=FCQeTWnXsf-Wx-fay53-lQsm0y5-GcPMUmzhE5upDx0,93
|
|
35
35
|
ttnn_visualizer/tests/test_queries.py,sha256=HqaDXwudZpXiigJdHkdJP8oiUc-PtHASbpLnQQpbD7A,13792
|
|
36
|
-
ttnn_visualizer/tests/test_serializers.py,sha256=
|
|
37
|
-
ttnn_visualizer-0.
|
|
38
|
-
ttnn_visualizer-0.
|
|
39
|
-
ttnn_visualizer-0.
|
|
40
|
-
ttnn_visualizer-0.
|
|
41
|
-
ttnn_visualizer-0.
|
|
42
|
-
ttnn_visualizer-0.
|
|
43
|
-
ttnn_visualizer-0.
|
|
36
|
+
ttnn_visualizer/tests/test_serializers.py,sha256=xwWaiH-uQN-yiEkOScCsF-JEmQliQ62eKTURijdDPBo,18820
|
|
37
|
+
ttnn_visualizer-0.57.0.dist-info/licenses/LICENSE,sha256=bapl7NysYmv8aYSVxr5qFDya0vCqppyjkyyNJYosBdc,20044
|
|
38
|
+
ttnn_visualizer-0.57.0.dist-info/licenses/LICENSE_understanding.txt,sha256=pymi-yb_RvYM9p2ZA4iSNsImcvhDBBxlGuJCY9dTq7M,233
|
|
39
|
+
ttnn_visualizer-0.57.0.dist-info/METADATA,sha256=Tf6S_wlK8bss8SutpvapGKw7oDQ1UGJ2MlZvq0__Y34,7780
|
|
40
|
+
ttnn_visualizer-0.57.0.dist-info/WHEEL,sha256=lTU6B6eIfYoiQJTZNc-fyaR6BpL6ehTzU3xGYxn2n8k,91
|
|
41
|
+
ttnn_visualizer-0.57.0.dist-info/entry_points.txt,sha256=QpuUpkmQ_mEHJTMqOBdU0MH2Z4WF_9iFsGACeyyAO1E,61
|
|
42
|
+
ttnn_visualizer-0.57.0.dist-info/top_level.txt,sha256=M1EGkvDOuIfbhDbcUdz2-TSdmCtDoQ2Uyag9k5JLDSY,16
|
|
43
|
+
ttnn_visualizer-0.57.0.dist-info/RECORD,,
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/allPaths-CjoqZRdA.js","assets/index-CnPrfHYh.js","assets/index-Cnc1EkDo.js","assets/index-6Y2MAcdI.js","assets/index-CdKEq0U_.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{_ as e}from"./index-6Y2MAcdI.js";const s=async(t,a)=>{const{getIconPaths:o}=await e(async()=>{const{getIconPaths:r}=await import("./allPaths-CjoqZRdA.js");return{getIconPaths:r}},__vite__mapDeps([0,1,2,3,4]));return o(t,a)};export{s as allPathsLoader};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|