quarchpy 2.2.1.dev2__py2.py3-none-any.whl → 2.2.1.dev3__py2.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.
quarchpy/_version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "2.2.1.dev2"
1
+ __version__ = "2.2.1.dev3"
quarchpy/qis/qisFuncs.py CHANGED
@@ -98,6 +98,14 @@ def startLocalQis(terminal=False, headless=False, args=None, timeout=20):
98
98
 
99
99
  # OS
100
100
  current_os = platform.system()
101
+ current_arch = platform.machine()
102
+ current_arch = current_arch.lower() # ensure comparing same case
103
+
104
+ # Currently officially unsupported
105
+ if (current_os in "Linux" and current_arch == "aarch64") or (current_os in "Darwin" and current_arch == "arm64"):
106
+ logging.warning("The system [" + current_os + ", " + current_arch + "] is not officially supported.")
107
+ logging.warning("Please contact Quarch support for running QuarchPy on this system.")
108
+ return
101
109
 
102
110
  # ensure the jres folder has the required permissions
103
111
  permissions,message= find_java_permissions()
@@ -127,10 +135,14 @@ def startLocalQis(terminal=False, headless=False, args=None, timeout=20):
127
135
  else:
128
136
  if current_os in "Windows":
129
137
  qis_path = os.path.join(qis_path, "connection_specific", "QPS", "win-amd64", "qis", "qis.jar")
130
- elif current_os in "Linux":
138
+ elif current_os in "Linux" and current_arch == "x86_64":
131
139
  qis_path = os.path.join(qis_path, "connection_specific", "QPS", "lin-amd64", "qis", "qis.jar")
132
- elif current_os in "Darwin":
140
+ elif current_os in "Linux" and current_arch == "aarch64":
141
+ qis_path = os.path.join(qis_path, "connection_specific", "QPS", "lin-arm64", "qis", "qis.jar")
142
+ elif current_os in "Darwin" and current_arch == "x86_64":
133
143
  qis_path = os.path.join(qis_path, "connection_specific", "QPS", "mac-amd64", "qis", "qis.jar")
144
+ elif current_os in "Darwin" and current_arch == "arm64":
145
+ qis_path = os.path.join(qis_path, "connection_specific", "QPS", "mac-arm64", "qis", "qis.jar")
134
146
  else: # default to windows
135
147
  qis_path = os.path.join(qis_path, "connection_specific", "QPS", "win-amd64", "qis", "qis.jar")
136
148
 
@@ -171,16 +183,25 @@ def startLocalQis(terminal=False, headless=False, args=None, timeout=20):
171
183
  # different start for different OS
172
184
  if current_os == "Windows":
173
185
  command = java_path + "\\win_amd64_jdk_21_jre\\bin\\" + command
174
- elif current_os == "Linux":
186
+ elif current_os == "Linux" and current_arch == "x86_64":
175
187
  command = java_path + "/lin_amd64_jdk_21_jre/bin/" + command
176
- elif current_os == "Darwin":
188
+ elif current_os == "Linux" and current_arch == "aarch64":
189
+ command = java_path + "/lin_arm64_jdk_21_jre/bin/" + command
190
+ elif current_os == "Darwin" and current_arch == "x86_64":
177
191
  command = java_path + "/mac_amd64_jdk_21_jre/bin/" + command
192
+ elif current_os == "Darwin" and current_arch == "arm64":
193
+ command = java_path + "/mac_arm64_jdk_21_jre/bin/" + command
178
194
  else: # default to windows
179
195
  command = java_path + "\\win_amd64_jdk_21_jre\\bin\\" + command
180
196
 
181
197
  # Use the command and check QIS has launched
182
198
  if "-logging=ON" in str(args): #If logging to a terminal window is on then os.system should be used to view logging.
183
199
  process = subprocess.Popen(command,shell=True)
200
+ startTime = time.time() #Checks for Popen launch only
201
+ while not isQisRunning():
202
+ if time.time() - startTime > timeout:
203
+ raise TimeoutError("QIS failed to launch within timelimit of " + str(timeout) + " sec.")
204
+ pass
184
205
  else:
185
206
  if sys.version_info[0] < 3:
186
207
  process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
quarchpy/qps/qpsFuncs.py CHANGED
@@ -93,6 +93,14 @@ def startLocalQps(keepQisRunning=False, args=[], timeout=30, startQPSMinimised=T
93
93
 
94
94
  # Check the current OS
95
95
  current_os = platform.system()
96
+ current_arch = platform.machine()
97
+ current_arch = current_arch.lower() # ensure comparing same case
98
+
99
+ # Currently officially unsupported
100
+ if (current_os in "Linux" and current_arch == "aarch64") or (current_os in "Darwin" and current_arch == "arm64"):
101
+ logging.warning("The system [" + current_os + ", " + current_arch + "] is not officially supported.")
102
+ logging.warning("Please contact Quarch support for running QuarchPy on this system.")
103
+ return
96
104
 
97
105
  # ensure the jres folder has the required permissions
98
106
  permissions, message = find_java_permissions()
@@ -117,10 +125,14 @@ def startLocalQps(keepQisRunning=False, args=[], timeout=30, startQPSMinimised=T
117
125
  else: # Different QPS.jar for each OS
118
126
  if current_os in "Windows":
119
127
  qps_path = os.path.join(qps_path, "connection_specific", "QPS", "win-amd64", "qps.jar")
120
- elif current_os in "Linux":
128
+ elif current_os in "Linux" and current_arch == "x86_64":
121
129
  qps_path = os.path.join(qps_path, "connection_specific", "QPS", "lin-amd64", "qps.jar")
122
- elif current_os in "Darwin":
130
+ elif current_os in "Linux" and current_arch == "aarch64":
131
+ qps_path = os.path.join(qps_path, "connection_specific", "QPS", "lin-arm64", "qps.jar")
132
+ elif current_os in "Darwin" and current_arch == "x86_64":
123
133
  qps_path = os.path.join(qps_path, "connection_specific", "QPS", "mac-amd64", "qps.jar")
134
+ elif current_os in "Darwin" and current_arch == "arm64":
135
+ qps_path = os.path.join(qps_path, "connection_specific", "QPS", "mac-arm64", "qps.jar")
124
136
  else: # default to windows
125
137
  qps_path = os.path.join(qps_path, "connection_specific", "QPS", "win-amd64", "qps.jar")
126
138
 
@@ -131,10 +143,14 @@ def startLocalQps(keepQisRunning=False, args=[], timeout=30, startQPSMinimised=T
131
143
  # OS dependency
132
144
  if current_os in "Windows":
133
145
  command = java_path + "\\win_amd64_jdk_21_jre\\bin\\java -jar qps.jar " + str(args)
134
- elif current_os in "Linux":
146
+ elif current_os in "Linux" and current_arch == "x86_64":
135
147
  command = java_path + "/lin_amd64_jdk_21_jre/bin/java -jar qps.jar " + str(args)
136
- elif current_os in "Darwin":
148
+ elif current_os in "Linux" and current_arch == "aarch64":
149
+ command = java_path + "/lin_arm64_jdk_21_jre/bin/java -jar qps.jar " + str(args)
150
+ elif current_os in "Darwin" and current_arch == "x86_64":
137
151
  command = java_path + "/mac_amd64_jdk_21_jre/bin/java -jar qps.jar " + str(args)
152
+ elif current_os in "Darwin" and current_arch == "arm64":
153
+ command = java_path + "/mac_arm64_jdk_21_jre/bin/java -jar qps.jar " + str(args)
138
154
  else: # default to windows
139
155
  command = java_path + "\\win_amd64_jdk_21_jre\\bin\\java -jar qps.jar " + str(args)
140
156
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: quarchpy
3
- Version: 2.2.1.dev2
3
+ Version: 2.2.1.dev3
4
4
  Summary: This packpage offers Python support for Quarch Technology modules.
5
5
  Author: Quarch Technology ltd
6
6
  Author-email: support@quarch.com
@@ -2,7 +2,7 @@ quarchpy/LICENSE.rst,sha256=SmYK6o5Xs2xRaUwYT-HqNDRu9eygu6y9QwweXNttiRc,3690
2
2
  quarchpy/QuarchPy Function Listing.xlsx,sha256=NE68cZPn7b9P3wcnCsnQr3H6yBkt6D5S6dH6457X520,31245
3
3
  quarchpy/README.txt,sha256=-LbrJ5rCPGSxoBmvr9CxJVokQUDwZSjoHa43eN8bWck,980
4
4
  quarchpy/__init__.py,sha256=0aEaJ1Aduzm1g_1OvibCDm5j2PcZAh-OPdVWiXZwF_E,3090
5
- quarchpy/_version.py,sha256=rF-iTUtktXgDO34m_OcVJUqqv6vOQ5P6OJ5zTnuwVKo,26
5
+ quarchpy/_version.py,sha256=u48axF4vL83KpE5C0_Gr9zUa5g-EosUX20KOW9Ynrgg,26
6
6
  quarchpy/connection.py,sha256=9lPIUP4LCWkFAedc8CWorDY-3ujdAA-cyeNkSBdIv9E,2226
7
7
  quarchpy/run.py,sha256=N9Z1qwagWzbLKhqoXB7w_9hpcVNmHa4OxuZG0CaBjmQ,10084
8
8
  quarchpy/__pycache__/__init__.cpython-311.pyc,sha256=uNMpDUuvOcJMNW14xS77BgIqs55oZoFJGMsmwrm-NN0,5035
@@ -1373,12 +1373,12 @@ quarchpy/iometer/__pycache__/gen_iometer_template.cpython-311.pyc,sha256=EQ-gl4W
1373
1373
  quarchpy/iometer/__pycache__/iometerFuncs.cpython-311.pyc,sha256=l1KzV8XKzcmFEoQhzAz-uQUEvWtBMGj-a2ji5TkCURs,14056
1374
1374
  quarchpy/qis/StreamHeaderInfo.py,sha256=ynKRSnZPrRK6qtREbn4YQgweY-WWlP98-gl1YB1syh8,8150
1375
1375
  quarchpy/qis/__init__.py,sha256=QRVPy96G7RUx6ldofcD-xNN4NHeNjkasSu8DXkyRB0k,307
1376
- quarchpy/qis/qisFuncs.py,sha256=TC19afKXZCSPgBlZVSRE9kuBIovd7TdZuC-6EYxSxYU,12801
1376
+ quarchpy/qis/qisFuncs.py,sha256=GoRCDLtUIpPZrnGyWzXCqWBRm60S6bcKeH39sCFfNy4,14297
1377
1377
  quarchpy/qis/__pycache__/StreamHeaderInfo.cpython-311.pyc,sha256=7fqpGGbuqOwJZFa_yoBjCGDPKfmFXHULY5kubtRI0TA,7543
1378
1378
  quarchpy/qis/__pycache__/__init__.cpython-311.pyc,sha256=nUP9QCKQFYpidwiR2a9vW2Mc1k82Xgtx58QXREtyi6s,530
1379
1379
  quarchpy/qis/__pycache__/qisFuncs.cpython-311.pyc,sha256=WdFMCoFC_tmb66660HGpqAF0t9cnguITOe4IlwtBFig,12327
1380
1380
  quarchpy/qps/__init__.py,sha256=5urxSvqUWmonIrhyvrSQDpNtZubfVEU8JrqRmzm4wH0,303
1381
- quarchpy/qps/qpsFuncs.py,sha256=Y43eWdPLaMdOBp6HNWeoWDG5DWxGHUWd4PMKxXGEHTM,13521
1381
+ quarchpy/qps/qpsFuncs.py,sha256=I7r3prd7UmZczeeiqHCcqi4C9OElKz-ptP7FqZxvSOc,14770
1382
1382
  quarchpy/qps/__pycache__/__init__.cpython-311.pyc,sha256=_3EEMd3PYZpZeNPzCWwq_TxIbhNDrnub-YQsN6UDDCk,525
1383
1383
  quarchpy/qps/__pycache__/qpsFuncs.cpython-311.pyc,sha256=ZRFceTfLOLi_MNPryg_9nnXjETp9lpoMXvEn4sarUTw,13930
1384
1384
  quarchpy/user_interface/__init__.py,sha256=ix0icQvmKUTRgvfhXK3PxiDGyITkPYY-08hFjuhbupo,298
@@ -1394,7 +1394,7 @@ quarchpy/utilities/__pycache__/TestCenter.cpython-311.pyc,sha256=9yfX6igdHMrZUPv
1394
1394
  quarchpy/utilities/__pycache__/TimeValue.cpython-311.pyc,sha256=m1eIqBQqgClYACQJJcXkRrrwEMDliFiN6XL1T-gEwCE,2629
1395
1395
  quarchpy/utilities/__pycache__/Version.cpython-311.pyc,sha256=a_rUsCS3q0ojLrtZzUj3pkhSH2TY7QnhmRA_SZtlvzw,2658
1396
1396
  quarchpy/utilities/__pycache__/__init__.cpython-311.pyc,sha256=u7E62KfCC0zS7RWPWxHheZtKolDdRCu0jUSopYNBePI,173
1397
- quarchpy-2.2.1.dev2.dist-info/METADATA,sha256=CQFWsvLd9JJ1GBys0nHdGufuHEViNebwJCxJkdDQi8U,9964
1398
- quarchpy-2.2.1.dev2.dist-info/WHEEL,sha256=a-zpFRIJzOq5QfuhBzbhiA1eHTzNCJn8OdRvhdNX0Rk,110
1399
- quarchpy-2.2.1.dev2.dist-info/top_level.txt,sha256=Vc7qsvkVax7oeBaBy_e7kvJvqb_VAAJcW_MuDMmi5W8,9
1400
- quarchpy-2.2.1.dev2.dist-info/RECORD,,
1397
+ quarchpy-2.2.1.dev3.dist-info/METADATA,sha256=c0F3P4xaTUxPv_fdbVyZ5aZJcgbVjLtvJVh9BdHRfZs,9964
1398
+ quarchpy-2.2.1.dev3.dist-info/WHEEL,sha256=a-zpFRIJzOq5QfuhBzbhiA1eHTzNCJn8OdRvhdNX0Rk,110
1399
+ quarchpy-2.2.1.dev3.dist-info/top_level.txt,sha256=Vc7qsvkVax7oeBaBy_e7kvJvqb_VAAJcW_MuDMmi5W8,9
1400
+ quarchpy-2.2.1.dev3.dist-info/RECORD,,