ansys / ansys/pymechanical

Download from remote session running on Windows includes full path

Open
#1,370 3 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
83
Forks
37
Avg merge
1d 3m
Merged PRs (30d)
26

Description

### 🔍 Before submitting the issue

- [x] I have searched among the existing issues
- [x] I am using a Python virtual environment

### 🐞 Description of the bug

When initializing a Mechanical remote session on a Windows evaluator from a vertical application running on a Linux host, the mechanical.download() method will include the full path, where the Mechanical session was running.

This can be seen in the console of the Linux host:
```
Downloading dns:///192.168.39.59:52195:C:\Users\dsoukup\AppData\Local\Temp\AnsysMech28A4\Project_Mech_Files\mechanical.log to /projects/69006a97de2ca10007ca82df/bdm/method_9efm626v/C:\Users\dsoukup\AppData\Local\Temp\AnsysMech28A4\Project_Mech_Files\mechanical.log
```
When the remote session is initialized on the same Windows machine where the host is running, it will only contain the file name as expected:
```
Downloading dns:///127.0.0.1:59662:C:\Users\dsoukup\AppData\Local\Temp\AnsysMechA9C7\Project_Mech_Files\mechanical.log to C:\Users\dsoukup\AppData\Roaming\Ansys\glow\MySolution\project_files\6900c4a2d3298393409b6035\bdm\method_nzwqvb14\mechanical.log
```

### 📝 Steps to reproduce

Initialize a Mechanical session on a Windows machine from an Linux host and download a file:
```python
result_folder : Path = storage_root
mechanical_log = mechanical.download("*.log", target_dir=str(result_folder), progress_bar=False)[0]
```

### 💻 Which operating system are you using?

Linux

### 📀 Which ANSYS version are you using?

242

### 🐍 Which Python version are you using?

3.12

### 📦 Installed packages

```shell
aiofiles 23.2.1
aioshutil 1.6
aiosqlite 0.19.0
annotated-types 0.7.0
ansys-api-mechanical 0.1.3
ansys-hps-client 0.9.1
ansys-mechanical-core 0.11.34
ansys-mechanical-stubs 0.1.6
ansys-pythonnet 3.1.0rc6
ansys-tools-path 0.7.3
ansys-translation-utilities 0.1.0
anyio 4.11.0
appdirs 1.4.4
ariadne 0.26.2
asgiref 3.10.0
asyncpg 0.30.0
backoff 2.2.1
bson 0.5.10
certifi 2025.10.5
cffi 2.0.0
charset-normalizer 3.4.4
click 8.3.0
clr-loader 0.2.8
cryptography 44.0.3
debugpy 1.8.17
deprecated 1.2.18
et-xmlfile 2.0.0
fastapi 0.115.14
googleapis-common-protos 1.71.0
gql 3.5.3
graphql-core 3.2.5
greenlet 3.2.4
grpcio 1.75.1
grpcio-health-checking 1.62.3
h11 0.16.0
httpcore 1.0.9
httpx 0.28.1
idna 3.11
importlib-metadata 8.4.0
joserfc 1.4.0
lxml 6.0.2
marshmallow 3.26.1
marshmallow-oneofschema 3.2.0
multidict 6.7.0
networkx 3.4.2
numpy 2.3.4
oauthlib 3.3.1
openpyxl 3.1.5
opentelemetry-api 1.27.0
opentelemetry-exporter-otlp 1.27.0
opentelemetry-exporter-otlp-proto-common 1.27.0
opentelemetry-exporter-otlp-proto-grpc 1.27.0
opentelemetry-exporter-otlp-proto-http 1.27.0
opentelemetry-instrumentation 0.48b0
opentelemetry-instrumentation-asgi 0.48b0
opentelemetry-instrumentation-fastapi 0.48b0
opentelemetry-instrumentation-flask 0.48b0
opentelemetry-instrumentation-httpx 0.48b0
opentelemetry-instrumentation-logging 0.48b0
opentelemetry-instrumentation-wsgi 0.48b0
opentelemetry-proto 1.27.0
opentelemetry-sdk 1.27.0
opentelemetry-semantic-conventions 0.48b0
opentelemetry-util-http 0.48b0
packaging 24.2
pandas 2.3.3
platformdirs 4.5.0
propcache 0.4.1
protobuf 4.25.8
psutil 6.1.1
pycparser 2.23
pydantic 2.12.3
pydantic-core 2.41.4
pydantic-settings 2.11.0
pyjwt 2.10.1
python-dateutil 2.9.0.post0
python-docx 1.1.2
python-dotenv 1.1.1
python-multipart 0.0.19
pytz 2025.2
pyyaml 6.0.3
requests 2.32.5
requests-oauthlib 2.0.0
requests-toolbelt 1.0.0
setuptools 80.9.0
six 1.17.0
sniffio 1.3.1
sqlalchemy 2.0.44
starlette 0.46.2
tqdm 4.67.1
typing-extensions 4.15.0
typing-inspection 0.4.2
tzdata 2025.2
urllib3 2.5.0
uvicorn 0.38.0
wrapt 1.17.3
wsproto 1.2.0
yarl 1.22.0
zipp 3.23.0
```

Contributor guide

Open the contributing guide

Research direction

Start at the mechanical.download entry point and reproduce the remote Windows-session case from a Linux host using the example pattern in the issue. Trace how the downloaded remote path is converted into the local destination, then verify that only the file name is used and run the relevant download tests or reproduction to confirm the local and same-host behaviors.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.