ttnn-visualizer 0.43.0__py3-none-any.whl → 0.44.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.
Files changed (33) hide show
  1. ttnn_visualizer/app.py +4 -5
  2. ttnn_visualizer/csv_queries.py +35 -287
  3. ttnn_visualizer/decorators.py +5 -6
  4. ttnn_visualizer/extensions.py +1 -2
  5. ttnn_visualizer/file_uploads.py +0 -1
  6. ttnn_visualizer/instances.py +4 -8
  7. ttnn_visualizer/models.py +3 -7
  8. ttnn_visualizer/queries.py +11 -18
  9. ttnn_visualizer/remote_sqlite_setup.py +2 -2
  10. ttnn_visualizer/settings.py +1 -1
  11. ttnn_visualizer/sftp_operations.py +4 -9
  12. ttnn_visualizer/sockets.py +1 -3
  13. ttnn_visualizer/static/assets/{allPaths-BQN_j7ek.js → allPaths-dhyS1SXV.js} +1 -1
  14. ttnn_visualizer/static/assets/{allPathsLoader-BvkkQ77q.js → allPathsLoader-B34lEBag.js} +2 -2
  15. ttnn_visualizer/static/assets/{index-Bng0kcmi.js → index-CemTxGZ4.js} +277 -270
  16. ttnn_visualizer/static/assets/{index-C-t6jBt9.css → index-DdkKoj59.css} +2 -2
  17. ttnn_visualizer/static/assets/{splitPathsBySizeLoader-Cl0NRdfL.js → splitPathsBySizeLoader-jLagNmfk.js} +1 -1
  18. ttnn_visualizer/static/index.html +2 -2
  19. ttnn_visualizer/tests/test_queries.py +4 -10
  20. ttnn_visualizer/tests/test_serializers.py +11 -11
  21. ttnn_visualizer/utils.py +3 -4
  22. ttnn_visualizer/views.py +34 -83
  23. {ttnn_visualizer-0.43.0.dist-info → ttnn_visualizer-0.44.0.dist-info}/METADATA +13 -11
  24. ttnn_visualizer-0.44.0.dist-info/RECORD +42 -0
  25. {ttnn_visualizer-0.43.0.dist-info → ttnn_visualizer-0.44.0.dist-info}/WHEEL +1 -1
  26. ttnn_visualizer/bin/docker-entrypoint-web +0 -16
  27. ttnn_visualizer/bin/pip3-install +0 -17
  28. ttnn_visualizer/requirements.txt +0 -23
  29. ttnn_visualizer-0.43.0.dist-info/RECORD +0 -45
  30. {ttnn_visualizer-0.43.0.dist-info → ttnn_visualizer-0.44.0.dist-info}/entry_points.txt +0 -0
  31. {ttnn_visualizer-0.43.0.dist-info → ttnn_visualizer-0.44.0.dist-info/licenses}/LICENSE +0 -0
  32. {ttnn_visualizer-0.43.0.dist-info → ttnn_visualizer-0.44.0.dist-info/licenses}/LICENSE_understanding.txt +0 -0
  33. {ttnn_visualizer-0.43.0.dist-info → ttnn_visualizer-0.44.0.dist-info}/top_level.txt +0 -0
@@ -1 +1 @@
1
- import{_ as o,a as _,b as i,p as c,I as u}from"./index-Bng0kcmi.js";var p=function(n,s){return o(void 0,void 0,void 0,function(){var a,r;return _(this,function(e){switch(e.label){case 0:return a=c(n),s!==u.STANDARD?[3,2]:[4,i(()=>import("./index-DLOviMB1.js").then(t=>t.I),[])];case 1:return r=e.sent(),[3,4];case 2:return[4,i(()=>import("./index-B-fsa5Ru.js").then(t=>t.I),[])];case 3:r=e.sent(),e.label=4;case 4:return[2,r[a]]}})})};export{p as splitPathsBySizeLoader};
1
+ import{_ as o,a as _,b as i,p as c,I as u}from"./index-CemTxGZ4.js";var p=function(n,s){return o(void 0,void 0,void 0,function(){var a,r;return _(this,function(e){switch(e.label){case 0:return a=c(n),s!==u.STANDARD?[3,2]:[4,i(()=>import("./index-DLOviMB1.js").then(t=>t.I),[])];case 1:return r=e.sent(),[3,4];case 2:return[4,i(()=>import("./index-B-fsa5Ru.js").then(t=>t.I),[])];case 3:r=e.sent(),e.label=4;case 4:return[2,r[a]]}})})};export{p as splitPathsBySizeLoader};
@@ -34,8 +34,8 @@
34
34
  /* SERVER_CONFIG */
35
35
  </script>
36
36
 
37
- <script type="module" crossorigin src="/static/assets/index-Bng0kcmi.js"></script>
38
- <link rel="stylesheet" crossorigin href="/static/assets/index-C-t6jBt9.css">
37
+ <script type="module" crossorigin src="/static/assets/index-CemTxGZ4.js"></script>
38
+ <link rel="stylesheet" crossorigin href="/static/assets/index-DdkKoj59.css">
39
39
  </head>
40
40
  <body>
41
41
 
@@ -3,19 +3,13 @@
3
3
  # SPDX-FileCopyrightText: © 2025 Tenstorrent AI ULC
4
4
 
5
5
 
6
- import tempfile
7
6
  import sqlite3
8
7
  import tempfile
9
8
  import unittest
10
- from unittest.mock import Mock
11
- from unittest.mock import patch
12
-
13
- from ttnn_visualizer.models import (
14
- DeviceOperation,
15
- TensorComparisonRecord,
16
- )
17
- from ttnn_visualizer.queries import DatabaseQueries
18
- from ttnn_visualizer.queries import LocalQueryRunner
9
+ from unittest.mock import Mock, patch
10
+
11
+ from ttnn_visualizer.models import DeviceOperation, TensorComparisonRecord
12
+ from ttnn_visualizer.queries import DatabaseQueries, LocalQueryRunner
19
13
 
20
14
 
21
15
  class TestQueryTable(unittest.TestCase):
@@ -5,28 +5,28 @@
5
5
  import unittest
6
6
 
7
7
  from ttnn_visualizer.models import (
8
- Operation,
9
- OperationArgument,
10
- Tensor,
8
+ Buffer,
9
+ BufferPage,
10
+ BufferType,
11
11
  Device,
12
+ DeviceOperation,
12
13
  InputTensor,
14
+ Operation,
15
+ OperationArgument,
13
16
  OutputTensor,
14
17
  ProducersConsumers,
15
18
  StackTrace,
16
- DeviceOperation,
17
- Buffer,
18
- BufferType,
19
- BufferPage,
19
+ Tensor,
20
20
  )
21
21
  from ttnn_visualizer.serializers import (
22
- serialize_operations,
22
+ serialize_buffer_pages,
23
+ serialize_devices,
23
24
  serialize_inputs_outputs,
24
25
  serialize_operation,
25
- serialize_tensors,
26
- serialize_buffer_pages,
27
26
  serialize_operation_buffers,
27
+ serialize_operations,
28
28
  serialize_operations_buffers,
29
- serialize_devices,
29
+ serialize_tensors,
30
30
  )
31
31
 
32
32
 
ttnn_visualizer/utils.py CHANGED
@@ -6,13 +6,12 @@ import dataclasses
6
6
  import enum
7
7
  import json
8
8
  import logging
9
+ import re
10
+ import time
9
11
  from functools import wraps
10
12
  from pathlib import Path
11
- import time
12
- import re
13
13
  from timeit import default_timer
14
- from typing import Callable, Optional, Dict, Any
15
-
14
+ from typing import Any, Callable, Dict, Optional
16
15
 
17
16
  logger = logging.getLogger(__name__)
18
17
 
ttnn_visualizer/views.py CHANGED
@@ -15,30 +15,22 @@ from typing import List
15
15
 
16
16
  import yaml
17
17
  import zstd
18
- from flask import (
19
- Blueprint,
20
- Response,
21
- current_app,
22
- jsonify,
23
- session,
24
- request,
25
- )
26
-
18
+ from flask import Blueprint, Response, current_app, jsonify, request, session
27
19
  from ttnn_visualizer.csv_queries import (
28
20
  DeviceLogProfilerQueries,
21
+ NPEQueries,
29
22
  OpsPerformanceQueries,
30
23
  OpsPerformanceReportQueries,
31
- NPEQueries,
32
24
  )
33
- from ttnn_visualizer.decorators import with_instance, local_only
25
+ from ttnn_visualizer.decorators import local_only, with_instance
34
26
  from ttnn_visualizer.enums import ConnectionTestStates
35
- from ttnn_visualizer.exceptions import DataFormatError
36
- from ttnn_visualizer.exceptions import RemoteConnectionException
37
27
  from ttnn_visualizer.exceptions import (
38
- SSHException,
39
28
  AuthenticationException,
40
- NoValidConnectionsError,
41
29
  AuthenticationFailedException,
30
+ DataFormatError,
31
+ NoValidConnectionsError,
32
+ RemoteConnectionException,
33
+ SSHException,
42
34
  )
43
35
  from ttnn_visualizer.file_uploads import (
44
36
  extract_folder_name_from_files,
@@ -46,37 +38,34 @@ from ttnn_visualizer.file_uploads import (
46
38
  save_uploaded_files,
47
39
  validate_files,
48
40
  )
49
- from ttnn_visualizer.instances import (
50
- get_instances,
51
- update_instance,
52
- )
41
+ from ttnn_visualizer.instances import get_instances, update_instance
53
42
  from ttnn_visualizer.models import (
54
- RemoteReportFolder,
43
+ Instance,
55
44
  RemoteConnection,
45
+ RemoteReportFolder,
56
46
  StatusMessage,
57
- Instance,
58
47
  )
59
48
  from ttnn_visualizer.queries import DatabaseQueries
60
- from ttnn_visualizer.remote_sqlite_setup import get_sqlite_path, check_sqlite_path
49
+ from ttnn_visualizer.remote_sqlite_setup import check_sqlite_path, get_sqlite_path
61
50
  from ttnn_visualizer.serializers import (
62
- serialize_operations,
63
- serialize_tensors,
64
- serialize_operation,
51
+ serialize_buffer,
65
52
  serialize_buffer_pages,
53
+ serialize_devices,
54
+ serialize_operation,
66
55
  serialize_operation_buffers,
56
+ serialize_operations,
67
57
  serialize_operations_buffers,
68
- serialize_devices,
69
- serialize_buffer,
58
+ serialize_tensors,
70
59
  )
71
60
  from ttnn_visualizer.sftp_operations import (
72
- sync_remote_profiler_folders,
73
- read_remote_file,
74
- check_remote_path_for_reports,
75
- get_remote_profiler_folders,
76
61
  check_remote_path_exists,
62
+ check_remote_path_for_reports,
63
+ get_cluster_desc,
77
64
  get_remote_performance_folders,
65
+ get_remote_profiler_folders,
66
+ read_remote_file,
78
67
  sync_remote_performance_folders,
79
- get_cluster_desc,
68
+ sync_remote_profiler_folders,
80
69
  )
81
70
  from ttnn_visualizer.utils import (
82
71
  get_cluster_descriptor_path,
@@ -316,48 +305,24 @@ def operation_detail(operation_id, instance: Instance):
316
305
  @timer
317
306
  def operation_history(instance: Instance):
318
307
  operation_history_filename = "operation_history.json"
319
- if instance.remote_connection and instance.remote_connection.useRemoteQuerying:
320
- if not instance.remote_folder:
321
- return []
322
- operation_history = read_remote_file(
323
- remote_connection=instance.remote_connection,
324
- remote_path=Path(
325
- instance.remote_folder.remotePath, operation_history_filename
326
- ),
327
- )
328
- if not operation_history:
329
- return []
330
- return json.loads(operation_history)
331
- else:
332
- operation_history_file = (
333
- Path(str(instance.profiler_path)).parent / operation_history_filename
334
- )
335
- if not operation_history_file.exists():
336
- return []
337
- with open(operation_history_file, "r") as file:
338
- return json.load(file)
308
+ operation_history_file = (
309
+ Path(str(instance.profiler_path)).parent / operation_history_filename
310
+ )
311
+ if not operation_history_file.exists():
312
+ return []
313
+ with open(operation_history_file, "r") as file:
314
+ return json.load(file)
339
315
 
340
316
 
341
317
  @api.route("/config")
342
318
  @with_instance
343
319
  @timer
344
320
  def get_config(instance: Instance):
345
- if instance.remote_connection and instance.remote_connection.useRemoteQuerying:
346
- if not instance.remote_profiler_folder:
347
- return {}
348
- config = read_remote_file(
349
- remote_connection=instance.remote_connection,
350
- remote_path=Path(instance.remote_profiler_folder.remotePath, "config.json"),
351
- )
352
- if not config:
353
- return {}
354
- return config
355
- else:
356
- config_file = Path(str(instance.profiler_path)).parent.joinpath("config.json")
357
- if not config_file.exists():
358
- return {}
359
- with open(config_file, "r") as file:
360
- return json.load(file)
321
+ config_file = Path(str(instance.profiler_path)).parent.joinpath("config.json")
322
+ if not config_file.exists():
323
+ return {}
324
+ with open(config_file, "r") as file:
325
+ return json.load(file)
361
326
 
362
327
 
363
328
  @api.route("/tensors", methods=["GET"])
@@ -1187,20 +1152,6 @@ def test_remote_folder():
1187
1152
  except RemoteConnectionException as e:
1188
1153
  add_status(ConnectionTestStates.FAILED.value, e.message)
1189
1154
 
1190
- # Test Sqlite binary path configuration
1191
- if not has_failures() and connection.useRemoteQuerying:
1192
- if not connection.sqliteBinaryPath:
1193
- add_status(ConnectionTestStates.FAILED, "SQLite binary path not provided")
1194
- else:
1195
- try:
1196
- check_sqlite_path(connection)
1197
- add_status(ConnectionTestStates.OK, "SQLite binary found.")
1198
- except AuthenticationFailedException as e:
1199
- add_status(ConnectionTestStates.FAILED.value, e.message)
1200
- return [status.model_dump() for status in statuses], e.http_status
1201
- except RemoteConnectionException as e:
1202
- add_status(ConnectionTestStates.FAILED, e.message)
1203
-
1204
1155
  return [status.model_dump() for status in statuses]
1205
1156
 
1206
1157
 
@@ -1324,7 +1275,7 @@ def use_remote_folder():
1324
1275
  folder_name,
1325
1276
  )
1326
1277
 
1327
- if not connection.useRemoteQuerying and not connection_directory.exists():
1278
+ if not connection_directory.exists():
1328
1279
  return Response(
1329
1280
  status=HTTPStatus.INTERNAL_SERVER_ERROR,
1330
1281
  response=f"{connection_directory} does not exist.",
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: ttnn_visualizer
3
- Version: 0.43.0
3
+ Version: 0.44.0
4
4
  Summary: TT-NN Visualizer
5
5
  Classifier: Programming Language :: Python :: 3
6
6
  Classifier: License :: OSI Approved :: MIT License
@@ -9,26 +9,28 @@ Requires-Python: >=3.10
9
9
  Description-Content-Type: text/markdown
10
10
  License-File: LICENSE
11
11
  License-File: LICENSE_understanding.txt
12
- Requires-Dist: Flask==3.1.1
13
- Requires-Dist: Flask-Cors==4.0.1
12
+ Requires-Dist: build
13
+ Requires-Dist: Flask-Cors==6.0.0
14
+ Requires-Dist: flask-socketio==5.4.1
15
+ Requires-Dist: flask-sqlalchemy==3.1.1
14
16
  Requires-Dist: Flask-Static-Digest==0.4.1
15
- Requires-Dist: Flask-SocketIO==5.4.1
16
- Requires-Dist: Flask-SQLAlchemy==3.1.1
17
+ Requires-Dist: Flask==3.1.1
18
+ Requires-Dist: gevent==24.10.2
19
+ Requires-Dist: gunicorn~=23.0.0
17
20
  Requires-Dist: pandas==2.2.3
18
- Requires-Dist: gunicorn~=22.0.0
21
+ Requires-Dist: pydantic_core==2.18.4
19
22
  Requires-Dist: pydantic==2.7.3
20
- Requires-Dist: pydantic-core==2.18.4
21
- Requires-Dist: setuptools==65.5.0
22
- Requires-Dist: gevent===24.10.2
23
23
  Requires-Dist: python-dotenv==1.0.1
24
- Requires-Dist: sqlalchemy==2.0.34
25
24
  Requires-Dist: PyYAML==6.0.2
26
25
  Requires-Dist: tt-perf-report==1.0.7
26
+ Requires-Dist: uvicorn==0.30.1
27
27
  Requires-Dist: zstd==1.5.7.0
28
28
  Provides-Extra: dev
29
29
  Requires-Dist: black==25.1.0; extra == "dev"
30
+ Requires-Dist: isort==6.0.1; extra == "dev"
30
31
  Requires-Dist: mypy; extra == "dev"
31
32
  Requires-Dist: pytest==8.4.1; extra == "dev"
33
+ Dynamic: license-file
32
34
 
33
35
 
34
36
  <div align="center">
@@ -0,0 +1,42 @@
1
+ ttnn_visualizer/__init__.py,sha256=FCQeTWnXsf-Wx-fay53-lQsm0y5-GcPMUmzhE5upDx0,93
2
+ ttnn_visualizer/app.py,sha256=q5Tb_69HawKdiw2uKe6_cOmYfvU5as40DoREvLfb_38,7281
3
+ ttnn_visualizer/csv_queries.py,sha256=5RacmSEsNcRx0ZpZQREMbfePfVEG5gcKu_tGo9YZz-c,16644
4
+ ttnn_visualizer/decorators.py,sha256=O1QJwuQOHsFNL1H9qOdwe2zlc8r5DsboQOmE6LFwksw,5848
5
+ ttnn_visualizer/enums.py,sha256=SEIqp1tlc_zw2vQ8nHH9YTaV0m3Cb8fjn_goqz5wurE,203
6
+ ttnn_visualizer/exceptions.py,sha256=iXx1EmodousLr2y-PKpwYcxV_qJKVcvvjPMn4V-9M0w,2124
7
+ ttnn_visualizer/extensions.py,sha256=6OIRJ8-_ccfjOaXSruRXiS29jEbxp4Pyk-0JlD8IHBQ,379
8
+ ttnn_visualizer/file_uploads.py,sha256=05FzYjZZy1RHuGgFeJiAjtrpzYd6KcrZzpvIjBCUZss,5011
9
+ ttnn_visualizer/instances.py,sha256=XctQgQXdlwtuXWFXFletRoX1m1lGUZdiW3TwIIjY0uw,11564
10
+ ttnn_visualizer/models.py,sha256=6Uf44DZv9SZLcPeuqPoiuggo9hy7VWSngG7ILlne4hM,7781
11
+ ttnn_visualizer/queries.py,sha256=3Nv0jXIDNVH-qKx9xc9zSINy4FdmDidu-1I6f-VYV48,9603
12
+ ttnn_visualizer/remote_sqlite_setup.py,sha256=kGAUcUaDaB8wGSYdgJkkZ6te3ThnlVfSt1ooIQXxf_k,5959
13
+ ttnn_visualizer/serializers.py,sha256=LmjHIrFg8BLx1JKVFh9Nd_TcA7nyy1MwY2BOGnX1MKw,8029
14
+ ttnn_visualizer/settings.py,sha256=k2EEjbQNR8khbl5IrOetBPhbqgLlqXvuhm0E2z9ImCM,4607
15
+ ttnn_visualizer/sftp_operations.py,sha256=Bq2wMP1bxFZ7otWEfG7hI35K1LKrFSpI0DlvR9F5xCo,32569
16
+ ttnn_visualizer/sockets.py,sha256=W5pK0QmlsU58EH_Qnra6HlcswLS7vsw5C_pk4avVYvs,3706
17
+ ttnn_visualizer/utils.py,sha256=MYCpvP9z8yoIVwI2Sa3iUahajZMLDxRmtRWrrUyB4_8,6223
18
+ ttnn_visualizer/views.py,sha256=V3Lc4qP6oRHS9JiJUJ1EJec-R0Y_111yIxEkWTevhcU,47562
19
+ ttnn_visualizer/static/index.html,sha256=626ituCiOpggYLOB96z8gyd6uku7C9I3p3onlbY6tZI,1135
20
+ ttnn_visualizer/static/assets/allPaths-dhyS1SXV.js,sha256=xhoaJkgQjMA6RrCE2mvnGQ3HFl3faF-3HWWROknEhnc,309
21
+ ttnn_visualizer/static/assets/allPathsLoader-B34lEBag.js,sha256=k1nEQ6GfttVArRC5kr7G0luOgbpjOttqt5Pqn9vOLxU,550
22
+ ttnn_visualizer/static/assets/index-B-fsa5Ru.js,sha256=IonL7d7ppdDr-_FRJZQPWI4HHFTiygYvZGVlUxHY9R8,294235
23
+ ttnn_visualizer/static/assets/index-CemTxGZ4.js,sha256=c72Oe4I_d9hotYby_NUKcMj-zeb6DADOqz6Z7UByobo,7899971
24
+ ttnn_visualizer/static/assets/index-DLOviMB1.js,sha256=sI0W1vvwqvIwKP2_jglrwOhej3n5rJD72-d4ZhlUHqM,285612
25
+ ttnn_visualizer/static/assets/index-DdkKoj59.css,sha256=XcIJGBlPABPpvR7OCEZ6jlSU3PYzm187H-eYOHAyZcY,624415
26
+ ttnn_visualizer/static/assets/site-BTBrvHC5.webmanifest,sha256=Uy_XmnGuYFVf-OZuma2NvgEPdrCrevb3HZvaxSIHoA0,456
27
+ ttnn_visualizer/static/assets/splitPathsBySizeLoader-jLagNmfk.js,sha256=Jm0y_IGwrC-vGtwoZLWtIEFuBgzwzNnr_wM0QxyYiYM,472
28
+ ttnn_visualizer/static/favicon/android-chrome-192x192.png,sha256=BZWA09Zxaa3fXbaeS6nhWo2e-DUSjm9ElzNQ_xTB5XU,6220
29
+ ttnn_visualizer/static/favicon/android-chrome-512x512.png,sha256=HBiJSZyguB3o8fMJuqIGcpeBy_9JOdImme3wD02UYCw,62626
30
+ ttnn_visualizer/static/favicon/favicon-32x32.png,sha256=Zw201qUsczQv1UvoQvJf5smQ2ss10xaTeWxmQNYCGtY,480
31
+ ttnn_visualizer/static/favicon/favicon.svg,sha256=wDPY3VrekJ_DE1TnJ2vUy602K3S4Xe9TgrdZ7jXK9c8,633
32
+ ttnn_visualizer/static/sample-data/cluster-desc.yaml,sha256=LMxOmsRUXtVVU5ogzYkXUozB3dg2IzqIRJQpV_O5qMU,29618
33
+ ttnn_visualizer/tests/__init__.py,sha256=FCQeTWnXsf-Wx-fay53-lQsm0y5-GcPMUmzhE5upDx0,93
34
+ ttnn_visualizer/tests/test_queries.py,sha256=HqaDXwudZpXiigJdHkdJP8oiUc-PtHASbpLnQQpbD7A,13792
35
+ ttnn_visualizer/tests/test_serializers.py,sha256=AF6m6tvewnZ_OSQMgMTUhsOI26GdJHPajvnRGIa9P4U,18492
36
+ ttnn_visualizer-0.44.0.dist-info/licenses/LICENSE,sha256=-Y7CZK1-MxZZ7l0Rb414S0SZ9tdCby-bMGl_LmFFicM,14806
37
+ ttnn_visualizer-0.44.0.dist-info/licenses/LICENSE_understanding.txt,sha256=pymi-yb_RvYM9p2ZA4iSNsImcvhDBBxlGuJCY9dTq7M,233
38
+ ttnn_visualizer-0.44.0.dist-info/METADATA,sha256=NLR0pXqaao9twuAnh7U2WpQPENdpByW6b4w1QMfXvx4,7557
39
+ ttnn_visualizer-0.44.0.dist-info/WHEEL,sha256=lTU6B6eIfYoiQJTZNc-fyaR6BpL6ehTzU3xGYxn2n8k,91
40
+ ttnn_visualizer-0.44.0.dist-info/entry_points.txt,sha256=QpuUpkmQ_mEHJTMqOBdU0MH2Z4WF_9iFsGACeyyAO1E,61
41
+ ttnn_visualizer-0.44.0.dist-info/top_level.txt,sha256=M1EGkvDOuIfbhDbcUdz2-TSdmCtDoQ2Uyag9k5JLDSY,16
42
+ ttnn_visualizer-0.44.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.45.1)
2
+ Generator: setuptools (78.1.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # SPDX-License-Identifier: Apache-2.0
4
- #
5
- # SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC
6
-
7
- set -e
8
-
9
- # Always keep this here as it ensures your latest built assets make their way
10
- # into your volume persisted public directory.
11
- cp -r /public /app/backend/ttnn_visualizer/static
12
-
13
- echo "Running as user: $(whoami)"
14
- echo "Keys present in agent: $(ssh-add -L)"
15
- echo "Current env $(env)"
16
- exec "$@"
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # SPDX-License-Identifier: Apache-2.0
4
- #
5
- # SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC
6
-
7
- set -e
8
-
9
- pip3 install --no-warn-script-location --no-cache-dir --user -r requirements.txt
10
-
11
- # If requirements.txt is newer than the lock file or the lock file doesn't exist.
12
- if [ requirements.txt -nt requirements-lock.txt ]; then
13
- pip3 freeze --user > requirements-lock.txt
14
- fi
15
-
16
- pip3 install --no-warn-script-location --no-cache-dir --user \
17
- -r requirements.txt -c requirements-lock.txt
@@ -1,23 +0,0 @@
1
- Flask==3.1.1
2
- gunicorn~=22.0.0
3
- uvicorn==0.30.1
4
- flask_cors==4.0.1
5
- pydantic==2.7.3
6
- pydantic_core==2.18.4
7
- flask_static_digest==0.4.1
8
- setuptools==65.5.0
9
- python-dotenv==1.0.1
10
- flask-sqlalchemy
11
- flask-socketio
12
- gevent==24.10.2
13
- pandas==2.2.3
14
- wheel
15
- build
16
- PyYAML==6.0.2
17
- python-dotenv==1.0.1
18
- tt-perf-report==1.0.7
19
- zstd==1.5.7.0
20
-
21
- # Dev dependencies
22
- mypy
23
- black==25.1.0
@@ -1,45 +0,0 @@
1
- ttnn_visualizer/__init__.py,sha256=FCQeTWnXsf-Wx-fay53-lQsm0y5-GcPMUmzhE5upDx0,93
2
- ttnn_visualizer/app.py,sha256=RZrW-Vbqi-ZN6CzCW9GrolVaA8nKBkaX2ULcdKhDiZI,7282
3
- ttnn_visualizer/csv_queries.py,sha256=v3iew4_TVsus_3bt5vCaHBMcOw4W3QZa4L46AZx6MdY,26662
4
- ttnn_visualizer/decorators.py,sha256=hOFfAWgsQlqwstJmni63s5o5ga-TuxuhVNW3jvRxMEo,5849
5
- ttnn_visualizer/enums.py,sha256=SEIqp1tlc_zw2vQ8nHH9YTaV0m3Cb8fjn_goqz5wurE,203
6
- ttnn_visualizer/exceptions.py,sha256=iXx1EmodousLr2y-PKpwYcxV_qJKVcvvjPMn4V-9M0w,2124
7
- ttnn_visualizer/extensions.py,sha256=AW2aujcvayePfrwovVcsXIUkCFe_k2T4Vk3OblZd4Bk,380
8
- ttnn_visualizer/file_uploads.py,sha256=kfjk6dxUZOIlHriF3bth7FWvCmCoXaCvQSIDjfsGgKQ,5012
9
- ttnn_visualizer/instances.py,sha256=pVlTWfq4aLPk2Toh53nfuTkmDrnBV5HPCmXKNo-yK84,11575
10
- ttnn_visualizer/models.py,sha256=Gd2GmfBmYcwXl7HgDt2NdvGxpdb20t85JRKLqwmZ77A,7852
11
- ttnn_visualizer/queries.py,sha256=MB57Ci3gyXn9jdXdR6KaMBHoHYt5jgdk3wP7jSDGWFA,9891
12
- ttnn_visualizer/remote_sqlite_setup.py,sha256=Rv6VZUABXn5-ysPA9urLnfdmAcduT0OnBducZpIpxHU,5959
13
- ttnn_visualizer/requirements.txt,sha256=l0HA8Gt9tLpuiBBavPP6KziCN1z33-q8JB8lomaa4hU,353
14
- ttnn_visualizer/serializers.py,sha256=LmjHIrFg8BLx1JKVFh9Nd_TcA7nyy1MwY2BOGnX1MKw,8029
15
- ttnn_visualizer/settings.py,sha256=Gy854sLhZBe-ahStymUiWG-X3C8JVdJUP8YUQ8iAcHQ,4607
16
- ttnn_visualizer/sftp_operations.py,sha256=mIbeuo1fGO-Ipgcu0PlrnONvqBWcIqGQHfzedWAfU5E,32587
17
- ttnn_visualizer/sockets.py,sha256=kJvd6dAQL4XhJ7kCqfgz6RqZmdDlQaBHcaawe1b6APY,3708
18
- ttnn_visualizer/utils.py,sha256=CLNarkx1olUIL3owMgbOICTIHlqcVwbWKO3ZoXkJO74,6224
19
- ttnn_visualizer/views.py,sha256=rkNCkjCmF3RWU40qlZPYRBF-LWO5qQTFSn4mntZx1YM,49392
20
- ttnn_visualizer/bin/docker-entrypoint-web,sha256=uuv6aubpMCfOcuvDBxwBDITE8PN39teuwyJ2zA5KWuw,413
21
- ttnn_visualizer/bin/pip3-install,sha256=nbSRT4GfJQIQ9KTNO3j-6b5WM4lrx9XA4GBlAURRMws,502
22
- ttnn_visualizer/static/index.html,sha256=q-PyP3UHids9LgIA68gaKiPolgi9ENLEAZZshzNlVwU,1135
23
- ttnn_visualizer/static/assets/allPaths-BQN_j7ek.js,sha256=2Gxw0xHwpwg1U724PFLqGlUkhCt8nj5Ug5QN2kfuYbE,309
24
- ttnn_visualizer/static/assets/allPathsLoader-BvkkQ77q.js,sha256=pCkIJpl9CWONYrMvh2HgkLfyM97aeL1VolHsHpY3vtA,550
25
- ttnn_visualizer/static/assets/index-B-fsa5Ru.js,sha256=IonL7d7ppdDr-_FRJZQPWI4HHFTiygYvZGVlUxHY9R8,294235
26
- ttnn_visualizer/static/assets/index-Bng0kcmi.js,sha256=-1maa2zxiVOSnr0fZ_Jn9Ar2bDZKPQ6ajWvYX7wWTkI,7784223
27
- ttnn_visualizer/static/assets/index-C-t6jBt9.css,sha256=ngV1lzCeoUs0nCQwylTY7QccuQpYEWDOQhBubspU8Pk,623810
28
- ttnn_visualizer/static/assets/index-DLOviMB1.js,sha256=sI0W1vvwqvIwKP2_jglrwOhej3n5rJD72-d4ZhlUHqM,285612
29
- ttnn_visualizer/static/assets/site-BTBrvHC5.webmanifest,sha256=Uy_XmnGuYFVf-OZuma2NvgEPdrCrevb3HZvaxSIHoA0,456
30
- ttnn_visualizer/static/assets/splitPathsBySizeLoader-Cl0NRdfL.js,sha256=n8ok4d76dE0iokaoEjFp1Ntr8ZxRJrWTOPpftJ4lzDc,472
31
- ttnn_visualizer/static/favicon/android-chrome-192x192.png,sha256=BZWA09Zxaa3fXbaeS6nhWo2e-DUSjm9ElzNQ_xTB5XU,6220
32
- ttnn_visualizer/static/favicon/android-chrome-512x512.png,sha256=HBiJSZyguB3o8fMJuqIGcpeBy_9JOdImme3wD02UYCw,62626
33
- ttnn_visualizer/static/favicon/favicon-32x32.png,sha256=Zw201qUsczQv1UvoQvJf5smQ2ss10xaTeWxmQNYCGtY,480
34
- ttnn_visualizer/static/favicon/favicon.svg,sha256=wDPY3VrekJ_DE1TnJ2vUy602K3S4Xe9TgrdZ7jXK9c8,633
35
- ttnn_visualizer/static/sample-data/cluster-desc.yaml,sha256=LMxOmsRUXtVVU5ogzYkXUozB3dg2IzqIRJQpV_O5qMU,29618
36
- ttnn_visualizer/tests/__init__.py,sha256=FCQeTWnXsf-Wx-fay53-lQsm0y5-GcPMUmzhE5upDx0,93
37
- ttnn_visualizer/tests/test_queries.py,sha256=D0wO_aQOLkcOSuiOEPgnIt_0zoQX53k2CDD3U9oPiFM,13881
38
- ttnn_visualizer/tests/test_serializers.py,sha256=EOvhXD1x-5kG9fOdbWqnh3NetSbHJS_AE_aJjIlw-O4,18492
39
- ttnn_visualizer-0.43.0.dist-info/LICENSE,sha256=-Y7CZK1-MxZZ7l0Rb414S0SZ9tdCby-bMGl_LmFFicM,14806
40
- ttnn_visualizer-0.43.0.dist-info/LICENSE_understanding.txt,sha256=pymi-yb_RvYM9p2ZA4iSNsImcvhDBBxlGuJCY9dTq7M,233
41
- ttnn_visualizer-0.43.0.dist-info/METADATA,sha256=B-9Is2if03hpxGMWp0b8Li_jYhzTnquruNsRyzZmTSo,7508
42
- ttnn_visualizer-0.43.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
43
- ttnn_visualizer-0.43.0.dist-info/entry_points.txt,sha256=QpuUpkmQ_mEHJTMqOBdU0MH2Z4WF_9iFsGACeyyAO1E,61
44
- ttnn_visualizer-0.43.0.dist-info/top_level.txt,sha256=M1EGkvDOuIfbhDbcUdz2-TSdmCtDoQ2Uyag9k5JLDSY,16
45
- ttnn_visualizer-0.43.0.dist-info/RECORD,,