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.
@@ -1 +1 @@
1
- import{p as r,I as s,_ as a}from"./index-6Y2MAcdI.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};
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-6Y2MAcdI.js"></script>
38
- <link rel="stylesheet" crossorigin href="/static/assets/index-CdKEq0U_.css">
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.56.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.6
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=-GG86m004fDS7QbKWOojYoucC1D8c84JsWaMf6OI_3Q,7811
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=0s2zGA7CH1fbV6BWB-MhdHfWW7GhkDti4gVJyDmeCE8,9607
13
- ttnn_visualizer/serializers.py,sha256=iZ8sMjstBV0uxh-2HTby6iTdztDzRCqJ9tW_7Mag228,8878
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=jyLUlzEml9SqXPMbKKR7ARzpG3aM_7dBZZVn339Z6-U,46789
20
- ttnn_visualizer/static/index.html,sha256=-r_M-LW-Y3xUTbkZlX3vPaiHu2DeYeEaYSQPVblDOv0,1135
21
- ttnn_visualizer/static/assets/allPaths-CjoqZRdA.js,sha256=LDCEMf-8PICsJuonTfQGJuE4EYhYoEuZAaPgQyNopNM,255
22
- ttnn_visualizer/static/assets/allPathsLoader-B2Ql6QSz.js,sha256=UP2iC7pwhTIdnlMsGVFScK5WLYUYZ_uhjR7JoB7LZUQ,477
23
- ttnn_visualizer/static/assets/index-6Y2MAcdI.js,sha256=ULUeupsV5M13POMaCwMJzp9U0duESdrANmKu212J2I0,7906447
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-CT0Xi3QT.js,sha256=Wyuhe4s9V8aH_WB6UCfGTmr54dsNXqxtX68jxATH_2M,281
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=IJekAZRBpyOr_Ffp0dqSrnhFOU_ZZ8pHma_JO0j23TQ,18762
37
- ttnn_visualizer-0.56.0.dist-info/licenses/LICENSE,sha256=bapl7NysYmv8aYSVxr5qFDya0vCqppyjkyyNJYosBdc,20044
38
- ttnn_visualizer-0.56.0.dist-info/licenses/LICENSE_understanding.txt,sha256=pymi-yb_RvYM9p2ZA4iSNsImcvhDBBxlGuJCY9dTq7M,233
39
- ttnn_visualizer-0.56.0.dist-info/METADATA,sha256=2z6giNsUxtDx-8cXv7PX4KuHWwKBy2TQ2kHJUFbQXBY,7780
40
- ttnn_visualizer-0.56.0.dist-info/WHEEL,sha256=lTU6B6eIfYoiQJTZNc-fyaR6BpL6ehTzU3xGYxn2n8k,91
41
- ttnn_visualizer-0.56.0.dist-info/entry_points.txt,sha256=QpuUpkmQ_mEHJTMqOBdU0MH2Z4WF_9iFsGACeyyAO1E,61
42
- ttnn_visualizer-0.56.0.dist-info/top_level.txt,sha256=M1EGkvDOuIfbhDbcUdz2-TSdmCtDoQ2Uyag9k5JLDSY,16
43
- ttnn_visualizer-0.56.0.dist-info/RECORD,,
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};