From 37ce54da8c106c94c5913c2a1b7e92b5e3dd342c Mon Sep 17 00:00:00 2001 From: Flavio Riper Date: Fri, 12 Jan 2024 13:58:16 -0300 Subject: [PATCH 1/4] feat: add base connector auth --- python/base_connector/auth.py | 46 +++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 python/base_connector/auth.py diff --git a/python/base_connector/auth.py b/python/base_connector/auth.py new file mode 100644 index 0000000000..3ba7681812 --- /dev/null +++ b/python/base_connector/auth.py @@ -0,0 +1,46 @@ +from requests import post +import base64 + +from airbyte_cdk.sources.streams.http.requests_native_auth import Oauth2Authenticator as BaseOauth2Authenticator + + +class Oauth2Authenticator(BaseOauth2Authenticator): + grant_type = "refresh_token" + + def __init__(self, use_base64, content_type, use_body, refresh_token_fields, **kwargs): + super().__init__(**kwargs) + self.token_refresh_endpoint = kwargs["token_refresh_endpoint"] + self.grant_type = kwargs["grant_type"] + self.client_id = kwargs["client_id"] + self.client_secret = kwargs["client_secret"] + self.refresh_token = kwargs["refresh_token"] + + self.use_base64 = use_base64 + self.content_type = content_type + self.use_body = use_body + self.refresh_token_fields = refresh_token_fields + + def refresh_access_token(self): + auth_request = { + "headers": {}, + "data": {} + } + + if self.use_body is True: + for token_field in self.refresh_token_fields: + auth_request["data"][token_field] = self.__dict__[token_field] + + if self.content_type is not None: + auth_request["headers"]["Content-Type"] = self.content_type + + if self.use_base64 is not None: + auth_hash = base64.b64encode(f"{self.client_id}:{self.client_secret}".encode('ascii')).decode('ascii') + auth_request["headers"]["Authorization"] = f"Basic {auth_hash}" + + response = post(self.token_refresh_endpoint, **auth_request) + response_body = response.json() + + if response.status_code >= 400: + raise Exception(response_body) + + return response_body["access_token"], response_body["expires_in"] \ No newline at end of file From cc43dcb149d0daa21aaf04d64491f068cc34e782 Mon Sep 17 00:00:00 2001 From: Flavio Riper Date: Fri, 12 Jan 2024 13:58:24 -0300 Subject: [PATCH 2/4] feat: add base connector source --- python/base_connector/source.py | 112 ++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 python/base_connector/source.py diff --git a/python/base_connector/source.py b/python/base_connector/source.py new file mode 100644 index 0000000000..d883c65372 --- /dev/null +++ b/python/base_connector/source.py @@ -0,0 +1,112 @@ +import yaml + +from typing import Any, List, Mapping, Tuple, Union + +from airbyte_cdk import AirbyteLogger +from airbyte_cdk.models import SyncMode +from airbyte_cdk.sources import AbstractSource +from airbyte_cdk.sources.streams import Stream +from airbyte_cdk.sources.streams.http.requests_native_auth import TokenAuthenticator + +from .stream import BaseStream +from .auth import Oauth2Authenticator + +class BaseSource(AbstractSource): + check_stream = None + schema_streams = [] + content_type = None + use_body = None + refresh_token_fields = [] + + def __init__(self, connector: str): + super().__init__() + self.__class__.__module__ = connector.replace("-", "_") + self.connector = connector + + with open(f"{connector}/{self.__class__.__module__}/estuary-manifest.yaml", "r") as file: + manifest = yaml.safe_load(file) + + self.base_endpoint = manifest["definitions"]["url_base"] + self.token_refresh_endpoint = manifest["definitions"]["url_refresh_token"] + self.grant_type = manifest["definitions"]["grant_type"] + + self.paginator = manifest["paginator"] + self.streams_dict = manifest["streams"] + self.check_stream = manifest["check_stream"] + self.use_base64 = "use_base64" in manifest["definitions"] and manifest["definitions"]["use_base64"] is True + + if "content_type" in manifest["definitions"]: + self.content_type = manifest["definitions"]["content_type"] + + if "use_body" in manifest["definitions"]: + self.use_body = manifest["definitions"]["use_body"] + + if "refresh_token_fields" in manifest["definitions"]: + self.refresh_token_fields = manifest["definitions"]["refresh_token_fields"] + + def get_args(self, config: Mapping[str, Any]): + args = { + "connector": self.connector, + "authenticator": self._get_authenticator(config), + "paginator": self.paginator, + "url_base": self.base_endpoint + } + + return args + + def check_connection(self, logger: AirbyteLogger, config: Mapping[str, Any]) -> Tuple[bool, Any]: + try: + check_stream = BaseStream( + config_dict = self.streams_dict[self.check_stream], + **self.get_args(config) + ) + + next(check_stream.read_records(sync_mode = SyncMode.full_refresh)) + return True, None + except Exception as e: + return False, e + + def _get_authenticator(self, config: dict) -> Union[TokenAuthenticator, Oauth2Authenticator]: + if "access_token" in config: + return TokenAuthenticator(token = config["access_token"]) + + creds = config.get("credentials") + + if "personal_access_token" in creds: + return TokenAuthenticator(token = creds["personal_access_token"]) + else: + return Oauth2Authenticator( + token_refresh_endpoint = self.token_refresh_endpoint, + grant_type = self.grant_type, + client_id = creds["client_id"], + client_secret = creds["client_secret"], + refresh_token = creds["refresh_token"], + use_base64 = self.use_base64, + content_type = self.content_type, + use_body = self.use_body, + refresh_token_fields = self.refresh_token_fields, + ) + + def generate_stream(self, config_dict, args): + stream = next((x for x in self.schema_streams if x.name == config_dict["name"]), None) + if stream is not None: + return stream + + stream = BaseStream(config_dict = config_dict, **args) + if "schema_name" in config_dict: + self.schema_streams.append(stream) + + return stream + + def streams(self, config: Mapping[str, Any]) -> List[Stream]: + args = self.get_args(config) + + for _, config_dict in self.streams_dict.items(): + if "parent_streams" in config_dict: + for index, parent_config_dict in enumerate(config_dict["parent_streams"]): + parent_stream = self.generate_stream(self.streams_dict[parent_config_dict["name"]], args) + config_dict["parent_streams"][index]["instance"] = parent_stream + + self.generate_stream(config_dict, args) + + return self.schema_streams \ No newline at end of file From 6ac00d8e6f02f0392d04f4233fd885c16d94e07b Mon Sep 17 00:00:00 2001 From: Flavio Riper Date: Fri, 12 Jan 2024 13:58:29 -0300 Subject: [PATCH 3/4] feat: add base connector stream --- python/base_connector/stream.py | 186 ++++++++++++++++++++++++++++++++ 1 file changed, 186 insertions(+) create mode 100644 python/base_connector/stream.py diff --git a/python/base_connector/stream.py b/python/base_connector/stream.py new file mode 100644 index 0000000000..14c7d64476 --- /dev/null +++ b/python/base_connector/stream.py @@ -0,0 +1,186 @@ +from typing import Any, Iterable, Mapping, MutableMapping, Optional, Type +from requests import Response +import json + +from airbyte_cdk.models import SyncMode +from airbyte_cdk.sources.streams.http import HttpStream + +class BaseStream(HttpStream): + url_base = "" + primary_key = None + use_cache = False + name = "base_stream" + raise_on_http_errors = True + parent_streams_configs = None + + @property + def StreamType(self) -> Type: + return self.__class__ + + def __init__(self, connector: str, config_dict: dict, paginator: dict, url_base: str, **kwargs): + super().__init__(**kwargs) + + self.connector = connector + self.page_size = paginator["page_size"] + self.paginator_opt_field_name = paginator["opt_field_name"] + self.paginator_request_field_name = paginator["request_field_name"] + self.has_pagination = config_dict["has_pagination"] if "has_pagination" in config_dict else False + + self.url_path = config_dict["path"] + self.url_base = url_base + self.primary_key = config_dict["primary_key"] if "primary_key" in config_dict else None + self.use_cache = "use_cache" in config_dict or "schema_name" not in config_dict + self.name = config_dict['name'] + self.schema_name = config_dict["schema_name"] if "schema_name" in config_dict else None + self.record_extractor = config_dict["record_extractor"] if "record_extractor" in config_dict else None + self.extra_opt = config_dict["extra_opt"] if "extra_opt" in config_dict else None + + self.raise_on_http_errors = "ignore_error" not in config_dict + + if "parent_streams" in config_dict: + self.parent_streams_configs = config_dict["parent_streams"] + + if "use_sync_token" in config_dict: + self.sync_token = None + + def get_json_schema(self) -> Mapping[str, Any]: + with open(f"{self.connector}/{self.connector.replace('-', '_')}/schemas/{self.schema_name}", "r") as file: + try: + json_schema = json.load(file) + except json.JSONDecodeError as error: + raise ValueError(f"Could not read json spec file: {error}. Please ensure that it is a valid JSON.") + + return json_schema + + def path(self, stream_slice = None, **kwargs: Mapping[str, Any]) -> str: + if self.parent_streams_configs is not None: + path = self.url_path + + for parent_stream_configs in self.parent_streams_configs: + partition_field = parent_stream_configs["partition_field"] + if partition_field in stream_slice: + path = path.format(**{ partition_field: stream_slice[partition_field] }) + + return path + + return self.url_path + + def next_page_token(self, response: Response) -> Optional[Mapping[str, Any]]: + if not self.has_pagination: + return None + + decoded_response = response.json() + + if self.check_use_sync(): + last_sync = decoded_response.get("sync") + + if last_sync: + return { "sync": last_sync } + + next_page = decoded_response.get(self.paginator_request_field_name) + + if next_page: + return { "offset": next_page["offset"] } + + def stream_slices(self, iteration = 0, **kwargs) -> Iterable[Optional[Mapping[str, Any]]]: + if self.parent_streams_configs is not None: + yield from self.read_slices_from_records(self.parent_streams_configs[iteration]) + if iteration < len(self.parent_streams_configs): + self.stream_slices(iteration = iteration + 1, **kwargs) + else: + yield [None] + + def parse_response(self, response: Response, **kwargs: Mapping[str, Any]) -> Iterable[Mapping]: + response_json = response.json() + + if self.check_use_sync() and response.status_code == 412: + if "sync" in response_json: + self.sync_token = response_json["sync"] + else: + self.sync_token = None + else: + if "code" in response_json: + return + + if "sync" in response_json: + self.sync_token = response_json["sync"] + + if self.record_extractor is not None: + section_data = response_json.get(self.record_extractor, []) + else: + section_data = [response.json()] + + if isinstance(section_data, dict): + yield section_data + elif isinstance(section_data, list): + yield from section_data + + def request_params(self, next_page_token: Mapping[str, Any] = None, stream_slice: Mapping[str, Any] = None, **kwargs: Mapping[str, Any]) -> MutableMapping[str, Any]: + params = { self.paginator_opt_field_name: self.page_size } + params.update(self.get_opt_fields()) + + if self.extra_opt is not None: + for key, value in self.extra_opt.items(): + if value in stream_slice: + params.update({ key: stream_slice[value] }) + else: + params.update({ key: value }) + + if next_page_token: + params.update(next_page_token) + + return params + + def _handle_object_type(self, prop: str, value: MutableMapping[str, Any]) -> str: + return f"{prop}.id" + + def _handle_array_type(self, prop: str, value: MutableMapping[str, Any]) -> str: + if "type" in value and "object" in value["type"]: + return self._handle_object_type(prop, value) + + return prop + + def get_opt_fields(self) -> MutableMapping[str, str]: + if self.schema_name is None: + return { "opt_fields": "" } + + opt_fields = list() + schema = self.get_json_schema() + + for prop, value in schema["properties"].items(): + if "object" in value["type"]: + opt_fields.append(self._handle_object_type(prop, value)) + elif "array" in value["type"]: + opt_fields.append(self._handle_array_type(prop, value.get("items", []))) + else: + opt_fields.append(prop) + + return { "opt_fields": ",".join(opt_fields) } if opt_fields else dict() + + def read_slices_from_records(self, stream) -> Iterable[Optional[Mapping[str, Any]]]: + stream_instance = stream["instance"] + stream_slices = stream_instance.stream_slices(sync_mode = SyncMode.full_refresh) + + for stream_slice in stream_slices: + for record in stream_instance.read_records(sync_mode = SyncMode.full_refresh, stream_slice = stream_slice): + yield { stream["partition_field"]: record[stream["parent_key"]] } + + def read_records(self, *args, **kwargs): + if self.check_use_sync() and self.sync_token is not None: + kwargs["next_page_token"] = { "sync": self.sync_token } + + yield from super().read_records(*args, **kwargs) + + if self.check_use_sync(): + self.sync_token = self.get_latest_sync_token() + + def get_latest_sync_token(self) -> str: + latest_sync_token = self.state.get("last_sync_token") + + if latest_sync_token is None: + return None + + return latest_sync_token["sync"] + + def check_use_sync(self): + return "sync_token" in self.__dict__ \ No newline at end of file From 49efbc1cce1f796520e01d74ba11f18779df47ec Mon Sep 17 00:00:00 2001 From: Flavio Riper Date: Fri, 12 Jan 2024 14:39:11 -0300 Subject: [PATCH 4/4] feat: add zoom base connector --- source-zoom/__main__.py | 29 + source-zoom/acmeCo/flow.yaml | 187 +++ source-zoom/acmeCo/meeting_polls.schema.yaml | 65 + .../acmeCo/meeting_registrants.schema.yaml | 58 + ...meeting_registration_questions.schema.yaml | 41 + source-zoom/acmeCo/meetings.schema.yaml | 264 ++++ .../report_meeting_participants.schema.yaml | 39 + .../acmeCo/report_meetings.schema.yaml | 59 + .../report_webinar_participants.schema.yaml | 48 + .../acmeCo/report_webinars.schema.yaml | 59 + source-zoom/acmeCo/users.schema.yaml | 58 + .../acmeCo/webinar_absentees.schema.yaml | 58 + .../acmeCo/webinar_panelists.schema.yaml | 33 + source-zoom/acmeCo/webinar_polls.schema.yaml | 73 + .../acmeCo/webinar_registrants.schema.yaml | 65 + ...webinar_registration_questions.schema.yaml | 41 + source-zoom/acmeCo/webinars.schema.yaml | 216 +++ source-zoom/connector_config.yaml | 21 + source-zoom/poetry.lock | 1201 +++++++++++++++++ source-zoom/pyproject.toml | 17 + source-zoom/source_zoom/__init__.py | 3 + source-zoom/source_zoom/estuary-manifest.yaml | 313 +++++ source-zoom/source_zoom/requirements.txt | 1 + .../schemas/meeting_poll_results.json | 37 + .../source_zoom/schemas/meeting_polls.json | 96 ++ .../schemas/meeting_registrants.json | 85 ++ .../meeting_registration_questions.json | 48 + source-zoom/source_zoom/schemas/meetings.json | 394 ++++++ .../schemas/report_meeting_participants.json | 46 + .../source_zoom/schemas/report_meetings.json | 76 ++ .../schemas/report_webinar_participants.json | 55 + .../source_zoom/schemas/report_webinars.json | 76 ++ source-zoom/source_zoom/schemas/users.json | 85 ++ .../schemas/webinar_absentees.json | 85 ++ .../schemas/webinar_panelists.json | 37 + .../schemas/webinar_poll_results.json | 37 + .../source_zoom/schemas/webinar_polls.json | 97 ++ .../schemas/webinar_qna_results.json | 31 + .../schemas/webinar_registrants.json | 85 ++ .../webinar_registration_questions.json | 49 + .../schemas/webinar_tracking_sources.json | 25 + source-zoom/source_zoom/schemas/webinars.json | 322 +++++ source-zoom/source_zoom/setup.py | 19 + .../source_zoom/source_zoom/__init__.py | 3 + source-zoom/source_zoom/source_zoom/spec.yaml | 34 + source-zoom/test.flow.yaml | 89 ++ 46 files changed, 4860 insertions(+) create mode 100644 source-zoom/__main__.py create mode 100644 source-zoom/acmeCo/flow.yaml create mode 100644 source-zoom/acmeCo/meeting_polls.schema.yaml create mode 100644 source-zoom/acmeCo/meeting_registrants.schema.yaml create mode 100644 source-zoom/acmeCo/meeting_registration_questions.schema.yaml create mode 100644 source-zoom/acmeCo/meetings.schema.yaml create mode 100644 source-zoom/acmeCo/report_meeting_participants.schema.yaml create mode 100644 source-zoom/acmeCo/report_meetings.schema.yaml create mode 100644 source-zoom/acmeCo/report_webinar_participants.schema.yaml create mode 100644 source-zoom/acmeCo/report_webinars.schema.yaml create mode 100644 source-zoom/acmeCo/users.schema.yaml create mode 100644 source-zoom/acmeCo/webinar_absentees.schema.yaml create mode 100644 source-zoom/acmeCo/webinar_panelists.schema.yaml create mode 100644 source-zoom/acmeCo/webinar_polls.schema.yaml create mode 100644 source-zoom/acmeCo/webinar_registrants.schema.yaml create mode 100644 source-zoom/acmeCo/webinar_registration_questions.schema.yaml create mode 100644 source-zoom/acmeCo/webinars.schema.yaml create mode 100644 source-zoom/connector_config.yaml create mode 100644 source-zoom/poetry.lock create mode 100644 source-zoom/pyproject.toml create mode 100644 source-zoom/source_zoom/__init__.py create mode 100644 source-zoom/source_zoom/estuary-manifest.yaml create mode 100644 source-zoom/source_zoom/requirements.txt create mode 100644 source-zoom/source_zoom/schemas/meeting_poll_results.json create mode 100644 source-zoom/source_zoom/schemas/meeting_polls.json create mode 100644 source-zoom/source_zoom/schemas/meeting_registrants.json create mode 100644 source-zoom/source_zoom/schemas/meeting_registration_questions.json create mode 100644 source-zoom/source_zoom/schemas/meetings.json create mode 100644 source-zoom/source_zoom/schemas/report_meeting_participants.json create mode 100644 source-zoom/source_zoom/schemas/report_meetings.json create mode 100644 source-zoom/source_zoom/schemas/report_webinar_participants.json create mode 100644 source-zoom/source_zoom/schemas/report_webinars.json create mode 100644 source-zoom/source_zoom/schemas/users.json create mode 100644 source-zoom/source_zoom/schemas/webinar_absentees.json create mode 100644 source-zoom/source_zoom/schemas/webinar_panelists.json create mode 100644 source-zoom/source_zoom/schemas/webinar_poll_results.json create mode 100644 source-zoom/source_zoom/schemas/webinar_polls.json create mode 100644 source-zoom/source_zoom/schemas/webinar_qna_results.json create mode 100644 source-zoom/source_zoom/schemas/webinar_registrants.json create mode 100644 source-zoom/source_zoom/schemas/webinar_registration_questions.json create mode 100644 source-zoom/source_zoom/schemas/webinar_tracking_sources.json create mode 100644 source-zoom/source_zoom/schemas/webinars.json create mode 100644 source-zoom/source_zoom/setup.py create mode 100644 source-zoom/source_zoom/source_zoom/__init__.py create mode 100644 source-zoom/source_zoom/source_zoom/spec.yaml create mode 100644 source-zoom/test.flow.yaml diff --git a/source-zoom/__main__.py b/source-zoom/__main__.py new file mode 100644 index 0000000000..838d52107c --- /dev/null +++ b/source-zoom/__main__.py @@ -0,0 +1,29 @@ +from flow_sdk import shim_airbyte_cdk +from python.base_connector.source import BaseSource + +shim_airbyte_cdk.CaptureShim( + delegate = BaseSource("source-zoom"), + oauth2 = { + "provider": "zoom", + "authUrlTemplate": ( + "https://zoom.us/oauth/authorize?" + r"client_id={{#urlencode}}{{{ client_id }}}{{/urlencode}}" + r"&redirect_uri={{#urlencode}}{{{ redirect_uri }}}{{/urlencode}}" + "&response_type=code" + ), + "accessTokenUrlTemplate": "https://zoom.us/oauth/token/", + "accessTokenHeaders": { + "content-type": "application/x-www-form-urlencoded", + "authorization": r"Basic {{#basicauth}}{{{ client_id }}}:{{{client_secret }}}{{/basicauth}}" + }, + "accessTokenBody": ( + r"code={{#urlencode}}{{{ code }}}{{/urlencode}}" + "&grant_type=authorization_code" + ), + "accessTokenResponseMap": { + "access_token": "/access_token", + "refresh_token": "/refresh_token", + "token_expiry_date": r"{{#now_plus}}{{ expires_in }}{{/now_plus}}" + } + } +).main() \ No newline at end of file diff --git a/source-zoom/acmeCo/flow.yaml b/source-zoom/acmeCo/flow.yaml new file mode 100644 index 0000000000..f1cc43a8f7 --- /dev/null +++ b/source-zoom/acmeCo/flow.yaml @@ -0,0 +1,187 @@ +--- +collections: + acmeCo/meeting_poll_results: + schema: + $schema: "http://json-schema.org/draft-07/schema#" + type: object + properties: + meeting_uuid: + type: string + email: + type: string + name: + type: string + question_details: + type: array + items: + type: object + properties: + answer: + type: string + date_time: + type: string + polling_id: + type: string + question: + type: string + required: [] + _meta: + type: object + properties: + row_id: + type: integer + required: + - row_id + required: [] + x-infer-schema: true + key: + - /_meta/row_id + acmeCo/meeting_polls: + schema: meeting_polls.schema.yaml + key: + - /id + acmeCo/meeting_registrants: + schema: meeting_registrants.schema.yaml + key: + - /id + acmeCo/meeting_registration_questions: + schema: meeting_registration_questions.schema.yaml + key: + - /_meta/row_id + acmeCo/meetings: + schema: meetings.schema.yaml + key: + - /id + acmeCo/report_meeting_participants: + schema: report_meeting_participants.schema.yaml + key: + - /_meta/row_id + acmeCo/report_meetings: + schema: report_meetings.schema.yaml + key: + - /_meta/row_id + acmeCo/report_webinar_participants: + schema: report_webinar_participants.schema.yaml + key: + - /_meta/row_id + acmeCo/report_webinars: + schema: report_webinars.schema.yaml + key: + - /_meta/row_id + acmeCo/users: + schema: users.schema.yaml + key: + - /id + acmeCo/webinar_absentees: + schema: webinar_absentees.schema.yaml + key: + - /id + acmeCo/webinar_panelists: + schema: webinar_panelists.schema.yaml + key: + - /_meta/row_id + acmeCo/webinar_poll_results: + schema: + $schema: "http://json-schema.org/draft-07/schema#" + type: object + properties: + webinar_uuid: + type: string + email: + type: string + name: + type: string + question_details: + type: array + items: + type: object + properties: + answer: + type: string + date_time: + type: string + polling_id: + type: string + question: + type: string + required: [] + _meta: + type: object + properties: + row_id: + type: integer + required: + - row_id + required: [] + x-infer-schema: true + key: + - /_meta/row_id + acmeCo/webinar_polls: + schema: webinar_polls.schema.yaml + key: + - /_meta/row_id + acmeCo/webinar_qna_results: + schema: + $schema: "http://json-schema.org/draft-07/schema#" + type: object + properties: + webinar_uuid: + type: string + email: + type: string + name: + type: string + question_details: + type: array + items: + type: object + properties: + answer: + type: string + question: + type: string + required: [] + _meta: + type: object + properties: + row_id: + type: integer + required: + - row_id + required: [] + x-infer-schema: true + key: + - /_meta/row_id + acmeCo/webinar_registrants: + schema: webinar_registrants.schema.yaml + key: + - /_meta/row_id + acmeCo/webinar_registration_questions: + schema: webinar_registration_questions.schema.yaml + key: + - /_meta/row_id + acmeCo/webinar_tracking_sources: + schema: + $schema: "http://json-schema.org/draft-07/schema#" + type: object + properties: + webinar_id: + type: string + id: + type: string + registration_count: + type: number + source_name: + type: string + tracking_url: + type: string + visitor_count: + type: number + required: [] + x-infer-schema: true + key: + - /id + acmeCo/webinars: + schema: webinars.schema.yaml + key: + - /id diff --git a/source-zoom/acmeCo/meeting_polls.schema.yaml b/source-zoom/acmeCo/meeting_polls.schema.yaml new file mode 100644 index 0000000000..f3f1df3a4b --- /dev/null +++ b/source-zoom/acmeCo/meeting_polls.schema.yaml @@ -0,0 +1,65 @@ +--- +$schema: "http://json-schema.org/draft-07/schema#" +type: object +properties: + id: + type: string + meeting_id: + type: number + status: + type: string + anonymous: + type: boolean + poll_type: + type: number + questions: + type: array + items: + type: object + properties: + answer_max_character: + type: number + answer_min_character: + type: number + answer_required: + type: boolean + answers: + type: array + items: + type: string + case_sensitive: + type: boolean + name: + type: string + prompts: + type: array + items: + type: object + properties: + prompt_question: + type: string + prompt_right_answers: + type: array + items: + type: string + required: [] + rating_max_label: + type: string + rating_max_value: + type: number + rating_min_label: + type: string + rating_min_value: + type: number + right_answers: + type: array + items: + type: string + show_as_dropdown: + type: boolean + type: + type: string + required: [] + title: + type: string +x-infer-schema: true diff --git a/source-zoom/acmeCo/meeting_registrants.schema.yaml b/source-zoom/acmeCo/meeting_registrants.schema.yaml new file mode 100644 index 0000000000..fc18fc8c86 --- /dev/null +++ b/source-zoom/acmeCo/meeting_registrants.schema.yaml @@ -0,0 +1,58 @@ +--- +$schema: "http://json-schema.org/draft-07/schema#" +type: object +properties: + meeting_id: + type: number + id: + type: string + address: + type: string + city: + type: string + comments: + type: string + country: + type: string + custom_questions: + type: array + items: + type: object + properties: + title: + type: string + value: + type: string + required: [] + email: + type: string + first_name: + type: string + industry: + type: string + job_title: + type: string + last_name: + type: string + no_of_employees: + type: string + org: + type: string + phone: + type: string + purchasing_time_frame: + type: string + role_in_purchase_process: + type: string + state: + type: string + status: + type: string + zip: + type: string + create_time: + type: string + join_url: + type: string +required: [] +x-infer-schema: true diff --git a/source-zoom/acmeCo/meeting_registration_questions.schema.yaml b/source-zoom/acmeCo/meeting_registration_questions.schema.yaml new file mode 100644 index 0000000000..bd792631d4 --- /dev/null +++ b/source-zoom/acmeCo/meeting_registration_questions.schema.yaml @@ -0,0 +1,41 @@ +--- +$schema: "http://json-schema.org/draft-07/schema#" +type: object +properties: + meeting_id: + type: + - string + custom_questions: + type: array + items: + type: object + properties: + answers: + type: array + items: + type: string + required: + type: boolean + title: + type: string + type: + type: string + required: [] + questions: + type: array + items: + type: object + properties: + field_name: + type: string + required: + type: boolean + required: [] + _meta: + type: object + properties: + row_id: + type: integer + required: + - row_id +x-infer-schema: true diff --git a/source-zoom/acmeCo/meetings.schema.yaml b/source-zoom/acmeCo/meetings.schema.yaml new file mode 100644 index 0000000000..8fa52ed55c --- /dev/null +++ b/source-zoom/acmeCo/meetings.schema.yaml @@ -0,0 +1,264 @@ +--- +$schema: "http://json-schema.org/draft-06/schema#" +type: object +properties: + assistant_id: + type: string + host_email: + type: string + host_id: + type: string + id: + type: integer + uuid: + type: string + agenda: + type: string + created_at: + type: string + duration: + type: number + encrypted_password: + type: string + h323_password: + type: string + join_url: + type: string + occurrences: + type: array + items: + type: object + properties: + duration: + type: number + occurrence_id: + type: string + start_time: + type: string + status: + type: string + required: [] + password: + type: string + pmi: + type: string + pre_schedule: + type: boolean + recurrence: + type: object + properties: + end_date_time: + type: string + end_times: + type: number + monthly_day: + type: number + monthly_week: + type: number + monthly_week_day: + type: number + repeat_interval: + type: number + type: + type: number + weekly_days: + type: string + required: [] + settings: + type: object + properties: + allow_multiple_devices: + type: boolean + alternative_hosts: + type: string + alternative_hosts_email_notification: + type: boolean + alternative_host_update_polls: + type: boolean + approval_type: + type: number + approved_or_denied_countries_or_regions: + type: object + properties: + approved_list: + type: array + items: + type: string + denied_list: + type: array + items: + type: string + enable: + type: boolean + method: + type: string + required: [] + audio: + type: string + authentication_domains: + type: string + authentication_exception: + type: array + items: + type: object + properties: + email: + type: string + name: + type: string + join_url: + type: string + required: [] + authentication_name: + type: string + authentication_option: + type: string + auto_recording: + type: string + breakout_room: + type: object + properties: + enable: + type: boolean + rooms: + type: array + items: + type: object + properties: + name: + type: string + participants: + type: array + items: + type: string + required: [] + required: [] + calendar_type: + type: number + close_registration: + type: boolean + contact_email: + type: string + contact_name: + type: string + custom_keys: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + required: [] + email_notification: + type: boolean + encryption_type: + type: string + focus_mode: + type: boolean + global_dial_in_countries: + type: array + items: + type: string + global_dial_in_numbers: + type: array + items: + type: object + properties: + city: + type: string + country: + type: string + country_name: + type: string + number: + type: string + type: + type: string + required: [] + host_video: + type: boolean + jbh_time: + type: number + join_before_host: + type: boolean + language_interpretation: + type: object + properties: + enable: + type: boolean + interpreters: + type: array + items: + type: object + properties: + email: + type: string + languages: + type: string + required: [] + required: [] + meeting_authentication: + type: boolean + mute_upon_entry: + type: boolean + participant_video: + type: boolean + private_meeting: + type: boolean + registrants_confirmation_email: + type: boolean + registrants_email_notification: + type: boolean + registration_type: + type: number + show_share_button: + type: boolean + use_pmi: + type: boolean + waiting_room: + type: boolean + waiting_room_options: + type: object + properties: + enable: + type: boolean + admit_type: + type: number + auto_admit: + type: number + internal_user_auto_admit: + type: number + required: [] + watermark: + type: boolean + host_save_video_order: + type: boolean + required: [] + start_time: + type: string + start_url: + type: string + status: + type: string + timezone: + type: string + topic: + type: string + tracking_fields: + type: array + items: + type: object + properties: + field: + type: string + value: + type: string + visible: + type: boolean + required: [] + type: + type: number +required: [] +x-infer-schema: true diff --git a/source-zoom/acmeCo/report_meeting_participants.schema.yaml b/source-zoom/acmeCo/report_meeting_participants.schema.yaml new file mode 100644 index 0000000000..52c8d2ec43 --- /dev/null +++ b/source-zoom/acmeCo/report_meeting_participants.schema.yaml @@ -0,0 +1,39 @@ +--- +$schema: "http://json-schema.org/draft-07/schema#" +type: object +properties: + meeting_uuid: + type: string + customer_key: + type: string + duration: + type: number + failover: + type: boolean + id: + type: string + join_time: + type: string + leave_time: + type: string + name: + type: string + registrant_id: + type: string + user_email: + type: string + user_id: + type: string + status: + type: string + bo_mtg_id: + type: string + _meta: + type: object + properties: + row_id: + type: integer + required: + - row_id +required: [] +x-infer-schema: true diff --git a/source-zoom/acmeCo/report_meetings.schema.yaml b/source-zoom/acmeCo/report_meetings.schema.yaml new file mode 100644 index 0000000000..bf4bd72bf5 --- /dev/null +++ b/source-zoom/acmeCo/report_meetings.schema.yaml @@ -0,0 +1,59 @@ +--- +$schema: "http://json-schema.org/draft-07/schema#" +type: object +properties: + meeting_uuid: + type: string + custom_keys: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + required: [] + dept: + type: string + duration: + type: number + end_time: + type: string + id: + type: number + participants_count: + type: number + start_time: + type: string + topic: + type: string + total_minutes: + type: number + tracking_fields: + type: array + items: + type: object + properties: + field: + type: string + value: + type: string + required: [] + type: + type: number + user_email: + type: string + user_name: + type: string + uuid: + type: string + _meta: + type: object + properties: + row_id: + type: integer + required: + - row_id +required: [] +x-infer-schema: true diff --git a/source-zoom/acmeCo/report_webinar_participants.schema.yaml b/source-zoom/acmeCo/report_webinar_participants.schema.yaml new file mode 100644 index 0000000000..db0030e7cc --- /dev/null +++ b/source-zoom/acmeCo/report_webinar_participants.schema.yaml @@ -0,0 +1,48 @@ +--- +$schema: "http://json-schema.org/draft-07/schema#" +type: object +properties: + webinar_uuid: + type: string + customer_key: + type: string + duration: + type: number + failover: + type: boolean + id: + type: string + join_time: + type: string + leave_time: + type: string + name: + type: string + registrant_id: + type: string + status: + type: string + user_email: + type: string + user_id: + type: string + _meta: + type: object + properties: + row_id: + type: integer + required: + - row_id +required: + - customer_key + - duration + - failover + - id + - join_time + - leave_time + - name + - registrant_id + - status + - user_email + - user_id +x-infer-schema: true diff --git a/source-zoom/acmeCo/report_webinars.schema.yaml b/source-zoom/acmeCo/report_webinars.schema.yaml new file mode 100644 index 0000000000..dc87a23c9a --- /dev/null +++ b/source-zoom/acmeCo/report_webinars.schema.yaml @@ -0,0 +1,59 @@ +--- +$schema: "http://json-schema.org/draft-07/schema#" +type: object +properties: + webinar_uuid: + type: string + custom_keys: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + required: [] + dept: + type: string + duration: + type: number + end_time: + type: string + id: + type: number + participants_count: + type: number + start_time: + type: string + topic: + type: string + total_minutes: + type: number + tracking_fields: + type: array + items: + type: object + properties: + field: + type: string + value: + type: string + required: [] + type: + type: number + user_email: + type: string + user_name: + type: string + uuid: + type: string + _meta: + type: object + properties: + row_id: + type: integer + required: + - row_id +required: [] +x-infer-schema: true diff --git a/source-zoom/acmeCo/users.schema.yaml b/source-zoom/acmeCo/users.schema.yaml new file mode 100644 index 0000000000..a91eed6918 --- /dev/null +++ b/source-zoom/acmeCo/users.schema.yaml @@ -0,0 +1,58 @@ +--- +$schema: "http://json-schema.org/draft-06/schema#" +type: object +properties: + created_at: + type: string + custom_attributes: + type: array + items: + type: object + properties: + key: + type: string + name: + type: string + value: + type: string + required: [] + dept: + type: string + email: + type: string + employee_unique_id: + type: string + first_name: + type: string + group_ids: + type: array + items: + type: string + id: + type: string + im_group_ids: + type: array + items: + type: string + last_client_version: + type: string + last_login_time: + type: string + last_name: + type: string + plan_united_type: + type: string + pmi: + type: number + role_id: + type: string + status: + type: string + timezone: + type: string + type: + type: number + verified: + type: number +required: [] +x-infer-schema: true diff --git a/source-zoom/acmeCo/webinar_absentees.schema.yaml b/source-zoom/acmeCo/webinar_absentees.schema.yaml new file mode 100644 index 0000000000..582cf27a25 --- /dev/null +++ b/source-zoom/acmeCo/webinar_absentees.schema.yaml @@ -0,0 +1,58 @@ +--- +$schema: "http://json-schema.org/draft-07/schema#" +type: object +properties: + webinar_uuid: + type: string + id: + type: string + address: + type: string + city: + type: string + comments: + type: string + country: + type: string + custom_questions: + type: array + items: + type: object + properties: + title: + type: string + value: + type: string + required: [] + email: + type: string + first_name: + type: string + industry: + type: string + job_title: + type: string + last_name: + type: string + no_of_employees: + type: string + org: + type: string + phone: + type: string + purchasing_time_frame: + type: string + role_in_purchase_process: + type: string + state: + type: string + status: + type: string + zip: + type: string + create_time: + type: string + join_url: + type: string +required: [] +x-infer-schema: true diff --git a/source-zoom/acmeCo/webinar_panelists.schema.yaml b/source-zoom/acmeCo/webinar_panelists.schema.yaml new file mode 100644 index 0000000000..b5c55e9c06 --- /dev/null +++ b/source-zoom/acmeCo/webinar_panelists.schema.yaml @@ -0,0 +1,33 @@ +--- +$schema: "http://json-schema.org/draft-07/schema#" +type: object +properties: + webinar_id: + type: number + id: + type: string + email: + type: string + name: + type: string + join_url: + type: string + virtual_background_id: + type: string + name_tag_id: + type: string + name_tag_name: + type: string + name_tag_pronouns: + type: string + name_tag_description: + type: string + _meta: + type: object + properties: + row_id: + type: integer + required: + - row_id +required: [] +x-infer-schema: true diff --git a/source-zoom/acmeCo/webinar_polls.schema.yaml b/source-zoom/acmeCo/webinar_polls.schema.yaml new file mode 100644 index 0000000000..f32dce7833 --- /dev/null +++ b/source-zoom/acmeCo/webinar_polls.schema.yaml @@ -0,0 +1,73 @@ +--- +$schema: "http://json-schema.org/draft-07/schema#" +type: object +properties: + webinar_id: + type: string + id: + type: string + status: + type: string + anonymous: + type: boolean + poll_type: + type: number + questions: + type: array + items: + type: object + properties: + answer_max_character: + type: number + answer_min_character: + type: number + answer_required: + type: boolean + answers: + type: array + items: + type: string + case_sensitive: + type: boolean + name: + type: string + prompts: + type: array + items: + type: object + properties: + prompt_question: + type: string + prompt_right_answers: + type: array + items: + type: string + required: [] + rating_max_label: + type: string + rating_max_value: + type: number + rating_min_label: + type: string + rating_min_value: + type: number + right_answers: + type: array + items: + type: string + show_as_dropdown: + type: boolean + type: + type: string + required: [] + title: + type: string + _meta: + type: object + properties: + row_id: + type: integer + required: + - row_id +required: [] +x-infer-schema: true diff --git a/source-zoom/acmeCo/webinar_registrants.schema.yaml b/source-zoom/acmeCo/webinar_registrants.schema.yaml new file mode 100644 index 0000000000..ca5f26b887 --- /dev/null +++ b/source-zoom/acmeCo/webinar_registrants.schema.yaml @@ -0,0 +1,65 @@ +--- +$schema: "http://json-schema.org/draft-07/schema#" +type: object +properties: + webinar_id: + type: string + id: + type: string + address: + type: string + city: + type: string + comments: + type: string + country: + type: string + custom_questions: + type: array + items: + type: object + properties: + title: + type: string + value: + type: string + required: [] + email: + type: string + first_name: + type: string + industry: + type: string + job_title: + type: string + last_name: + type: string + no_of_employees: + type: string + org: + type: string + phone: + type: string + purchasing_time_frame: + type: string + role_in_purchase_process: + type: string + state: + type: string + status: + type: string + zip: + type: string + create_time: + type: string + join_url: + type: string + _meta: + type: object + properties: + row_id: + type: integer + required: + - row_id +required: [] +x-infer-schema: true diff --git a/source-zoom/acmeCo/webinar_registration_questions.schema.yaml b/source-zoom/acmeCo/webinar_registration_questions.schema.yaml new file mode 100644 index 0000000000..b1d91ebeb7 --- /dev/null +++ b/source-zoom/acmeCo/webinar_registration_questions.schema.yaml @@ -0,0 +1,41 @@ +--- +$schema: "http://json-schema.org/draft-07/schema#" +type: object +properties: + webinar_id: + type: string + custom_questions: + type: array + items: + type: object + properties: + answers: + type: array + items: + type: string + required: + type: boolean + title: + type: string + type: + type: string + required: [] + questions: + type: array + items: + type: object + properties: + field_name: + type: string + required: + type: boolean + required: [] + _meta: + type: object + properties: + row_id: + type: integer + required: + - row_id +required: [] +x-infer-schema: true diff --git a/source-zoom/acmeCo/webinars.schema.yaml b/source-zoom/acmeCo/webinars.schema.yaml new file mode 100644 index 0000000000..b1374dd553 --- /dev/null +++ b/source-zoom/acmeCo/webinars.schema.yaml @@ -0,0 +1,216 @@ +--- +$schema: "http://json-schema.org/draft-07/schema#" +type: object +properties: + host_email: + type: string + host_id: + type: string + id: + type: integer + uuid: + type: string + agenda: + type: string + created_at: + type: string + duration: + type: number + join_url: + type: string + occurrences: + type: array + items: + type: object + properties: + duration: + type: number + occurrence_id: + type: string + start_time: + type: string + status: + type: string + required: [] + password: + type: string + recurrence: + type: object + properties: + end_date_time: + type: string + end_times: + type: number + monthly_day: + type: number + monthly_week: + type: number + monthly_week_day: + type: number + repeat_interval: + type: number + type: + type: number + weekly_days: + type: string + required: [] + settings: + type: object + properties: + allow_multiple_devices: + type: boolean + alternative_hosts: + type: string + alternative_host_update_polls: + type: boolean + approval_type: + type: number + attendees_and_panelists_reminder_email_notification: + type: object + properties: + enable: + type: boolean + type: + type: number + required: [] + audio: + type: string + authentication_domains: + type: string + authentication_name: + type: string + authentication_option: + type: string + auto_recording: + type: string + close_registration: + type: boolean + contact_email: + type: string + contact_name: + type: string + email_language: + type: string + follow_up_absentees_email_notification: + type: object + properties: + enable: + type: boolean + type: + type: number + required: [] + follow_up_attendees_email_notification: + type: object + properties: + enable: + type: boolean + type: + type: number + required: [] + global_dial_in_countries: + type: array + items: + type: string + hd_video: + type: boolean + hd_video_for_attendees: + type: boolean + host_video: + type: boolean + language_interpretation: + type: object + properties: + enable: + type: boolean + interpreters: + type: array + items: + type: object + properties: + email: + type: string + languages: + type: string + required: [] + required: [] + panelist_authentication: + type: boolean + meeting_authentication: + type: boolean + add_watermark: + type: boolean + add_audio_watermark: + type: boolean + notify_registrants: + type: boolean + on_demand: + type: boolean + panelists_invitation_email_notification: + type: boolean + panelists_video: + type: boolean + post_webinar_survey: + type: boolean + practice_session: + type: boolean + question_and_answer: + type: object + properties: + allow_anonymous_questions: + type: boolean + answer_questions: + type: string + attendees_can_comment: + type: boolean + attendees_can_upvote: + type: boolean + allow_auto_reply: + type: boolean + auto_reply_text: + type: string + enable: + type: boolean + required: [] + registrants_confirmation_email: + type: boolean + registrants_email_notification: + type: boolean + registrants_restrict_number: + type: number + registration_type: + type: number + send_1080p_video_to_attendees: + type: boolean + show_share_button: + type: boolean + survey_url: + type: string + enable_session_branding: + type: boolean + required: [] + start_time: + type: string + start_url: + type: string + timezone: + type: string + topic: + type: string + tracking_fields: + type: array + items: + type: object + properties: + field: + type: string + value: + type: string + required: [] + type: + type: number + is_simulive: + type: boolean + record_file_id: + type: string +required: [] +x-infer-schema: true diff --git a/source-zoom/connector_config.yaml b/source-zoom/connector_config.yaml new file mode 100644 index 0000000000..daeeed4347 --- /dev/null +++ b/source-zoom/connector_config.yaml @@ -0,0 +1,21 @@ +credentials: + account_id_sops: ENC[AES256_GCM,data:ycfs3BY8ud2mvj908Xqv4RN0JKPFxw==,iv:K8KSL6l1qh3AwjX/gZy4yRLRThFjkzizL1DFg9XKDcc=,tag:Ay65KlBdc3b96TPOjFZewA==,type:str] + client_id_sops: ENC[AES256_GCM,data:pOJKLvg8RxbQtBJjSteOBMDhEI3LWQ==,iv:IlOBhemJtUYiyUqLfiOi/e3jbEBmpd6yq6wmlPHxAW4=,tag:T/FGY4qhV1RgiOI6vfC4IQ==,type:str] + client_secret_sops: ENC[AES256_GCM,data:u/hDGTJQgTHCtzyTHeRYRaq0U39puDJbmBNEPPQNVlA=,iv:2pAmpsxeCR2wlolYmOoArc3hskvHKLgH8WG/sa6WeOU=,tag:l9+3iL+KNxJ67t1kKi7d3A==,type:str] + access_token: eyJzdiI6IjAwMDAwMSIsImFsZyI6IkhTNTEyIiwidiI6IjIuMCIsImtpZCI6Ijk0MzlhNjRjLTQ0MDAtNGQ5Ny1hYmJhLWY5OTdjZmY0NWI0OSJ9.eyJ2ZXIiOjksImF1aWQiOiI5YmViZGU4NGFiZGE4MDI3YTIwMTEyNWVjNGRjYzE4MyIsImNvZGUiOiJLcVZKdzFSUHd6a0szMXpUWnBwU0RDUkZUZmZkRVU0Q1EiLCJpc3MiOiJ6bTpjaWQ6Zmp6VExJdFFURXVURk1sbGRrZnRjQSIsImdubyI6MCwidHlwZSI6MCwidGlkIjowLCJhdWQiOiJodHRwczovL29hdXRoLnpvb20udXMiLCJ1aWQiOiJ2V3JfTHJPb1J6ZXVFdTJJSkRsdEpBIiwibmJmIjoxNzA0NzUwNjgzLCJleHAiOjE3MDQ3NTQyODMsImlhdCI6MTcwNDc1MDY4MywiYWlkIjoiWk85Ri1qMURSd2V5XzlyNFRqZ0E1QSJ9.nb1-LG5EsA-Y8DKLeHHzw9kp6tStGut5JZmp_zsIcP4YiY6q_C80jZziqAiw7iH1ToMuYmzd5hzEjyGgsj3_tQ + refresh_token: eyJzdiI6IjAwMDAwMSIsImFsZyI6IkhTNTEyIiwidiI6IjIuMCIsImtpZCI6ImNlMWU5ODJhLTk3MTYtNDgzMC1hNTk5LWZhZjM5ZDNhNTg4NSJ9.eyJ2ZXIiOjksImF1aWQiOiI5YmViZGU4NGFiZGE4MDI3YTIwMTEyNWVjNGRjYzE4MyIsImNvZGUiOiJLcVZKdzFSUHd6a0szMXpUWnBwU0RDUkZUZmZkRVU0Q1EiLCJpc3MiOiJ6bTpjaWQ6Zmp6VExJdFFURXVURk1sbGRrZnRjQSIsImdubyI6MCwidHlwZSI6MSwidGlkIjowLCJhdWQiOiJodHRwczovL29hdXRoLnpvb20udXMiLCJ1aWQiOiJ2V3JfTHJPb1J6ZXVFdTJJSkRsdEpBIiwibmJmIjoxNzA0NzUwNjgzLCJleHAiOjE3MTI1MjY2ODMsImlhdCI6MTcwNDc1MDY4MywiYWlkIjoiWk85Ri1qMURSd2V5XzlyNFRqZ0E1QSJ9.9RRdrqYq6WQyw-B5fQVXSb3BI4e-75xXjSweTDccGZIfEpUL-Rxkmn9lhir-qZH6RIb1rlV1XOE0J4USzlnCbA + token_expiry_date: "2024-01-09T16:06:44.610Z" +sops: + kms: [] + gcp_kms: + - resource_id: projects/estuary-theatre/locations/us-central1/keyRings/connector-keyring/cryptoKeys/connector-repository + created_at: "2024-01-06T15:12:01Z" + enc: CiQAdmEdwu+NkfcDFHI1HD0xEdrY9U4sY/h10udj/ZFkZVwbtB8SSQCVvC1zYUbgbqZ2Db9irjQ7UiPc2JpBm3PHoR2AqLsA3WJ0TzEy/Tz1WXT48eokyZTR4xU6dClgKu69xh2RqXowjpw9X6uVElc= + azure_kv: [] + hc_vault: [] + age: [] + lastmodified: "2024-01-08T21:52:20Z" + mac: ENC[AES256_GCM,data:tk+NKGSB5h1ptXbn2P74NLG+csH/BJJfwV7XTLMKedByq8XfCwR8oW6T1CXVJBLerqPzqfezxObzq1irbR/P7CsXxvZcY5jcxdy9T0cdefoNuEJk89sD4u91KoKRKEVK09op0ysFSKPRbnZZvo/tI+u7kG4mrRI0TiTRrsvi9kg=,iv:/Yx5kzLvrPU6S3L82TgRrHwnhfeqEWW1t7+5bzHGklk=,tag:RIEtT5zn3jsIJ6ieruiP3Q==,type:str] + pgp: [] + encrypted_suffix: _sops + version: 3.8.1 diff --git a/source-zoom/poetry.lock b/source-zoom/poetry.lock new file mode 100644 index 0000000000..d838b5385b --- /dev/null +++ b/source-zoom/poetry.lock @@ -0,0 +1,1201 @@ +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. + +[[package]] +name = "airbyte-cdk" +version = "0.51.14" +description = "A framework for writing Airbyte Connectors." +optional = false +python-versions = ">=3.8" +files = [ + {file = "airbyte-cdk-0.51.14.tar.gz", hash = "sha256:b5cdad2da796f8b42ab538cc7af53a531529c94f881d1fec0a8f03f745080ea5"}, + {file = "airbyte_cdk-0.51.14-py3-none-any.whl", hash = "sha256:8e96c7cf57dfa41b1292deed756978619ad2a1d8c7d9f42df8e12b8484ef8079"}, +] + +[package.dependencies] +airbyte-protocol-models = "0.4.0" +backoff = "*" +cachetools = "*" +Deprecated = ">=1.2,<2.0" +dpath = ">=2.0.1,<2.1.0" +genson = "1.2.2" +isodate = ">=0.6.1,<0.7.0" +Jinja2 = ">=3.1.2,<3.2.0" +jsonref = ">=0.2,<1.0" +jsonschema = ">=3.2.0,<3.3.0" +pendulum = "*" +pydantic = ">=1.10.8,<2.0.0" +python-dateutil = "*" +PyYAML = ">=6.0.1" +requests = "*" +requests-cache = "*" +wcmatch = "8.4" + +[package.extras] +dev = ["avro (>=1.11.2,<1.12.0)", "cohere (==4.21)", "fastavro (>=1.8.0,<1.9.0)", "freezegun", "langchain (==0.0.271)", "mypy", "openai[embeddings] (==0.27.9)", "pandas (==2.0.3)", "pyarrow (==12.0.1)", "pytest", "pytest-cov", "pytest-httpserver", "pytest-mock", "requests-mock", "tiktoken (==0.4.0)"] +file-based = ["avro (>=1.11.2,<1.12.0)", "fastavro (>=1.8.0,<1.9.0)", "pyarrow (==12.0.1)"] +sphinx-docs = ["Sphinx (>=4.2,<5.0)", "sphinx-rtd-theme (>=1.0,<2.0)"] +vector-db-based = ["cohere (==4.21)", "langchain (==0.0.271)", "openai[embeddings] (==0.27.9)", "tiktoken (==0.4.0)"] + +[[package]] +name = "airbyte-protocol-models" +version = "0.4.0" +description = "Declares the Airbyte Protocol." +optional = false +python-versions = ">=3.8" +files = [ + {file = "airbyte_protocol_models-0.4.0-py3-none-any.whl", hash = "sha256:e6a31fcd237504198a678d02c0040a8798f281c39203da61a5abce67842c5360"}, + {file = "airbyte_protocol_models-0.4.0.tar.gz", hash = "sha256:518736015c29ac60b6b8964a1b0d9b52e40020bcbd89e2545cc781f0b37d0f2b"}, +] + +[package.dependencies] +pydantic = ">=1.9.2,<2.0.0" + +[[package]] +name = "attrs" +version = "23.2.0" +description = "Classes Without Boilerplate" +optional = false +python-versions = ">=3.7" +files = [ + {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, + {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, +] + +[package.extras] +cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] +dev = ["attrs[tests]", "pre-commit"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] +tests = ["attrs[tests-no-zope]", "zope-interface"] +tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] +tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] + +[[package]] +name = "backoff" +version = "2.2.1" +description = "Function decoration for backoff and retry" +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, + {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, +] + +[[package]] +name = "bracex" +version = "2.4" +description = "Bash style brace expander." +optional = false +python-versions = ">=3.8" +files = [ + {file = "bracex-2.4-py3-none-any.whl", hash = "sha256:efdc71eff95eaff5e0f8cfebe7d01adf2c8637c8c92edaf63ef348c241a82418"}, + {file = "bracex-2.4.tar.gz", hash = "sha256:a27eaf1df42cf561fed58b7a8f3fdf129d1ea16a81e1fadd1d17989bc6384beb"}, +] + +[[package]] +name = "cachetools" +version = "5.3.2" +description = "Extensible memoizing collections and decorators" +optional = false +python-versions = ">=3.7" +files = [ + {file = "cachetools-5.3.2-py3-none-any.whl", hash = "sha256:861f35a13a451f94e301ce2bec7cac63e881232ccce7ed67fab9b5df4d3beaa1"}, + {file = "cachetools-5.3.2.tar.gz", hash = "sha256:086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2"}, +] + +[[package]] +name = "cattrs" +version = "23.2.3" +description = "Composable complex class support for attrs and dataclasses." +optional = false +python-versions = ">=3.8" +files = [ + {file = "cattrs-23.2.3-py3-none-any.whl", hash = "sha256:0341994d94971052e9ee70662542699a3162ea1e0c62f7ce1b4a57f563685108"}, + {file = "cattrs-23.2.3.tar.gz", hash = "sha256:a934090d95abaa9e911dac357e3a8699e0b4b14f8529bcc7d2b1ad9d51672b9f"}, +] + +[package.dependencies] +attrs = ">=23.1.0" + +[package.extras] +bson = ["pymongo (>=4.4.0)"] +cbor2 = ["cbor2 (>=5.4.6)"] +msgpack = ["msgpack (>=1.0.5)"] +orjson = ["orjson (>=3.9.2)"] +pyyaml = ["pyyaml (>=6.0)"] +tomlkit = ["tomlkit (>=0.11.8)"] +ujson = ["ujson (>=5.7.0)"] + +[[package]] +name = "certifi" +version = "2023.11.17" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2023.11.17-py3-none-any.whl", hash = "sha256:e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474"}, + {file = "certifi-2023.11.17.tar.gz", hash = "sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1"}, +] + +[[package]] +name = "charset-normalizer" +version = "3.3.2" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, +] + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "debugpy" +version = "1.8.0" +description = "An implementation of the Debug Adapter Protocol for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "debugpy-1.8.0-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:7fb95ca78f7ac43393cd0e0f2b6deda438ec7c5e47fa5d38553340897d2fbdfb"}, + {file = "debugpy-1.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef9ab7df0b9a42ed9c878afd3eaaff471fce3fa73df96022e1f5c9f8f8c87ada"}, + {file = "debugpy-1.8.0-cp310-cp310-win32.whl", hash = "sha256:a8b7a2fd27cd9f3553ac112f356ad4ca93338feadd8910277aff71ab24d8775f"}, + {file = "debugpy-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:5d9de202f5d42e62f932507ee8b21e30d49aae7e46d5b1dd5c908db1d7068637"}, + {file = "debugpy-1.8.0-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:ef54404365fae8d45cf450d0544ee40cefbcb9cb85ea7afe89a963c27028261e"}, + {file = "debugpy-1.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60009b132c91951354f54363f8ebdf7457aeb150e84abba5ae251b8e9f29a8a6"}, + {file = "debugpy-1.8.0-cp311-cp311-win32.whl", hash = "sha256:8cd0197141eb9e8a4566794550cfdcdb8b3db0818bdf8c49a8e8f8053e56e38b"}, + {file = "debugpy-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:a64093656c4c64dc6a438e11d59369875d200bd5abb8f9b26c1f5f723622e153"}, + {file = "debugpy-1.8.0-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:b05a6b503ed520ad58c8dc682749113d2fd9f41ffd45daec16e558ca884008cd"}, + {file = "debugpy-1.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c6fb41c98ec51dd010d7ed650accfd07a87fe5e93eca9d5f584d0578f28f35f"}, + {file = "debugpy-1.8.0-cp38-cp38-win32.whl", hash = "sha256:46ab6780159eeabb43c1495d9c84cf85d62975e48b6ec21ee10c95767c0590aa"}, + {file = "debugpy-1.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:bdc5ef99d14b9c0fcb35351b4fbfc06ac0ee576aeab6b2511702e5a648a2e595"}, + {file = "debugpy-1.8.0-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:61eab4a4c8b6125d41a34bad4e5fe3d2cc145caecd63c3fe953be4cc53e65bf8"}, + {file = "debugpy-1.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:125b9a637e013f9faac0a3d6a82bd17c8b5d2c875fb6b7e2772c5aba6d082332"}, + {file = "debugpy-1.8.0-cp39-cp39-win32.whl", hash = "sha256:57161629133113c97b387382045649a2b985a348f0c9366e22217c87b68b73c6"}, + {file = "debugpy-1.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:e3412f9faa9ade82aa64a50b602544efcba848c91384e9f93497a458767e6926"}, + {file = "debugpy-1.8.0-py2.py3-none-any.whl", hash = "sha256:9c9b0ac1ce2a42888199df1a1906e45e6f3c9555497643a85e0bf2406e3ffbc4"}, + {file = "debugpy-1.8.0.zip", hash = "sha256:12af2c55b419521e33d5fb21bd022df0b5eb267c3e178f1d374a63a2a6bdccd0"}, +] + +[[package]] +name = "deprecated" +version = "1.2.14" +description = "Python @deprecated decorator to deprecate old python classes, functions or methods." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "Deprecated-1.2.14-py2.py3-none-any.whl", hash = "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c"}, + {file = "Deprecated-1.2.14.tar.gz", hash = "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"}, +] + +[package.dependencies] +wrapt = ">=1.10,<2" + +[package.extras] +dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] + +[[package]] +name = "dpath" +version = "2.0.8" +description = "Filesystem-like pathing and searching for dictionaries" +optional = false +python-versions = ">=3.7" +files = [ + {file = "dpath-2.0.8-py3-none-any.whl", hash = "sha256:f92f595214dd93a00558d75d4b858beee519f4cffca87f02616ad6cd013f3436"}, + {file = "dpath-2.0.8.tar.gz", hash = "sha256:a3440157ebe80d0a3ad794f1b61c571bef125214800ffdb9afc9424e8250fe9b"}, +] + +[[package]] +name = "flow-sdk" +version = "0.1.4" +description = "" +optional = false +python-versions = "<3.12,>=3.11" +files = [] +develop = true + +[package.dependencies] +jsonlines = "^4.0.0" +mypy = "^1.5" +orjson = "^3.9.7" +pytest = "^7.4.3" +requests = "^2.31.0" +types-requests = "^2.31" + +[package.source] +type = "directory" +url = "../python" + +[[package]] +name = "genson" +version = "1.2.2" +description = "GenSON is a powerful, user-friendly JSON Schema generator." +optional = false +python-versions = "*" +files = [ + {file = "genson-1.2.2.tar.gz", hash = "sha256:8caf69aa10af7aee0e1a1351d1d06801f4696e005f06cedef438635384346a16"}, +] + +[[package]] +name = "idna" +version = "3.6" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.5" +files = [ + {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, + {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, +] + +[[package]] +name = "iniconfig" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" +optional = false +python-versions = ">=3.7" +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] + +[[package]] +name = "isodate" +version = "0.6.1" +description = "An ISO 8601 date/time/duration parser and formatter" +optional = false +python-versions = "*" +files = [ + {file = "isodate-0.6.1-py2.py3-none-any.whl", hash = "sha256:0751eece944162659049d35f4f549ed815792b38793f07cf73381c1c87cbed96"}, + {file = "isodate-0.6.1.tar.gz", hash = "sha256:48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9"}, +] + +[package.dependencies] +six = "*" + +[[package]] +name = "jinja2" +version = "3.1.2" +description = "A very fast and expressive template engine." +optional = false +python-versions = ">=3.7" +files = [ + {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, + {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "jsonlines" +version = "4.0.0" +description = "Library with helpers for the jsonlines file format" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jsonlines-4.0.0-py3-none-any.whl", hash = "sha256:185b334ff2ca5a91362993f42e83588a360cf95ce4b71a73548502bda52a7c55"}, + {file = "jsonlines-4.0.0.tar.gz", hash = "sha256:0c6d2c09117550c089995247f605ae4cf77dd1533041d366351f6f298822ea74"}, +] + +[package.dependencies] +attrs = ">=19.2.0" + +[[package]] +name = "jsonref" +version = "0.3.0" +description = "jsonref is a library for automatic dereferencing of JSON Reference objects for Python." +optional = false +python-versions = ">=3.3,<4.0" +files = [ + {file = "jsonref-0.3.0-py3-none-any.whl", hash = "sha256:9480ad1b500f7e795daeb0ef29f9c55ae3a9ab38fb8d6659b6f4868acb5a5bc8"}, + {file = "jsonref-0.3.0.tar.gz", hash = "sha256:68b330c6815dc0d490dbb3d65ccda265ddde9f7856fd2f3322f971d456ea7549"}, +] + +[[package]] +name = "jsonschema" +version = "3.2.0" +description = "An implementation of JSON Schema validation for Python" +optional = false +python-versions = "*" +files = [ + {file = "jsonschema-3.2.0-py2.py3-none-any.whl", hash = "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163"}, + {file = "jsonschema-3.2.0.tar.gz", hash = "sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a"}, +] + +[package.dependencies] +attrs = ">=17.4.0" +pyrsistent = ">=0.14.0" +setuptools = "*" +six = ">=1.11.0" + +[package.extras] +format = ["idna", "jsonpointer (>1.13)", "rfc3987", "strict-rfc3339", "webcolors"] +format-nongpl = ["idna", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "webcolors"] + +[[package]] +name = "markupsafe" +version = "2.1.3" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.7" +files = [ + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, + {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, +] + +[[package]] +name = "mypy" +version = "1.8.0" +description = "Optional static typing for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "mypy-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:485a8942f671120f76afffff70f259e1cd0f0cfe08f81c05d8816d958d4577d3"}, + {file = "mypy-1.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:df9824ac11deaf007443e7ed2a4a26bebff98d2bc43c6da21b2b64185da011c4"}, + {file = "mypy-1.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2afecd6354bbfb6e0160f4e4ad9ba6e4e003b767dd80d85516e71f2e955ab50d"}, + {file = "mypy-1.8.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8963b83d53ee733a6e4196954502b33567ad07dfd74851f32be18eb932fb1cb9"}, + {file = "mypy-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:e46f44b54ebddbeedbd3d5b289a893219065ef805d95094d16a0af6630f5d410"}, + {file = "mypy-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:855fe27b80375e5c5878492f0729540db47b186509c98dae341254c8f45f42ae"}, + {file = "mypy-1.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4c886c6cce2d070bd7df4ec4a05a13ee20c0aa60cb587e8d1265b6c03cf91da3"}, + {file = "mypy-1.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d19c413b3c07cbecf1f991e2221746b0d2a9410b59cb3f4fb9557f0365a1a817"}, + {file = "mypy-1.8.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9261ed810972061388918c83c3f5cd46079d875026ba97380f3e3978a72f503d"}, + {file = "mypy-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:51720c776d148bad2372ca21ca29256ed483aa9a4cdefefcef49006dff2a6835"}, + {file = "mypy-1.8.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:52825b01f5c4c1c4eb0db253ec09c7aa17e1a7304d247c48b6f3599ef40db8bd"}, + {file = "mypy-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f5ac9a4eeb1ec0f1ccdc6f326bcdb464de5f80eb07fb38b5ddd7b0de6bc61e55"}, + {file = "mypy-1.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afe3fe972c645b4632c563d3f3eff1cdca2fa058f730df2b93a35e3b0c538218"}, + {file = "mypy-1.8.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:42c6680d256ab35637ef88891c6bd02514ccb7e1122133ac96055ff458f93fc3"}, + {file = "mypy-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:720a5ca70e136b675af3af63db533c1c8c9181314d207568bbe79051f122669e"}, + {file = "mypy-1.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:028cf9f2cae89e202d7b6593cd98db6759379f17a319b5faf4f9978d7084cdc6"}, + {file = "mypy-1.8.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4e6d97288757e1ddba10dd9549ac27982e3e74a49d8d0179fc14d4365c7add66"}, + {file = "mypy-1.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f1478736fcebb90f97e40aff11a5f253af890c845ee0c850fe80aa060a267c6"}, + {file = "mypy-1.8.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42419861b43e6962a649068a61f4a4839205a3ef525b858377a960b9e2de6e0d"}, + {file = "mypy-1.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:2b5b6c721bd4aabaadead3a5e6fa85c11c6c795e0c81a7215776ef8afc66de02"}, + {file = "mypy-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5c1538c38584029352878a0466f03a8ee7547d7bd9f641f57a0f3017a7c905b8"}, + {file = "mypy-1.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ef4be7baf08a203170f29e89d79064463b7fc7a0908b9d0d5114e8009c3a259"}, + {file = "mypy-1.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7178def594014aa6c35a8ff411cf37d682f428b3b5617ca79029d8ae72f5402b"}, + {file = "mypy-1.8.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ab3c84fa13c04aeeeabb2a7f67a25ef5d77ac9d6486ff33ded762ef353aa5592"}, + {file = "mypy-1.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:99b00bc72855812a60d253420d8a2eae839b0afa4938f09f4d2aa9bb4654263a"}, + {file = "mypy-1.8.0-py3-none-any.whl", hash = "sha256:538fd81bb5e430cc1381a443971c0475582ff9f434c16cd46d2c66763ce85d9d"}, + {file = "mypy-1.8.0.tar.gz", hash = "sha256:6ff8b244d7085a0b425b56d327b480c3b29cafbd2eff27316a004f9a7391ae07"}, +] + +[package.dependencies] +mypy-extensions = ">=1.0.0" +typing-extensions = ">=4.1.0" + +[package.extras] +dmypy = ["psutil (>=4.0)"] +install-types = ["pip"] +mypyc = ["setuptools (>=50)"] +reports = ["lxml"] + +[[package]] +name = "mypy-extensions" +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." +optional = false +python-versions = ">=3.5" +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] + +[[package]] +name = "orjson" +version = "3.9.10" +description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" +optional = false +python-versions = ">=3.8" +files = [ + {file = "orjson-3.9.10-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c18a4da2f50050a03d1da5317388ef84a16013302a5281d6f64e4a3f406aabc4"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5148bab4d71f58948c7c39d12b14a9005b6ab35a0bdf317a8ade9a9e4d9d0bd5"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4cf7837c3b11a2dfb589f8530b3cff2bd0307ace4c301e8997e95c7468c1378e"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c62b6fa2961a1dcc51ebe88771be5319a93fd89bd247c9ddf732bc250507bc2b"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:deeb3922a7a804755bbe6b5be9b312e746137a03600f488290318936c1a2d4dc"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1234dc92d011d3554d929b6cf058ac4a24d188d97be5e04355f1b9223e98bbe9"}, + {file = "orjson-3.9.10-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:06ad5543217e0e46fd7ab7ea45d506c76f878b87b1b4e369006bdb01acc05a83"}, + {file = "orjson-3.9.10-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4fd72fab7bddce46c6826994ce1e7de145ae1e9e106ebb8eb9ce1393ca01444d"}, + {file = "orjson-3.9.10-cp310-none-win32.whl", hash = "sha256:b5b7d4a44cc0e6ff98da5d56cde794385bdd212a86563ac321ca64d7f80c80d1"}, + {file = "orjson-3.9.10-cp310-none-win_amd64.whl", hash = "sha256:61804231099214e2f84998316f3238c4c2c4aaec302df12b21a64d72e2a135c7"}, + {file = "orjson-3.9.10-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:cff7570d492bcf4b64cc862a6e2fb77edd5e5748ad715f487628f102815165e9"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed8bc367f725dfc5cabeed1ae079d00369900231fbb5a5280cf0736c30e2adf7"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c812312847867b6335cfb264772f2a7e85b3b502d3a6b0586aa35e1858528ab1"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9edd2856611e5050004f4722922b7b1cd6268da34102667bd49d2a2b18bafb81"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:674eb520f02422546c40401f4efaf8207b5e29e420c17051cddf6c02783ff5ca"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d0dc4310da8b5f6415949bd5ef937e60aeb0eb6b16f95041b5e43e6200821fb"}, + {file = "orjson-3.9.10-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e99c625b8c95d7741fe057585176b1b8783d46ed4b8932cf98ee145c4facf499"}, + {file = "orjson-3.9.10-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ec6f18f96b47299c11203edfbdc34e1b69085070d9a3d1f302810cc23ad36bf3"}, + {file = "orjson-3.9.10-cp311-none-win32.whl", hash = "sha256:ce0a29c28dfb8eccd0f16219360530bc3cfdf6bf70ca384dacd36e6c650ef8e8"}, + {file = "orjson-3.9.10-cp311-none-win_amd64.whl", hash = "sha256:cf80b550092cc480a0cbd0750e8189247ff45457e5a023305f7ef1bcec811616"}, + {file = "orjson-3.9.10-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:602a8001bdf60e1a7d544be29c82560a7b49319a0b31d62586548835bbe2c862"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f295efcd47b6124b01255d1491f9e46f17ef40d3d7eabf7364099e463fb45f0f"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:92af0d00091e744587221e79f68d617b432425a7e59328ca4c496f774a356071"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5a02360e73e7208a872bf65a7554c9f15df5fe063dc047f79738998b0506a14"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:858379cbb08d84fe7583231077d9a36a1a20eb72f8c9076a45df8b083724ad1d"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666c6fdcaac1f13eb982b649e1c311c08d7097cbda24f32612dae43648d8db8d"}, + {file = "orjson-3.9.10-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3fb205ab52a2e30354640780ce4587157a9563a68c9beaf52153e1cea9aa0921"}, + {file = "orjson-3.9.10-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7ec960b1b942ee3c69323b8721df2a3ce28ff40e7ca47873ae35bfafeb4555ca"}, + {file = "orjson-3.9.10-cp312-none-win_amd64.whl", hash = "sha256:3e892621434392199efb54e69edfff9f699f6cc36dd9553c5bf796058b14b20d"}, + {file = "orjson-3.9.10-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:8b9ba0ccd5a7f4219e67fbbe25e6b4a46ceef783c42af7dbc1da548eb28b6531"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e2ecd1d349e62e3960695214f40939bbfdcaeaaa62ccc638f8e651cf0970e5f"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f433be3b3f4c66016d5a20e5b4444ef833a1f802ced13a2d852c637f69729c1"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4689270c35d4bb3102e103ac43c3f0b76b169760aff8bcf2d401a3e0e58cdb7f"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4bd176f528a8151a6efc5359b853ba3cc0e82d4cd1fab9c1300c5d957dc8f48c"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a2ce5ea4f71681623f04e2b7dadede3c7435dfb5e5e2d1d0ec25b35530e277b"}, + {file = "orjson-3.9.10-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:49f8ad582da6e8d2cf663c4ba5bf9f83cc052570a3a767487fec6af839b0e777"}, + {file = "orjson-3.9.10-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2a11b4b1a8415f105d989876a19b173f6cdc89ca13855ccc67c18efbd7cbd1f8"}, + {file = "orjson-3.9.10-cp38-none-win32.whl", hash = "sha256:a353bf1f565ed27ba71a419b2cd3db9d6151da426b61b289b6ba1422a702e643"}, + {file = "orjson-3.9.10-cp38-none-win_amd64.whl", hash = "sha256:e28a50b5be854e18d54f75ef1bb13e1abf4bc650ab9d635e4258c58e71eb6ad5"}, + {file = "orjson-3.9.10-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:ee5926746232f627a3be1cc175b2cfad24d0170d520361f4ce3fa2fd83f09e1d"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a73160e823151f33cdc05fe2cea557c5ef12fdf276ce29bb4f1c571c8368a60"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c338ed69ad0b8f8f8920c13f529889fe0771abbb46550013e3c3d01e5174deef"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5869e8e130e99687d9e4be835116c4ebd83ca92e52e55810962446d841aba8de"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2c1e559d96a7f94a4f581e2a32d6d610df5840881a8cba8f25e446f4d792df3"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81a3a3a72c9811b56adf8bcc829b010163bb2fc308877e50e9910c9357e78521"}, + {file = "orjson-3.9.10-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7f8fb7f5ecf4f6355683ac6881fd64b5bb2b8a60e3ccde6ff799e48791d8f864"}, + {file = "orjson-3.9.10-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c943b35ecdf7123b2d81d225397efddf0bce2e81db2f3ae633ead38e85cd5ade"}, + {file = "orjson-3.9.10-cp39-none-win32.whl", hash = "sha256:fb0b361d73f6b8eeceba47cd37070b5e6c9de5beaeaa63a1cb35c7e1a73ef088"}, + {file = "orjson-3.9.10-cp39-none-win_amd64.whl", hash = "sha256:b90f340cb6397ec7a854157fac03f0c82b744abdd1c0941a024c3c29d1340aff"}, + {file = "orjson-3.9.10.tar.gz", hash = "sha256:9ebbdbd6a046c304b1845e96fbcc5559cd296b4dfd3ad2509e33c4d9ce07d6a1"}, +] + +[[package]] +name = "packaging" +version = "23.2" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.7" +files = [ + {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, + {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, +] + +[[package]] +name = "pendulum" +version = "3.0.0" +description = "Python datetimes made easy" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pendulum-3.0.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2cf9e53ef11668e07f73190c805dbdf07a1939c3298b78d5a9203a86775d1bfd"}, + {file = "pendulum-3.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fb551b9b5e6059377889d2d878d940fd0bbb80ae4810543db18e6f77b02c5ef6"}, + {file = "pendulum-3.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c58227ac260d5b01fc1025176d7b31858c9f62595737f350d22124a9a3ad82d"}, + {file = "pendulum-3.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:60fb6f415fea93a11c52578eaa10594568a6716602be8430b167eb0d730f3332"}, + {file = "pendulum-3.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b69f6b4dbcb86f2c2fe696ba991e67347bcf87fe601362a1aba6431454b46bde"}, + {file = "pendulum-3.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:138afa9c373ee450ede206db5a5e9004fd3011b3c6bbe1e57015395cd076a09f"}, + {file = "pendulum-3.0.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:83d9031f39c6da9677164241fd0d37fbfc9dc8ade7043b5d6d62f56e81af8ad2"}, + {file = "pendulum-3.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0c2308af4033fa534f089595bcd40a95a39988ce4059ccd3dc6acb9ef14ca44a"}, + {file = "pendulum-3.0.0-cp310-none-win_amd64.whl", hash = "sha256:9a59637cdb8462bdf2dbcb9d389518c0263799189d773ad5c11db6b13064fa79"}, + {file = "pendulum-3.0.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:3725245c0352c95d6ca297193192020d1b0c0f83d5ee6bb09964edc2b5a2d508"}, + {file = "pendulum-3.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6c035f03a3e565ed132927e2c1b691de0dbf4eb53b02a5a3c5a97e1a64e17bec"}, + {file = "pendulum-3.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:597e66e63cbd68dd6d58ac46cb7a92363d2088d37ccde2dae4332ef23e95cd00"}, + {file = "pendulum-3.0.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99a0f8172e19f3f0c0e4ace0ad1595134d5243cf75985dc2233e8f9e8de263ca"}, + {file = "pendulum-3.0.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:77d8839e20f54706aed425bec82a83b4aec74db07f26acd039905d1237a5e1d4"}, + {file = "pendulum-3.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afde30e8146292b059020fbc8b6f8fd4a60ae7c5e6f0afef937bbb24880bdf01"}, + {file = "pendulum-3.0.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:660434a6fcf6303c4efd36713ca9212c753140107ee169a3fc6c49c4711c2a05"}, + {file = "pendulum-3.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dee9e5a48c6999dc1106eb7eea3e3a50e98a50651b72c08a87ee2154e544b33e"}, + {file = "pendulum-3.0.0-cp311-none-win_amd64.whl", hash = "sha256:d4cdecde90aec2d67cebe4042fd2a87a4441cc02152ed7ed8fb3ebb110b94ec4"}, + {file = "pendulum-3.0.0-cp311-none-win_arm64.whl", hash = "sha256:773c3bc4ddda2dda9f1b9d51fe06762f9200f3293d75c4660c19b2614b991d83"}, + {file = "pendulum-3.0.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:409e64e41418c49f973d43a28afe5df1df4f1dd87c41c7c90f1a63f61ae0f1f7"}, + {file = "pendulum-3.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a38ad2121c5ec7c4c190c7334e789c3b4624798859156b138fcc4d92295835dc"}, + {file = "pendulum-3.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fde4d0b2024b9785f66b7f30ed59281bd60d63d9213cda0eb0910ead777f6d37"}, + {file = "pendulum-3.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b2c5675769fb6d4c11238132962939b960fcb365436b6d623c5864287faa319"}, + {file = "pendulum-3.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8af95e03e066826f0f4c65811cbee1b3123d4a45a1c3a2b4fc23c4b0dff893b5"}, + {file = "pendulum-3.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2165a8f33cb15e06c67070b8afc87a62b85c5a273e3aaa6bc9d15c93a4920d6f"}, + {file = "pendulum-3.0.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ad5e65b874b5e56bd942546ea7ba9dd1d6a25121db1c517700f1c9de91b28518"}, + {file = "pendulum-3.0.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:17fe4b2c844bbf5f0ece69cfd959fa02957c61317b2161763950d88fed8e13b9"}, + {file = "pendulum-3.0.0-cp312-none-win_amd64.whl", hash = "sha256:78f8f4e7efe5066aca24a7a57511b9c2119f5c2b5eb81c46ff9222ce11e0a7a5"}, + {file = "pendulum-3.0.0-cp312-none-win_arm64.whl", hash = "sha256:28f49d8d1e32aae9c284a90b6bb3873eee15ec6e1d9042edd611b22a94ac462f"}, + {file = "pendulum-3.0.0-cp37-cp37m-macosx_10_12_x86_64.whl", hash = "sha256:d4e2512f4e1a4670284a153b214db9719eb5d14ac55ada5b76cbdb8c5c00399d"}, + {file = "pendulum-3.0.0-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:3d897eb50883cc58d9b92f6405245f84b9286cd2de6e8694cb9ea5cb15195a32"}, + {file = "pendulum-3.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e169cc2ca419517f397811bbe4589cf3cd13fca6dc38bb352ba15ea90739ebb"}, + {file = "pendulum-3.0.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f17c3084a4524ebefd9255513692f7e7360e23c8853dc6f10c64cc184e1217ab"}, + {file = "pendulum-3.0.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:826d6e258052715f64d05ae0fc9040c0151e6a87aae7c109ba9a0ed930ce4000"}, + {file = "pendulum-3.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2aae97087872ef152a0c40e06100b3665d8cb86b59bc8471ca7c26132fccd0f"}, + {file = "pendulum-3.0.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ac65eeec2250d03106b5e81284ad47f0d417ca299a45e89ccc69e36130ca8bc7"}, + {file = "pendulum-3.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a5346d08f3f4a6e9e672187faa179c7bf9227897081d7121866358af369f44f9"}, + {file = "pendulum-3.0.0-cp37-none-win_amd64.whl", hash = "sha256:235d64e87946d8f95c796af34818c76e0f88c94d624c268693c85b723b698aa9"}, + {file = "pendulum-3.0.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:6a881d9c2a7f85bc9adafcfe671df5207f51f5715ae61f5d838b77a1356e8b7b"}, + {file = "pendulum-3.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d7762d2076b9b1cb718a6631ad6c16c23fc3fac76cbb8c454e81e80be98daa34"}, + {file = "pendulum-3.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e8e36a8130819d97a479a0e7bf379b66b3b1b520e5dc46bd7eb14634338df8c"}, + {file = "pendulum-3.0.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7dc843253ac373358ffc0711960e2dd5b94ab67530a3e204d85c6e8cb2c5fa10"}, + {file = "pendulum-3.0.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0a78ad3635d609ceb1e97d6aedef6a6a6f93433ddb2312888e668365908c7120"}, + {file = "pendulum-3.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b30a137e9e0d1f751e60e67d11fc67781a572db76b2296f7b4d44554761049d6"}, + {file = "pendulum-3.0.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c95984037987f4a457bb760455d9ca80467be792236b69d0084f228a8ada0162"}, + {file = "pendulum-3.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d29c6e578fe0f893766c0d286adbf0b3c726a4e2341eba0917ec79c50274ec16"}, + {file = "pendulum-3.0.0-cp38-none-win_amd64.whl", hash = "sha256:deaba8e16dbfcb3d7a6b5fabdd5a38b7c982809567479987b9c89572df62e027"}, + {file = "pendulum-3.0.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b11aceea5b20b4b5382962b321dbc354af0defe35daa84e9ff3aae3c230df694"}, + {file = "pendulum-3.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a90d4d504e82ad236afac9adca4d6a19e4865f717034fc69bafb112c320dcc8f"}, + {file = "pendulum-3.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:825799c6b66e3734227756fa746cc34b3549c48693325b8b9f823cb7d21b19ac"}, + {file = "pendulum-3.0.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad769e98dc07972e24afe0cff8d365cb6f0ebc7e65620aa1976fcfbcadc4c6f3"}, + {file = "pendulum-3.0.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6fc26907eb5fb8cc6188cc620bc2075a6c534d981a2f045daa5f79dfe50d512"}, + {file = "pendulum-3.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c717eab1b6d898c00a3e0fa7781d615b5c5136bbd40abe82be100bb06df7a56"}, + {file = "pendulum-3.0.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3ddd1d66d1a714ce43acfe337190be055cdc221d911fc886d5a3aae28e14b76d"}, + {file = "pendulum-3.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:822172853d7a9cf6da95d7b66a16c7160cb99ae6df55d44373888181d7a06edc"}, + {file = "pendulum-3.0.0-cp39-none-win_amd64.whl", hash = "sha256:840de1b49cf1ec54c225a2a6f4f0784d50bd47f68e41dc005b7f67c7d5b5f3ae"}, + {file = "pendulum-3.0.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3b1f74d1e6ffe5d01d6023870e2ce5c2191486928823196f8575dcc786e107b1"}, + {file = "pendulum-3.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:729e9f93756a2cdfa77d0fc82068346e9731c7e884097160603872686e570f07"}, + {file = "pendulum-3.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e586acc0b450cd21cbf0db6bae386237011b75260a3adceddc4be15334689a9a"}, + {file = "pendulum-3.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22e7944ffc1f0099a79ff468ee9630c73f8c7835cd76fdb57ef7320e6a409df4"}, + {file = "pendulum-3.0.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:fa30af36bd8e50686846bdace37cf6707bdd044e5cb6e1109acbad3277232e04"}, + {file = "pendulum-3.0.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:440215347b11914ae707981b9a57ab9c7b6983ab0babde07063c6ee75c0dc6e7"}, + {file = "pendulum-3.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:314c4038dc5e6a52991570f50edb2f08c339debdf8cea68ac355b32c4174e820"}, + {file = "pendulum-3.0.0-pp37-pypy37_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5acb1d386337415f74f4d1955c4ce8d0201978c162927d07df8eb0692b2d8533"}, + {file = "pendulum-3.0.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a789e12fbdefaffb7b8ac67f9d8f22ba17a3050ceaaa635cd1cc4645773a4b1e"}, + {file = "pendulum-3.0.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:860aa9b8a888e5913bd70d819306749e5eb488e6b99cd6c47beb701b22bdecf5"}, + {file = "pendulum-3.0.0-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:5ebc65ea033ef0281368217fbf59f5cb05b338ac4dd23d60959c7afcd79a60a0"}, + {file = "pendulum-3.0.0-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d9fef18ab0386ef6a9ac7bad7e43ded42c83ff7ad412f950633854f90d59afa8"}, + {file = "pendulum-3.0.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:1c134ba2f0571d0b68b83f6972e2307a55a5a849e7dac8505c715c531d2a8795"}, + {file = "pendulum-3.0.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:385680812e7e18af200bb9b4a49777418c32422d05ad5a8eb85144c4a285907b"}, + {file = "pendulum-3.0.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9eec91cd87c59fb32ec49eb722f375bd58f4be790cae11c1b70fac3ee4f00da0"}, + {file = "pendulum-3.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4386bffeca23c4b69ad50a36211f75b35a4deb6210bdca112ac3043deb7e494a"}, + {file = "pendulum-3.0.0-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:dfbcf1661d7146d7698da4b86e7f04814221081e9fe154183e34f4c5f5fa3bf8"}, + {file = "pendulum-3.0.0-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:04a1094a5aa1daa34a6b57c865b25f691848c61583fb22722a4df5699f6bf74c"}, + {file = "pendulum-3.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5b0ec85b9045bd49dd3a3493a5e7ddfd31c36a2a60da387c419fa04abcaecb23"}, + {file = "pendulum-3.0.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:0a15b90129765b705eb2039062a6daf4d22c4e28d1a54fa260892e8c3ae6e157"}, + {file = "pendulum-3.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:bb8f6d7acd67a67d6fedd361ad2958ff0539445ef51cbe8cd288db4306503cd0"}, + {file = "pendulum-3.0.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd69b15374bef7e4b4440612915315cc42e8575fcda2a3d7586a0d88192d0c88"}, + {file = "pendulum-3.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc00f8110db6898360c53c812872662e077eaf9c75515d53ecc65d886eec209a"}, + {file = "pendulum-3.0.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:83a44e8b40655d0ba565a5c3d1365d27e3e6778ae2a05b69124db9e471255c4a"}, + {file = "pendulum-3.0.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:1a3604e9fbc06b788041b2a8b78f75c243021e0f512447806a6d37ee5214905d"}, + {file = "pendulum-3.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:92c307ae7accebd06cbae4729f0ba9fa724df5f7d91a0964b1b972a22baa482b"}, + {file = "pendulum-3.0.0.tar.gz", hash = "sha256:5d034998dea404ec31fae27af6b22cff1708f830a1ed7353be4d1019bb9f584e"}, +] + +[package.dependencies] +python-dateutil = ">=2.6" +tzdata = ">=2020.1" + +[package.extras] +test = ["time-machine (>=2.6.0)"] + +[[package]] +name = "platformdirs" +version = "4.1.0" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +optional = false +python-versions = ">=3.8" +files = [ + {file = "platformdirs-4.1.0-py3-none-any.whl", hash = "sha256:11c8f37bcca40db96d8144522d925583bdb7a31f7b0e37e3ed4318400a8e2380"}, + {file = "platformdirs-4.1.0.tar.gz", hash = "sha256:906d548203468492d432bcb294d4bc2fff751bf84971fbb2c10918cc206ee420"}, +] + +[package.extras] +docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"] + +[[package]] +name = "pluggy" +version = "1.3.0" +description = "plugin and hook calling mechanisms for python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"}, + {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"}, +] + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "pydantic" +version = "1.10.13" +description = "Data validation and settings management using python type hints" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pydantic-1.10.13-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:efff03cc7a4f29d9009d1c96ceb1e7a70a65cfe86e89d34e4a5f2ab1e5693737"}, + {file = "pydantic-1.10.13-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3ecea2b9d80e5333303eeb77e180b90e95eea8f765d08c3d278cd56b00345d01"}, + {file = "pydantic-1.10.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1740068fd8e2ef6eb27a20e5651df000978edce6da6803c2bef0bc74540f9548"}, + {file = "pydantic-1.10.13-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84bafe2e60b5e78bc64a2941b4c071a4b7404c5c907f5f5a99b0139781e69ed8"}, + {file = "pydantic-1.10.13-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bc0898c12f8e9c97f6cd44c0ed70d55749eaf783716896960b4ecce2edfd2d69"}, + {file = "pydantic-1.10.13-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:654db58ae399fe6434e55325a2c3e959836bd17a6f6a0b6ca8107ea0571d2e17"}, + {file = "pydantic-1.10.13-cp310-cp310-win_amd64.whl", hash = "sha256:75ac15385a3534d887a99c713aa3da88a30fbd6204a5cd0dc4dab3d770b9bd2f"}, + {file = "pydantic-1.10.13-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c553f6a156deb868ba38a23cf0df886c63492e9257f60a79c0fd8e7173537653"}, + {file = "pydantic-1.10.13-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5e08865bc6464df8c7d61439ef4439829e3ab62ab1669cddea8dd00cd74b9ffe"}, + {file = "pydantic-1.10.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e31647d85a2013d926ce60b84f9dd5300d44535a9941fe825dc349ae1f760df9"}, + {file = "pydantic-1.10.13-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:210ce042e8f6f7c01168b2d84d4c9eb2b009fe7bf572c2266e235edf14bacd80"}, + {file = "pydantic-1.10.13-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:8ae5dd6b721459bfa30805f4c25880e0dd78fc5b5879f9f7a692196ddcb5a580"}, + {file = "pydantic-1.10.13-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f8e81fc5fb17dae698f52bdd1c4f18b6ca674d7068242b2aff075f588301bbb0"}, + {file = "pydantic-1.10.13-cp311-cp311-win_amd64.whl", hash = "sha256:61d9dce220447fb74f45e73d7ff3b530e25db30192ad8d425166d43c5deb6df0"}, + {file = "pydantic-1.10.13-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4b03e42ec20286f052490423682016fd80fda830d8e4119f8ab13ec7464c0132"}, + {file = "pydantic-1.10.13-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f59ef915cac80275245824e9d771ee939133be38215555e9dc90c6cb148aaeb5"}, + {file = "pydantic-1.10.13-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a1f9f747851338933942db7af7b6ee8268568ef2ed86c4185c6ef4402e80ba8"}, + {file = "pydantic-1.10.13-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:97cce3ae7341f7620a0ba5ef6cf043975cd9d2b81f3aa5f4ea37928269bc1b87"}, + {file = "pydantic-1.10.13-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:854223752ba81e3abf663d685f105c64150873cc6f5d0c01d3e3220bcff7d36f"}, + {file = "pydantic-1.10.13-cp37-cp37m-win_amd64.whl", hash = "sha256:b97c1fac8c49be29486df85968682b0afa77e1b809aff74b83081cc115e52f33"}, + {file = "pydantic-1.10.13-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c958d053453a1c4b1c2062b05cd42d9d5c8eb67537b8d5a7e3c3032943ecd261"}, + {file = "pydantic-1.10.13-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4c5370a7edaac06daee3af1c8b1192e305bc102abcbf2a92374b5bc793818599"}, + {file = "pydantic-1.10.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d6f6e7305244bddb4414ba7094ce910560c907bdfa3501e9db1a7fd7eaea127"}, + {file = "pydantic-1.10.13-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d3a3c792a58e1622667a2837512099eac62490cdfd63bd407993aaf200a4cf1f"}, + {file = "pydantic-1.10.13-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c636925f38b8db208e09d344c7aa4f29a86bb9947495dd6b6d376ad10334fb78"}, + {file = "pydantic-1.10.13-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:678bcf5591b63cc917100dc50ab6caebe597ac67e8c9ccb75e698f66038ea953"}, + {file = "pydantic-1.10.13-cp38-cp38-win_amd64.whl", hash = "sha256:6cf25c1a65c27923a17b3da28a0bdb99f62ee04230c931d83e888012851f4e7f"}, + {file = "pydantic-1.10.13-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8ef467901d7a41fa0ca6db9ae3ec0021e3f657ce2c208e98cd511f3161c762c6"}, + {file = "pydantic-1.10.13-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:968ac42970f57b8344ee08837b62f6ee6f53c33f603547a55571c954a4225691"}, + {file = "pydantic-1.10.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9849f031cf8a2f0a928fe885e5a04b08006d6d41876b8bbd2fc68a18f9f2e3fd"}, + {file = "pydantic-1.10.13-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:56e3ff861c3b9c6857579de282ce8baabf443f42ffba355bf070770ed63e11e1"}, + {file = "pydantic-1.10.13-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f00790179497767aae6bcdc36355792c79e7bbb20b145ff449700eb076c5f96"}, + {file = "pydantic-1.10.13-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:75b297827b59bc229cac1a23a2f7a4ac0031068e5be0ce385be1462e7e17a35d"}, + {file = "pydantic-1.10.13-cp39-cp39-win_amd64.whl", hash = "sha256:e70ca129d2053fb8b728ee7d1af8e553a928d7e301a311094b8a0501adc8763d"}, + {file = "pydantic-1.10.13-py3-none-any.whl", hash = "sha256:b87326822e71bd5f313e7d3bfdc77ac3247035ac10b0c0618bd99dcf95b1e687"}, + {file = "pydantic-1.10.13.tar.gz", hash = "sha256:32c8b48dcd3b2ac4e78b0ba4af3a2c2eb6048cb75202f0ea7b34feb740efc340"}, +] + +[package.dependencies] +typing-extensions = ">=4.2.0" + +[package.extras] +dotenv = ["python-dotenv (>=0.10.4)"] +email = ["email-validator (>=1.0.3)"] + +[[package]] +name = "pyrsistent" +version = "0.20.0" +description = "Persistent/Functional/Immutable data structures" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyrsistent-0.20.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8c3aba3e01235221e5b229a6c05f585f344734bd1ad42a8ac51493d74722bbce"}, + {file = "pyrsistent-0.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1beb78af5423b879edaf23c5591ff292cf7c33979734c99aa66d5914ead880f"}, + {file = "pyrsistent-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21cc459636983764e692b9eba7144cdd54fdec23ccdb1e8ba392a63666c60c34"}, + {file = "pyrsistent-0.20.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f5ac696f02b3fc01a710427585c855f65cd9c640e14f52abe52020722bb4906b"}, + {file = "pyrsistent-0.20.0-cp310-cp310-win32.whl", hash = "sha256:0724c506cd8b63c69c7f883cc233aac948c1ea946ea95996ad8b1380c25e1d3f"}, + {file = "pyrsistent-0.20.0-cp310-cp310-win_amd64.whl", hash = "sha256:8441cf9616d642c475684d6cf2520dd24812e996ba9af15e606df5f6fd9d04a7"}, + {file = "pyrsistent-0.20.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0f3b1bcaa1f0629c978b355a7c37acd58907390149b7311b5db1b37648eb6958"}, + {file = "pyrsistent-0.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cdd7ef1ea7a491ae70d826b6cc64868de09a1d5ff9ef8d574250d0940e275b8"}, + {file = "pyrsistent-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cae40a9e3ce178415040a0383f00e8d68b569e97f31928a3a8ad37e3fde6df6a"}, + {file = "pyrsistent-0.20.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6288b3fa6622ad8a91e6eb759cfc48ff3089e7c17fb1d4c59a919769314af224"}, + {file = "pyrsistent-0.20.0-cp311-cp311-win32.whl", hash = "sha256:7d29c23bdf6e5438c755b941cef867ec2a4a172ceb9f50553b6ed70d50dfd656"}, + {file = "pyrsistent-0.20.0-cp311-cp311-win_amd64.whl", hash = "sha256:59a89bccd615551391f3237e00006a26bcf98a4d18623a19909a2c48b8e986ee"}, + {file = "pyrsistent-0.20.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:09848306523a3aba463c4b49493a760e7a6ca52e4826aa100ee99d8d39b7ad1e"}, + {file = "pyrsistent-0.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a14798c3005ec892bbada26485c2eea3b54109cb2533713e355c806891f63c5e"}, + {file = "pyrsistent-0.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b14decb628fac50db5e02ee5a35a9c0772d20277824cfe845c8a8b717c15daa3"}, + {file = "pyrsistent-0.20.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e2c116cc804d9b09ce9814d17df5edf1df0c624aba3b43bc1ad90411487036d"}, + {file = "pyrsistent-0.20.0-cp312-cp312-win32.whl", hash = "sha256:e78d0c7c1e99a4a45c99143900ea0546025e41bb59ebc10182e947cf1ece9174"}, + {file = "pyrsistent-0.20.0-cp312-cp312-win_amd64.whl", hash = "sha256:4021a7f963d88ccd15b523787d18ed5e5269ce57aa4037146a2377ff607ae87d"}, + {file = "pyrsistent-0.20.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:79ed12ba79935adaac1664fd7e0e585a22caa539dfc9b7c7c6d5ebf91fb89054"}, + {file = "pyrsistent-0.20.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f920385a11207dc372a028b3f1e1038bb244b3ec38d448e6d8e43c6b3ba20e98"}, + {file = "pyrsistent-0.20.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f5c2d012671b7391803263419e31b5c7c21e7c95c8760d7fc35602353dee714"}, + {file = "pyrsistent-0.20.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef3992833fbd686ee783590639f4b8343a57f1f75de8633749d984dc0eb16c86"}, + {file = "pyrsistent-0.20.0-cp38-cp38-win32.whl", hash = "sha256:881bbea27bbd32d37eb24dd320a5e745a2a5b092a17f6debc1349252fac85423"}, + {file = "pyrsistent-0.20.0-cp38-cp38-win_amd64.whl", hash = "sha256:6d270ec9dd33cdb13f4d62c95c1a5a50e6b7cdd86302b494217137f760495b9d"}, + {file = "pyrsistent-0.20.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ca52d1ceae015859d16aded12584c59eb3825f7b50c6cfd621d4231a6cc624ce"}, + {file = "pyrsistent-0.20.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b318ca24db0f0518630e8b6f3831e9cba78f099ed5c1d65ffe3e023003043ba0"}, + {file = "pyrsistent-0.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fed2c3216a605dc9a6ea50c7e84c82906e3684c4e80d2908208f662a6cbf9022"}, + {file = "pyrsistent-0.20.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e14c95c16211d166f59c6611533d0dacce2e25de0f76e4c140fde250997b3ca"}, + {file = "pyrsistent-0.20.0-cp39-cp39-win32.whl", hash = "sha256:f058a615031eea4ef94ead6456f5ec2026c19fb5bd6bfe86e9665c4158cf802f"}, + {file = "pyrsistent-0.20.0-cp39-cp39-win_amd64.whl", hash = "sha256:58b8f6366e152092194ae68fefe18b9f0b4f89227dfd86a07770c3d86097aebf"}, + {file = "pyrsistent-0.20.0-py3-none-any.whl", hash = "sha256:c55acc4733aad6560a7f5f818466631f07efc001fd023f34a6c203f8b6df0f0b"}, + {file = "pyrsistent-0.20.0.tar.gz", hash = "sha256:4c48f78f62ab596c679086084d0dd13254ae4f3d6c72a83ffdf5ebdef8f265a4"}, +] + +[[package]] +name = "pytest" +version = "7.4.4" +description = "pytest: simple powerful testing with Python" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, + {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "sys_platform == \"win32\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<2.0" + +[package.extras] +testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] + +[[package]] +name = "python-dateutil" +version = "2.8.2" +description = "Extensions to the standard Python datetime module" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +files = [ + {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, + {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, +] + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "pyyaml" +version = "6.0.1" +description = "YAML parser and emitter for Python" +optional = false +python-versions = ">=3.6" +files = [ + {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, + {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, + {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, + {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, + {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, + {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, + {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, + {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, + {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, + {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, + {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, + {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, + {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, + {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, + {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, + {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, +] + +[[package]] +name = "requests" +version = "2.31.0" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.7" +files = [ + {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, + {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "requests-cache" +version = "1.1.1" +description = "A persistent cache for python requests" +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "requests_cache-1.1.1-py3-none-any.whl", hash = "sha256:c8420cf096f3aafde13c374979c21844752e2694ffd8710e6764685bb577ac90"}, + {file = "requests_cache-1.1.1.tar.gz", hash = "sha256:764f93d3fa860be72125a568c2cc8eafb151cf29b4dc2515433a56ee657e1c60"}, +] + +[package.dependencies] +attrs = ">=21.2" +cattrs = ">=22.2" +platformdirs = ">=2.5" +requests = ">=2.22" +url-normalize = ">=1.4" +urllib3 = ">=1.25.5" + +[package.extras] +all = ["boto3 (>=1.15)", "botocore (>=1.18)", "itsdangerous (>=2.0)", "pymongo (>=3)", "pyyaml (>=5.4)", "redis (>=3)", "ujson (>=5.4)"] +bson = ["bson (>=0.5)"] +docs = ["furo (>=2023.3,<2024.0)", "linkify-it-py (>=2.0,<3.0)", "myst-parser (>=1.0,<2.0)", "sphinx (>=5.0.2,<6.0.0)", "sphinx-autodoc-typehints (>=1.19)", "sphinx-automodapi (>=0.14)", "sphinx-copybutton (>=0.5)", "sphinx-design (>=0.2)", "sphinx-notfound-page (>=0.8)", "sphinxcontrib-apidoc (>=0.3)", "sphinxext-opengraph (>=0.6)"] +dynamodb = ["boto3 (>=1.15)", "botocore (>=1.18)"] +json = ["ujson (>=5.4)"] +mongodb = ["pymongo (>=3)"] +redis = ["redis (>=3)"] +security = ["itsdangerous (>=2.0)"] +yaml = ["pyyaml (>=5.4)"] + +[[package]] +name = "setuptools" +version = "69.0.3" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "setuptools-69.0.3-py3-none-any.whl", hash = "sha256:385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05"}, + {file = "setuptools-69.0.3.tar.gz", hash = "sha256:be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] + +[[package]] +name = "source_zoom" +version = "0.0.0" +description = "Source implementation for Zoom." +optional = false +python-versions = "*" +files = [] +develop = true + +[package.dependencies] +airbyte-cdk = ">=0.11,<1.0" + +[package.source] +type = "directory" +url = "source_zoom" + +[[package]] +name = "types-requests" +version = "2.31.0.20240106" +description = "Typing stubs for requests" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types-requests-2.31.0.20240106.tar.gz", hash = "sha256:0e1c731c17f33618ec58e022b614a1a2ecc25f7dc86800b36ef341380402c612"}, + {file = "types_requests-2.31.0.20240106-py3-none-any.whl", hash = "sha256:da997b3b6a72cc08d09f4dba9802fdbabc89104b35fe24ee588e674037689354"}, +] + +[package.dependencies] +urllib3 = ">=2" + +[[package]] +name = "typing-extensions" +version = "4.9.0" +description = "Backported and Experimental Type Hints for Python 3.8+" +optional = false +python-versions = ">=3.8" +files = [ + {file = "typing_extensions-4.9.0-py3-none-any.whl", hash = "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd"}, + {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"}, +] + +[[package]] +name = "tzdata" +version = "2023.4" +description = "Provider of IANA time zone data" +optional = false +python-versions = ">=2" +files = [ + {file = "tzdata-2023.4-py2.py3-none-any.whl", hash = "sha256:aa3ace4329eeacda5b7beb7ea08ece826c28d761cda36e747cfbf97996d39bf3"}, + {file = "tzdata-2023.4.tar.gz", hash = "sha256:dd54c94f294765522c77399649b4fefd95522479a664a0cec87f41bebc6148c9"}, +] + +[[package]] +name = "url-normalize" +version = "1.4.3" +description = "URL normalization for Python" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +files = [ + {file = "url-normalize-1.4.3.tar.gz", hash = "sha256:d23d3a070ac52a67b83a1c59a0e68f8608d1cd538783b401bc9de2c0fac999b2"}, + {file = "url_normalize-1.4.3-py2.py3-none-any.whl", hash = "sha256:ec3c301f04e5bb676d333a7fa162fa977ad2ca04b7e652bfc9fac4e405728eed"}, +] + +[package.dependencies] +six = "*" + +[[package]] +name = "urllib3" +version = "2.1.0" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.1.0-py3-none-any.whl", hash = "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3"}, + {file = "urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + +[[package]] +name = "wcmatch" +version = "8.4" +description = "Wildcard/glob file name matcher." +optional = false +python-versions = ">=3.7" +files = [ + {file = "wcmatch-8.4-py3-none-any.whl", hash = "sha256:dc7351e5a7f8bbf4c6828d51ad20c1770113f5f3fd3dfe2a03cfde2a63f03f98"}, + {file = "wcmatch-8.4.tar.gz", hash = "sha256:ba4fc5558f8946bf1ffc7034b05b814d825d694112499c86035e0e4d398b6a67"}, +] + +[package.dependencies] +bracex = ">=2.1.1" + +[[package]] +name = "wrapt" +version = "1.16.0" +description = "Module for decorators, wrappers and monkey patching." +optional = false +python-versions = ">=3.6" +files = [ + {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"}, + {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"}, + {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"}, + {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"}, + {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"}, + {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"}, + {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"}, + {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"}, + {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"}, + {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"}, + {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"}, + {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"}, + {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"}, + {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"}, + {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"}, + {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"}, + {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"}, + {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"}, + {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"}, + {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"}, + {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"}, + {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"}, + {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"}, + {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"}, + {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"}, + {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"}, + {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"}, + {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, +] + +[metadata] +lock-version = "2.0" +python-versions = ">=3.11,<3.12" +content-hash = "ff97fc1fbaeb791abb8963d68cd5b14938c789345a6a0cb39400f07506cd3a99" diff --git a/source-zoom/pyproject.toml b/source-zoom/pyproject.toml new file mode 100644 index 0000000000..66bb3fe073 --- /dev/null +++ b/source-zoom/pyproject.toml @@ -0,0 +1,17 @@ +[tool.poetry] +name = "source-zoom-estuary" +version = "0.1.0" +description = "" +authors = ["Jonathan Wihl "] + +[tool.poetry.dependencies] +airbyte-cdk = "0.51.14" +mypy = "^1.5" +python = ">=3.11,<3.12" +debugpy = "^1.8.0" +source_zoom = { path = "source_zoom", develop = true } +flow-sdk = { path = "../python", develop = true } + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" \ No newline at end of file diff --git a/source-zoom/source_zoom/__init__.py b/source-zoom/source_zoom/__init__.py new file mode 100644 index 0000000000..eb89b553fa --- /dev/null +++ b/source-zoom/source_zoom/__init__.py @@ -0,0 +1,3 @@ +# +# Copyright (c) 2023 Estuary, Inc., all rights reserved. +# \ No newline at end of file diff --git a/source-zoom/source_zoom/estuary-manifest.yaml b/source-zoom/source_zoom/estuary-manifest.yaml new file mode 100644 index 0000000000..d02aaefb45 --- /dev/null +++ b/source-zoom/source_zoom/estuary-manifest.yaml @@ -0,0 +1,313 @@ +version: "0.29.0" + +definitions: + url_base: "https://api.zoom.us/v2/" + url_refresh_token: "https://zoom.us/oauth/token" + grant_type: "refresh_token" + use_base64: true + use_body: true + content_type: "application/x-www-form-urlencoded" + refresh_token_fields: + - grant_type + - refresh_token + +paginator: + page_size: 30 + opt_field_name: "page_size" + request_field_name: "next_page" + +check_stream: users +streams: + users: + name: "users" + primary_key: "id" + schema_name: "users.json" + path: "users" + record_extractor: "users" + has_pagination: true + + meetings_list_tmp: + name: "meetings_list_tmp" + primary_key: "id" + path: "users/{parent_id}/meetings" + record_extractor: "meetings" + has_pagination: true + parent_streams: [ + { + name: "users", + parent_key: "id", + partition_field: "parent_id" + } + ] + + meetings: + name: "meetings" + primary_key: "id" + schema_name: "meetings.json" + path: "meetings/{parent_id}" + parent_streams: [ + { + name: "meetings_list_tmp", + parent_key: "id", + partition_field: "parent_id" + } + ] + + meeting_registrants: + name: "meeting_registrants" + primary_key: "id" + schema_name: "meeting_registrants.json" + path: "meetings/{parent_id}/registrants" + record_extractor: "registrants" + has_pagination: true + ignore_error: true + parent_streams: [ + { + name: "meetings_list_tmp", + parent_key: "id", + partition_field: "parent_id" + } + ] + + meeting_polls: + name: "meeting_polls" + primary_key: "id" + schema_name: "meeting_polls.json" + path: "meetings/{parent_id}/polls" + record_extractor: "polls" + ignore_error: true + parent_streams: [ + { + name: "meetings_list_tmp", + parent_key: "id", + partition_field: "parent_id" + } + ] + + meeting_poll_results: + name: "meeting_poll_results" + schema_name: "meeting_poll_results.json" + path: "past_meetings/{parent_id}/polls" + record_extractor: "questions" + ignore_error: true + parent_streams: [ + { + name: "meetings_list_tmp", + parent_key: "uuid", + partition_field: "parent_id" + } + ] + + meeting_registration_questions: + name: "meeting_registration_questions" + schema_name: "meeting_registration_questions.json" + path: "past_meetings/{parent_id}/registrants/questions" + ignore_error: true + parent_streams: [ + { + name: "meetings_list_tmp", + parent_key: "id", + partition_field: "parent_id" + } + ] + + webinars_list_tmp: + name: "webinars_list_tmp" + primary_key: "id" + path: "users/{parent_id}/webinars" + record_extractor: "webinars" + has_pagination: true + ignore_error: true + parent_streams: [ + { + name: "users", + parent_key: "id", + partition_field: "parent_id" + } + ] + + webinars: + name: "webinars" + primary_key: "id" + schema_name: "webinars.json" + path: "webinars/{parent_id}" + ignore_error: true + parent_streams: [ + { + name: "webinars_list_tmp", + parent_key: "id", + partition_field: "parent_id" + } + ] + + webinar_panelists: + name: "webinar_panelists" + schema_name: "webinar_panelists.json" + path: "webinars/{parent_id}/panelists" + record_extractor: "panelists" + ignore_error: true + parent_streams: [ + { + name: "webinars_list_tmp", + parent_key: "id", + partition_field: "parent_id" + } + ] + + webinar_registrants: + name: "webinar_registrants" + schema_name: "webinar_registrants.json" + path: "webinars/{parent_id}/registrants" + record_extractor: "registrants" + has_pagination: true + ignore_error: true + parent_streams: [ + { + name: "webinars_list_tmp", + parent_key: "id", + partition_field: "parent_id" + } + ] + + webinar_absentees: + name: "webinar_absentees" + primary_key: "id" + schema_name: "webinar_absentees.json" + path: "webinars/{parent_id}/absentees" + record_extractor: "registrants" + has_pagination: true + ignore_error: true + parent_streams: [ + { + name: "webinars_list_tmp", + parent_key: "uuid", + partition_field: "parent_id" + } + ] + + webinar_polls: + name: "webinar_polls" + schema_name: "webinar_polls.json" + path: "webinars/{parent_id}/polls" + record_extractor: "polls" + ignore_error: true + parent_streams: [ + { + name: "webinars_list_tmp", + parent_key: "id", + partition_field: "parent_id" + } + ] + + webinar_poll_results: + name: "webinar_poll_results" + schema_name: "webinar_poll_results.json" + path: "past_webinars/{parent_id}/polls" + record_extractor: "polls" + ignore_error: true + parent_streams: [ + { + name: "webinars_list_tmp", + parent_key: "uuid", + partition_field: "parent_id" + } + ] + + webinar_registration_questions: + name: "webinar_registration_questions" + schema_name: "webinar_registration_questions.json" + path: "webinars/{parent_id}/registrants/questions" + ignore_error: true + parent_streams: [ + { + name: "webinars_list_tmp", + parent_key: "id", + partition_field: "parent_id" + } + ] + + webinar_tracking_sources: + name: "webinar_tracking_sources" + primary_key: "id" + schema_name: "webinar_tracking_sources.json" + path: "webinars/{parent_id}/tracking_sources" + record_extractor: "tracking_sources" + ignore_error: true + parent_streams: [ + { + name: "webinars_list_tmp", + parent_key: "id", + partition_field: "parent_id" + } + ] + + webinar_qna_results: + name: "webinar_qna_results" + schema_name: "webinar_qna_results.json" + path: "past_webinars/{parent_id}/qa" + record_extractor: "questions" + ignore_error: true + parent_streams: [ + { + name: "webinars_list_tmp", + parent_key: "uuid", + partition_field: "parent_id" + } + ] + + report_meetings: + name: "report_meetings" + schema_name: "report_meetings.json" + path: "report/meetings/{parent_id}" + record_extractor: "tracking_sources" + ignore_error: true + parent_streams: [ + { + name: "meetings_list_tmp", + parent_key: "uuid", + partition_field: "parent_id" + } + ] + + report_meeting_participants: + name: "report_meeting_participants" + schema_name: "report_meeting_participants.json" + path: "report/meetings/{parent_id}/participants" + record_extractor: "participants" + has_pagination: true + ignore_error: true + parent_streams: [ + { + name: "meetings_list_tmp", + parent_key: "uuid", + partition_field: "parent_id" + } + ] + + report_webinars: + name: "report_webinars" + schema_name: "report_webinars.json" + path: "report/webinars/{parent_id}" + ignore_error: true + parent_streams: [ + { + name: "webinars_list_tmp", + parent_key: "uuid", + partition_field: "parent_id" + } + ] + + report_webinar_participants: + name: "report_webinar_participants" + schema_name: "report_webinar_participants.json" + path: "report/webinars/{parent_id}/participants" + record_extractor: "participants" + has_pagination: true + ignore_error: true + parent_streams: [ + { + name: "webinars_list_tmp", + parent_key: "uuid", + partition_field: "parent_id" + } + ] diff --git a/source-zoom/source_zoom/requirements.txt b/source-zoom/source_zoom/requirements.txt new file mode 100644 index 0000000000..ecf975e2fa --- /dev/null +++ b/source-zoom/source_zoom/requirements.txt @@ -0,0 +1 @@ +-e . \ No newline at end of file diff --git a/source-zoom/source_zoom/schemas/meeting_poll_results.json b/source-zoom/source_zoom/schemas/meeting_poll_results.json new file mode 100644 index 0000000000..0f4b978752 --- /dev/null +++ b/source-zoom/source_zoom/schemas/meeting_poll_results.json @@ -0,0 +1,37 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "meeting_uuid": { + "type": "string" + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "question_details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "answer": { + "type": "string" + }, + "date_time": { + "type": "string" + }, + "polling_id": { + "type": "string" + }, + "question": { + "type": "string" + } + }, + "required": [] + } + } + }, + "required": [] +} diff --git a/source-zoom/source_zoom/schemas/meeting_polls.json b/source-zoom/source_zoom/schemas/meeting_polls.json new file mode 100644 index 0000000000..8b80e1d1c7 --- /dev/null +++ b/source-zoom/source_zoom/schemas/meeting_polls.json @@ -0,0 +1,96 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "meeting_id": { + "type": "number" + }, + "status": { + "type": "string" + }, + "anonymous": { + "type": "boolean" + }, + "poll_type": { + "type": "number" + }, + "questions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "answer_max_character": { + "type": "number" + }, + "answer_min_character": { + "type": "number" + }, + "answer_required": { + "type": "boolean" + }, + "answers": { + "type": "array", + "items": { + "type": "string" + } + }, + "case_sensitive": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "prompts": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prompt_question": { + "type": "string" + }, + "prompt_right_answers": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [] + } + }, + "rating_max_label": { + "type": "string" + }, + "rating_max_value": { + "type": "number" + }, + "rating_min_label": { + "type": "string" + }, + "rating_min_value": { + "type": "number" + }, + "right_answers": { + "type": "array", + "items": { + "type": "string" + } + }, + "show_as_dropdown": { + "type": "boolean" + }, + "type": { + "type": "string" + } + }, + "required": [] + } + }, + "title": { + "type": "string" + } + } +} diff --git a/source-zoom/source_zoom/schemas/meeting_registrants.json b/source-zoom/source_zoom/schemas/meeting_registrants.json new file mode 100644 index 0000000000..731dd823f7 --- /dev/null +++ b/source-zoom/source_zoom/schemas/meeting_registrants.json @@ -0,0 +1,85 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "meeting_id": { + "type": "number" + }, + "id": { + "type": "string" + }, + "address": { + "type": "string" + }, + "city": { + "type": "string" + }, + "comments": { + "type": "string" + }, + "country": { + "type": "string" + }, + "custom_questions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [] + } + }, + "email": { + "type": "string" + }, + "first_name": { + "type": "string" + }, + "industry": { + "type": "string" + }, + "job_title": { + "type": "string" + }, + "last_name": { + "type": "string" + }, + "no_of_employees": { + "type": "string" + }, + "org": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "purchasing_time_frame": { + "type": "string" + }, + "role_in_purchase_process": { + "type": "string" + }, + "state": { + "type": "string" + }, + "status": { + "type": "string" + }, + "zip": { + "type": "string" + }, + "create_time": { + "type": "string" + }, + "join_url": { + "type": "string" + } + }, + "required": [] +} diff --git a/source-zoom/source_zoom/schemas/meeting_registration_questions.json b/source-zoom/source_zoom/schemas/meeting_registration_questions.json new file mode 100644 index 0000000000..0bb4a101de --- /dev/null +++ b/source-zoom/source_zoom/schemas/meeting_registration_questions.json @@ -0,0 +1,48 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "meeting_id": { + "type": ["string"] + }, + "custom_questions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "answers": { + "type": "array", + "items": { + "type": "string" + } + }, + "required": { + "type": "boolean" + }, + "title": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [] + } + }, + "questions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field_name": { + "type": "string" + }, + "required": { + "type": "boolean" + } + }, + "required": [] + } + } + } +} diff --git a/source-zoom/source_zoom/schemas/meetings.json b/source-zoom/source_zoom/schemas/meetings.json new file mode 100644 index 0000000000..e2eb90721f --- /dev/null +++ b/source-zoom/source_zoom/schemas/meetings.json @@ -0,0 +1,394 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "type": "object", + "properties": { + "assistant_id": { + "type": "string" + }, + "host_email": { + "type": "string" + }, + "host_id": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "uuid": { + "type": "string" + }, + "agenda": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "duration": { + "type": "number" + }, + "encrypted_password": { + "type": "string" + }, + "h323_password": { + "type": "string" + }, + "join_url": { + "type": "string" + }, + "occurrences": { + "type": "array", + "items": { + "type": "object", + "properties": { + "duration": { + "type": "number" + }, + "occurrence_id": { + "type": "string" + }, + "start_time": { + "type": "string" + }, + "status": { + "type": "string" + } + }, + "required": [] + } + }, + "password": { + "type": "string" + }, + "pmi": { + "type": "string" + }, + "pre_schedule": { + "type": "boolean" + }, + "recurrence": { + "type": "object", + "properties": { + "end_date_time": { + "type": "string" + }, + "end_times": { + "type": "number" + }, + "monthly_day": { + "type": "number" + }, + "monthly_week": { + "type": "number" + }, + "monthly_week_day": { + "type": "number" + }, + "repeat_interval": { + "type": "number" + }, + "type": { + "type": "number" + }, + "weekly_days": { + "type": "string" + } + }, + "required": [] + }, + "settings": { + "type": "object", + "properties": { + "allow_multiple_devices": { + "type": "boolean" + }, + "alternative_hosts": { + "type": "string" + }, + "alternative_hosts_email_notification": { + "type": "boolean" + }, + "alternative_host_update_polls": { + "type": "boolean" + }, + "approval_type": { + "type": "number" + }, + "approved_or_denied_countries_or_regions": { + "type": "object", + "properties": { + "approved_list": { + "type": "array", + "items": { + "type": "string" + } + }, + "denied_list": { + "type": "array", + "items": { + "type": "string" + } + }, + "enable": { + "type": "boolean" + }, + "method": { + "type": "string" + } + }, + "required": [] + }, + "audio": { + "type": "string" + }, + "authentication_domains": { + "type": "string" + }, + "authentication_exception": { + "type": "array", + "items": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "join_url": { + "type": "string" + } + }, + "required": [] + } + }, + "authentication_name": { + "type": "string" + }, + "authentication_option": { + "type": "string" + }, + "auto_recording": { + "type": "string" + }, + "breakout_room": { + "type": "object", + "properties": { + "enable": { + "type": "boolean" + }, + "rooms": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "participants": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [] + } + } + }, + "required": [] + }, + "calendar_type": { + "type": "number" + }, + "close_registration": { + "type": "boolean" + }, + "contact_email": { + "type": "string" + }, + "contact_name": { + "type": "string" + }, + "custom_keys": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [] + } + }, + "email_notification": { + "type": "boolean" + }, + "encryption_type": { + "type": "string" + }, + "focus_mode": { + "type": "boolean" + }, + "global_dial_in_countries": { + "type": "array", + "items": { + "type": "string" + } + }, + "global_dial_in_numbers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "city": { + "type": "string" + }, + "country": { + "type": "string" + }, + "country_name": { + "type": "string" + }, + "number": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [] + } + }, + "host_video": { + "type": "boolean" + }, + "jbh_time": { + "type": "number" + }, + "join_before_host": { + "type": "boolean" + }, + "language_interpretation": { + "type": "object", + "properties": { + "enable": { + "type": "boolean" + }, + "interpreters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "languages": { + "type": "string" + } + }, + "required": [] + } + } + }, + "required": [] + }, + "meeting_authentication": { + "type": "boolean" + }, + "mute_upon_entry": { + "type": "boolean" + }, + "participant_video": { + "type": "boolean" + }, + "private_meeting": { + "type": "boolean" + }, + "registrants_confirmation_email": { + "type": "boolean" + }, + "registrants_email_notification": { + "type": "boolean" + }, + "registration_type": { + "type": "number" + }, + "show_share_button": { + "type": "boolean" + }, + "use_pmi": { + "type": "boolean" + }, + "waiting_room": { + "type": "boolean" + }, + "waiting_room_options": { + "type": "object", + "properties": { + "enable": { + "type": "boolean" + }, + "admit_type": { + "type": "number" + }, + "auto_admit": { + "type": "number" + }, + "internal_user_auto_admit": { + "type": "number" + } + }, + "required": [] + }, + "watermark": { + "type": "boolean" + }, + "host_save_video_order": { + "type": "boolean" + } + }, + "required": [] + }, + "start_time": { + "type": "string" + }, + "start_url": { + "type": "string" + }, + "status": { + "type": "string" + }, + "timezone": { + "type": "string" + }, + "topic": { + "type": "string" + }, + "tracking_fields": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "value": { + "type": "string" + }, + "visible": { + "type": "boolean" + } + }, + "required": [] + } + }, + "type": { + "type": "number" + } + }, + "required": [] +} diff --git a/source-zoom/source_zoom/schemas/report_meeting_participants.json b/source-zoom/source_zoom/schemas/report_meeting_participants.json new file mode 100644 index 0000000000..763392427f --- /dev/null +++ b/source-zoom/source_zoom/schemas/report_meeting_participants.json @@ -0,0 +1,46 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "meeting_uuid": { + "type": "string" + }, + "customer_key": { + "type": "string" + }, + "duration": { + "type": "number" + }, + "failover": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "join_time": { + "type": "string" + }, + "leave_time": { + "type": "string" + }, + "name": { + "type": "string" + }, + "registrant_id": { + "type": "string" + }, + "user_email": { + "type": "string" + }, + "user_id": { + "type": "string" + }, + "status": { + "type": "string" + }, + "bo_mtg_id": { + "type": "string" + } + }, + "required": [] +} diff --git a/source-zoom/source_zoom/schemas/report_meetings.json b/source-zoom/source_zoom/schemas/report_meetings.json new file mode 100644 index 0000000000..e7b31f338a --- /dev/null +++ b/source-zoom/source_zoom/schemas/report_meetings.json @@ -0,0 +1,76 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "meeting_uuid": { + "type": "string" + }, + "custom_keys": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [] + } + }, + "dept": { + "type": "string" + }, + "duration": { + "type": "number" + }, + "end_time": { + "type": "string" + }, + "id": { + "type": "number" + }, + "participants_count": { + "type": "number" + }, + "start_time": { + "type": "string" + }, + "topic": { + "type": "string" + }, + "total_minutes": { + "type": "number" + }, + "tracking_fields": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [] + } + }, + "type": { + "type": "number" + }, + "user_email": { + "type": "string" + }, + "user_name": { + "type": "string" + }, + "uuid": { + "type": "string" + } + }, + "required": [] +} diff --git a/source-zoom/source_zoom/schemas/report_webinar_participants.json b/source-zoom/source_zoom/schemas/report_webinar_participants.json new file mode 100644 index 0000000000..bfba6ff87d --- /dev/null +++ b/source-zoom/source_zoom/schemas/report_webinar_participants.json @@ -0,0 +1,55 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "webinar_uuid": { + "type": "string" + }, + "customer_key": { + "type": "string" + }, + "duration": { + "type": "number" + }, + "failover": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "join_time": { + "type": "string" + }, + "leave_time": { + "type": "string" + }, + "name": { + "type": "string" + }, + "registrant_id": { + "type": "string" + }, + "status": { + "type": "string" + }, + "user_email": { + "type": "string" + }, + "user_id": { + "type": "string" + } + }, + "required": [ + "customer_key", + "duration", + "failover", + "id", + "join_time", + "leave_time", + "name", + "registrant_id", + "status", + "user_email", + "user_id" + ] +} diff --git a/source-zoom/source_zoom/schemas/report_webinars.json b/source-zoom/source_zoom/schemas/report_webinars.json new file mode 100644 index 0000000000..b8ae1ed0ce --- /dev/null +++ b/source-zoom/source_zoom/schemas/report_webinars.json @@ -0,0 +1,76 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "webinar_uuid": { + "type": "string" + }, + "custom_keys": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [] + } + }, + "dept": { + "type": "string" + }, + "duration": { + "type": "number" + }, + "end_time": { + "type": "string" + }, + "id": { + "type": "number" + }, + "participants_count": { + "type": "number" + }, + "start_time": { + "type": "string" + }, + "topic": { + "type": "string" + }, + "total_minutes": { + "type": "number" + }, + "tracking_fields": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [] + } + }, + "type": { + "type": "number" + }, + "user_email": { + "type": "string" + }, + "user_name": { + "type": "string" + }, + "uuid": { + "type": "string" + } + }, + "required": [] +} diff --git a/source-zoom/source_zoom/schemas/users.json b/source-zoom/source_zoom/schemas/users.json new file mode 100644 index 0000000000..57ad7b0eff --- /dev/null +++ b/source-zoom/source_zoom/schemas/users.json @@ -0,0 +1,85 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "type": "object", + "properties": { + "created_at": { + "type": "string" + }, + "custom_attributes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [] + } + }, + "dept": { + "type": "string" + }, + "email": { + "type": "string" + }, + "employee_unique_id": { + "type": "string" + }, + "first_name": { + "type": "string" + }, + "group_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "id": { + "type": "string" + }, + "im_group_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "last_client_version": { + "type": "string" + }, + "last_login_time": { + "type": "string" + }, + "last_name": { + "type": "string" + }, + "plan_united_type": { + "type": "string" + }, + "pmi": { + "type": "number" + }, + "role_id": { + "type": "string" + }, + "status": { + "type": "string" + }, + "timezone": { + "type": "string" + }, + "type": { + "type": "number" + }, + "verified": { + "type": "number" + } + }, + "required": [] +} diff --git a/source-zoom/source_zoom/schemas/webinar_absentees.json b/source-zoom/source_zoom/schemas/webinar_absentees.json new file mode 100644 index 0000000000..ced32756af --- /dev/null +++ b/source-zoom/source_zoom/schemas/webinar_absentees.json @@ -0,0 +1,85 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "webinar_uuid": { + "type": "string" + }, + "id": { + "type": "string" + }, + "address": { + "type": "string" + }, + "city": { + "type": "string" + }, + "comments": { + "type": "string" + }, + "country": { + "type": "string" + }, + "custom_questions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [] + } + }, + "email": { + "type": "string" + }, + "first_name": { + "type": "string" + }, + "industry": { + "type": "string" + }, + "job_title": { + "type": "string" + }, + "last_name": { + "type": "string" + }, + "no_of_employees": { + "type": "string" + }, + "org": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "purchasing_time_frame": { + "type": "string" + }, + "role_in_purchase_process": { + "type": "string" + }, + "state": { + "type": "string" + }, + "status": { + "type": "string" + }, + "zip": { + "type": "string" + }, + "create_time": { + "type": "string" + }, + "join_url": { + "type": "string" + } + }, + "required": [] +} diff --git a/source-zoom/source_zoom/schemas/webinar_panelists.json b/source-zoom/source_zoom/schemas/webinar_panelists.json new file mode 100644 index 0000000000..53801958fa --- /dev/null +++ b/source-zoom/source_zoom/schemas/webinar_panelists.json @@ -0,0 +1,37 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "webinar_id": { + "type": "number" + }, + "id": { + "type": "string" + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "join_url": { + "type": "string" + }, + "virtual_background_id": { + "type": "string" + }, + "name_tag_id": { + "type": "string" + }, + "name_tag_name": { + "type": "string" + }, + "name_tag_pronouns": { + "type": "string" + }, + "name_tag_description": { + "type": "string" + } + }, + "required": [] +} diff --git a/source-zoom/source_zoom/schemas/webinar_poll_results.json b/source-zoom/source_zoom/schemas/webinar_poll_results.json new file mode 100644 index 0000000000..dbb102491e --- /dev/null +++ b/source-zoom/source_zoom/schemas/webinar_poll_results.json @@ -0,0 +1,37 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "webinar_uuid": { + "type": "string" + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "question_details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "answer": { + "type": "string" + }, + "date_time": { + "type": "string" + }, + "polling_id": { + "type": "string" + }, + "question": { + "type": "string" + } + }, + "required": [] + } + } + }, + "required": [] +} diff --git a/source-zoom/source_zoom/schemas/webinar_polls.json b/source-zoom/source_zoom/schemas/webinar_polls.json new file mode 100644 index 0000000000..35ed3e3921 --- /dev/null +++ b/source-zoom/source_zoom/schemas/webinar_polls.json @@ -0,0 +1,97 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "webinar_id": { + "type": "string" + }, + "id": { + "type": "string" + }, + "status": { + "type": "string" + }, + "anonymous": { + "type": "boolean" + }, + "poll_type": { + "type": "number" + }, + "questions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "answer_max_character": { + "type": "number" + }, + "answer_min_character": { + "type": "number" + }, + "answer_required": { + "type": "boolean" + }, + "answers": { + "type": "array", + "items": { + "type": "string" + } + }, + "case_sensitive": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "prompts": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prompt_question": { + "type": "string" + }, + "prompt_right_answers": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [] + } + }, + "rating_max_label": { + "type": "string" + }, + "rating_max_value": { + "type": "number" + }, + "rating_min_label": { + "type": "string" + }, + "rating_min_value": { + "type": "number" + }, + "right_answers": { + "type": "array", + "items": { + "type": "string" + } + }, + "show_as_dropdown": { + "type": "boolean" + }, + "type": { + "type": "string" + } + }, + "required": [] + } + }, + "title": { + "type": "string" + } + }, + "required": [] +} diff --git a/source-zoom/source_zoom/schemas/webinar_qna_results.json b/source-zoom/source_zoom/schemas/webinar_qna_results.json new file mode 100644 index 0000000000..361b24a5fc --- /dev/null +++ b/source-zoom/source_zoom/schemas/webinar_qna_results.json @@ -0,0 +1,31 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "webinar_uuid": { + "type": "string" + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "question_details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "answer": { + "type": "string" + }, + "question": { + "type": "string" + } + }, + "required": [] + } + } + }, + "required": [] +} diff --git a/source-zoom/source_zoom/schemas/webinar_registrants.json b/source-zoom/source_zoom/schemas/webinar_registrants.json new file mode 100644 index 0000000000..0b5a7cdaf6 --- /dev/null +++ b/source-zoom/source_zoom/schemas/webinar_registrants.json @@ -0,0 +1,85 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "webinar_id": { + "type": "string" + }, + "id": { + "type": "string" + }, + "address": { + "type": "string" + }, + "city": { + "type": "string" + }, + "comments": { + "type": "string" + }, + "country": { + "type": "string" + }, + "custom_questions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [] + } + }, + "email": { + "type": "string" + }, + "first_name": { + "type": "string" + }, + "industry": { + "type": "string" + }, + "job_title": { + "type": "string" + }, + "last_name": { + "type": "string" + }, + "no_of_employees": { + "type": "string" + }, + "org": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "purchasing_time_frame": { + "type": "string" + }, + "role_in_purchase_process": { + "type": "string" + }, + "state": { + "type": "string" + }, + "status": { + "type": "string" + }, + "zip": { + "type": "string" + }, + "create_time": { + "type": "string" + }, + "join_url": { + "type": "string" + } + }, + "required": [] +} diff --git a/source-zoom/source_zoom/schemas/webinar_registration_questions.json b/source-zoom/source_zoom/schemas/webinar_registration_questions.json new file mode 100644 index 0000000000..46f0dad22e --- /dev/null +++ b/source-zoom/source_zoom/schemas/webinar_registration_questions.json @@ -0,0 +1,49 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "webinar_id": { + "type": "string" + }, + "custom_questions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "answers": { + "type": "array", + "items": { + "type": "string" + } + }, + "required": { + "type": "boolean" + }, + "title": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [] + } + }, + "questions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field_name": { + "type": "string" + }, + "required": { + "type": "boolean" + } + }, + "required": [] + } + } + }, + "required": [] +} diff --git a/source-zoom/source_zoom/schemas/webinar_tracking_sources.json b/source-zoom/source_zoom/schemas/webinar_tracking_sources.json new file mode 100644 index 0000000000..b7cab1839c --- /dev/null +++ b/source-zoom/source_zoom/schemas/webinar_tracking_sources.json @@ -0,0 +1,25 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "webinar_id": { + "type": "string" + }, + "id": { + "type": "string" + }, + "registration_count": { + "type": "number" + }, + "source_name": { + "type": "string" + }, + "tracking_url": { + "type": "string" + }, + "visitor_count": { + "type": "number" + } + }, + "required": [] +} diff --git a/source-zoom/source_zoom/schemas/webinars.json b/source-zoom/source_zoom/schemas/webinars.json new file mode 100644 index 0000000000..c0736d39d6 --- /dev/null +++ b/source-zoom/source_zoom/schemas/webinars.json @@ -0,0 +1,322 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "host_email": { + "type": "string" + }, + "host_id": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "uuid": { + "type": "string" + }, + "agenda": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "duration": { + "type": "number" + }, + "join_url": { + "type": "string" + }, + "occurrences": { + "type": "array", + "items": { + "type": "object", + "properties": { + "duration": { + "type": "number" + }, + "occurrence_id": { + "type": "string" + }, + "start_time": { + "type": "string" + }, + "status": { + "type": "string" + } + }, + "required": [] + } + }, + "password": { + "type": "string" + }, + "recurrence": { + "type": "object", + "properties": { + "end_date_time": { + "type": "string" + }, + "end_times": { + "type": "number" + }, + "monthly_day": { + "type": "number" + }, + "monthly_week": { + "type": "number" + }, + "monthly_week_day": { + "type": "number" + }, + "repeat_interval": { + "type": "number" + }, + "type": { + "type": "number" + }, + "weekly_days": { + "type": "string" + } + }, + "required": [] + }, + "settings": { + "type": "object", + "properties": { + "allow_multiple_devices": { + "type": "boolean" + }, + "alternative_hosts": { + "type": "string" + }, + "alternative_host_update_polls": { + "type": "boolean" + }, + "approval_type": { + "type": "number" + }, + "attendees_and_panelists_reminder_email_notification": { + "type": "object", + "properties": { + "enable": { + "type": "boolean" + }, + "type": { + "type": "number" + } + }, + "required": [] + }, + "audio": { + "type": "string" + }, + "authentication_domains": { + "type": "string" + }, + "authentication_name": { + "type": "string" + }, + "authentication_option": { + "type": "string" + }, + "auto_recording": { + "type": "string" + }, + "close_registration": { + "type": "boolean" + }, + "contact_email": { + "type": "string" + }, + "contact_name": { + "type": "string" + }, + "email_language": { + "type": "string" + }, + "follow_up_absentees_email_notification": { + "type": "object", + "properties": { + "enable": { + "type": "boolean" + }, + "type": { + "type": "number" + } + }, + "required": [] + }, + "follow_up_attendees_email_notification": { + "type": "object", + "properties": { + "enable": { + "type": "boolean" + }, + "type": { + "type": "number" + } + }, + "required": [] + }, + "global_dial_in_countries": { + "type": "array", + "items": { + "type": "string" + } + }, + "hd_video": { + "type": "boolean" + }, + "hd_video_for_attendees": { + "type": "boolean" + }, + "host_video": { + "type": "boolean" + }, + "language_interpretation": { + "type": "object", + "properties": { + "enable": { + "type": "boolean" + }, + "interpreters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "languages": { + "type": "string" + } + }, + "required": [] + } + } + }, + "required": [] + }, + "panelist_authentication": { + "type": "boolean" + }, + "meeting_authentication": { + "type": "boolean" + }, + "add_watermark": { + "type": "boolean" + }, + "add_audio_watermark": { + "type": "boolean" + }, + "notify_registrants": { + "type": "boolean" + }, + "on_demand": { + "type": "boolean" + }, + "panelists_invitation_email_notification": { + "type": "boolean" + }, + "panelists_video": { + "type": "boolean" + }, + "post_webinar_survey": { + "type": "boolean" + }, + "practice_session": { + "type": "boolean" + }, + "question_and_answer": { + "type": "object", + "properties": { + "allow_anonymous_questions": { + "type": "boolean" + }, + "answer_questions": { + "type": "string" + }, + "attendees_can_comment": { + "type": "boolean" + }, + "attendees_can_upvote": { + "type": "boolean" + }, + "allow_auto_reply": { + "type": "boolean" + }, + "auto_reply_text": { + "type": "string" + }, + "enable": { + "type": "boolean" + } + }, + "required": [] + }, + "registrants_confirmation_email": { + "type": "boolean" + }, + "registrants_email_notification": { + "type": "boolean" + }, + "registrants_restrict_number": { + "type": "number" + }, + "registration_type": { + "type": "number" + }, + "send_1080p_video_to_attendees": { + "type": "boolean" + }, + "show_share_button": { + "type": "boolean" + }, + "survey_url": { + "type": "string" + }, + "enable_session_branding": { + "type": "boolean" + } + }, + "required": [] + }, + "start_time": { + "type": "string" + }, + "start_url": { + "type": "string" + }, + "timezone": { + "type": "string" + }, + "topic": { + "type": "string" + }, + "tracking_fields": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [] + } + }, + "type": { + "type": "number" + }, + "is_simulive": { + "type": "boolean" + }, + "record_file_id": { + "type": "string" + } + }, + "required": [] +} diff --git a/source-zoom/source_zoom/setup.py b/source-zoom/source_zoom/setup.py new file mode 100644 index 0000000000..30e2ce46e2 --- /dev/null +++ b/source-zoom/source_zoom/setup.py @@ -0,0 +1,19 @@ +# +# Copyright (c) 2023 Estuary, Inc., all rights reserved. +# + +from setuptools import find_packages, setup + +MAIN_REQUIREMENTS = [ + "airbyte-cdk~=0.11", +] + +setup( + name = "source_zoom", + description = "Source implementation for Zoom.", + author = "Estuary", + author_email = "contact@estuary.dev", + packages = find_packages(), + install_requires = MAIN_REQUIREMENTS, + package_data = { "": ["*.json", "*.yaml", "schemas/*.json", "schemas/shared/*.json"] }, +) \ No newline at end of file diff --git a/source-zoom/source_zoom/source_zoom/__init__.py b/source-zoom/source_zoom/source_zoom/__init__.py new file mode 100644 index 0000000000..eb89b553fa --- /dev/null +++ b/source-zoom/source_zoom/source_zoom/__init__.py @@ -0,0 +1,3 @@ +# +# Copyright (c) 2023 Estuary, Inc., all rights reserved. +# \ No newline at end of file diff --git a/source-zoom/source_zoom/source_zoom/spec.yaml b/source-zoom/source_zoom/source_zoom/spec.yaml new file mode 100644 index 0000000000..4ae60abd05 --- /dev/null +++ b/source-zoom/source_zoom/source_zoom/spec.yaml @@ -0,0 +1,34 @@ +documentationUrl: https://docs.airbyte.com/integrations/sources/zoom +connectionSpecification: + $schema: http://json-schema.org/draft-07/schema# + title: Zoom Spec + type: object + required: + - credentials + additionalProperties: true + properties: + credentials: + type: object + required: + - account_id + - client_id + - client_secret + - authorization_endpoint + properties: + account_id: + type: string + order: 0 + description: 'The account ID for your Zoom account. You can find this in the Zoom Marketplace under the "Manage" tab for your app.' + client_id: + type: string + order: 1 + description: 'The client ID for your Zoom app. You can find this in the Zoom Marketplace under the "Manage" tab for your app.' + client_secret: + type: string + order: 2 + description: 'The client secret for your Zoom app. You can find this in the Zoom Marketplace under the "Manage" tab for your app.' + airbyte_secret: true + authorization_endpoint: + type: string + order: 3 + default: "https://zoom.us/oauth/token" diff --git a/source-zoom/test.flow.yaml b/source-zoom/test.flow.yaml new file mode 100644 index 0000000000..a494a9e8c8 --- /dev/null +++ b/source-zoom/test.flow.yaml @@ -0,0 +1,89 @@ +--- +import: + - acmeCo/flow.yaml +captures: + acmeCo/source-zoom: + endpoint: + local: + command: + - python + - "-m" + - source-zoom + config: connector_config.yaml + bindings: + - resource: + stream: users + syncMode: full_refresh + target: acmeCo/users + - resource: + stream: meetings + syncMode: full_refresh + target: acmeCo/meetings + - resource: + stream: meeting_registrants + syncMode: full_refresh + target: acmeCo/meeting_registrants + - resource: + stream: meeting_polls + syncMode: full_refresh + target: acmeCo/meeting_polls + - resource: + stream: meeting_poll_results + syncMode: full_refresh + target: acmeCo/meeting_poll_results + - resource: + stream: meeting_registration_questions + syncMode: full_refresh + target: acmeCo/meeting_registration_questions + - resource: + stream: webinars + syncMode: full_refresh + target: acmeCo/webinars + - resource: + stream: webinar_panelists + syncMode: full_refresh + target: acmeCo/webinar_panelists + - resource: + stream: webinar_registrants + syncMode: full_refresh + target: acmeCo/webinar_registrants + - resource: + stream: webinar_absentees + syncMode: full_refresh + target: acmeCo/webinar_absentees + - resource: + stream: webinar_polls + syncMode: full_refresh + target: acmeCo/webinar_polls + - resource: + stream: webinar_poll_results + syncMode: full_refresh + target: acmeCo/webinar_poll_results + - resource: + stream: webinar_registration_questions + syncMode: full_refresh + target: acmeCo/webinar_registration_questions + - resource: + stream: webinar_tracking_sources + syncMode: full_refresh + target: acmeCo/webinar_tracking_sources + - resource: + stream: webinar_qna_results + syncMode: full_refresh + target: acmeCo/webinar_qna_results + - resource: + stream: report_meetings + syncMode: full_refresh + target: acmeCo/report_meetings + - resource: + stream: report_meeting_participants + syncMode: full_refresh + target: acmeCo/report_meeting_participants + - resource: + stream: report_webinars + syncMode: full_refresh + target: acmeCo/report_webinars + - resource: + stream: report_webinar_participants + syncMode: full_refresh + target: acmeCo/report_webinar_participants