aplos-nca-saas-sdk 0.0.17__tar.gz → 0.0.19__tar.gz

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 (69) hide show
  1. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/PKG-INFO +1 -1
  2. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/pyproject.toml +1 -1
  3. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/configs/nca_execution_config.py +20 -1
  4. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/tests/nca_analysis_test.py +2 -1
  5. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/nca_resources/nca_analysis.py +3 -0
  6. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/utilities/commandline_args.py +2 -2
  7. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/utilities/environment_services.py +4 -3
  8. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/version.py +1 -1
  9. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/.gitignore +0 -0
  10. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/.pypirc +0 -0
  11. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/.vscode/launch.json +0 -0
  12. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/.vscode/settings.json +0 -0
  13. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/LICENSE +0 -0
  14. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/README.md +0 -0
  15. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/devops/pypi/build.py +0 -0
  16. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/devops/pypi/readme.md +0 -0
  17. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/devops/requirements.txt +0 -0
  18. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/docs/images/API_Configuration_blur.png +0 -0
  19. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/docs/images/aplos-nca-commandline-cropped.png +0 -0
  20. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/docs/images/aplos-nca-commandline.png +0 -0
  21. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/mypy.ini +0 -0
  22. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/mypy_checks.py +0 -0
  23. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/readme.md +0 -0
  24. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/requirements.dev.txt +0 -0
  25. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/requirements.txt +0 -0
  26. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/run-checks.sh +0 -0
  27. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/__init__.py +0 -0
  28. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/configs/_config_base.py +0 -0
  29. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/configs/app_settings_config.py +0 -0
  30. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/configs/config_sample.json +0 -0
  31. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/configs/file_upload_config.py +0 -0
  32. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/configs/login_config.py +0 -0
  33. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/configs/nca_validation_config.py +0 -0
  34. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/example_main.py +0 -0
  35. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/files/executions/config1.json +0 -0
  36. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/files/uploads/input1.csv +0 -0
  37. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/files/uploads/input1.dat +0 -0
  38. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/files/uploads/input1.sas7bdat +0 -0
  39. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/files/uploads/input1.xls +0 -0
  40. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/files/uploads/input1.xlsx +0 -0
  41. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/files/uploads/input1.xpt +0 -0
  42. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/integration_test_base.py +0 -0
  43. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/integration_test_configurations.py +0 -0
  44. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/integration_test_factory.py +0 -0
  45. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/integration_test_response.py +0 -0
  46. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/integration_test_suite.py +0 -0
  47. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/readme.md +0 -0
  48. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/tests/app_configuration_test.py +0 -0
  49. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/tests/app_login_test.py +0 -0
  50. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/tests/file_upload_test.py +0 -0
  51. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/integration_testing/tests/nca_analysis_validation_test.py +0 -0
  52. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/nca_resources/_api_base.py +0 -0
  53. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/nca_resources/aws_cognito.py +0 -0
  54. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/nca_resources/aws_s3_presigned_payload.py +0 -0
  55. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/nca_resources/aws_s3_presigned_upload.py +0 -0
  56. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/nca_resources/nca_app_configuration.py +0 -0
  57. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/nca_resources/nca_authenticator.py +0 -0
  58. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/nca_resources/nca_endpoints.py +0 -0
  59. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/nca_resources/nca_file_download.py +0 -0
  60. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/nca_resources/nca_file_upload.py +0 -0
  61. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/nca_resources/nca_validations.py +0 -0
  62. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/run_analysis_execution.py +0 -0
  63. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/sample_files/analysis_files/single_ev/config.json +0 -0
  64. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/sample_files/analysis_files/single_ev/input.csv +0 -0
  65. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/sample_files/analysis_files/single_ev/meta_data.json +0 -0
  66. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/utilities/environment_vars.py +0 -0
  67. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/utilities/file_utility.py +0 -0
  68. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/src/aplos_nca_saas_sdk/utilities/http_utility.py +0 -0
  69. {aplos_nca_saas_sdk-0.0.17 → aplos_nca_saas_sdk-0.0.19}/tests/__init__.py +0 -0
@@ -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/
@@ -26,7 +26,7 @@ keywords = [
26
26
  "Clinical Trials"
27
27
  ]
28
28
 
29
- version = "0.0.17"
29
+ version = "0.0.19"
30
30
  authors = [
31
31
  { name="Eric Wilson", email="eric.wilson@aplosanalytics.com" }
32
32
  ]
@@ -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'