aplos-nca-saas-sdk 0.0.17__py3-none-any.whl → 0.0.19__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.
@@ -37,6 +37,9 @@ class NCAExecutionConfig(ConfigBase):
37
37
  data_processing: str | dict | None = None,
38
38
  post_processing: str | dict | None = None,
39
39
  full_payload: str | dict | None = None,
40
+ wait_for_results: bool = True,
41
+ max_wait_in_seconds: int = 600,
42
+ enabled: bool = True
40
43
  ):
41
44
  super().__init__()
42
45
 
@@ -58,6 +61,9 @@ class NCAExecutionConfig(ConfigBase):
58
61
  self.__data_processing = data_processing
59
62
  self.__post_processing = post_processing
60
63
  self.__full_payload = full_payload
64
+ self.wait_for_results = wait_for_results
65
+ self.max_wait_in_seconds = max_wait_in_seconds
66
+ self.enabled = enabled
61
67
 
62
68
  @property
63
69
  def login(self) -> LoginConfig:
@@ -132,6 +138,8 @@ class NCAExecutionConfigs(ConfigBase):
132
138
  unzip_after_download: bool = False,
133
139
  enabled: bool = True,
134
140
  full_payload: str | dict | None = None,
141
+ wait_for_results: bool = True,
142
+ max_wait_in_seconds: int = 600
135
143
  ):
136
144
  """Add an NCA Execution Config"""
137
145
  nca_execution_config = NCAExecutionConfig(
@@ -144,6 +152,8 @@ class NCAExecutionConfigs(ConfigBase):
144
152
  data_processing,
145
153
  post_processing,
146
154
  full_payload,
155
+ wait_for_results=wait_for_results,
156
+ max_wait_in_seconds=max_wait_in_seconds
147
157
  )
148
158
  nca_execution_config.enabled = enabled
149
159
  self.__nca_executions.append(nca_execution_config)
@@ -186,6 +196,8 @@ class NCAExecutionConfigs(ConfigBase):
186
196
  meta_data = self.__load_dictionary_data_or_file(key="meta", analysis=analysis, optional=True)
187
197
  data_cleaning = self.__load_dictionary_data_or_file(key="data_cleaning", analysis=analysis, optional=True)
188
198
  post_processing = self.__load_dictionary_data_or_file(key="post_processing", analysis=analysis, optional=True)
199
+ wait_for_results =str(analysis.get("wait_for_results", True)).lower() == "true"
200
+ max_wait_in_seconds = int(analysis.get("max_wait_in_seconds", 600))
189
201
 
190
202
  self.add(
191
203
  login=login,
@@ -197,7 +209,9 @@ class NCAExecutionConfigs(ConfigBase):
197
209
  enabled=enabled,
198
210
  full_payload=full_payload,
199
211
  data_processing=data_cleaning,
200
- post_processing=post_processing
212
+ post_processing=post_processing,
213
+ wait_for_results=wait_for_results,
214
+ max_wait_in_seconds=max_wait_in_seconds
201
215
  )
202
216
 
203
217
 
@@ -217,6 +231,11 @@ class NCAExecutionConfigs(ConfigBase):
217
231
  "file_path": file_path,
218
232
  }
219
233
  )
234
+ if not file_path:
235
+ if optional:
236
+ return None
237
+ raise RuntimeError(f"Data for {key} not found: {file_path}")
238
+
220
239
  path = FileUtility.load_filepath(file_path)
221
240
  if os.path.exists(path) is False:
222
241
  if optional:
@@ -63,7 +63,8 @@ class NCAAnalysisTest(IntegrationTestBase):
63
63
  ),
64
64
  config_data=nca_execution_config.config_data,
65
65
  meta_data=nca_execution_config.meta_data,
66
- wait_for_results=True,
66
+ wait_for_results=nca_execution_config.wait_for_results,
67
+ wait_for_results_timeout=nca_execution_config.max_wait_in_seconds,
67
68
  output_directory=nca_execution_config.output_dir,
68
69
  unzip_after_download=False,
69
70
  data_processing=nca_execution_config.data_processing,
@@ -89,6 +89,9 @@ class NCAAnalysis(NCAApiBaseClass):
89
89
  file_id=file_id,
90
90
  config_data=config_data,
91
91
  meta_data=meta_data,
92
+ post_processing=post_processing,
93
+ data_processing=data_processing,
94
+ full_payload=full_payload
92
95
  )
93
96
 
94
97
  execution_id: str = execution_response.get("execution_id", "")
@@ -258,9 +258,9 @@ class CommandlineArgs:
258
258
  self, starting_path: str, file_name: str, raise_error_if_not_found: bool = True
259
259
  ) -> str | None:
260
260
  """Searches the project directory structor for a file"""
261
- parents = 10
261
+
262
262
  starting_path = starting_path or __file__
263
-
263
+ parents = len(starting_path.split(os.sep)) -1
264
264
  paths: List[str] = []
265
265
  for parent in range(parents):
266
266
  path = Path(starting_path).parents[parent].absolute()
@@ -61,9 +61,9 @@ class EnvironmentServices:
61
61
  self, starting_path: str, file_name: str, raise_error_if_not_found: bool = True
62
62
  ) -> str | None:
63
63
  """Searches the project directory structure for a file"""
64
- parents = 10
64
+
65
65
  starting_path = starting_path or __file__
66
-
66
+ parents = len(starting_path.split(os.sep)) -1
67
67
  paths: List[str] = []
68
68
  for parent in range(parents):
69
69
  path = Path(starting_path).parents[parent].absolute()
@@ -87,8 +87,9 @@ class EnvironmentServices:
87
87
  raise_error_if_not_found: bool = True,
88
88
  ) -> str | None:
89
89
  """From a given starting point, move up the directory chain until you find the modules root"""
90
- parents = 10
90
+
91
91
  starting_path = starting_path or __file__
92
+ parents = len(starting_path.split(os.sep)) -1
92
93
  MODULE_ROOT = "aplos_nca_saas_sdk" # pylint: disable=c0103
93
94
  paths: List[str] = []
94
95
  for parent in range(parents):
@@ -1,4 +1,4 @@
1
1
  # Aplos NCA SaaS SDK Version File
2
2
  # This is automatically generated during the build process.
3
3
  # DO NOT UPDATE IT DIRECTLY. IT WILL BE OVERWRITTEN.
4
- __version__ = '0.0.17'
4
+ __version__ = '0.0.19'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aplos_nca_saas_sdk
3
- Version: 0.0.17
3
+ Version: 0.0.19
4
4
  Summary: Aplos NCA SaaS SDK
5
5
  Project-URL: Homepage, https://aplosanalytics.com/
6
6
  Project-URL: Documentation, https://docs.aplosanalytics.com/
@@ -1,6 +1,6 @@
1
1
  aplos_nca_saas_sdk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  aplos_nca_saas_sdk/run_analysis_execution.py,sha256=H425VMCtxIX1vlWac0Wex2CJXVzQQwgv5AGNCpaVqN4,4446
3
- aplos_nca_saas_sdk/version.py,sha256=L4Zhr6jSGcoVRfH-0zApHUoaMex-pJ-CVY9FWFJBEN4,172
3
+ aplos_nca_saas_sdk/version.py,sha256=_iHa2A8tJWdQhL7TaWz6y9E_ZfWXKgEK2W8iINguGRk,172
4
4
  aplos_nca_saas_sdk/integration_testing/example_main.py,sha256=9SXu8s7B4MLe53WDkr0GuMu8h4oyfmltYOH1XT_fqC4,2500
5
5
  aplos_nca_saas_sdk/integration_testing/integration_test_base.py,sha256=ci3oOfz_McdDKGSrqOHF7F_vrvgTWo7HzxydNdPSHLs,2787
6
6
  aplos_nca_saas_sdk/integration_testing/integration_test_configurations.py,sha256=GRDHSy0ZiAJtZQvL7uPlYG2oYVo9nWlP7hNZbNnrz7U,1900
@@ -13,7 +13,7 @@ aplos_nca_saas_sdk/integration_testing/configs/app_settings_config.py,sha256=F2g
13
13
  aplos_nca_saas_sdk/integration_testing/configs/config_sample.json,sha256=zeflEvdtpknGjk42FXHGG3cBbvLcbSnj1_99o21JiDc,3566
14
14
  aplos_nca_saas_sdk/integration_testing/configs/file_upload_config.py,sha256=NZsE7n9bkZOVEDFC8jDEO4XAIb5Vzsd62_CnSDLNDj8,3034
15
15
  aplos_nca_saas_sdk/integration_testing/configs/login_config.py,sha256=5AaCzlT9T9aC_gBLs9vsS4dDCXB3FhDnlbIrp5NGaeM,3612
16
- aplos_nca_saas_sdk/integration_testing/configs/nca_execution_config.py,sha256=SGLsfFlmbG1cTAURymlQDx4phP6c--3S9V0LCi5Uu8A,7405
16
+ aplos_nca_saas_sdk/integration_testing/configs/nca_execution_config.py,sha256=1Fj-OdSHJZZMVR0HxGlxO71fSSO9EYN-THVuS9-HRWQ,8266
17
17
  aplos_nca_saas_sdk/integration_testing/configs/nca_validation_config.py,sha256=veqCTMsRTailuP-P5JX8JU7BkRMzC4-sxZM9tYG52ug,2595
18
18
  aplos_nca_saas_sdk/integration_testing/files/executions/config1.json,sha256=m6-wSzfrB-7w4CgIGpmT9y0_zevp-Q6So9eXU9HsVpQ,945
19
19
  aplos_nca_saas_sdk/integration_testing/files/uploads/input1.csv,sha256=9TGDiMkft7ltFFKk_8RyzuhuloIpe_fZs0Nw0PN3BkM,263
@@ -25,13 +25,13 @@ aplos_nca_saas_sdk/integration_testing/files/uploads/input1.xpt,sha256=vve5eYrs3
25
25
  aplos_nca_saas_sdk/integration_testing/tests/app_configuration_test.py,sha256=f5kvHEAOmYKUn9gjuVNjEI5t7G8aJSbz3rfIh9133VQ,1567
26
26
  aplos_nca_saas_sdk/integration_testing/tests/app_login_test.py,sha256=NLI4DUICspa_uZi-w2Q3XufDL0ERLVvn1DavNpYDK7I,1650
27
27
  aplos_nca_saas_sdk/integration_testing/tests/file_upload_test.py,sha256=7DihdcbmrL5Fr9RPIjxIdAmrgdBaDM0ccCerh2VLMV4,3666
28
- aplos_nca_saas_sdk/integration_testing/tests/nca_analysis_test.py,sha256=YCvdCwzDbjjTqnYUpv3oiiQi1Vss-c0c7BLnmUpJYX8,3477
28
+ aplos_nca_saas_sdk/integration_testing/tests/nca_analysis_test.py,sha256=x_8Socqrx1R39UA4QlZyGVo3CEHbQO6Vy8NfTOrs6SM,3597
29
29
  aplos_nca_saas_sdk/integration_testing/tests/nca_analysis_validation_test.py,sha256=IlnkaO_KSrm0tch0gxM0rZP59m1PHzUow4kZm9CiBqY,2042
30
30
  aplos_nca_saas_sdk/nca_resources/_api_base.py,sha256=qxMSiHV4014L733ii4EJ2JUwQwKkuHi5Rm6cPEdS3cA,1278
31
31
  aplos_nca_saas_sdk/nca_resources/aws_cognito.py,sha256=lc6GCvoTBx_Dmezoxt80xksiuxXjSwkynj-1Sg0vzwY,6576
32
32
  aplos_nca_saas_sdk/nca_resources/aws_s3_presigned_payload.py,sha256=S9LvUEjzJqLYob-JmNXdIe0Uj__fVtcF4LDQB5538vk,2001
33
33
  aplos_nca_saas_sdk/nca_resources/aws_s3_presigned_upload.py,sha256=ExZUjJ4Yyu-oQyVMNtyl7KqxFfr4hIwIN31RFxg6EfM,4476
34
- aplos_nca_saas_sdk/nca_resources/nca_analysis.py,sha256=BAI7d4QIN8TAF6fmlU3kTGAPqhFfvrdrSvgO03pgHlQ,11005
34
+ aplos_nca_saas_sdk/nca_resources/nca_analysis.py,sha256=lW957B4L1jnEMIknhx-thOTFFPKsL4r2srbBvG_w8mk,11133
35
35
  aplos_nca_saas_sdk/nca_resources/nca_app_configuration.py,sha256=VZNZi0_NV4QjNgBSM9csq5qedc6-qvzaXwXyLfymB6M,1845
36
36
  aplos_nca_saas_sdk/nca_resources/nca_authenticator.py,sha256=tyhAHrf4PlLYarYXtY4ARCtSdGAL9GciqifDDck1KSQ,3354
37
37
  aplos_nca_saas_sdk/nca_resources/nca_endpoints.py,sha256=4nAh6JD-EUZj-Zv4EGv-W1Lgf3ww5OAQqqZu56IkPuw,2538
@@ -41,12 +41,12 @@ aplos_nca_saas_sdk/nca_resources/nca_validations.py,sha256=b9i-kXH52tXezgzOCwi9D
41
41
  aplos_nca_saas_sdk/sample_files/analysis_files/single_ev/config.json,sha256=lLnRV0jwzaSn32D8NlOekOF5oGFfUwugUlvlwoKz540,986
42
42
  aplos_nca_saas_sdk/sample_files/analysis_files/single_ev/input.csv,sha256=qFSAlgLOmERsabMmp1X6PAZa-8yFthZlHacM_f7_AOY,6528
43
43
  aplos_nca_saas_sdk/sample_files/analysis_files/single_ev/meta_data.json,sha256=p1KYOAe5Cl3rjtfF1t96oRG-QtFJJCo9otReRPNtvIk,447
44
- aplos_nca_saas_sdk/utilities/commandline_args.py,sha256=5kooP0Rz3_xVqnK34cM03u-Svroun92xGeddP2cMTR8,10913
45
- aplos_nca_saas_sdk/utilities/environment_services.py,sha256=LQQVXq1zOos3wHt5mLI1Fsa27kdMBjmU-FhbfKgfrGo,3375
44
+ aplos_nca_saas_sdk/utilities/commandline_args.py,sha256=zQSxUF_N1c8w61fw9_e1pb2vZd5C6B0wqCdHnlkSQu4,10954
45
+ aplos_nca_saas_sdk/utilities/environment_services.py,sha256=b4FGtdZshidrutE8K3RmVRazBRZ_Z84XQAhw1hsaYNo,3458
46
46
  aplos_nca_saas_sdk/utilities/environment_vars.py,sha256=aXheFXg6FVMaSYLe2LmoWRF5Ks9vwxDazO4XYb4vLjc,1132
47
47
  aplos_nca_saas_sdk/utilities/file_utility.py,sha256=EUvQ65aXN6OdILniuiDQ2rPRA9sFmvUoAehifEjRgUY,1025
48
48
  aplos_nca_saas_sdk/utilities/http_utility.py,sha256=DQ-ClLOmNoyPn5vhrSh4q-2wi4ViP_gplJD9asEKDM8,464
49
- aplos_nca_saas_sdk-0.0.17.dist-info/METADATA,sha256=RBDBr7DjE30Dka671Umk8dsMhI9eMJGwsrjL40FQL14,3792
50
- aplos_nca_saas_sdk-0.0.17.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
51
- aplos_nca_saas_sdk-0.0.17.dist-info/licenses/LICENSE,sha256=JQMpBrnqu_m2tISmyh6_dTgb8-m3HNnA51fuOh2TzkE,1076
52
- aplos_nca_saas_sdk-0.0.17.dist-info/RECORD,,
49
+ aplos_nca_saas_sdk-0.0.19.dist-info/METADATA,sha256=uCY5095YdFis8NuxVkBp1FTm59FblFRUPBkivsaaWVI,3792
50
+ aplos_nca_saas_sdk-0.0.19.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
51
+ aplos_nca_saas_sdk-0.0.19.dist-info/licenses/LICENSE,sha256=JQMpBrnqu_m2tISmyh6_dTgb8-m3HNnA51fuOh2TzkE,1076
52
+ aplos_nca_saas_sdk-0.0.19.dist-info/RECORD,,