ttnn-visualizer 0.45.0__py3-none-any.whl → 0.46.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 (24) hide show
  1. ttnn_visualizer/decorators.py +3 -3
  2. ttnn_visualizer/sftp_operations.py +23 -8
  3. ttnn_visualizer/static/assets/allPaths-esBqnTg5.js +1 -0
  4. ttnn_visualizer/static/assets/allPathsLoader-KPOKJ-lr.js +2 -0
  5. ttnn_visualizer/static/assets/index-03c8d4Gh.js +1 -0
  6. ttnn_visualizer/static/assets/{index-BgTcwiDZ.js → index-BANm1CMY.js} +375 -375
  7. ttnn_visualizer/static/assets/index-BuHal8Ii.css +7 -0
  8. ttnn_visualizer/static/assets/index-PKNBViIU.js +1 -0
  9. ttnn_visualizer/static/assets/splitPathsBySizeLoader-DYuDhweD.js +1 -0
  10. ttnn_visualizer/static/index.html +2 -2
  11. ttnn_visualizer/views.py +9 -4
  12. {ttnn_visualizer-0.45.0.dist-info → ttnn_visualizer-0.46.0.dist-info}/METADATA +4 -3
  13. {ttnn_visualizer-0.45.0.dist-info → ttnn_visualizer-0.46.0.dist-info}/RECORD +18 -18
  14. {ttnn_visualizer-0.45.0.dist-info → ttnn_visualizer-0.46.0.dist-info}/licenses/LICENSE +6 -0
  15. ttnn_visualizer/static/assets/allPaths-CWDYwlGf.js +0 -1
  16. ttnn_visualizer/static/assets/allPathsLoader-CWMmYjN2.js +0 -2
  17. ttnn_visualizer/static/assets/index-B-fsa5Ru.js +0 -1
  18. ttnn_visualizer/static/assets/index-DLOviMB1.js +0 -1
  19. ttnn_visualizer/static/assets/index-cjyfcubn.css +0 -7
  20. ttnn_visualizer/static/assets/splitPathsBySizeLoader-BHSjwVae.js +0 -1
  21. {ttnn_visualizer-0.45.0.dist-info → ttnn_visualizer-0.46.0.dist-info}/WHEEL +0 -0
  22. {ttnn_visualizer-0.45.0.dist-info → ttnn_visualizer-0.46.0.dist-info}/entry_points.txt +0 -0
  23. {ttnn_visualizer-0.45.0.dist-info → ttnn_visualizer-0.46.0.dist-info}/licenses/LICENSE_understanding.txt +0 -0
  24. {ttnn_visualizer-0.45.0.dist-info → ttnn_visualizer-0.46.0.dist-info}/top_level.txt +0 -0
@@ -90,13 +90,13 @@ def remote_exception_handler(func):
90
90
  current_app.logger.error(f"File not found: {str(err)}")
91
91
  raise RemoteConnectionException(
92
92
  status=ConnectionTestStates.FAILED,
93
- message=f"Unable to open path {connection.path}: {str(err)}",
93
+ message=f"Unable to open path: {str(err)}",
94
94
  )
95
95
  except NoProjectsException as err:
96
96
  current_app.logger.error(f"No projects: {str(err)}")
97
97
  raise RemoteConnectionException(
98
98
  status=ConnectionTestStates.FAILED,
99
- message=f"No projects found at remote location: {connection.path}",
99
+ message=f"No projects found at remote location: {str(err)}",
100
100
  )
101
101
  except NoValidConnectionsError as err:
102
102
  current_app.logger.warning(
@@ -124,7 +124,7 @@ def remote_exception_handler(func):
124
124
  status=ConnectionTestStates.FAILED, message=message
125
125
  )
126
126
  except IOError as err:
127
- message = f"Error opening remote folder {connection.path}: {str(err)}"
127
+ message = f"Error opening remote folder: {str(err)}"
128
128
  if "Name or service not known" in str(err):
129
129
  message = f"Unable to connect to {connection.host} - check hostname"
130
130
  raise RemoteConnectionException(
@@ -4,7 +4,6 @@
4
4
 
5
5
  import json
6
6
  import logging
7
- import re
8
7
  import subprocess
9
8
  import time
10
9
  from pathlib import Path
@@ -16,9 +15,7 @@ from flask import current_app
16
15
  from ttnn_visualizer.decorators import remote_exception_handler
17
16
  from ttnn_visualizer.enums import ConnectionTestStates
18
17
  from ttnn_visualizer.exceptions import (
19
- AuthenticationException,
20
18
  NoProjectsException,
21
- NoValidConnectionsError,
22
19
  RemoteConnectionException,
23
20
  SSHException,
24
21
  )
@@ -623,14 +620,30 @@ def read_remote_file(
623
620
 
624
621
  @remote_exception_handler
625
622
  def check_remote_path_for_reports(remote_connection):
626
- """Check the remote path for config files."""
627
- remote_config_paths = find_folders_by_files(
623
+ remote_profiler_paths = find_folders_by_files(
628
624
  remote_connection, remote_connection.profilerPath, [TEST_CONFIG_FILE]
629
625
  )
630
- if not remote_config_paths:
626
+
627
+ remote_performance_paths = find_folders_by_files(
628
+ remote_connection, remote_connection.performancePath, [TEST_PROFILER_FILE]
629
+ )
630
+
631
+ errors = []
632
+ if not remote_profiler_paths and remote_connection.profilerPath:
633
+ errors.append(
634
+ f"No matching profiler projects found: {remote_connection.profilerPath}"
635
+ )
636
+ if not remote_performance_paths and remote_connection.performancePath:
637
+ errors.append(
638
+ f"No matching performance projects found: {remote_connection.performancePath}"
639
+ )
640
+
641
+ if errors:
631
642
  raise NoProjectsException(
632
- message="No projects found at path", status=ConnectionTestStates.FAILED
643
+ message="; ".join(errors),
644
+ status=ConnectionTestStates.FAILED,
633
645
  )
646
+
634
647
  return True
635
648
 
636
649
 
@@ -648,8 +661,10 @@ def check_remote_path_exists(remote_connection: RemoteConnection, path_key: str)
648
661
  # Directory does not exist or is inaccessible
649
662
  if path_key == "performancePath":
650
663
  message = "Performance directory does not exist or cannot be accessed"
651
- else:
664
+ if path_key == "profilerPath":
652
665
  message = "Profiler directory does not exist or cannot be accessed"
666
+ else:
667
+ message = f"Remote path '{path}' does not exist or cannot be accessed"
653
668
 
654
669
  logger.error(message)
655
670
  raise RemoteConnectionException(
@@ -0,0 +1 @@
1
+ import{I as s}from"./index-03c8d4Gh.js";import{I as r}from"./index-PKNBViIU.js";import{p as n,I as c}from"./index-BANm1CMY.js";function p(t,a){const o=n(t);return a===c.STANDARD?s[o]:r[o]}export{s as IconSvgPaths16,r as IconSvgPaths20,p as getIconPaths};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/allPaths-esBqnTg5.js","assets/index-03c8d4Gh.js","assets/index-PKNBViIU.js","assets/index-BANm1CMY.js","assets/index-BuHal8Ii.css"])))=>i.map(i=>d[i]);
2
+ import{_ as e}from"./index-BANm1CMY.js";const s=async(t,a)=>{const{getIconPaths:o}=await e(async()=>{const{getIconPaths:r}=await import("./allPaths-esBqnTg5.js");return{getIconPaths:r}},__vite__mapDeps([0,1,2,3,4]));return o(t,a)};export{s as allPathsLoader};