atlan-application-sdk 0.1.1rc46__py3-none-any.whl → 0.1.1rc48__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.
@@ -528,7 +528,6 @@ class BaseSQLMetadataExtractionActivities(ActivitiesInterface):
528
528
  raise ValueError("SQL client engine not initialized")
529
529
 
530
530
  successful_databases: List[str] = []
531
- failed_databases: List[str] = []
532
531
  dataframe_list: List[
533
532
  Union[AsyncIterator["pd.DataFrame"], Iterator["pd.DataFrame"]]
534
533
  ] = []
@@ -560,31 +559,23 @@ class BaseSQLMetadataExtractionActivities(ActivitiesInterface):
560
559
 
561
560
  if success:
562
561
  logger.info(f"Successfully processed database: {database_name}")
563
- else:
564
- logger.warning(
565
- f"Failed to execute query for database: {database_name}"
566
- )
562
+
567
563
  except Exception as e: # noqa: BLE001
568
- logger.warning(
569
- f"Failed to process database '{database_name}': {str(e)}. Skipping to next database."
564
+ logger.error(
565
+ f"Failed to process database '{database_name}': {str(e)}. Failing the workflow.",
566
+ exc_info=True,
570
567
  )
571
- success, batched_iterator = False, None
568
+ raise
572
569
 
573
570
  if success:
574
571
  successful_databases.append(database_name)
575
572
  if not write_to_file and batched_iterator:
576
573
  dataframe_list.append(batched_iterator)
577
- else:
578
- failed_databases.append(database_name)
579
574
 
580
575
  # Log results
581
576
  logger.info(
582
577
  f"Successfully processed {len(successful_databases)} databases: {successful_databases}"
583
578
  )
584
- if failed_databases:
585
- logger.warning(
586
- f"Failed to process {len(failed_databases)} databases: {failed_databases}"
587
- )
588
579
 
589
580
  # Finalize results
590
581
  return await self._finalize_multidb_results(
@@ -114,11 +114,13 @@ DEPLOYMENT_NAME_KEY = "deployment_name"
114
114
  # Workflow Constants
115
115
  #: Timeout duration for activity heartbeats
116
116
  HEARTBEAT_TIMEOUT = timedelta(
117
- seconds=int(os.getenv("ATLAN_HEARTBEAT_TIMEOUT", 300)) # 5 minutes
117
+ seconds=int(os.getenv("ATLAN_HEARTBEAT_TIMEOUT_SECONDS", 300)) # 5 minutes
118
118
  )
119
119
  #: Maximum duration an activity can run before timing out
120
120
  START_TO_CLOSE_TIMEOUT = timedelta(
121
- seconds=int(os.getenv("ATLAN_START_TO_CLOSE_TIMEOUT", 2 * 60 * 60)) # 2 hours
121
+ seconds=int(
122
+ os.getenv("ATLAN_START_TO_CLOSE_TIMEOUT_SECONDS", 2 * 60 * 60)
123
+ ) # 2 hours
122
124
  )
123
125
 
124
126
  # SQL Client Constants
@@ -221,17 +221,19 @@ class ParquetOutput(Output):
221
221
  if row_count == 0:
222
222
  return
223
223
 
224
+ file_paths = []
224
225
  # Use Daft's execution context for temporary configuration
225
226
  with daft.execution_config_ctx(
226
227
  parquet_target_filesize=self.max_file_size_bytes,
227
228
  default_morsel_size=morsel_size,
228
229
  ):
229
230
  # Daft automatically handles file splitting and naming
230
- dataframe.write_parquet(
231
+ result = dataframe.write_parquet(
231
232
  root_dir=self.output_path,
232
233
  write_mode=write_mode.value,
233
- partition_cols=partition_cols if partition_cols else [],
234
+ partition_cols=partition_cols,
234
235
  )
236
+ file_paths = result.to_pydict().get("path", [])
235
237
 
236
238
  # Update counters
237
239
  self.chunk_count += 1
@@ -266,12 +268,12 @@ class ParquetOutput(Output):
266
268
  logger.info(
267
269
  f"No files found under prefix {get_object_store_prefix(self.output_path)}: {str(e)}"
268
270
  )
269
-
270
- await ObjectStore.upload_prefix(
271
- source=self.output_path,
272
- destination=get_object_store_prefix(self.output_path),
273
- retain_local_copy=self.retain_local_copy,
274
- )
271
+ for path in file_paths:
272
+ await ObjectStore.upload_file(
273
+ source=path,
274
+ destination=get_object_store_prefix(path),
275
+ retain_local_copy=self.retain_local_copy,
276
+ )
275
277
 
276
278
  except Exception as e:
277
279
  # Record metrics for failed write
@@ -2,4 +2,4 @@
2
2
  Version information for the application_sdk package.
3
3
  """
4
4
 
5
- __version__ = "0.1.1rc46"
5
+ __version__ = "0.1.1rc48"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atlan-application-sdk
3
- Version: 0.1.1rc46
3
+ Version: 0.1.1rc48
4
4
  Summary: Atlan Application SDK is a Python library for developing applications on the Atlan Platform
5
5
  Project-URL: Repository, https://github.com/atlanhq/application-sdk
6
6
  Project-URL: Documentation, https://github.com/atlanhq/application-sdk/README.md
@@ -1,6 +1,6 @@
1
1
  application_sdk/__init__.py,sha256=2e2mvmLJ5dxmJGPELtb33xwP-j6JMdoIuqKycEn7hjg,151
2
- application_sdk/constants.py,sha256=eLHmH9GukXCKK-u5a4bAqz8BeCOCusCM0eW0Q0Bwjns,10947
3
- application_sdk/version.py,sha256=TTHbof7z1rqMmnKkkw-wrzn3nRqtDcXfc_kbnHfnflc,88
2
+ application_sdk/constants.py,sha256=EDGR-3SuCxNV-3x0D4wA9is9vBbVWa3nHvJ8r2w4lYY,10977
3
+ application_sdk/version.py,sha256=RlBuSchlnwak46JYM6YgODBzj9SpLSur8hV4n1h3Cso,88
4
4
  application_sdk/worker.py,sha256=i5f0AeKI39IfsLO05QkwC6uMz0zDPSJqP7B2byri1VI,7489
5
5
  application_sdk/activities/__init__.py,sha256=QaXLOBYbb0zPOY5kfDQh56qbXQFaYNXOjJ5PCvatiZ4,9530
6
6
  application_sdk/activities/lock_management.py,sha256=oX2qPpfEu_xP0MiaCakVGk9ivZDvG4EddVZag1DuHSE,3976
@@ -11,7 +11,7 @@ application_sdk/activities/common/utils.py,sha256=nSNGkY5eS5pPc8etdPWkXBFTSaConG
11
11
  application_sdk/activities/metadata_extraction/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
12
  application_sdk/activities/metadata_extraction/base.py,sha256=ENFojpxqKdN_eVSL4iet3cGfylPOfcl1jnflfo4zhs8,3920
13
13
  application_sdk/activities/metadata_extraction/rest.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- application_sdk/activities/metadata_extraction/sql.py,sha256=ivIbTrkKAonijQQPfiOigoiXLWtA_-nLUn9lz09lpaU,34725
14
+ application_sdk/activities/metadata_extraction/sql.py,sha256=9VdQ9Kv3vCuK6b1US9akvdv9A8NvFVVOvK3Svxkj0ws,34284
15
15
  application_sdk/activities/query_extraction/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  application_sdk/activities/query_extraction/sql.py,sha256=l64cGyTmbtaGcg3qj1YXKyNWiWeRsWPEuQyqW06rxxQ,21165
17
17
  application_sdk/application/__init__.py,sha256=hb5zBc4zi-10av8Ivbovhb0CEAwNgr3eFlfpRaMKVmI,9861
@@ -79,7 +79,7 @@ application_sdk/observability/decorators/observability_decorator.py,sha256=yd6qf
79
79
  application_sdk/outputs/__init__.py,sha256=hrOPw0xuG9xP720Bt309TfbY2Qq_i51R8Xt3ZjwWDUY,15906
80
80
  application_sdk/outputs/iceberg.py,sha256=TdppOMEMfojMhGyBmhWeu1AJQexRyHM-huAYeJmhjdY,5533
81
81
  application_sdk/outputs/json.py,sha256=gYDDNOVb8EFxxeOkb6zKWZWjTEVgZLoapFM97_roK4A,10883
82
- application_sdk/outputs/parquet.py,sha256=OLK7fF--ZrKrXLw6TP85nPqrIN1wW1I_rDs3FT2rQuA,20225
82
+ application_sdk/outputs/parquet.py,sha256=-_7C7D7vc53brFjLgqa25Tnee6txwpj6V2yRfeH5hP4,20329
83
83
  application_sdk/outputs/.cursor/BUGBOT.md,sha256=KxEC3CIyRSK1YftZou5BgKc6PRXT3qQmBNFJp-HSyYE,11496
84
84
  application_sdk/server/__init__.py,sha256=KTqE1YPw_3WDVMWatJUuf9OOiobLM2K5SMaBrI62sCo,1568
85
85
  application_sdk/server/.cursor/BUGBOT.md,sha256=p_MMoWUW5G1894WfOKYReZKWCuyJT_OJz3rL5g21NbI,16566
@@ -156,8 +156,8 @@ application_sdk/workflows/metadata_extraction/__init__.py,sha256=jHUe_ZBQ66jx8bg
156
156
  application_sdk/workflows/metadata_extraction/sql.py,sha256=6ZaVt84n-8U2ZvR9GR7uIJKv5v8CuyQjhlnoRJvDszc,12435
157
157
  application_sdk/workflows/query_extraction/__init__.py,sha256=n066_CX5RpJz6DIxGMkKS3eGSRg03ilaCtsqfJWQb7Q,117
158
158
  application_sdk/workflows/query_extraction/sql.py,sha256=kT_JQkLCRZ44ZpaC4QvPL6DxnRIIVh8gYHLqRbMI-hA,4826
159
- atlan_application_sdk-0.1.1rc46.dist-info/METADATA,sha256=lFNImf3iOTzlw4bxeegOBO1YNjNfQ3yhAFzluCASQNI,5567
160
- atlan_application_sdk-0.1.1rc46.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
161
- atlan_application_sdk-0.1.1rc46.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
162
- atlan_application_sdk-0.1.1rc46.dist-info/licenses/NOTICE,sha256=A-XVVGt3KOYuuMmvSMIFkg534F1vHiCggEBp4Ez3wGk,1041
163
- atlan_application_sdk-0.1.1rc46.dist-info/RECORD,,
159
+ atlan_application_sdk-0.1.1rc48.dist-info/METADATA,sha256=MYGHDkOz2WRhmmUIWjpfNvDyj1cWMwE93O5DmoiyuA8,5567
160
+ atlan_application_sdk-0.1.1rc48.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
161
+ atlan_application_sdk-0.1.1rc48.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
162
+ atlan_application_sdk-0.1.1rc48.dist-info/licenses/NOTICE,sha256=A-XVVGt3KOYuuMmvSMIFkg534F1vHiCggEBp4Ez3wGk,1041
163
+ atlan_application_sdk-0.1.1rc48.dist-info/RECORD,,