Loading pixi.lock +147 −79 File changed.Preview size limit exceeded, changes collapsed. Show changes pyproject.toml +2 −1 Original line number Diff line number Diff line Loading @@ -30,8 +30,9 @@ nova-galaxy = ">=0.11.1" netcdf4 = ">=1.7.2" Authlib = "*" sfapi-client = ">=0.4.1,<0.5" fs-sshfs = ">=1.0.2,<2" setuptools = "<82.0.0" fsspec = ">=2026.3.0" paramiko = "*" [tool.pixi.feature.dev.pypi-dependencies] mypy = ">=1.10.0" Loading src/ips_fastran_gui/app/models/main_model.py +3 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,9 @@ class Config(BaseModel): run_location: RunLocationOption = Field( default=RunLocationOption.sf_perlmutter, title="Where Will You Run IPS Fastran?" ) # SSH Proxy filesystem parameters proxy_command: str = Field(default="", title="SSH Proxy Command") sshproxy_key: str = Field( default="", title="NERSC sshproxy Key", Loading src/ips_fastran_gui/app/models/tool_implementations/superfacility.py +9 −7 Original line number Diff line number Diff line Loading @@ -6,8 +6,8 @@ from shutil import rmtree from typing import Any, Dict, List from authlib.jose import JsonWebKey from fs.sshfs import SSHFS from paramiko import RSAKey from fsspec import filesystem from paramiko import ProxyCommand, RSAKey from sfapi_client import Client from sfapi_client.compute import Machine from sfapi_client.jobs import JobState Loading Loading @@ -91,13 +91,15 @@ class SuperfacilityTool: self.model.config.result_files.append(name) def read_files(self) -> Dict[str, Any]: filesystem = SSHFS( "dtn.nersc.gov", compress=True, perlmutter_fs = filesystem( "ssh", host="dtn.nersc.gov", pkey=RSAKey.from_private_key(StringIO(self.model.config.sshproxy_key)), user=self.user.name, sock=ProxyCommand(self.model.config.proxy_command) if self.model.config.proxy_command else None, username=self.user.name, ) print(filesystem) for root, dirs, files in perlmutter_fs.walk(self.working_directory): print(root, dirs, files) return self.file_tree Loading src/ips_fastran_gui/app/views/tabs/input_files_tab.py +3 −2 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ import os from nova.trame.view.components import RemoteFileInput from nova.trame.view.components import InputField, RemoteFileInput from nova.trame.view.layouts import GridLayout, HBoxLayout, VBoxLayout from trame.app import get_server from trame.widgets import code Loading @@ -28,7 +28,8 @@ class InputFilesTab: # TODO: base_paths should be set differently if running on a cluster base_paths=[os.getenv("HOME", os.getcwd())], ) with HBoxLayout(v_else=True, classes="mb-1", halign="center"): with HBoxLayout(v_else=True, classes="mb-1", valign="center"): InputField(v_model="config.proxy_command") vuetify.VBtn("Connect to Perlmutter Filesystem", click=self.view_model.connect) with GridLayout(classes="mb-2", columns=3, stretch=True): Loading Loading
pyproject.toml +2 −1 Original line number Diff line number Diff line Loading @@ -30,8 +30,9 @@ nova-galaxy = ">=0.11.1" netcdf4 = ">=1.7.2" Authlib = "*" sfapi-client = ">=0.4.1,<0.5" fs-sshfs = ">=1.0.2,<2" setuptools = "<82.0.0" fsspec = ">=2026.3.0" paramiko = "*" [tool.pixi.feature.dev.pypi-dependencies] mypy = ">=1.10.0" Loading
src/ips_fastran_gui/app/models/main_model.py +3 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,9 @@ class Config(BaseModel): run_location: RunLocationOption = Field( default=RunLocationOption.sf_perlmutter, title="Where Will You Run IPS Fastran?" ) # SSH Proxy filesystem parameters proxy_command: str = Field(default="", title="SSH Proxy Command") sshproxy_key: str = Field( default="", title="NERSC sshproxy Key", Loading
src/ips_fastran_gui/app/models/tool_implementations/superfacility.py +9 −7 Original line number Diff line number Diff line Loading @@ -6,8 +6,8 @@ from shutil import rmtree from typing import Any, Dict, List from authlib.jose import JsonWebKey from fs.sshfs import SSHFS from paramiko import RSAKey from fsspec import filesystem from paramiko import ProxyCommand, RSAKey from sfapi_client import Client from sfapi_client.compute import Machine from sfapi_client.jobs import JobState Loading Loading @@ -91,13 +91,15 @@ class SuperfacilityTool: self.model.config.result_files.append(name) def read_files(self) -> Dict[str, Any]: filesystem = SSHFS( "dtn.nersc.gov", compress=True, perlmutter_fs = filesystem( "ssh", host="dtn.nersc.gov", pkey=RSAKey.from_private_key(StringIO(self.model.config.sshproxy_key)), user=self.user.name, sock=ProxyCommand(self.model.config.proxy_command) if self.model.config.proxy_command else None, username=self.user.name, ) print(filesystem) for root, dirs, files in perlmutter_fs.walk(self.working_directory): print(root, dirs, files) return self.file_tree Loading
src/ips_fastran_gui/app/views/tabs/input_files_tab.py +3 −2 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ import os from nova.trame.view.components import RemoteFileInput from nova.trame.view.components import InputField, RemoteFileInput from nova.trame.view.layouts import GridLayout, HBoxLayout, VBoxLayout from trame.app import get_server from trame.widgets import code Loading @@ -28,7 +28,8 @@ class InputFilesTab: # TODO: base_paths should be set differently if running on a cluster base_paths=[os.getenv("HOME", os.getcwd())], ) with HBoxLayout(v_else=True, classes="mb-1", halign="center"): with HBoxLayout(v_else=True, classes="mb-1", valign="center"): InputField(v_model="config.proxy_command") vuetify.VBtn("Connect to Perlmutter Filesystem", click=self.view_model.connect) with GridLayout(classes="mb-2", columns=3, stretch=True): Loading