bizon 0.1.1__py3-none-any.whl → 0.1.2__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.
- bizon/common/models.py +2 -0
- bizon/connectors/destinations/bigquery/src/config.py +1 -0
- bizon/connectors/destinations/bigquery/src/destination.py +3 -1
- bizon/connectors/destinations/bigquery_streaming/src/config.py +6 -5
- bizon/connectors/destinations/bigquery_streaming/src/destination.py +9 -4
- bizon/connectors/destinations/bigquery_streaming_v2/src/config.py +6 -1
- bizon/connectors/destinations/bigquery_streaming_v2/src/destination.py +230 -45
- bizon/connectors/destinations/bigquery_streaming_v2/src/proto_utils.py +1 -13
- bizon/connectors/destinations/file/src/config.py +1 -0
- bizon/connectors/destinations/file/src/destination.py +3 -1
- bizon/connectors/destinations/logger/src/config.py +1 -0
- bizon/connectors/destinations/logger/src/destination.py +3 -0
- bizon/connectors/sources/kafka/config/kafka.example.yml +1 -3
- bizon/connectors/sources/kafka/config/kafka_debezium.example.yml +1 -3
- bizon/connectors/sources/kafka/src/config.py +0 -6
- bizon/connectors/sources/kafka/src/decode.py +71 -66
- bizon/connectors/sources/kafka/src/source.py +44 -24
- bizon/connectors/sources/kafka/tests/kafka_pipeline.py +1 -1
- bizon/destination/config.py +9 -0
- bizon/destination/destination.py +37 -5
- bizon/engine/runner/adapters/streaming.py +60 -42
- bizon/engine/runner/runner.py +14 -7
- bizon/monitoring/config.py +12 -2
- bizon/monitoring/datadog/monitor.py +98 -14
- bizon/monitoring/monitor.py +41 -12
- bizon/monitoring/noop/monitor.py +22 -3
- bizon/source/source.py +1 -1
- {bizon-0.1.1.dist-info → bizon-0.1.2.dist-info}/METADATA +2 -1
- {bizon-0.1.1.dist-info → bizon-0.1.2.dist-info}/RECORD +32 -32
- {bizon-0.1.1.dist-info → bizon-0.1.2.dist-info}/WHEEL +1 -1
- {bizon-0.1.1.dist-info → bizon-0.1.2.dist-info}/LICENSE +0 -0
- {bizon-0.1.1.dist-info → bizon-0.1.2.dist-info}/entry_points.txt +0 -0
|
@@ -1,44 +1,48 @@
|
|
|
1
1
|
import os
|
|
2
|
-
from
|
|
2
|
+
from contextlib import contextmanager
|
|
3
|
+
from typing import Dict, List, Union
|
|
3
4
|
|
|
4
5
|
from datadog import initialize, statsd
|
|
5
6
|
from loguru import logger
|
|
6
7
|
|
|
7
|
-
from bizon.common.models import
|
|
8
|
+
from bizon.common.models import SyncMetadata
|
|
8
9
|
from bizon.engine.pipeline.models import PipelineReturnStatus
|
|
10
|
+
from bizon.monitoring.config import MonitoringConfig
|
|
9
11
|
from bizon.monitoring.monitor import AbstractMonitor
|
|
12
|
+
from bizon.source.models import SourceRecord
|
|
10
13
|
|
|
11
14
|
|
|
12
15
|
class DatadogMonitor(AbstractMonitor):
|
|
13
|
-
def __init__(self,
|
|
14
|
-
super().__init__(
|
|
16
|
+
def __init__(self, sync_metadata: SyncMetadata, monitoring_config: MonitoringConfig):
|
|
17
|
+
super().__init__(sync_metadata, monitoring_config)
|
|
15
18
|
|
|
16
19
|
# In Kubernetes, set the host dynamically
|
|
17
20
|
try:
|
|
18
|
-
datadog_host_from_env_var = os.getenv(
|
|
21
|
+
datadog_host_from_env_var = os.getenv(monitoring_config.config.datadog_host_env_var)
|
|
19
22
|
if datadog_host_from_env_var:
|
|
20
23
|
initialize(
|
|
21
24
|
statsd_host=datadog_host_from_env_var,
|
|
22
|
-
statsd_port=
|
|
25
|
+
statsd_port=monitoring_config.config.datadog_agent_port,
|
|
23
26
|
)
|
|
24
27
|
else:
|
|
25
28
|
initialize(
|
|
26
|
-
statsd_host=
|
|
27
|
-
statsd_port=
|
|
29
|
+
statsd_host=monitoring_config.config.datadog_agent_host,
|
|
30
|
+
statsd_port=monitoring_config.config.datadog_agent_port,
|
|
28
31
|
)
|
|
29
32
|
except Exception as e:
|
|
30
33
|
logger.info(f"Failed to initialize Datadog agent: {e}")
|
|
31
34
|
|
|
32
35
|
self.pipeline_monitor_status = "bizon_pipeline.status"
|
|
33
36
|
self.tags = [
|
|
34
|
-
f"pipeline_name:{self.
|
|
35
|
-
f"pipeline_stream:{self.
|
|
36
|
-
f"pipeline_source:{self.
|
|
37
|
-
f"pipeline_destination:{self.
|
|
38
|
-
] + [f"{key}:{value}" for key, value in self.
|
|
37
|
+
f"pipeline_name:{self.sync_metadata.name}",
|
|
38
|
+
f"pipeline_stream:{self.sync_metadata.stream_name}",
|
|
39
|
+
f"pipeline_source:{self.sync_metadata.source_name}",
|
|
40
|
+
f"pipeline_destination:{self.sync_metadata.destination_name}",
|
|
41
|
+
] + [f"{key}:{value}" for key, value in self.monitoring_config.config.tags.items()]
|
|
39
42
|
|
|
40
43
|
self.pipeline_active_pipelines = "bizon_pipeline.active_pipelines"
|
|
41
44
|
self.pipeline_records_synced = "bizon_pipeline.records_synced"
|
|
45
|
+
self.pipeline_large_records = "bizon_pipeline.large_records"
|
|
42
46
|
|
|
43
47
|
def track_pipeline_status(self, pipeline_status: PipelineReturnStatus, extra_tags: Dict[str, str] = {}) -> None:
|
|
44
48
|
"""
|
|
@@ -55,7 +59,9 @@ class DatadogMonitor(AbstractMonitor):
|
|
|
55
59
|
+ [f"{key}:{value}" for key, value in extra_tags.items()],
|
|
56
60
|
)
|
|
57
61
|
|
|
58
|
-
def track_records_synced(
|
|
62
|
+
def track_records_synced(
|
|
63
|
+
self, num_records: int, destination_id: str, extra_tags: Dict[str, str] = {}, headers: List[Dict[str, str]] = []
|
|
64
|
+
) -> Union[List[Dict[str, str]], None]:
|
|
59
65
|
"""
|
|
60
66
|
Track the number of records synced in the pipeline.
|
|
61
67
|
|
|
@@ -67,3 +73,81 @@ class DatadogMonitor(AbstractMonitor):
|
|
|
67
73
|
value=num_records,
|
|
68
74
|
tags=self.tags + [f"{key}:{value}" for key, value in extra_tags.items()],
|
|
69
75
|
)
|
|
76
|
+
if os.getenv("DD_DATA_STREAMS_ENABLED") == "true":
|
|
77
|
+
from ddtrace.data_streams import set_produce_checkpoint
|
|
78
|
+
|
|
79
|
+
destination_type = self.sync_metadata.destination_alias
|
|
80
|
+
|
|
81
|
+
for header in headers:
|
|
82
|
+
if "x-datadog-sampling-priority" in header:
|
|
83
|
+
del header["x-datadog-sampling-priority"]
|
|
84
|
+
if "dd-pathway-ctx-base64" in header:
|
|
85
|
+
del header["dd-pathway-ctx-base64"]
|
|
86
|
+
set_produce_checkpoint(destination_type, destination_id, header.setdefault)
|
|
87
|
+
return headers
|
|
88
|
+
|
|
89
|
+
def track_large_records_synced(self, num_records: int, extra_tags: Dict[str, str] = {}) -> None:
|
|
90
|
+
statsd.increment(
|
|
91
|
+
self.pipeline_large_records,
|
|
92
|
+
value=num_records,
|
|
93
|
+
tags=self.tags + [f"{key}:{value}" for key, value in extra_tags.items()],
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
def track_source_iteration(self, records: List[SourceRecord]) -> Union[List[Dict[str, str]], None]:
|
|
97
|
+
"""
|
|
98
|
+
Track the number of records consumed from a Kafka topic.
|
|
99
|
+
|
|
100
|
+
Args:
|
|
101
|
+
kafka_topic (str): The Kafka topic name
|
|
102
|
+
"""
|
|
103
|
+
|
|
104
|
+
if os.getenv("DD_DATA_STREAMS_ENABLED") == "true":
|
|
105
|
+
from ddtrace.data_streams import set_consume_checkpoint
|
|
106
|
+
|
|
107
|
+
headers_list = []
|
|
108
|
+
for record in records:
|
|
109
|
+
headers = record.data.get("headers", {})
|
|
110
|
+
set_consume_checkpoint("kafka", record.data["topic"], headers.get)
|
|
111
|
+
headers_list.append(headers)
|
|
112
|
+
return headers_list
|
|
113
|
+
|
|
114
|
+
@contextmanager
|
|
115
|
+
def trace(self, operation_name: str, resource: str = None, extra_tags: Dict[str, str] = None):
|
|
116
|
+
"""
|
|
117
|
+
Create a trace span for monitoring using Datadog APM.
|
|
118
|
+
|
|
119
|
+
Args:
|
|
120
|
+
operation_name (str): The name of the operation being traced
|
|
121
|
+
resource (str): The resource being operated on (e.g., topic name, table name)
|
|
122
|
+
extra_tags (Dict[str, str]): Additional tags for the trace
|
|
123
|
+
|
|
124
|
+
Yields:
|
|
125
|
+
A span object that can be used to add additional metadata
|
|
126
|
+
"""
|
|
127
|
+
if not self.monitoring_config.config.enable_tracing:
|
|
128
|
+
yield None
|
|
129
|
+
return
|
|
130
|
+
|
|
131
|
+
try:
|
|
132
|
+
from ddtrace import tracer
|
|
133
|
+
|
|
134
|
+
# Combine tags
|
|
135
|
+
all_tags = self.tags.copy()
|
|
136
|
+
if extra_tags:
|
|
137
|
+
all_tags.extend([f"{key}:{value}" for key, value in extra_tags.items()])
|
|
138
|
+
|
|
139
|
+
# Create the span
|
|
140
|
+
with tracer.trace(operation_name, resource=resource) as span:
|
|
141
|
+
# Add tags to the span
|
|
142
|
+
for tag in all_tags:
|
|
143
|
+
if ":" in tag:
|
|
144
|
+
key, value = tag.split(":", 1)
|
|
145
|
+
span.set_tag(key, value)
|
|
146
|
+
span.set_tag("_sampling_priority_v1", 1)
|
|
147
|
+
yield span
|
|
148
|
+
except ImportError:
|
|
149
|
+
logger.warning("ddtrace not available, skipping tracing")
|
|
150
|
+
yield None
|
|
151
|
+
except Exception as e:
|
|
152
|
+
logger.warning(f"Failed to create trace: {e}")
|
|
153
|
+
yield None
|
bizon/monitoring/monitor.py
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
from abc import ABC, abstractmethod
|
|
2
|
-
from typing import Dict
|
|
2
|
+
from typing import Dict, List, Union
|
|
3
3
|
|
|
4
|
-
from bizon.common.models import
|
|
4
|
+
from bizon.common.models import SyncMetadata
|
|
5
5
|
from bizon.engine.pipeline.models import PipelineReturnStatus
|
|
6
|
-
from bizon.monitoring.config import MonitorType
|
|
6
|
+
from bizon.monitoring.config import MonitoringConfig, MonitorType
|
|
7
|
+
from bizon.source.models import SourceRecord
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
class AbstractMonitor(ABC):
|
|
10
|
-
def __init__(self,
|
|
11
|
-
self.
|
|
12
|
-
|
|
11
|
+
def __init__(self, sync_metadata: SyncMetadata, monitoring_config: MonitoringConfig):
|
|
12
|
+
self.sync_metadata = sync_metadata
|
|
13
|
+
self.monitoring_config = monitoring_config
|
|
13
14
|
|
|
14
15
|
@abstractmethod
|
|
15
16
|
def track_pipeline_status(self, pipeline_status: PipelineReturnStatus, extra_tags: Dict[str, str] = {}) -> None:
|
|
@@ -21,22 +22,50 @@ class AbstractMonitor(ABC):
|
|
|
21
22
|
"""
|
|
22
23
|
pass
|
|
23
24
|
|
|
24
|
-
def
|
|
25
|
+
def track_source_iteration(self, records: List[SourceRecord], headers: Dict[str, str] = {}) -> None:
|
|
26
|
+
"""
|
|
27
|
+
Run a process that tracks the source iteration.
|
|
28
|
+
"""
|
|
29
|
+
pass
|
|
30
|
+
|
|
31
|
+
def track_records_synced(
|
|
32
|
+
self, num_records: int, destination_id: str, extra_tags: Dict[str, str] = {}, headers: Dict[str, str] = {}
|
|
33
|
+
) -> None:
|
|
25
34
|
"""
|
|
26
35
|
Track the number of records synced in the pipeline.
|
|
27
36
|
"""
|
|
28
37
|
pass
|
|
29
38
|
|
|
39
|
+
def trace(self, operation_name: str, resource: str = None, extra_tags: Dict[str, str] = None):
|
|
40
|
+
"""
|
|
41
|
+
Create a trace span for monitoring.
|
|
42
|
+
|
|
43
|
+
Args:
|
|
44
|
+
operation_name (str): The name of the operation being traced
|
|
45
|
+
resource (str): The resource being operated on (e.g., topic name, table name)
|
|
46
|
+
extra_tags (Dict[str, str]): Additional tags for the trace
|
|
47
|
+
|
|
48
|
+
Returns:
|
|
49
|
+
A context manager that can be used with 'with' statement
|
|
50
|
+
"""
|
|
51
|
+
pass
|
|
52
|
+
|
|
53
|
+
def track_large_records_synced(self, num_records: int, extra_tags: Dict[str, str] = {}) -> None:
|
|
54
|
+
"""
|
|
55
|
+
Track the number of large records synced in the destination system. This aims at helping to identify the source of the large records.
|
|
56
|
+
"""
|
|
57
|
+
pass
|
|
58
|
+
|
|
30
59
|
|
|
31
60
|
class MonitorFactory:
|
|
32
61
|
@staticmethod
|
|
33
|
-
def get_monitor(
|
|
34
|
-
if
|
|
62
|
+
def get_monitor(sync_metadata: SyncMetadata, monitoring_config: Union[MonitoringConfig, None]) -> AbstractMonitor:
|
|
63
|
+
if monitoring_config is None:
|
|
35
64
|
from bizon.monitoring.noop.monitor import NoOpMonitor
|
|
36
65
|
|
|
37
|
-
return NoOpMonitor(
|
|
66
|
+
return NoOpMonitor(sync_metadata, monitoring_config)
|
|
38
67
|
|
|
39
|
-
if
|
|
68
|
+
if monitoring_config.type == MonitorType.DATADOG:
|
|
40
69
|
from bizon.monitoring.datadog.monitor import DatadogMonitor
|
|
41
70
|
|
|
42
|
-
return DatadogMonitor(
|
|
71
|
+
return DatadogMonitor(sync_metadata, monitoring_config)
|
bizon/monitoring/noop/monitor.py
CHANGED
|
@@ -1,11 +1,30 @@
|
|
|
1
|
-
from
|
|
1
|
+
from contextlib import contextmanager
|
|
2
|
+
from typing import Dict
|
|
3
|
+
|
|
4
|
+
from bizon.common.models import BizonConfig, SyncMetadata
|
|
2
5
|
from bizon.engine.pipeline.models import PipelineReturnStatus
|
|
6
|
+
from bizon.monitoring.config import MonitoringConfig
|
|
3
7
|
from bizon.monitoring.monitor import AbstractMonitor
|
|
4
8
|
|
|
5
9
|
|
|
6
10
|
class NoOpMonitor(AbstractMonitor):
|
|
7
|
-
def __init__(self,
|
|
8
|
-
super().__init__(
|
|
11
|
+
def __init__(self, sync_metadata: SyncMetadata, monitoring_config: MonitoringConfig):
|
|
12
|
+
super().__init__(sync_metadata, monitoring_config)
|
|
9
13
|
|
|
10
14
|
def track_pipeline_status(self, pipeline_status: PipelineReturnStatus) -> None:
|
|
11
15
|
pass
|
|
16
|
+
|
|
17
|
+
@contextmanager
|
|
18
|
+
def trace(self, operation_name: str, resource: str = None, extra_tags: Dict[str, str] = None):
|
|
19
|
+
"""
|
|
20
|
+
No-op trace implementation.
|
|
21
|
+
|
|
22
|
+
Args:
|
|
23
|
+
operation_name (str): The name of the operation being traced
|
|
24
|
+
resource (str): The resource being operated on (e.g., topic name, table name)
|
|
25
|
+
extra_tags (Dict[str, str]): Additional tags for the trace
|
|
26
|
+
|
|
27
|
+
Yields:
|
|
28
|
+
None (no-op implementation)
|
|
29
|
+
"""
|
|
30
|
+
yield None
|
bizon/source/source.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: bizon
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: Extract and load your data reliably from API Clients with native fault-tolerant and checkpointing mechanism.
|
|
5
5
|
Author: Antoine Balliet
|
|
6
6
|
Author-email: antoine.balliet@gmail.com
|
|
@@ -21,6 +21,7 @@ Requires-Dist: backoff (>=2.2.1,<3.0.0)
|
|
|
21
21
|
Requires-Dist: click (>=8.1.7,<9.0.0)
|
|
22
22
|
Requires-Dist: confluent-kafka (>=2.6.0,<3.0.0) ; extra == "kafka"
|
|
23
23
|
Requires-Dist: datadog (>=0.50.2,<0.51.0) ; extra == "datadog"
|
|
24
|
+
Requires-Dist: ddtrace (>=3.10.0,<4.0.0) ; extra == "datadog"
|
|
24
25
|
Requires-Dist: dpath (>=2.2.0,<3.0.0)
|
|
25
26
|
Requires-Dist: fastavro (>=1.9.7,<2.0.0) ; extra == "kafka"
|
|
26
27
|
Requires-Dist: google-cloud-bigquery (>=3.25.0,<4.0.0) ; extra == "bigquery"
|
|
@@ -10,19 +10,19 @@ bizon/cli/main.py,sha256=pQnphPLznllBVzifyIrn3es0U9E1VGSzeEv_COzq9FI,3364
|
|
|
10
10
|
bizon/cli/utils.py,sha256=aZ47YjFfifHkW95bAVzWfEQD3ZnxGSMT32bkRLmc5-c,953
|
|
11
11
|
bizon/common/errors/backoff.py,sha256=z7RkQt1Npdh0sfD3hBDaiWQKe4iqS6ewvT1Q4Fds5aU,508
|
|
12
12
|
bizon/common/errors/errors.py,sha256=mrYx1uE2kOuR2pEaB7ztK1l2m0E4V-_-hxq-DuILerY,682
|
|
13
|
-
bizon/common/models.py,sha256=
|
|
13
|
+
bizon/common/models.py,sha256=yJbYhdzsMWwp2qWXO1cjT3nUhLtqMKM9yLEecb5NFTg,2710
|
|
14
14
|
bizon/connectors/destinations/bigquery/config/bigquery.example.yml,sha256=sy5-Piew00BlcjX5CFayFVrUq9G_vFYWXDmpWi9beTY,1263
|
|
15
|
-
bizon/connectors/destinations/bigquery/src/config.py,sha256=
|
|
16
|
-
bizon/connectors/destinations/bigquery/src/destination.py,sha256=
|
|
17
|
-
bizon/connectors/destinations/bigquery_streaming/src/config.py,sha256=
|
|
18
|
-
bizon/connectors/destinations/bigquery_streaming/src/destination.py,sha256=
|
|
19
|
-
bizon/connectors/destinations/bigquery_streaming_v2/src/config.py,sha256=
|
|
20
|
-
bizon/connectors/destinations/bigquery_streaming_v2/src/destination.py,sha256=
|
|
21
|
-
bizon/connectors/destinations/bigquery_streaming_v2/src/proto_utils.py,sha256=
|
|
22
|
-
bizon/connectors/destinations/file/src/config.py,sha256=
|
|
23
|
-
bizon/connectors/destinations/file/src/destination.py,sha256=
|
|
24
|
-
bizon/connectors/destinations/logger/src/config.py,sha256=
|
|
25
|
-
bizon/connectors/destinations/logger/src/destination.py,sha256=
|
|
15
|
+
bizon/connectors/destinations/bigquery/src/config.py,sha256=erTcw4M3ki5uvB2UJD5yxI80T7KVZj57_e70TB8ddLY,4001
|
|
16
|
+
bizon/connectors/destinations/bigquery/src/destination.py,sha256=5LtIH2i3tNivYiRj8RBXjRmeGJNIaYQJOIMNuXw42Ds,8969
|
|
17
|
+
bizon/connectors/destinations/bigquery_streaming/src/config.py,sha256=LdBKEqHPaGll8PW6c6q_lH7PJvsGdtv2BCrtB-TukTA,1898
|
|
18
|
+
bizon/connectors/destinations/bigquery_streaming/src/destination.py,sha256=aqMRDcSeX1hGO3VjyGs6lvd9BKbtwtbpdGSLI9xliko,16000
|
|
19
|
+
bizon/connectors/destinations/bigquery_streaming_v2/src/config.py,sha256=cdHST5Vx1VQbLsIVsPkoEtOJKmbA35XjsKzj6fZ5DHw,1907
|
|
20
|
+
bizon/connectors/destinations/bigquery_streaming_v2/src/destination.py,sha256=UgUne8dNsWIfhB7bXiPVZMlq5jx7eeAshc0sPglULzc,18638
|
|
21
|
+
bizon/connectors/destinations/bigquery_streaming_v2/src/proto_utils.py,sha256=aWYVzMPMTgsdDapYniu8h6Tf2Pty4fDisT_33d9yEJ4,3692
|
|
22
|
+
bizon/connectors/destinations/file/src/config.py,sha256=_SwVmFouv9HBCyBVR5B4CwSrfeOy8RFMcekvseTpD7Y,595
|
|
23
|
+
bizon/connectors/destinations/file/src/destination.py,sha256=9jXPm6nRrdQAD0udmOJtTt5Aab_tUuuDg7mHhngBgaA,1832
|
|
24
|
+
bizon/connectors/destinations/logger/src/config.py,sha256=IIB9DiGHTMJ0kJ7pkNojoyywiFwQlmVFdYL627nJ4rA,458
|
|
25
|
+
bizon/connectors/destinations/logger/src/destination.py,sha256=OU2eGcVXGzCNTu8qYxokKt3OmDHG5-hsPRIW2PqfZrM,1233
|
|
26
26
|
bizon/connectors/sources/cycle/config/cycle.example.yml,sha256=UDiqOa-8ZsykmNT625kxq9tyXOj_gKe9CFwg9r_8SYk,230
|
|
27
27
|
bizon/connectors/sources/cycle/src/source.py,sha256=NCYiAnQZOCwwyMPoRhv3LFlG-UlMBCR3iPapuk3AwAA,4265
|
|
28
28
|
bizon/connectors/sources/cycle/tests/cycle_customers.py,sha256=A48S20LxIC0A74JLoFn4NTHNTgBWV_5stTFtF1Gfk2c,271
|
|
@@ -46,13 +46,13 @@ bizon/connectors/sources/hubspot/src/hubspot_base.py,sha256=F9_jEZnQTCRazETJ2_He
|
|
|
46
46
|
bizon/connectors/sources/hubspot/src/hubspot_objects.py,sha256=rlZl-pUb9IGq5Hbfa15JwrQZOr4uCp7q_rrQus7u3OI,6289
|
|
47
47
|
bizon/connectors/sources/hubspot/src/models/hs_object.py,sha256=-Y20H3-nenJyySMlvM4TPttPz4O8qm3ArKP_I8pxsuo,1235
|
|
48
48
|
bizon/connectors/sources/hubspot/tests/hubspot_pipeline.py,sha256=e6dCF5_MHMySkeiF6kKrSAuCa_48J22-ZeSCZSjrfUI,216
|
|
49
|
-
bizon/connectors/sources/kafka/config/kafka.example.yml,sha256=
|
|
50
|
-
bizon/connectors/sources/kafka/config/kafka_debezium.example.yml,sha256=
|
|
49
|
+
bizon/connectors/sources/kafka/config/kafka.example.yml,sha256=taIj3QUL3jynQCpO-YlDtt6nGvQp8hOzGkS0_RJFUQU,933
|
|
50
|
+
bizon/connectors/sources/kafka/config/kafka_debezium.example.yml,sha256=lqFbNbSAFRh1Q8a9xQ_7nhhvVsyVIZM4amGEvCqHXQE,2254
|
|
51
51
|
bizon/connectors/sources/kafka/src/callback.py,sha256=NgP9PLquHbVagz6E9VJK5Vx-kK8K2l80MhoeenbhOXY,484
|
|
52
|
-
bizon/connectors/sources/kafka/src/config.py,sha256=
|
|
53
|
-
bizon/connectors/sources/kafka/src/decode.py,sha256=
|
|
54
|
-
bizon/connectors/sources/kafka/src/source.py,sha256=
|
|
55
|
-
bizon/connectors/sources/kafka/tests/kafka_pipeline.py,sha256=
|
|
52
|
+
bizon/connectors/sources/kafka/src/config.py,sha256=jyvpEkT2PUXXcyZgPK2T-YmwPpqeQBntY3gU5Zk5cKU,2510
|
|
53
|
+
bizon/connectors/sources/kafka/src/decode.py,sha256=5Xr1_u1KEqpQsJR9cQ9Y-UTFd40lNNg48tAoQFSj7WQ,2822
|
|
54
|
+
bizon/connectors/sources/kafka/src/source.py,sha256=uL1kQFLlrGXf-ebG8Cqx8mljVPnVsujOsQzDjxyZ9bM,15069
|
|
55
|
+
bizon/connectors/sources/kafka/tests/kafka_pipeline.py,sha256=9LaCqXJIEx2ye3dkWq0YK_bPX7d4fCX_OcDOJCk34WE,206
|
|
56
56
|
bizon/connectors/sources/periscope/config/periscope_charts.example.yml,sha256=9OgFDB7vguiNz2F2fmRqDNV8S_ddO9ncN5hgW9MhME4,350
|
|
57
57
|
bizon/connectors/sources/periscope/config/periscope_dashboards.example.yml,sha256=mQey_04cfCzNpm-tYICDRUmPOFTZGSaTYI2OpK604d0,364
|
|
58
58
|
bizon/connectors/sources/periscope/src/source.py,sha256=N4auF-PwME7SjsqR0ear3DO1WSRAIOaJCnOmsUFCYzE,12354
|
|
@@ -62,8 +62,8 @@ bizon/connectors/sources/pokeapi/config/pokeapi_pokemon_to_json.example.yml,sha2
|
|
|
62
62
|
bizon/connectors/sources/pokeapi/config/pokeapi_pokemon_to_logger.example.yml,sha256=wuJUob6QF1jwm5pnfNcFfXeO01HCcu-TEoZCeuYl_lo,134
|
|
63
63
|
bizon/connectors/sources/pokeapi/src/source.py,sha256=gmR58dk7mNOqimJTdJKVT1doSpEaKIM5mY1hfWGKJvk,2538
|
|
64
64
|
bizon/destination/buffer.py,sha256=77sns18cjmo7_ejk9jjDF4uCT1mlaTCHqn82c2K2BIs,3156
|
|
65
|
-
bizon/destination/config.py,sha256=
|
|
66
|
-
bizon/destination/destination.py,sha256=
|
|
65
|
+
bizon/destination/config.py,sha256=YX_rxh7U2-gh6NEPFByD9VBaDG0eMkv3yOgR8Vzi8g4,3034
|
|
66
|
+
bizon/destination/destination.py,sha256=Tx76KpOmLTzYx-HkNnVFVOL57Eh-GoqZwvKd6l_LjAo,14621
|
|
67
67
|
bizon/destination/models.py,sha256=_LUnkbbD_9XauYrNTthh9VmbYwWsVgPHF90FX6vmSjg,1278
|
|
68
68
|
bizon/engine/backend/adapters/sqlalchemy/backend.py,sha256=dXp4kszGuMDeJMEmf6MsVCC02Je1X9meAfmh92GQTfI,15454
|
|
69
69
|
bizon/engine/backend/adapters/sqlalchemy/config.py,sha256=K-FpE_-VHnTSAQOduouhXFVy43EkrKbeZLqr9_OfeMw,1846
|
|
@@ -87,17 +87,17 @@ bizon/engine/queue/adapters/rabbitmq/queue.py,sha256=pg_XUtXAd14Yi4H3k-yLXF3JM5y
|
|
|
87
87
|
bizon/engine/queue/config.py,sha256=tTxo4OgSoDItMyWYIHLufFcOFqBGbIyPN5ZDNi1jZhI,1269
|
|
88
88
|
bizon/engine/queue/queue.py,sha256=Y9uj31d-ZgW2f0F02iccp_o-m-RoMm_jR61NkLdMQ2M,3461
|
|
89
89
|
bizon/engine/runner/adapters/process.py,sha256=0szaMKew7hbLcKR3k1pvwpDDynU7lcowpOJf48C8i3Y,3051
|
|
90
|
-
bizon/engine/runner/adapters/streaming.py,sha256=
|
|
90
|
+
bizon/engine/runner/adapters/streaming.py,sha256=fLl5JvW6__GD0yBsvraqr7XKRyHEmjO3bsjbcoCk_tE,5213
|
|
91
91
|
bizon/engine/runner/adapters/thread.py,sha256=3BOGJlVFFWSA_NcK4NmwzB5FMFe6fqp0Ev_shukksPc,3792
|
|
92
92
|
bizon/engine/runner/config.py,sha256=CK3rsudAo1cDhr2-fTmKcozWrmTsFmGzScKPl4cndWQ,2456
|
|
93
|
-
bizon/engine/runner/runner.py,sha256=
|
|
93
|
+
bizon/engine/runner/runner.py,sha256=3AObfFotMkqaRPjBxJXmWRE-h0onMQBi3EpFU0JsKy8,11069
|
|
94
94
|
bizon/monitoring/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
95
|
-
bizon/monitoring/config.py,sha256=
|
|
95
|
+
bizon/monitoring/config.py,sha256=wRZRfW4ejjFDSG6swWj7kIULlaNYUPdbIKblQC9lzsk,1112
|
|
96
96
|
bizon/monitoring/datadog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
97
|
-
bizon/monitoring/datadog/monitor.py,sha256=
|
|
98
|
-
bizon/monitoring/monitor.py,sha256=
|
|
97
|
+
bizon/monitoring/datadog/monitor.py,sha256=NMtnIYq6n3I-QYmMJ6r8w63SO5DJ3wiDxXkcwqXEswY,6120
|
|
98
|
+
bizon/monitoring/monitor.py,sha256=aJ3JEgD-f-HydGFAmprwL8YCA0WumDeXpm2P-uqp4wM,2627
|
|
99
99
|
bizon/monitoring/noop/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
100
|
-
bizon/monitoring/noop/monitor.py,sha256=
|
|
100
|
+
bizon/monitoring/noop/monitor.py,sha256=9fALRj6LSxvNcqUTp6aKj5fLJqbpUMqu_xbP-T9Dbso,1079
|
|
101
101
|
bizon/source/auth/authenticators/abstract_oauth.py,sha256=gJ40Sbrt0lnHfLupzkzOvUmse3X0Fp2XRHHqjqnVXdI,5274
|
|
102
102
|
bizon/source/auth/authenticators/abstract_token.py,sha256=GMEQNyqkPYHmpY_FygChfokLLbohsz2r0WxttAQjsbw,899
|
|
103
103
|
bizon/source/auth/authenticators/basic.py,sha256=78xtyw9fR1Nvr3DnKWT2qzyvJnBOT84evzZV53UhKrc,1290
|
|
@@ -112,12 +112,12 @@ bizon/source/cursor.py,sha256=ZQGXYvTOoJA77w3hbsocjpjT-QOYeqBki032Fc1FVB8,4239
|
|
|
112
112
|
bizon/source/discover.py,sha256=4qPtHN_LFO4tVrq9mXwhoVDmaDP7R8I1zrksi3ksSEo,11156
|
|
113
113
|
bizon/source/models.py,sha256=swyyS3bE6HtctX8_EBPwIVhChu1DQ7SFcPEIQ0eZAkw,1706
|
|
114
114
|
bizon/source/session.py,sha256=z4dZlKC_PD8w_utTuAqs1vsfGuRkxHh5WQZhVKamNd0,1979
|
|
115
|
-
bizon/source/source.py,sha256=
|
|
115
|
+
bizon/source/source.py,sha256=j-aWCMd7Su8tVdWo143LU-n14ebNkgXlxnYMhMT6pHI,3703
|
|
116
116
|
bizon/transform/config.py,sha256=DFfzUCprOy5mv0G5CDBKeZFXRtegIuRQ5fBdnye9czE,242
|
|
117
117
|
bizon/transform/transform.py,sha256=IjluHZ2DY4uuuA-sn1x_1AqcavltglRbGbK4PJCr7Dk,1417
|
|
118
118
|
bizon/utils.py,sha256=HXaPiyxpWKoy3XN5vSYOve1ezlFeOYin3aFqTjcabUQ,81
|
|
119
|
-
bizon-0.1.
|
|
120
|
-
bizon-0.1.
|
|
121
|
-
bizon-0.1.
|
|
122
|
-
bizon-0.1.
|
|
123
|
-
bizon-0.1.
|
|
119
|
+
bizon-0.1.2.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
120
|
+
bizon-0.1.2.dist-info/METADATA,sha256=Vr0kr2kAhglxQdDx9Re5LJoDZ8OVxL4RFUWcyLbdicw,6283
|
|
121
|
+
bizon-0.1.2.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
122
|
+
bizon-0.1.2.dist-info/entry_points.txt,sha256=wtCd-6JswSY8lPWYSvOf7ASX1zfKgmgXtgg5XQS5274,44
|
|
123
|
+
bizon-0.1.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|