fivetran-connector-sdk 2.1.0__tar.gz → 2.2.0__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 (24) hide show
  1. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/PKG-INFO +4 -4
  2. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/README.md +1 -1
  3. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/pyproject.toml +2 -2
  4. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk/__init__.py +15 -3
  5. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk/constants.py +2 -2
  6. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk/operations.py +8 -8
  7. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk.egg-info/PKG-INFO +4 -4
  8. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk.egg-info/requires.txt +2 -2
  9. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/setup.cfg +0 -0
  10. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk/connector_helper.py +0 -0
  11. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk/helpers.py +0 -0
  12. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk/logger.py +0 -0
  13. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk/operation_stream.py +0 -0
  14. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk/protos/__init__.py +0 -0
  15. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk/protos/common_pb2.py +0 -0
  16. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk/protos/common_pb2.pyi +0 -0
  17. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk/protos/common_pb2_grpc.py +0 -0
  18. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk/protos/connector_sdk_pb2.py +0 -0
  19. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk/protos/connector_sdk_pb2.pyi +0 -0
  20. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk/protos/connector_sdk_pb2_grpc.py +0 -0
  21. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk.egg-info/SOURCES.txt +0 -0
  22. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk.egg-info/dependency_links.txt +0 -0
  23. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk.egg-info/entry_points.txt +0 -0
  24. {fivetran_connector_sdk-2.1.0 → fivetran_connector_sdk-2.2.0}/src/fivetran_connector_sdk.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fivetran_connector_sdk
3
- Version: 2.1.0
3
+ Version: 2.2.0
4
4
  Summary: Build custom connectors on Fivetran platform
5
5
  Author-email: Fivetran <developers@fivetran.com>
6
6
  Project-URL: Homepage, https://fivetran.com/docs/connectors/connector-sdk
@@ -11,8 +11,8 @@ Classifier: License :: OSI Approved :: MIT License
11
11
  Classifier: Operating System :: OS Independent
12
12
  Requires-Python: >=3.9
13
13
  Description-Content-Type: text/markdown
14
- Requires-Dist: grpcio==1.71.0
15
- Requires-Dist: grpcio-tools==1.71.0
14
+ Requires-Dist: grpcio==1.74.0
15
+ Requires-Dist: grpcio-tools==1.74.0
16
16
  Requires-Dist: requests==2.32.5
17
17
  Requires-Dist: pipreqs-fivetran==1.0.1
18
18
  Requires-Dist: prompt-toolkit==3.0.51
@@ -36,7 +36,7 @@ To learn more, see our [Connector SDK documentation](https://fivetran.com/docs/c
36
36
  pip install fivetran-connector-sdk
37
37
 
38
38
  ## **Requirements**
39
- - Python version ≥3.9 and ≤3.12
39
+ - Python version ≥3.9 and ≤3.13
40
40
  - Operating system:
41
41
  - Windows: 10 or later (64-bit only)
42
42
  - macOS: 13 (Ventura) or later (Apple Silicon [arm64] or Intel [x86_64])
@@ -16,7 +16,7 @@ To learn more, see our [Connector SDK documentation](https://fivetran.com/docs/c
16
16
  pip install fivetran-connector-sdk
17
17
 
18
18
  ## **Requirements**
19
- - Python version ≥3.9 and ≤3.12
19
+ - Python version ≥3.9 and ≤3.13
20
20
  - Operating system:
21
21
  - Windows: 10 or later (64-bit only)
22
22
  - macOS: 13 (Ventura) or later (Apple Silicon [arm64] or Intel [x86_64])
@@ -13,8 +13,8 @@ classifiers = [
13
13
  "Operating System :: OS Independent",
14
14
  ]
15
15
  dependencies = [
16
- "grpcio==1.71.0",
17
- "grpcio-tools==1.71.0",
16
+ "grpcio==1.74.0",
17
+ "grpcio-tools==1.74.0",
18
18
  "requests==2.32.5",
19
19
  "pipreqs-fivetran==1.0.1",
20
20
  "prompt-toolkit==3.0.51",
@@ -8,6 +8,7 @@ import traceback
8
8
  import requests as rq
9
9
  import threading
10
10
  import queue
11
+ import subprocess
11
12
  from types import GeneratorType
12
13
  from http import HTTPStatus
13
14
  from zipfile import ZipFile
@@ -42,7 +43,7 @@ from fivetran_connector_sdk.connector_helper import (
42
43
 
43
44
  # Version format: <major_version>.<minor_version>.<patch_version>
44
45
  # (where Major Version = 2, Minor Version is incremental MM from Aug 25 onwards, Patch Version is incremental within a month)
45
- __version__ = "2.1.0"
46
+ __version__ = "2.2.0"
46
47
  TESTER_VERSION = TESTER_VER
47
48
  MAX_MESSAGE_LENGTH = 32 * 1024 * 1024 # 32MB
48
49
 
@@ -299,8 +300,12 @@ class Connector(connector_sdk_pb2_grpc.SourceConnectorServicer):
299
300
  print_library_log("Running connector tester...")
300
301
  for log_msg in run_tester(java_exe, tester_root_dir, project_path, available_port, json.dumps(self.state), json.dumps(self.configuration)):
301
302
  print(log_msg, end="")
302
- except:
303
+ except subprocess.CalledProcessError as e:
303
304
  print(traceback.format_exc())
305
+ raise e
306
+ except Exception as e:
307
+ print(traceback.format_exc())
308
+ raise e
304
309
  finally:
305
310
  server.stop(grace=2.0)
306
311
 
@@ -486,7 +491,14 @@ def main():
486
491
  elif args.command.lower() == "debug":
487
492
  configuration, config_path = get_configuration(args)
488
493
  state = get_state(args)
489
- connector_object.debug(args.project_path, configuration, state)
494
+ try:
495
+ connector_object.debug(args.project_path, configuration, state)
496
+ except subprocess.CalledProcessError as e:
497
+ print_library_log(f"Connector tester failed with exit code: {e.returncode}", Logging.Level.SEVERE)
498
+ sys.exit(e.returncode)
499
+ except Exception as e:
500
+ print_library_log(f"Debug command failed: {str(e)}", Logging.Level.SEVERE)
501
+ sys.exit(1)
490
502
  else:
491
503
  if not suggest_correct_command(args.command):
492
504
  raise NotImplementedError(f"Invalid command: {args.command}, see `fivetran --help`")
@@ -69,7 +69,7 @@ INSTALLATION_SCRIPT = "installation.sh"
69
69
  DRIVERS = "drivers"
70
70
  JAVA_LONG_MAX_VALUE = 9223372036854775807
71
71
  MAX_CONFIG_FIELDS = 100
72
- SUPPORTED_PYTHON_VERSIONS = ["3.12", "3.11", "3.10", "3.9"]
73
- DEFAULT_PYTHON_VERSION = "3.12"
72
+ SUPPORTED_PYTHON_VERSIONS = ["3.13", "3.12", "3.11", "3.10", "3.9"]
73
+ DEFAULT_PYTHON_VERSION = "3.13"
74
74
  FIVETRAN_HD_AGENT_ID = "FIVETRAN_HD_AGENT_ID"
75
75
  UTF_8 = "utf-8"
@@ -181,20 +181,20 @@ def _map_data_to_columns(data: dict, columns: dict, table: str = "") -> dict:
181
181
 
182
182
  def map_inferred_data_type(k, mapped_data, v, table=""):
183
183
  # We can infer type from the value
184
- if isinstance(v, int):
185
- if abs(v) > JAVA_LONG_MAX_VALUE:
186
- mapped_data[k] = common_pb2.ValueType(float=v)
187
- else:
188
- mapped_data[k] = common_pb2.ValueType(long=v)
189
- if _LOG_DATA_TYPE_INFERENCE.get("boolean_" + table, True) and isinstance(v, bool):
184
+ if isinstance(v, bool):
185
+ mapped_data[k] = common_pb2.ValueType(bool=v)
186
+ if _LOG_DATA_TYPE_INFERENCE.get("boolean_" + table, True):
190
187
  print_library_log("Fivetran: Boolean Datatype has been inferred for " + table, Logging.Level.INFO, True)
191
188
  if not _get_table_pk(table):
192
189
  print_library_log("Fivetran: Boolean Datatype inference issue for " + table, Logging.Level.INFO, True)
193
190
  _LOG_DATA_TYPE_INFERENCE["boolean_" + table] = False
191
+ elif isinstance(v, int):
192
+ if abs(v) > JAVA_LONG_MAX_VALUE:
193
+ mapped_data[k] = common_pb2.ValueType(float=v)
194
+ else:
195
+ mapped_data[k] = common_pb2.ValueType(long=v)
194
196
  elif isinstance(v, float):
195
197
  mapped_data[k] = common_pb2.ValueType(float=v)
196
- elif isinstance(v, bool):
197
- mapped_data[k] = common_pb2.ValueType(bool=v)
198
198
  elif isinstance(v, bytes):
199
199
  mapped_data[k] = common_pb2.ValueType(binary=v)
200
200
  elif isinstance(v, list):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fivetran_connector_sdk
3
- Version: 2.1.0
3
+ Version: 2.2.0
4
4
  Summary: Build custom connectors on Fivetran platform
5
5
  Author-email: Fivetran <developers@fivetran.com>
6
6
  Project-URL: Homepage, https://fivetran.com/docs/connectors/connector-sdk
@@ -11,8 +11,8 @@ Classifier: License :: OSI Approved :: MIT License
11
11
  Classifier: Operating System :: OS Independent
12
12
  Requires-Python: >=3.9
13
13
  Description-Content-Type: text/markdown
14
- Requires-Dist: grpcio==1.71.0
15
- Requires-Dist: grpcio-tools==1.71.0
14
+ Requires-Dist: grpcio==1.74.0
15
+ Requires-Dist: grpcio-tools==1.74.0
16
16
  Requires-Dist: requests==2.32.5
17
17
  Requires-Dist: pipreqs-fivetran==1.0.1
18
18
  Requires-Dist: prompt-toolkit==3.0.51
@@ -36,7 +36,7 @@ To learn more, see our [Connector SDK documentation](https://fivetran.com/docs/c
36
36
  pip install fivetran-connector-sdk
37
37
 
38
38
  ## **Requirements**
39
- - Python version ≥3.9 and ≤3.12
39
+ - Python version ≥3.9 and ≤3.13
40
40
  - Operating system:
41
41
  - Windows: 10 or later (64-bit only)
42
42
  - macOS: 13 (Ventura) or later (Apple Silicon [arm64] or Intel [x86_64])
@@ -1,5 +1,5 @@
1
- grpcio==1.71.0
2
- grpcio-tools==1.71.0
1
+ grpcio==1.74.0
2
+ grpcio-tools==1.74.0
3
3
  requests==2.32.5
4
4
  pipreqs-fivetran==1.0.1
5
5
  prompt-toolkit==3.0.51