feldera 0.120.0__py3-none-any.whl → 0.122.0__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.

Potentially problematic release.


This version of feldera might be problematic. Click here for more details.

feldera/pipeline.py CHANGED
@@ -1,6 +1,7 @@
1
1
  import logging
2
2
  import time
3
3
  from datetime import datetime
4
+ import pathlib
4
5
 
5
6
  import pandas
6
7
  from uuid import UUID
@@ -1059,3 +1060,33 @@ pipeline '{self.name}' to sync checkpoint '{uuid}'"""
1059
1060
  if derr:
1060
1061
  errors.append(derr)
1061
1062
  return errors
1063
+
1064
+ def support_bundle(self, output_path: Optional[str] = None) -> bytes:
1065
+ """
1066
+ Generate a support bundle containing diagnostic information from this pipeline.
1067
+
1068
+ This method collects various diagnostic data from the pipeline including
1069
+ circuit profile, heap profile, metrics, logs, stats, and connector statistics,
1070
+ and packages them into a single ZIP file for support purposes.
1071
+
1072
+ :param output_path: Optional path to save the support bundle file. If None,
1073
+ the support bundle is only returned as bytes.
1074
+ :return: The support bundle as bytes (ZIP archive)
1075
+ :raises FelderaAPIError: If the pipeline does not exist or if there's an error
1076
+ """
1077
+
1078
+ support_bundle_bytes = self.client.get_pipeline_support_bundle(self.name)
1079
+
1080
+ if output_path is not None:
1081
+ path = pathlib.Path(output_path)
1082
+
1083
+ # Ensure the file has .zip extension
1084
+ if path.suffix != ".zip":
1085
+ path = path.with_suffix(".zip")
1086
+
1087
+ with open(path, "wb") as f:
1088
+ f.write(support_bundle_bytes)
1089
+
1090
+ print(f"Support bundle written to {path}")
1091
+
1092
+ return support_bundle_bytes
@@ -951,3 +951,28 @@ Reason: The pipeline is in a STOPPED state due to the following error:
951
951
  resp = self.http.get(path="/config")
952
952
 
953
953
  return FelderaConfig(resp)
954
+
955
+ def get_pipeline_support_bundle(self, pipeline_name: str) -> bytes:
956
+ """
957
+ Generate a support bundle containing diagnostic information from a pipeline.
958
+
959
+ This endpoint collects various diagnostic data from the pipeline including
960
+ circuit profile, heap profile, metrics, logs, stats, and connector statistics,
961
+ and packages them into a single ZIP file for support purposes.
962
+
963
+ :param pipeline_name: The name of the pipeline
964
+ :return: The support bundle as bytes (ZIP file)
965
+ :raises FelderaAPIError: If the pipeline does not exist or if there's an error
966
+ """
967
+
968
+ resp = self.http.get(
969
+ path=f"/pipelines/{pipeline_name}/support_bundle",
970
+ stream=True,
971
+ )
972
+
973
+ buffer = b""
974
+ for chunk in resp.iter_content(chunk_size=1024):
975
+ if chunk:
976
+ buffer += chunk
977
+
978
+ return buffer
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: feldera
3
- Version: 0.120.0
3
+ Version: 0.122.0
4
4
  Summary: The feldera python client
5
5
  Author-email: Feldera Team <dev@feldera.com>
6
6
  License: MIT
@@ -3,7 +3,7 @@ feldera/_callback_runner.py,sha256=-2hYG70cEkvz4BiOfUTARaH-2Rlv0Qcz-ilvodgyK10,4
3
3
  feldera/_helpers.py,sha256=rN0WuGSCCQlXWFMimZUQrgs-LJAfUo074d79sLElncQ,3023
4
4
  feldera/enums.py,sha256=MTHBojVANsdRnjbrzCyIOniDIUaH8nTYRfxB7QvajEE,9570
5
5
  feldera/output_handler.py,sha256=64J3ljhOaKIhxdjOKYi-BUz_HnMwROfmN8eE-btYygU,1930
6
- feldera/pipeline.py,sha256=ZkmIU0nxpXplCl7iLh6XtdiCZtkR5GGKW33J4gdt1ig,37821
6
+ feldera/pipeline.py,sha256=yqR_GzYOrP4FU2XzK4P7vGL3fVIUh_wHOOP3RtP3gJw,39033
7
7
  feldera/pipeline_builder.py,sha256=a750hp5SgTmlyrobTHFh1fTaK9Ed4A5qnXaYRctRM-8,4250
8
8
  feldera/runtime_config.py,sha256=MuYJPd5G_hnu_eDz4ge4BfYvSBSOvOEtv4NYh5sEwqU,4452
9
9
  feldera/stats.py,sha256=eZxq51bUV3mlo6BW43DUHwmG1wpLs04rVECxOGojqxU,5026
@@ -12,12 +12,12 @@ feldera/rest/_helpers.py,sha256=q7jWInKp9IiIli8N5o31lDG3hNUbcsJqufZXYHG04ps,222
12
12
  feldera/rest/_httprequests.py,sha256=w8tD-_3spAf4vgalJQceIHQ7qw1uvxprDFM2oz3P5QU,7559
13
13
  feldera/rest/config.py,sha256=DYzZKngDEhouTEwqVFd-rDrBN9tWqsU07Jl_BTT4mXs,1008
14
14
  feldera/rest/errors.py,sha256=b4i2JjrbSmej7jdko_FL8UeXklLKenSipwMT80jowaM,1720
15
- feldera/rest/feldera_client.py,sha256=tU99wyMDNkyHerom1QKeg1WZmno7bLNrIzbU2f98-7U,32855
15
+ feldera/rest/feldera_client.py,sha256=yd9ofC6xz-xh34GOBgFvJ1kzvG7E-GDmBbmfJpnPMLo,33788
16
16
  feldera/rest/feldera_config.py,sha256=1pnGbLFMSLvp7Qh_OlPLALSKCSHIktNWKvx6gYU00U4,1374
17
17
  feldera/rest/pipeline.py,sha256=Rmbflbwjvd86iZ5aSJ5b_bTSs6vgvEKQFwMZDtm0nxE,2835
18
18
  feldera/rest/sql_table.py,sha256=qrw-YwMzx5T81zDefNO1KOx7EyypFz1vPwGBzSUB7kc,652
19
19
  feldera/rest/sql_view.py,sha256=hN12mPM0mvwLCIPYywpb12s9Hd2Ws31IlTMXPriMisw,644
20
- feldera-0.120.0.dist-info/METADATA,sha256=zRnUhSWEwQyBSGnIsMcky-B65cB460RRCHfoG0Q3eT0,4053
21
- feldera-0.120.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
- feldera-0.120.0.dist-info/top_level.txt,sha256=fB6yTqrQiO6RCbY1xP2T_mpPoTjDFtJvkJJodiee7d0,8
23
- feldera-0.120.0.dist-info/RECORD,,
20
+ feldera-0.122.0.dist-info/METADATA,sha256=l4wH36BcxiWOYNLuleUTMR1jK3MTjjDXOgmZbmZdv5E,4053
21
+ feldera-0.122.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
22
+ feldera-0.122.0.dist-info/top_level.txt,sha256=fB6yTqrQiO6RCbY1xP2T_mpPoTjDFtJvkJJodiee7d0,8
23
+ feldera-0.122.0.dist-info/RECORD,,