diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 5b5a21cc72fb..f3a13368f82a 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.62.4 +current_version = 0.63.0 commit = False tag = False parse = (?P\d+)\.(?P\d+)\.(?P\d+)(\-[a-z]+)? diff --git a/airbyte-cdk/java/airbyte-cdk/core/src/main/resources/version.properties b/airbyte-cdk/java/airbyte-cdk/core/src/main/resources/version.properties index 503969f8df66..8c59062dc4d7 100644 --- a/airbyte-cdk/java/airbyte-cdk/core/src/main/resources/version.properties +++ b/airbyte-cdk/java/airbyte-cdk/core/src/main/resources/version.properties @@ -1 +1 @@ -version=0.37.1 +version=0.37.2 diff --git a/airbyte-cdk/java/airbyte-cdk/db-sources/src/main/kotlin/io/airbyte/cdk/integrations/debezium/internals/AirbyteFileOffsetBackingStore.kt b/airbyte-cdk/java/airbyte-cdk/db-sources/src/main/kotlin/io/airbyte/cdk/integrations/debezium/internals/AirbyteFileOffsetBackingStore.kt index 19f09bc21721..1830720d6623 100644 --- a/airbyte-cdk/java/airbyte-cdk/db-sources/src/main/kotlin/io/airbyte/cdk/integrations/debezium/internals/AirbyteFileOffsetBackingStore.kt +++ b/airbyte-cdk/java/airbyte-cdk/db-sources/src/main/kotlin/io/airbyte/cdk/integrations/debezium/internals/AirbyteFileOffsetBackingStore.kt @@ -47,7 +47,8 @@ class AirbyteFileOffsetBackingStore( Jsons.`object`(cdcState, MutableMap::class.java) as Map else emptyMap() - val updatedMap = updateStateForDebezium2_1(mapAsString) + var updatedMap = updateStateForDebezium2_1(mapAsString) + updatedMap = updateStateForDebezium2_6(updatedMap) val mappedAsStrings: Map = updatedMap.entries.associate { @@ -71,7 +72,7 @@ class AirbyteFileOffsetBackingStore( return mapAsString } - LOGGER.info { "Mutating sate to make it Debezium 2.1 compatible" } + LOGGER.info { "Mutating state to make it Debezium 2.1 compatible" } val newKey = if (dbName.isPresent) SQL_SERVER_STATE_MUTATION.apply(key.substring(i, i1 + 1), dbName.get()) @@ -82,6 +83,28 @@ class AirbyteFileOffsetBackingStore( return updatedMap } + // Previously: + // {"["ci-test-database",{"rs":"atlas-pexnnq-shard-0","server_id":"ci-test-database"}]":"{"sec":1715722523,"ord":2,"transaction_id":null,"resume_token":"826643D91B000000022B0429296E1404"}"} + // Now: + // {["ci-test-database",{"server_id":"ci-test-database"}]={"sec":0,"ord":-1,"resume_token":"826643FA09000000022B0429296E1404"}} + private fun updateStateForDebezium2_6(mapAsString: Map): Map { + val updatedMap: MutableMap = LinkedHashMap() + if (mapAsString.size > 0) { + val key = mapAsString.keys.stream().toList()[0] + + if (!key.contains("\"rs\":")) { + // The state is Debezium 2.6 compatible. No need to change anything. + return mapAsString + } + + LOGGER.info { "Mutating state to make it Debezium 2.6 compatible" } + val newKey = mongoShardMutation(key) + val value = mapAsString.getValue(key) + updatedMap[newKey] = value + } + return updatedMap + } + /** * See FileOffsetBackingStore#load - logic is mostly borrowed from here. duplicated because this * method is not public. Reduced the try catch block to only the read operation from original @@ -164,6 +187,22 @@ class AirbyteFileOffsetBackingStore( "\"" + key.substring(key.length - 2)) } + private fun mongoShardMutation(input: String): String { + val jsonObjectStart = input.indexOf("{", input.indexOf("[")) + val jsonObjectEnd = input.lastIndexOf("}") + + // Extract the JSON object as a substring + val jsonObjectString = input.substring(jsonObjectStart, jsonObjectEnd + 1) + + // Remove the "rs" key-value pair using a regex + val modifiedJsonObjectString = + jsonObjectString.replace(Regex("""("rs":\s*".+?",\s*)"""), "") + + // Replace the old JSON object with the modified one in the input string + val finalString = input.replace(jsonObjectString, modifiedJsonObjectString) + + return finalString + } private fun byteBufferToString(byteBuffer: ByteBuffer?): String { Preconditions.checkNotNull(byteBuffer) diff --git a/airbyte-cdk/python/CHANGELOG.md b/airbyte-cdk/python/CHANGELOG.md index a0f3248a1344..872487be49b0 100644 --- a/airbyte-cdk/python/CHANGELOG.md +++ b/airbyte-cdk/python/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +## 1.3.3 +Mock server tests: adding 'discover' as part of the entrypoint_wrapper + ## 1.3.2 low-code: Added retriever type filter to stream slicer merge diff --git a/airbyte-cdk/python/airbyte_cdk/test/entrypoint_wrapper.py b/airbyte-cdk/python/airbyte_cdk/test/entrypoint_wrapper.py index 767a13a75ed2..c28372eedfe1 100644 --- a/airbyte-cdk/python/airbyte_cdk/test/entrypoint_wrapper.py +++ b/airbyte-cdk/python/airbyte_cdk/test/entrypoint_wrapper.py @@ -92,6 +92,13 @@ def analytics_messages(self) -> List[AirbyteMessage]: def errors(self) -> List[AirbyteMessage]: return self._get_trace_message_by_trace_type(TraceType.ERROR) + @property + def catalog(self) -> AirbyteMessage: + catalog = self._get_message_by_types([Type.CATALOG]) + if len(catalog) != 1: + raise ValueError(f"Expected exactly one catalog but got {len(catalog)}") + return catalog[0] + def get_stream_statuses(self, stream_name: str) -> List[AirbyteStreamStatus]: status_messages = map( lambda message: message.trace.stream_status.status, @@ -109,6 +116,53 @@ def _get_trace_message_by_trace_type(self, trace_type: TraceType) -> List[Airbyt return [message for message in self._get_message_by_types([Type.TRACE]) if message.trace.type == trace_type] +def _run_command(source: Source, args: List[str], expecting_exception: bool = False) -> EntrypointOutput: + log_capture_buffer = StringIO() + stream_handler = logging.StreamHandler(log_capture_buffer) + stream_handler.setLevel(logging.INFO) + stream_handler.setFormatter(AirbyteLogFormatter()) + parent_logger = logging.getLogger("") + parent_logger.addHandler(stream_handler) + + parsed_args = AirbyteEntrypoint.parse_args(args) + + source_entrypoint = AirbyteEntrypoint(source) + messages = [] + uncaught_exception = None + try: + for message in source_entrypoint.run(parsed_args): + messages.append(message) + except Exception as exception: + if not expecting_exception: + print("Printing unexpected error from entrypoint_wrapper") + print("".join(traceback.format_exception(None, exception, exception.__traceback__))) + uncaught_exception = exception + + captured_logs = log_capture_buffer.getvalue().split("\n")[:-1] + + parent_logger.removeHandler(stream_handler) + + return EntrypointOutput(messages + captured_logs, uncaught_exception) + + +def discover( + source: Source, + config: Mapping[str, Any], + expecting_exception: bool = False, +) -> EntrypointOutput: + """ + config must be json serializable + :param expecting_exception: By default if there is an uncaught exception, the exception will be printed out. If this is expected, please + provide expecting_exception=True so that the test output logs are cleaner + """ + + with tempfile.TemporaryDirectory() as tmp_directory: + tmp_directory_path = Path(tmp_directory) + config_file = make_file(tmp_directory_path / "config.json", config) + + return _run_command(source, ["discover", "--config", config_file, "--debug"], expecting_exception) + + def read( source: Source, config: Mapping[str, Any], @@ -122,21 +176,16 @@ def read( :param expecting_exception: By default if there is an uncaught exception, the exception will be printed out. If this is expected, please provide expecting_exception=True so that the test output logs are cleaner """ - log_capture_buffer = StringIO() - stream_handler = logging.StreamHandler(log_capture_buffer) - stream_handler.setLevel(logging.INFO) - stream_handler.setFormatter(AirbyteLogFormatter()) - parent_logger = logging.getLogger("") - parent_logger.addHandler(stream_handler) - with tempfile.TemporaryDirectory() as tmp_directory: tmp_directory_path = Path(tmp_directory) + config_file = make_file(tmp_directory_path / "config.json", config) + catalog_file = make_file(tmp_directory_path / "catalog.json", catalog.json()) args = [ "read", "--config", - make_file(tmp_directory_path / "config.json", config), + config_file, "--catalog", - make_file(tmp_directory_path / "catalog.json", catalog.json()), + catalog_file, ] if state is not None: args.extend( @@ -145,26 +194,8 @@ def read( make_file(tmp_directory_path / "state.json", f"[{','.join([stream_state.json() for stream_state in state])}]"), ] ) - args.append("--debug") - source_entrypoint = AirbyteEntrypoint(source) - parsed_args = source_entrypoint.parse_args(args) - - messages = [] - uncaught_exception = None - try: - for message in source_entrypoint.run(parsed_args): - messages.append(message) - except Exception as exception: - if not expecting_exception: - print("Printing unexpected error from entrypoint_wrapper") - print("".join(traceback.format_exception(None, exception, exception.__traceback__))) - uncaught_exception = exception - - captured_logs = log_capture_buffer.getvalue().split("\n")[:-1] - - parent_logger.removeHandler(stream_handler) - return EntrypointOutput(messages + captured_logs, uncaught_exception) + return _run_command(source, args, expecting_exception) def make_file(path: Path, file_contents: Optional[Union[str, Mapping[str, Any], List[Mapping[str, Any]]]]) -> str: diff --git a/airbyte-cdk/python/pyproject.toml b/airbyte-cdk/python/pyproject.toml index 3f0311f974af..a7c9973cd797 100644 --- a/airbyte-cdk/python/pyproject.toml +++ b/airbyte-cdk/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "airbyte-cdk" -version = "1.3.2" +version = "1.3.3" description = "A framework for writing Airbyte Connectors." authors = ["Airbyte "] license = "MIT" diff --git a/airbyte-cdk/python/unit_tests/test/test_entrypoint_wrapper.py b/airbyte-cdk/python/unit_tests/test/test_entrypoint_wrapper.py index 35a8b300fb12..87a1e5c4a167 100644 --- a/airbyte-cdk/python/unit_tests/test/test_entrypoint_wrapper.py +++ b/airbyte-cdk/python/unit_tests/test/test_entrypoint_wrapper.py @@ -3,15 +3,16 @@ import json import logging import os -from typing import Any, Iterator, List, Mapping +from typing import Any, Iterator, List, Mapping, Optional from unittest import TestCase from unittest.mock import Mock, patch from airbyte_cdk.sources.abstract_source import AbstractSource -from airbyte_cdk.test.entrypoint_wrapper import read +from airbyte_cdk.test.entrypoint_wrapper import discover, read from airbyte_cdk.test.state_builder import StateBuilder from airbyte_protocol.models import ( AirbyteAnalyticsTraceMessage, + AirbyteCatalog, AirbyteErrorTraceMessage, AirbyteLogMessage, AirbyteMessage, @@ -48,6 +49,10 @@ def _a_status_message(stream_name: str, status: AirbyteStreamStatus) -> AirbyteM ) +_A_CATALOG_MESSAGE = AirbyteMessage( + type=Type.CATALOG, + catalog=AirbyteCatalog(streams=[]), +) _A_RECORD = AirbyteMessage( type=Type.RECORD, record=AirbyteRecordMessage(stream="stream", data={"record key": "record value"}, emitted_at=0) ) @@ -110,17 +115,93 @@ def _validate_tmp_catalog(expected, file_path) -> None: assert ConfiguredAirbyteCatalog.parse_file(file_path) == expected -def _create_tmp_file_validation(entrypoint, expected_config, expected_catalog, expected_state): +def _create_tmp_file_validation(entrypoint, expected_config, expected_catalog: Optional[Any] = None, expected_state: Optional[Any] = None): def _validate_tmp_files(self): - _validate_tmp_json_file(expected_config, entrypoint.return_value.parse_args.call_args.args[0][2]) - _validate_tmp_catalog(expected_catalog, entrypoint.return_value.parse_args.call_args.args[0][4]) - _validate_tmp_json_file(expected_state, entrypoint.return_value.parse_args.call_args.args[0][6]) + _validate_tmp_json_file(expected_config, entrypoint.parse_args.call_args.args[0][2]) + if expected_catalog: + _validate_tmp_catalog(expected_catalog, entrypoint.parse_args.call_args.args[0][4]) + if expected_state: + _validate_tmp_json_file(expected_state, entrypoint.parse_args.call_args.args[0][6]) return entrypoint.return_value.run.return_value return _validate_tmp_files -class EntrypointWrapperTest(TestCase): +class EntrypointWrapperDiscoverTest(TestCase): + def setUp(self) -> None: + self._a_source = _a_mocked_source() + + @patch("airbyte_cdk.test.entrypoint_wrapper.AirbyteEntrypoint") + def test_when_discover_then_ensure_parameters(self, entrypoint): + entrypoint.return_value.run.side_effect = _create_tmp_file_validation(entrypoint, _A_CONFIG) + + discover(self._a_source, _A_CONFIG) + + entrypoint.assert_called_once_with(self._a_source) + entrypoint.return_value.run.assert_called_once_with(entrypoint.parse_args.return_value) + assert entrypoint.parse_args.call_count == 1 + assert entrypoint.parse_args.call_args.args[0][0] == "discover" + assert entrypoint.parse_args.call_args.args[0][1] == "--config" + + @patch("airbyte_cdk.test.entrypoint_wrapper.AirbyteEntrypoint") + def test_when_discover_then_ensure_files_are_temporary(self, entrypoint): + discover(self._a_source, _A_CONFIG) + + assert not os.path.exists(entrypoint.parse_args.call_args.args[0][2]) + + @patch("airbyte_cdk.test.entrypoint_wrapper.AirbyteEntrypoint") + def test_given_logging_during_discover_when_discover_then_output_has_logs(self, entrypoint): + def _do_some_logging(self): + logging.getLogger("any logger").info(_A_LOG_MESSAGE) + return entrypoint.return_value.run.return_value + + entrypoint.return_value.run.side_effect = _do_some_logging + + output = discover(self._a_source, _A_CONFIG) + + assert len(output.logs) == 1 + assert output.logs[0].log.message == _A_LOG_MESSAGE + + @patch("airbyte_cdk.test.entrypoint_wrapper.AirbyteEntrypoint") + def test_given_record_when_discover_then_output_has_record(self, entrypoint): + entrypoint.return_value.run.return_value = _to_entrypoint_output([_A_CATALOG_MESSAGE]) + output = discover(self._a_source, _A_CONFIG) + assert output.catalog == _A_CATALOG_MESSAGE + + @patch("airbyte_cdk.test.entrypoint_wrapper.AirbyteEntrypoint") + def test_given_log_when_discover_then_output_has_log(self, entrypoint): + entrypoint.return_value.run.return_value = _to_entrypoint_output([_A_LOG]) + output = discover(self._a_source, _A_CONFIG) + assert output.logs == [_A_LOG] + + @patch("airbyte_cdk.test.entrypoint_wrapper.AirbyteEntrypoint") + def test_given_trace_message_when_discover_then_output_has_trace_messages(self, entrypoint): + entrypoint.return_value.run.return_value = _to_entrypoint_output([_AN_ANALYTIC_MESSAGE]) + output = discover(self._a_source, _A_CONFIG) + assert output.analytics_messages == [_AN_ANALYTIC_MESSAGE] + + @patch("airbyte_cdk.test.entrypoint_wrapper.print", create=True) + @patch("airbyte_cdk.test.entrypoint_wrapper.AirbyteEntrypoint") + def test_given_unexpected_exception_when_discover_then_print(self, entrypoint, print_mock): + entrypoint.return_value.run.side_effect = ValueError("This error should be printed") + discover(self._a_source, _A_CONFIG) + assert print_mock.call_count > 0 + + @patch("airbyte_cdk.test.entrypoint_wrapper.print", create=True) + @patch("airbyte_cdk.test.entrypoint_wrapper.AirbyteEntrypoint") + def test_given_expected_exception_when_discover_then_do_not_print(self, entrypoint, print_mock): + entrypoint.return_value.run.side_effect = ValueError("This error should not be printed") + discover(self._a_source, _A_CONFIG, expecting_exception=True) + assert print_mock.call_count == 0 + + @patch("airbyte_cdk.test.entrypoint_wrapper.AirbyteEntrypoint") + def test_given_uncaught_exception_when_read_then_output_has_error(self, entrypoint): + entrypoint.return_value.run.side_effect = ValueError("An error") + output = discover(self._a_source, _A_CONFIG) + assert output.errors + + +class EntrypointWrapperReadTest(TestCase): def setUp(self) -> None: self._a_source = _a_mocked_source() @@ -131,19 +212,20 @@ def test_when_read_then_ensure_parameters(self, entrypoint): read(self._a_source, _A_CONFIG, _A_CATALOG, _A_STATE) entrypoint.assert_called_once_with(self._a_source) - entrypoint.return_value.run.assert_called_once_with(entrypoint.return_value.parse_args.return_value) - assert entrypoint.return_value.parse_args.call_count == 1 - assert entrypoint.return_value.parse_args.call_args.args[0][0] == "read" - assert entrypoint.return_value.parse_args.call_args.args[0][1] == "--config" - assert entrypoint.return_value.parse_args.call_args.args[0][3] == "--catalog" + entrypoint.return_value.run.assert_called_once_with(entrypoint.parse_args.return_value) + assert entrypoint.parse_args.call_count == 1 + assert entrypoint.parse_args.call_args.args[0][0] == "read" + assert entrypoint.parse_args.call_args.args[0][1] == "--config" + assert entrypoint.parse_args.call_args.args[0][3] == "--catalog" + assert entrypoint.parse_args.call_args.args[0][5] == "--state" @patch("airbyte_cdk.test.entrypoint_wrapper.AirbyteEntrypoint") def test_when_read_then_ensure_files_are_temporary(self, entrypoint): read(self._a_source, _A_CONFIG, _A_CATALOG, _A_STATE) - assert not os.path.exists(entrypoint.return_value.parse_args.call_args.args[0][2]) - assert not os.path.exists(entrypoint.return_value.parse_args.call_args.args[0][4]) - assert not os.path.exists(entrypoint.return_value.parse_args.call_args.args[0][6]) + assert not os.path.exists(entrypoint.parse_args.call_args.args[0][2]) + assert not os.path.exists(entrypoint.parse_args.call_args.args[0][4]) + assert not os.path.exists(entrypoint.parse_args.call_args.args[0][6]) @patch("airbyte_cdk.test.entrypoint_wrapper.AirbyteEntrypoint") def test_given_logging_during_run_when_read_then_output_has_logs(self, entrypoint): @@ -229,12 +311,12 @@ def test_given_unexpected_exception_when_read_then_print(self, entrypoint, print @patch("airbyte_cdk.test.entrypoint_wrapper.print", create=True) @patch("airbyte_cdk.test.entrypoint_wrapper.AirbyteEntrypoint") def test_given_expected_exception_when_read_then_do_not_print(self, entrypoint, print_mock): - entrypoint.return_value.run.side_effect = ValueError("This error should be printed") + entrypoint.return_value.run.side_effect = ValueError("This error should not be printed") read(self._a_source, _A_CONFIG, _A_CATALOG, _A_STATE, expecting_exception=True) assert print_mock.call_count == 0 @patch("airbyte_cdk.test.entrypoint_wrapper.AirbyteEntrypoint") def test_given_uncaught_exception_when_read_then_output_has_error(self, entrypoint): - entrypoint.return_value.run.side_effect = ValueError("This error should be printed") + entrypoint.return_value.run.side_effect = ValueError("An error") output = read(self._a_source, _A_CONFIG, _A_CATALOG, _A_STATE) assert output.errors diff --git a/airbyte-ci/connectors/pipelines/README.md b/airbyte-ci/connectors/pipelines/README.md index b5c601fd4404..6d61942e3c91 100644 --- a/airbyte-ci/connectors/pipelines/README.md +++ b/airbyte-ci/connectors/pipelines/README.md @@ -791,10 +791,11 @@ E.G.: running Poe tasks on the modified internal packages of the current branch: ## Changelog | Version | PR | Description | -|---------|------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------| -| 4.17.0 | [#39321](https://github.com/airbytehq/airbyte/pull/39321) | Bust the java connector build cache flow to get fresh yum packages on a daily basis. | -| 4.16.0 | [#38772](https://github.com/airbytehq/airbyte/pull/38232) | Add pipeline to replace usage of AirbyteLogger. | -| 4.15.7 | [#38772](https://github.com/airbytehq/airbyte/pull/38772) | Fix regression test connector image retrieval. | +| ------- | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| 4.18.0 | [#39366](https://github.com/airbytehq/airbyte/pull/39366) | Implement IncrementalAcceptance tests to only fail CI on community connectors when there's an Acceptance tests regression. | +| 4.17.0 | [#39321](https://github.com/airbytehq/airbyte/pull/39321) | Bust the java connector build cache flow to get fresh yum packages on a daily basis. | +| 4.16.0 | [#38772](https://github.com/airbytehq/airbyte/pull/38232) | Add pipeline to replace usage of AirbyteLogger. | +| 4.15.7 | [#38772](https://github.com/airbytehq/airbyte/pull/38772) | Fix regression test connector image retrieval. | | 4.15.6 | [#38783](https://github.com/airbytehq/airbyte/pull/38783) | Fix a variable access error with `repo_dir` in the `bump_version` command. | | 4.15.5 | [#38732](https://github.com/airbytehq/airbyte/pull/38732) | Update metadata deploy pipeline to 3.10 | | 4.15.4 | [#38646](https://github.com/airbytehq/airbyte/pull/38646) | Make airbyte-ci able to test external repos. | diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/consts.py b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/consts.py index 43d178ee82ba..dfddd5d9d9a2 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/consts.py +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/consts.py @@ -9,6 +9,7 @@ class CONNECTOR_TEST_STEP_ID(str, Enum): """ ACCEPTANCE = "acceptance" + INCREMENTAL_ACCEPTANCE = "incremental_acceptance" BUILD_NORMALIZATION = "build_normalization" BUILD_TAR = "build_tar" BUILD = "build" diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py index 4115254806fe..d6a37f9d069b 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py @@ -5,13 +5,14 @@ """This module groups steps made to run tests agnostic to a connector language.""" import datetime +import json import os import time from abc import ABC, abstractmethod from functools import cached_property from pathlib import Path from textwrap import dedent -from typing import ClassVar, List, Optional +from typing import ClassVar, List, Optional, Set import requests # type: ignore import semver @@ -24,10 +25,10 @@ from pipelines.consts import INTERNAL_TOOL_PATHS, CIContext from pipelines.dagger.actions import secrets from pipelines.dagger.actions.python.poetry import with_poetry -from pipelines.helpers.utils import METADATA_FILE_NAME, get_exec_result +from pipelines.helpers.utils import METADATA_FILE_NAME, get_exec_result, slugify +from pipelines.models.artifacts import Artifact from pipelines.models.secrets import Secret from pipelines.models.steps import STEP_PARAMS, MountPath, Step, StepResult, StepStatus -from slugify import slugify class VersionCheck(Step, ABC): @@ -176,6 +177,7 @@ class AcceptanceTests(Step): title = "Acceptance tests" CONTAINER_TEST_INPUT_DIRECTORY = "/test_input" CONTAINER_SECRETS_DIRECTORY = "/test_input/secrets" + REPORT_LOG_PATH = "/tmp/report_log.jsonl" skipped_exit_code = 5 accept_extra_params = True @@ -198,6 +200,8 @@ def base_cat_command(self) -> List[str]: "python", "-m", "pytest", + # Write the test report in jsonl format + f"--report-log={self.REPORT_LOG_PATH}", "-p", # Load the connector_acceptance_test plugin "connector_acceptance_test.plugin", "--acceptance-test-config", @@ -284,7 +288,6 @@ async def _build_connector_acceptance_test(self, connector_under_test_container: cat_container = self.dagger_client.container().from_(self.context.connector_acceptance_test_image) connector_container_id = await connector_under_test_container.id() - cat_container = ( cat_container.with_env_variable("RUN_IN_AIRBYTE_CI", "1") .with_exec(["mkdir", "/dagger_share"], skip_entrypoint=True) @@ -304,6 +307,137 @@ async def _build_connector_acceptance_test(self, connector_under_test_container: return cat_container.with_unix_socket("/var/run/docker.sock", self.context.dagger_client.host().unix_socket("/var/run/docker.sock")) + def get_is_hard_failure(self) -> bool: + """When a connector is not certified or the CI context is master, we consider the acceptance tests as hard failures: + The overall status of the pipeline will be FAILURE if the acceptance tests fail. + For marketplace connectors we defer to the IncrementalAcceptanceTests step to determine if the acceptance tests are hard failures: + If a new test is failing compared to the released version of the connector. + + Returns: + bool: Whether a failure of acceptance tests should be considered a hard failures. + """ + return self.context.connector.metadata.get("supportLevel") == "certified" or self.context.ci_context == CIContext.MASTER + + async def get_step_result(self, container: Container) -> StepResult: + """Retrieve stdout, stderr and exit code from the executed CAT container. + Pull the report logs from the container and create an Artifact object from it. + Build and return a step result object from these objects. + + Args: + container (Container): The CAT container to get the results from. + + Returns: + StepResult: The step result object. + """ + exit_code, stdout, stderr = await get_exec_result(container) + report_log_artifact = Artifact( + name="cat_report_log.jsonl", + content_type="text/jsonl", + content=container.file(self.REPORT_LOG_PATH), + to_upload=True, + ) + status = self.get_step_status_from_exit_code(exit_code) + + is_hard_failure = status is StepStatus.FAILURE and self.get_is_hard_failure() + + return StepResult( + step=self, + status=self.get_step_status_from_exit_code(exit_code), + stderr=stderr, + stdout=stdout, + output={"report_log": report_log_artifact}, + artifacts=[report_log_artifact], + consider_in_overall_status=is_hard_failure, + ) + + +class IncrementalAcceptanceTests(Step): + """This step runs the acceptance tests on the released image of the connector and compares the results with the current acceptance tests report log. + It fails if there are new failing tests in the current acceptance tests report log. + """ + + title = "Incremental Acceptance Tests" + context: ConnectorContext + + async def get_failed_pytest_node_ids(self, current_acceptance_tests_report_log: Artifact) -> Set[str]: + """Parse the report log of the acceptance tests and return the pytest node ids of the failed tests. + + Args: + current_acceptance_tests_report_log (Artifact): The report log of the acceptance tests. + + Returns: + List[str]: The pytest node ids of the failed tests. + """ + current_report_lines = (await current_acceptance_tests_report_log.content.contents()).splitlines() + failed_nodes = set() + for line in current_report_lines: + single_test_report = json.loads(line) + if "nodeid" not in single_test_report or "outcome" not in single_test_report: + continue + if single_test_report["outcome"] == "failed": + failed_nodes.add(single_test_report["nodeid"]) + return failed_nodes + + async def get_result_log_on_master(self) -> Artifact: + """Runs acceptance test on the released image of the connector and returns the report log. + The released image version is fetched from the master metadata file of the connector. + We're not using the online connector registry here as some connectors might not be released to OSS nor Airbyte Cloud. + Thanks to Dagger caching subsequent runs of this step will be cached if the released image did not change. + + Returns: + Artifact: The report log of the acceptance tests run on the released image. + """ + raw_master_metadata = requests.get( + f"https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-integrations/connectors/{self.context.connector.technical_name}/metadata.yaml" + ) + master_metadata = yaml.safe_load(raw_master_metadata.text) + master_docker_image_tag = master_metadata["data"]["dockerImageTag"] + released_image = f'{master_metadata["data"]["dockerRepository"]}:{master_docker_image_tag}' + released_container = self.dagger_client.container().from_(released_image) + self.logger.info(f"Running acceptance tests on released image: {released_image}") + acceptance_tests_results_on_master = await AcceptanceTests(self.context, self.secrets).run(released_container) + return acceptance_tests_results_on_master.output["report_log"] + + async def _run(self, current_acceptance_tests_result: StepResult) -> StepResult: + """Compare the acceptance tests report log of the current image with the one of the released image. + Fails if there are new failing tests in the current acceptance tests report log. + """ + if current_acceptance_tests_result.consider_in_overall_status: + return StepResult( + step=self, status=StepStatus.SKIPPED, stdout="Skipping because the current acceptance tests are hard failures." + ) + + current_acceptance_tests_report_log = current_acceptance_tests_result.output["report_log"] + current_failing_nodes = await self.get_failed_pytest_node_ids(current_acceptance_tests_report_log) + if not current_failing_nodes: + return StepResult( + step=self, status=StepStatus.SKIPPED, stdout="No failing acceptance tests were detected on the current version." + ) + + master_failings = await self.get_failed_pytest_node_ids(await self.get_result_log_on_master()) + new_failing_nodes = current_failing_nodes - master_failings + if not new_failing_nodes: + return StepResult( + step=self, + status=StepStatus.SUCCESS, + stdout=dedent( + f""" + No new failing acceptance tests were detected. + Acceptance tests are still failing with {len(current_failing_nodes)} failing tests but the AcceptanceTests step is not a hard failure for this connector. + Please checkout the original acceptance tests failures and assess how critical they are. + """ + ), + ) + else: + return StepResult( + step=self, + status=StepStatus.FAILURE, + stdout=f"{len(new_failing_nodes)} new failing acceptance tests detected:\n-" + + "\n-".join(current_failing_nodes) + + "\nPlease fix the new failing tests before merging this PR." + + f"\nPlease also check the original {len(current_failing_nodes)} acceptance tests failures and assess how critical they are.", + ) + class RegressionTests(Step): """A step to run regression tests for a connector.""" diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/python_connectors.py b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/python_connectors.py index a5aa433846a0..ef3e337ac583 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/python_connectors.py +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/python_connectors.py @@ -15,7 +15,7 @@ from pipelines.airbyte_ci.connectors.build_image.steps.python_connectors import BuildConnectorImages from pipelines.airbyte_ci.connectors.consts import CONNECTOR_TEST_STEP_ID from pipelines.airbyte_ci.connectors.test.context import ConnectorTestContext -from pipelines.airbyte_ci.connectors.test.steps.common import AcceptanceTests, RegressionTests +from pipelines.airbyte_ci.connectors.test.steps.common import AcceptanceTests, IncrementalAcceptanceTests, RegressionTests from pipelines.consts import LOCAL_BUILD_PLATFORM from pipelines.dagger.actions import secrets from pipelines.dagger.actions.python.poetry import with_poetry @@ -293,4 +293,12 @@ def get_test_steps(context: ConnectorTestContext) -> STEP_TREE: depends_on=[CONNECTOR_TEST_STEP_ID.BUILD], ), ], + [ + StepToRun( + id=CONNECTOR_TEST_STEP_ID.INCREMENTAL_ACCEPTANCE, + step=IncrementalAcceptanceTests(context, secrets=context.get_secrets_for_step_id(CONNECTOR_TEST_STEP_ID.ACCEPTANCE)), + args=lambda results: {"current_acceptance_tests_result": results[CONNECTOR_TEST_STEP_ID.ACCEPTANCE]}, + depends_on=[CONNECTOR_TEST_STEP_ID.ACCEPTANCE], + ) + ], ] diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/templates/test_report.html.j2 b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/templates/test_report.html.j2 index e73fac6519ab..409d5c489735 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/templates/test_report.html.j2 +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/templates/test_report.html.j2 @@ -162,7 +162,11 @@ function copyToClipBoard(htmlElement) { {% if step_result.status == StepStatus.SUCCESS %} {% elif step_result.status == StepStatus.FAILURE %} + {% if not step_result.consider_in_overall_status %} + + {% else %} + {% endif %} {% else %} {% endif %} diff --git a/airbyte-ci/connectors/pipelines/pipelines/helpers/execution/run_steps.py b/airbyte-ci/connectors/pipelines/pipelines/helpers/execution/run_steps.py index 845f5d2c38a2..7330f99039fc 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/helpers/execution/run_steps.py +++ b/airbyte-ci/connectors/pipelines/pipelines/helpers/execution/run_steps.py @@ -177,7 +177,10 @@ def _step_dependencies_succeeded(step_to_eval: StepToRun, results: RESULTS_DICT) f"Step {step_to_eval.id} depends on {step_id} which has not been run yet. This implies that the order of the steps is not correct. Please check that the steps are in the correct order." ) - return all(results[step_id] and results[step_id].status is StepStatus.SUCCESS for step_id in step_to_eval.depends_on) + return all( + results[step_id] and (results[step_id].status is StepStatus.SUCCESS or not results[step_id].consider_in_overall_status) + for step_id in step_to_eval.depends_on + ) def _filter_skipped_steps(steps_to_evaluate: STEP_TREE, skip_steps: List[str], results: RESULTS_DICT) -> Tuple[STEP_TREE, RESULTS_DICT]: @@ -301,7 +304,7 @@ async def run_steps( options.log_step_tree = False # If any of the previous steps failed, skip the remaining steps - if options.fail_fast and any(result.status is StepStatus.FAILURE for result in results.values()): + if options.fail_fast and any(result.status is StepStatus.FAILURE and result.consider_in_overall_status for result in results.values()): skipped_results = _skip_remaining_steps(runnables) return {**results, **skipped_results} diff --git a/airbyte-ci/connectors/pipelines/pipelines/models/contexts/pipeline_context.py b/airbyte-ci/connectors/pipelines/pipelines/models/contexts/pipeline_context.py index fd78c7d02c17..ec9b07e62ec6 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/models/contexts/pipeline_context.py +++ b/airbyte-ci/connectors/pipelines/pipelines/models/contexts/pipeline_context.py @@ -295,7 +295,7 @@ def determine_final_state(report: Optional[Report], exception_value: Optional[Ba """ if exception_value is not None or report is None: return ContextState.ERROR - if report is not None and report.failed_steps: + if report is not None and report.considered_failed_steps: return ContextState.FAILURE if report is not None and report.success: return ContextState.SUCCESSFUL diff --git a/airbyte-ci/connectors/pipelines/pipelines/models/reports.py b/airbyte-ci/connectors/pipelines/pipelines/models/reports.py index 744c01b21084..5d884398653f 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/models/reports.py +++ b/airbyte-ci/connectors/pipelines/pipelines/models/reports.py @@ -60,6 +60,10 @@ def json_report_remote_storage_key(self) -> str: def failed_steps(self) -> List[StepResult]: return [step_result for step_result in self.steps_results if step_result.status is StepStatus.FAILURE] + @property + def considered_failed_steps(self) -> List[StepResult]: + return [step_result for step_result in self.failed_steps if step_result.consider_in_overall_status] + @property def successful_steps(self) -> List[StepResult]: return [step_result for step_result in self.steps_results if step_result.status is StepStatus.SUCCESS] @@ -70,7 +74,7 @@ def skipped_steps(self) -> List[StepResult]: @property def success(self) -> bool: - return len(self.failed_steps) == 0 and (len(self.skipped_steps) > 0 or len(self.successful_steps) > 0) + return len(self.considered_failed_steps) == 0 and (len(self.skipped_steps) > 0 or len(self.successful_steps) > 0) @property def run_duration(self) -> timedelta: diff --git a/airbyte-ci/connectors/pipelines/pipelines/models/steps.py b/airbyte-ci/connectors/pipelines/pipelines/models/steps.py index 9b8e635d1a3f..e494be43d787 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/models/steps.py +++ b/airbyte-ci/connectors/pipelines/pipelines/models/steps.py @@ -88,6 +88,7 @@ class StepResult(Result): """A dataclass to capture the result of a step.""" step: Step + consider_in_overall_status: bool = True def __repr__(self) -> str: # noqa D105 return f"{self.step.title}: {self.status.value}" diff --git a/airbyte-ci/connectors/pipelines/pyproject.toml b/airbyte-ci/connectors/pipelines/pyproject.toml index 57a1731bf3bc..2712116fc644 100644 --- a/airbyte-ci/connectors/pipelines/pyproject.toml +++ b/airbyte-ci/connectors/pipelines/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "pipelines" -version = "4.17.0" +version = "4.18.0" description = "Packaged maintained by the connector operations team to perform CI for connectors' pipelines" authors = ["Airbyte "] diff --git a/airbyte-integrations/bases/connector-acceptance-test/poetry.lock b/airbyte-integrations/bases/connector-acceptance-test/poetry.lock index 6b3dde11286f..c2228af3cce8 100644 --- a/airbyte-integrations/bases/connector-acceptance-test/poetry.lock +++ b/airbyte-integrations/bases/connector-acceptance-test/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. [[package]] name = "airbyte-protocol-models" @@ -1128,6 +1128,23 @@ pytest = ">=5.0" [package.extras] dev = ["pre-commit", "pytest-asyncio", "tox"] +[[package]] +name = "pytest-reportlog" +version = "0.4.0" +description = "Replacement for the --resultlog option, focused in simplicity and extensibility" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pytest-reportlog-0.4.0.tar.gz", hash = "sha256:c9f2079504ee51f776d3118dcf5e4730f163d3dcf26ebc8f600c1fa307bf638c"}, + {file = "pytest_reportlog-0.4.0-py3-none-any.whl", hash = "sha256:5db4d00586546d8c6b95c66466629f1e913440c36d97795a673d2e19c5cedd5c"}, +] + +[package.dependencies] +pytest = "*" + +[package.extras] +dev = ["pre-commit", "tox"] + [[package]] name = "pytest-sugar" version = "0.9.7" @@ -1243,7 +1260,6 @@ files = [ {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_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, {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"}, @@ -1705,4 +1721,4 @@ multidict = ">=4.0" [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "b013b7907a98562bd2ca96b4597f005a32651e3d9d3721b7b500ab3dc168cd3d" +content-hash = "abf6124ee89aa6c458a237ae4a965e6cd1027cbdd498ca16e44e8471135068b7" diff --git a/airbyte-integrations/bases/connector-acceptance-test/pyproject.toml b/airbyte-integrations/bases/connector-acceptance-test/pyproject.toml index 5ddea88b8b22..8a11d0642728 100644 --- a/airbyte-integrations/bases/connector-acceptance-test/pyproject.toml +++ b/airbyte-integrations/bases/connector-acceptance-test/pyproject.toml @@ -41,6 +41,7 @@ docker = ">=6,<7" urllib3 = "<2.0" requests = "^2.31" pytest-xdist = "^3.3.1" +pytest-reportlog = "^0.4.0" [tool.poe.tasks] test = "pytest unit_tests" diff --git a/airbyte-integrations/connectors/destination-snowflake/metadata.yaml b/airbyte-integrations/connectors/destination-snowflake/metadata.yaml index 4fdf45a801df..d32c083e1882 100644 --- a/airbyte-integrations/connectors/destination-snowflake/metadata.yaml +++ b/airbyte-integrations/connectors/destination-snowflake/metadata.yaml @@ -5,7 +5,7 @@ data: connectorSubtype: database connectorType: destination definitionId: 424892c4-daac-4491-b35d-c6688ba547ba - dockerImageTag: 3.10.0 + dockerImageTag: 3.10.1 dockerRepository: airbyte/destination-snowflake documentationUrl: https://docs.airbyte.com/integrations/destinations/snowflake githubIssueLabel: destination-snowflake diff --git a/airbyte-integrations/connectors/destination-snowflake/src/main/kotlin/io/airbyte/integrations/destination/snowflake/migrations/SnowflakeAbMetaAndGenIdMigration.kt b/airbyte-integrations/connectors/destination-snowflake/src/main/kotlin/io/airbyte/integrations/destination/snowflake/migrations/SnowflakeAbMetaAndGenIdMigration.kt index 7f1481009ac8..f67b038f16fe 100644 --- a/airbyte-integrations/connectors/destination-snowflake/src/main/kotlin/io/airbyte/integrations/destination/snowflake/migrations/SnowflakeAbMetaAndGenIdMigration.kt +++ b/airbyte-integrations/connectors/destination-snowflake/src/main/kotlin/io/airbyte/integrations/destination/snowflake/migrations/SnowflakeAbMetaAndGenIdMigration.kt @@ -25,18 +25,11 @@ class SnowflakeAbMetaAndGenIdMigration(private val database: JdbcDatabase) : stream: StreamConfig, state: DestinationInitialStatus ): Migration.MigrationResult { - if (state.destinationState.isAirbyteMetaPresentInRaw) { - log.info { - "Skipping airbyte_meta/generation_id migration for ${stream.id.originalNamespace}.${stream.id.originalName} " + - "because previous destination state has isAirbyteMetaPresent" - } - return Migration.MigrationResult(state.destinationState, false) - } - if (!state.initialRawTableStatus.rawTableExists) { // The raw table doesn't exist. No migration necessary. Update the state. log.info { - "Skipping airbyte_meta/generation_id migration for ${stream.id.originalNamespace}.${stream.id.originalName} because the raw table doesn't exist" + "Skipping airbyte_meta/generation_id migration for ${stream.id.originalNamespace}.${stream.id.originalName} " + + "because the raw table doesn't exist for sync mode ${stream.destinationSyncMode}" } return Migration.MigrationResult( state.destinationState.copy(isAirbyteMetaPresentInRaw = true), diff --git a/airbyte-integrations/connectors/destination-snowflake/src/main/kotlin/io/airbyte/integrations/destination/snowflake/typing_deduping/SnowflakeDestinationHandler.kt b/airbyte-integrations/connectors/destination-snowflake/src/main/kotlin/io/airbyte/integrations/destination/snowflake/typing_deduping/SnowflakeDestinationHandler.kt index 68761a5dbe24..b67205dd4f0a 100644 --- a/airbyte-integrations/connectors/destination-snowflake/src/main/kotlin/io/airbyte/integrations/destination/snowflake/typing_deduping/SnowflakeDestinationHandler.kt +++ b/airbyte-integrations/connectors/destination-snowflake/src/main/kotlin/io/airbyte/integrations/destination/snowflake/typing_deduping/SnowflakeDestinationHandler.kt @@ -25,7 +25,6 @@ import io.airbyte.integrations.base.destination.typing_deduping.Union import io.airbyte.integrations.base.destination.typing_deduping.UnsupportedOneOf import io.airbyte.integrations.destination.snowflake.SnowflakeDatabaseUtils import io.airbyte.integrations.destination.snowflake.migrations.SnowflakeState -import io.airbyte.protocol.models.v0.DestinationSyncMode import java.sql.Connection import java.sql.DatabaseMetaData import java.sql.ResultSet @@ -86,16 +85,8 @@ class SnowflakeDestinationHandler( @Throws(Exception::class) private fun getInitialRawTableState( id: StreamId, - destinationSyncMode: DestinationSyncMode ): InitialRawTableStatus { // Short-circuit for overwrite, table will be truncated anyway - if (destinationSyncMode == DestinationSyncMode.OVERWRITE) { - return InitialRawTableStatus( - rawTableExists = false, - hasUnprocessedRecords = false, - maxProcessedTimestamp = Optional.empty() - ) - } val tableExists = database.executeMetadataQuery { databaseMetaData: DatabaseMetaData -> LOGGER.info("Retrieving table from Db metadata: {} {}", id.rawNamespace, id.rawName) @@ -397,8 +388,7 @@ class SnowflakeDestinationHandler( !existingSchemaMatchesStreamConfig(streamConfig, existingTable!!) isFinalTableEmpty = hasRowCount && tableRowCounts[namespace]!![name] == 0 } - val initialRawTableState = - getInitialRawTableState(streamConfig.id, streamConfig.destinationSyncMode) + val initialRawTableState = getInitialRawTableState(streamConfig.id) val destinationState = destinationStates.getOrDefault( streamConfig.id.asPair(), diff --git a/airbyte-integrations/connectors/destination-snowflake/src/test-integration/kotlin/io/airbyte/integrations/destination/snowflake/typing_deduping/AbstractSnowflakeTypingDedupingTest.kt b/airbyte-integrations/connectors/destination-snowflake/src/test-integration/kotlin/io/airbyte/integrations/destination/snowflake/typing_deduping/AbstractSnowflakeTypingDedupingTest.kt index ac7367878b0b..b178ffe73001 100644 --- a/airbyte-integrations/connectors/destination-snowflake/src/test-integration/kotlin/io/airbyte/integrations/destination/snowflake/typing_deduping/AbstractSnowflakeTypingDedupingTest.kt +++ b/airbyte-integrations/connectors/destination-snowflake/src/test-integration/kotlin/io/airbyte/integrations/destination/snowflake/typing_deduping/AbstractSnowflakeTypingDedupingTest.kt @@ -25,6 +25,7 @@ import javax.sql.DataSource import kotlin.concurrent.Volatile import org.junit.jupiter.api.Assertions import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Assertions.assertThrows import org.junit.jupiter.api.Test abstract class AbstractSnowflakeTypingDedupingTest : BaseTypingDedupingTest() { @@ -336,6 +337,82 @@ abstract class AbstractSnowflakeTypingDedupingTest : BaseTypingDedupingTest() { } } + @Test + fun testAirbyteMetaAndGenerationIdMigrationForOverwrite() { + val catalog = + ConfiguredAirbyteCatalog() + .withStreams( + listOf( + ConfiguredAirbyteStream() + .withSyncMode(SyncMode.FULL_REFRESH) + .withDestinationSyncMode(DestinationSyncMode.OVERWRITE) + .withSyncId(42L) + .withGenerationId(43L) + .withMinimumGenerationId(0L) + .withStream( + AirbyteStream() + .withNamespace(streamNamespace) + .withName(streamName) + .withJsonSchema(BaseTypingDedupingTest.Companion.SCHEMA), + ), + ), + ) + + // First sync + val messages1 = readMessages("dat/sync1_messages.jsonl") + runSync(catalog, messages1, "airbyte/destination-snowflake:3.9.1") + + // Second sync + val messages2 = readMessages("dat/sync2_messages.jsonl") + runSync(catalog, messages2) + + val expectedRawRecords2 = readRecords("dat/sync2_expectedrecords_overwrite_raw.jsonl") + val expectedFinalRecords2 = + readRecords("dat/sync2_expectedrecords_fullrefresh_overwrite_final.jsonl") + verifySyncResult(expectedRawRecords2, expectedFinalRecords2, disableFinalTableComparison()) + } + + @Test + fun testAirbyteMetaAndGenerationIdMigrationForOverwrite310Broken() { + val catalog = + ConfiguredAirbyteCatalog() + .withStreams( + listOf( + ConfiguredAirbyteStream() + .withSyncMode(SyncMode.FULL_REFRESH) + .withDestinationSyncMode(DestinationSyncMode.OVERWRITE) + .withSyncId(42L) + .withGenerationId(43L) + .withMinimumGenerationId(0L) + .withStream( + AirbyteStream() + .withNamespace(streamNamespace) + .withName(streamName) + .withJsonSchema(BaseTypingDedupingTest.Companion.SCHEMA), + ), + ), + ) + + // First sync + val messages1 = readMessages("dat/sync1_messages.jsonl") + runSync(catalog, messages1, "airbyte/destination-snowflake:3.9.1") + + // Second sync + // This throws exception due to a broken migration in connector + assertThrows(TestHarnessException::class.java) { + runSync(catalog, messages1, "airbyte/destination-snowflake:3.10.0") + } + + // Third sync + val messages2 = readMessages("dat/sync2_messages.jsonl") + runSync(catalog, messages2) + + val expectedRawRecords2 = readRecords("dat/sync2_expectedrecords_overwrite_raw.jsonl") + val expectedFinalRecords2 = + readRecords("dat/sync2_expectedrecords_fullrefresh_overwrite_final.jsonl") + verifySyncResult(expectedRawRecords2, expectedFinalRecords2, disableFinalTableComparison()) + } + private val defaultSchema: String get() = config!!["schema"].asText() diff --git a/airbyte-integrations/connectors/destination-snowflake/src/test-integration/resources/dat/sync2_expectedrecords_overwrite_raw.jsonl b/airbyte-integrations/connectors/destination-snowflake/src/test-integration/resources/dat/sync2_expectedrecords_overwrite_raw.jsonl new file mode 100644 index 000000000000..274308c86e0f --- /dev/null +++ b/airbyte-integrations/connectors/destination-snowflake/src/test-integration/resources/dat/sync2_expectedrecords_overwrite_raw.jsonl @@ -0,0 +1,4 @@ +// Only sync2 messages present in overwrite mode +{"_airbyte_extracted_at": "1970-01-01T00:00:02.000000000Z", "_airbyte_data": {"id1": 1, "id2": 200, "updated_at": "2000-01-02T00:00:00Z", "_ab_cdc_deleted_at": null, "name": "Alice", "address": {"city": "Seattle", "state": "WA"}}, "_airbyte_meta": {"changes":[],"sync_id":42}, "_airbyte_generation_id": 43} +{"_airbyte_extracted_at": "1970-01-01T00:00:02.000000000Z", "_airbyte_data": {"id1": 1, "id2": 201, "updated_at": "2000-01-02T00:00:00Z", "_ab_cdc_deleted_at": null, "name": "Bob", "address": {"city": "New York", "state": "NY"}}, "_airbyte_meta": {"changes":[],"sync_id":42}, "_airbyte_generation_id": 43} +{"_airbyte_extracted_at": "1970-01-01T00:00:02.000000000Z", "_airbyte_data": {"id1": 1, "id2": 201, "updated_at": "2000-01-02T00:01:00Z", "_ab_cdc_deleted_at": "1970-01-01T00:00:00Z"}, "_airbyte_meta": {"changes":[],"sync_id":42}, "_airbyte_generation_id": 43} diff --git a/airbyte-integrations/connectors/source-aha/metadata.yaml b/airbyte-integrations/connectors/source-aha/metadata.yaml index 60278d036faa..aab05b478c0a 100644 --- a/airbyte-integrations/connectors/source-aha/metadata.yaml +++ b/airbyte-integrations/connectors/source-aha/metadata.yaml @@ -15,11 +15,11 @@ data: # Please update to the latest version of the connector base image. # https://hub.docker.com/r/airbyte/python-connector-base # Please use the full address with sha256 hash to guarantee build reproducibility. - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 connectorSubtype: api connectorType: source definitionId: 81ca39dc-4534-4dd2-b848-b0cfd2c11fce - dockerImageTag: 0.3.2 + dockerImageTag: 0.3.3 dockerRepository: airbyte/source-aha documentationUrl: https://docs.airbyte.com/integrations/sources/aha githubIssueLabel: source-aha diff --git a/airbyte-integrations/connectors/source-aha/pyproject.toml b/airbyte-integrations/connectors/source-aha/pyproject.toml index 9b7205cc6784..8f571e8ab2d4 100644 --- a/airbyte-integrations/connectors/source-aha/pyproject.toml +++ b/airbyte-integrations/connectors/source-aha/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.3.2" +version = "0.3.3" name = "source-aha" description = "Source implementation for aha." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-aircall/Dockerfile b/airbyte-integrations/connectors/source-aircall/Dockerfile deleted file mode 100644 index 95704317f229..000000000000 --- a/airbyte-integrations/connectors/source-aircall/Dockerfile +++ /dev/null @@ -1,38 +0,0 @@ -FROM python:3.9.11-alpine3.15 as base - -# build and load all requirements -FROM base as builder -WORKDIR /airbyte/integration_code - -# upgrade pip to the latest version -RUN apk --no-cache upgrade \ - && pip install --upgrade pip \ - && apk --no-cache add tzdata build-base - - -COPY setup.py ./ -# install necessary packages to a temporary folder -RUN pip install --prefix=/install . - -# build a clean environment -FROM base -WORKDIR /airbyte/integration_code - -# copy all loaded and built libraries to a pure basic image -COPY --from=builder /install /usr/local -# add default timezone settings -COPY --from=builder /usr/share/zoneinfo/Etc/UTC /etc/localtime -RUN echo "Etc/UTC" > /etc/timezone - -# bash is installed for more convenient debugging. -RUN apk --no-cache add bash - -# copy payload code only -COPY main.py ./ -COPY source_aircall ./source_aircall - -ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py" -ENTRYPOINT ["python", "/airbyte/integration_code/main.py"] - -LABEL io.airbyte.version=0.2.0 -LABEL io.airbyte.name=airbyte/source-aircall diff --git a/airbyte-integrations/connectors/source-aircall/README.md b/airbyte-integrations/connectors/source-aircall/README.md index 889154ea3d8b..2ce5468dadc6 100644 --- a/airbyte-integrations/connectors/source-aircall/README.md +++ b/airbyte-integrations/connectors/source-aircall/README.md @@ -1,42 +1,56 @@ -# Aircall Source +# Aircall source connector -This is the repository for the Aircall configuration based source connector. + +This is the repository for the Aircall source connector, written in Python. For information about how to use this connector within Airbyte, see [the documentation](https://docs.airbyte.com/integrations/sources/aircall). ## Local development -#### Create credentials +### Prerequisites +* Python (~=3.9) +* Poetry (~=1.7) - installation instructions [here](https://python-poetry.org/docs/#installation) + + +### Installing the connector +From this connector directory, run: +```bash +poetry install --with dev +``` + +### Create credentials **If you are a community contributor**, follow the instructions in the [documentation](https://docs.airbyte.com/integrations/sources/aircall) to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `source_aircall/spec.yaml` file. Note that any directory named `secrets` is gitignored across the entire Airbyte repo, so there is no danger of accidentally checking in sensitive information. -See `integration_tests/sample_config.json` for a sample config file. +See `sample_files/sample_config.json` for a sample config file. -**If you are an Airbyte core member**, copy the credentials in Lastpass under the secret name `source aircall test creds` -and place them into `secrets/config.json`. -### Locally running the connector docker image - -#### Build +### Locally running the connector +``` +poetry run source-aircall spec +poetry run source-aircall check --config secrets/config.json +poetry run source-aircall discover --config secrets/config.json +poetry run source-aircall read --config secrets/config.json --catalog sample_files/configured_catalog.json +``` -**Via [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md) (recommended):** +### Running unit tests +To run unit tests locally, from the connector directory run: +``` +poetry run pytest unit_tests +``` +### Building the docker image +1. Install [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md) +2. Run the following command to build the docker image: ```bash airbyte-ci connectors --name=source-aircall build ``` -An image will be built with the tag `airbyte/source-aircall:dev`. - -**Via `docker build`:** +An image will be available on your host with the tag `airbyte/source-aircall:dev`. -```bash -docker build -t airbyte/source-aircall:dev . -``` - -#### Run +### Running as a docker container Then run any of the connector commands as follows: - ``` docker run --rm airbyte/source-aircall:dev spec docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-aircall:dev check --config /secrets/config.json @@ -44,35 +58,34 @@ docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-aircall:dev discover - docker run --rm -v $(pwd)/secrets:/secrets -v $(pwd)/integration_tests:/integration_tests airbyte/source-aircall:dev read --config /secrets/config.json --catalog /integration_tests/configured_catalog.json ``` -## Testing - +### Running our CI test suite You can run our full test suite locally using [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md): - ```bash airbyte-ci connectors --name=source-aircall test ``` ### Customizing acceptance Tests - -Customize `acceptance-test-config.yml` file to configure tests. See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) for more information. +Customize `acceptance-test-config.yml` file to configure acceptance tests. See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) for more information. If your connector requires to create or destroy resources for use during acceptance tests create fixtures for it and place them inside integration_tests/acceptance.py. -## Dependency Management - -All of your dependencies should go in `setup.py`, NOT `requirements.txt`. The requirements file is only used to connect internal Airbyte dependencies in the monorepo for local development. -We split dependencies between two groups, dependencies that are: - -- required for your connector to work need to go to `MAIN_REQUIREMENTS` list. -- required for the testing need to go to `TEST_REQUIREMENTS` list +### Dependency Management +All of your dependencies should be managed via Poetry. +To add a new dependency, run: +```bash +poetry add +``` -### Publishing a new version of the connector +Please commit the changes to `pyproject.toml` and `poetry.lock` files. +## Publishing a new version of the connector You've checked out the repo, implemented a million dollar feature, and you're ready to share your changes with the world. Now what? - 1. Make sure your changes are passing our test suite: `airbyte-ci connectors --name=source-aircall test` -2. Bump the connector version in `metadata.yaml`: increment the `dockerImageTag` value. Please follow [semantic versioning for connectors](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#semantic-versioning-for-connectors). +2. Bump the connector version (please follow [semantic versioning for connectors](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#semantic-versioning-for-connectors)): + - bump the `dockerImageTag` value in in `metadata.yaml` + - bump the `version` value in `pyproject.toml` 3. Make sure the `metadata.yaml` content is up to date. -4. Make the connector documentation and its changelog is up to date (`docs/integrations/sources/aircall.md`). +4. Make sure the connector documentation and its changelog is up to date (`docs/integrations/sources/aircall.md`). 5. Create a Pull Request: use [our PR naming conventions](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#pull-request-title-convention). 6. Pat yourself on the back for being an awesome contributor. 7. Someone from Airbyte will take a look at your PR and iterate with you to merge it into master. +8. Once your PR is merged, the new version of the connector will be automatically published to Docker Hub and our connector registry. \ No newline at end of file diff --git a/airbyte-integrations/connectors/source-aircall/metadata.yaml b/airbyte-integrations/connectors/source-aircall/metadata.yaml index 50ca3914878c..5ec9bdf9264c 100644 --- a/airbyte-integrations/connectors/source-aircall/metadata.yaml +++ b/airbyte-integrations/connectors/source-aircall/metadata.yaml @@ -2,7 +2,7 @@ data: connectorSubtype: api connectorType: source definitionId: 912eb6b7-a893-4a5b-b1c0-36ebbe2de8cd - dockerImageTag: 0.2.0 + dockerImageTag: 0.2.1 dockerRepository: airbyte/source-aircall githubIssueLabel: source-aircall icon: aircall.svg @@ -34,4 +34,6 @@ data: secretStore: type: GSM alias: airbyte-connector-testing-secret-store + connectorBuildOptions: + baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 metadataSpecVersion: "1.0" diff --git a/airbyte-integrations/connectors/source-aircall/poetry.lock b/airbyte-integrations/connectors/source-aircall/poetry.lock new file mode 100644 index 000000000000..ff1a76d4a89a --- /dev/null +++ b/airbyte-integrations/connectors/source-aircall/poetry.lock @@ -0,0 +1,1325 @@ +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. + +[[package]] +name = "airbyte-cdk" +version = "0.90.0" +description = "A framework for writing Airbyte Connectors." +optional = false +python-versions = "<4.0,>=3.9" +files = [ + {file = "airbyte_cdk-0.90.0-py3-none-any.whl", hash = "sha256:bd0aa5843cdc4901f2e482f0e86695ca4e6db83b65c5017799255dd20535cf56"}, + {file = "airbyte_cdk-0.90.0.tar.gz", hash = "sha256:25cefc010718bada5cce3f87e7ae93068630732c0d34ce5145f8ddf7457d4d3c"}, +] + +[package.dependencies] +airbyte-protocol-models = ">=0.9.0,<1.0" +backoff = "*" +cachetools = "*" +cryptography = ">=42.0.5,<43.0.0" +Deprecated = ">=1.2,<1.3" +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,<0.3" +jsonschema = ">=3.2.0,<3.3.0" +langchain_core = "0.1.42" +pendulum = "<3.0.0" +pydantic = ">=1.10.8,<2.0.0" +pyjwt = ">=2.8.0,<3.0.0" +pyrate-limiter = ">=3.1.0,<3.2.0" +python-dateutil = "*" +pytz = "2024.1" +PyYAML = ">=6.0.1,<7.0.0" +requests = "*" +requests_cache = "*" +wcmatch = "8.4" + +[package.extras] +file-based = ["avro (>=1.11.2,<1.12.0)", "fastavro (>=1.8.0,<1.9.0)", "markdown", "pdf2image (==1.16.3)", "pdfminer.six (==20221105)", "pyarrow (>=15.0.0,<15.1.0)", "pytesseract (==0.3.10)", "unstructured.pytesseract (>=0.3.12)", "unstructured[docx,pptx] (==0.10.27)"] +sphinx-docs = ["Sphinx (>=4.2,<4.3)", "sphinx-rtd-theme (>=1.0,<1.1)"] +vector-db-based = ["cohere (==4.21)", "langchain (==0.1.16)", "openai[embeddings] (==0.27.9)", "tiktoken (==0.4.0)"] + +[[package]] +name = "airbyte-protocol-models" +version = "0.11.0" +description = "Declares the Airbyte Protocol." +optional = false +python-versions = ">=3.8" +files = [ + {file = "airbyte_protocol_models-0.11.0-py3-none-any.whl", hash = "sha256:2157757c1af8c13e471ab6a0304fd2f9a2a6af8cc9173937be1348a9553f7c32"}, + {file = "airbyte_protocol_models-0.11.0.tar.gz", hash = "sha256:1c7e46251b0d5a292b4aa382df24f415ac2a2a2b4719361b3c0f76368a043c23"}, +] + +[package.dependencies] +pydantic = ">=1.9.2,<2.0.0" + +[[package]] +name = "atomicwrites" +version = "1.4.1" +description = "Atomic file writes." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, +] + +[[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.3" +description = "Extensible memoizing collections and decorators" +optional = false +python-versions = ">=3.7" +files = [ + {file = "cachetools-5.3.3-py3-none-any.whl", hash = "sha256:0abad1021d3f8325b2fc1d2e9c8b9c9d57b04c3932657a72465447332c24d945"}, + {file = "cachetools-5.3.3.tar.gz", hash = "sha256:ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105"}, +] + +[[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" +exceptiongroup = {version = ">=1.1.1", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=4.1.0,<4.6.3 || >4.6.3", markers = "python_version < \"3.11\""} + +[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 = "2024.2.2" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, + {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, +] + +[[package]] +name = "cffi" +version = "1.16.0" +description = "Foreign Function Interface for Python calling C code." +optional = false +python-versions = ">=3.8" +files = [ + {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, + {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, + {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, + {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, + {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, + {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, + {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, + {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, + {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, + {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, + {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, + {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, + {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, + {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, +] + +[package.dependencies] +pycparser = "*" + +[[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 = "cryptography" +version = "42.0.7" +description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." +optional = false +python-versions = ">=3.7" +files = [ + {file = "cryptography-42.0.7-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:a987f840718078212fdf4504d0fd4c6effe34a7e4740378e59d47696e8dfb477"}, + {file = "cryptography-42.0.7-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:bd13b5e9b543532453de08bcdc3cc7cebec6f9883e886fd20a92f26940fd3e7a"}, + {file = "cryptography-42.0.7-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a79165431551042cc9d1d90e6145d5d0d3ab0f2d66326c201d9b0e7f5bf43604"}, + {file = "cryptography-42.0.7-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a47787a5e3649008a1102d3df55424e86606c9bae6fb77ac59afe06d234605f8"}, + {file = "cryptography-42.0.7-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:02c0eee2d7133bdbbc5e24441258d5d2244beb31da5ed19fbb80315f4bbbff55"}, + {file = "cryptography-42.0.7-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:5e44507bf8d14b36b8389b226665d597bc0f18ea035d75b4e53c7b1ea84583cc"}, + {file = "cryptography-42.0.7-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:7f8b25fa616d8b846aef64b15c606bb0828dbc35faf90566eb139aa9cff67af2"}, + {file = "cryptography-42.0.7-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:93a3209f6bb2b33e725ed08ee0991b92976dfdcf4e8b38646540674fc7508e13"}, + {file = "cryptography-42.0.7-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:e6b8f1881dac458c34778d0a424ae5769de30544fc678eac51c1c8bb2183e9da"}, + {file = "cryptography-42.0.7-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:3de9a45d3b2b7d8088c3fbf1ed4395dfeff79d07842217b38df14ef09ce1d8d7"}, + {file = "cryptography-42.0.7-cp37-abi3-win32.whl", hash = "sha256:789caea816c6704f63f6241a519bfa347f72fbd67ba28d04636b7c6b7da94b0b"}, + {file = "cryptography-42.0.7-cp37-abi3-win_amd64.whl", hash = "sha256:8cb8ce7c3347fcf9446f201dc30e2d5a3c898d009126010cbd1f443f28b52678"}, + {file = "cryptography-42.0.7-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:a3a5ac8b56fe37f3125e5b72b61dcde43283e5370827f5233893d461b7360cd4"}, + {file = "cryptography-42.0.7-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:779245e13b9a6638df14641d029add5dc17edbef6ec915688f3acb9e720a5858"}, + {file = "cryptography-42.0.7-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d563795db98b4cd57742a78a288cdbdc9daedac29f2239793071fe114f13785"}, + {file = "cryptography-42.0.7-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:31adb7d06fe4383226c3e963471f6837742889b3c4caa55aac20ad951bc8ffda"}, + {file = "cryptography-42.0.7-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:efd0bf5205240182e0f13bcaea41be4fdf5c22c5129fc7ced4a0282ac86998c9"}, + {file = "cryptography-42.0.7-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a9bc127cdc4ecf87a5ea22a2556cab6c7eda2923f84e4f3cc588e8470ce4e42e"}, + {file = "cryptography-42.0.7-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:3577d029bc3f4827dd5bf8bf7710cac13527b470bbf1820a3f394adb38ed7d5f"}, + {file = "cryptography-42.0.7-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2e47577f9b18723fa294b0ea9a17d5e53a227867a0a4904a1a076d1646d45ca1"}, + {file = "cryptography-42.0.7-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:1a58839984d9cb34c855197043eaae2c187d930ca6d644612843b4fe8513c886"}, + {file = "cryptography-42.0.7-cp39-abi3-win32.whl", hash = "sha256:e6b79d0adb01aae87e8a44c2b64bc3f3fe59515280e00fb6d57a7267a2583cda"}, + {file = "cryptography-42.0.7-cp39-abi3-win_amd64.whl", hash = "sha256:16268d46086bb8ad5bf0a2b5544d8a9ed87a0e33f5e77dd3c3301e63d941a83b"}, + {file = "cryptography-42.0.7-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2954fccea107026512b15afb4aa664a5640cd0af630e2ee3962f2602693f0c82"}, + {file = "cryptography-42.0.7-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:362e7197754c231797ec45ee081f3088a27a47c6c01eff2ac83f60f85a50fe60"}, + {file = "cryptography-42.0.7-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4f698edacf9c9e0371112792558d2f705b5645076cc0aaae02f816a0171770fd"}, + {file = "cryptography-42.0.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5482e789294854c28237bba77c4c83be698be740e31a3ae5e879ee5444166582"}, + {file = "cryptography-42.0.7-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e9b2a6309f14c0497f348d08a065d52f3020656f675819fc405fb63bbcd26562"}, + {file = "cryptography-42.0.7-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d8e3098721b84392ee45af2dd554c947c32cc52f862b6a3ae982dbb90f577f14"}, + {file = "cryptography-42.0.7-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c65f96dad14f8528a447414125e1fc8feb2ad5a272b8f68477abbcc1ea7d94b9"}, + {file = "cryptography-42.0.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:36017400817987670037fbb0324d71489b6ead6231c9604f8fc1f7d008087c68"}, + {file = "cryptography-42.0.7.tar.gz", hash = "sha256:ecbfbc00bf55888edda9868a4cf927205de8499e7fabe6c050322298382953f2"}, +] + +[package.dependencies] +cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""} + +[package.extras] +docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] +docstest = ["pyenchant (>=1.6.11)", "readme-renderer", "sphinxcontrib-spelling (>=4.0.1)"] +nox = ["nox"] +pep8test = ["check-sdist", "click", "mypy", "ruff"] +sdist = ["build"] +ssh = ["bcrypt (>=3.1.5)"] +test = ["certifi", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] +test-randomorder = ["pytest-randomly"] + +[[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 = "exceptiongroup" +version = "1.2.1" +description = "Backport of PEP 654 (exception groups)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.2.1-py3-none-any.whl", hash = "sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad"}, + {file = "exceptiongroup-1.2.1.tar.gz", hash = "sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16"}, +] + +[package.extras] +test = ["pytest (>=6)"] + +[[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.7" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.5" +files = [ + {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, + {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, +] + +[[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.4" +description = "A very fast and expressive template engine." +optional = false +python-versions = ">=3.7" +files = [ + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "jsonpatch" +version = "1.33" +description = "Apply JSON-Patches (RFC 6902)" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" +files = [ + {file = "jsonpatch-1.33-py2.py3-none-any.whl", hash = "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade"}, + {file = "jsonpatch-1.33.tar.gz", hash = "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c"}, +] + +[package.dependencies] +jsonpointer = ">=1.9" + +[[package]] +name = "jsonpointer" +version = "2.4" +description = "Identify specific nodes in a JSON document (RFC 6901)" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" +files = [ + {file = "jsonpointer-2.4-py2.py3-none-any.whl", hash = "sha256:15d51bba20eea3165644553647711d150376234112651b4f1811022aecad7d7a"}, + {file = "jsonpointer-2.4.tar.gz", hash = "sha256:585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88"}, +] + +[[package]] +name = "jsonref" +version = "0.2" +description = "An implementation of JSON Reference for Python" +optional = false +python-versions = "*" +files = [ + {file = "jsonref-0.2-py3-none-any.whl", hash = "sha256:b1e82fa0b62e2c2796a13e5401fe51790b248f6d9bf9d7212a3e31a3501b291f"}, + {file = "jsonref-0.2.tar.gz", hash = "sha256:f3c45b121cf6257eafabdc3a8008763aed1cd7da06dbabc59a9e4d2a5e4e6697"}, +] + +[[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 = "langchain-core" +version = "0.1.42" +description = "Building applications with LLMs through composability" +optional = false +python-versions = "<4.0,>=3.8.1" +files = [ + {file = "langchain_core-0.1.42-py3-none-any.whl", hash = "sha256:c5653ffa08a44f740295c157a24c0def4a753333f6a2c41f76bf431cd00be8b5"}, + {file = "langchain_core-0.1.42.tar.gz", hash = "sha256:40751bf60ea5d8e2b2efe65290db434717ee3834870c002e40e2811f09d814e6"}, +] + +[package.dependencies] +jsonpatch = ">=1.33,<2.0" +langsmith = ">=0.1.0,<0.2.0" +packaging = ">=23.2,<24.0" +pydantic = ">=1,<3" +PyYAML = ">=5.3" +tenacity = ">=8.1.0,<9.0.0" + +[package.extras] +extended-testing = ["jinja2 (>=3,<4)"] + +[[package]] +name = "langsmith" +version = "0.1.60" +description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform." +optional = false +python-versions = "<4.0,>=3.8.1" +files = [ + {file = "langsmith-0.1.60-py3-none-any.whl", hash = "sha256:3c3520ea473de0a984237b3e9d638fdf23ef3acc5aec89a42e693225e72d6120"}, + {file = "langsmith-0.1.60.tar.gz", hash = "sha256:6a145b5454437f9e0f81525f23c4dcdbb8c07b1c91553b8f697456c418d6a599"}, +] + +[package.dependencies] +orjson = ">=3.9.14,<4.0.0" +pydantic = ">=1,<3" +requests = ">=2,<3" + +[[package]] +name = "markupsafe" +version = "2.1.5" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.7" +files = [ + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, +] + +[[package]] +name = "orjson" +version = "3.10.3" +description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" +optional = false +python-versions = ">=3.8" +files = [ + {file = "orjson-3.10.3-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9fb6c3f9f5490a3eb4ddd46fc1b6eadb0d6fc16fb3f07320149c3286a1409dd8"}, + {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:252124b198662eee80428f1af8c63f7ff077c88723fe206a25df8dc57a57b1fa"}, + {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9f3e87733823089a338ef9bbf363ef4de45e5c599a9bf50a7a9b82e86d0228da"}, + {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c8334c0d87103bb9fbbe59b78129f1f40d1d1e8355bbed2ca71853af15fa4ed3"}, + {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1952c03439e4dce23482ac846e7961f9d4ec62086eb98ae76d97bd41d72644d7"}, + {file = "orjson-3.10.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c0403ed9c706dcd2809f1600ed18f4aae50be263bd7112e54b50e2c2bc3ebd6d"}, + {file = "orjson-3.10.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:382e52aa4270a037d41f325e7d1dfa395b7de0c367800b6f337d8157367bf3a7"}, + {file = "orjson-3.10.3-cp310-none-win32.whl", hash = "sha256:be2aab54313752c04f2cbaab4515291ef5af8c2256ce22abc007f89f42f49109"}, + {file = "orjson-3.10.3-cp310-none-win_amd64.whl", hash = "sha256:416b195f78ae461601893f482287cee1e3059ec49b4f99479aedf22a20b1098b"}, + {file = "orjson-3.10.3-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:73100d9abbbe730331f2242c1fc0bcb46a3ea3b4ae3348847e5a141265479700"}, + {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:544a12eee96e3ab828dbfcb4d5a0023aa971b27143a1d35dc214c176fdfb29b3"}, + {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:520de5e2ef0b4ae546bea25129d6c7c74edb43fc6cf5213f511a927f2b28148b"}, + {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ccaa0a401fc02e8828a5bedfd80f8cd389d24f65e5ca3954d72c6582495b4bcf"}, + {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7bc9e8bc11bac40f905640acd41cbeaa87209e7e1f57ade386da658092dc16"}, + {file = "orjson-3.10.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3582b34b70543a1ed6944aca75e219e1192661a63da4d039d088a09c67543b08"}, + {file = "orjson-3.10.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1c23dfa91481de880890d17aa7b91d586a4746a4c2aa9a145bebdbaf233768d5"}, + {file = "orjson-3.10.3-cp311-none-win32.whl", hash = "sha256:1770e2a0eae728b050705206d84eda8b074b65ee835e7f85c919f5705b006c9b"}, + {file = "orjson-3.10.3-cp311-none-win_amd64.whl", hash = "sha256:93433b3c1f852660eb5abdc1f4dd0ced2be031ba30900433223b28ee0140cde5"}, + {file = "orjson-3.10.3-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:a39aa73e53bec8d410875683bfa3a8edf61e5a1c7bb4014f65f81d36467ea098"}, + {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0943a96b3fa09bee1afdfccc2cb236c9c64715afa375b2af296c73d91c23eab2"}, + {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e852baafceff8da3c9defae29414cc8513a1586ad93e45f27b89a639c68e8176"}, + {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18566beb5acd76f3769c1d1a7ec06cdb81edc4d55d2765fb677e3eaa10fa99e0"}, + {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bd2218d5a3aa43060efe649ec564ebedec8ce6ae0a43654b81376216d5ebd42"}, + {file = "orjson-3.10.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cf20465e74c6e17a104ecf01bf8cd3b7b252565b4ccee4548f18b012ff2f8069"}, + {file = "orjson-3.10.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ba7f67aa7f983c4345eeda16054a4677289011a478ca947cd69c0a86ea45e534"}, + {file = "orjson-3.10.3-cp312-none-win32.whl", hash = "sha256:17e0713fc159abc261eea0f4feda611d32eabc35708b74bef6ad44f6c78d5ea0"}, + {file = "orjson-3.10.3-cp312-none-win_amd64.whl", hash = "sha256:4c895383b1ec42b017dd2c75ae8a5b862fc489006afde06f14afbdd0309b2af0"}, + {file = "orjson-3.10.3-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:be2719e5041e9fb76c8c2c06b9600fe8e8584e6980061ff88dcbc2691a16d20d"}, + {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0175a5798bdc878956099f5c54b9837cb62cfbf5d0b86ba6d77e43861bcec2"}, + {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:978be58a68ade24f1af7758626806e13cff7748a677faf95fbb298359aa1e20d"}, + {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16bda83b5c61586f6f788333d3cf3ed19015e3b9019188c56983b5a299210eb5"}, + {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ad1f26bea425041e0a1adad34630c4825a9e3adec49079b1fb6ac8d36f8b754"}, + {file = "orjson-3.10.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:9e253498bee561fe85d6325ba55ff2ff08fb5e7184cd6a4d7754133bd19c9195"}, + {file = "orjson-3.10.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0a62f9968bab8a676a164263e485f30a0b748255ee2f4ae49a0224be95f4532b"}, + {file = "orjson-3.10.3-cp38-none-win32.whl", hash = "sha256:8d0b84403d287d4bfa9bf7d1dc298d5c1c5d9f444f3737929a66f2fe4fb8f134"}, + {file = "orjson-3.10.3-cp38-none-win_amd64.whl", hash = "sha256:8bc7a4df90da5d535e18157220d7915780d07198b54f4de0110eca6b6c11e290"}, + {file = "orjson-3.10.3-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9059d15c30e675a58fdcd6f95465c1522b8426e092de9fff20edebfdc15e1cb0"}, + {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d40c7f7938c9c2b934b297412c067936d0b54e4b8ab916fd1a9eb8f54c02294"}, + {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d4a654ec1de8fdaae1d80d55cee65893cb06494e124681ab335218be6a0691e7"}, + {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:831c6ef73f9aa53c5f40ae8f949ff7681b38eaddb6904aab89dca4d85099cb78"}, + {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99b880d7e34542db89f48d14ddecbd26f06838b12427d5a25d71baceb5ba119d"}, + {file = "orjson-3.10.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2e5e176c994ce4bd434d7aafb9ecc893c15f347d3d2bbd8e7ce0b63071c52e25"}, + {file = "orjson-3.10.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b69a58a37dab856491bf2d3bbf259775fdce262b727f96aafbda359cb1d114d8"}, + {file = "orjson-3.10.3-cp39-none-win32.whl", hash = "sha256:b8d4d1a6868cde356f1402c8faeb50d62cee765a1f7ffcfd6de732ab0581e063"}, + {file = "orjson-3.10.3-cp39-none-win_amd64.whl", hash = "sha256:5102f50c5fc46d94f2033fe00d392588564378260d64377aec702f21a7a22912"}, + {file = "orjson-3.10.3.tar.gz", hash = "sha256:2b166507acae7ba2f7c315dcf185a9111ad5e992ac81f2d507aac39193c2c818"}, +] + +[[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 = "2.1.2" +description = "Python datetimes made easy" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "pendulum-2.1.2-cp27-cp27m-macosx_10_15_x86_64.whl", hash = "sha256:b6c352f4bd32dff1ea7066bd31ad0f71f8d8100b9ff709fb343f3b86cee43efe"}, + {file = "pendulum-2.1.2-cp27-cp27m-win_amd64.whl", hash = "sha256:318f72f62e8e23cd6660dbafe1e346950281a9aed144b5c596b2ddabc1d19739"}, + {file = "pendulum-2.1.2-cp35-cp35m-macosx_10_15_x86_64.whl", hash = "sha256:0731f0c661a3cb779d398803655494893c9f581f6488048b3fb629c2342b5394"}, + {file = "pendulum-2.1.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:3481fad1dc3f6f6738bd575a951d3c15d4b4ce7c82dce37cf8ac1483fde6e8b0"}, + {file = "pendulum-2.1.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9702069c694306297ed362ce7e3c1ef8404ac8ede39f9b28b7c1a7ad8c3959e3"}, + {file = "pendulum-2.1.2-cp35-cp35m-win_amd64.whl", hash = "sha256:fb53ffa0085002ddd43b6ca61a7b34f2d4d7c3ed66f931fe599e1a531b42af9b"}, + {file = "pendulum-2.1.2-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:c501749fdd3d6f9e726086bf0cd4437281ed47e7bca132ddb522f86a1645d360"}, + {file = "pendulum-2.1.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:c807a578a532eeb226150d5006f156632df2cc8c5693d778324b43ff8c515dd0"}, + {file = "pendulum-2.1.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:2d1619a721df661e506eff8db8614016f0720ac171fe80dda1333ee44e684087"}, + {file = "pendulum-2.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:f888f2d2909a414680a29ae74d0592758f2b9fcdee3549887779cd4055e975db"}, + {file = "pendulum-2.1.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:e95d329384717c7bf627bf27e204bc3b15c8238fa8d9d9781d93712776c14002"}, + {file = "pendulum-2.1.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:4c9c689747f39d0d02a9f94fcee737b34a5773803a64a5fdb046ee9cac7442c5"}, + {file = "pendulum-2.1.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:1245cd0075a3c6d889f581f6325dd8404aca5884dea7223a5566c38aab94642b"}, + {file = "pendulum-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:db0a40d8bcd27b4fb46676e8eb3c732c67a5a5e6bfab8927028224fbced0b40b"}, + {file = "pendulum-2.1.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:f5e236e7730cab1644e1b87aca3d2ff3e375a608542e90fe25685dae46310116"}, + {file = "pendulum-2.1.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:de42ea3e2943171a9e95141f2eecf972480636e8e484ccffaf1e833929e9e052"}, + {file = "pendulum-2.1.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7c5ec650cb4bec4c63a89a0242cc8c3cebcec92fcfe937c417ba18277d8560be"}, + {file = "pendulum-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:33fb61601083f3eb1d15edeb45274f73c63b3c44a8524703dc143f4212bf3269"}, + {file = "pendulum-2.1.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:29c40a6f2942376185728c9a0347d7c0f07905638c83007e1d262781f1e6953a"}, + {file = "pendulum-2.1.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:94b1fc947bfe38579b28e1cccb36f7e28a15e841f30384b5ad6c5e31055c85d7"}, + {file = "pendulum-2.1.2.tar.gz", hash = "sha256:b06a0ca1bfe41c990bbf0c029f0b6501a7f2ec4e38bfec730712015e8860f207"}, +] + +[package.dependencies] +python-dateutil = ">=2.6,<3.0" +pytzdata = ">=2020.1" + +[[package]] +name = "platformdirs" +version = "4.2.2" +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.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, + {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, +] + +[package.extras] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] +type = ["mypy (>=1.8)"] + +[[package]] +name = "pluggy" +version = "1.5.0" +description = "plugin and hook calling mechanisms for python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, +] + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "py" +version = "1.11.0" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, + {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, +] + +[[package]] +name = "pycparser" +version = "2.22" +description = "C parser in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, + {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, +] + +[[package]] +name = "pydantic" +version = "1.10.15" +description = "Data validation and settings management using python type hints" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pydantic-1.10.15-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:22ed12ee588b1df028a2aa5d66f07bf8f8b4c8579c2e96d5a9c1f96b77f3bb55"}, + {file = "pydantic-1.10.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:75279d3cac98186b6ebc2597b06bcbc7244744f6b0b44a23e4ef01e5683cc0d2"}, + {file = "pydantic-1.10.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50f1666a9940d3d68683c9d96e39640f709d7a72ff8702987dab1761036206bb"}, + {file = "pydantic-1.10.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82790d4753ee5d00739d6cb5cf56bceb186d9d6ce134aca3ba7befb1eedbc2c8"}, + {file = "pydantic-1.10.15-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:d207d5b87f6cbefbdb1198154292faee8017d7495a54ae58db06762004500d00"}, + {file = "pydantic-1.10.15-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e49db944fad339b2ccb80128ffd3f8af076f9f287197a480bf1e4ca053a866f0"}, + {file = "pydantic-1.10.15-cp310-cp310-win_amd64.whl", hash = "sha256:d3b5c4cbd0c9cb61bbbb19ce335e1f8ab87a811f6d589ed52b0254cf585d709c"}, + {file = "pydantic-1.10.15-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c3d5731a120752248844676bf92f25a12f6e45425e63ce22e0849297a093b5b0"}, + {file = "pydantic-1.10.15-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c365ad9c394f9eeffcb30a82f4246c0006417f03a7c0f8315d6211f25f7cb654"}, + {file = "pydantic-1.10.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3287e1614393119c67bd4404f46e33ae3be3ed4cd10360b48d0a4459f420c6a3"}, + {file = "pydantic-1.10.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be51dd2c8596b25fe43c0a4a59c2bee4f18d88efb8031188f9e7ddc6b469cf44"}, + {file = "pydantic-1.10.15-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6a51a1dd4aa7b3f1317f65493a182d3cff708385327c1c82c81e4a9d6d65b2e4"}, + {file = "pydantic-1.10.15-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4e316e54b5775d1eb59187f9290aeb38acf620e10f7fd2f776d97bb788199e53"}, + {file = "pydantic-1.10.15-cp311-cp311-win_amd64.whl", hash = "sha256:0d142fa1b8f2f0ae11ddd5e3e317dcac060b951d605fda26ca9b234b92214986"}, + {file = "pydantic-1.10.15-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7ea210336b891f5ea334f8fc9f8f862b87acd5d4a0cbc9e3e208e7aa1775dabf"}, + {file = "pydantic-1.10.15-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3453685ccd7140715e05f2193d64030101eaad26076fad4e246c1cc97e1bb30d"}, + {file = "pydantic-1.10.15-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bea1f03b8d4e8e86702c918ccfd5d947ac268f0f0cc6ed71782e4b09353b26f"}, + {file = "pydantic-1.10.15-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:005655cabc29081de8243126e036f2065bd7ea5b9dff95fde6d2c642d39755de"}, + {file = "pydantic-1.10.15-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:af9850d98fc21e5bc24ea9e35dd80a29faf6462c608728a110c0a30b595e58b7"}, + {file = "pydantic-1.10.15-cp37-cp37m-win_amd64.whl", hash = "sha256:d31ee5b14a82c9afe2bd26aaa405293d4237d0591527d9129ce36e58f19f95c1"}, + {file = "pydantic-1.10.15-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5e09c19df304b8123938dc3c53d3d3be6ec74b9d7d0d80f4f4b5432ae16c2022"}, + {file = "pydantic-1.10.15-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7ac9237cd62947db00a0d16acf2f3e00d1ae9d3bd602b9c415f93e7a9fc10528"}, + {file = "pydantic-1.10.15-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:584f2d4c98ffec420e02305cf675857bae03c9d617fcfdc34946b1160213a948"}, + {file = "pydantic-1.10.15-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bbc6989fad0c030bd70a0b6f626f98a862224bc2b1e36bfc531ea2facc0a340c"}, + {file = "pydantic-1.10.15-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:d573082c6ef99336f2cb5b667b781d2f776d4af311574fb53d908517ba523c22"}, + {file = "pydantic-1.10.15-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6bd7030c9abc80134087d8b6e7aa957e43d35714daa116aced57269a445b8f7b"}, + {file = "pydantic-1.10.15-cp38-cp38-win_amd64.whl", hash = "sha256:3350f527bb04138f8aff932dc828f154847fbdc7a1a44c240fbfff1b57f49a12"}, + {file = "pydantic-1.10.15-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:51d405b42f1b86703555797270e4970a9f9bd7953f3990142e69d1037f9d9e51"}, + {file = "pydantic-1.10.15-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a980a77c52723b0dc56640ced396b73a024d4b74f02bcb2d21dbbac1debbe9d0"}, + {file = "pydantic-1.10.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67f1a1fb467d3f49e1708a3f632b11c69fccb4e748a325d5a491ddc7b5d22383"}, + {file = "pydantic-1.10.15-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:676ed48f2c5bbad835f1a8ed8a6d44c1cd5a21121116d2ac40bd1cd3619746ed"}, + {file = "pydantic-1.10.15-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:92229f73400b80c13afcd050687f4d7e88de9234d74b27e6728aa689abcf58cc"}, + {file = "pydantic-1.10.15-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2746189100c646682eff0bce95efa7d2e203420d8e1c613dc0c6b4c1d9c1fde4"}, + {file = "pydantic-1.10.15-cp39-cp39-win_amd64.whl", hash = "sha256:394f08750bd8eaad714718812e7fab615f873b3cdd0b9d84e76e51ef3b50b6b7"}, + {file = "pydantic-1.10.15-py3-none-any.whl", hash = "sha256:28e552a060ba2740d0d2aabe35162652c1459a0b9069fe0db7f4ee0e18e74d58"}, + {file = "pydantic-1.10.15.tar.gz", hash = "sha256:ca832e124eda231a60a041da4f013e3ff24949d94a01154b137fc2f2a43c3ffb"}, +] + +[package.dependencies] +typing-extensions = ">=4.2.0" + +[package.extras] +dotenv = ["python-dotenv (>=0.10.4)"] +email = ["email-validator (>=1.0.3)"] + +[[package]] +name = "pyjwt" +version = "2.8.0" +description = "JSON Web Token implementation in Python" +optional = false +python-versions = ">=3.7" +files = [ + {file = "PyJWT-2.8.0-py3-none-any.whl", hash = "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320"}, + {file = "PyJWT-2.8.0.tar.gz", hash = "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"}, +] + +[package.extras] +crypto = ["cryptography (>=3.4.0)"] +dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] +docs = ["sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] +tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] + +[[package]] +name = "pyrate-limiter" +version = "3.1.1" +description = "Python Rate-Limiter using Leaky-Bucket Algorithm" +optional = false +python-versions = ">=3.8,<4.0" +files = [ + {file = "pyrate_limiter-3.1.1-py3-none-any.whl", hash = "sha256:c51906f1d51d56dc992ff6c26e8300e32151bc6cfa3e6559792e31971dfd4e2b"}, + {file = "pyrate_limiter-3.1.1.tar.gz", hash = "sha256:2f57eda712687e6eccddf6afe8f8a15b409b97ed675fe64a626058f12863b7b7"}, +] + +[package.extras] +all = ["filelock (>=3.0)", "redis (>=5.0.0,<6.0.0)"] +docs = ["furo (>=2022.3.4,<2023.0.0)", "myst-parser (>=0.17)", "sphinx (>=4.3.0,<5.0.0)", "sphinx-autodoc-typehints (>=1.17,<2.0)", "sphinx-copybutton (>=0.5)", "sphinxcontrib-apidoc (>=0.3,<0.4)"] + +[[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 = "6.2.5" +description = "pytest: simple powerful testing with Python" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"}, + {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"}, +] + +[package.dependencies] +atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} +attrs = ">=19.2.0" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<2.0" +py = ">=1.8.2" +toml = "*" + +[package.extras] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] + +[[package]] +name = "pytest-mock" +version = "3.14.0" +description = "Thin-wrapper around the mock package for easier use with pytest" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pytest-mock-3.14.0.tar.gz", hash = "sha256:2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0"}, + {file = "pytest_mock-3.14.0-py3-none-any.whl", hash = "sha256:0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f"}, +] + +[package.dependencies] +pytest = ">=6.2.5" + +[package.extras] +dev = ["pre-commit", "pytest-asyncio", "tox"] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +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.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, +] + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "pytz" +version = "2024.1" +description = "World timezone definitions, modern and historical" +optional = false +python-versions = "*" +files = [ + {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, + {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, +] + +[[package]] +name = "pytzdata" +version = "2020.1" +description = "The Olson timezone database for Python." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "pytzdata-2020.1-py2.py3-none-any.whl", hash = "sha256:e1e14750bcf95016381e4d472bad004eef710f2d6417240904070b3d6654485f"}, + {file = "pytzdata-2020.1.tar.gz", hash = "sha256:3efa13b335a00a8de1d345ae41ec78dd11c9f8807f522d39850f2dd828681540"}, +] + +[[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.32.3" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.8" +files = [ + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, +] + +[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.2.0" +description = "A persistent cache for python requests" +optional = false +python-versions = ">=3.8" +files = [ + {file = "requests_cache-1.2.0-py3-none-any.whl", hash = "sha256:490324301bf0cb924ff4e6324bd2613453e7e1f847353928b08adb0fdfb7f722"}, + {file = "requests_cache-1.2.0.tar.gz", hash = "sha256:db1c709ca343cc1cd5b6c8b1a5387298eceed02306a6040760db538c885e3838"}, +] + +[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 (>=6.0.1)", "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.9)"] +dynamodb = ["boto3 (>=1.15)", "botocore (>=1.18)"] +json = ["ujson (>=5.4)"] +mongodb = ["pymongo (>=3)"] +redis = ["redis (>=3)"] +security = ["itsdangerous (>=2.0)"] +yaml = ["pyyaml (>=6.0.1)"] + +[[package]] +name = "requests-mock" +version = "1.12.1" +description = "Mock out responses from the requests package" +optional = false +python-versions = ">=3.5" +files = [ + {file = "requests-mock-1.12.1.tar.gz", hash = "sha256:e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401"}, + {file = "requests_mock-1.12.1-py2.py3-none-any.whl", hash = "sha256:b1e37054004cdd5e56c84454cc7df12b25f90f382159087f4b6915aaeef39563"}, +] + +[package.dependencies] +requests = ">=2.22,<3" + +[package.extras] +fixture = ["fixtures"] + +[[package]] +name = "setuptools" +version = "69.5.1" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "setuptools-69.5.1-py3-none-any.whl", hash = "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"}, + {file = "setuptools-69.5.1.tar.gz", hash = "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "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)", "importlib-metadata", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "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.2)", "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 = "tenacity" +version = "8.3.0" +description = "Retry code until it succeeds" +optional = false +python-versions = ">=3.8" +files = [ + {file = "tenacity-8.3.0-py3-none-any.whl", hash = "sha256:3649f6443dbc0d9b01b9d8020a9c4ec7a1ff5f6f3c6c8a036ef371f573fe9185"}, + {file = "tenacity-8.3.0.tar.gz", hash = "sha256:953d4e6ad24357bceffbc9707bc74349aca9d245f68eb65419cf0c249a1949a2"}, +] + +[package.extras] +doc = ["reno", "sphinx"] +test = ["pytest", "tornado (>=4.5)", "typeguard"] + +[[package]] +name = "toml" +version = "0.10.2" +description = "Python Library for Tom's Obvious, Minimal Language" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, + {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, +] + +[[package]] +name = "typing-extensions" +version = "4.11.0" +description = "Backported and Experimental Type Hints for Python 3.8+" +optional = false +python-versions = ">=3.8" +files = [ + {file = "typing_extensions-4.11.0-py3-none-any.whl", hash = "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"}, + {file = "typing_extensions-4.11.0.tar.gz", hash = "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0"}, +] + +[[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.2.1" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, + {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] +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.9,<3.12" +content-hash = "a7a96e2b3330d2b39e398d386ac5724f0ddb92f7862e5029789b59942d9ba36d" diff --git a/airbyte-integrations/connectors/source-aircall/pyproject.toml b/airbyte-integrations/connectors/source-aircall/pyproject.toml new file mode 100644 index 000000000000..bf60832739a3 --- /dev/null +++ b/airbyte-integrations/connectors/source-aircall/pyproject.toml @@ -0,0 +1,28 @@ +[build-system] +requires = [ "poetry-core>=1.0.0",] +build-backend = "poetry.core.masonry.api" + +[tool.poetry] +version = "0.2.1" +name = "source-aircall" +description = "Source implementation for Aircall." +authors = [ "Airbyte ",] +license = "MIT" +readme = "README.md" +documentation = "https://docs.airbyte.com/integrations/sources/aircall" +homepage = "https://airbyte.com" +repository = "https://github.com/airbytehq/airbyte" +[[tool.poetry.packages]] +include = "source_aircall" + +[tool.poetry.dependencies] +python = "^3.9,<3.12" +airbyte-cdk = "^0" + +[tool.poetry.scripts] +source-aircall = "source_aircall.run:run" + +[tool.poetry.group.dev.dependencies] +requests-mock = "^1.9.3" +pytest = "^6.2" +pytest-mock = "^3.6.1" diff --git a/airbyte-integrations/connectors/source-aircall/setup.py b/airbyte-integrations/connectors/source-aircall/setup.py deleted file mode 100644 index 8453ded69fca..000000000000 --- a/airbyte-integrations/connectors/source-aircall/setup.py +++ /dev/null @@ -1,46 +0,0 @@ -# -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. -# - - -from setuptools import find_packages, setup - -MAIN_REQUIREMENTS = [ - "airbyte-cdk~=0.1", -] - -TEST_REQUIREMENTS = [ - "requests-mock~=1.9.3", - "pytest~=6.2", - "pytest-mock~=3.6.1", -] - -setup( - entry_points={ - "console_scripts": [ - "source-aircall=source_aircall.run:run", - ], - }, - name="source_aircall", - description="Source implementation for Aircall.", - author="Airbyte", - author_email="contact@airbyte.io", - packages=find_packages(), - install_requires=MAIN_REQUIREMENTS, - package_data={ - "": [ - # Include yaml files in the package (if any) - "*.yml", - "*.yaml", - # Include all json files in the package, up to 4 levels deep - "*.json", - "*/*.json", - "*/*/*.json", - "*/*/*/*.json", - "*/*/*/*/*.json", - ] - }, - extras_require={ - "tests": TEST_REQUIREMENTS, - }, -) diff --git a/airbyte-integrations/connectors/source-appsflyer/metadata.yaml b/airbyte-integrations/connectors/source-appsflyer/metadata.yaml index 29dd450e8dcb..cb5681d68644 100644 --- a/airbyte-integrations/connectors/source-appsflyer/metadata.yaml +++ b/airbyte-integrations/connectors/source-appsflyer/metadata.yaml @@ -2,7 +2,7 @@ data: connectorSubtype: api connectorType: source definitionId: 16447954-e6a8-4593-b140-43dea13bc457 - dockerImageTag: 0.2.0 + dockerImageTag: 0.2.1 dockerRepository: airbyte/source-appsflyer githubIssueLabel: source-appsflyer icon: appsflyer.svg diff --git a/airbyte-integrations/connectors/source-appsflyer/poetry.lock b/airbyte-integrations/connectors/source-appsflyer/poetry.lock index 2dfb76abe585..69f748bee0e1 100644 --- a/airbyte-integrations/connectors/source-appsflyer/poetry.lock +++ b/airbyte-integrations/connectors/source-appsflyer/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. [[package]] name = "airbyte-cdk" @@ -139,13 +139,13 @@ ujson = ["ujson (>=5.7.0)"] [[package]] name = "certifi" -version = "2024.2.2" +version = "2024.6.2" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, - {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, + {file = "certifi-2024.6.2-py3-none-any.whl", hash = "sha256:ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56"}, + {file = "certifi-2024.6.2.tar.gz", hash = "sha256:3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516"}, ] [[package]] @@ -466,13 +466,13 @@ files = [ [[package]] name = "packaging" -version = "24.0" +version = "24.1" description = "Core utilities for Python packages" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"}, - {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"}, + {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, + {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, ] [[package]] @@ -787,13 +787,13 @@ files = [ [[package]] name = "requests" -version = "2.32.1" +version = "2.32.3" description = "Python HTTP for Humans." optional = false python-versions = ">=3.8" files = [ - {file = "requests-2.32.1-py3-none-any.whl", hash = "sha256:21ac9465cdf8c1650fe1ecde8a71669a93d4e6f147550483a2967d08396a56a5"}, - {file = "requests-2.32.1.tar.gz", hash = "sha256:eb97e87e64c79e64e5b8ac75cee9dd1f97f49e289b083ee6be96268930725685"}, + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, ] [package.dependencies] @@ -855,19 +855,18 @@ fixture = ["fixtures"] [[package]] name = "setuptools" -version = "69.5.1" +version = "70.0.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-69.5.1-py3-none-any.whl", hash = "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"}, - {file = "setuptools-69.5.1.tar.gz", hash = "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987"}, + {file = "setuptools-70.0.0-py3-none-any.whl", hash = "sha256:54faa7f2e8d2d11bcd2c07bed282eef1046b5c080d1c32add737d7b5817b1ad4"}, + {file = "setuptools-70.0.0.tar.gz", hash = "sha256:f211a66637b8fa059bb28183da127d4e86396c991a942b028c6650d4319c3fd0"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "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)", "importlib-metadata", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "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.2)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] [[package]] name = "six" @@ -893,13 +892,13 @@ files = [ [[package]] name = "typing-extensions" -version = "4.11.0" +version = "4.12.2" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.11.0-py3-none-any.whl", hash = "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"}, - {file = "typing_extensions-4.11.0.tar.gz", hash = "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0"}, + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] [[package]] diff --git a/airbyte-integrations/connectors/source-appsflyer/pyproject.toml b/airbyte-integrations/connectors/source-appsflyer/pyproject.toml index 71258a70883f..25f3114d5c78 100644 --- a/airbyte-integrations/connectors/source-appsflyer/pyproject.toml +++ b/airbyte-integrations/connectors/source-appsflyer/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.2.0" +version = "0.2.1" name = "source-appsflyer" description = "Source implementation for Appsflyer." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-appsflyer/sample_files/configured_catalog.json b/airbyte-integrations/connectors/source-appsflyer/sample_files/configured_catalog.json index 864398d63223..bb39d42f19a2 100644 --- a/airbyte-integrations/connectors/source-appsflyer/sample_files/configured_catalog.json +++ b/airbyte-integrations/connectors/source-appsflyer/sample_files/configured_catalog.json @@ -701,9 +701,6 @@ "oaid": { "type": ["null", "string"] }, - "is_lat": { - "type": ["null", "boolean"] - }, "store_reinstall": { "type": ["null", "boolean"] }, diff --git a/airbyte-integrations/connectors/source-appsflyer/source_appsflyer/fields/additional_fields.py b/airbyte-integrations/connectors/source-appsflyer/source_appsflyer/fields/additional_fields.py index 56fe6d9bed15..0b0aa2b42723 100644 --- a/airbyte-integrations/connectors/source-appsflyer/source_appsflyer/fields/additional_fields.py +++ b/airbyte-integrations/connectors/source-appsflyer/source_appsflyer/fields/additional_fields.py @@ -40,6 +40,45 @@ "rejected_reason_value", ) +organic_in_app_events = ( + "app_type", + "custom_data", + "network_account_id", + "install_app_store", + "contributor1_match_type", + "contributor2_match_type", + "contributor3_match_type", + "campaign_type", + "conversion_type", + "match_type", + "gp_referrer", + "gp_click_time", + "gp_install_begin", + "gp_broadcast_referrer", + "keyword_match_type", + "keyword_id", + "att", + "amazon_aid", + "device_category", + "device_model", + "device_download_time", + "deeplink_url", + "oaid", + "store_reinstall", + "placement", + "mediation_network", + "segment", + "ad_unit", + "monetization_network", + "impressions", + "blocked_reason", + "blocked_reason_value", + "blocked_reason_rule", + "blocked_sub_reason", + "rejected_reason", + "rejected_reason_value", +) + uninstall_events = ( "custom_data", "network_account_id", diff --git a/airbyte-integrations/connectors/source-appsflyer/source_appsflyer/schemas/organic_in_app_events.json b/airbyte-integrations/connectors/source-appsflyer/source_appsflyer/schemas/organic_in_app_events.json index 7abb26266674..50243c126e62 100644 --- a/airbyte-integrations/connectors/source-appsflyer/source_appsflyer/schemas/organic_in_app_events.json +++ b/airbyte-integrations/connectors/source-appsflyer/source_appsflyer/schemas/organic_in_app_events.json @@ -322,9 +322,6 @@ "oaid": { "type": ["null", "string"] }, - "is_lat": { - "type": ["null", "boolean"] - }, "store_reinstall": { "type": ["null", "boolean"] }, diff --git a/airbyte-integrations/connectors/source-appsflyer/source_appsflyer/source.py b/airbyte-integrations/connectors/source-appsflyer/source_appsflyer/source.py index 0facb7ac8795..8e77d5b78019 100644 --- a/airbyte-integrations/connectors/source-appsflyer/source_appsflyer/source.py +++ b/airbyte-integrations/connectors/source-appsflyer/source_appsflyer/source.py @@ -251,6 +251,7 @@ def path( class OrganicInAppEvents(RawDataMixin, IncrementalAppsflyerStream): intervals = 31 cursor_field = "event_time" + additional_fields = additional_fields.organic_in_app_events def path( self, stream_state: Mapping[str, Any] = None, stream_slice: Mapping[str, Any] = None, next_page_token: Mapping[str, Any] = None diff --git a/airbyte-integrations/connectors/source-auth0/metadata.yaml b/airbyte-integrations/connectors/source-auth0/metadata.yaml index 3457e48e6820..1ec1075555ab 100644 --- a/airbyte-integrations/connectors/source-auth0/metadata.yaml +++ b/airbyte-integrations/connectors/source-auth0/metadata.yaml @@ -6,11 +6,11 @@ data: hosts: - "*.auth0.com" connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 connectorSubtype: api connectorType: source definitionId: 6c504e48-14aa-4221-9a72-19cf5ff1ae78 - dockerImageTag: 0.5.3 + dockerImageTag: 0.5.4 dockerRepository: airbyte/source-auth0 documentationUrl: https://docs.airbyte.com/integrations/sources/auth0 githubIssueLabel: source-auth0 diff --git a/airbyte-integrations/connectors/source-auth0/pyproject.toml b/airbyte-integrations/connectors/source-auth0/pyproject.toml index 9c4f1d1b6883..16ba9dfb3130 100644 --- a/airbyte-integrations/connectors/source-auth0/pyproject.toml +++ b/airbyte-integrations/connectors/source-auth0/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.5.3" +version = "0.5.4" name = "source-auth0" description = "Source implementation for Auth0." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-bamboo-hr/metadata.yaml b/airbyte-integrations/connectors/source-bamboo-hr/metadata.yaml index 3b6a12d5104e..6e07bbdc2a32 100644 --- a/airbyte-integrations/connectors/source-bamboo-hr/metadata.yaml +++ b/airbyte-integrations/connectors/source-bamboo-hr/metadata.yaml @@ -6,11 +6,11 @@ data: ql: 200 sl: 100 connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 connectorSubtype: api connectorType: source definitionId: 90916976-a132-4ce9-8bce-82a03dd58788 - dockerImageTag: 0.3.0 + dockerImageTag: 0.3.1 dockerRepository: airbyte/source-bamboo-hr documentationUrl: https://docs.airbyte.com/integrations/sources/bamboo-hr githubIssueLabel: source-bamboo-hr diff --git a/airbyte-integrations/connectors/source-bamboo-hr/pyproject.toml b/airbyte-integrations/connectors/source-bamboo-hr/pyproject.toml index 96dd63890f6c..92b9017154fd 100644 --- a/airbyte-integrations/connectors/source-bamboo-hr/pyproject.toml +++ b/airbyte-integrations/connectors/source-bamboo-hr/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.3.0" +version = "0.3.1" name = "source-bamboo-hr" description = "Source implementation for Bamboo Hr." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-chargebee/metadata.yaml b/airbyte-integrations/connectors/source-chargebee/metadata.yaml index 5875a11fb9c4..a07d4969719a 100644 --- a/airbyte-integrations/connectors/source-chargebee/metadata.yaml +++ b/airbyte-integrations/connectors/source-chargebee/metadata.yaml @@ -6,11 +6,11 @@ data: hosts: - "*.chargebee.com" connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.1.0@sha256:bd98f6505c6764b1b5f99d3aedc23dfc9e9af631a62533f60eb32b1d3dbab20c + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 connectorSubtype: api connectorType: source definitionId: 686473f1-76d9-4994-9cc7-9b13da46147c - dockerImageTag: 0.5.1 + dockerImageTag: 0.5.2 dockerRepository: airbyte/source-chargebee documentationUrl: https://docs.airbyte.com/integrations/sources/chargebee githubIssueLabel: source-chargebee diff --git a/airbyte-integrations/connectors/source-chargebee/pyproject.toml b/airbyte-integrations/connectors/source-chargebee/pyproject.toml index 04197a0016db..e949449775eb 100644 --- a/airbyte-integrations/connectors/source-chargebee/pyproject.toml +++ b/airbyte-integrations/connectors/source-chargebee/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.5.1" +version = "0.5.2" name = "source-chargebee" description = "Source implementation for Chargebee." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-chargify/.dockerignore b/airbyte-integrations/connectors/source-chargify/.dockerignore deleted file mode 100644 index 1a69703313fd..000000000000 --- a/airbyte-integrations/connectors/source-chargify/.dockerignore +++ /dev/null @@ -1,6 +0,0 @@ -* -!Dockerfile -!main.py -!source_chargify -!setup.py -!secrets diff --git a/airbyte-integrations/connectors/source-chargify/README.md b/airbyte-integrations/connectors/source-chargify/README.md index 0f3af98989be..966b0bb344c7 100644 --- a/airbyte-integrations/connectors/source-chargify/README.md +++ b/airbyte-integrations/connectors/source-chargify/README.md @@ -7,11 +7,14 @@ For information about how to use this connector within Airbyte, see [the documen ## Local development ### Prerequisites -* Python (~=3.9) -* Poetry (~=1.7) - installation instructions [here](https://python-poetry.org/docs/#installation) + +* Python (`^3.9`) +* Poetry (`^1.7`) - installation instructions [here](https://python-poetry.org/docs/#installation) + ### Installing the connector + From this connector directory, run: ```bash poetry install --with dev @@ -19,13 +22,16 @@ poetry install --with dev ### Create credentials + **If you are a community contributor**, follow the instructions in the [documentation](https://docs.airbyte.com/integrations/sources/chargify) -to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `source_chargify/spec.yaml` file. +to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `src/source_chargify/spec.yaml` file. Note that any directory named `secrets` is gitignored across the entire Airbyte repo, so there is no danger of accidentally checking in sensitive information. See `sample_files/sample_config.json` for a sample config file. +See `sample_files/sample_config.json` for a sample config file. ### Locally running the connector + ``` poetry run source-chargify spec poetry run source-chargify check --config secrets/config.json @@ -33,13 +39,16 @@ poetry run source-chargify discover --config secrets/config.json poetry run source-chargify read --config secrets/config.json --catalog sample_files/configured_catalog.json ``` -### Running unit tests -To run unit tests locally, from the connector directory run: +### Running tests + +To run tests locally, from the connector directory run: + ``` -poetry run pytest unit_tests +poetry run pytest tests ``` ### Building the docker image + 1. Install [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md) 2. Run the following command to build the docker image: ```bash @@ -47,9 +56,11 @@ airbyte-ci connectors --name=source-chargify build ``` An image will be available on your host with the tag `airbyte/source-chargify:dev`. +An image will be available on your host with the tag `airbyte/source-chargify:dev`. ### Running as a docker container + Then run any of the connector commands as follows: ``` docker run --rm airbyte/source-chargify:dev spec @@ -59,16 +70,19 @@ docker run --rm -v $(pwd)/secrets:/secrets -v $(pwd)/integration_tests:/integrat ``` ### Running our CI test suite + You can run our full test suite locally using [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md): ```bash airbyte-ci connectors --name=source-chargify test ``` ### Customizing acceptance Tests + Customize `acceptance-test-config.yml` file to configure acceptance tests. See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) for more information. If your connector requires to create or destroy resources for use during acceptance tests create fixtures for it and place them inside integration_tests/acceptance.py. ### Dependency Management + All of your dependencies should be managed via Poetry. To add a new dependency, run: ```bash @@ -78,14 +92,20 @@ poetry add Please commit the changes to `pyproject.toml` and `poetry.lock` files. ## Publishing a new version of the connector + You've checked out the repo, implemented a million dollar feature, and you're ready to share your changes with the world. Now what? 1. Make sure your changes are passing our test suite: `airbyte-ci connectors --name=source-chargify test` +2. Bump the connector version (please follow [semantic versioning for connectors](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#semantic-versioning-for-connectors)): + - bump the `dockerImageTag` value in in `metadata.yaml` + - bump the `version` value in `pyproject.toml` 2. Bump the connector version (please follow [semantic versioning for connectors](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#semantic-versioning-for-connectors)): - bump the `dockerImageTag` value in in `metadata.yaml` - bump the `version` value in `pyproject.toml` 3. Make sure the `metadata.yaml` content is up to date. 4. Make sure the connector documentation and its changelog is up to date (`docs/integrations/sources/chargify.md`). +4. Make sure the connector documentation and its changelog is up to date (`docs/integrations/sources/chargify.md`). 5. Create a Pull Request: use [our PR naming conventions](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#pull-request-title-convention). 6. Pat yourself on the back for being an awesome contributor. 7. Someone from Airbyte will take a look at your PR and iterate with you to merge it into master. +8. Once your PR is merged, the new version of the connector will be automatically published to Docker Hub and our connector registry. 8. Once your PR is merged, the new version of the connector will be automatically published to Docker Hub and our connector registry. \ No newline at end of file diff --git a/airbyte-integrations/connectors/source-chargify/__init__.py b/airbyte-integrations/connectors/source-chargify/__init__.py index c941b3045795..66f6de8cb2bb 100644 --- a/airbyte-integrations/connectors/source-chargify/__init__.py +++ b/airbyte-integrations/connectors/source-chargify/__init__.py @@ -1,3 +1,3 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # diff --git a/airbyte-integrations/connectors/source-chargify/integration_tests/__init__.py b/airbyte-integrations/connectors/source-chargify/integration_tests/__init__.py index c941b3045795..66f6de8cb2bb 100644 --- a/airbyte-integrations/connectors/source-chargify/integration_tests/__init__.py +++ b/airbyte-integrations/connectors/source-chargify/integration_tests/__init__.py @@ -1,3 +1,3 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # diff --git a/airbyte-integrations/connectors/source-chargify/integration_tests/acceptance.py b/airbyte-integrations/connectors/source-chargify/integration_tests/acceptance.py index 9e6409236281..aaeb7f6c2529 100644 --- a/airbyte-integrations/connectors/source-chargify/integration_tests/acceptance.py +++ b/airbyte-integrations/connectors/source-chargify/integration_tests/acceptance.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # diff --git a/airbyte-integrations/connectors/source-chargify/metadata.yaml b/airbyte-integrations/connectors/source-chargify/metadata.yaml index 2f456a77c18a..5096391c4676 100644 --- a/airbyte-integrations/connectors/source-chargify/metadata.yaml +++ b/airbyte-integrations/connectors/source-chargify/metadata.yaml @@ -14,7 +14,7 @@ data: connectorSubtype: api connectorType: source definitionId: 9b2d3607-7222-4709-9fa2-c2abdebbdd88 - dockerImageTag: 0.4.2 + dockerImageTag: 0.4.3 dockerRepository: airbyte/source-chargify githubIssueLabel: source-chargify icon: chargify.svg diff --git a/airbyte-integrations/connectors/source-chargify/poetry.lock b/airbyte-integrations/connectors/source-chargify/poetry.lock index 7ced215b809a..129e7e2dd864 100644 --- a/airbyte-integrations/connectors/source-chargify/poetry.lock +++ b/airbyte-integrations/connectors/source-chargify/poetry.lock @@ -1,14 +1,14 @@ -# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. [[package]] name = "airbyte-cdk" -version = "1.0.0" +version = "0.90.0" description = "A framework for writing Airbyte Connectors." optional = false python-versions = "<4.0,>=3.9" files = [ - {file = "airbyte_cdk-1.0.0-py3-none-any.whl", hash = "sha256:74cd8d4f9790b9a164731c42236cb015166b5ab2b0754b6a1fd730f223eb4e7f"}, - {file = "airbyte_cdk-1.0.0.tar.gz", hash = "sha256:102b75ce589460be4f75dabd3402ac7aa633c90758558c81d140fd436b76371f"}, + {file = "airbyte_cdk-0.90.0-py3-none-any.whl", hash = "sha256:bd0aa5843cdc4901f2e482f0e86695ca4e6db83b65c5017799255dd20535cf56"}, + {file = "airbyte_cdk-0.90.0.tar.gz", hash = "sha256:25cefc010718bada5cce3f87e7ae93068630732c0d34ce5145f8ddf7457d4d3c"}, ] [package.dependencies] @@ -54,16 +54,6 @@ files = [ [package.dependencies] pydantic = ">=1.9.2,<2.0.0" -[[package]] -name = "atomicwrites" -version = "1.4.1" -description = "Atomic file writes." -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, -] - [[package]] name = "attrs" version = "23.2.0" @@ -566,13 +556,13 @@ extended-testing = ["jinja2 (>=3,<4)"] [[package]] name = "langsmith" -version = "0.1.60" +version = "0.1.65" description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform." optional = false python-versions = "<4.0,>=3.8.1" files = [ - {file = "langsmith-0.1.60-py3-none-any.whl", hash = "sha256:3c3520ea473de0a984237b3e9d638fdf23ef3acc5aec89a42e693225e72d6120"}, - {file = "langsmith-0.1.60.tar.gz", hash = "sha256:6a145b5454437f9e0f81525f23c4dcdbb8c07b1c91553b8f697456c418d6a599"}, + {file = "langsmith-0.1.65-py3-none-any.whl", hash = "sha256:ab4487029240e69cca30da1065f1e9138e5a7ca2bbe8c697f0bd7d5839f71cf7"}, + {file = "langsmith-0.1.65.tar.gz", hash = "sha256:d3c2eb2391478bd79989f02652cf66e29a7959d677614b6993a47cef43f7f43b"}, ] [package.dependencies] @@ -780,17 +770,6 @@ files = [ dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] -[[package]] -name = "py" -version = "1.11.0" -description = "library with cross-python path, ini-parsing, io, code, log facilities" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, - {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, -] - [[package]] name = "pycparser" version = "2.22" @@ -929,27 +908,25 @@ files = [ [[package]] name = "pytest" -version = "6.2.5" +version = "8.2.1" description = "pytest: simple powerful testing with Python" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"}, - {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"}, + {file = "pytest-8.2.1-py3-none-any.whl", hash = "sha256:faccc5d332b8c3719f40283d0d44aa5cf101cec36f88cde9ed8f2bc0538612b1"}, + {file = "pytest-8.2.1.tar.gz", hash = "sha256:5046e5b46d8e4cac199c373041f26be56fdb81eb4e67dc11d4e10811fc3408fd"}, ] [package.dependencies] -atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} -attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} iniconfig = "*" packaging = "*" -pluggy = ">=0.12,<2.0" -py = ">=1.8.2" -toml = "*" +pluggy = ">=1.5,<2.0" +tomli = {version = ">=1", markers = "python_version < \"3.11\""} [package.extras] -testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] +dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] [[package]] name = "pytest-mock" @@ -1066,13 +1043,13 @@ files = [ [[package]] name = "requests" -version = "2.32.1" +version = "2.32.3" description = "Python HTTP for Humans." optional = false python-versions = ">=3.8" files = [ - {file = "requests-2.32.1-py3-none-any.whl", hash = "sha256:21ac9465cdf8c1650fe1ecde8a71669a93d4e6f147550483a2967d08396a56a5"}, - {file = "requests-2.32.1.tar.gz", hash = "sha256:eb97e87e64c79e64e5b8ac75cee9dd1f97f49e289b083ee6be96268930725685"}, + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, ] [package.dependencies] @@ -1134,19 +1111,18 @@ fixture = ["fixtures"] [[package]] name = "setuptools" -version = "69.5.1" +version = "70.0.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-69.5.1-py3-none-any.whl", hash = "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"}, - {file = "setuptools-69.5.1.tar.gz", hash = "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987"}, + {file = "setuptools-70.0.0-py3-none-any.whl", hash = "sha256:54faa7f2e8d2d11bcd2c07bed282eef1046b5c080d1c32add737d7b5817b1ad4"}, + {file = "setuptools-70.0.0.tar.gz", hash = "sha256:f211a66637b8fa059bb28183da127d4e86396c991a942b028c6650d4319c3fd0"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "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)", "importlib-metadata", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "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.2)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] [[package]] name = "six" @@ -1175,25 +1151,25 @@ doc = ["reno", "sphinx"] test = ["pytest", "tornado (>=4.5)", "typeguard"] [[package]] -name = "toml" -version = "0.10.2" -description = "Python Library for Tom's Obvious, Minimal Language" +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +python-versions = ">=3.7" files = [ - {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, - {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] [[package]] name = "typing-extensions" -version = "4.11.0" +version = "4.12.0" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.11.0-py3-none-any.whl", hash = "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"}, - {file = "typing_extensions-4.11.0.tar.gz", hash = "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0"}, + {file = "typing_extensions-4.12.0-py3-none-any.whl", hash = "sha256:b349c66bea9016ac22978d800cfff206d5f9816951f12a7d0ec5578b0a819594"}, + {file = "typing_extensions-4.12.0.tar.gz", hash = "sha256:8cbcdc8606ebcb0d95453ad7dc5065e6237b6aa230a31e81d0f440c30fed5fd8"}, ] [[package]] @@ -1323,4 +1299,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "^3.9,<3.12" -content-hash = "656a09cf041cb51ce84e287501b40bd60394c28750360db74d7c8fc4b7f291f7" +content-hash = "acd5908c82765b55ec5859799db1bcbb616d044db689a3ba94346d8b1d2f9b5c" diff --git a/airbyte-integrations/connectors/source-chargify/pyproject.toml b/airbyte-integrations/connectors/source-chargify/pyproject.toml index 988317a57d87..5f0d4af75c6e 100644 --- a/airbyte-integrations/connectors/source-chargify/pyproject.toml +++ b/airbyte-integrations/connectors/source-chargify/pyproject.toml @@ -3,26 +3,25 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.4.2" +version = "0.4.3" name = "source-chargify" -description = "Source implementation for Chargify." +description = "Source implementation for chargify." authors = [ "Airbyte ",] license = "MIT" readme = "README.md" documentation = "https://docs.airbyte.com/integrations/sources/chargify" homepage = "https://airbyte.com" repository = "https://github.com/airbytehq/airbyte" -[[tool.poetry.packages]] -include = "source_chargify" +packages = [ { include = "source_chargify" }, {include = "main.py" } ] [tool.poetry.dependencies] python = "^3.9,<3.12" -airbyte-cdk = "1.0.0" +airbyte-cdk = "^0" [tool.poetry.scripts] source-chargify = "source_chargify.run:run" [tool.poetry.group.dev.dependencies] -requests-mock = "^1.9.3" -pytest = "^6.1" -pytest-mock = "^3.6.1" +requests-mock = "*" +pytest-mock = "*" +pytest = "*" diff --git a/airbyte-integrations/connectors/source-chargify/requirements.txt b/airbyte-integrations/connectors/source-chargify/requirements.txt deleted file mode 100644 index d6e1198b1ab1..000000000000 --- a/airbyte-integrations/connectors/source-chargify/requirements.txt +++ /dev/null @@ -1 +0,0 @@ --e . diff --git a/airbyte-integrations/connectors/source-chargify/source_chargify/__init__.py b/airbyte-integrations/connectors/source-chargify/source_chargify/__init__.py index 233a409d39e7..4e46c063d97c 100644 --- a/airbyte-integrations/connectors/source-chargify/source_chargify/__init__.py +++ b/airbyte-integrations/connectors/source-chargify/source_chargify/__init__.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # diff --git a/airbyte-integrations/connectors/source-chargify/source_chargify/manifest.yaml b/airbyte-integrations/connectors/source-chargify/source_chargify/manifest.yaml index 7aaa96a58261..c8895d2e1e06 100644 --- a/airbyte-integrations/connectors/source-chargify/source_chargify/manifest.yaml +++ b/airbyte-integrations/connectors/source-chargify/source_chargify/manifest.yaml @@ -1,125 +1,216 @@ -version: 0.29.0 -type: DeclarativeSource +version: 0.79.1 -definitions: - selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: - - "*" - - "{{ parameters.field_path }}" +type: DeclarativeSource - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: request_parameter - field_name: page - page_size_option: - type: RequestOption - field_name: per_page - inject_into: request_parameter - pagination_strategy: - type: PageIncrement - page_size: 200 - start_from_page: 1 +check: + type: CheckStream + stream_names: + - customers - requester: +definitions: + streams: + customers: + type: DeclarativeStream + name: customers + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: customers.json + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - "*" + - customer + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: per_page + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 200 + start_from_page: 1 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/customers" + subscriptions: + type: DeclarativeStream + name: subscriptions + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: subscriptions.json + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - "*" + - subscription + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: per_page + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 200 + start_from_page: 1 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/subscriptions" + invoices: + type: DeclarativeStream + name: invoices + primary_key: + - uid + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: invoices + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - invoices.json + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: per_page + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 200 + start_from_page: 1 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/invoices" + coupons: + type: DeclarativeStream + name: coupons + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: coupons.json + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - "*" + - coupon + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: per_page + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 200 + start_from_page: 1 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/coupons" + transactions: + type: DeclarativeStream + name: transactions + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: transaction + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - "*" + - transactions.json + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: per_page + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 200 + start_from_page: 1 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/transactions" + base_requester: type: HttpRequester - url_base: "https://{{ config['domain'] }}/" - path: "{{ parameters.path }}" - http_method: "GET" + url_base: https://{{ config['domain'] }}/ authenticator: type: BasicHttpAuthenticator password: "x" username: "{{ config['api_key'] }}" - retriever: - type: SimpleRetriever - record_selector: - $ref: "#/definitions/selector" - paginator: - $ref: "#/definitions/paginator" - requester: - $ref: "#/definitions/requester" - - base_stream: - type: DeclarativeStream - primary_key: "id" - retriever: - $ref: "#/definitions/retriever" - - customers_stream: - $ref: "#/definitions/base_stream" - name: "customers" - $parameters: - path: "customers.json" - field_path: "customer" - - subscriptions_stream: - $ref: "#/definitions/base_stream" - name: "subscriptions" - $parameters: - path: "subscriptions.json" - field_path: "subscription" - - invoices_stream: - name: "invoices" - type: DeclarativeStream - primary_key: "uid" - retriever: - type: SimpleRetriever - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: - - "invoices" - paginator: - $ref: "#/definitions/paginator" - requester: - $ref: "#/definitions/requester" - $parameters: - path: "invoices.json" - field_path: "invoices" - - coupons_stream: - $ref: "#/definitions/base_stream" - name: "coupons" - $parameters: - path: "coupons.json" - field_path: "coupon" - - transactions_stream: - $ref: "#/definitions/base_stream" - name: "transactions" - $parameters: - path: "transactions.json" - field_path: "transaction" - streams: - - "#/definitions/customers_stream" - - "#/definitions/subscriptions_stream" - - "#/definitions/invoices_stream" - - "#/definitions/coupons_stream" - - "#/definitions/transactions_stream" - -check: - type: CheckStream - stream_names: - - customers + - $ref: "#/definitions/streams/customers" + - $ref: "#/definitions/streams/subscriptions" + - $ref: "#/definitions/streams/invoices" + - $ref: "#/definitions/streams/coupons" + - $ref: "#/definitions/streams/transactions" spec: type: Spec - documentation_url: https://docs.airbyte.com/integrations/sources/chargify connection_specification: - title: Chargify Spec type: object + $schema: http://json-schema.org/draft-07/schema# required: - api_key - domain - additionalProperties: true properties: api_key: type: string @@ -131,6 +222,1393 @@ spec: type: string order: 1 title: Domain - description: >- - Chargify domain. Normally this domain follows the following format - companyname.chargify.com + description: Chargify domain. Normally this domain follows the following format + additionalProperties: true + +metadata: + autoImportSchema: + customers: false + subscriptions: false + invoices: false + coupons: false + transactions: false + +schemas: + customers: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + address: + type: + - "null" + - string + address_2: + type: + - "null" + - string + cc_emails: + type: + - "null" + - string + city: + type: + - "null" + - string + country: + type: + - "null" + - string + country_name: + type: + - "null" + - string + created_at: + type: + - "null" + - string + format: date-time + default_subscription_group_uid: + type: + - "null" + - string + email: + type: + - "null" + - string + first_name: + type: + - "null" + - string + id: + type: + - "null" + - integer + last_name: + type: + - "null" + - string + locale: + type: + - "null" + - string + organization: + type: + - "null" + - string + parent_id: + type: + - "null" + - integer + phone: + type: + - "null" + - string + portal_customer_created_at: + type: + - "null" + - string + portal_invite_last_accepted_at: + type: + - "null" + - string + portal_invite_last_sent_at: + type: + - "null" + - string + format: date-time + reference: + type: + - "null" + - string + state: + type: + - "null" + - string + state_name: + type: + - "null" + - string + tax_exempt: + type: + - "null" + - boolean + updated_at: + type: + - "null" + - string + format: date-time + vat_number: + type: + - "null" + - string + verified: + type: + - "null" + - string + zip: + type: + - "null" + - string + subscriptions: + type: + - "null" + - object + $parameters: + field_path: subscription + path: subscriptions.json + $schema: http://json-schema.org/draft-07/schema + additionalProperties: true + field_path: subscription + path: subscriptions.json + properties: + activated_at: + type: + - "null" + - string + automatically_resume_at: + type: + - "null" + - string + balance_in_cents: + type: + - "null" + - integer + bank_account: + type: + - "null" + - object + additionalProperties: true + properties: + bank_account_holder_type: + type: + - "null" + - string + bank_account_type: + type: + - "null" + - string + bank_name: + type: + - "null" + - string + billing_address: + type: + - "null" + - string + billing_address_2: + type: + - "null" + - string + billing_city: + type: + - "null" + - string + billing_country: + type: + - "null" + - string + billing_state: + type: + - "null" + - string + billing_zip: + type: + - "null" + - string + chargify_token: + type: + - "null" + - string + current_vault: + type: + - "null" + - string + customer_id: + type: + - "null" + - integer + customer_vault_token: + type: + - "null" + - string + first_name: + type: + - "null" + - string + gateway_handle: + type: + - "null" + - string + id: + type: + - "null" + - integer + last_name: + type: + - "null" + - string + masked_bank_account_number: + type: + - "null" + - string + masked_bank_routing_number: + type: + - "null" + - string + site_gateway_setting_id: + type: + - "null" + - integer + vault_token: + type: + - "null" + - string + cancel_at_end_of_period: + type: + - "null" + - boolean + canceled_at: + type: + - "null" + - string + cancellation_message: + type: + - "null" + - string + cancellation_method: + type: + - "null" + - string + coupon_code: + type: + - "null" + - string + coupon_codes: + type: + - "null" + - array + items: + type: + - "null" + - string + coupon_use_count: + type: + - "null" + - integer + coupon_uses_allowed: + type: + - "null" + - integer + coupons: + type: + - "null" + - array + items: + type: + - "null" + - object + additionalProperties: true + created_at: + type: + - "null" + - string + credit_balance_in_cents: + type: + - "null" + - integer + credit_card: + type: + - "null" + - object + additionalProperties: true + properties: + billing_address: + type: + - "null" + - string + billing_address_2: + type: + - "null" + - string + billing_city: + type: + - "null" + - string + billing_country: + type: + - "null" + - string + billing_state: + type: + - "null" + - string + billing_zip: + type: + - "null" + - string + card_type: + type: + - "null" + - string + chargify_token: + type: + - "null" + - string + current_vault: + type: + - "null" + - string + customer_id: + type: + - "null" + - integer + customer_vault_token: + type: + - "null" + - string + disabled: + type: + - "null" + - boolean + expiration_month: + type: + - "null" + - integer + expiration_year: + type: + - "null" + - integer + first_name: + type: + - "null" + - string + gateway_handle: + type: + - "null" + - string + id: + type: + - "null" + - integer + last_name: + type: + - "null" + - string + masked_card_number: + type: + - "null" + - string + payment_type: + type: + - "null" + - string + site_gateway_setting_id: + type: + - "null" + - integer + vault_token: + type: + - "null" + - string + currency: + type: + - "null" + - string + current_billing_amount_in_cents: + type: + - "null" + - integer + current_period_ends_at: + type: + - "null" + - string + current_period_started_at: + type: + - "null" + - string + customer: + type: + - "null" + - object + additionalProperties: true + properties: + address: + type: + - "null" + - string + address_2: + type: + - "null" + - string + cc_emails: + type: + - "null" + - string + city: + type: + - "null" + - string + country: + type: + - "null" + - string + country_name: + type: + - "null" + - string + created_at: + type: + - "null" + - string + default_subscription_group_uid: + type: + - "null" + - string + email: + type: + - "null" + - string + first_name: + type: + - "null" + - string + id: + type: + - "null" + - integer + last_name: + type: + - "null" + - string + locale: + type: + - "null" + - string + organization: + type: + - "null" + - string + parent_id: + type: + - "null" + - integer + phone: + type: + - "null" + - string + portal_customer_created_at: + type: + - "null" + - string + portal_invite_last_accepted_at: + type: + - "null" + - string + portal_invite_last_sent_at: + type: + - "null" + - string + reference: + type: + - "null" + - string + state: + type: + - "null" + - string + state_name: + type: + - "null" + - string + tax_exempt: + type: + - "null" + - boolean + updated_at: + type: + - "null" + - string + vat_number: + type: + - "null" + - string + verified: + type: + - "null" + - boolean + zip: + type: + - "null" + - string + delayed_cancel_at: + type: + - "null" + - string + dunning_communication_delay_enabled: + type: + - "null" + - boolean + dunning_communication_delay_time_zone: + type: + - "null" + - string + expires_at: + type: + - "null" + - string + group: + type: + - "null" + - object + additionalProperties: true + properties: + primary: + type: + - "null" + - string + primary_subscription_id: + type: + - "null" + - string + scheme: + type: + - "null" + - string + uid: + type: + - "null" + - string + id: + type: + - "null" + - integer + locale: + type: + - "null" + - string + net_terms: + type: + - "null" + - integer + next_assessment_at: + type: + - "null" + - string + next_product_handle: + type: + - "null" + - string + next_product_id: + type: + - "null" + - integer + next_product_price_point_id: + type: + - "null" + - integer + offer_id: + type: + - "null" + - integer + on_hold_at: + type: + - "null" + - string + payer_id: + type: + - "null" + - integer + payment_collection_method: + type: + - "null" + - string + payment_type: + type: + - "null" + - string + prepaid_dunning: + type: + - "null" + - boolean + prepayment_balance_in_cents: + type: + - "null" + - integer + previous_state: + type: + - "null" + - string + product: + type: + - "null" + - object + additionalProperties: true + properties: + accounting_code: + type: + - "null" + - string + archived_at: + type: + - "null" + - string + created_at: + type: + - "null" + - string + default_product_price_point_id: + type: + - "null" + - integer + description: + type: + - "null" + - string + expiration_interval: + type: + - "null" + - integer + expiration_interval_unit: + type: + - "null" + - string + handle: + type: + - "null" + - string + id: + type: + - "null" + - integer + initial_charge_after_trial: + type: + - "null" + - boolean + initial_charge_in_cents: + type: + - "null" + - integer + interval: + type: + - "null" + - integer + interval_unit: + type: + - "null" + - string + name: + type: + - "null" + - string + price_in_cents: + type: + - "null" + - integer + product_family: + type: + - "null" + - object + additionalProperties: true + properties: + accounting_code: + type: + - "null" + - string + created_at: + type: + - "null" + - string + description: + type: + - "null" + - string + handle: + type: + - "null" + - string + id: + type: + - "null" + - integer + name: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + product_price_point_name: + type: + - "null" + - string + public_signup_pages: + type: + - "null" + - array + items: + anyOf: + - type: + - "null" + - object + additionalProperties: true + properties: + id: + type: + - "null" + - integer + return_params: + type: + - "null" + - string + return_url: + type: + - "null" + - string + url: + type: + - "null" + - string + request_billing_address: + type: + - "null" + - boolean + request_credit_card: + type: + - "null" + - boolean + require_billing_address: + type: + - "null" + - boolean + require_credit_card: + type: + - "null" + - boolean + require_shipping_address: + type: + - "null" + - boolean + return_params: + type: + - "null" + - string + tax_code: + type: + - "null" + - string + taxable: + type: + - "null" + - boolean + trial_interval: + type: + - "null" + - integer + trial_interval_unit: + type: + - "null" + - string + trial_price_in_cents: + type: + - "null" + - integer + update_return_params: + type: + - "null" + - string + update_return_url: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + version_number: + type: + - "null" + - integer + product_price_in_cents: + type: + - "null" + - integer + product_price_point_id: + type: + - "null" + - integer + product_price_point_type: + type: + - "null" + - string + product_version_number: + type: + - "null" + - integer + reason_code: + type: + - "null" + - string + receives_invoice_emails: + type: + - "null" + - boolean + reference: + type: + - "null" + - string + referral_code: + type: + - "null" + - string + scheduled_cancellation_at: + type: + - "null" + - string + signup_payment_id: + type: + - "null" + - integer + signup_revenue: + type: + - "null" + - string + snap_day: + type: + - "null" + - string + state: + type: + - "null" + - string + stored_credential_transaction_id: + type: + - "null" + - integer + total_revenue_in_cents: + type: + - "null" + - integer + trial_ended_at: + type: + - "null" + - string + trial_started_at: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + invoices: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + billing_address: + type: + - "null" + - object + additionalProperties: true + properties: + city: + type: + - "null" + - string + country: + type: + - "null" + - string + line2: + type: + - "null" + - string + state: + type: + - "null" + - string + street: + type: + - "null" + - string + zip: + type: + - "null" + - string + collection_method: + type: + - "null" + - string + consolidation_level: + type: + - "null" + - string + credit_amount: + type: + - "null" + - string + currency: + type: + - "null" + - string + customer: + type: + - "null" + - object + additionalProperties: true + properties: + chargify_id: + type: + - "null" + - integer + email: + type: + - "null" + - string + first_name: + type: + - "null" + - string + last_name: + type: + - "null" + - string + organization: + type: + - "null" + - string + customer_id: + type: + - "null" + - integer + discount_amount: + type: + - "null" + - string + due_amount: + type: + - "null" + - string + due_date: + type: + - "null" + - string + format: date + group_primary_subscription_id: + type: + - "null" + - integer + issue_date: + type: + - "null" + - string + format: date + memo: + type: + - "null" + - string + number: + type: + - "null" + - string + paid_amount: + type: + - "null" + - string + paid_date: + type: + - "null" + - string + format: date + parent_invoice_number: + type: + - "null" + - integer + parent_invoice_uid: + type: + - "null" + - integer + payment_instructions: + type: + - "null" + - string + product_family_name: + type: + - "null" + - string + product_name: + type: + - "null" + - string + refund_amount: + type: + - "null" + - string + seller: + type: + - "null" + - object + additionalProperties: true + properties: + address: + type: + - "null" + - object + additionalProperties: true + properties: + city: + type: + - "null" + - string + country: + type: + - "null" + - string + line2: + type: + - "null" + - string + state: + type: + - "null" + - string + street: + type: + - "null" + - string + zip: + type: + - "null" + - string + name: + type: + - "null" + - string + phone: + type: + - "null" + - string + sequence_number: + type: + - "null" + - integer + shipping_address: + type: + - "null" + - object + additionalProperties: true + properties: + city: + type: + - "null" + - string + country: + type: + - "null" + - string + line2: + type: + - "null" + - string + state: + type: + - "null" + - string + street: + type: + - "null" + - string + zip: + type: + - "null" + - string + site_id: + type: + - "null" + - integer + status: + type: + - "null" + - string + subscription_id: + type: + - "null" + - integer + subtotal_amount: + type: + - "null" + - string + tax_amount: + type: + - "null" + - string + total_amount: + type: + - "null" + - string + uid: + type: + - "null" + - string + coupons: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + allow_negative_balance: + type: + - "null" + - boolean + amount: + type: + - "null" + - integer + amount_in_cents: + type: + - "null" + - integer + "apply_on_cancel_at_end_of_period ": + type: + - "null" + - boolean + archived_at: + type: + - "null" + - string + code: + type: + - "null" + - string + compounding_strategy: + type: + - "null" + - string + conversion_limit: + type: + - "null" + - string + coupon_restrictions: + type: + - "null" + - array + items: + type: + - "null" + - object + additionalProperties: true + properties: + handle: + type: + - "null" + - string + id: + type: + - "null" + - string + item_id: + type: + - "null" + - integer + item_type: + type: + - "null" + - string + name: + type: + - "null" + - string + created_at: + type: + - "null" + - string + description: + type: + - "null" + - string + discount_type: + type: + - "null" + - string + duration_interval: + type: + - "null" + - integer + duration_interval_span: + type: + - "null" + - string + duration_interval_unit: + type: + - "null" + - string + duration_period_count: + type: + - "null" + - integer + end_date: + type: + - "null" + - string + exclude_mid_period_allocations: + type: + - "null" + - boolean + id: + type: + - "null" + - integer + name: + type: + - "null" + - string + percentage: + type: + - "null" + - integer + product_family_id: + type: + - "null" + - integer + product_family_name: + type: + - "null" + - string + recurring: + type: + - "null" + - boolean + recurring_scheme: + type: + - "null" + - string + stackable: + type: + - "null" + - boolean + start_date: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + use_site_exchange_rate: + type: + - "null" + - boolean + transactions: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - "null" + - string + amount_in_cents: + type: + - "null" + - integer + card_expiration: + type: + - "null" + - string + card_number: + type: + - "null" + - string + card_type: + type: + - "null" + - string + component_id: + type: + - "null" + - integer + created_at: + type: + - "null" + - string + customer_id: + type: + - "null" + - integer + ending_balance_in_cents: + type: + - "null" + - integer + gateway_order_id: + type: + - "null" + - integer + gateway_transaction_id: + type: + - "null" + - string + gateway_used: + type: + - "null" + - string + id: + type: + - "null" + - integer + item_name: + type: + - "null" + - string + kind: + type: + - "null" + - string + memo: + type: + - "null" + - string + parent_id: + type: + - "null" + - integer + payment_id: + type: + - "null" + - integer + product_id: + type: + - "null" + - integer + refunded_amount_in_cents: + type: + - "null" + - integer + role: + type: + - "null" + - string + starting_balance_in_cents: + type: + - "null" + - integer + statement_id: + type: + - "null" + - integer + subscription_id: + type: + - "null" + - integer + success: + type: + - "null" + - boolean + tax_id: + type: + - "null" + - integer + transaction_type: + type: + - "null" + - string diff --git a/airbyte-integrations/connectors/source-chargify/source_chargify/run.py b/airbyte-integrations/connectors/source-chargify/source_chargify/run.py index 88f4450c9bcf..42414c1b3f5a 100644 --- a/airbyte-integrations/connectors/source-chargify/source_chargify/run.py +++ b/airbyte-integrations/connectors/source-chargify/source_chargify/run.py @@ -1,12 +1,13 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # import sys from airbyte_cdk.entrypoint import launch -from source_chargify import SourceChargify + +from .source import SourceChargify def run(): diff --git a/airbyte-integrations/connectors/source-chargify/source_chargify/schemas/coupons.json b/airbyte-integrations/connectors/source-chargify/source_chargify/schemas/coupons.json deleted file mode 100644 index 067416b2d9d8..000000000000 --- a/airbyte-integrations/connectors/source-chargify/source_chargify/schemas/coupons.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { "type": ["null", "integer"] }, - "name": { "type": ["null", "string"] }, - "code": { "type": ["null", "string"] }, - "description": { "type": ["null", "string"] }, - "amount": { "type": ["null", "integer"] }, - "amount_in_cents": { "type": ["null", "integer"] }, - "product_family_id": { "type": ["null", "integer"] }, - "product_family_name": { "type": ["null", "string"] }, - "start_date": { "type": ["null", "string"] }, - "end_date": { "type": ["null", "string"] }, - "percentage": { "type": ["null", "integer"] }, - "recurring": { "type": ["null", "boolean"] }, - "recurring_scheme": { "type": ["null", "string"] }, - "duration_period_count": { "type": ["null", "integer"] }, - "duration_interval": { "type": ["null", "integer"] }, - "duration_interval_unit": { "type": ["null", "string"] }, - "duration_interval_span": { "type": ["null", "string"] }, - "allow_negative_balance": { "type": ["null", "boolean"] }, - "archived_at": { "type": ["null", "string"] }, - "conversion_limit": { "type": ["null", "string"] }, - "stackable": { "type": ["null", "boolean"] }, - "compounding_strategy": { "type": ["null", "string"] }, - "use_site_exchange_rate": { "type": ["null", "boolean"] }, - "created_at": { "type": ["null", "string"] }, - "updated_at": { "type": ["null", "string"] }, - "discount_type": { "type": ["null", "string"] }, - "exclude_mid_period_allocations": { "type": ["null", "boolean"] }, - "apply_on_cancel_at_end_of_period ": { "type": ["null", "boolean"] }, - "coupon_restrictions": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "id": { "type": ["null", "string"] }, - "item_type": { "type": ["null", "string"] }, - "item_id": { "type": ["null", "integer"] }, - "name": { "type": ["null", "string"] }, - "handle": { "type": ["null", "string"] } - } - } - } - } -} diff --git a/airbyte-integrations/connectors/source-chargify/source_chargify/schemas/customers.json b/airbyte-integrations/connectors/source-chargify/source_chargify/schemas/customers.json deleted file mode 100644 index 21003d566321..000000000000 --- a/airbyte-integrations/connectors/source-chargify/source_chargify/schemas/customers.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": true, - "properties": { - "default_subscription_group_uid": { - "type": ["null", "string"] - }, - "portal_invite_last_sent_at": { - "type": ["null", "string"], - "format": "date-time" - }, - "vat_number": { - "type": ["null", "string"] - }, - "email": { - "type": ["null", "string"] - }, - "created_at": { - "type": ["null", "string"], - "format": "date-time" - }, - "zip": { - "type": ["null", "string"] - }, - "first_name": { - "type": ["null", "string"] - }, - "country_name": { - "type": ["null", "string"] - }, - "state": { - "type": ["null", "string"] - }, - "city": { - "type": ["null", "string"] - }, - "parent_id": { - "type": ["null", "integer"] - }, - "locale": { - "type": ["null", "string"] - }, - "portal_customer_created_at": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"], - "format": "date-time" - }, - "country": { - "type": ["null", "string"] - }, - "portal_invite_last_accepted_at": { - "type": ["null", "string"] - }, - "tax_exempt": { - "type": ["null", "boolean"] - }, - "id": { - "type": ["null", "integer"] - }, - "reference": { - "type": ["null", "string"] - }, - "last_name": { - "type": ["null", "string"] - }, - "address_2": { - "type": ["null", "string"] - }, - "phone": { - "type": ["null", "string"] - }, - "organization": { - "type": ["null", "string"] - }, - "address": { - "type": ["null", "string"] - }, - "verified": { - "type": ["null", "string"] - }, - "cc_emails": { - "type": ["null", "string"] - }, - "state_name": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-chargify/source_chargify/schemas/invoices.json b/airbyte-integrations/connectors/source-chargify/source_chargify/schemas/invoices.json deleted file mode 100644 index 7017fbc749cf..000000000000 --- a/airbyte-integrations/connectors/source-chargify/source_chargify/schemas/invoices.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": true, - "properties": { - "uid": { "type": ["null", "string"] }, - "site_id": { "type": ["null", "integer"] }, - "customer_id": { "type": ["null", "integer"] }, - "subscription_id": { "type": ["null", "integer"] }, - "number": { "type": ["null", "string"] }, - "sequence_number": { "type": ["null", "integer"] }, - "issue_date": { "type": ["null", "string"], "format": "date" }, - "due_date": { "type": ["null", "string"], "format": "date" }, - "paid_date": { "type": ["null", "string"], "format": "date" }, - "status": { "type": ["null", "string"] }, - "collection_method": { "type": ["null", "string"] }, - "payment_instructions": { "type": ["null", "string"] }, - "currency": { "type": ["null", "string"] }, - "consolidation_level": { "type": ["null", "string"] }, - "parent_invoice_uid": { "type": ["null", "integer"] }, - "parent_invoice_number": { "type": ["null", "integer"] }, - "group_primary_subscription_id": { "type": ["null", "integer"] }, - "product_name": { "type": ["null", "string"] }, - "product_family_name": { "type": ["null", "string"] }, - "seller": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "name": { "type": ["null", "string"] }, - "address": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "street": { "type": ["null", "string"] }, - "line2": { "type": ["null", "string"] }, - "city": { "type": ["null", "string"] }, - "state": { "type": ["null", "string"] }, - "zip": { "type": ["null", "string"] }, - "country": { "type": ["null", "string"] } - } - }, - "phone": { "type": ["null", "string"] } - } - }, - "customer": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "chargify_id": { "type": ["null", "integer"] }, - "first_name": { "type": ["null", "string"] }, - "last_name": { "type": ["null", "string"] }, - "organization": { "type": ["null", "string"] }, - "email": { "type": ["null", "string"] } - } - }, - "memo": { "type": ["null", "string"] }, - "billing_address": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "street": { "type": ["null", "string"] }, - "line2": { "type": ["null", "string"] }, - "city": { "type": ["null", "string"] }, - "state": { "type": ["null", "string"] }, - "zip": { "type": ["null", "string"] }, - "country": { "type": ["null", "string"] } - } - }, - "shipping_address": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "street": { "type": ["null", "string"] }, - "line2": { "type": ["null", "string"] }, - "city": { "type": ["null", "string"] }, - "state": { "type": ["null", "string"] }, - "zip": { "type": ["null", "string"] }, - "country": { "type": ["null", "string"] } - } - }, - "subtotal_amount": { "type": ["null", "string"] }, - "discount_amount": { "type": ["null", "string"] }, - "tax_amount": { "type": ["null", "string"] }, - "total_amount": { "type": ["null", "string"] }, - "credit_amount": { "type": ["null", "string"] }, - "paid_amount": { "type": ["null", "string"] }, - "refund_amount": { "type": ["null", "string"] }, - "due_amount": { "type": ["null", "string"] } - } -} diff --git a/airbyte-integrations/connectors/source-chargify/source_chargify/schemas/subscriptions.json b/airbyte-integrations/connectors/source-chargify/source_chargify/schemas/subscriptions.json deleted file mode 100644 index 683601fbfa58..000000000000 --- a/airbyte-integrations/connectors/source-chargify/source_chargify/schemas/subscriptions.json +++ /dev/null @@ -1,576 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "id": { - "type": ["null", "integer"] - }, - "state": { - "type": ["null", "string"] - }, - "balance_in_cents": { - "type": ["null", "integer"] - }, - "total_revenue_in_cents": { - "type": ["null", "integer"] - }, - "product_price_in_cents": { - "type": ["null", "integer"] - }, - "product_version_number": { - "type": ["null", "integer"] - }, - "current_period_ends_at": { - "type": ["null", "string"] - }, - "next_assessment_at": { - "type": ["null", "string"] - }, - "trial_started_at": { - "type": ["null", "string"] - }, - "credit_balance_in_cents": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - }, - "locale": { - "type": ["null", "string"] - }, - "prepayment_balance_in_cents": { - "type": ["null", "integer"] - }, - "receives_invoice_emails": { - "type": ["null", "boolean"] - }, - "scheduled_cancellation_at": { - "type": ["null", "string"] - }, - "trial_ended_at": { - "type": ["null", "string"] - }, - "activated_at": { - "type": ["null", "string"] - }, - "expires_at": { - "type": ["null", "string"] - }, - "created_at": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"] - }, - "cancellation_message": { - "type": ["null", "string"] - }, - "cancellation_method": { - "type": ["null", "string"] - }, - "cancel_at_end_of_period": { - "type": ["null", "boolean"] - }, - "canceled_at": { - "type": ["null", "string"] - }, - "current_period_started_at": { - "type": ["null", "string"] - }, - "previous_state": { - "type": ["null", "string"] - }, - "signup_payment_id": { - "type": ["null", "integer"] - }, - "signup_revenue": { - "type": ["null", "string"] - }, - "delayed_cancel_at": { - "type": ["null", "string"] - }, - "coupon_code": { - "type": ["null", "string"] - }, - "snap_day": { - "type": ["null", "string"] - }, - "payment_collection_method": { - "type": ["null", "string"] - }, - "customer": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "first_name": { - "type": ["null", "string"] - }, - "last_name": { - "type": ["null", "string"] - }, - "email": { - "type": ["null", "string"] - }, - "cc_emails": { - "type": ["null", "string"] - }, - "organization": { - "type": ["null", "string"] - }, - "reference": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "integer"] - }, - "created_at": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"] - }, - "address": { - "type": ["null", "string"] - }, - "address_2": { - "type": ["null", "string"] - }, - "city": { - "type": ["null", "string"] - }, - "state": { - "type": ["null", "string"] - }, - "state_name": { - "type": ["null", "string"] - }, - "zip": { - "type": ["null", "string"] - }, - "country": { - "type": ["null", "string"] - }, - "country_name": { - "type": ["null", "string"] - }, - "phone": { - "type": ["null", "string"] - }, - "verified": { - "type": ["null", "boolean"] - }, - "portal_customer_created_at": { - "type": ["null", "string"] - }, - "portal_invite_last_sent_at": { - "type": ["null", "string"] - }, - "portal_invite_last_accepted_at": { - "type": ["null", "string"] - }, - "tax_exempt": { - "type": ["null", "boolean"] - }, - "vat_number": { - "type": ["null", "string"] - }, - "parent_id": { - "type": ["null", "integer"] - }, - "locale": { - "type": ["null", "string"] - }, - "default_subscription_group_uid": { - "type": ["null", "string"] - } - } - }, - "product": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "id": { - "type": ["null", "integer"] - }, - "name": { - "type": ["null", "string"] - }, - "handle": { - "type": ["null", "string"] - }, - "description": { - "type": ["null", "string"] - }, - "accounting_code": { - "type": ["null", "string"] - }, - "request_credit_card": { - "type": ["null", "boolean"] - }, - "expiration_interval": { - "type": ["null", "integer"] - }, - "expiration_interval_unit": { - "type": ["null", "string"] - }, - "created_at": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"] - }, - "price_in_cents": { - "type": ["null", "integer"] - }, - "interval": { - "type": ["null", "integer"] - }, - "interval_unit": { - "type": ["null", "string"] - }, - "initial_charge_in_cents": { - "type": ["null", "integer"] - }, - "trial_price_in_cents": { - "type": ["null", "integer"] - }, - "trial_interval": { - "type": ["null", "integer"] - }, - "trial_interval_unit": { - "type": ["null", "string"] - }, - "archived_at": { - "type": ["null", "string"] - }, - "require_credit_card": { - "type": ["null", "boolean"] - }, - "return_params": { - "type": ["null", "string"] - }, - "taxable": { - "type": ["null", "boolean"] - }, - "update_return_url": { - "type": ["null", "string"] - }, - "initial_charge_after_trial": { - "type": ["null", "boolean"] - }, - "version_number": { - "type": ["null", "integer"] - }, - "update_return_params": { - "type": ["null", "string"] - }, - "product_family": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "id": { - "type": ["null", "integer"] - }, - "name": { - "type": ["null", "string"] - }, - "handle": { - "type": ["null", "string"] - }, - "accounting_code": { - "type": ["null", "string"] - }, - "description": { - "type": ["null", "string"] - }, - "created_at": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"] - } - } - }, - "public_signup_pages": { - "type": ["null", "array"], - "items": { - "anyOf": [ - { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "id": { - "type": ["null", "integer"] - }, - "return_url": { - "type": ["null", "string"] - }, - "return_params": { - "type": ["null", "string"] - }, - "url": { - "type": ["null", "string"] - } - } - } - ] - } - }, - "product_price_point_name": { - "type": ["null", "string"] - }, - "request_billing_address": { - "type": ["null", "boolean"] - }, - "require_billing_address": { - "type": ["null", "boolean"] - }, - "require_shipping_address": { - "type": ["null", "boolean"] - }, - "tax_code": { - "type": ["null", "string"] - }, - "default_product_price_point_id": { - "type": ["null", "integer"] - } - } - }, - "credit_card": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "id": { - "type": ["null", "integer"] - }, - "first_name": { - "type": ["null", "string"] - }, - "last_name": { - "type": ["null", "string"] - }, - "masked_card_number": { - "type": ["null", "string"] - }, - "card_type": { - "type": ["null", "string"] - }, - "expiration_month": { - "type": ["null", "integer"] - }, - "expiration_year": { - "type": ["null", "integer"] - }, - "customer_id": { - "type": ["null", "integer"] - }, - "current_vault": { - "type": ["null", "string"] - }, - "vault_token": { - "type": ["null", "string"] - }, - "billing_address": { - "type": ["null", "string"] - }, - "billing_city": { - "type": ["null", "string"] - }, - "billing_state": { - "type": ["null", "string"] - }, - "billing_zip": { - "type": ["null", "string"] - }, - "billing_country": { - "type": ["null", "string"] - }, - "customer_vault_token": { - "type": ["null", "string"] - }, - "billing_address_2": { - "type": ["null", "string"] - }, - "payment_type": { - "type": ["null", "string"] - }, - "disabled": { - "type": ["null", "boolean"] - }, - "chargify_token": { - "type": ["null", "string"] - }, - "site_gateway_setting_id": { - "type": ["null", "integer"] - }, - "gateway_handle": { - "type": ["null", "string"] - } - } - }, - "group": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "uid": { - "type": ["null", "string"] - }, - "scheme": { - "type": ["null", "string"] - }, - "primary_subscription_id": { - "type": ["null", "string"] - }, - "primary": { - "type": ["null", "string"] - } - } - }, - "bank_account": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "bank_account_holder_type": { - "type": ["null", "string"] - }, - "bank_account_type": { - "type": ["null", "string"] - }, - "bank_name": { - "type": ["null", "string"] - }, - "billing_address": { - "type": ["null", "string"] - }, - "billing_address_2": { - "type": ["null", "string"] - }, - "billing_city": { - "type": ["null", "string"] - }, - "billing_state": { - "type": ["null", "string"] - }, - "billing_zip": { - "type": ["null", "string"] - }, - "billing_country": { - "type": ["null", "string"] - }, - "current_vault": { - "type": ["null", "string"] - }, - "customer_id": { - "type": ["null", "integer"] - }, - "customer_vault_token": { - "type": ["null", "string"] - }, - "first_name": { - "type": ["null", "string"] - }, - "last_name": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "integer"] - }, - "masked_bank_account_number": { - "type": ["null", "string"] - }, - "masked_bank_routing_number": { - "type": ["null", "string"] - }, - "vault_token": { - "type": ["null", "string"] - }, - "chargify_token": { - "type": ["null", "string"] - }, - "site_gateway_setting_id": { - "type": ["null", "integer"] - }, - "gateway_handle": { - "type": ["null", "string"] - } - } - }, - "payment_type": { - "type": ["null", "string"] - }, - "referral_code": { - "type": ["null", "string"] - }, - "next_product_id": { - "type": ["null", "integer"] - }, - "next_product_handle": { - "type": ["null", "string"] - }, - "coupon_use_count": { - "type": ["null", "integer"] - }, - "coupon_uses_allowed": { - "type": ["null", "integer"] - }, - "product_price_point_type": { - "type": ["null", "string"] - }, - "coupons": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "additionalProperties": true - } - }, - "reason_code": { - "type": ["null", "string"] - }, - "automatically_resume_at": { - "type": ["null", "string"] - }, - "coupon_codes": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - }, - "offer_id": { - "type": ["null", "integer"] - }, - "payer_id": { - "type": ["null", "integer"] - }, - "current_billing_amount_in_cents": { - "type": ["null", "integer"] - }, - "product_price_point_id": { - "type": ["null", "integer"] - }, - "next_product_price_point_id": { - "type": ["null", "integer"] - }, - "net_terms": { - "type": ["null", "integer"] - }, - "stored_credential_transaction_id": { - "type": ["null", "integer"] - }, - "reference": { - "type": ["null", "string"] - }, - "on_hold_at": { - "type": ["null", "string"] - }, - "prepaid_dunning": { - "type": ["null", "boolean"] - }, - "dunning_communication_delay_enabled": { - "type": ["null", "boolean"] - }, - "dunning_communication_delay_time_zone": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-chargify/source_chargify/schemas/transactions.json b/airbyte-integrations/connectors/source-chargify/source_chargify/schemas/transactions.json deleted file mode 100644 index 2dbd4518e142..000000000000 --- a/airbyte-integrations/connectors/source-chargify/source_chargify/schemas/transactions.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { "type": ["null", "integer"] }, - "subscription_id": { "type": ["null", "integer"] }, - "type": { "type": ["null", "string"] }, - "kind": { "type": ["null", "string"] }, - "transaction_type": { "type": ["null", "string"] }, - "success": { "type": ["null", "boolean"] }, - "amount_in_cents": { "type": ["null", "integer"] }, - "memo": { "type": ["null", "string"] }, - "created_at": { "type": ["null", "string"] }, - "starting_balance_in_cents": { "type": ["null", "integer"] }, - "ending_balance_in_cents": { "type": ["null", "integer"] }, - "gateway_used": { "type": ["null", "string"] }, - "gateway_transaction_id": { "type": ["null", "string"] }, - "gateway_order_id": { "type": ["null", "integer"] }, - "payment_id": { "type": ["null", "integer"] }, - "product_id": { "type": ["null", "integer"] }, - "tax_id": { "type": ["null", "integer"] }, - "component_id": { "type": ["null", "integer"] }, - "statement_id": { "type": ["null", "integer"] }, - "customer_id": { "type": ["null", "integer"] }, - "item_name": { "type": ["null", "string"] }, - "parent_id": { "type": ["null", "integer"] }, - "role": { "type": ["null", "string"] }, - "card_number": { "type": ["null", "string"] }, - "card_expiration": { "type": ["null", "string"] }, - "card_type": { "type": ["null", "string"] }, - "refunded_amount_in_cents": { "type": ["null", "integer"] } - } -} diff --git a/airbyte-integrations/connectors/source-chargify/source_chargify/source.py b/airbyte-integrations/connectors/source-chargify/source_chargify/source.py index 7c9d8f287428..60b6d2fe6754 100644 --- a/airbyte-integrations/connectors/source-chargify/source_chargify/source.py +++ b/airbyte-integrations/connectors/source-chargify/source_chargify/source.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # from airbyte_cdk.sources.declarative.yaml_declarative_source import YamlDeclarativeSource diff --git a/airbyte-integrations/connectors/source-configcat/metadata.yaml b/airbyte-integrations/connectors/source-configcat/metadata.yaml index 682370066d0a..65fc0d20ee9a 100644 --- a/airbyte-integrations/connectors/source-configcat/metadata.yaml +++ b/airbyte-integrations/connectors/source-configcat/metadata.yaml @@ -2,7 +2,7 @@ data: connectorSubtype: api connectorType: source definitionId: 4fd7565c-8b99-439b-80d0-2d965e1d958c - dockerImageTag: 0.1.1 + dockerImageTag: 0.1.2 dockerRepository: airbyte/source-configcat githubIssueLabel: source-configcat icon: configcat.svg @@ -35,5 +35,5 @@ data: type: GSM alias: airbyte-connector-testing-secret-store connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 metadataSpecVersion: "1.0" diff --git a/airbyte-integrations/connectors/source-configcat/pyproject.toml b/airbyte-integrations/connectors/source-configcat/pyproject.toml index 456a5986e745..2a66265a1f12 100644 --- a/airbyte-integrations/connectors/source-configcat/pyproject.toml +++ b/airbyte-integrations/connectors/source-configcat/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.1.1" +version = "0.1.2" name = "source-configcat" description = "Source implementation for Configcat." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-datascope/metadata.yaml b/airbyte-integrations/connectors/source-datascope/metadata.yaml index 669357ba8cd9..af56bf25ae34 100644 --- a/airbyte-integrations/connectors/source-datascope/metadata.yaml +++ b/airbyte-integrations/connectors/source-datascope/metadata.yaml @@ -2,7 +2,7 @@ data: connectorSubtype: api connectorType: source definitionId: 8e1ae2d2-4790-44d3-9d83-75b3fc3940ff - dockerImageTag: 0.1.2 + dockerImageTag: 0.1.3 dockerRepository: airbyte/source-datascope githubIssueLabel: source-datascope icon: datascope.svg diff --git a/airbyte-integrations/connectors/source-datascope/pyproject.toml b/airbyte-integrations/connectors/source-datascope/pyproject.toml index d40a5adb4b4c..7b8a0b74f11c 100644 --- a/airbyte-integrations/connectors/source-datascope/pyproject.toml +++ b/airbyte-integrations/connectors/source-datascope/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.1.2" +version = "0.1.3" name = "source-datascope" description = "Source implementation for Datascope." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-datascope/requirements.txt b/airbyte-integrations/connectors/source-datascope/requirements.txt deleted file mode 100644 index d6e1198b1ab1..000000000000 --- a/airbyte-integrations/connectors/source-datascope/requirements.txt +++ /dev/null @@ -1 +0,0 @@ --e . diff --git a/airbyte-integrations/connectors/source-datascope/source_datascope/manifest.yaml b/airbyte-integrations/connectors/source-datascope/source_datascope/manifest.yaml index 7d24cc33daa2..70e3553fa82e 100644 --- a/airbyte-integrations/connectors/source-datascope/source_datascope/manifest.yaml +++ b/airbyte-integrations/connectors/source-datascope/source_datascope/manifest.yaml @@ -1,92 +1,379 @@ -version: "0.29.0" +version: 0.79.1 + +type: DeclarativeSource + +check: + type: CheckStream + stream_names: + - locations definitions: - selector: - extractor: - field_path: [] - requester: - url_base: "https://www.mydatascope.com/api/external/" - http_method: "GET" + streams: + locations: + type: DeclarativeStream + name: locations + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /locations + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 200 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/locations" + answers: + type: DeclarativeStream + name: answers + primary_key: + - form_answer_id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /v2/answers + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 200 + incremental_sync: + type: DatetimeBasedCursor + cursor_field: created_at + name: answers + primary_key: form_answer_id + path: /v2/answers + cursor_datetime_formats: + - "%d/%m/%Y %H:%M" + datetime_format: "%d/%m/%Y %H:%M" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config['start_date'] }}" + datetime_format: "%d/%m/%Y %H:%M" + start_time_option: + type: RequestOption + field_name: start + inject_into: request_parameter + end_time_option: + type: RequestOption + field_name: end + inject_into: request_parameter + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%d/%m/%Y %H:%M') }}" + datetime_format: "%d/%m/%Y %H:%M" + step: P1D + cursor_granularity: P1D + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/answers" + lists: + type: DeclarativeStream + name: lists + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /metadata_objects + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 200 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/lists" + notifications: + type: DeclarativeStream + name: notifications + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /notifications + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 200 + incremental_sync: + type: DatetimeBasedCursor + cursor_field: created_at + name: notifications + primary_key: id + path: /notifications + cursor_datetime_formats: + - "%d/%m/%Y %H:%M" + datetime_format: "%d/%m/%Y %H:%M" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config['start_date'] }}" + datetime_format: "%d/%m/%Y %H:%M" + start_time_option: + type: RequestOption + field_name: start + inject_into: request_parameter + end_time_option: + type: RequestOption + field_name: end + inject_into: request_parameter + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%d/%m/%Y %H:%M') }}" + datetime_format: "%d/%m/%Y %H:%M" + step: P1D + cursor_granularity: P1D + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/notifications" + base_requester: + type: HttpRequester + url_base: https://www.mydatascope.com/api/external/ authenticator: type: ApiKeyAuthenticator - header: "Authorization" api_token: "{{ config['api_key'] }}" - incremental_sync: - type: "DatetimeBasedCursor" - start_datetime: - datetime: "{{ config['start_date'] }}" - datetime_format: "%d/%m/%Y %H:%M" - end_datetime: - datetime: "{{ now_utc().strftime('%d/%m/%Y %H:%M') }}" - datetime_format: "%d/%m/%Y %H:%M" - step: "P1D" - datetime_format: "%d/%m/%Y %H:%M" - # There is a discrepancy between the format of the cursor `created_at` and the granularity of the API hence "P1D" - # here instead of "PT1M" if we were to check the datetime_format - cursor_granularity: "P1D" - cursor_field: "created_at" - start_time_option: - field_name: "start" - inject_into: "request_parameter" - end_time_option: - field_name: "end" - inject_into: "request_parameter" - - retriever: - record_selector: - $ref: "#/definitions/selector" - paginator: - type: DefaultPaginator - page_size_option: - inject_into: "request_parameter" - field_name: "limit" - pagination_strategy: - type: "OffsetIncrement" - page_size: 200 - page_token_option: + inject_into: type: RequestOption - inject_into: "request_parameter" - field_name: "offset" - requester: - $ref: "#/definitions/requester" + field_name: Authorization + inject_into: header - base_stream: - retriever: - $ref: "#/definitions/retriever" - location_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "locations" - primary_key: "id" - path: "/locations" - answers_stream: - $ref: "#/definitions/base_stream" - incremental_sync: - $ref: "#/definitions/incremental_sync" - $parameters: - name: "answers" - primary_key: "form_answer_id" - path: "/v2/answers" - lists_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "lists" - primary_key: "id" - path: "/metadata_objects" - notifications_stream: - $ref: "#/definitions/base_stream" - incremental_sync: - $ref: "#/definitions/incremental_sync" - $parameters: - name: "notifications" - primary_key: "id" - path: "/notifications" streams: - - "#/definitions/location_stream" - - "#/definitions/answers_stream" - - "#/definitions/lists_stream" - - "#/definitions/notifications_stream" + - $ref: "#/definitions/streams/locations" + - $ref: "#/definitions/streams/answers" + - $ref: "#/definitions/streams/lists" + - $ref: "#/definitions/streams/notifications" -check: - stream_names: - - "locations" +spec: + type: Spec + connection_specification: + type: object + $schema: http://json-schema.org/draft-07/schema# + required: + - api_key + - start_date + properties: + api_key: + type: string + title: Authorization + airbyte_secret: true + description: API Key + order: 0 + start_date: + type: string + title: Start Date + description: Start date for the data to be replicated + examples: + - dd/mm/YYYY HH:MM + pattern: ^[0-9]{2}/[0-9]{2}/[0-9]{4} [0-9]{2}:[0-9]{2}$ + order: 1 + additionalProperties: true + +metadata: + autoImportSchema: + locations: false + answers: false + lists: false + notifications: false + +schemas: + locations: + "$schema": http://json-schema.org/draft-04/schema# + type: object + properties: + id: + type: integer + name: + type: string + description: + type: + - string + - "null" + code: + type: + - string + - "null" + address: + type: + - string + - "null" + city: + type: + - string + - "null" + country: + type: + - string + - "null" + latitude: + type: + - number + - "null" + longitude: + type: + - number + - "null" + region: + type: + - string + - "null" + phone: + type: + - string + - "null" + company_code: + type: + - string + - "null" + company_name: + type: + - string + - "null" + + answers: + "$schema": http://json-schema.org/draft-07/schema# + type: object + properties: + form_name: + type: string + form_state: + type: + - string + - "null" + user_name: + type: string + user_identifier: + type: string + code: + type: string + form_id: + type: integer + created_at: + type: string + form_answer_id: + type: integer + latitude: + type: + - number + - "null" + longitude: + type: + - number + - "null" + "[question_name1]": + type: string + "[question_name2]": + type: string + "[question_name3]": + type: string + lists: + "$schema": http://json-schema.org/draft-07/schema# + type: object + properties: + id: + type: integer + name: + type: string + description: + type: string + attribute1: + type: string + attribute2: + type: string + list_id: + type: integer + account_id: + type: integer + code: + type: string + created_at: + type: string + updated_at: + type: string + + notifications: + "$schema": http://json-schema.org/draft-04/schema# + type: object + properties: + id: + type: integer + type: + type: string + url: + type: string + form_name: + type: string + form_code: + type: string + user: + type: string + created_at: + type: string diff --git a/airbyte-integrations/connectors/source-datascope/source_datascope/schemas/answers.json b/airbyte-integrations/connectors/source-datascope/source_datascope/schemas/answers.json deleted file mode 100644 index 960bd2d789a1..000000000000 --- a/airbyte-integrations/connectors/source-datascope/source_datascope/schemas/answers.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "properties": { - "form_name": { - "type": "string" - }, - "form_state": { - "type": ["string", "null"] - }, - "user_name": { - "type": "string" - }, - "user_identifier": { - "type": "string" - }, - "code": { - "type": "string" - }, - "form_id": { - "type": "integer" - }, - "created_at": { - "type": "string" - }, - "form_answer_id": { - "type": "integer" - }, - "latitude": { - "type": ["number", "null"] - }, - "longitude": { - "type": ["number", "null"] - }, - "[question_name1]": { - "type": "string" - }, - "[question_name2]": { - "type": "string" - }, - "[question_name3]": { - "type": "string" - } - } -} diff --git a/airbyte-integrations/connectors/source-datascope/source_datascope/schemas/lists.json b/airbyte-integrations/connectors/source-datascope/source_datascope/schemas/lists.json deleted file mode 100644 index 162819617e2f..000000000000 --- a/airbyte-integrations/connectors/source-datascope/source_datascope/schemas/lists.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "attribute1": { - "type": "string" - }, - "attribute2": { - "type": "string" - }, - "list_id": { - "type": "integer" - }, - "account_id": { - "type": "integer" - }, - "code": { - "type": "string" - }, - "created_at": { - "type": "string" - }, - "updated_at": { - "type": "string" - } - } -} diff --git a/airbyte-integrations/connectors/source-datascope/source_datascope/schemas/locations.json b/airbyte-integrations/connectors/source-datascope/source_datascope/schemas/locations.json deleted file mode 100644 index 6226b5676edc..000000000000 --- a/airbyte-integrations/connectors/source-datascope/source_datascope/schemas/locations.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "description": { - "type": ["string", "null"] - }, - "code": { - "type": ["string", "null"] - }, - "address": { - "type": ["string", "null"] - }, - "city": { - "type": ["string", "null"] - }, - "country": { - "type": ["string", "null"] - }, - "latitude": { - "type": ["number", "null"] - }, - "longitude": { - "type": ["number", "null"] - }, - "region": { - "type": ["string", "null"] - }, - "phone": { - "type": ["string", "null"] - }, - "company_code": { - "type": ["string", "null"] - }, - "company_name": { - "type": ["string", "null"] - } - } -} diff --git a/airbyte-integrations/connectors/source-datascope/source_datascope/schemas/notifications.json b/airbyte-integrations/connectors/source-datascope/source_datascope/schemas/notifications.json deleted file mode 100644 index d5d26f539c31..000000000000 --- a/airbyte-integrations/connectors/source-datascope/source_datascope/schemas/notifications.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "url": { - "type": "string" - }, - "form_name": { - "type": "string" - }, - "form_code": { - "type": "string" - }, - "user": { - "type": "string" - }, - "created_at": { - "type": "string" - } - } -} diff --git a/airbyte-integrations/connectors/source-datascope/source_datascope/spec.yaml b/airbyte-integrations/connectors/source-datascope/source_datascope/spec.yaml deleted file mode 100644 index 18358d23ce35..000000000000 --- a/airbyte-integrations/connectors/source-datascope/source_datascope/spec.yaml +++ /dev/null @@ -1,22 +0,0 @@ -documentationUrl: "https://docs.airbyte.com/integrations/sources/datascope" -connectionSpecification: - $schema: "http://json-schema.org/draft-07/schema#" - title: Datascope Spec - type: object - required: - - api_key - - start_date - additionalProperties: true - properties: - start_date: - title: Start Date - type: string - description: Start date for the data to be replicated - examples: - - "dd/mm/YYYY HH:MM" - pattern: "^[0-9]{2}/[0-9]{2}/[0-9]{4} [0-9]{2}:[0-9]{2}$" - api_key: - title: Authorization - type: string - description: API Key - airbyte_secret: true diff --git a/airbyte-integrations/connectors/source-dremio/metadata.yaml b/airbyte-integrations/connectors/source-dremio/metadata.yaml index 0901d94f22d6..758168e84083 100644 --- a/airbyte-integrations/connectors/source-dremio/metadata.yaml +++ b/airbyte-integrations/connectors/source-dremio/metadata.yaml @@ -2,7 +2,7 @@ data: connectorSubtype: api connectorType: source definitionId: d99e9ace-8621-46c2-9144-76ae4751d64b - dockerImageTag: 0.1.1 + dockerImageTag: 0.1.2 dockerRepository: airbyte/source-dremio githubIssueLabel: source-dremio icon: dremio.svg @@ -35,5 +35,5 @@ data: type: GSM alias: airbyte-connector-testing-secret-store connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 metadataSpecVersion: "1.0" diff --git a/airbyte-integrations/connectors/source-dremio/pyproject.toml b/airbyte-integrations/connectors/source-dremio/pyproject.toml index e1b7241a91b4..36062a0838f5 100644 --- a/airbyte-integrations/connectors/source-dremio/pyproject.toml +++ b/airbyte-integrations/connectors/source-dremio/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.1.1" +version = "0.1.2" name = "source-dremio" description = "Source implementation for Dremio." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-exchange-rates/metadata.yaml b/airbyte-integrations/connectors/source-exchange-rates/metadata.yaml index 4a603e1c7643..9dd495eb9eb7 100644 --- a/airbyte-integrations/connectors/source-exchange-rates/metadata.yaml +++ b/airbyte-integrations/connectors/source-exchange-rates/metadata.yaml @@ -16,11 +16,11 @@ data: # Please update to the latest version of the connector base image. # https://hub.docker.com/r/airbyte/python-connector-base # Please use the full address with sha256 hash to guarantee build reproducibility. - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 connectorSubtype: api connectorType: source definitionId: e2b40e36-aa0e-4bed-b41b-bcea6fa348b1 - dockerImageTag: 1.3.1 + dockerImageTag: 1.3.2 dockerRepository: airbyte/source-exchange-rates githubIssueLabel: source-exchange-rates icon: exchangeratesapi.svg diff --git a/airbyte-integrations/connectors/source-exchange-rates/pyproject.toml b/airbyte-integrations/connectors/source-exchange-rates/pyproject.toml index f0876ef50ff4..3efad16277b9 100644 --- a/airbyte-integrations/connectors/source-exchange-rates/pyproject.toml +++ b/airbyte-integrations/connectors/source-exchange-rates/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "1.3.1" +version = "1.3.2" name = "source-exchange-rates" description = "Source implementation for exchange-rates." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-freshdesk/metadata.yaml b/airbyte-integrations/connectors/source-freshdesk/metadata.yaml index f5a73321f0e0..3e80818f5346 100644 --- a/airbyte-integrations/connectors/source-freshdesk/metadata.yaml +++ b/airbyte-integrations/connectors/source-freshdesk/metadata.yaml @@ -6,11 +6,11 @@ data: hosts: - "*.freshdesk.com" connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 connectorSubtype: api connectorType: source definitionId: ec4b9503-13cb-48ab-a4ab-6ade4be46567 - dockerImageTag: 3.1.0 + dockerImageTag: 3.1.1 dockerRepository: airbyte/source-freshdesk documentationUrl: https://docs.airbyte.com/integrations/sources/freshdesk githubIssueLabel: source-freshdesk diff --git a/airbyte-integrations/connectors/source-freshdesk/pyproject.toml b/airbyte-integrations/connectors/source-freshdesk/pyproject.toml index 5ac4cb37eee2..19fb48811477 100644 --- a/airbyte-integrations/connectors/source-freshdesk/pyproject.toml +++ b/airbyte-integrations/connectors/source-freshdesk/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "3.1.0" +version = "3.1.1" name = "source-freshdesk" description = "Source implementation for Freshdesk." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-greenhouse/metadata.yaml b/airbyte-integrations/connectors/source-greenhouse/metadata.yaml index f7361902b088..742711e6dd77 100644 --- a/airbyte-integrations/connectors/source-greenhouse/metadata.yaml +++ b/airbyte-integrations/connectors/source-greenhouse/metadata.yaml @@ -6,11 +6,11 @@ data: hosts: - harvest.greenhouse.io connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 connectorSubtype: api connectorType: source definitionId: 59f1e50a-331f-4f09-b3e8-2e8d4d355f44 - dockerImageTag: 0.5.3 + dockerImageTag: 0.5.4 dockerRepository: airbyte/source-greenhouse documentationUrl: https://docs.airbyte.com/integrations/sources/greenhouse githubIssueLabel: source-greenhouse diff --git a/airbyte-integrations/connectors/source-greenhouse/pyproject.toml b/airbyte-integrations/connectors/source-greenhouse/pyproject.toml index 3f86cd9c433c..c767bb75fe26 100644 --- a/airbyte-integrations/connectors/source-greenhouse/pyproject.toml +++ b/airbyte-integrations/connectors/source-greenhouse/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.5.3" +version = "0.5.4" name = "source-greenhouse" description = "Source implementation for Greenhouse." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-harness/Dockerfile b/airbyte-integrations/connectors/source-harness/Dockerfile deleted file mode 100644 index 8542d6eca698..000000000000 --- a/airbyte-integrations/connectors/source-harness/Dockerfile +++ /dev/null @@ -1,38 +0,0 @@ -FROM python:3.9.11-alpine3.15 as base - -# build and load all requirements -FROM base as builder -WORKDIR /airbyte/integration_code - -# upgrade pip to the latest version -RUN apk --no-cache upgrade \ - && pip install --upgrade pip \ - && apk --no-cache add tzdata build-base - - -COPY setup.py ./ -# install necessary packages to a temporary folder -RUN pip install --prefix=/install . - -# build a clean environment -FROM base -WORKDIR /airbyte/integration_code - -# copy all loaded and built libraries to a pure basic image -COPY --from=builder /install /usr/local -# add default timezone settings -COPY --from=builder /usr/share/zoneinfo/Etc/UTC /etc/localtime -RUN echo "Etc/UTC" > /etc/timezone - -# bash is installed for more convenient debugging. -RUN apk --no-cache add bash - -# copy payload code only -COPY main.py ./ -COPY source_harness ./source_harness - -ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py" -ENTRYPOINT ["python", "/airbyte/integration_code/main.py"] - -LABEL io.airbyte.version=0.1.0 -LABEL io.airbyte.name=airbyte/source-harness diff --git a/airbyte-integrations/connectors/source-harness/README.md b/airbyte-integrations/connectors/source-harness/README.md index 98e74c65d76d..7b91da638c2c 100644 --- a/airbyte-integrations/connectors/source-harness/README.md +++ b/airbyte-integrations/connectors/source-harness/README.md @@ -1,42 +1,56 @@ -# Harness Source +# Harness source connector -This is the repository for the Harness configuration based source connector. + +This is the repository for the Harness source connector, written in Python. For information about how to use this connector within Airbyte, see [the documentation](https://docs.airbyte.com/integrations/sources/harness). ## Local development -#### Create credentials +### Prerequisites +* Python (~=3.9) +* Poetry (~=1.7) - installation instructions [here](https://python-poetry.org/docs/#installation) + + +### Installing the connector +From this connector directory, run: +```bash +poetry install --with dev +``` + +### Create credentials **If you are a community contributor**, follow the instructions in the [documentation](https://docs.airbyte.com/integrations/sources/harness) to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `source_harness/spec.yaml` file. Note that any directory named `secrets` is gitignored across the entire Airbyte repo, so there is no danger of accidentally checking in sensitive information. -See `integration_tests/sample_config.json` for a sample config file. +See `sample_files/sample_config.json` for a sample config file. -**If you are an Airbyte core member**, copy the credentials in Lastpass under the secret name `source harness test creds` -and place them into `secrets/config.json`. -### Locally running the connector docker image - -#### Build +### Locally running the connector +``` +poetry run source-harness spec +poetry run source-harness check --config secrets/config.json +poetry run source-harness discover --config secrets/config.json +poetry run source-harness read --config secrets/config.json --catalog sample_files/configured_catalog.json +``` -**Via [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md) (recommended):** +### Running unit tests +To run unit tests locally, from the connector directory run: +``` +poetry run pytest unit_tests +``` +### Building the docker image +1. Install [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md) +2. Run the following command to build the docker image: ```bash airbyte-ci connectors --name=source-harness build ``` -An image will be built with the tag `airbyte/source-harness:dev`. - -**Via `docker build`:** +An image will be available on your host with the tag `airbyte/source-harness:dev`. -```bash -docker build -t airbyte/source-harness:dev . -``` - -#### Run +### Running as a docker container Then run any of the connector commands as follows: - ``` docker run --rm airbyte/source-harness:dev spec docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-harness:dev check --config /secrets/config.json @@ -44,35 +58,34 @@ docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-harness:dev discover - docker run --rm -v $(pwd)/secrets:/secrets -v $(pwd)/integration_tests:/integration_tests airbyte/source-harness:dev read --config /secrets/config.json --catalog /integration_tests/configured_catalog.json ``` -## Testing - +### Running our CI test suite You can run our full test suite locally using [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md): - ```bash airbyte-ci connectors --name=source-harness test ``` ### Customizing acceptance Tests - -Customize `acceptance-test-config.yml` file to configure tests. See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) for more information. +Customize `acceptance-test-config.yml` file to configure acceptance tests. See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) for more information. If your connector requires to create or destroy resources for use during acceptance tests create fixtures for it and place them inside integration_tests/acceptance.py. -## Dependency Management - -All of your dependencies should go in `setup.py`, NOT `requirements.txt`. The requirements file is only used to connect internal Airbyte dependencies in the monorepo for local development. -We split dependencies between two groups, dependencies that are: - -- required for your connector to work need to go to `MAIN_REQUIREMENTS` list. -- required for the testing need to go to `TEST_REQUIREMENTS` list +### Dependency Management +All of your dependencies should be managed via Poetry. +To add a new dependency, run: +```bash +poetry add +``` -### Publishing a new version of the connector +Please commit the changes to `pyproject.toml` and `poetry.lock` files. +## Publishing a new version of the connector You've checked out the repo, implemented a million dollar feature, and you're ready to share your changes with the world. Now what? - 1. Make sure your changes are passing our test suite: `airbyte-ci connectors --name=source-harness test` -2. Bump the connector version in `metadata.yaml`: increment the `dockerImageTag` value. Please follow [semantic versioning for connectors](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#semantic-versioning-for-connectors). +2. Bump the connector version (please follow [semantic versioning for connectors](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#semantic-versioning-for-connectors)): + - bump the `dockerImageTag` value in in `metadata.yaml` + - bump the `version` value in `pyproject.toml` 3. Make sure the `metadata.yaml` content is up to date. -4. Make the connector documentation and its changelog is up to date (`docs/integrations/sources/harness.md`). +4. Make sure the connector documentation and its changelog is up to date (`docs/integrations/sources/harness.md`). 5. Create a Pull Request: use [our PR naming conventions](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#pull-request-title-convention). 6. Pat yourself on the back for being an awesome contributor. 7. Someone from Airbyte will take a look at your PR and iterate with you to merge it into master. +8. Once your PR is merged, the new version of the connector will be automatically published to Docker Hub and our connector registry. \ No newline at end of file diff --git a/airbyte-integrations/connectors/source-harness/metadata.yaml b/airbyte-integrations/connectors/source-harness/metadata.yaml index b941150f7df8..e36c9537a56c 100644 --- a/airbyte-integrations/connectors/source-harness/metadata.yaml +++ b/airbyte-integrations/connectors/source-harness/metadata.yaml @@ -14,7 +14,7 @@ data: connectorSubtype: api connectorType: source definitionId: b0e46f61-e143-47cc-a595-4bb73bfa8a15 - dockerImageTag: 0.1.0 + dockerImageTag: 0.1.1 dockerRepository: airbyte/source-harness githubIssueLabel: source-harness icon: harness.svg @@ -85,4 +85,6 @@ data: secretStore: type: GSM alias: airbyte-connector-testing-secret-store + connectorBuildOptions: + baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 metadataSpecVersion: "1.0" diff --git a/airbyte-integrations/connectors/source-harness/poetry.lock b/airbyte-integrations/connectors/source-harness/poetry.lock new file mode 100644 index 000000000000..ff1a76d4a89a --- /dev/null +++ b/airbyte-integrations/connectors/source-harness/poetry.lock @@ -0,0 +1,1325 @@ +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. + +[[package]] +name = "airbyte-cdk" +version = "0.90.0" +description = "A framework for writing Airbyte Connectors." +optional = false +python-versions = "<4.0,>=3.9" +files = [ + {file = "airbyte_cdk-0.90.0-py3-none-any.whl", hash = "sha256:bd0aa5843cdc4901f2e482f0e86695ca4e6db83b65c5017799255dd20535cf56"}, + {file = "airbyte_cdk-0.90.0.tar.gz", hash = "sha256:25cefc010718bada5cce3f87e7ae93068630732c0d34ce5145f8ddf7457d4d3c"}, +] + +[package.dependencies] +airbyte-protocol-models = ">=0.9.0,<1.0" +backoff = "*" +cachetools = "*" +cryptography = ">=42.0.5,<43.0.0" +Deprecated = ">=1.2,<1.3" +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,<0.3" +jsonschema = ">=3.2.0,<3.3.0" +langchain_core = "0.1.42" +pendulum = "<3.0.0" +pydantic = ">=1.10.8,<2.0.0" +pyjwt = ">=2.8.0,<3.0.0" +pyrate-limiter = ">=3.1.0,<3.2.0" +python-dateutil = "*" +pytz = "2024.1" +PyYAML = ">=6.0.1,<7.0.0" +requests = "*" +requests_cache = "*" +wcmatch = "8.4" + +[package.extras] +file-based = ["avro (>=1.11.2,<1.12.0)", "fastavro (>=1.8.0,<1.9.0)", "markdown", "pdf2image (==1.16.3)", "pdfminer.six (==20221105)", "pyarrow (>=15.0.0,<15.1.0)", "pytesseract (==0.3.10)", "unstructured.pytesseract (>=0.3.12)", "unstructured[docx,pptx] (==0.10.27)"] +sphinx-docs = ["Sphinx (>=4.2,<4.3)", "sphinx-rtd-theme (>=1.0,<1.1)"] +vector-db-based = ["cohere (==4.21)", "langchain (==0.1.16)", "openai[embeddings] (==0.27.9)", "tiktoken (==0.4.0)"] + +[[package]] +name = "airbyte-protocol-models" +version = "0.11.0" +description = "Declares the Airbyte Protocol." +optional = false +python-versions = ">=3.8" +files = [ + {file = "airbyte_protocol_models-0.11.0-py3-none-any.whl", hash = "sha256:2157757c1af8c13e471ab6a0304fd2f9a2a6af8cc9173937be1348a9553f7c32"}, + {file = "airbyte_protocol_models-0.11.0.tar.gz", hash = "sha256:1c7e46251b0d5a292b4aa382df24f415ac2a2a2b4719361b3c0f76368a043c23"}, +] + +[package.dependencies] +pydantic = ">=1.9.2,<2.0.0" + +[[package]] +name = "atomicwrites" +version = "1.4.1" +description = "Atomic file writes." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, +] + +[[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.3" +description = "Extensible memoizing collections and decorators" +optional = false +python-versions = ">=3.7" +files = [ + {file = "cachetools-5.3.3-py3-none-any.whl", hash = "sha256:0abad1021d3f8325b2fc1d2e9c8b9c9d57b04c3932657a72465447332c24d945"}, + {file = "cachetools-5.3.3.tar.gz", hash = "sha256:ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105"}, +] + +[[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" +exceptiongroup = {version = ">=1.1.1", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=4.1.0,<4.6.3 || >4.6.3", markers = "python_version < \"3.11\""} + +[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 = "2024.2.2" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, + {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, +] + +[[package]] +name = "cffi" +version = "1.16.0" +description = "Foreign Function Interface for Python calling C code." +optional = false +python-versions = ">=3.8" +files = [ + {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, + {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, + {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, + {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, + {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, + {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, + {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, + {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, + {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, + {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, + {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, + {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, + {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, + {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, +] + +[package.dependencies] +pycparser = "*" + +[[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 = "cryptography" +version = "42.0.7" +description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." +optional = false +python-versions = ">=3.7" +files = [ + {file = "cryptography-42.0.7-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:a987f840718078212fdf4504d0fd4c6effe34a7e4740378e59d47696e8dfb477"}, + {file = "cryptography-42.0.7-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:bd13b5e9b543532453de08bcdc3cc7cebec6f9883e886fd20a92f26940fd3e7a"}, + {file = "cryptography-42.0.7-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a79165431551042cc9d1d90e6145d5d0d3ab0f2d66326c201d9b0e7f5bf43604"}, + {file = "cryptography-42.0.7-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a47787a5e3649008a1102d3df55424e86606c9bae6fb77ac59afe06d234605f8"}, + {file = "cryptography-42.0.7-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:02c0eee2d7133bdbbc5e24441258d5d2244beb31da5ed19fbb80315f4bbbff55"}, + {file = "cryptography-42.0.7-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:5e44507bf8d14b36b8389b226665d597bc0f18ea035d75b4e53c7b1ea84583cc"}, + {file = "cryptography-42.0.7-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:7f8b25fa616d8b846aef64b15c606bb0828dbc35faf90566eb139aa9cff67af2"}, + {file = "cryptography-42.0.7-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:93a3209f6bb2b33e725ed08ee0991b92976dfdcf4e8b38646540674fc7508e13"}, + {file = "cryptography-42.0.7-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:e6b8f1881dac458c34778d0a424ae5769de30544fc678eac51c1c8bb2183e9da"}, + {file = "cryptography-42.0.7-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:3de9a45d3b2b7d8088c3fbf1ed4395dfeff79d07842217b38df14ef09ce1d8d7"}, + {file = "cryptography-42.0.7-cp37-abi3-win32.whl", hash = "sha256:789caea816c6704f63f6241a519bfa347f72fbd67ba28d04636b7c6b7da94b0b"}, + {file = "cryptography-42.0.7-cp37-abi3-win_amd64.whl", hash = "sha256:8cb8ce7c3347fcf9446f201dc30e2d5a3c898d009126010cbd1f443f28b52678"}, + {file = "cryptography-42.0.7-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:a3a5ac8b56fe37f3125e5b72b61dcde43283e5370827f5233893d461b7360cd4"}, + {file = "cryptography-42.0.7-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:779245e13b9a6638df14641d029add5dc17edbef6ec915688f3acb9e720a5858"}, + {file = "cryptography-42.0.7-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d563795db98b4cd57742a78a288cdbdc9daedac29f2239793071fe114f13785"}, + {file = "cryptography-42.0.7-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:31adb7d06fe4383226c3e963471f6837742889b3c4caa55aac20ad951bc8ffda"}, + {file = "cryptography-42.0.7-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:efd0bf5205240182e0f13bcaea41be4fdf5c22c5129fc7ced4a0282ac86998c9"}, + {file = "cryptography-42.0.7-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a9bc127cdc4ecf87a5ea22a2556cab6c7eda2923f84e4f3cc588e8470ce4e42e"}, + {file = "cryptography-42.0.7-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:3577d029bc3f4827dd5bf8bf7710cac13527b470bbf1820a3f394adb38ed7d5f"}, + {file = "cryptography-42.0.7-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2e47577f9b18723fa294b0ea9a17d5e53a227867a0a4904a1a076d1646d45ca1"}, + {file = "cryptography-42.0.7-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:1a58839984d9cb34c855197043eaae2c187d930ca6d644612843b4fe8513c886"}, + {file = "cryptography-42.0.7-cp39-abi3-win32.whl", hash = "sha256:e6b79d0adb01aae87e8a44c2b64bc3f3fe59515280e00fb6d57a7267a2583cda"}, + {file = "cryptography-42.0.7-cp39-abi3-win_amd64.whl", hash = "sha256:16268d46086bb8ad5bf0a2b5544d8a9ed87a0e33f5e77dd3c3301e63d941a83b"}, + {file = "cryptography-42.0.7-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2954fccea107026512b15afb4aa664a5640cd0af630e2ee3962f2602693f0c82"}, + {file = "cryptography-42.0.7-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:362e7197754c231797ec45ee081f3088a27a47c6c01eff2ac83f60f85a50fe60"}, + {file = "cryptography-42.0.7-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4f698edacf9c9e0371112792558d2f705b5645076cc0aaae02f816a0171770fd"}, + {file = "cryptography-42.0.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5482e789294854c28237bba77c4c83be698be740e31a3ae5e879ee5444166582"}, + {file = "cryptography-42.0.7-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e9b2a6309f14c0497f348d08a065d52f3020656f675819fc405fb63bbcd26562"}, + {file = "cryptography-42.0.7-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d8e3098721b84392ee45af2dd554c947c32cc52f862b6a3ae982dbb90f577f14"}, + {file = "cryptography-42.0.7-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c65f96dad14f8528a447414125e1fc8feb2ad5a272b8f68477abbcc1ea7d94b9"}, + {file = "cryptography-42.0.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:36017400817987670037fbb0324d71489b6ead6231c9604f8fc1f7d008087c68"}, + {file = "cryptography-42.0.7.tar.gz", hash = "sha256:ecbfbc00bf55888edda9868a4cf927205de8499e7fabe6c050322298382953f2"}, +] + +[package.dependencies] +cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""} + +[package.extras] +docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] +docstest = ["pyenchant (>=1.6.11)", "readme-renderer", "sphinxcontrib-spelling (>=4.0.1)"] +nox = ["nox"] +pep8test = ["check-sdist", "click", "mypy", "ruff"] +sdist = ["build"] +ssh = ["bcrypt (>=3.1.5)"] +test = ["certifi", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] +test-randomorder = ["pytest-randomly"] + +[[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 = "exceptiongroup" +version = "1.2.1" +description = "Backport of PEP 654 (exception groups)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.2.1-py3-none-any.whl", hash = "sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad"}, + {file = "exceptiongroup-1.2.1.tar.gz", hash = "sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16"}, +] + +[package.extras] +test = ["pytest (>=6)"] + +[[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.7" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.5" +files = [ + {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, + {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, +] + +[[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.4" +description = "A very fast and expressive template engine." +optional = false +python-versions = ">=3.7" +files = [ + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "jsonpatch" +version = "1.33" +description = "Apply JSON-Patches (RFC 6902)" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" +files = [ + {file = "jsonpatch-1.33-py2.py3-none-any.whl", hash = "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade"}, + {file = "jsonpatch-1.33.tar.gz", hash = "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c"}, +] + +[package.dependencies] +jsonpointer = ">=1.9" + +[[package]] +name = "jsonpointer" +version = "2.4" +description = "Identify specific nodes in a JSON document (RFC 6901)" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" +files = [ + {file = "jsonpointer-2.4-py2.py3-none-any.whl", hash = "sha256:15d51bba20eea3165644553647711d150376234112651b4f1811022aecad7d7a"}, + {file = "jsonpointer-2.4.tar.gz", hash = "sha256:585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88"}, +] + +[[package]] +name = "jsonref" +version = "0.2" +description = "An implementation of JSON Reference for Python" +optional = false +python-versions = "*" +files = [ + {file = "jsonref-0.2-py3-none-any.whl", hash = "sha256:b1e82fa0b62e2c2796a13e5401fe51790b248f6d9bf9d7212a3e31a3501b291f"}, + {file = "jsonref-0.2.tar.gz", hash = "sha256:f3c45b121cf6257eafabdc3a8008763aed1cd7da06dbabc59a9e4d2a5e4e6697"}, +] + +[[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 = "langchain-core" +version = "0.1.42" +description = "Building applications with LLMs through composability" +optional = false +python-versions = "<4.0,>=3.8.1" +files = [ + {file = "langchain_core-0.1.42-py3-none-any.whl", hash = "sha256:c5653ffa08a44f740295c157a24c0def4a753333f6a2c41f76bf431cd00be8b5"}, + {file = "langchain_core-0.1.42.tar.gz", hash = "sha256:40751bf60ea5d8e2b2efe65290db434717ee3834870c002e40e2811f09d814e6"}, +] + +[package.dependencies] +jsonpatch = ">=1.33,<2.0" +langsmith = ">=0.1.0,<0.2.0" +packaging = ">=23.2,<24.0" +pydantic = ">=1,<3" +PyYAML = ">=5.3" +tenacity = ">=8.1.0,<9.0.0" + +[package.extras] +extended-testing = ["jinja2 (>=3,<4)"] + +[[package]] +name = "langsmith" +version = "0.1.60" +description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform." +optional = false +python-versions = "<4.0,>=3.8.1" +files = [ + {file = "langsmith-0.1.60-py3-none-any.whl", hash = "sha256:3c3520ea473de0a984237b3e9d638fdf23ef3acc5aec89a42e693225e72d6120"}, + {file = "langsmith-0.1.60.tar.gz", hash = "sha256:6a145b5454437f9e0f81525f23c4dcdbb8c07b1c91553b8f697456c418d6a599"}, +] + +[package.dependencies] +orjson = ">=3.9.14,<4.0.0" +pydantic = ">=1,<3" +requests = ">=2,<3" + +[[package]] +name = "markupsafe" +version = "2.1.5" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.7" +files = [ + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, +] + +[[package]] +name = "orjson" +version = "3.10.3" +description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" +optional = false +python-versions = ">=3.8" +files = [ + {file = "orjson-3.10.3-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9fb6c3f9f5490a3eb4ddd46fc1b6eadb0d6fc16fb3f07320149c3286a1409dd8"}, + {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:252124b198662eee80428f1af8c63f7ff077c88723fe206a25df8dc57a57b1fa"}, + {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9f3e87733823089a338ef9bbf363ef4de45e5c599a9bf50a7a9b82e86d0228da"}, + {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c8334c0d87103bb9fbbe59b78129f1f40d1d1e8355bbed2ca71853af15fa4ed3"}, + {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1952c03439e4dce23482ac846e7961f9d4ec62086eb98ae76d97bd41d72644d7"}, + {file = "orjson-3.10.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c0403ed9c706dcd2809f1600ed18f4aae50be263bd7112e54b50e2c2bc3ebd6d"}, + {file = "orjson-3.10.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:382e52aa4270a037d41f325e7d1dfa395b7de0c367800b6f337d8157367bf3a7"}, + {file = "orjson-3.10.3-cp310-none-win32.whl", hash = "sha256:be2aab54313752c04f2cbaab4515291ef5af8c2256ce22abc007f89f42f49109"}, + {file = "orjson-3.10.3-cp310-none-win_amd64.whl", hash = "sha256:416b195f78ae461601893f482287cee1e3059ec49b4f99479aedf22a20b1098b"}, + {file = "orjson-3.10.3-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:73100d9abbbe730331f2242c1fc0bcb46a3ea3b4ae3348847e5a141265479700"}, + {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:544a12eee96e3ab828dbfcb4d5a0023aa971b27143a1d35dc214c176fdfb29b3"}, + {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:520de5e2ef0b4ae546bea25129d6c7c74edb43fc6cf5213f511a927f2b28148b"}, + {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ccaa0a401fc02e8828a5bedfd80f8cd389d24f65e5ca3954d72c6582495b4bcf"}, + {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7bc9e8bc11bac40f905640acd41cbeaa87209e7e1f57ade386da658092dc16"}, + {file = "orjson-3.10.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3582b34b70543a1ed6944aca75e219e1192661a63da4d039d088a09c67543b08"}, + {file = "orjson-3.10.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1c23dfa91481de880890d17aa7b91d586a4746a4c2aa9a145bebdbaf233768d5"}, + {file = "orjson-3.10.3-cp311-none-win32.whl", hash = "sha256:1770e2a0eae728b050705206d84eda8b074b65ee835e7f85c919f5705b006c9b"}, + {file = "orjson-3.10.3-cp311-none-win_amd64.whl", hash = "sha256:93433b3c1f852660eb5abdc1f4dd0ced2be031ba30900433223b28ee0140cde5"}, + {file = "orjson-3.10.3-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:a39aa73e53bec8d410875683bfa3a8edf61e5a1c7bb4014f65f81d36467ea098"}, + {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0943a96b3fa09bee1afdfccc2cb236c9c64715afa375b2af296c73d91c23eab2"}, + {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e852baafceff8da3c9defae29414cc8513a1586ad93e45f27b89a639c68e8176"}, + {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18566beb5acd76f3769c1d1a7ec06cdb81edc4d55d2765fb677e3eaa10fa99e0"}, + {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bd2218d5a3aa43060efe649ec564ebedec8ce6ae0a43654b81376216d5ebd42"}, + {file = "orjson-3.10.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cf20465e74c6e17a104ecf01bf8cd3b7b252565b4ccee4548f18b012ff2f8069"}, + {file = "orjson-3.10.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ba7f67aa7f983c4345eeda16054a4677289011a478ca947cd69c0a86ea45e534"}, + {file = "orjson-3.10.3-cp312-none-win32.whl", hash = "sha256:17e0713fc159abc261eea0f4feda611d32eabc35708b74bef6ad44f6c78d5ea0"}, + {file = "orjson-3.10.3-cp312-none-win_amd64.whl", hash = "sha256:4c895383b1ec42b017dd2c75ae8a5b862fc489006afde06f14afbdd0309b2af0"}, + {file = "orjson-3.10.3-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:be2719e5041e9fb76c8c2c06b9600fe8e8584e6980061ff88dcbc2691a16d20d"}, + {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0175a5798bdc878956099f5c54b9837cb62cfbf5d0b86ba6d77e43861bcec2"}, + {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:978be58a68ade24f1af7758626806e13cff7748a677faf95fbb298359aa1e20d"}, + {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16bda83b5c61586f6f788333d3cf3ed19015e3b9019188c56983b5a299210eb5"}, + {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ad1f26bea425041e0a1adad34630c4825a9e3adec49079b1fb6ac8d36f8b754"}, + {file = "orjson-3.10.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:9e253498bee561fe85d6325ba55ff2ff08fb5e7184cd6a4d7754133bd19c9195"}, + {file = "orjson-3.10.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0a62f9968bab8a676a164263e485f30a0b748255ee2f4ae49a0224be95f4532b"}, + {file = "orjson-3.10.3-cp38-none-win32.whl", hash = "sha256:8d0b84403d287d4bfa9bf7d1dc298d5c1c5d9f444f3737929a66f2fe4fb8f134"}, + {file = "orjson-3.10.3-cp38-none-win_amd64.whl", hash = "sha256:8bc7a4df90da5d535e18157220d7915780d07198b54f4de0110eca6b6c11e290"}, + {file = "orjson-3.10.3-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9059d15c30e675a58fdcd6f95465c1522b8426e092de9fff20edebfdc15e1cb0"}, + {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d40c7f7938c9c2b934b297412c067936d0b54e4b8ab916fd1a9eb8f54c02294"}, + {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d4a654ec1de8fdaae1d80d55cee65893cb06494e124681ab335218be6a0691e7"}, + {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:831c6ef73f9aa53c5f40ae8f949ff7681b38eaddb6904aab89dca4d85099cb78"}, + {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99b880d7e34542db89f48d14ddecbd26f06838b12427d5a25d71baceb5ba119d"}, + {file = "orjson-3.10.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2e5e176c994ce4bd434d7aafb9ecc893c15f347d3d2bbd8e7ce0b63071c52e25"}, + {file = "orjson-3.10.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b69a58a37dab856491bf2d3bbf259775fdce262b727f96aafbda359cb1d114d8"}, + {file = "orjson-3.10.3-cp39-none-win32.whl", hash = "sha256:b8d4d1a6868cde356f1402c8faeb50d62cee765a1f7ffcfd6de732ab0581e063"}, + {file = "orjson-3.10.3-cp39-none-win_amd64.whl", hash = "sha256:5102f50c5fc46d94f2033fe00d392588564378260d64377aec702f21a7a22912"}, + {file = "orjson-3.10.3.tar.gz", hash = "sha256:2b166507acae7ba2f7c315dcf185a9111ad5e992ac81f2d507aac39193c2c818"}, +] + +[[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 = "2.1.2" +description = "Python datetimes made easy" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "pendulum-2.1.2-cp27-cp27m-macosx_10_15_x86_64.whl", hash = "sha256:b6c352f4bd32dff1ea7066bd31ad0f71f8d8100b9ff709fb343f3b86cee43efe"}, + {file = "pendulum-2.1.2-cp27-cp27m-win_amd64.whl", hash = "sha256:318f72f62e8e23cd6660dbafe1e346950281a9aed144b5c596b2ddabc1d19739"}, + {file = "pendulum-2.1.2-cp35-cp35m-macosx_10_15_x86_64.whl", hash = "sha256:0731f0c661a3cb779d398803655494893c9f581f6488048b3fb629c2342b5394"}, + {file = "pendulum-2.1.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:3481fad1dc3f6f6738bd575a951d3c15d4b4ce7c82dce37cf8ac1483fde6e8b0"}, + {file = "pendulum-2.1.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9702069c694306297ed362ce7e3c1ef8404ac8ede39f9b28b7c1a7ad8c3959e3"}, + {file = "pendulum-2.1.2-cp35-cp35m-win_amd64.whl", hash = "sha256:fb53ffa0085002ddd43b6ca61a7b34f2d4d7c3ed66f931fe599e1a531b42af9b"}, + {file = "pendulum-2.1.2-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:c501749fdd3d6f9e726086bf0cd4437281ed47e7bca132ddb522f86a1645d360"}, + {file = "pendulum-2.1.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:c807a578a532eeb226150d5006f156632df2cc8c5693d778324b43ff8c515dd0"}, + {file = "pendulum-2.1.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:2d1619a721df661e506eff8db8614016f0720ac171fe80dda1333ee44e684087"}, + {file = "pendulum-2.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:f888f2d2909a414680a29ae74d0592758f2b9fcdee3549887779cd4055e975db"}, + {file = "pendulum-2.1.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:e95d329384717c7bf627bf27e204bc3b15c8238fa8d9d9781d93712776c14002"}, + {file = "pendulum-2.1.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:4c9c689747f39d0d02a9f94fcee737b34a5773803a64a5fdb046ee9cac7442c5"}, + {file = "pendulum-2.1.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:1245cd0075a3c6d889f581f6325dd8404aca5884dea7223a5566c38aab94642b"}, + {file = "pendulum-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:db0a40d8bcd27b4fb46676e8eb3c732c67a5a5e6bfab8927028224fbced0b40b"}, + {file = "pendulum-2.1.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:f5e236e7730cab1644e1b87aca3d2ff3e375a608542e90fe25685dae46310116"}, + {file = "pendulum-2.1.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:de42ea3e2943171a9e95141f2eecf972480636e8e484ccffaf1e833929e9e052"}, + {file = "pendulum-2.1.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7c5ec650cb4bec4c63a89a0242cc8c3cebcec92fcfe937c417ba18277d8560be"}, + {file = "pendulum-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:33fb61601083f3eb1d15edeb45274f73c63b3c44a8524703dc143f4212bf3269"}, + {file = "pendulum-2.1.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:29c40a6f2942376185728c9a0347d7c0f07905638c83007e1d262781f1e6953a"}, + {file = "pendulum-2.1.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:94b1fc947bfe38579b28e1cccb36f7e28a15e841f30384b5ad6c5e31055c85d7"}, + {file = "pendulum-2.1.2.tar.gz", hash = "sha256:b06a0ca1bfe41c990bbf0c029f0b6501a7f2ec4e38bfec730712015e8860f207"}, +] + +[package.dependencies] +python-dateutil = ">=2.6,<3.0" +pytzdata = ">=2020.1" + +[[package]] +name = "platformdirs" +version = "4.2.2" +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.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, + {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, +] + +[package.extras] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] +type = ["mypy (>=1.8)"] + +[[package]] +name = "pluggy" +version = "1.5.0" +description = "plugin and hook calling mechanisms for python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, +] + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "py" +version = "1.11.0" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, + {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, +] + +[[package]] +name = "pycparser" +version = "2.22" +description = "C parser in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, + {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, +] + +[[package]] +name = "pydantic" +version = "1.10.15" +description = "Data validation and settings management using python type hints" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pydantic-1.10.15-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:22ed12ee588b1df028a2aa5d66f07bf8f8b4c8579c2e96d5a9c1f96b77f3bb55"}, + {file = "pydantic-1.10.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:75279d3cac98186b6ebc2597b06bcbc7244744f6b0b44a23e4ef01e5683cc0d2"}, + {file = "pydantic-1.10.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50f1666a9940d3d68683c9d96e39640f709d7a72ff8702987dab1761036206bb"}, + {file = "pydantic-1.10.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82790d4753ee5d00739d6cb5cf56bceb186d9d6ce134aca3ba7befb1eedbc2c8"}, + {file = "pydantic-1.10.15-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:d207d5b87f6cbefbdb1198154292faee8017d7495a54ae58db06762004500d00"}, + {file = "pydantic-1.10.15-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e49db944fad339b2ccb80128ffd3f8af076f9f287197a480bf1e4ca053a866f0"}, + {file = "pydantic-1.10.15-cp310-cp310-win_amd64.whl", hash = "sha256:d3b5c4cbd0c9cb61bbbb19ce335e1f8ab87a811f6d589ed52b0254cf585d709c"}, + {file = "pydantic-1.10.15-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c3d5731a120752248844676bf92f25a12f6e45425e63ce22e0849297a093b5b0"}, + {file = "pydantic-1.10.15-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c365ad9c394f9eeffcb30a82f4246c0006417f03a7c0f8315d6211f25f7cb654"}, + {file = "pydantic-1.10.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3287e1614393119c67bd4404f46e33ae3be3ed4cd10360b48d0a4459f420c6a3"}, + {file = "pydantic-1.10.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be51dd2c8596b25fe43c0a4a59c2bee4f18d88efb8031188f9e7ddc6b469cf44"}, + {file = "pydantic-1.10.15-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6a51a1dd4aa7b3f1317f65493a182d3cff708385327c1c82c81e4a9d6d65b2e4"}, + {file = "pydantic-1.10.15-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4e316e54b5775d1eb59187f9290aeb38acf620e10f7fd2f776d97bb788199e53"}, + {file = "pydantic-1.10.15-cp311-cp311-win_amd64.whl", hash = "sha256:0d142fa1b8f2f0ae11ddd5e3e317dcac060b951d605fda26ca9b234b92214986"}, + {file = "pydantic-1.10.15-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7ea210336b891f5ea334f8fc9f8f862b87acd5d4a0cbc9e3e208e7aa1775dabf"}, + {file = "pydantic-1.10.15-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3453685ccd7140715e05f2193d64030101eaad26076fad4e246c1cc97e1bb30d"}, + {file = "pydantic-1.10.15-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bea1f03b8d4e8e86702c918ccfd5d947ac268f0f0cc6ed71782e4b09353b26f"}, + {file = "pydantic-1.10.15-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:005655cabc29081de8243126e036f2065bd7ea5b9dff95fde6d2c642d39755de"}, + {file = "pydantic-1.10.15-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:af9850d98fc21e5bc24ea9e35dd80a29faf6462c608728a110c0a30b595e58b7"}, + {file = "pydantic-1.10.15-cp37-cp37m-win_amd64.whl", hash = "sha256:d31ee5b14a82c9afe2bd26aaa405293d4237d0591527d9129ce36e58f19f95c1"}, + {file = "pydantic-1.10.15-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5e09c19df304b8123938dc3c53d3d3be6ec74b9d7d0d80f4f4b5432ae16c2022"}, + {file = "pydantic-1.10.15-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7ac9237cd62947db00a0d16acf2f3e00d1ae9d3bd602b9c415f93e7a9fc10528"}, + {file = "pydantic-1.10.15-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:584f2d4c98ffec420e02305cf675857bae03c9d617fcfdc34946b1160213a948"}, + {file = "pydantic-1.10.15-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bbc6989fad0c030bd70a0b6f626f98a862224bc2b1e36bfc531ea2facc0a340c"}, + {file = "pydantic-1.10.15-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:d573082c6ef99336f2cb5b667b781d2f776d4af311574fb53d908517ba523c22"}, + {file = "pydantic-1.10.15-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6bd7030c9abc80134087d8b6e7aa957e43d35714daa116aced57269a445b8f7b"}, + {file = "pydantic-1.10.15-cp38-cp38-win_amd64.whl", hash = "sha256:3350f527bb04138f8aff932dc828f154847fbdc7a1a44c240fbfff1b57f49a12"}, + {file = "pydantic-1.10.15-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:51d405b42f1b86703555797270e4970a9f9bd7953f3990142e69d1037f9d9e51"}, + {file = "pydantic-1.10.15-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a980a77c52723b0dc56640ced396b73a024d4b74f02bcb2d21dbbac1debbe9d0"}, + {file = "pydantic-1.10.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67f1a1fb467d3f49e1708a3f632b11c69fccb4e748a325d5a491ddc7b5d22383"}, + {file = "pydantic-1.10.15-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:676ed48f2c5bbad835f1a8ed8a6d44c1cd5a21121116d2ac40bd1cd3619746ed"}, + {file = "pydantic-1.10.15-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:92229f73400b80c13afcd050687f4d7e88de9234d74b27e6728aa689abcf58cc"}, + {file = "pydantic-1.10.15-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2746189100c646682eff0bce95efa7d2e203420d8e1c613dc0c6b4c1d9c1fde4"}, + {file = "pydantic-1.10.15-cp39-cp39-win_amd64.whl", hash = "sha256:394f08750bd8eaad714718812e7fab615f873b3cdd0b9d84e76e51ef3b50b6b7"}, + {file = "pydantic-1.10.15-py3-none-any.whl", hash = "sha256:28e552a060ba2740d0d2aabe35162652c1459a0b9069fe0db7f4ee0e18e74d58"}, + {file = "pydantic-1.10.15.tar.gz", hash = "sha256:ca832e124eda231a60a041da4f013e3ff24949d94a01154b137fc2f2a43c3ffb"}, +] + +[package.dependencies] +typing-extensions = ">=4.2.0" + +[package.extras] +dotenv = ["python-dotenv (>=0.10.4)"] +email = ["email-validator (>=1.0.3)"] + +[[package]] +name = "pyjwt" +version = "2.8.0" +description = "JSON Web Token implementation in Python" +optional = false +python-versions = ">=3.7" +files = [ + {file = "PyJWT-2.8.0-py3-none-any.whl", hash = "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320"}, + {file = "PyJWT-2.8.0.tar.gz", hash = "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"}, +] + +[package.extras] +crypto = ["cryptography (>=3.4.0)"] +dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] +docs = ["sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] +tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] + +[[package]] +name = "pyrate-limiter" +version = "3.1.1" +description = "Python Rate-Limiter using Leaky-Bucket Algorithm" +optional = false +python-versions = ">=3.8,<4.0" +files = [ + {file = "pyrate_limiter-3.1.1-py3-none-any.whl", hash = "sha256:c51906f1d51d56dc992ff6c26e8300e32151bc6cfa3e6559792e31971dfd4e2b"}, + {file = "pyrate_limiter-3.1.1.tar.gz", hash = "sha256:2f57eda712687e6eccddf6afe8f8a15b409b97ed675fe64a626058f12863b7b7"}, +] + +[package.extras] +all = ["filelock (>=3.0)", "redis (>=5.0.0,<6.0.0)"] +docs = ["furo (>=2022.3.4,<2023.0.0)", "myst-parser (>=0.17)", "sphinx (>=4.3.0,<5.0.0)", "sphinx-autodoc-typehints (>=1.17,<2.0)", "sphinx-copybutton (>=0.5)", "sphinxcontrib-apidoc (>=0.3,<0.4)"] + +[[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 = "6.2.5" +description = "pytest: simple powerful testing with Python" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"}, + {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"}, +] + +[package.dependencies] +atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} +attrs = ">=19.2.0" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<2.0" +py = ">=1.8.2" +toml = "*" + +[package.extras] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] + +[[package]] +name = "pytest-mock" +version = "3.14.0" +description = "Thin-wrapper around the mock package for easier use with pytest" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pytest-mock-3.14.0.tar.gz", hash = "sha256:2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0"}, + {file = "pytest_mock-3.14.0-py3-none-any.whl", hash = "sha256:0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f"}, +] + +[package.dependencies] +pytest = ">=6.2.5" + +[package.extras] +dev = ["pre-commit", "pytest-asyncio", "tox"] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +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.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, +] + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "pytz" +version = "2024.1" +description = "World timezone definitions, modern and historical" +optional = false +python-versions = "*" +files = [ + {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, + {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, +] + +[[package]] +name = "pytzdata" +version = "2020.1" +description = "The Olson timezone database for Python." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "pytzdata-2020.1-py2.py3-none-any.whl", hash = "sha256:e1e14750bcf95016381e4d472bad004eef710f2d6417240904070b3d6654485f"}, + {file = "pytzdata-2020.1.tar.gz", hash = "sha256:3efa13b335a00a8de1d345ae41ec78dd11c9f8807f522d39850f2dd828681540"}, +] + +[[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.32.3" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.8" +files = [ + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, +] + +[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.2.0" +description = "A persistent cache for python requests" +optional = false +python-versions = ">=3.8" +files = [ + {file = "requests_cache-1.2.0-py3-none-any.whl", hash = "sha256:490324301bf0cb924ff4e6324bd2613453e7e1f847353928b08adb0fdfb7f722"}, + {file = "requests_cache-1.2.0.tar.gz", hash = "sha256:db1c709ca343cc1cd5b6c8b1a5387298eceed02306a6040760db538c885e3838"}, +] + +[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 (>=6.0.1)", "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.9)"] +dynamodb = ["boto3 (>=1.15)", "botocore (>=1.18)"] +json = ["ujson (>=5.4)"] +mongodb = ["pymongo (>=3)"] +redis = ["redis (>=3)"] +security = ["itsdangerous (>=2.0)"] +yaml = ["pyyaml (>=6.0.1)"] + +[[package]] +name = "requests-mock" +version = "1.12.1" +description = "Mock out responses from the requests package" +optional = false +python-versions = ">=3.5" +files = [ + {file = "requests-mock-1.12.1.tar.gz", hash = "sha256:e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401"}, + {file = "requests_mock-1.12.1-py2.py3-none-any.whl", hash = "sha256:b1e37054004cdd5e56c84454cc7df12b25f90f382159087f4b6915aaeef39563"}, +] + +[package.dependencies] +requests = ">=2.22,<3" + +[package.extras] +fixture = ["fixtures"] + +[[package]] +name = "setuptools" +version = "69.5.1" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "setuptools-69.5.1-py3-none-any.whl", hash = "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"}, + {file = "setuptools-69.5.1.tar.gz", hash = "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "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)", "importlib-metadata", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "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.2)", "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 = "tenacity" +version = "8.3.0" +description = "Retry code until it succeeds" +optional = false +python-versions = ">=3.8" +files = [ + {file = "tenacity-8.3.0-py3-none-any.whl", hash = "sha256:3649f6443dbc0d9b01b9d8020a9c4ec7a1ff5f6f3c6c8a036ef371f573fe9185"}, + {file = "tenacity-8.3.0.tar.gz", hash = "sha256:953d4e6ad24357bceffbc9707bc74349aca9d245f68eb65419cf0c249a1949a2"}, +] + +[package.extras] +doc = ["reno", "sphinx"] +test = ["pytest", "tornado (>=4.5)", "typeguard"] + +[[package]] +name = "toml" +version = "0.10.2" +description = "Python Library for Tom's Obvious, Minimal Language" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, + {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, +] + +[[package]] +name = "typing-extensions" +version = "4.11.0" +description = "Backported and Experimental Type Hints for Python 3.8+" +optional = false +python-versions = ">=3.8" +files = [ + {file = "typing_extensions-4.11.0-py3-none-any.whl", hash = "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"}, + {file = "typing_extensions-4.11.0.tar.gz", hash = "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0"}, +] + +[[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.2.1" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, + {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] +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.9,<3.12" +content-hash = "a7a96e2b3330d2b39e398d386ac5724f0ddb92f7862e5029789b59942d9ba36d" diff --git a/airbyte-integrations/connectors/source-harness/pyproject.toml b/airbyte-integrations/connectors/source-harness/pyproject.toml new file mode 100644 index 000000000000..b0aece05f592 --- /dev/null +++ b/airbyte-integrations/connectors/source-harness/pyproject.toml @@ -0,0 +1,28 @@ +[build-system] +requires = [ "poetry-core>=1.0.0",] +build-backend = "poetry.core.masonry.api" + +[tool.poetry] +version = "0.1.1" +name = "source-harness" +description = "Source implementation for Harness." +authors = [ "Airbyte ",] +license = "MIT" +readme = "README.md" +documentation = "https://docs.airbyte.com/integrations/sources/harness" +homepage = "https://airbyte.com" +repository = "https://github.com/airbytehq/airbyte" +[[tool.poetry.packages]] +include = "source_harness" + +[tool.poetry.dependencies] +python = "^3.9,<3.12" +airbyte-cdk = "^0" + +[tool.poetry.scripts] +source-harness = "source_harness.run:run" + +[tool.poetry.group.dev.dependencies] +requests-mock = "^1.9.3" +pytest = "^6.2" +pytest-mock = "^3.6.1" diff --git a/airbyte-integrations/connectors/source-harness/setup.py b/airbyte-integrations/connectors/source-harness/setup.py deleted file mode 100644 index 170c960c9500..000000000000 --- a/airbyte-integrations/connectors/source-harness/setup.py +++ /dev/null @@ -1,44 +0,0 @@ -# -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. -# - - -from setuptools import find_packages, setup - -MAIN_REQUIREMENTS = ["airbyte-cdk"] - -TEST_REQUIREMENTS = [ - "requests-mock~=1.9.3", - "pytest~=6.2", - "pytest-mock~=3.6.1", -] - -setup( - entry_points={ - "console_scripts": [ - "source-harness=source_harness.run:run", - ], - }, - name="source_harness", - description="Source implementation for Harness.", - author="Airbyte", - author_email="contact@airbyte.io", - packages=find_packages(), - install_requires=MAIN_REQUIREMENTS, - package_data={ - "": [ - # Include yaml files in the package (if any) - "*.yml", - "*.yaml", - # Include all json files in the package, up to 4 levels deep - "*.json", - "*/*.json", - "*/*/*.json", - "*/*/*/*.json", - "*/*/*/*/*.json", - ] - }, - extras_require={ - "tests": TEST_REQUIREMENTS, - }, -) diff --git a/airbyte-integrations/connectors/source-hellobaton/metadata.yaml b/airbyte-integrations/connectors/source-hellobaton/metadata.yaml index 61129ad0ec33..362e71787ec0 100644 --- a/airbyte-integrations/connectors/source-hellobaton/metadata.yaml +++ b/airbyte-integrations/connectors/source-hellobaton/metadata.yaml @@ -14,7 +14,7 @@ data: connectorSubtype: api connectorType: source definitionId: 492b56d1-937c-462e-8076-21ad2031e784 - dockerImageTag: 0.2.2 + dockerImageTag: 0.2.3 dockerRepository: airbyte/source-hellobaton githubIssueLabel: source-hellobaton icon: hellobaton.svg diff --git a/airbyte-integrations/connectors/source-hellobaton/pyproject.toml b/airbyte-integrations/connectors/source-hellobaton/pyproject.toml index 58592f0c64e9..d239d9848e7c 100644 --- a/airbyte-integrations/connectors/source-hellobaton/pyproject.toml +++ b/airbyte-integrations/connectors/source-hellobaton/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.2.2" +version = "0.2.3" name = "source-hellobaton" description = "Source implementation for Hellobaton." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-hellobaton/requirements.txt b/airbyte-integrations/connectors/source-hellobaton/requirements.txt deleted file mode 100644 index d6e1198b1ab1..000000000000 --- a/airbyte-integrations/connectors/source-hellobaton/requirements.txt +++ /dev/null @@ -1 +0,0 @@ --e . diff --git a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/manifest.yaml b/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/manifest.yaml index aec61695eca8..e8ab9f856ad4 100644 --- a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/manifest.yaml +++ b/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/manifest.yaml @@ -1,4 +1,5 @@ -version: 0.50.2 +version: 0.79.1 + type: DeclarativeSource check: @@ -7,38 +8,384 @@ check: - activity definitions: - schema_loader: - type: JsonFileSchemaLoader - file_path: "./source_hellobaton/schemas/{{ parameters.path }}.json" - - selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: - - results - - paginator: - type: DefaultPaginator - page_token_option: - type: RequestPath - page_size_option: - inject_into: request_parameter - type: RequestOption - field_name: page_size - pagination_strategy: - type: CursorPagination - page_size: 100 - cursor_value: '{{ response.get("next", {}) }}' - stop_condition: '{{ not response.get("next", {}) }}' - - requester: + streams: + activity: + type: DeclarativeStream + name: activity + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: activity + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: page_size + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: '{{ response.get("next", {}) }}' + stop_condition: '{{ not response.get("next", {}) }}' + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/activity" + companies: + type: DeclarativeStream + name: companies + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: companies + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: page_size + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: '{{ response.get("next", {}) }}' + stop_condition: '{{ not response.get("next", {}) }}' + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/companies" + milestones: + type: DeclarativeStream + name: milestones + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: milestones + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: page_size + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: '{{ response.get("next", {}) }}' + stop_condition: '{{ not response.get("next", {}) }}' + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/milestones" + phases: + type: DeclarativeStream + name: phases + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: phases + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: page_size + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: '{{ response.get("next", {}) }}' + stop_condition: '{{ not response.get("next", {}) }}' + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/phases" + project_attachments: + type: DeclarativeStream + name: project_attachments + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: project_attachments + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: page_size + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: '{{ response.get("next", {}) }}' + stop_condition: '{{ not response.get("next", {}) }}' + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/project_attachments" + projects: + type: DeclarativeStream + name: projects + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: projects + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: page_size + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: '{{ response.get("next", {}) }}' + stop_condition: '{{ not response.get("next", {}) }}' + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/projects" + tasks: + type: DeclarativeStream + name: tasks + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: tasks + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: page_size + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: '{{ response.get("next", {}) }}' + stop_condition: '{{ not response.get("next", {}) }}' + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/tasks" + task_attachments: + type: DeclarativeStream + name: task_attachments + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: task_attachments + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: page_size + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: '{{ response.get("next", {}) }}' + stop_condition: '{{ not response.get("next", {}) }}' + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/task_attachments" + templates: + type: DeclarativeStream + name: templates + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: templates + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: page_size + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: '{{ response.get("next", {}) }}' + stop_condition: '{{ not response.get("next", {}) }}' + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/templates" + time_entries: + type: DeclarativeStream + name: time_entries + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: time_entries + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: page_size + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: '{{ response.get("next", {}) }}' + stop_condition: '{{ not response.get("next", {}) }}' + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/time_entries" + users: + type: DeclarativeStream + name: users + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: users + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: page_size + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: '{{ response.get("next", {}) }}' + stop_condition: '{{ not response.get("next", {}) }}' + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/users" + base_requester: type: HttpRequester url_base: https://{{ config['company'] }}.hellobaton.com/api/ - path: "{{ parameters.path }}" - http_method: GET - request_parameters: {} - request_headers: {} authenticator: type: ApiKeyAuthenticator api_token: "{{ config['api_key'] }}" @@ -46,126 +393,1000 @@ definitions: type: RequestOption inject_into: request_parameter field_name: api_key - request_body_json: {} - - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/requester" - record_selector: - $ref: "#/definitions/selector" - paginator: - $ref: "#/definitions/paginator" - - base_stream: - type: DeclarativeStream - # name: '{{ parameters.name }}' - primary_key: - - id - schema_loader: - $ref: "#/definitions/schema_loader" - retriever: - $ref: "#/definitions/retriever" - - activity_stream: - $ref: "#/definitions/base_stream" - name: "activity" - $parameters: - path: "activity" - - companies_stream: - $ref: "#/definitions/base_stream" - name: "companies" - $parameters: - path: "companies" - - milestones_stream: - $ref: "#/definitions/base_stream" - name: "milestones" - $parameters: - path: "milestones" - - phases_stream: - $ref: "#/definitions/base_stream" - name: "phases" - $parameters: - path: "phases" - - project_attachments_stream: - $ref: "#/definitions/base_stream" - name: "project_attachments" - $parameters: - path: "project_attachments" - - projects_stream: - $ref: "#/definitions/base_stream" - name: "projects" - $parameters: - path: "projects" - - tasks_stream: - $ref: "#/definitions/base_stream" - name: "tasks" - $parameters: - path: "tasks" - - task_attachments_stream: - $ref: "#/definitions/base_stream" - name: "task_attachments" - $parameters: - path: "task_attachments" - - templates_stream: - $ref: "#/definitions/base_stream" - name: "templates" - $parameters: - path: "templates" - - time_entries_stream: - $ref: "#/definitions/base_stream" - name: "time_entries" - $parameters: - path: "time_entries" - - users_stream: - $ref: "#/definitions/base_stream" - name: "users" - $parameters: - path: "users" streams: - - "#/definitions/activity_stream" - - "#/definitions/companies_stream" - - "#/definitions/milestones_stream" - - "#/definitions/phases_stream" - - "#/definitions/project_attachments_stream" - - "#/definitions/projects_stream" - - "#/definitions/tasks_stream" - - "#/definitions/task_attachments_stream" - - "#/definitions/templates_stream" - - "#/definitions/time_entries_stream" - - "#/definitions/users_stream" + - $ref: "#/definitions/streams/activity" + - $ref: "#/definitions/streams/companies" + - $ref: "#/definitions/streams/milestones" + - $ref: "#/definitions/streams/phases" + - $ref: "#/definitions/streams/project_attachments" + - $ref: "#/definitions/streams/projects" + - $ref: "#/definitions/streams/tasks" + - $ref: "#/definitions/streams/task_attachments" + - $ref: "#/definitions/streams/templates" + - $ref: "#/definitions/streams/time_entries" + - $ref: "#/definitions/streams/users" spec: - documentation_url: https://docs.airbyte.com/integrations/sources/hellobaton type: Spec connection_specification: - $schema: http://json-schema.org/draft-07/schema# type: object - additionalProperties: true + $schema: http://json-schema.org/draft-07/schema# required: + - api_key - api_key - company properties: api_key: type: string title: API Key - description: "authentication key required to access the api endpoints" + description: authentication key required to access the api endpoints airbyte_secret: true - order: 0 + order: 1 company: + type: string title: company description: Company name that generates your base api url - examples: ["google", "facebook", "microsoft"] - type: string - order: 1 + examples: + - google + - facebook + - microsoft + order: 2 + additionalProperties: true + +metadata: + autoImportSchema: + activity: false + companies: false + milestones: false + phases: false + project_attachments: false + projects: false + tasks: false + task_attachments: false + templates: false + time_entries: false + users: false + +schemas: + activity: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + type: + type: + - string + - "null" + _self: + type: + - string + - "null" + actor: + type: + - string + - "null" + child: + type: + - string + - "null" + child_type: + type: + - string + - "null" + created: + type: + - string + - "null" + format: date-time + group: + type: + - string + - "null" + id: + type: + - integer + - "null" + meta: + type: + - object + - "null" + modified: + type: + - string + - "null" + format: date-time + parent: + type: + - string + - "null" + parent_type: + type: + - string + - "null" + project: + type: + - string + - "null" + companies: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + type: + type: + - string + - "null" + _self: + type: + - string + - "null" + created: + type: + - string + - "null" + format: date-time + id: + type: + - integer + - "null" + modified: + type: + - string + - "null" + format: date-time + name: + type: + - string + - "null" + milestones: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + _self: + type: + - string + - "null" + created: + type: + - string + - "null" + format: date-time + created_from: + type: + - string + - "null" + deadline_datetime: + type: + - string + - "null" + format: date-time + deadline_fixed: + type: + - boolean + - "null" + description: + type: + - string + - "null" + duration: + type: + - integer + - "null" + feedback_list: + type: + - string + - "null" + finish_datetime: + type: + - string + - "null" + format: date-time + id: + type: + - integer + - "null" + modified: + type: + - string + - "null" + format: date-time + phase: + type: + - object + - "null" + properties: + _self: + type: + - string + - "null" + created: + type: + - string + - "null" + format: date-time + id: + type: + - integer + - "null" + modified: + type: + - string + - "null" + format: date-time + name: + type: + - string + - "null" + project: + type: + - string + - "null" + risk_profiles: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + formula: + type: + - string + - "null" + id: + type: + - integer + - "null" + over_run: + type: + - integer + - "null" + risk_level: + type: + - string + - "null" + start_datetime: + type: + - string + - "null" + task_list: + type: + - string + - "null" + title: + type: + - string + - "null" + phases: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + _self: + type: + - string + - "null" + created: + type: + - string + - "null" + format: date-time + id: + type: + - integer + - "null" + modified: + type: + - string + - "null" + format: date-time + name: + type: + - string + - "null" + order: + type: + - integer + - "null" + project_attachments: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + type: + type: + - string + - "null" + _self: + type: + - string + - "null" + created: + type: + - string + - "null" + format: date-time + created_by: + type: + - string + - "null" + id: + type: + - integer + - "null" + is_sow: + type: + - boolean + - "null" + label: + type: + - string + - "null" + modified: + type: + - string + - "null" + format: date-time + original_filename: + type: + - string + - "null" + project: + type: + - string + - "null" + url: + type: + - string + - "null" + projects: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + _self: + type: + - string + - "null" + annual_contract_value: + type: + - string + - "null" + archived: + type: + - boolean + - "null" + attachment_list: + type: + - string + - "null" + client_systems: + type: + - string + - "null" + companies: + type: + - array + - "null" + items: + type: + - string + - "null" + completed_datetime: + type: + - string + - "null" + format: date-time + cost: + type: + - integer + - "null" + created: + type: + - string + - "null" + format: date-time + created_from: + type: + - string + - "null" + created_from_template: + type: + - string + - "null" + creator: + type: + - string + - "null" + custom_field_list: + type: + - string + - "null" + deadline_datetime: + type: + - string + - "null" + format: date-time + estimated_duration: + type: + - integer + - "null" + id: + type: + - integer + - "null" + implementation_budget: + type: + - string + - "null" + milestone_feedback_list: + type: + - string + - "null" + milestone_list: + type: + - string + - "null" + modified: + type: + - string + - "null" + format: date-time + phase: + type: + - object + - "null" + properties: + _self: + type: + - string + - "null" + created: + type: + - string + - "null" + format: date-time + id: + type: + - integer + - "null" + modified: + type: + - string + - "null" + format: date-time + name: + type: + - string + - "null" + order: + type: + - integer + - "null" + project_phases_list: + type: + - string + - "null" + project_user_list: + type: + - string + - "null" + risk_profiles: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + formula: + type: + - string + - "null" + id: + type: + - integer + - "null" + level: + type: + - string + - "null" + projected_golive_datetime: + type: + - string + - "null" + format: date-time + risk_score: + type: + - number + - "null" + variance: + type: + - integer + - "null" + start_datetime: + type: + - string + - "null" + format: date-time + started_datetime: + type: + - string + - "null" + format: date-time + status: + type: + - string + - "null" + task_list: + type: + - string + - "null" + time_entry_list: + type: + - string + - "null" + title: + type: + - string + - "null" + tasks: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + _self: + type: + - string + - "null" + assigned_to: + type: + - string + - "null" + attachment_list: + type: + - string + - "null" + created: + type: + - string + - "null" + format: date-time + created_by: + type: + - string + - "null" + created_from: + type: + - string + - "null" + dependencies: + type: + - array + - "null" + items: + type: + - string + - "null" + description: + type: + - string + - "null" + due_datetime: + type: + - string + - "null" + format: date-time + estimated_duration: + type: + - integer + - "null" + finished_datetime: + type: + - string + - "null" + format: date-time + finished_overridden_datetime: + type: + - string + - "null" + format: date-time + id: + type: + - integer + - "null" + milestone: + type: + - string + - "null" + modified: + type: + - string + - "null" + format: date-time + project: + type: + - string + - "null" + risk_profiles: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + cool_down: + type: + - integer + - "null" + duration: + type: + - integer + - "null" + estimated_duration: + type: + - integer + - "null" + formula: + type: + - string + - "null" + id: + type: + - integer + - "null" + over_run: + type: + - integer + - "null" + reason: + type: + - integer + - "null" + risk_level: + type: + - string + - "null" + task_variance: + type: + - integer + - "null" + start_datetime: + type: + - string + - "null" + format: date-time + started_datetime: + type: + - string + - "null" + format: date-time + started_overridden_datetime: + type: + - string + - "null" + format: date-time + status: + type: + - string + - "null" + time_entry_list: + type: + - string + - "null" + title: + type: + - string + - "null" + task_attachments: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + type: + type: + - string + - "null" + _self: + type: + - string + - "null" + approved: + type: + - boolean + - "null" + created: + type: + - string + - "null" + created_by: + type: + - string + - "null" + deliverable: + type: + - boolean + - "null" + id: + type: + - integer + - "null" + label: + type: + - string + - "null" + modified: + type: + - string + - "null" + original_filename: + type: + - string + - "null" + requires_approval: + type: + - boolean + - "null" + revision_task: + type: + - string + - "null" + task: + type: + - string + - "null" + url: + type: + - string + - "null" + templates: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + _self: + type: + - string + - "null" + annual_contract_value: + type: + - string + - "null" + client_systems: + type: + - string + - "null" + completed_datetime: + type: + - string + - "null" + format: date-time + cost: + type: + - string + - "null" + created_from: + type: + - string + - "null" + created_from_template: + type: + - string + - "null" + creator: + type: + - string + - "null" + deadline_datetime: + type: + - string + - "null" + format: date-time + estimated_duration: + type: + - integer + - "null" + id: + type: + - integer + - "null" + implementation_budget: + type: + - string + - "null" + phase: + type: + - object + - "null" + properties: + _self: + type: + - string + - "null" + created: + type: + - string + - "null" + format: date-time + id: + type: + - integer + - "null" + modified: + type: + - string + - "null" + format: date-time + order: + type: + - integer + - "null" + start_datetime: + type: + - string + - "null" + format: date-time + started_datetime: + type: + - string + - "null" + format: date-time + status: + type: + - string + - "null" + task_list: + type: + - string + - "null" + title: + type: + - string + - "null" + time_entries: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + _self: + type: + - string + - "null" + billable: + type: + - boolean + - "null" + calculated_duration: + type: + - integer + - "null" + created_by: + type: + - string + - "null" + ended_at: + type: + - string + - "null" + format: date-time + id: + type: + - integer + - "null" + inputted_duration: + type: + - integer + - "null" + notes: + type: + - string + - "null" + project: + type: + - string + - "null" + rate: + type: + - object + - "null" + properties: + hourly_rate: + type: + - string + - "null" + id: + type: + - integer + - "null" + reference_date: + type: + - string + - "null" + format: date-time + started_at: + type: + - string + - "null" + format: date-time + task: + type: + - string + - "null" + user: + type: + - string + - "null" + users: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + _self: + type: + - string + - "null" + account_type: + type: + - string + - "null" + avatar_url: + type: + - string + - "null" + capacity: + type: + - integer + - "null" + company: + type: + - string + - "null" + created: + type: + - string + - "null" + format: date-time + created_by: + type: + - string + - "null" + department: + type: + - object + - "null" + email: + type: + - string + - "null" + first_name: + type: + - string + - "null" + id: + type: + - integer + - "null" + job_title: + type: + - string + - "null" + last_name: + type: + - string + - "null" + modified: + type: + - string + - "null" + format: date-time + signed_up_at: + type: + - string + - "null" + format: date-time diff --git a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/activity.json b/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/activity.json deleted file mode 100644 index 1c56c2670dc7..000000000000 --- a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/activity.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { "type": ["integer", "null"] }, - "_self": { "type": ["string", "null"] }, - "type": { "type": ["string", "null"] }, - "group": { "type": ["string", "null"] }, - "parent": { "type": ["string", "null"] }, - "child": { "type": ["string", "null"] }, - "actor": { "type": ["string", "null"] }, - "project": { "type": ["string", "null"] }, - "parent_type": { "type": ["string", "null"] }, - "child_type": { "type": ["string", "null"] }, - "meta": { "type": ["object", "null"] }, - "created": { "type": ["string", "null"], "format": "date-time" }, - "modified": { "type": ["string", "null"], "format": "date-time" } - } -} diff --git a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/companies.json b/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/companies.json deleted file mode 100644 index dcd834dc03c2..000000000000 --- a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/companies.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { "type": ["integer", "null"] }, - "_self": { "type": ["string", "null"] }, - "name": { "type": ["string", "null"] }, - "type": { "type": ["string", "null"] }, - "created": { "type": ["string", "null"], "format": "date-time" }, - "modified": { "type": ["string", "null"], "format": "date-time" } - } -} diff --git a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/milestones.json b/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/milestones.json deleted file mode 100644 index 1e5a6479cffa..000000000000 --- a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/milestones.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { "type": ["integer", "null"] }, - "_self": { "type": ["string", "null"] }, - "title": { "type": ["string", "null"] }, - "description": { "type": ["string", "null"] }, - "project": { "type": ["string", "null"] }, - "task_list": { "type": ["string", "null"] }, - "phase": { - "type": ["object", "null"], - "properties": { - "id": { "type": ["integer", "null"] }, - "_self": { "type": ["string", "null"] }, - "name": { "type": ["string", "null"] }, - "created": { "type": ["string", "null"], "format": "date-time" }, - "modified": { "type": ["string", "null"], "format": "date-time" } - } - }, - "deadline_fixed": { "type": ["boolean", "null"] }, - "deadline_datetime": { "type": ["string", "null"], "format": "date-time" }, - "risk_profiles": { - "type": ["array", "null"], - "items": { - "type": ["object", "null"], - "properties": { - "id": { "type": ["integer", "null"] }, - "risk_level": { "type": ["string", "null"] }, - "formula": { "type": ["string", "null"] }, - "over_run": { "type": ["integer", "null"] } - } - } - }, - "start_datetime": { "type": ["string", "null"] }, - "finish_datetime": { "type": ["string", "null"], "format": "date-time" }, - "created_from": { "type": ["string", "null"] }, - "duration": { "type": ["integer", "null"] }, - "feedback_list": { "type": ["string", "null"] }, - "created": { "type": ["string", "null"], "format": "date-time" }, - "modified": { "type": ["string", "null"], "format": "date-time" } - } -} diff --git a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/phases.json b/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/phases.json deleted file mode 100644 index e7ab1ae41dfd..000000000000 --- a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/phases.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { "type": ["integer", "null"] }, - "_self": { "type": ["string", "null"] }, - "name": { "type": ["string", "null"] }, - "order": { "type": ["integer", "null"] }, - "created": { "type": ["string", "null"], "format": "date-time" }, - "modified": { "type": ["string", "null"], "format": "date-time" } - } -} diff --git a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/project_attachments.json b/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/project_attachments.json deleted file mode 100644 index 5aacde353566..000000000000 --- a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/project_attachments.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { "type": ["integer", "null"] }, - "_self": { "type": ["string", "null"] }, - "project": { "type": ["string", "null"] }, - "url": { "type": ["string", "null"] }, - "label": { "type": ["string", "null"] }, - "created_by": { "type": ["string", "null"] }, - "type": { "type": ["string", "null"] }, - "is_sow": { "type": ["boolean", "null"] }, - "original_filename": { "type": ["string", "null"] }, - "created": { "type": ["string", "null"], "format": "date-time" }, - "modified": { "type": ["string", "null"], "format": "date-time" } - } -} diff --git a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/projects.json b/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/projects.json deleted file mode 100644 index c36ca3de4a0e..000000000000 --- a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/projects.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "additionalProperties": true, - "properties": { - "_self": { "type": ["string", "null"] }, - "annual_contract_value": { "type": ["string", "null"] }, - "archived": { "type": ["boolean", "null"] }, - "attachment_list": { "type": ["string", "null"] }, - "client_systems": { "type": ["string", "null"] }, - "companies": { - "type": ["array", "null"], - "items": { - "type": ["string", "null"] - } - }, - "completed_datetime": { "type": ["string", "null"], "format": "date-time" }, - "cost": { "type": ["integer", "null"] }, - "created": { "type": ["string", "null"], "format": "date-time" }, - "created_from": { "type": ["string", "null"] }, - "created_from_template": { "type": ["string", "null"] }, - "creator": { "type": ["string", "null"] }, - "custom_field_list": { "type": ["string", "null"] }, - "deadline_datetime": { "type": ["string", "null"], "format": "date-time" }, - "estimated_duration": { "type": ["integer", "null"] }, - "id": { "type": ["integer", "null"] }, - "implementation_budget": { "type": ["string", "null"] }, - "milestone_feedback_list": { "type": ["string", "null"] }, - "milestone_list": { "type": ["string", "null"] }, - "modified": { "type": ["string", "null"], "format": "date-time" }, - "phase": { - "type": ["object", "null"], - "properties": { - "id": { "type": ["integer", "null"] }, - "_self": { "type": ["string", "null"] }, - "name": { "type": ["string", "null"] }, - "order": { "type": ["integer", "null"] }, - "created": { "type": ["string", "null"], "format": "date-time" }, - "modified": { "type": ["string", "null"], "format": "date-time" } - } - }, - "project_phases_list": { "type": ["string", "null"] }, - "project_user_list": { "type": ["string", "null"] }, - "risk_profiles": { - "type": ["array", "null"], - "items": { - "type": ["object", "null"], - "properties": { - "id": { "type": ["integer", "null"] }, - "risk_score": { "type": ["number", "null"] }, - "level": { "type": ["string", "null"] }, - "variance": { "type": ["integer", "null"] }, - "formula": { "type": ["string", "null"] }, - "projected_golive_datetime": { - "type": ["string", "null"], - "format": "date-time" - } - } - } - }, - "start_datetime": { "type": ["string", "null"], "format": "date-time" }, - "started_datetime": { "type": ["string", "null"], "format": "date-time" }, - "status": { "type": ["string", "null"] }, - "task_list": { "type": ["string", "null"] }, - "time_entry_list": { "type": ["string", "null"] }, - "title": { "type": ["string", "null"] } - } -} diff --git a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/task_attachments.json b/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/task_attachments.json deleted file mode 100644 index 0c41e829e195..000000000000 --- a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/task_attachments.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { "type": ["integer", "null"] }, - "_self": { "type": ["string", "null"] }, - "task": { "type": ["string", "null"] }, - "url": { "type": ["string", "null"] }, - "type": { "type": ["string", "null"] }, - "label": { "type": ["string", "null"] }, - "deliverable": { "type": ["boolean", "null"] }, - "requires_approval": { "type": ["boolean", "null"] }, - "approved": { "type": ["boolean", "null"] }, - "revision_task": { "type": ["string", "null"] }, - "original_filename": { "type": ["string", "null"] }, - "created_by": { "type": ["string", "null"] }, - "created": { "type": ["string", "null"] }, - "modified": { "type": ["string", "null"] } - } -} diff --git a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/tasks.json b/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/tasks.json deleted file mode 100644 index b2ff5e9c16d5..000000000000 --- a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/tasks.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { "type": ["integer", "null"] }, - "_self": { "type": ["string", "null"] }, - "title": { "type": ["string", "null"] }, - "description": { "type": ["string", "null"] }, - "project": { "type": ["string", "null"] }, - "status": { "type": ["string", "null"] }, - "dependencies": { - "type": ["array", "null"], - "items": { - "type": ["string", "null"] - } - }, - "start_datetime": { "type": ["string", "null"], "format": "date-time" }, - "due_datetime": { "type": ["string", "null"], "format": "date-time" }, - "started_datetime": { "type": ["string", "null"], "format": "date-time" }, - "finished_datetime": { "type": ["string", "null"], "format": "date-time" }, - "started_overridden_datetime": { - "type": ["string", "null"], - "format": "date-time" - }, - "finished_overridden_datetime": { - "type": ["string", "null"], - "format": "date-time" - }, - "estimated_duration": { "type": ["integer", "null"] }, - "milestone": { "type": ["string", "null"] }, - "created_by": { "type": ["string", "null"] }, - "assigned_to": { "type": ["string", "null"] }, - "created_from": { "type": ["string", "null"] }, - "risk_profiles": { - "type": ["array", "null"], - "items": { - "type": ["object", "null"], - "properties": { - "id": { "type": ["integer", "null"] }, - "risk_level": { "type": ["string", "null"] }, - "formula": { "type": ["string", "null"] }, - "over_run": { "type": ["integer", "null"] }, - "task_variance": { "type": ["integer", "null"] }, - "cool_down": { "type": ["integer", "null"] }, - "reason": { "type": ["integer", "null"] }, - "duration": { "type": ["integer", "null"] }, - "estimated_duration": { "type": ["integer", "null"] } - } - } - }, - "time_entry_list": { "type": ["string", "null"] }, - "attachment_list": { "type": ["string", "null"] }, - "created": { "type": ["string", "null"], "format": "date-time" }, - "modified": { "type": ["string", "null"], "format": "date-time" } - } -} diff --git a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/templates.json b/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/templates.json deleted file mode 100644 index e364f7ddb2bf..000000000000 --- a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/templates.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { "type": ["integer", "null"] }, - "_self": { "type": ["string", "null"] }, - "title": { "type": ["string", "null"] }, - "status": { "type": ["string", "null"] }, - "cost": { "type": ["string", "null"] }, - "annual_contract_value": { "type": ["string", "null"] }, - "implementation_budget": { "type": ["string", "null"] }, - "estimated_duration": { "type": ["integer", "null"] }, - "created_from_template": { "type": ["string", "null"] }, - "created_from": { "type": ["string", "null"] }, - "start_datetime": { "type": ["string", "null"], "format": "date-time" }, - "started_datetime": { "type": ["string", "null"], "format": "date-time" }, - "deadline_datetime": { "type": ["string", "null"], "format": "date-time" }, - "completed_datetime": { "type": ["string", "null"], "format": "date-time" }, - "client_systems": { "type": ["string", "null"] }, - "phase": { - "type": ["object", "null"], - "properties": { - "id": { "type": ["integer", "null"] }, - "_self": { "type": ["string", "null"] }, - "order": { "type": ["integer", "null"] }, - "created": { "type": ["string", "null"], "format": "date-time" }, - "modified": { "type": ["string", "null"], "format": "date-time" } - } - }, - "creator": { "type": ["string", "null"] }, - "task_list": { "type": ["string", "null"] } - } -} diff --git a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/time_entries.json b/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/time_entries.json deleted file mode 100644 index b75a95128fc1..000000000000 --- a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/time_entries.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { "type": ["integer", "null"] }, - "_self": { "type": ["string", "null"] }, - "user": { "type": ["string", "null"] }, - "created_by": { "type": ["string", "null"] }, - "project": { "type": ["string", "null"] }, - "task": { "type": ["string", "null"] }, - "rate": { - "type": ["object", "null"], - "properties": { - "id": { "type": ["integer", "null"] }, - "hourly_rate": { "type": ["string", "null"] } - } - }, - "started_at": { "type": ["string", "null"], "format": "date-time" }, - "ended_at": { "type": ["string", "null"], "format": "date-time" }, - "reference_date": { "type": ["string", "null"], "format": "date-time" }, - "billable": { "type": ["boolean", "null"] }, - "calculated_duration": { "type": ["integer", "null"] }, - "inputted_duration": { "type": ["integer", "null"] }, - "notes": { "type": ["string", "null"] } - } -} diff --git a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/users.json b/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/users.json deleted file mode 100644 index 4ce6c1eed02c..000000000000 --- a/airbyte-integrations/connectors/source-hellobaton/source_hellobaton/schemas/users.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { "type": ["integer", "null"] }, - "_self": { "type": ["string", "null"] }, - "first_name": { "type": ["string", "null"] }, - "last_name": { "type": ["string", "null"] }, - "capacity": { "type": ["integer", "null"] }, - "department": { "type": ["object", "null"] }, - "email": { "type": ["string", "null"] }, - "account_type": { "type": ["string", "null"] }, - "job_title": { "type": ["string", "null"] }, - "company": { "type": ["string", "null"] }, - "avatar_url": { "type": ["string", "null"] }, - "created_by": { "type": ["string", "null"] }, - "signed_up_at": { "type": ["string", "null"], "format": "date-time" }, - "created": { "type": ["string", "null"], "format": "date-time" }, - "modified": { "type": ["string", "null"], "format": "date-time" } - } -} diff --git a/airbyte-integrations/connectors/source-hubplanner/metadata.yaml b/airbyte-integrations/connectors/source-hubplanner/metadata.yaml index 4a47739a52a7..3f6fd07622e9 100644 --- a/airbyte-integrations/connectors/source-hubplanner/metadata.yaml +++ b/airbyte-integrations/connectors/source-hubplanner/metadata.yaml @@ -14,7 +14,7 @@ data: connectorSubtype: api connectorType: source definitionId: 8097ceb9-383f-42f6-9f92-d3fd4bcc7689 - dockerImageTag: 0.2.1 + dockerImageTag: 0.2.2 dockerRepository: airbyte/source-hubplanner githubIssueLabel: source-hubplanner icon: hubplanner.svg @@ -39,5 +39,5 @@ data: type: GSM alias: airbyte-connector-testing-secret-store connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 metadataSpecVersion: "1.0" diff --git a/airbyte-integrations/connectors/source-hubplanner/pyproject.toml b/airbyte-integrations/connectors/source-hubplanner/pyproject.toml index e8826b9ee84c..4ceaa97e38eb 100644 --- a/airbyte-integrations/connectors/source-hubplanner/pyproject.toml +++ b/airbyte-integrations/connectors/source-hubplanner/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.2.1" +version = "0.2.2" name = "source-hubplanner" description = "Source implementation for Hubplanner." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-intercom/metadata.yaml b/airbyte-integrations/connectors/source-intercom/metadata.yaml index 9d634414774b..8f61d4a4ca4f 100644 --- a/airbyte-integrations/connectors/source-intercom/metadata.yaml +++ b/airbyte-integrations/connectors/source-intercom/metadata.yaml @@ -6,11 +6,11 @@ data: hosts: - api.intercom.io connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 connectorSubtype: api connectorType: source definitionId: d8313939-3782-41b0-be29-b3ca20d8dd3a - dockerImageTag: 0.6.6 + dockerImageTag: 0.6.7 dockerRepository: airbyte/source-intercom documentationUrl: https://docs.airbyte.com/integrations/sources/intercom githubIssueLabel: source-intercom diff --git a/airbyte-integrations/connectors/source-intercom/pyproject.toml b/airbyte-integrations/connectors/source-intercom/pyproject.toml index b91b14207778..393b58c2baad 100644 --- a/airbyte-integrations/connectors/source-intercom/pyproject.toml +++ b/airbyte-integrations/connectors/source-intercom/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.6.6" +version = "0.6.7" name = "source-intercom" description = "Source implementation for Intercom Yaml." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-intruder/metadata.yaml b/airbyte-integrations/connectors/source-intruder/metadata.yaml index 053408455a80..b66f5d99a0cb 100644 --- a/airbyte-integrations/connectors/source-intruder/metadata.yaml +++ b/airbyte-integrations/connectors/source-intruder/metadata.yaml @@ -2,7 +2,7 @@ data: connectorSubtype: api connectorType: source definitionId: 3d15163b-11d8-412f-b808-795c9b2c3a3a - dockerImageTag: 0.1.2 + dockerImageTag: 0.1.3 dockerRepository: airbyte/source-intruder githubIssueLabel: source-intruder icon: intruder.svg diff --git a/airbyte-integrations/connectors/source-intruder/pyproject.toml b/airbyte-integrations/connectors/source-intruder/pyproject.toml index 233bfd94f909..9a73c0051bf6 100644 --- a/airbyte-integrations/connectors/source-intruder/pyproject.toml +++ b/airbyte-integrations/connectors/source-intruder/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.1.2" +version = "0.1.3" name = "source-intruder" description = "Source implementation for Intruder." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-intruder/requirements.txt b/airbyte-integrations/connectors/source-intruder/requirements.txt deleted file mode 100644 index d6e1198b1ab1..000000000000 --- a/airbyte-integrations/connectors/source-intruder/requirements.txt +++ /dev/null @@ -1 +0,0 @@ --e . diff --git a/airbyte-integrations/connectors/source-intruder/source_intruder/manifest.yaml b/airbyte-integrations/connectors/source-intruder/source_intruder/manifest.yaml index 25e044d02d73..79d223267b45 100644 --- a/airbyte-integrations/connectors/source-intruder/source_intruder/manifest.yaml +++ b/airbyte-integrations/connectors/source-intruder/source_intruder/manifest.yaml @@ -1,82 +1,306 @@ -version: "0.29.0" +version: 0.79.1 + +type: DeclarativeSource + +check: + type: CheckStream + stream_names: + - issues definitions: - selector: - extractor: - field_path: ["results"] - requester: - url_base: "https://api.intruder.io/v1" - http_method: "GET" + streams: + issues: + type: DeclarativeStream + name: issues + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /issues + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 100 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/issues" + occurrences_issues: + type: DeclarativeStream + name: occurrences_issues + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /issues/{{ stream_slice.id }}/occurrences + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 100 + partition_router: + - type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: id + partition_field: id + stream: + $ref: "#/definitions/streams/issues" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/occurrences_issues" + scans: + type: DeclarativeStream + name: scans + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /scans + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 100 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/scans" + targets: + type: DeclarativeStream + name: targets + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /targets + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 100 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/targets" + base_requester: + type: HttpRequester + url_base: https://api.intruder.io/v1 authenticator: type: BearerAuthenticator api_token: "{{ config['access_token'] }}" - offset_paginator: - type: DefaultPaginator - pagination_strategy: - type: "OffsetIncrement" - page_size: 100 - page_token_option: - type: RequestOption - field_name: "offset" - inject_into: "request_parameter" - page_size_option: - inject_into: "request_parameter" - field_name: "limit" - retriever: - record_selector: - $ref: "#/definitions/selector" - paginator: - $ref: "#/definitions/offset_paginator" - requester: - $ref: "#/definitions/requester" - base_stream: - retriever: - $ref: "#/definitions/retriever" - issues_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "issues" - primary_key: "id" - path: "/issues" - issue_partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - stream: "#/definitions/issues_stream" - parent_key: id - partition_field: id - occurrences_issue_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "occurrences_issues" - primary_key: "id" - retriever: - $ref: "#/definitions/retriever" - record_selector: - $ref: "#/definitions/selector" - requester: - $ref: "#/definitions/requester" - path: "/issues/{{ stream_slice.id }}/occurrences" - partition_router: - $ref: "#/definitions/issue_partition_router" - scans_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "scans" - primary_key: "id" - path: "/scans" - targets_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "targets" - primary_key: "id" - path: "/targets" streams: - - "#/definitions/issues_stream" - - "#/definitions/occurrences_issue_stream" - - "#/definitions/scans_stream" - - "#/definitions/targets_stream" + - $ref: "#/definitions/streams/issues" + - $ref: "#/definitions/streams/occurrences_issues" + - $ref: "#/definitions/streams/scans" + - $ref: "#/definitions/streams/targets" -check: - stream_names: - - "issues" +spec: + type: Spec + connection_specification: + type: object + $schema: http://json-schema.org/draft-07/schema# + required: + - access_token + properties: + access_token: + type: string + title: API Access token + description: >- + Your API Access token. See here. + airbyte_secret: true + order: 0 + additionalProperties: true + +metadata: + autoImportSchema: + issues: false + occurrences_issues: false + scans: false + targets: false + +schemas: + issues: + type: object + $schema: http://json-schema.org/draft-07/schema# + properties: + description: + type: + - "null" + - string + id: + type: + - "null" + - integer + occurrences: + type: + - "null" + - string + remediation: + type: + - "null" + - string + severity: + type: + - "null" + - string + snooze_reason: + type: + - "null" + - string + snooze_until: + type: + - "null" + - string + snoozed: + type: + - "null" + - boolean + title: + type: + - "null" + - string + additionalProperties: true + occurrences_issues: + type: object + $schema: http://json-schema.org/draft-07/schema# + properties: + age: + type: + - "null" + - string + extra_info: + type: + - "null" + - object + id: + type: + - "null" + - integer + port: + type: + - "null" + - integer + snooze_reason: + type: + - "null" + - string + snooze_until: + type: + - "null" + - string + snoozed: + type: + - "null" + - boolean + target: + type: + - "null" + - string + additionalProperties: true + scans: + type: object + $schema: http://json-schema.org/draft-07/schema# + properties: + created_at: + type: + - "null" + - string + id: + type: + - "null" + - integer + status: + type: + - "null" + - string + additionalProperties: true + targets: + type: object + $schema: http://json-schema.org/draft-07/schema# + properties: + address: + type: + - "null" + - string + id: + type: + - "null" + - integer + tags: + type: + - "null" + - array + additionalProperties: true diff --git a/airbyte-integrations/connectors/source-intruder/source_intruder/schemas/issues.json b/airbyte-integrations/connectors/source-intruder/source_intruder/schemas/issues.json deleted file mode 100644 index 3427aa537c9a..000000000000 --- a/airbyte-integrations/connectors/source-intruder/source_intruder/schemas/issues.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "integer"] - }, - "severity": { - "type": ["null", "string"] - }, - "title": { - "type": ["null", "string"] - }, - "description": { - "type": ["null", "string"] - }, - "remediation": { - "type": ["null", "string"] - }, - "snoozed": { - "type": ["null", "boolean"] - }, - "snooze_reason": { - "type": ["null", "string"] - }, - "snooze_until": { - "type": ["null", "string"] - }, - "occurrences": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-intruder/source_intruder/schemas/occurrences_issues.json b/airbyte-integrations/connectors/source-intruder/source_intruder/schemas/occurrences_issues.json deleted file mode 100644 index 63a87930bc2d..000000000000 --- a/airbyte-integrations/connectors/source-intruder/source_intruder/schemas/occurrences_issues.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "integer"] - }, - "target": { - "type": ["null", "string"] - }, - "port": { - "type": ["null", "integer"] - }, - "extra_info": { - "type": ["null", "object"] - }, - "age": { - "type": ["null", "string"] - }, - "snoozed": { - "type": ["null", "boolean"] - }, - "snooze_reason": { - "type": ["null", "string"] - }, - "snooze_until": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-intruder/source_intruder/schemas/scans.json b/airbyte-integrations/connectors/source-intruder/source_intruder/schemas/scans.json deleted file mode 100644 index c751b8e187c5..000000000000 --- a/airbyte-integrations/connectors/source-intruder/source_intruder/schemas/scans.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "integer"] - }, - "status": { - "type": ["null", "string"] - }, - "created_at": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-intruder/source_intruder/schemas/targets.json b/airbyte-integrations/connectors/source-intruder/source_intruder/schemas/targets.json deleted file mode 100644 index 327ec85064f7..000000000000 --- a/airbyte-integrations/connectors/source-intruder/source_intruder/schemas/targets.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "integer"] - }, - "address": { - "type": ["null", "string"] - }, - "tags": { - "type": ["null", "array"] - } - } -} diff --git a/airbyte-integrations/connectors/source-intruder/source_intruder/spec.yaml b/airbyte-integrations/connectors/source-intruder/source_intruder/spec.yaml deleted file mode 100644 index 9d78bb4fa450..000000000000 --- a/airbyte-integrations/connectors/source-intruder/source_intruder/spec.yaml +++ /dev/null @@ -1,16 +0,0 @@ -documentationUrl: https://docs.airbyte.com/integrations/sources/intruder -connectionSpecification: - $schema: http://json-schema.org/draft-07/schema# - title: Intruder Spec - type: object - required: - - access_token - additionalProperties: true - properties: - access_token: - title: API Access token - type: string - description: >- - Your API Access token. See here. - airbyte_secret: true diff --git a/airbyte-integrations/connectors/source-lemlist/metadata.yaml b/airbyte-integrations/connectors/source-lemlist/metadata.yaml index a3726c8b629a..f77862f6cf7c 100644 --- a/airbyte-integrations/connectors/source-lemlist/metadata.yaml +++ b/airbyte-integrations/connectors/source-lemlist/metadata.yaml @@ -14,9 +14,9 @@ data: connectorSubtype: api connectorType: source connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 definitionId: 789f8e7a-2d28-11ec-8d3d-0242ac130003 - dockerImageTag: 0.2.2 + dockerImageTag: 0.2.3 dockerRepository: airbyte/source-lemlist githubIssueLabel: source-lemlist icon: lemlist.svg diff --git a/airbyte-integrations/connectors/source-lemlist/pyproject.toml b/airbyte-integrations/connectors/source-lemlist/pyproject.toml index e335f7a55482..e78b2f594ccd 100644 --- a/airbyte-integrations/connectors/source-lemlist/pyproject.toml +++ b/airbyte-integrations/connectors/source-lemlist/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.2.2" +version = "0.2.3" name = "source-lemlist" description = "Source implementation for Lemlist." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-mailchimp/metadata.yaml b/airbyte-integrations/connectors/source-mailchimp/metadata.yaml index 2e1e7581e42e..40f2a22cbb85 100644 --- a/airbyte-integrations/connectors/source-mailchimp/metadata.yaml +++ b/airbyte-integrations/connectors/source-mailchimp/metadata.yaml @@ -7,11 +7,11 @@ data: - "*.api.mailchimp.com" - "login.mailchimp.com" connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 connectorSubtype: api connectorType: source definitionId: b03a9f3e-22a5-11eb-adc1-0242ac120002 - dockerImageTag: 2.0.3 + dockerImageTag: 2.0.4 dockerRepository: airbyte/source-mailchimp documentationUrl: https://docs.airbyte.com/integrations/sources/mailchimp githubIssueLabel: source-mailchimp diff --git a/airbyte-integrations/connectors/source-mailchimp/pyproject.toml b/airbyte-integrations/connectors/source-mailchimp/pyproject.toml index 3959b8d67774..a2ff86caa446 100644 --- a/airbyte-integrations/connectors/source-mailchimp/pyproject.toml +++ b/airbyte-integrations/connectors/source-mailchimp/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "2.0.3" +version = "2.0.4" name = "source-mailchimp" description = "Source implementation for Mailchimp." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-metabase/metadata.yaml b/airbyte-integrations/connectors/source-metabase/metadata.yaml index 7aec4dfc0186..3fbd81ecfe3d 100644 --- a/airbyte-integrations/connectors/source-metabase/metadata.yaml +++ b/airbyte-integrations/connectors/source-metabase/metadata.yaml @@ -6,11 +6,11 @@ data: hosts: - "*" connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 connectorSubtype: api connectorType: source definitionId: c7cb421b-942e-4468-99ee-e369bcabaec5 - dockerImageTag: 2.0.0 + dockerImageTag: 2.0.1 dockerRepository: airbyte/source-metabase documentationUrl: https://docs.airbyte.com/integrations/sources/metabase githubIssueLabel: source-metabase diff --git a/airbyte-integrations/connectors/source-metabase/pyproject.toml b/airbyte-integrations/connectors/source-metabase/pyproject.toml index 73a7165c81ba..780783c2b95c 100644 --- a/airbyte-integrations/connectors/source-metabase/pyproject.toml +++ b/airbyte-integrations/connectors/source-metabase/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "2.0.0" +version = "2.0.1" name = "source-metabase" description = "Source implementation for Metabase." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-mongodb-v2/build.gradle b/airbyte-integrations/connectors/source-mongodb-v2/build.gradle index f027ee29f6ca..9daad40b20d1 100644 --- a/airbyte-integrations/connectors/source-mongodb-v2/build.gradle +++ b/airbyte-integrations/connectors/source-mongodb-v2/build.gradle @@ -3,7 +3,7 @@ plugins { } airbyteJavaConnector { - cdkVersionRequired = '0.36.3' + cdkVersionRequired = '0.37.2' features = ['db-sources', 'datastore-mongo'] useLocalCdk = false } @@ -38,8 +38,8 @@ java { } dependencies { - implementation 'io.debezium:debezium-embedded:2.5.1.Final' - implementation 'io.debezium:debezium-connector-mongodb:2.5.1.Final' + implementation 'io.debezium:debezium-embedded:2.6.2.Final' + implementation 'io.debezium:debezium-connector-mongodb:2.6.2.Final' testImplementation 'org.testcontainers:mongodb:1.19.0' @@ -53,8 +53,8 @@ dependencies { dataGeneratorImplementation 'org.jetbrains.kotlinx:kotlinx-cli-jvm:0.3.5' dataGeneratorImplementation 'org.mongodb:mongodb-driver-sync:4.10.2' - debeziumTestImplementation 'io.debezium:debezium-embedded:2.5.1.Final' - debeziumTestImplementation 'io.debezium:debezium-connector-mongodb:2.5.1.Final' + debeziumTestImplementation 'io.debezium:debezium-embedded:2.6.0.Final' + debeziumTestImplementation 'io.debezium:debezium-connector-mongodb:2.6.0.Final' debeziumTestImplementation 'org.jetbrains.kotlinx:kotlinx-cli-jvm:0.3.5' debeziumTestImplementation 'com.github.spotbugs:spotbugs-annotations:4.7.3' } diff --git a/airbyte-integrations/connectors/source-mongodb-v2/metadata.yaml b/airbyte-integrations/connectors/source-mongodb-v2/metadata.yaml index 2c5ee78d218f..c737206f9f9e 100644 --- a/airbyte-integrations/connectors/source-mongodb-v2/metadata.yaml +++ b/airbyte-integrations/connectors/source-mongodb-v2/metadata.yaml @@ -8,7 +8,7 @@ data: connectorSubtype: database connectorType: source definitionId: b2e713cd-cc36-4c0a-b5bd-b47cb8a0561e - dockerImageTag: 1.3.15 + dockerImageTag: 1.4.0 dockerRepository: airbyte/source-mongodb-v2 documentationUrl: https://docs.airbyte.com/integrations/sources/mongodb-v2 githubIssueLabel: source-mongodb-v2 diff --git a/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcInitializer.java b/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcInitializer.java index a165a5183d38..1032ab733550 100644 --- a/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcInitializer.java +++ b/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcInitializer.java @@ -69,6 +69,7 @@ public MongoDbCdcInitializer() { * @param mongoClient The {@link MongoClient} used to interact with the target MongoDB server. * @param cdcMetadataInjector The {@link MongoDbCdcConnectorMetadataInjector} used to add metadata * to generated records. + * @param streams The configured Airbyte catalog of streams for the source. * @param stateManager The {@link MongoDbStateManager} that provides state information used for * iterator selection. * @param emittedAt The timestamp of the sync. @@ -98,7 +99,7 @@ public List> createCdcIterators( final BsonDocument initialResumeToken = MongoDbResumeTokenHelper.getMostRecentResumeToken(mongoClient, databaseName, incrementalOnlyStreamsCatalog); final JsonNode initialDebeziumState = - mongoDbDebeziumStateUtil.constructInitialDebeziumState(initialResumeToken, mongoClient, databaseName); + mongoDbDebeziumStateUtil.constructInitialDebeziumState(initialResumeToken, databaseName); final MongoDbCdcState cdcState = (stateManager.getCdcState() == null || stateManager.getCdcState().state() == null || stateManager.getCdcState().state().isNull()) ? new MongoDbCdcState(initialDebeziumState, isEnforceSchema) @@ -107,8 +108,7 @@ public List> createCdcIterators( Jsons.clone(defaultDebeziumProperties), incrementalOnlyStreamsCatalog, cdcState.state(), - config.getDatabaseConfig(), - mongoClient); + config.getDatabaseConfig()); // We should always be able to extract offset out of state if it's not null if (cdcState.state() != null && optSavedOffset.isEmpty()) { diff --git a/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCustomLoader.java b/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCustomLoader.java deleted file mode 100644 index ec537d60b8e4..000000000000 --- a/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCustomLoader.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2023 Airbyte, Inc., all rights reserved. - */ - -package io.airbyte.integrations.source.mongodb.cdc; - -import io.airbyte.commons.json.Jsons; -import io.debezium.connector.mongodb.MongoDbConnectorConfig; -import io.debezium.connector.mongodb.MongoDbOffsetContext; -import io.debezium.connector.mongodb.MongoDbOffsetContext.Loader; -import io.debezium.connector.mongodb.ReplicaSets; -import java.util.Collections; -import java.util.Map; - -/** - * Custom Debezium offset loader for MongoDB. - *

- *

- * N.B. In order to extract the offset from the {@link MongoDbCustomLoader}, you must first get the - * {@link io.debezium.connector.mongodb.ReplicaSetOffsetContext} from the - * {@link MongoDbOffsetContext} for the replica set for which the offset is requested. From that - * context, you can then request the actual Debezium offset. - */ -public class MongoDbCustomLoader extends Loader { - - private Map, Map> offsets; - - public MongoDbCustomLoader(final MongoDbConnectorConfig connectorConfig, final ReplicaSets replicaSets) { - super(connectorConfig, replicaSets); - } - - @Override - public MongoDbOffsetContext loadOffsets(final Map, Map> offsets) { - this.offsets = Jsons.clone(offsets); - return super.loadOffsets(offsets); - } - - public Map, Map> getRawOffset() { - return Collections.unmodifiableMap(offsets); - } - -} diff --git a/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbDebeziumConstants.java b/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbDebeziumConstants.java index 170c6ae78552..1e07a6bedfba 100644 --- a/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbDebeziumConstants.java +++ b/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbDebeziumConstants.java @@ -49,8 +49,8 @@ public static class Configuration { */ public static class OffsetState { - public static final String KEY_REPLICA_SET = SourceInfo.REPLICA_SET_NAME; - public static final String KEY_SERVER_ID = SourceInfo.SERVER_ID_KEY; + // public static final String KEY_REPLICA_SET = SourceInfo.REPLICA_SET_NAME; + public static final String KEY_SERVER_ID = "server_id"; public static final String VALUE_INCREMENT = SourceInfo.ORDER; public static final String VALUE_RESUME_TOKEN = "resume_token"; public static final String VALUE_SECONDS = SourceInfo.TIMESTAMP; diff --git a/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbDebeziumPropertiesManager.java b/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbDebeziumPropertiesManager.java index 6050cbe66b53..5d07a928646b 100644 --- a/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbDebeziumPropertiesManager.java +++ b/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbDebeziumPropertiesManager.java @@ -40,7 +40,7 @@ public class MongoDbDebeziumPropertiesManager extends DebeziumPropertiesManager static final String DOUBLE_QUOTES_PATTERN = "\""; static final String MONGODB_AUTHSOURCE_KEY = "mongodb.authsource"; static final String MONGODB_CONNECTION_MODE_KEY = "mongodb.connection.mode"; - static final String MONGODB_CONNECTION_MODE_VALUE = "replica_set"; + static final String MONGODB_CONNECTION_MODE_VALUE = "sharded"; static final String MONGODB_CONNECTION_STRING_KEY = "mongodb.connection.string"; static final String MONGODB_PASSWORD_KEY = "mongodb.password"; static final String MONGODB_SSL_ENABLED_KEY = "mongodb.ssl.enabled"; diff --git a/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbDebeziumStateUtil.java b/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbDebeziumStateUtil.java index 862d8b9dc482..adb895bda02e 100644 --- a/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbDebeziumStateUtil.java +++ b/airbyte-integrations/connectors/source-mongodb-v2/src/main/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbDebeziumStateUtil.java @@ -4,6 +4,8 @@ package io.airbyte.integrations.source.mongodb.cdc; +import static io.airbyte.integrations.source.mongodb.cdc.MongoDbDebeziumConstants.OffsetState.KEY_SERVER_ID; + import com.fasterxml.jackson.databind.JsonNode; import com.mongodb.MongoChangeStreamException; import com.mongodb.MongoCommandException; @@ -17,14 +19,12 @@ import io.airbyte.commons.json.Jsons; import io.airbyte.protocol.models.v0.ConfiguredAirbyteCatalog; import io.debezium.config.Configuration; +import io.debezium.connector.common.OffsetReader; import io.debezium.connector.mongodb.MongoDbConnectorConfig; import io.debezium.connector.mongodb.MongoDbOffsetContext; -import io.debezium.connector.mongodb.MongoDbTaskContext; -import io.debezium.connector.mongodb.MongoUtil; -import io.debezium.connector.mongodb.ReplicaSetDiscovery; -import io.debezium.connector.mongodb.ReplicaSets; +import io.debezium.connector.mongodb.MongoDbPartition; import io.debezium.connector.mongodb.ResumeTokens; -import java.util.Collection; +import io.debezium.pipeline.spi.Partition; import java.util.Collections; import java.util.LinkedHashMap; import java.util.LinkedList; @@ -33,6 +33,7 @@ import java.util.Objects; import java.util.Optional; import java.util.Properties; +import java.util.Set; import org.apache.kafka.connect.storage.FileOffsetBackingStore; import org.apache.kafka.connect.storage.OffsetStorageReaderImpl; import org.bson.BsonDocument; @@ -53,16 +54,14 @@ public class MongoDbDebeziumStateUtil implements DebeziumStateUtil { * Constructs the initial Debezium offset state that will be used by the incremental CDC snapshot * after an initial snapshot sync. * - * @param mongoClient The {@link MongoClient} used to query the MongoDB server. * @param serverId The ID of the target server. * @return The initial Debezium offset state storage document as a {@link JsonNode}. * @throws IllegalStateException if unable to determine the replica set. */ - public JsonNode constructInitialDebeziumState(final BsonDocument resumeToken, final MongoClient mongoClient, final String serverId) { - final String replicaSet = getReplicaSetName(mongoClient); + public JsonNode constructInitialDebeziumState(final BsonDocument resumeToken, final String serverId) { LOGGER.info("Initial resume token '{}' constructed, corresponding to timestamp (seconds after epoch) {}", ResumeTokens.getData(resumeToken).asString().getValue(), ResumeTokens.getTimestamp(resumeToken).getTime()); - final JsonNode state = formatState(serverId, replicaSet, ((BsonString) ResumeTokens.getData(resumeToken)).getValue()); + final JsonNode state = formatState(serverId, ((BsonString) ResumeTokens.getData(resumeToken)).getValue()); LOGGER.info("Initial Debezium state constructed: {}", state); return state; } @@ -71,36 +70,22 @@ public JsonNode constructInitialDebeziumState(final BsonDocument resumeToken, fi * Formats the Debezium initial state into a format suitable for storage in the offset data file. * * @param serverId The ID target MongoDB database. - * @param replicaSet The name of the target MongoDB replica set. * @param resumeTokenData The MongoDB resume token that represents the offset state. * @return The offset state as a {@link JsonNode}. */ - public static JsonNode formatState(final String serverId, final String replicaSet, final String resumeTokenData) { + public static JsonNode formatState(final String serverId, final String resumeTokenData) { final BsonTimestamp timestamp = ResumeTokens.getTimestamp(ResumeTokens.fromData(resumeTokenData)); - final List key = generateOffsetKey(serverId, replicaSet); + final List key = generateOffsetKey(serverId); final Map value = new LinkedHashMap<>(); value.put(MongoDbDebeziumConstants.OffsetState.VALUE_SECONDS, timestamp.getTime()); value.put(MongoDbDebeziumConstants.OffsetState.VALUE_INCREMENT, timestamp.getInc()); - value.put(MongoDbDebeziumConstants.OffsetState.VALUE_TRANSACTION_ID, null); value.put(MongoDbDebeziumConstants.OffsetState.VALUE_RESUME_TOKEN, resumeTokenData); return Jsons.jsonNode(Map.of(Jsons.serialize(key), Jsons.serialize(value))); } - /** - * Retrieves the replica set name for the current connection. - * - * @param mongoClient The {@link MongoClient} used to retrieve the replica set name. - * @return The replica set name. - * @throws IllegalStateException if unable to determine the replica set. - */ - public static String getReplicaSetName(final MongoClient mongoClient) { - final Optional replicaSetName = MongoUtil.replicaSetName(mongoClient.getClusterDescription()); - return replicaSetName.orElseThrow(() -> new IllegalStateException("Unable to determine replica set.")); - } - /** * Test whether the retrieved saved offset resume token value is valid. A valid resume token is one * that can be used to resume a change event stream in MongoDB. @@ -158,13 +143,13 @@ public boolean isValidResumeToken(final BsonDocument savedOffset, public Optional savedOffset(final Properties baseProperties, final ConfiguredAirbyteCatalog catalog, final JsonNode cdcState, - final JsonNode config, - final MongoClient mongoClient) { + final JsonNode config) { LOGGER.debug("Initializing file offset backing store with state '{}'...", cdcState); final var offsetManager = AirbyteFileOffsetBackingStore.initializeState(cdcState, Optional.empty()); final DebeziumPropertiesManager debeziumPropertiesManager = new MongoDbDebeziumPropertiesManager(baseProperties, config, catalog); final Properties debeziumProperties = debeziumPropertiesManager.getDebeziumProperties(offsetManager); - return parseSavedOffset(debeziumProperties, mongoClient); + LOGGER.info("properties: " + debeziumProperties); + return parseSavedOffset(debeziumProperties); } /** @@ -175,7 +160,7 @@ public Optional savedOffset(final Properties baseProperties, * state * @return Returns the resume token that Airbyte has acknowledged in the source database server. */ - private Optional parseSavedOffset(final Properties properties, final MongoClient mongoClient) { + private Optional parseSavedOffset(final Properties properties) { FileOffsetBackingStore fileOffsetBackingStore = null; OffsetStorageReaderImpl offsetStorageReader = null; @@ -184,31 +169,33 @@ private Optional parseSavedOffset(final Properties properties, fin offsetStorageReader = getOffsetStorageReader(fileOffsetBackingStore, properties); final Configuration config = Configuration.from(properties); - final MongoDbTaskContext taskContext = new MongoDbTaskContext(config); final MongoDbConnectorConfig mongoDbConnectorConfig = new MongoDbConnectorConfig(config); - final ReplicaSets replicaSets = new ReplicaSetDiscovery(taskContext).getReplicaSets(mongoClient); - - LOGGER.debug("Parsing saved offset state for replica set '{}' and server ID '{}'...", replicaSets.all().get(0), properties.getProperty("name")); - - final MongoDbOffsetContext.Loader loader = new MongoDbCustomLoader(mongoDbConnectorConfig, replicaSets); - final Collection> partitions = loader.getPartitions(); - final Map, Map> offsets = offsetStorageReader.offsets(partitions); - - if (offsets != null && offsets.values().stream().anyMatch(Objects::nonNull)) { - final MongoDbOffsetContext offsetContext = loader.loadOffsets(offsets); - final Map offset = offsetContext.getReplicaSetOffsetContext(replicaSets.all().get(0)).getOffset(); - final Object resumeTokenData = offset.get(MongoDbDebeziumConstants.OffsetState.VALUE_RESUME_TOKEN); - if (resumeTokenData != null) { - final BsonDocument resumeToken = ResumeTokens.fromData(resumeTokenData.toString()); - return Optional.of(resumeToken); - } else { - LOGGER.warn("Offset data does not contain a resume token: {}", offset); - return Optional.empty(); - } + + final MongoDbOffsetContext.Loader loader = new MongoDbOffsetContext.Loader(mongoDbConnectorConfig); + + final Partition mongoDbPartition = new MongoDbPartition(properties.getProperty(CONNECTOR_NAME_PROPERTY)); + + final Set partitions = + Collections.singleton(mongoDbPartition); + final OffsetReader offsetReader = new OffsetReader<>(offsetStorageReader, loader); + final Map offsets = offsetReader.offsets(partitions); + + if (offsets == null || offsets.values().stream().noneMatch(Objects::nonNull)) { + return Optional.empty(); + } + + final MongoDbOffsetContext context = offsets.get(mongoDbPartition); + final var offset = context.getOffset(); + + final Object resumeTokenData = offset.get(MongoDbDebeziumConstants.OffsetState.VALUE_RESUME_TOKEN); + + if (resumeTokenData != null) { + final BsonDocument resumeToken = ResumeTokens.fromData(resumeTokenData.toString()); + return Optional.of(resumeToken); } else { - LOGGER.warn("Loaded offset data is null or empty: {}", offsets); return Optional.empty(); } + } finally { LOGGER.info("Closing offsetStorageReader and fileOffsetBackingStore"); if (offsetStorageReader != null) { @@ -221,7 +208,7 @@ private Optional parseSavedOffset(final Properties properties, fin } } - private static List generateOffsetKey(final String serverId, final String replicaSet) { + private static List generateOffsetKey(final String serverId) { /* * N.B. The order of the keys in the sourceInfoMap and key list matters! DO NOT CHANGE the order * unless you have verified that Debezium has changed its order of the key it builds when retrieving @@ -230,8 +217,7 @@ private static List generateOffsetKey(final String serverId, final Strin */ final Map sourceInfoMap = new LinkedHashMap<>(); final String normalizedServerId = MongoDbDebeziumPropertiesManager.normalizeName(serverId); - sourceInfoMap.put(MongoDbDebeziumConstants.OffsetState.KEY_REPLICA_SET, replicaSet); - sourceInfoMap.put(MongoDbDebeziumConstants.OffsetState.KEY_SERVER_ID, normalizedServerId); + sourceInfoMap.put(KEY_SERVER_ID, normalizedServerId); final List key = new LinkedList<>(); key.add(normalizedServerId); diff --git a/airbyte-integrations/connectors/source-mongodb-v2/src/test-integration/java/io/airbyte/integrations/source/mongodb/MongoDbSourceAcceptanceTest.java b/airbyte-integrations/connectors/source-mongodb-v2/src/test-integration/java/io/airbyte/integrations/source/mongodb/MongoDbSourceAcceptanceTest.java index b81349284ba8..0cc541133675 100644 --- a/airbyte-integrations/connectors/source-mongodb-v2/src/test-integration/java/io/airbyte/integrations/source/mongodb/MongoDbSourceAcceptanceTest.java +++ b/airbyte-integrations/connectors/source-mongodb-v2/src/test-integration/java/io/airbyte/integrations/source/mongodb/MongoDbSourceAcceptanceTest.java @@ -505,9 +505,8 @@ void testSyncShouldHandlePurgedLogsGracefully() throws Exception { // Modify the state to point to a non-existing resume token value final AirbyteStateMessage stateMessage = Iterables.getLast(stateMessages); - final String replicaSetName = MongoDbDebeziumStateUtil.getReplicaSetName(mongoClient); final MongoDbCdcState cdcState = new MongoDbCdcState( - MongoDbDebeziumStateUtil.formatState(databaseName, replicaSetName, INVALID_RESUME_TOKEN)); + MongoDbDebeziumStateUtil.formatState(databaseName, INVALID_RESUME_TOKEN)); stateMessage.getGlobal().setSharedState(Jsons.jsonNode(cdcState)); final JsonNode state = Jsons.jsonNode(List.of(stateMessage)); @@ -557,15 +556,14 @@ void testIsSameOffset() { new MongoDbCdcTargetPosition(MongoDbResumeTokenHelper.getMostRecentResumeToken(mongoClient, databaseName, getConfiguredCatalog())); final BsonDocument resumeToken = MongoDbResumeTokenHelper.getMostRecentResumeToken(mongoClient, databaseName, getConfiguredCatalog()); final String resumeTokenString = resumeToken.get("_data").asString().getValue(); - final String replicaSet = MongoDbDebeziumStateUtil.getReplicaSetName(mongoClient); final Map emptyOffsetA = Map.of(); final Map emptyOffsetB = Map.of(); final Map offsetA = Jsons.object(MongoDbDebeziumStateUtil.formatState(databaseName, - replicaSet, resumeTokenString), new TypeReference<>() {}); + resumeTokenString), new TypeReference<>() {}); final Map offsetB = Jsons.object(MongoDbDebeziumStateUtil.formatState(databaseName, - replicaSet, resumeTokenString), new TypeReference<>() {}); + resumeTokenString), new TypeReference<>() {}); final Map offsetBDifferent = Jsons.object(MongoDbDebeziumStateUtil.formatState(databaseName, - replicaSet, INVALID_RESUME_TOKEN), new TypeReference<>() {}); + INVALID_RESUME_TOKEN), new TypeReference<>() {}); assertFalse(targetPosition.isSameOffset(null, offsetB)); assertFalse(targetPosition.isSameOffset(emptyOffsetA, offsetB)); diff --git a/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcInitializerTest.java b/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcInitializerTest.java index 80b6fe27858e..f6518ee49f3a 100644 --- a/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcInitializerTest.java +++ b/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcInitializerTest.java @@ -267,7 +267,7 @@ JsonNode createConfig(String cdcCursorFailBehaviour) { void testUnableToExtractOffsetFromStateException() { final MongoDbStateManager stateManager = MongoDbStateManager.createStateManager(createInitialDebeziumState(InitialSnapshotStatus.COMPLETE), CONFIG); - doReturn(Optional.empty()).when(mongoDbDebeziumStateUtil).savedOffset(any(), any(), any(), any(), any()); + doReturn(Optional.empty()).when(mongoDbDebeziumStateUtil).savedOffset(any(), any(), any(), any()); assertThrows(RuntimeException.class, () -> cdcInitializer.createCdcIterators(mongoClient, cdcConnectorMetadataInjector, CONFIGURED_CATALOG_STREAMS, stateManager, EMITTED_AT, CONFIG)); @@ -307,7 +307,7 @@ void testUnsupportedIdTypeThrowsException() { private static JsonNode createInitialDebeziumState(final InitialSnapshotStatus initialSnapshotStatus) { final StreamDescriptor streamDescriptor = new StreamDescriptor().withNamespace(STREAM_NAMESPACE).withName(STREAM_NAME); - final MongoDbCdcState cdcState = new MongoDbCdcState(MongoDbDebeziumStateUtil.formatState(DATABASE, REPLICA_SET, RESUME_TOKEN1)); + final MongoDbCdcState cdcState = new MongoDbCdcState(MongoDbDebeziumStateUtil.formatState(DATABASE, RESUME_TOKEN1)); final MongoDbStreamState mongoDbStreamState = new MongoDbStreamState(ID, initialSnapshotStatus, IdType.OBJECT_ID); final JsonNode sharedState = Jsons.jsonNode(cdcState); final JsonNode streamState = Jsons.jsonNode(mongoDbStreamState); diff --git a/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcSavedInfoFetcherTest.java b/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcSavedInfoFetcherTest.java index 935051f3b229..2051718eda4f 100644 --- a/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcSavedInfoFetcherTest.java +++ b/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcSavedInfoFetcherTest.java @@ -13,12 +13,11 @@ class MongoDbCdcSavedInfoFetcherTest { private static final String DATABASE = "test-database"; - private static final String REPLICA_SET = "test-replica-set"; private static final String RESUME_TOKEN = "8264BEB9F3000000012B0229296E04"; @Test void testRetrieveSavedOffsetState() { - final JsonNode offset = MongoDbDebeziumStateUtil.formatState(DATABASE, REPLICA_SET, RESUME_TOKEN); + final JsonNode offset = MongoDbDebeziumStateUtil.formatState(DATABASE, RESUME_TOKEN); final MongoDbCdcState offsetState = new MongoDbCdcState(offset); final MongoDbCdcSavedInfoFetcher cdcSavedInfoFetcher = new MongoDbCdcSavedInfoFetcher(offsetState); assertEquals(offsetState.state(), cdcSavedInfoFetcher.getSavedOffset()); @@ -26,7 +25,7 @@ void testRetrieveSavedOffsetState() { @Test void testRetrieveSchemaHistory() { - final JsonNode offset = MongoDbDebeziumStateUtil.formatState(DATABASE, REPLICA_SET, RESUME_TOKEN); + final JsonNode offset = MongoDbDebeziumStateUtil.formatState(DATABASE, RESUME_TOKEN); final MongoDbCdcState offsetState = new MongoDbCdcState(offset); final MongoDbCdcSavedInfoFetcher cdcSavedInfoFetcher = new MongoDbCdcSavedInfoFetcher(offsetState); assertThrows(RuntimeException.class, () -> cdcSavedInfoFetcher.getSavedSchemaHistory()); diff --git a/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcStateHandlerTest.java b/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcStateHandlerTest.java index a40e69ddd7a5..91472e6c64d6 100644 --- a/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcStateHandlerTest.java +++ b/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcStateHandlerTest.java @@ -22,7 +22,6 @@ class MongoDbCdcStateHandlerTest { private static final String DATABASE = "test-database"; - private static final String REPLICA_SET = "test-replica-set"; private static final String RESUME_TOKEN = "8264BEB9F3000000012B0229296E04"; final MongoDbSourceConfig CONFIG = new MongoDbSourceConfig(io.airbyte.commons.json.Jsons.jsonNode( @@ -42,7 +41,7 @@ void setup() { @Test void testSavingState() { final Map offset = - Jsons.object(MongoDbDebeziumStateUtil.formatState(DATABASE, REPLICA_SET, RESUME_TOKEN), new TypeReference<>() {}); + Jsons.object(MongoDbDebeziumStateUtil.formatState(DATABASE, RESUME_TOKEN), new TypeReference<>() {}); final AirbyteMessage airbyteMessage = mongoDbCdcStateHandler.saveState(offset, null); assertNotNull(airbyteMessage); assertEquals(AirbyteMessage.Type.STATE, airbyteMessage.getType()); diff --git a/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcTargetPositionTest.java b/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcTargetPositionTest.java index 20cf0b1ef9cb..0e6ace990f31 100644 --- a/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcTargetPositionTest.java +++ b/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCdcTargetPositionTest.java @@ -236,7 +236,7 @@ void testIsEventAheadOfOffset() throws IOException { final ChangeEventWithMetadata changeEventWithMetadata = new ChangeEventWithMetadata(changeEvent); final Map offset = - Jsons.object(MongoDbDebeziumStateUtil.formatState(null, null, RESUME_TOKEN), new TypeReference<>() {}); + Jsons.object(MongoDbDebeziumStateUtil.formatState(null, RESUME_TOKEN), new TypeReference<>() {}); final MongoDbCdcTargetPosition targetPosition = new MongoDbCdcTargetPosition(MongoDbResumeTokenHelper.getMostRecentResumeToken(mongoClient, DATABASE, CATALOG)); @@ -259,11 +259,11 @@ void testIsSameOffset() { when(mongoDatabase.watch(PIPELINE, BsonDocument.class)).thenReturn(changeStreamIterable); final Map offsetA = - Jsons.object(MongoDbDebeziumStateUtil.formatState(null, null, RESUME_TOKEN), new TypeReference<>() {}); + Jsons.object(MongoDbDebeziumStateUtil.formatState(null, RESUME_TOKEN), new TypeReference<>() {}); final Map offsetB = - Jsons.object(MongoDbDebeziumStateUtil.formatState(null, null, RESUME_TOKEN), new TypeReference<>() {}); + Jsons.object(MongoDbDebeziumStateUtil.formatState(null, RESUME_TOKEN), new TypeReference<>() {}); final Map offsetC = - Jsons.object(MongoDbDebeziumStateUtil.formatState(null, null, OTHER_RESUME_TOKEN), new TypeReference<>() {}); + Jsons.object(MongoDbDebeziumStateUtil.formatState(null, OTHER_RESUME_TOKEN), new TypeReference<>() {}); final MongoDbCdcTargetPosition targetPosition = new MongoDbCdcTargetPosition(MongoDbResumeTokenHelper.getMostRecentResumeToken(mongoClient, DATABASE, CATALOG)); diff --git a/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCustomLoaderTest.java b/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCustomLoaderTest.java deleted file mode 100644 index 016c675f9735..000000000000 --- a/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbCustomLoaderTest.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) 2023 Airbyte, Inc., all rights reserved. - */ - -package io.airbyte.integrations.source.mongodb.cdc; - -import static io.airbyte.integrations.source.mongodb.cdc.MongoDbDebeziumConstants.ChangeEvent.SOURCE_ORDER; -import static io.airbyte.integrations.source.mongodb.cdc.MongoDbDebeziumConstants.ChangeEvent.SOURCE_RESUME_TOKEN; -import static io.airbyte.integrations.source.mongodb.cdc.MongoDbDebeziumConstants.ChangeEvent.SOURCE_SECONDS; -import static io.airbyte.integrations.source.mongodb.cdc.MongoDbDebeziumConstants.OffsetState.KEY_REPLICA_SET; -import static io.airbyte.integrations.source.mongodb.cdc.MongoDbDebeziumConstants.OffsetState.VALUE_TRANSACTION_ID; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.mockito.Mockito.mock; - -import com.mongodb.ConnectionString; -import io.debezium.connector.mongodb.MongoDbConnectorConfig; -import io.debezium.connector.mongodb.MongoDbOffsetContext; -import io.debezium.connector.mongodb.ReplicaSets; -import io.debezium.connector.mongodb.ResumeTokens; -import io.debezium.connector.mongodb.connection.ReplicaSet; -import java.util.HashMap; -import java.util.Map; -import org.bson.BsonDocument; -import org.bson.BsonTimestamp; -import org.junit.jupiter.api.Test; - -class MongoDbCustomLoaderTest { - - private static final String RESUME_TOKEN = "8264BEB9F3000000012B0229296E04"; - - @Test - void testLoadOffsets() { - final String replicaSet = "replica-set"; - final BsonDocument resumeToken = ResumeTokens.fromData(RESUME_TOKEN); - final BsonTimestamp timestamp = ResumeTokens.getTimestamp(resumeToken); - final Map key = Map.of(KEY_REPLICA_SET, replicaSet); - final Map value = new HashMap<>(); - value.put(SOURCE_SECONDS, timestamp.getTime()); - value.put(SOURCE_ORDER, timestamp.getInc()); - value.put(SOURCE_RESUME_TOKEN, RESUME_TOKEN); - value.put(VALUE_TRANSACTION_ID, null); - final Map, Map> offsets = Map.of(key, value); - final MongoDbConnectorConfig mongoDbConnectorConfig = mock(MongoDbConnectorConfig.class); - final ReplicaSets replicaSets = ReplicaSets.of( - new ReplicaSet(new ConnectionString("mongodb://localhost:1234/?replicaSet=" + replicaSet))); - final MongoDbCustomLoader loader = new MongoDbCustomLoader(mongoDbConnectorConfig, replicaSets); - - final MongoDbOffsetContext context = loader.loadOffsets(offsets); - final Map offset = context.getReplicaSetOffsetContext(replicaSets.all().get(0)).getOffset(); - - assertNotNull(offset); - assertEquals(value, offset); - } - -} diff --git a/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbDebeziumStateUtilTest.java b/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbDebeziumStateUtilTest.java index 4288856087e0..8a26d6e3761f 100644 --- a/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbDebeziumStateUtilTest.java +++ b/airbyte-integrations/connectors/source-mongodb-v2/src/test/java/io/airbyte/integrations/source/mongodb/cdc/MongoDbDebeziumStateUtilTest.java @@ -7,7 +7,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -47,7 +46,6 @@ class MongoDbDebeziumStateUtilTest { private static final String DATABASE = "test-database"; - private static final String REPLICA_SET = "test-replica-set"; private static final String RESUME_TOKEN = "8264BEB9F3000000012B0229296E04"; private static final AirbyteCatalog CATALOG = new AirbyteCatalog().withStreams(List.of( @@ -81,12 +79,11 @@ void testConstructInitialDebeziumState() { MongoDbDebeziumConstants.Configuration.CONNECTION_STRING_CONFIGURATION_KEY, "mongodb://host:12345/", MongoDbDebeziumConstants.Configuration.DATABASE_CONFIGURATION_KEY, database)); - when(serverDescription.getSetName()).thenReturn(REPLICA_SET); when(clusterDescription.getServerDescriptions()).thenReturn(List.of(serverDescription)); when(clusterDescription.getType()).thenReturn(ClusterType.REPLICA_SET); when(mongoClient.getClusterDescription()).thenReturn(clusterDescription); - final JsonNode initialState = mongoDbDebeziumStateUtil.constructInitialDebeziumState(resumeTokenDocument, mongoClient, database); + final JsonNode initialState = mongoDbDebeziumStateUtil.constructInitialDebeziumState(resumeTokenDocument, database); assertNotNull(initialState); assertEquals(1, initialState.size()); @@ -95,40 +92,23 @@ void testConstructInitialDebeziumState() { assertEquals(resumeToken, Jsons.deserialize(offsetState.asText()).get(MongoDbDebeziumConstants.OffsetState.VALUE_RESUME_TOKEN).asText()); assertEquals(timestamp.getTime(), Jsons.deserialize(offsetState.asText()).get(MongoDbDebeziumConstants.OffsetState.VALUE_SECONDS).asInt()); assertEquals(timestamp.getInc(), Jsons.deserialize(offsetState.asText()).get(MongoDbDebeziumConstants.OffsetState.VALUE_INCREMENT).asInt()); - assertEquals("null", Jsons.deserialize(offsetState.asText()).get(MongoDbDebeziumConstants.OffsetState.VALUE_TRANSACTION_ID).asText()); final Optional parsedOffset = mongoDbDebeziumStateUtil.savedOffset( baseProperties, CONFIGURED_CATALOG, initialState, - config, - mongoClient); + config); assertTrue(parsedOffset.isPresent()); assertEquals(resumeToken, parsedOffset.get().get("_data").asString().getValue()); } - @Test - void testConstructInitialDebeziumStateMissingReplicaSet() { - final BsonDocument resumeTokenDocument = ResumeTokens.fromData(RESUME_TOKEN); - final ServerDescription serverDescription = mock(ServerDescription.class); - final ClusterDescription clusterDescription = mock(ClusterDescription.class); - final MongoClient mongoClient = mock(MongoClient.class); - - when(clusterDescription.getServerDescriptions()).thenReturn(List.of(serverDescription)); - when(clusterDescription.getType()).thenReturn(ClusterType.REPLICA_SET); - when(mongoClient.getClusterDescription()).thenReturn(clusterDescription); - - assertThrows(IllegalStateException.class, - () -> mongoDbDebeziumStateUtil.constructInitialDebeziumState(resumeTokenDocument, mongoClient, DATABASE)); - } - @Test void testOffsetDataFormat() { - final JsonNode offsetState = MongoDbDebeziumStateUtil.formatState(DATABASE, REPLICA_SET, RESUME_TOKEN); + final JsonNode offsetState = MongoDbDebeziumStateUtil.formatState(DATABASE, RESUME_TOKEN); assertNotNull(offsetState); - assertEquals("[\"" + DATABASE + "\",{\"" + MongoDbDebeziumConstants.OffsetState.KEY_REPLICA_SET + "\":\"" + REPLICA_SET + "\",\"" + assertEquals("[\"" + DATABASE + "\",{\"" + MongoDbDebeziumConstants.OffsetState.KEY_SERVER_ID + "\":\"" + DATABASE + "\"}]", offsetState.fieldNames().next()); } diff --git a/airbyte-integrations/connectors/source-pagerduty/metadata.yaml b/airbyte-integrations/connectors/source-pagerduty/metadata.yaml index a042e331a84d..9bbeeb6c89fa 100644 --- a/airbyte-integrations/connectors/source-pagerduty/metadata.yaml +++ b/airbyte-integrations/connectors/source-pagerduty/metadata.yaml @@ -14,7 +14,7 @@ data: connectorSubtype: api connectorType: source definitionId: 2544ac39-02be-4bf5-82ad-f52bbb833bf5 - dockerImageTag: 0.2.2 + dockerImageTag: 0.2.3 dockerRepository: airbyte/source-pagerduty githubIssueLabel: source-pagerduty icon: pagerduty.svg diff --git a/airbyte-integrations/connectors/source-pagerduty/pyproject.toml b/airbyte-integrations/connectors/source-pagerduty/pyproject.toml index ffda1592b903..8691efd533f4 100644 --- a/airbyte-integrations/connectors/source-pagerduty/pyproject.toml +++ b/airbyte-integrations/connectors/source-pagerduty/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.2.2" +version = "0.2.3" name = "source-pagerduty" description = "Source implementation for Pagerduty." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-pagerduty/requirements.txt b/airbyte-integrations/connectors/source-pagerduty/requirements.txt deleted file mode 100644 index cc57334ef619..000000000000 --- a/airbyte-integrations/connectors/source-pagerduty/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ --e ../../bases/connector-acceptance-test --e . diff --git a/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/manifest.yaml b/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/manifest.yaml index 39c0f41f49c6..08fcacabaf2d 100644 --- a/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/manifest.yaml +++ b/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/manifest.yaml @@ -1,110 +1,1952 @@ -version: "0.29.0" +version: 0.79.1 -definitions: - selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["{{ parameters.extractorPath }}"] +type: DeclarativeSource + +check: + type: CheckStream + stream_names: + - incidents + - incident_logs + - teams + - services + - users + - priorities - requester: +definitions: + streams: + incidents: + type: DeclarativeStream + name: incidents + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /incidents + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - incidents + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/incidents" + incident_logs: + type: DeclarativeStream + name: incident_logs + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /incidents/{{ stream_partition.incident_id }}/log_entries + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - log_entries + partition_router: + - type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: id + partition_field: incident_id + stream: + $ref: "#/definitions/streams/incidents" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/incident_logs" + teams: + type: DeclarativeStream + name: teams + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /teams + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - teams + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/teams" + services: + type: DeclarativeStream + name: services + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /services + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - services + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/services" + users: + type: DeclarativeStream + name: users + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /users + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - users + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/users" + priorities: + type: DeclarativeStream + name: priorities + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /priorities + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - priorities + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/priorities" + base_requester: type: HttpRequester - url_base: "https://api.pagerduty.com" - http_method: "GET" + url_base: https://api.pagerduty.com authenticator: - type: "ApiKeyAuthenticator" - header: "Authorization" + type: ApiKeyAuthenticator api_token: "Token token={{ config['token'] }}" + inject_into: + type: RequestOption + field_name: Authorization + inject_into: header - retriever: - type: SimpleRetriever - record_selector: - $ref: "#/definitions/selector" - paginator: - type: NoPagination - requester: - $ref: "#/definitions/requester" - - base_stream: - type: DeclarativeStream - retriever: - $ref: "#/definitions/retriever" - - incidents_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "incidents" - primary_key: "id" - extractorPath: "incidents" - path: "/incidents" - - incidents_partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - stream: "#/definitions/incidents_stream" - parent_key: "id" - partition_field: "incident_id" - - incident_logs_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "incident_logs" - primary_key: "id" - extractorPath: "log_entries" - retriever: - $ref: "#/definitions/retriever" - partition_router: - $ref: "#/definitions/incidents_partition_router" - requester: - $ref: "#/definitions/requester" - path: "/incidents/{{ stream_partition.incident_id }}/log_entries" - - teams_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "teams" - primary_key: "id" - extractorPath: "teams" - path: "/teams" - - services_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "services" - primary_key: "id" - extractorPath: "services" - path: "/services" +streams: + - $ref: "#/definitions/streams/incidents" + - $ref: "#/definitions/streams/incident_logs" + - $ref: "#/definitions/streams/teams" + - $ref: "#/definitions/streams/services" + - $ref: "#/definitions/streams/users" + - $ref: "#/definitions/streams/priorities" - users_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "users" - primary_key: "id" - extractorPath: "users" - path: "/users" +spec: + type: Spec + connection_specification: + type: object + $schema: http://json-schema.org/draft-07/schema# + required: + - token + properties: + cutoff_days: + type: integer + title: Cutoff Days + default: 90 + description: Fetch pipelines updated in the last number of days + order: 0 + default_severity: + type: string + title: Severity category + description: A default severity category if not present + examples: + - Sev1 + - Sev2 + - Sev3 + - Sev4 + - Sev5 + - Custom + pattern: ^(Sev[0-5])?(Custom)?$ + order: 1 + exclude_services: + type: array + items: + type: string + title: Exclude Services + examples: + - service-1 + - service-2 + description: >- + List of PagerDuty service names to ignore incidents from. If not set, + all incidents will be pulled. + order: 2 + incident_log_entries_overview: + type: boolean + title: Incident Log Entries Overview + description: >- + If true, will return a subset of log entries that show only the most + important changes to the incident. + default: true + order: 3 + max_retries: + type: integer + minimum: 0 + maximum: 8 + default: 5 + title: Max Retries + description: >- + Maximum number of PagerDuty API request retries to perform upon + connection errors. The source will pause for an exponentially + increasing number of seconds before retrying. + order: 4 + page_size: + type: integer + minimum: 1 + maximum: 25 + default: 25 + title: Page Size + description: page size to use when querying PagerDuty API + order: 5 + service_details: + type: array + items: + type: string + enum: + - escalation_policies + - teams + - integrations + - auto_pause_notifications_parameters + title: Service Details + description: List of PagerDuty service additional details to include. + order: 6 + token: + type: string + title: API key + description: API key for PagerDuty API authentication + airbyte_secret: true + order: 7 + additionalProperties: true - priorities_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "priorities" - primary_key: "id" - extractorPath: "priorities" - path: "/priorities" +metadata: + autoImportSchema: + incidents: false + incident_logs: false + teams: false + services: false + users: false + priorities: false -streams: - - "#/definitions/incidents_stream" - - "#/definitions/incident_logs_stream" - - "#/definitions/teams_stream" - - "#/definitions/services_stream" - - "#/definitions/users_stream" - - "#/definitions/priorities_stream" - -check: - type: CheckStream - stream_names: - - "incidents" - - "incident_logs" - - "teams" - - "services" - - "users" - - "priorities" +schemas: + incidents: + type: + - object + - "null" + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - string + - "null" + acknowledgements: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + acknowledger: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + html_url: + type: + - string + - "null" + id: + type: + - string + - "null" + self: + type: + - string + - "null" + summary: + type: + - string + - "null" + at: + type: + - string + - "null" + alert_counts: + type: + - object + - "null" + properties: + all: + type: + - number + - "null" + resolved: + type: + - number + - "null" + triggered: + type: + - number + - "null" + alert_grouping: + type: + - string + - "null" + assigned_via: + type: + - string + - "null" + assignments: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + assignee: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + html_url: + type: + - string + - "null" + id: + type: + - string + - "null" + self: + type: + - string + - "null" + summary: + type: + - string + - "null" + at: + type: + - string + - "null" + basic_alert_grouping: + type: + - string + - "null" + created_at: + type: + - string + - "null" + description: + type: + - string + - "null" + escalation_policy: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + html_url: + type: + - string + - "null" + id: + type: + - string + - "null" + self: + type: + - string + - "null" + summary: + type: + - string + - "null" + first_trigger_log_entry: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + html_url: + type: + - string + - "null" + id: + type: + - string + - "null" + self: + type: + - string + - "null" + summary: + type: + - string + - "null" + html_url: + type: + - string + - "null" + id: + type: + - string + - "null" + incident_key: + type: + - string + - "null" + incident_number: + type: + - number + - "null" + incidents_responders: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + escalation_policy_requests: + type: + - array + - "null" + items: + type: + - string + - "null" + incident: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + html_url: + type: + - string + - "null" + id: + type: + - string + - "null" + self: + type: + - string + - "null" + summary: + type: + - string + - "null" + message: + type: + - string + - "null" + requested_at: + type: + - string + - "null" + requester: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + avatar_url: + type: + - string + - "null" + html_url: + type: + - string + - "null" + id: + type: + - string + - "null" + job_title: + type: + - string + - "null" + self: + type: + - string + - "null" + summary: + type: + - string + - "null" + state: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + user: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + avatar_url: + type: + - string + - "null" + html_url: + type: + - string + - "null" + id: + type: + - string + - "null" + job_title: + type: + - string + - "null" + self: + type: + - string + - "null" + summary: + type: + - string + - "null" + is_mergeable: + type: boolean + last_status_change_at: + type: + - string + - "null" + last_status_change_by: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + html_url: + type: + - string + - "null" + id: + type: + - string + - "null" + self: + type: + - string + - "null" + summary: + type: + - string + - "null" + pending_actions: + type: + - array + - "null" + items: + type: + - string + - "null" + priority: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + account_id: + type: + - string + - "null" + color: + type: + - string + - "null" + created_at: + type: + - string + - "null" + description: + type: + - string + - "null" + html_url: + type: + - string + - "null" + id: + type: + - string + - "null" + name: + type: + - string + - "null" + order: + type: + - number + - "null" + schema_version: + type: + - number + - "null" + self: + type: + - string + - "null" + summary: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + resolved_at: + type: + - string + - "null" + responder_requests: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + incident: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + html_url: + type: + - string + - "null" + id: + type: + - string + - "null" + self: + type: + - string + - "null" + summary: + type: + - string + - "null" + message: + type: + - string + - "null" + requested_at: + type: + - string + - "null" + requester: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + html_url: + type: + - string + - "null" + id: + type: + - string + - "null" + self: + type: + - string + - "null" + summary: + type: + - string + - "null" + responder_request_targets: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + responder_request_target: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + incidents_responders: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + incident: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + html_url: + type: + - string + - "null" + id: + type: + - string + - "null" + self: + type: + - string + - "null" + summary: + type: + - string + - "null" + message: + type: + - string + - "null" + requested_at: + type: + - string + - "null" + requester: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + avatar_url: + type: + - string + - "null" + html_url: + type: + - string + - "null" + id: + type: + - string + - "null" + job_title: + type: + - string + - "null" + self: + type: + - string + - "null" + summary: + type: + - string + - "null" + state: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + user: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + avatar_url: + type: + - string + - "null" + html_url: + type: + - string + - "null" + id: + type: + - string + - "null" + job_title: + type: + - string + - "null" + self: + type: + - string + - "null" + summary: + type: + - string + - "null" + summary: + type: + - string + - "null" + self: + type: + - string + - "null" + service: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + html_url: + type: + - string + - "null" + id: + type: + - string + - "null" + self: + type: + - string + - "null" + summary: + type: + - string + - "null" + status: + type: + - string + - "null" + subscriber_requests: + type: + - array + - "null" + items: + type: + - string + - "null" + summary: + type: + - string + - "null" + teams: + type: + - array + - "null" + items: + type: + - string + - "null" + title: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + urgency: + type: + - string + - "null" + title: Incidents Schema + incident_logs: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - "null" + - string + action: + type: + - "null" + - string + agent: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + assignees: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + channel: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + new_priority: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + account_id: + type: + - "null" + - string + color: + type: + - "null" + - string + created_at: + type: + - "null" + - string + description: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + name: + type: + - "null" + - string + order: + type: + - "null" + - number + schema_version: + type: + - "null" + - number + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + notification: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + address: + type: + - "null" + - string + conferenceAddress: + type: + - "null" + - string + status: + type: + - "null" + - string + old_priority: + type: + - "null" + - string + summary: + type: + - "null" + - string + channels: + type: + - "null" + - string + contexts: + type: + - "null" + - array + items: + type: + - "null" + - string + created_at: + type: + - "null" + - string + escalation_policy: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + description: + type: + - "null" + - string + escalation_rules: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + escalation_delay_in_minutes: + type: + - "null" + - number + id: + type: + - "null" + - string + targets: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + name: + type: + - "null" + - string + num_loops: + type: + - "null" + - number + on_call_handoff_notifications: + type: + - "null" + - string + privilege: + type: + - "null" + - string + self: + type: + - "null" + - string + services: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + summary: + type: + - "null" + - string + teams: + type: + - "null" + - array + items: + type: + - "null" + - string + event_details: + type: + - "null" + - object + properties: + description: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + incident: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + level: + type: + - "null" + - number + message: + type: + - "null" + - string + responder: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + responders_list: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + self: + type: + - "null" + - string + service: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + summary: + type: + - "null" + - string + teams: + type: + - "null" + - array + items: + type: + - "null" + - string + user: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + title: Incident Logs schema + teams: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - "null" + - string + default_role: + type: + - "null" + - string + description: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + name: + type: + - "null" + - string + parent: + type: + - "null" + - string + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + title: Teams Schema + services: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - "null" + - string + acknowledgement_timeout: + type: + - "null" + - string + addons: + type: + - "null" + - array + items: + type: + - "null" + - string + alert_creation: + type: + - "null" + - string + alert_grouping: + type: + - "null" + - string + alert_grouping_parameters: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + config: + type: + - "null" + - object + properties: + recommended_time_window: + type: + - "null" + - number + time_window: + type: + - "null" + - number + alert_grouping_timeout: + type: + - "null" + - string + auto_resolve_timeout: + type: + - "null" + - string + created_at: + type: + - "null" + - string + description: + type: + - "null" + - string + escalation_policy: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + incident_urgency_rule: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + urgency: + type: + - "null" + - string + integrations: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + last_incident_timestamp: + type: + - "null" + - string + name: + type: + - "null" + - string + response_play: + type: + - "null" + - string + scheduled_actions: + type: + - "null" + - array + items: + type: + - "null" + - string + self: + type: + - "null" + - string + status: + type: + - "null" + - string + summary: + type: + - "null" + - string + support_hours: + type: + - "null" + - string + teams: + type: + - "null" + - array + items: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + title: Services schema + users: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - "null" + - string + avatar_url: + type: + - "null" + - string + billed: + type: boolean + color: + type: + - "null" + - string + contact_methods: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + coordinated_incidents: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + incident: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + message: + type: + - "null" + - string + requested_at: + type: + - "null" + - string + requester: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + state: + type: + - "null" + - string + description: + type: + - "null" + - string + email: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + invitation_sent: + type: boolean + job_title: + type: + - "null" + - string + name: + type: + - "null" + - string + notification_rules: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + role: + type: + - "null" + - string + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + teams: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + time_zone: + type: + - "null" + - string + title: Users Schema + priorities: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - "null" + - string + account_id: + type: + - "null" + - string + color: + type: + - "null" + - string + created_at: + type: + - "null" + - string + description: + type: + - "null" + - string + html_url: + type: + - "null" + - string + id: + type: + - "null" + - string + name: + type: + - "null" + - string + order: + type: + - "null" + - number + schema_version: + type: + - "null" + - number + self: + type: + - "null" + - string + summary: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + title: Priorities schema diff --git a/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/schemas/incident_logs.json b/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/schemas/incident_logs.json deleted file mode 100644 index 6cd2ff5583b9..000000000000 --- a/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/schemas/incident_logs.json +++ /dev/null @@ -1,380 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Incident Logs schema", - "additionalProperties": true, - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - }, - "created_at": { - "type": ["null", "string"] - }, - "agent": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - } - } - }, - "channel": { - "type": ["null", "object"], - "properties": { - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "notification": { - "type": ["null", "object"], - "properties": { - "type": { - "type": ["null", "string"] - }, - "address": { - "type": ["null", "string"] - }, - "conferenceAddress": { - "type": ["null", "string"] - }, - "status": { - "type": ["null", "string"] - } - } - }, - "old_priority": { - "type": ["null", "string"] - }, - "new_priority": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - }, - "account_id": { - "type": ["null", "string"] - }, - "color": { - "type": ["null", "string"] - }, - "created_at": { - "type": ["null", "string"] - }, - "description": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "order": { - "type": ["null", "number"] - }, - "schema_version": { - "type": ["null", "number"] - }, - "updated_at": { - "type": ["null", "string"] - } - } - } - } - }, - "service": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - } - } - }, - "incident": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - } - } - }, - "teams": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - }, - "contexts": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - }, - "message": { - "type": ["null", "string"] - }, - "responder": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - } - } - }, - "channels": { - "type": ["null", "string"] - }, - "responders_list": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - } - } - } - }, - "escalation_policy": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "escalation_rules": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "escalation_delay_in_minutes": { - "type": ["null", "number"] - }, - "targets": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - } - } - } - } - } - } - }, - "services": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - } - } - } - }, - "num_loops": { - "type": ["null", "number"] - }, - "teams": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - }, - "description": { - "type": ["null", "string"] - }, - "on_call_handoff_notifications": { - "type": ["null", "string"] - }, - "privilege": { - "type": ["null", "string"] - } - } - }, - "level": { - "type": ["null", "number"] - }, - "action": { - "type": ["null", "string"] - }, - "event_details": { - "type": ["null", "object"], - "properties": { - "description": { - "type": ["null", "string"] - } - } - }, - "user": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - } - } - }, - "assignees": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - } - } - } - } - } -} diff --git a/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/schemas/incidents.json b/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/schemas/incidents.json deleted file mode 100644 index 26e281c5c413..000000000000 --- a/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/schemas/incidents.json +++ /dev/null @@ -1,549 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Incidents Schema", - "additionalProperties": true, - "type": ["object", "null"], - "properties": { - "incident_number": { - "type": ["number", "null"] - }, - "title": { - "type": ["string", "null"] - }, - "description": { - "type": ["string", "null"] - }, - "created_at": { - "type": ["string", "null"] - }, - "updated_at": { - "type": ["string", "null"] - }, - "status": { - "type": ["string", "null"] - }, - "incident_key": { - "type": ["string", "null"] - }, - "service": { - "type": ["object", "null"], - "properties": { - "id": { - "type": ["string", "null"] - }, - "type": { - "type": ["string", "null"] - }, - "summary": { - "type": ["string", "null"] - }, - "self": { - "type": ["string", "null"] - }, - "html_url": { - "type": ["string", "null"] - } - } - }, - "assignments": { - "type": ["array", "null"], - "items": { - "type": ["object", "null"], - "properties": { - "at": { - "type": ["string", "null"] - }, - "assignee": { - "type": ["object", "null"], - "properties": { - "id": { - "type": ["string", "null"] - }, - "type": { - "type": ["string", "null"] - }, - "summary": { - "type": ["string", "null"] - }, - "self": { - "type": ["string", "null"] - }, - "html_url": { - "type": ["string", "null"] - } - } - } - } - } - }, - "assigned_via": { - "type": ["string", "null"] - }, - "last_status_change_at": { - "type": ["string", "null"] - }, - "resolved_at": { - "type": ["string", "null"] - }, - "first_trigger_log_entry": { - "type": ["object", "null"], - "properties": { - "id": { - "type": ["string", "null"] - }, - "type": { - "type": ["string", "null"] - }, - "summary": { - "type": ["string", "null"] - }, - "self": { - "type": ["string", "null"] - }, - "html_url": { - "type": ["string", "null"] - } - } - }, - "alert_counts": { - "type": ["object", "null"], - "properties": { - "all": { - "type": ["number", "null"] - }, - "triggered": { - "type": ["number", "null"] - }, - "resolved": { - "type": ["number", "null"] - } - } - }, - "is_mergeable": { - "type": "boolean" - }, - "escalation_policy": { - "type": ["object", "null"], - "properties": { - "id": { - "type": ["string", "null"] - }, - "type": { - "type": ["string", "null"] - }, - "summary": { - "type": ["string", "null"] - }, - "self": { - "type": ["string", "null"] - }, - "html_url": { - "type": ["string", "null"] - } - } - }, - "teams": { - "type": ["array", "null"], - "items": { - "type": ["string", "null"] - } - }, - "pending_actions": { - "type": ["array", "null"], - "items": { - "type": ["string", "null"] - } - }, - "acknowledgements": { - "type": ["array", "null"], - "items": { - "type": ["object", "null"], - "properties": { - "at": { - "type": ["string", "null"] - }, - "acknowledger": { - "type": ["object", "null"], - "properties": { - "id": { - "type": ["string", "null"] - }, - "type": { - "type": ["string", "null"] - }, - "summary": { - "type": ["string", "null"] - }, - "self": { - "type": ["string", "null"] - }, - "html_url": { - "type": ["string", "null"] - } - } - } - } - } - }, - "basic_alert_grouping": { - "type": ["string", "null"] - }, - "alert_grouping": { - "type": ["string", "null"] - }, - "last_status_change_by": { - "type": ["object", "null"], - "properties": { - "id": { - "type": ["string", "null"] - }, - "type": { - "type": ["string", "null"] - }, - "summary": { - "type": ["string", "null"] - }, - "self": { - "type": ["string", "null"] - }, - "html_url": { - "type": ["string", "null"] - } - } - }, - "priority": { - "type": ["object", "null"], - "properties": { - "id": { - "type": ["string", "null"] - }, - "type": { - "type": ["string", "null"] - }, - "summary": { - "type": ["string", "null"] - }, - "self": { - "type": ["string", "null"] - }, - "html_url": { - "type": ["string", "null"] - }, - "account_id": { - "type": ["string", "null"] - }, - "color": { - "type": ["string", "null"] - }, - "created_at": { - "type": ["string", "null"] - }, - "description": { - "type": ["string", "null"] - }, - "name": { - "type": ["string", "null"] - }, - "order": { - "type": ["number", "null"] - }, - "schema_version": { - "type": ["number", "null"] - }, - "updated_at": { - "type": ["string", "null"] - } - } - }, - "incidents_responders": { - "type": ["array", "null"], - "items": { - "type": ["object", "null"], - "properties": { - "state": { - "type": ["string", "null"] - }, - "user": { - "type": ["object", "null"], - "properties": { - "id": { - "type": ["string", "null"] - }, - "type": { - "type": ["string", "null"] - }, - "summary": { - "type": ["string", "null"] - }, - "self": { - "type": ["string", "null"] - }, - "html_url": { - "type": ["string", "null"] - }, - "avatar_url": { - "type": ["string", "null"] - }, - "job_title": { - "type": ["string", "null"] - } - } - }, - "incident": { - "type": ["object", "null"], - "properties": { - "id": { - "type": ["string", "null"] - }, - "type": { - "type": ["string", "null"] - }, - "summary": { - "type": ["string", "null"] - }, - "self": { - "type": ["string", "null"] - }, - "html_url": { - "type": ["string", "null"] - } - } - }, - "updated_at": { - "type": ["string", "null"] - }, - "message": { - "type": ["string", "null"] - }, - "requester": { - "type": ["object", "null"], - "properties": { - "id": { - "type": ["string", "null"] - }, - "type": { - "type": ["string", "null"] - }, - "summary": { - "type": ["string", "null"] - }, - "self": { - "type": ["string", "null"] - }, - "html_url": { - "type": ["string", "null"] - }, - "avatar_url": { - "type": ["string", "null"] - }, - "job_title": { - "type": ["string", "null"] - } - } - }, - "requested_at": { - "type": ["string", "null"] - }, - "escalation_policy_requests": { - "type": ["array", "null"], - "items": { - "type": ["string", "null"] - } - } - } - } - }, - "responder_requests": { - "type": ["array", "null"], - "items": { - "type": ["object", "null"], - "properties": { - "incident": { - "type": ["object", "null"], - "properties": { - "id": { - "type": ["string", "null"] - }, - "type": { - "type": ["string", "null"] - }, - "summary": { - "type": ["string", "null"] - }, - "self": { - "type": ["string", "null"] - }, - "html_url": { - "type": ["string", "null"] - } - } - }, - "requester": { - "type": ["object", "null"], - "properties": { - "id": { - "type": ["string", "null"] - }, - "type": { - "type": ["string", "null"] - }, - "summary": { - "type": ["string", "null"] - }, - "self": { - "type": ["string", "null"] - }, - "html_url": { - "type": ["string", "null"] - } - } - }, - "requested_at": { - "type": ["string", "null"] - }, - "message": { - "type": ["string", "null"] - }, - "responder_request_targets": { - "type": ["array", "null"], - "items": { - "type": ["object", "null"], - "properties": { - "responder_request_target": { - "type": ["object", "null"], - "properties": { - "type": { - "type": ["string", "null"] - }, - "id": { - "type": ["string", "null"] - }, - "summary": { - "type": ["string", "null"] - }, - "incidents_responders": { - "type": ["array", "null"], - "items": { - "type": ["object", "null"], - "properties": { - "state": { - "type": ["string", "null"] - }, - "user": { - "type": ["object", "null"], - "properties": { - "id": { - "type": ["string", "null"] - }, - "type": { - "type": ["string", "null"] - }, - "summary": { - "type": ["string", "null"] - }, - "self": { - "type": ["string", "null"] - }, - "html_url": { - "type": ["string", "null"] - }, - "avatar_url": { - "type": ["string", "null"] - }, - "job_title": { - "type": ["string", "null"] - } - } - }, - "incident": { - "type": ["object", "null"], - "properties": { - "id": { - "type": ["string", "null"] - }, - "type": { - "type": ["string", "null"] - }, - "summary": { - "type": ["string", "null"] - }, - "self": { - "type": ["string", "null"] - }, - "html_url": { - "type": ["string", "null"] - } - } - }, - "updated_at": { - "type": ["string", "null"] - }, - "message": { - "type": ["string", "null"] - }, - "requester": { - "type": ["object", "null"], - "properties": { - "id": { - "type": ["string", "null"] - }, - "type": { - "type": ["string", "null"] - }, - "summary": { - "type": ["string", "null"] - }, - "self": { - "type": ["string", "null"] - }, - "html_url": { - "type": ["string", "null"] - }, - "avatar_url": { - "type": ["string", "null"] - }, - "job_title": { - "type": ["string", "null"] - } - } - }, - "requested_at": { - "type": ["string", "null"] - } - } - } - } - } - } - } - } - } - } - } - }, - "subscriber_requests": { - "type": ["array", "null"], - "items": { - "type": ["string", "null"] - } - }, - "urgency": { - "type": ["string", "null"] - }, - "id": { - "type": ["string", "null"] - }, - "type": { - "type": ["string", "null"] - }, - "summary": { - "type": ["string", "null"] - }, - "self": { - "type": ["string", "null"] - }, - "html_url": { - "type": ["string", "null"] - } - } -} diff --git a/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/schemas/priorities.json b/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/schemas/priorities.json deleted file mode 100644 index 98267d5eb806..000000000000 --- a/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/schemas/priorities.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Priorities schema", - "additionalProperties": true, - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - }, - "account_id": { - "type": ["null", "string"] - }, - "color": { - "type": ["null", "string"] - }, - "created_at": { - "type": ["null", "string"] - }, - "description": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "order": { - "type": ["null", "number"] - }, - "schema_version": { - "type": ["null", "number"] - }, - "updated_at": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/schemas/services.json b/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/schemas/services.json deleted file mode 100644 index c512977ce396..000000000000 --- a/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/schemas/services.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Services schema", - "additionalProperties": true, - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "description": { - "type": ["null", "string"] - }, - "created_at": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"] - }, - "status": { - "type": ["null", "string"] - }, - "teams": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - }, - "alert_creation": { - "type": ["null", "string"] - }, - "addons": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - }, - "scheduled_actions": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - }, - "support_hours": { - "type": ["null", "string"] - }, - "last_incident_timestamp": { - "type": ["null", "string"] - }, - "escalation_policy": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - } - } - }, - "incident_urgency_rule": { - "type": ["null", "object"], - "properties": { - "type": { - "type": ["null", "string"] - }, - "urgency": { - "type": ["null", "string"] - } - } - }, - "acknowledgement_timeout": { - "type": ["null", "string"] - }, - "auto_resolve_timeout": { - "type": ["null", "string"] - }, - "alert_grouping": { - "type": ["null", "string"] - }, - "alert_grouping_timeout": { - "type": ["null", "string"] - }, - "alert_grouping_parameters": { - "type": ["null", "object"], - "properties": { - "type": { - "type": ["null", "string"] - }, - "config": { - "type": ["null", "object"], - "properties": { - "time_window": { - "type": ["null", "number"] - }, - "recommended_time_window": { - "type": ["null", "number"] - } - } - } - } - }, - "integrations": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - } - } - } - }, - "response_play": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/schemas/teams.json b/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/schemas/teams.json deleted file mode 100644 index fb3ec34e852b..000000000000 --- a/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/schemas/teams.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Teams Schema", - "additionalProperties": true, - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "description": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - }, - "default_role": { - "type": ["null", "string"] - }, - "parent": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/schemas/users.json b/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/schemas/users.json deleted file mode 100644 index 3e8e0e24c34b..000000000000 --- a/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/schemas/users.json +++ /dev/null @@ -1,179 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Users Schema", - "additionalProperties": true, - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - }, - "email": { - "type": ["null", "string"] - }, - "time_zone": { - "type": ["null", "string"] - }, - "color": { - "type": ["null", "string"] - }, - "avatar_url": { - "type": ["null", "string"] - }, - "billed": { - "type": "boolean" - }, - "role": { - "type": ["null", "string"] - }, - "description": { - "type": ["null", "string"] - }, - "invitation_sent": { - "type": "boolean" - }, - "job_title": { - "type": ["null", "string"] - }, - "teams": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - } - } - } - }, - "contact_methods": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - } - } - } - }, - "notification_rules": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - } - } - } - }, - "coordinated_incidents": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "incident": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - } - } - }, - "requester": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - } - } - }, - "message": { - "type": ["null", "string"] - }, - "state": { - "type": ["null", "string"] - }, - "requested_at": { - "type": ["null", "string"] - } - } - } - }, - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "summary": { - "type": ["null", "string"] - }, - "self": { - "type": ["null", "string"] - }, - "html_url": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/spec.yaml b/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/spec.yaml deleted file mode 100644 index b40b90d2779c..000000000000 --- a/airbyte-integrations/connectors/source-pagerduty/source_pagerduty/spec.yaml +++ /dev/null @@ -1,77 +0,0 @@ -documentationUrl: https://docs.faros.ai -connectionSpecification: - $schema: http://json-schema.org/draft-07/schema# - title: PagerDuty Spec - type: object - required: - - token - additionalProperties: true - properties: - token: - type: string - title: API key - description: API key for PagerDuty API authentication - airbyte_secret: true - cutoff_days: - type: integer - title: Cutoff Days - default: 90 - description: Fetch pipelines updated in the last number of days - page_size: - type: integer - minimum: 1 - maximum: 25 - default: 25 - title: Page Size - description: page size to use when querying PagerDuty API - incident_log_entries_overview: - type: boolean - title: Incident Log Entries Overview - description: - If true, will return a subset of log entries that show only the - most important changes to the incident. - default: true - default_severity: - type: string - title: Severity category - description: A default severity category if not present - examples: - - Sev1 - - Sev2 - - Sev3 - - Sev4 - - Sev5 - - Custom - pattern: "^(Sev[0-5])?(Custom)?$" - exclude_services: - type: array - items: - type: string - title: Exclude Services - examples: - - service-1 - - service-2 - description: - List of PagerDuty service names to ignore incidents from. If not - set, all incidents will be pulled. - service_details: - type: array - items: - type: string - enum: - - escalation_policies - - teams - - integrations - - auto_pause_notifications_parameters - title: Service Details - description: List of PagerDuty service additional details to include. - max_retries: - type: integer - minimum: 0 - maximum: 8 - default: 5 - title: Max Retries - description: - Maximum number of PagerDuty API request retries to perform upon - connection errors. The source will pause for an exponentially increasing number - of seconds before retrying. diff --git a/airbyte-integrations/connectors/source-persistiq/metadata.yaml b/airbyte-integrations/connectors/source-persistiq/metadata.yaml index 799d6aa49e16..7cb450f263fd 100644 --- a/airbyte-integrations/connectors/source-persistiq/metadata.yaml +++ b/airbyte-integrations/connectors/source-persistiq/metadata.yaml @@ -16,7 +16,7 @@ data: connectorSubtype: api connectorType: source definitionId: 3052c77e-8b91-47e2-97a0-a29a22794b4b - dockerImageTag: 0.2.2 + dockerImageTag: 0.2.3 dockerRepository: airbyte/source-persistiq githubIssueLabel: source-persistiq icon: persistiq.svg diff --git a/airbyte-integrations/connectors/source-persistiq/pyproject.toml b/airbyte-integrations/connectors/source-persistiq/pyproject.toml index c56251547945..94664087a8f0 100644 --- a/airbyte-integrations/connectors/source-persistiq/pyproject.toml +++ b/airbyte-integrations/connectors/source-persistiq/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.2.2" +version = "0.2.3" name = "source-persistiq" description = "Source implementation for Persistiq." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-persistiq/source_persistiq/manifest.yaml b/airbyte-integrations/connectors/source-persistiq/source_persistiq/manifest.yaml index 6943b5e5216e..9d9dd314cf1d 100644 --- a/airbyte-integrations/connectors/source-persistiq/source_persistiq/manifest.yaml +++ b/airbyte-integrations/connectors/source-persistiq/source_persistiq/manifest.yaml @@ -1,73 +1,352 @@ -version: "0.29.0" +version: 0.79.1 -definitions: - selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["{{ parameters.extractorPath }}"] - requester: - type: HttpRequester - url_base: "https://api.persistiq.com/v1/" - http_method: "GET" - authenticator: - type: NoAuth - request_headers: - x-api-key: "{{ config['api_key'] }}" +type: DeclarativeSource - retriever: - type: SimpleRetriever - record_selector: - $ref: "#/definitions/selector" - paginator: - type: "DefaultPaginator" - pagination_strategy: - type: "CursorPagination" - cursor_value: "{{ last_record['next_page'] }}" - page_token_option: - type: "RequestPath" - field_name: "page" - inject_into: "request_parameter" - requester: - $ref: "#/definitions/requester" - - base_stream: - type: DeclarativeStream - retriever: - $ref: "#/definitions/retriever" +check: + type: CheckStream + stream_names: + - users + - leads + - campaigns - users_stream: - $ref: "#/definitions/base_stream" - name: "users" - primary_key: "id" - $parameters: - extractorPath: "users" - path: "users" +definitions: + streams: + users: + type: DeclarativeStream + name: users + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: users + http_method: GET + request_headers: + x-api-key: "{{ config['api_key'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - users + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ last_record['next_page'] }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/users" + leads: + type: DeclarativeStream + name: leads + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: leads + http_method: GET + request_headers: + x-api-key: "{{ config['api_key'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - leads + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + extractorPath: leads + cursor_value: "{{ last_record['next_page'] }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/leads" + campaigns: + type: DeclarativeStream + name: campaigns + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: campaigns + http_method: GET + request_headers: + x-api-key: "{{ config['api_key'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - campaigns + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + extractorPath: campaigns + cursor_value: "{{ last_record['next_page'] }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/campaigns" + base_requester: + type: HttpRequester + url_base: https://api.persistiq.com/v1/ - leads_stream: - $ref: "#/definitions/base_stream" - name: "leads" - primary_key: "id" - $parameters: - extractorPath: "leads" - path: "leads" +streams: + - $ref: "#/definitions/streams/users" + - $ref: "#/definitions/streams/leads" + - $ref: "#/definitions/streams/campaigns" - campaigns_stream: - $ref: "#/definitions/base_stream" - name: "campaigns" - primary_key: "id" - $parameters: - extractorPath: "campaigns" - path: "campaigns" +spec: + type: Spec + connection_specification: + type: object + $schema: http://json-schema.org/draft-07/schema# + required: + - api_key + properties: + api_key: + type: string + description: >- + PersistIq API Key. See the docs for more + information on where to find that key. + airbyte_secret: true + order: 0 + additionalProperties: true -streams: - - "#/definitions/users_stream" - - "#/definitions/leads_stream" - - "#/definitions/campaigns_stream" +metadata: + autoImportSchema: + users: false + leads: false + campaigns: false -check: - type: CheckStream - stream_names: - - "users" - - "leads" - - "campaigns" +schemas: + users: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + activated: + type: + - "null" + - boolean + default_mailbox_id: + type: + - "null" + - string + email: + type: + - string + format: email + id: + type: + - string + name: + type: + - "null" + - string + salesforce_id: + type: + - "null" + - string + leads: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + bounced: + type: + - "null" + - boolean + creator_id: + type: + - "null" + - string + data: + type: object + properties: + address: + type: + - "null" + - string + city: + type: + - "null" + - string + company_name: + type: + - "null" + - string + email: + type: + - "null" + - string + format: email + facebook: + type: + - "null" + - string + first_name: + type: + - "null" + - string + industry: + type: + - "null" + - string + last_name: + type: + - "null" + - string + linkedin: + type: + - "null" + - string + phone: + type: + - "null" + - string + salesforce_id: + type: + - "null" + - string + snippet: + type: + - "null" + - string + snippet1: + type: + - "null" + - string + snippet2: + type: + - "null" + - string + snippet3: + type: + - "null" + - string + snippet4: + type: + - "null" + - string + state: + type: + - "null" + - string + title: + type: + - "null" + - string + twitch_name: + type: + - "null" + - string + twitter: + type: + - "null" + - string + id: + type: + - string + last_sent_at: + type: + - "null" + - string + optedout: + type: + - "null" + - boolean + owner_id: + type: + - string + replied_count: + type: + - "null" + - integer + sent_count: + type: + - "null" + - integer + status: + type: + - "null" + - string + campaigns: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + creator: + type: + - "null" + - object + properties: + email: + type: + - "null" + - string + id: + type: + - "null" + - string + name: + type: + - "null" + - string + id: + type: + - string + name: + type: + - "null" + - string + stats: + type: + - "null" + - object + properties: + prospects_bounced: + type: + - "null" + - integer + prospects_contacted: + type: + - "null" + - integer + prospects_opened: + type: + - "null" + - integer + prospects_optedout: + type: + - "null" + - integer + prospects_reached: + type: + - "null" + - integer + prospects_replied: + type: + - "null" + - integer + total_contacted: + type: + - "null" + - integer diff --git a/airbyte-integrations/connectors/source-persistiq/source_persistiq/schemas/campaigns.json b/airbyte-integrations/connectors/source-persistiq/source_persistiq/schemas/campaigns.json deleted file mode 100644 index d60214821615..000000000000 --- a/airbyte-integrations/connectors/source-persistiq/source_persistiq/schemas/campaigns.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["string"] - }, - "name": { - "type": ["null", "string"] - }, - "creator": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "email": { - "type": ["null", "string"] - } - } - }, - "stats": { - "type": ["null", "object"], - "properties": { - "prospects_contacted": { - "type": ["null", "integer"] - }, - "prospects_reached": { - "type": ["null", "integer"] - }, - "prospects_opened": { - "type": ["null", "integer"] - }, - "prospects_replied": { - "type": ["null", "integer"] - }, - "prospects_bounced": { - "type": ["null", "integer"] - }, - "prospects_optedout": { - "type": ["null", "integer"] - }, - "total_contacted": { - "type": ["null", "integer"] - } - } - } - } -} diff --git a/airbyte-integrations/connectors/source-persistiq/source_persistiq/schemas/leads.json b/airbyte-integrations/connectors/source-persistiq/source_persistiq/schemas/leads.json deleted file mode 100644 index 9928616a3cf9..000000000000 --- a/airbyte-integrations/connectors/source-persistiq/source_persistiq/schemas/leads.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "id": { - "type": ["string"] - }, - "bounced": { - "type": ["null", "boolean"] - }, - "owner_id": { - "type": ["string"] - }, - "creator_id": { - "type": ["null", "string"] - }, - "optedout": { - "type": ["null", "boolean"] - }, - "sent_count": { - "type": ["null", "integer"] - }, - "replied_count": { - "type": ["null", "integer"] - }, - "last_sent_at": { - "type": ["null", "string"] - }, - "status": { - "type": ["null", "string"] - }, - "data": { - "type": "object", - "properties": { - "company_name": { - "type": ["null", "string"] - }, - "email": { - "type": ["null", "string"], - "format": "email" - }, - "first_name": { - "type": ["null", "string"] - }, - "last_name": { - "type": ["null", "string"] - }, - "address": { - "type": ["null", "string"] - }, - "city": { - "type": ["null", "string"] - }, - "state": { - "type": ["null", "string"] - }, - "phone": { - "type": ["null", "string"] - }, - "title": { - "type": ["null", "string"] - }, - "industry": { - "type": ["null", "string"] - }, - "snippet": { - "type": ["null", "string"] - }, - "snippet1": { - "type": ["null", "string"] - }, - "snippet2": { - "type": ["null", "string"] - }, - "snippet3": { - "type": ["null", "string"] - }, - "snippet4": { - "type": ["null", "string"] - }, - "twitch_name": { - "type": ["null", "string"] - }, - "linkedin": { - "type": ["null", "string"] - }, - "twitter": { - "type": ["null", "string"] - }, - "facebook": { - "type": ["null", "string"] - }, - "salesforce_id": { - "type": ["null", "string"] - } - } - } - } -} diff --git a/airbyte-integrations/connectors/source-persistiq/source_persistiq/schemas/users.json b/airbyte-integrations/connectors/source-persistiq/source_persistiq/schemas/users.json deleted file mode 100644 index 8a4d6b307689..000000000000 --- a/airbyte-integrations/connectors/source-persistiq/source_persistiq/schemas/users.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["string"] - }, - "name": { - "type": ["null", "string"] - }, - "email": { - "type": ["string"], - "format": "email" - }, - "activated": { - "type": ["null", "boolean"] - }, - "default_mailbox_id": { - "type": ["null", "string"] - }, - "salesforce_id": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-persistiq/source_persistiq/spec.yaml b/airbyte-integrations/connectors/source-persistiq/source_persistiq/spec.yaml deleted file mode 100644 index b64d9bcbe625..000000000000 --- a/airbyte-integrations/connectors/source-persistiq/source_persistiq/spec.yaml +++ /dev/null @@ -1,15 +0,0 @@ -documentationUrl: https://docs.airbyte.com/integrations/sources/persistiq -connectionSpecification: - $schema: http://json-schema.org/draft-07/schema# - title: Persistiq Spec - type: object - required: - - api_key - additionalProperties: true - properties: - api_key: - type: string - description: - PersistIq API Key. See the docs - for more information on where to find that key. - airbyte_secret: true diff --git a/airbyte-integrations/connectors/source-punk-api/metadata.yaml b/airbyte-integrations/connectors/source-punk-api/metadata.yaml index b6a73a9b61db..02968e322a88 100644 --- a/airbyte-integrations/connectors/source-punk-api/metadata.yaml +++ b/airbyte-integrations/connectors/source-punk-api/metadata.yaml @@ -2,7 +2,7 @@ data: connectorSubtype: api connectorType: source definitionId: dbe9b7ae-7b46-4e44-a507-02a343cf7230 - dockerImageTag: 0.1.1 + dockerImageTag: 0.1.2 dockerRepository: airbyte/source-punk-api githubIssueLabel: source-punk-api icon: punkapi.svg @@ -35,5 +35,5 @@ data: type: GSM alias: airbyte-connector-testing-secret-store connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 metadataSpecVersion: "1.0" diff --git a/airbyte-integrations/connectors/source-punk-api/pyproject.toml b/airbyte-integrations/connectors/source-punk-api/pyproject.toml index 0ab39bc8bb37..657e9b1c8346 100644 --- a/airbyte-integrations/connectors/source-punk-api/pyproject.toml +++ b/airbyte-integrations/connectors/source-punk-api/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.1.1" +version = "0.1.2" name = "source-punk-api" description = "Source implementation for Punk Api." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-recreation/metadata.yaml b/airbyte-integrations/connectors/source-recreation/metadata.yaml index 9a33bc44aced..864ce5f29f56 100644 --- a/airbyte-integrations/connectors/source-recreation/metadata.yaml +++ b/airbyte-integrations/connectors/source-recreation/metadata.yaml @@ -7,7 +7,7 @@ data: connectorSubtype: api connectorType: source definitionId: 25d7535d-91e0-466a-aa7f-af81578be277 - dockerImageTag: 0.1.4 + dockerImageTag: 0.1.5 dockerRepository: airbyte/source-recreation documentationUrl: https://docs.airbyte.com/integrations/sources/recreation githubIssueLabel: source-recreation diff --git a/airbyte-integrations/connectors/source-recreation/pyproject.toml b/airbyte-integrations/connectors/source-recreation/pyproject.toml index 8c9cb387537e..8b85f88143ca 100644 --- a/airbyte-integrations/connectors/source-recreation/pyproject.toml +++ b/airbyte-integrations/connectors/source-recreation/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.1.4" +version = "0.1.5" name = "source-recreation" description = "Source implementation for Recreation." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-recreation/requirements.txt b/airbyte-integrations/connectors/source-recreation/requirements.txt deleted file mode 100644 index d6e1198b1ab1..000000000000 --- a/airbyte-integrations/connectors/source-recreation/requirements.txt +++ /dev/null @@ -1 +0,0 @@ --e . diff --git a/airbyte-integrations/connectors/source-recreation/source_recreation/manifest.yaml b/airbyte-integrations/connectors/source-recreation/source_recreation/manifest.yaml index 11607a7abe54..53a85b720f18 100644 --- a/airbyte-integrations/connectors/source-recreation/source_recreation/manifest.yaml +++ b/airbyte-integrations/connectors/source-recreation/source_recreation/manifest.yaml @@ -1,1375 +1,1706 @@ -version: "0.29.0" +version: 0.79.1 + +type: DeclarativeSource + +check: + type: CheckStream + stream_names: + - activities definitions: - selector: - extractor: - field_path: ["RECDATA"] - requester: - url_base: "https://ridb.recreation.gov/api/v1/" - http_method: "GET" + streams: + organizations: + type: DeclarativeStream + name: organizations + primary_key: + - OrgID + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /organizations + http_method: GET + request_parameters: + query: '{{ config[''query_'' + "organizations"] }}' + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - RECDATA + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 50 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/organizations" + media: + type: DeclarativeStream + name: media + primary_key: + - EntityMediaID + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /media + http_method: GET + request_parameters: + query: '{{ config[''query_'' + "media"] }}' + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - RECDATA + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 50 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/media" + links: + type: DeclarativeStream + name: links + primary_key: + - EntityLinkID + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /links + http_method: GET + request_parameters: + query: '{{ config[''query_'' + "links"] }}' + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - RECDATA + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 50 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/links" + facilityaddresses: + type: DeclarativeStream + name: facilityaddresses + primary_key: + - FacilityAddressID + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /facilityaddresses + http_method: GET + request_parameters: + query: '{{ config[''query_'' + "facilityaddresses"] }}' + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - RECDATA + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 50 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/facilityaddresses" + facilities: + type: DeclarativeStream + name: facilities + primary_key: + - FacilityID + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /facilities + http_method: GET + request_parameters: + query: '{{ config[''query_'' + "facilities"] }}' + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - RECDATA + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 50 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/facilities" + events: + type: DeclarativeStream + name: events + primary_key: + - EventID + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /events + http_method: GET + request_parameters: + query: '{{ config[''query_'' + "events"] }}' + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - RECDATA + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 50 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/events" + activities: + type: DeclarativeStream + name: activities + primary_key: + - ActivityID + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /activities + http_method: GET + request_parameters: + query: '{{ config[''query_'' + "activities"] }}' + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - RECDATA + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 50 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/activities" + campsites: + type: DeclarativeStream + name: campsites + primary_key: + - CampsiteID + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /campsites + http_method: GET + request_parameters: + query: '{{ config[''query_'' + "campsites"] }}' + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - RECDATA + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 50 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/campsites" + permits: + type: DeclarativeStream + name: permits + primary_key: + - PermitEntranceID + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /permits + http_method: GET + request_parameters: + query: '{{ config[''query_'' + "permits"] }}' + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - RECDATA + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 50 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/permits" + recreationareaaddresses: + type: DeclarativeStream + name: recreationareaaddresses + primary_key: + - RecAreaAddressID + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /recareaaddresses + http_method: GET + request_parameters: + query: '{{ config[''query_'' + "recreationareaaddresses"] }}' + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - RECDATA + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 50 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/recreationareaaddresses" + recreationareas: + type: DeclarativeStream + name: recreationareas + primary_key: + - RecAreaID + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /recareas + http_method: GET + request_parameters: + query: '{{ config[''query_'' + "recreationareas"] }}' + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - RECDATA + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 50 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/recreationareas" + tours: + type: DeclarativeStream + name: tours + primary_key: + - TourID + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /tours + http_method: GET + request_parameters: + query: '{{ config[''query_'' + "tours"] }}' + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - RECDATA + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: offset + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: OffsetIncrement + page_size: 50 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/tours" + base_requester: + type: HttpRequester + url_base: https://ridb.recreation.gov/api/v1/ authenticator: type: ApiKeyAuthenticator - header: "apikey" api_token: "{{ config['apikey'] }}" - request_parameters: - # Added a hidden parameter in config to be able to run tests - # Maybe this can be add in the future to the config to people - # query more granular data. - # Example is `query_campsites: "BIKING"` - query: "{{ config['query_' + parameters.name] }}" - - retriever: - record_selector: - $ref: "#/definitions/selector" - paginator: - type: "DefaultPaginator" - page_size_option: - inject_into: "request_parameter" - field_name: "limit" - pagination_strategy: - type: "OffsetIncrement" - page_size: 50 - page_token_option: + inject_into: type: RequestOption - field_name: "offset" - inject_into: "request_parameter" - requester: - $ref: "#/definitions/requester" - - base_stream: - retriever: - $ref: "#/definitions/retriever" - - activity_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "activities" - primary_key: "ActivityID" - path: "/activities" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-04/schema# - type: object - properties: - ActivityID: - description: Unique identifier for the activity. - type: integer - ActivityLevel: - description: Indicates the level of difficulty or intensity of the activity. - type: integer - ActivityName: - description: Name or title of the activity. - type: string - ActivityParentID: - description: - Identifier for the parent activity, if this activity is part - of a hierarchy. - type: integer - campsites_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "campsites" - primary_key: "CampsiteID" - path: "/campsites" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-04/schema# - type: object - properties: - CampsiteID: - description: Unique identifier for the campsite. - type: string - FacilityID: - description: Unique identifier for the facility associated with the campsite. - type: string - CampsiteName: - description: Name of the campsite. - type: string - CampsiteType: - description: Type of the campsite. - type: string - TypeOfUse: - description: Type of use permitted at the campsite. - type: string - Loop: - description: Loop information associated with the campsite. - type: string - CampsiteAccessible: - description: Indicates if the campsite is accessible (true/false). - type: boolean - CampsiteLongitude: - description: Longitude coordinate of the campsite location. - type: number - CampsiteLatitude: - description: Latitude coordinate of the campsite location. - type: number - CreatedDate: - description: Date when the campsite record was created. - type: string - LastUpdatedDate: - description: Date when the campsite record was last updated. - type: string - ATTRIBUTES: - description: List of attributes associated with the campsite. - type: array - items: - type: object - properties: - AttributeID: - description: Unique identifier for the attribute. - type: integer - AttributeName: - description: Name of the attribute. - type: string - AttributeValue: - description: Value of the attribute. - type: string - PERMITTEDEQUIPMENT: - description: List of permitted equipment at the campsite. - type: array - items: - type: object - properties: - EquipmentName: - description: Name of the permitted equipment. - type: string - MaxLength: - description: Maximum length allowed for the equipment. - type: integer - ENTITYMEDIA: - description: Media associated with the campsite. - type: array - items: - type: object - properties: - EntityMediaID: - description: Unique identifier for the media. - type: string - MediaType: - description: Type of media. - type: string - EntityID: - description: - Unique identifier of the entity associated with the - media. - type: string - EntityType: - description: Type of entity associated with the media. - type: string - Title: - description: Title of the media. - type: string - Subtitle: - description: Subtitle of the media. - type: string - Description: - description: Description of the media. - type: string - EmbedCode: - description: Embed code for the media. - type: string - Height: - description: Height dimension of the media. - type: integer - Width: - description: Width dimension of the media. - type: integer - IsPrimary: - description: Indicates if the media is the primary one (true/false). - type: boolean - IsPreview: - description: Indicates if the media is a preview (true/false). - type: boolean - IsGallery: - description: Indicates if the media is in a gallery (true/false). - type: boolean - URL: - description: URL of the media. - type: string - Credits: - description: Credits for the media. - type: string - events_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "events" - primary_key: "EventID" - path: "/events" + field_name: apikey + inject_into: header - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-04/schema# - type: object - properties: - EventID: - description: Unique identifier for the event. - type: string - EventName: - description: Name or title of the event. - type: string - ResourceLink: - description: URL or link to the resource related to the event. - type: string - facilities_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "facilities" - primary_key: "FacilityID" - path: "/facilities" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-04/schema# - type: object - properties: - FacilityID: - description: Unique identifier for the facility - type: string - LegacyFacilityID: - description: Legacy identifier for the facility - type: string - OrgFacilityID: - description: Identifier for the organization's facility - type: string - ParentOrgID: - description: Identifier of the parent organization - type: string - ParentRecAreaID: - description: Identifier of the parent recreation area - type: string - FacilityName: - description: Name of the facility - type: string - FacilityDescription: - description: Description of the facility - type: string - FacilityTypeDescription: - description: Description of the facility type - type: string - FacilityUseFeeDescription: - description: Description of any usage fees associated with the facility - type: string - FacilityDirections: - description: Directions to reach the facility - type: string - FacilityPhone: - description: Phone number of the facility - type: string - FacilityEmail: - description: Email address of the facility - type: string - FacilityReservationURL: - description: URL for making reservations at the facility - type: string - FacilityMapURL: - description: URL to the map of the facility location - type: string - FacilityAdaAccess: - description: Information about ADA access at the facility - type: string - GEOJSON: - description: Geospatial data in GeoJSON format for mapping coordinates. - type: object - properties: - TYPE: - description: Type of the GeoJSON data (e.g., Point, Polygon). - type: string - COORDINATES: - description: Geographical coordinates of the facility. - type: - - array - - "null" - items: - type: - - string - - number - - "null" - FacilityLongitude: - description: Longitude coordinate of the facility location - type: number - FacilityLatitude: - description: Latitude coordinate of the facility location - type: number - StayLimit: - description: Limit on the length of stay at the facility - type: string - Keywords: - description: Keywords related to the facility - type: string - Reservable: - description: Indicates if the facility is reservable - type: boolean - Enabled: - description: Indicates if the facility is currently enabled or active - type: boolean - LastUpdatedDate: - description: Date when the facility information was last updated - type: string - CAMPSITE: - description: Details about campsites within the recreation area. - type: array - items: - type: object - properties: - CampsiteID: - description: Unique identifier for the campsite - type: string - CampsiteName: - description: Name of the campsite - type: string - ResourceLink: - description: Link to additional resources related to the campsite - type: string - PERMITENTRANCE: - description: Entrance permit requirements and information. - type: array - items: - type: object - properties: - PermitEntranceID: - description: Unique identifier for the permit entrance - type: string - PermitEntranceName: - description: Name of the permit entrance - type: string - ResourceLink: - description: - Link to additional resources related to the permit - entrance - type: string - TOUR: - description: Guided tours available at the facility. - type: array - items: - type: object - properties: - TourID: - description: Unique identifier for the tour - type: string - TourName: - description: Name of the tour - type: string - ResourceLink: - description: Link to additional resources related to the tour - type: string - ORGANIZATION: - description: Details about the organization managing the facility. - type: array - items: - type: object - properties: - OrgID: - description: Unique identifier for the organization - type: string - OrgName: - description: Name of the organization - type: string - OrgImageURL: - description: URL of the organization's image/logo - type: string - OrgURLText: - description: Text description of the organization's URL - type: string - OrgURLAddress: - description: URL of the organization's address - type: string - OrgType: - description: Type of the organization - type: string - OrgAbbrevName: - description: Abbreviated name of the organization - type: string - OrgJurisdictionType: - description: Type of jurisdiction for the organization - type: string - OrgParentID: - description: Identifier of the parent organization - type: string - LastUpdatedDate: - description: Date when the organization information was last updated - type: string - RECAREA: - description: General information about the recreational area. - type: array - items: - type: object - properties: - RecAreaID: - description: Unique identifier for the recreation area - type: string - RecAreaName: - description: Name of the recreation area - type: string - ResourceLink: - description: - Link to additional resources related to the recreation - area - type: string - FACILITYADDRESS: - description: Address information for the facility location. - type: array - items: - type: object - properties: - FacilityAddressID: - description: Unique identifier for the facility address - type: string - FacilityID: - description: Unique identifier for the facility - type: string - FacilityAddressType: - description: Type of the facility address - type: string - FacilityStreetAddress1: - description: Street address line 1 of the facility - type: string - FacilityStreetAddress2: - description: Street address line 2 of the facility - type: string - FacilityStreetAddress3: - description: Street address line 3 of the facility - type: string - City: - description: City of the facility address - type: string - PostalCode: - description: Postal code of the facility address - type: string - AddressStateCode: - description: State code of the facility address - type: string - AddressCountryCode: - description: Country code of the facility address - type: string - LastUpdatedDate: - description: Date when the address information was last updated - type: string - ACTIVITY: - description: - Information about recreational activities available at the - facility. - type: array - items: - type: object - properties: - ActivityID: - description: Unique identifier for the activity - type: string - FacilityID: - description: Unique identifier for the facility - type: string - ActivityName: - description: Name of the activity - type: string - FacilityActivityDescription: - description: Description of the activity provided by the facility - type: string - FacilityActivityFeeDescription: - description: Description of any fees associated with the activity - type: string - EVENT: - description: Events and activities taking place at the facility. - type: array - items: - type: object - properties: - EventID: - description: Unique identifier for the event - type: string - EventName: - description: Name of the event - type: string - ResourceLink: - description: Link to additional resources related to the event - type: string - LINK: - description: Links to related resources or external websites. - type: array - items: - type: object - properties: - EntityLinkID: - description: Unique identifier for the entity link - type: string - LinkType: - description: Type of the link - type: string - EntityID: - description: Identifier of the entity related to the link - type: string - EntityType: - description: Type of the entity related to the link - type: string - Title: - description: Title of the link - type: string - Description: - description: Description of the link - type: string - URL: - description: URL of the link - type: string - MEDIA: - description: Multimedia content associated with the facility. - type: array - items: - type: object - properties: - EntityMediaID: - description: Unique identifier for the entity media - type: string - MediaType: - description: Type of the media content - type: string - EntityID: - description: Identifier of the entity related to the media - type: string - EntityType: - description: Type of the entity related to the media - type: string - Title: - description: Title of the media content - type: string - Subtitle: - description: Subtitle of the media content - type: string - Description: - description: Description of the media content - type: string - EmbedCode: - description: Embed code for the media content - type: string - Height: - description: Height of the media content - type: integer - Width: - description: Width of the media content - type: integer - IsPrimary: - description: Indicates if the media content is the primary media - type: boolean - IsPreview: - description: Indicates if the media content is a preview - type: boolean - IsGallery: - description: Indicates if the media content is part of a gallery - type: boolean - URL: - description: URL of the media content - type: string - Credits: - description: Credits for the media content - type: string - facilityaddresses_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "facilityaddresses" - primary_key: "FacilityAddressID" - path: "/facilityaddresses" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-04/schema# - type: object - properties: - FacilityAddressID: - description: The unique identifier for the facility address. - type: string - FacilityID: - description: The unique identifier for the facility. - type: string - FacilityAddressType: - description: The type of facility address (e.g., main, billing). - type: string - FacilityStreetAddress1: - description: The primary street address of the facility. - type: string - FacilityStreetAddress2: - description: The secondary street address of the facility. - type: string - FacilityStreetAddress3: - description: Any additional street address details. - type: string - City: - description: The city where the facility is located. - type: string - PostalCode: - description: The postal code of the facility address. - type: string - AddressStateCode: - description: The state code of the facility address. - type: string - AddressCountryCode: - description: The country code of the facility address. - type: string - LastUpdatedDate: - description: The date when the facility address was last updated. - type: string - links_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "links" - primary_key: "EntityLinkID" - path: "/links" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-04/schema# - type: object - properties: - EntityLinkID: - description: The unique identifier of the entity link - type: string - LinkType: - description: The type or category of the link - type: string - EntityID: - description: The unique identifier of the entity associated with the link - type: string - EntityType: - description: The type of entity associated with the link - type: string - Title: - description: The title of the link - type: string - Description: - description: A brief description of the link - type: string - URL: - description: The URL of the link - type: string - media_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "media" - primary_key: "EntityMediaID" - path: "/media" +streams: + - $ref: "#/definitions/streams/organizations" + - $ref: "#/definitions/streams/media" + - $ref: "#/definitions/streams/links" + - $ref: "#/definitions/streams/facilityaddresses" + - $ref: "#/definitions/streams/facilities" + - $ref: "#/definitions/streams/events" + - $ref: "#/definitions/streams/activities" + - $ref: "#/definitions/streams/campsites" + - $ref: "#/definitions/streams/permits" + - $ref: "#/definitions/streams/recreationareaaddresses" + - $ref: "#/definitions/streams/recreationareas" + - $ref: "#/definitions/streams/tours" - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-04/schema# - type: object - properties: - EntityMediaID: - description: Unique identifier of the media within the entity. - type: string - MediaType: - description: The type or format of the media (e.g., image, video). - type: string - EntityID: - description: Unique identifier of the entity related to the media. - type: string - EntityType: - description: The type of entity to which the media belongs. - type: string - Title: - description: The title or headline of the media. - type: string - Subtitle: - description: Additional text or information accompanying the media. - type: string - Description: - description: A detailed description or caption of the media. - type: string - EmbedCode: - description: The embed code for integrating the media on websites or platforms. - type: string - Height: - description: The height dimension of the media in pixels. - type: integer - Width: - description: The width dimension of the media in pixels. - type: integer - IsPrimary: - description: - Indicates if the media is the primary or main media for the - entity. - type: boolean - IsPreview: - description: Indicates if the media is a preview or teaser. - type: boolean - IsGallery: - description: Indicates if the media is part of a gallery or collection. - type: boolean - URL: - description: The URL link to access or view the media. - type: string - Credits: - description: The credits or creators associated with the media. - type: string - organizations_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "organizations" - primary_key: "OrgID" - path: "/organizations" +spec: + type: Spec + connection_specification: + type: object + $schema: http://json-schema.org/draft-07/schema# + required: + - apikey + properties: + apikey: + type: string + title: API Key + description: API Key + airbyte_secret: true + order: 0 + query_campsites: + type: string + title: Query Campsite + order: 1 + additionalProperties: true - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-04/schema# - type: object - properties: - OrgID: - description: The unique identifier for the organization. - type: string - OrgName: - description: The full name of the organization. - type: string - OrgImageURL: - description: The URL of the image associated with the organization. - type: string - OrgURLText: - description: - The clickable text or label associated with the organization - URL. - type: string - OrgURLAddress: - description: The web address associated with the organization. - type: string - OrgType: - description: The type or category of the organization. - type: string - OrgAbbrevName: - description: The abbreviated name of the organization. - type: string - OrgJurisdictionType: - description: The type of jurisdiction under which the organization operates. - type: string - OrgParentID: - description: The identifier of the parent organization, if applicable. - type: string - LastUpdatedDate: - description: The date when the organization data was last updated. - type: string - permits_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "permits" - primary_key: "PermitEntranceID" - path: "/permits" +metadata: + autoImportSchema: + organizations: false + media: false + links: false + facilityaddresses: false + facilities: false + events: false + activities: false + campsites: false + permits: false + recreationareaaddresses: false + recreationareas: false + tours: false - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-04/schema# +schemas: + organizations: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + LastUpdatedDate: + type: string + description: The date when the organization data was last updated. + OrgAbbrevName: + type: string + description: The abbreviated name of the organization. + OrgID: + type: string + description: The unique identifier for the organization. + OrgImageURL: + type: string + description: The URL of the image associated with the organization. + OrgJurisdictionType: + type: string + description: The type of jurisdiction under which the organization operates. + OrgName: + type: string + description: The full name of the organization. + OrgParentID: + type: string + description: The identifier of the parent organization, if applicable. + OrgType: + type: string + description: The type or category of the organization. + OrgURLAddress: + type: string + description: The web address associated with the organization. + OrgURLText: + type: string + description: The clickable text or label associated with the organization URL. + media: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + Credits: + type: string + description: The credits or creators associated with the media. + Description: + type: string + description: A detailed description or caption of the media. + EmbedCode: + type: string + description: The embed code for integrating the media on websites or platforms. + EntityID: + type: string + description: Unique identifier of the entity related to the media. + EntityMediaID: + type: string + description: Unique identifier of the media within the entity. + EntityType: + type: string + description: The type of entity to which the media belongs. + Height: + type: integer + description: The height dimension of the media in pixels. + IsGallery: + type: boolean + description: Indicates if the media is part of a gallery or collection. + IsPreview: + type: boolean + description: Indicates if the media is a preview or teaser. + IsPrimary: + type: boolean + description: Indicates if the media is the primary or main media for the entity. + MediaType: + type: string + description: The type or format of the media (e.g., image, video). + Subtitle: + type: string + description: Additional text or information accompanying the media. + Title: + type: string + description: The title or headline of the media. + URL: + type: string + description: The URL link to access or view the media. + Width: + type: integer + description: The width dimension of the media in pixels. + links: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + Description: + type: string + description: A brief description of the link + EntityID: + type: string + description: The unique identifier of the entity associated with the link + EntityLinkID: + type: string + description: The unique identifier of the entity link + EntityType: + type: string + description: The type of entity associated with the link + LinkType: + type: string + description: The type or category of the link + Title: + type: string + description: The title of the link + URL: + type: string + description: The URL of the link + facilityaddresses: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + AddressCountryCode: + type: string + description: The country code of the facility address. + AddressStateCode: + type: string + description: The state code of the facility address. + City: + type: string + description: The city where the facility is located. + FacilityAddressID: + type: string + description: The unique identifier for the facility address. + FacilityAddressType: + type: string + description: The type of facility address (e.g., main, billing). + FacilityID: + type: string + description: The unique identifier for the facility. + FacilityStreetAddress1: + type: string + description: The primary street address of the facility. + FacilityStreetAddress2: + type: string + description: The secondary street address of the facility. + FacilityStreetAddress3: + type: string + description: Any additional street address details. + LastUpdatedDate: + type: string + description: The date when the facility address was last updated. + PostalCode: + type: string + description: The postal code of the facility address. + facilities: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + ACTIVITY: + type: array + description: Information about recreational activities available at the facility. + items: + type: object + properties: + ActivityID: + type: string + description: Unique identifier for the activity + ActivityName: + type: string + description: Name of the activity + FacilityActivityDescription: + type: string + description: Description of the activity provided by the facility + FacilityActivityFeeDescription: + type: string + description: Description of any fees associated with the activity + FacilityID: + type: string + description: Unique identifier for the facility + CAMPSITE: + type: array + description: Details about campsites within the recreation area. + items: + type: object + properties: + CampsiteID: + type: string + description: Unique identifier for the campsite + CampsiteName: + type: string + description: Name of the campsite + ResourceLink: + type: string + description: Link to additional resources related to the campsite + EVENT: + type: array + description: Events and activities taking place at the facility. + items: + type: object + properties: + EventID: + type: string + description: Unique identifier for the event + EventName: + type: string + description: Name of the event + ResourceLink: + type: string + description: Link to additional resources related to the event + Enabled: + type: boolean + description: Indicates if the facility is currently enabled or active + FACILITYADDRESS: + type: array + description: Address information for the facility location. + items: + type: object + properties: + AddressCountryCode: + type: string + description: Country code of the facility address + AddressStateCode: + type: string + description: State code of the facility address + City: + type: string + description: City of the facility address + FacilityAddressID: + type: string + description: Unique identifier for the facility address + FacilityAddressType: + type: string + description: Type of the facility address + FacilityID: + type: string + description: Unique identifier for the facility + FacilityStreetAddress1: + type: string + description: Street address line 1 of the facility + FacilityStreetAddress2: + type: string + description: Street address line 2 of the facility + FacilityStreetAddress3: + type: string + description: Street address line 3 of the facility + LastUpdatedDate: + type: string + description: Date when the address information was last updated + PostalCode: + type: string + description: Postal code of the facility address + FacilityAdaAccess: + type: string + description: Information about ADA access at the facility + FacilityDescription: + type: string + description: Description of the facility + FacilityDirections: + type: string + description: Directions to reach the facility + FacilityEmail: + type: string + description: Email address of the facility + FacilityID: + type: string + description: Unique identifier for the facility + FacilityLatitude: + type: number + description: Latitude coordinate of the facility location + FacilityLongitude: + type: number + description: Longitude coordinate of the facility location + FacilityMapURL: + type: string + description: URL to the map of the facility location + FacilityName: + type: string + description: Name of the facility + FacilityPhone: + type: string + description: Phone number of the facility + FacilityReservationURL: + type: string + description: URL for making reservations at the facility + FacilityTypeDescription: + type: string + description: Description of the facility type + FacilityUseFeeDescription: + type: string + description: Description of any usage fees associated with the facility + GEOJSON: type: object + description: Geospatial data in GeoJSON format for mapping coordinates. properties: - PermitEntranceID: - description: Unique identifier of the permit entrance. - type: string - FacilityID: - description: Unique identifier of the facility. - type: string - PermitEntranceName: - description: Name of the permit entrance. - type: string - PermitEntranceDescription: - description: Description of the permit entrance. - type: string - District: - description: District where the permit is applicable. - type: string - Town: - description: Town where the permit is applicable. - type: string - PermitEntranceAccessible: - description: Indicates if the permit entrance is accessible. - type: boolean - Longitude: - description: Longitude coordinate of the location. - type: integer - Latitude: - description: Latitude coordinate of the location. - type: integer - GEOSJON: - description: Geospatial information associated with the permit. - type: object - properties: - TYPE: - description: Type of geospatial data. - type: string - COORDINATES: - description: Coordinates of the location. - type: array - items: - type: number - CreatedDate: - description: Date when the permit was created. - type: string - LastUpdatedDate: - description: Date when the permit was last updated. - type: string - ATTRIBUTES: - description: Details of the various attributes associated with the permit. - type: array - items: - type: object - properties: - AttributeID: - description: Unique identifier of the attribute. - type: integer - AttributeName: - description: Name of the attribute. - type: string - AttributeValue: - description: Value of the attribute. - type: string - ENTITYMEDIA: - description: Media related information associated with the permit. - type: array - items: - type: object - properties: - EntityMediaID: - description: Unique identifier of the media entity. - type: string - MediaType: - description: Type of the media (e.g., image, video). - type: string - EntityID: - description: Unique identifier of the entity. - type: string - EntityType: - description: Type of the entity. - type: string - Title: - description: Title of the media. - type: string - Subtitle: - description: Subtitle of the media. - type: string - Description: - description: Description of the media. - type: string - EmbedCode: - description: Embed code for the media. - type: string - Height: - description: Height of the media. - type: integer - Width: - description: Width of the media. - type: integer - IsPrimary: - description: Indicates if the media is primary. - type: boolean - IsPreview: - description: Indicates if the media is a preview. - type: boolean - IsGallery: - description: Indicates if the media is part of a gallery. - type: boolean - URL: - description: URL of the media. - type: string - Credits: - description: Information about credits for the media. - type: string - ZONES: - description: Details of different zones associated with the permit entrance. - type: array + COORDINATES: + type: + - array + - "null" + description: Geographical coordinates of the facility. items: - type: object - properties: - PermitEntranceZoneID: - description: Unique identifier of the permit entrance zone. - type: string - Zone: - description: Zone designation. - type: string - recreationareas_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "recreationareas" - primary_key: "RecAreaID" - path: "/recareas" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-04/schema# + type: + - string + - number + - "null" + TYPE: + type: string + description: Type of the GeoJSON data (e.g., Point, Polygon). + Keywords: + type: string + description: Keywords related to the facility + LINK: + type: array + description: Links to related resources or external websites. + items: + type: object + properties: + Description: + type: string + description: Description of the link + EntityID: + type: string + description: Identifier of the entity related to the link + EntityLinkID: + type: string + description: Unique identifier for the entity link + EntityType: + type: string + description: Type of the entity related to the link + LinkType: + type: string + description: Type of the link + Title: + type: string + description: Title of the link + URL: + type: string + description: URL of the link + LastUpdatedDate: + type: string + description: Date when the facility information was last updated + LegacyFacilityID: + type: string + description: Legacy identifier for the facility + MEDIA: + type: array + description: Multimedia content associated with the facility. + items: + type: object + properties: + Credits: + type: string + description: Credits for the media content + Description: + type: string + description: Description of the media content + EmbedCode: + type: string + description: Embed code for the media content + EntityID: + type: string + description: Identifier of the entity related to the media + EntityMediaID: + type: string + description: Unique identifier for the entity media + EntityType: + type: string + description: Type of the entity related to the media + Height: + type: integer + description: Height of the media content + IsGallery: + type: boolean + description: Indicates if the media content is part of a gallery + IsPreview: + type: boolean + description: Indicates if the media content is a preview + IsPrimary: + type: boolean + description: Indicates if the media content is the primary media + MediaType: + type: string + description: Type of the media content + Subtitle: + type: string + description: Subtitle of the media content + Title: + type: string + description: Title of the media content + URL: + type: string + description: URL of the media content + Width: + type: integer + description: Width of the media content + ORGANIZATION: + type: array + description: Details about the organization managing the facility. + items: + type: object + properties: + LastUpdatedDate: + type: string + description: Date when the organization information was last updated + OrgAbbrevName: + type: string + description: Abbreviated name of the organization + OrgID: + type: string + description: Unique identifier for the organization + OrgImageURL: + type: string + description: URL of the organization's image/logo + OrgJurisdictionType: + type: string + description: Type of jurisdiction for the organization + OrgName: + type: string + description: Name of the organization + OrgParentID: + type: string + description: Identifier of the parent organization + OrgType: + type: string + description: Type of the organization + OrgURLAddress: + type: string + description: URL of the organization's address + OrgURLText: + type: string + description: Text description of the organization's URL + OrgFacilityID: + type: string + description: Identifier for the organization's facility + PERMITENTRANCE: + type: array + description: Entrance permit requirements and information. + items: + type: object + properties: + PermitEntranceID: + type: string + description: Unique identifier for the permit entrance + PermitEntranceName: + type: string + description: Name of the permit entrance + ResourceLink: + type: string + description: Link to additional resources related to the permit entrance + ParentOrgID: + type: string + description: Identifier of the parent organization + ParentRecAreaID: + type: string + description: Identifier of the parent recreation area + RECAREA: + type: array + description: General information about the recreational area. + items: + type: object + properties: + RecAreaID: + type: string + description: Unique identifier for the recreation area + RecAreaName: + type: string + description: Name of the recreation area + ResourceLink: + type: string + description: Link to additional resources related to the recreation area + Reservable: + type: boolean + description: Indicates if the facility is reservable + StayLimit: + type: string + description: Limit on the length of stay at the facility + TOUR: + type: array + description: Guided tours available at the facility. + items: + type: object + properties: + ResourceLink: + type: string + description: Link to additional resources related to the tour + TourID: + type: string + description: Unique identifier for the tour + TourName: + type: string + description: Name of the tour + events: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + EventID: + type: string + description: Unique identifier for the event. + EventName: + type: string + description: Name or title of the event. + ResourceLink: + type: string + description: URL or link to the resource related to the event. + activities: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + ActivityID: + type: integer + description: Unique identifier for the activity. + ActivityLevel: + type: integer + description: Indicates the level of difficulty or intensity of the activity. + ActivityName: + type: string + description: Name or title of the activity. + ActivityParentID: + type: integer + description: >- + Identifier for the parent activity, if this activity is part of a + hierarchy. + campsites: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + ATTRIBUTES: + type: array + description: List of attributes associated with the campsite. + items: + type: object + properties: + AttributeID: + type: integer + description: Unique identifier for the attribute. + AttributeName: + type: string + description: Name of the attribute. + AttributeValue: + type: string + description: Value of the attribute. + CampsiteAccessible: + type: boolean + description: Indicates if the campsite is accessible (true/false). + CampsiteID: + type: string + description: Unique identifier for the campsite. + CampsiteLatitude: + type: number + description: Latitude coordinate of the campsite location. + CampsiteLongitude: + type: number + description: Longitude coordinate of the campsite location. + CampsiteName: + type: string + description: Name of the campsite. + CampsiteType: + type: string + description: Type of the campsite. + CreatedDate: + type: string + description: Date when the campsite record was created. + ENTITYMEDIA: + type: array + description: Media associated with the campsite. + items: + type: object + properties: + Credits: + type: string + description: Credits for the media. + Description: + type: string + description: Description of the media. + EmbedCode: + type: string + description: Embed code for the media. + EntityID: + type: string + description: Unique identifier of the entity associated with the media. + EntityMediaID: + type: string + description: Unique identifier for the media. + EntityType: + type: string + description: Type of entity associated with the media. + Height: + type: integer + description: Height dimension of the media. + IsGallery: + type: boolean + description: Indicates if the media is in a gallery (true/false). + IsPreview: + type: boolean + description: Indicates if the media is a preview (true/false). + IsPrimary: + type: boolean + description: Indicates if the media is the primary one (true/false). + MediaType: + type: string + description: Type of media. + Subtitle: + type: string + description: Subtitle of the media. + Title: + type: string + description: Title of the media. + URL: + type: string + description: URL of the media. + Width: + type: integer + description: Width dimension of the media. + FacilityID: + type: string + description: Unique identifier for the facility associated with the campsite. + LastUpdatedDate: + type: string + description: Date when the campsite record was last updated. + Loop: + type: string + description: Loop information associated with the campsite. + PERMITTEDEQUIPMENT: + type: array + description: List of permitted equipment at the campsite. + items: + type: object + properties: + EquipmentName: + type: string + description: Name of the permitted equipment. + MaxLength: + type: integer + description: Maximum length allowed for the equipment. + TypeOfUse: + type: string + description: Type of use permitted at the campsite. + permits: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + ATTRIBUTES: + type: array + description: Details of the various attributes associated with the permit. + items: + type: object + properties: + AttributeID: + type: integer + description: Unique identifier of the attribute. + AttributeName: + type: string + description: Name of the attribute. + AttributeValue: + type: string + description: Value of the attribute. + CreatedDate: + type: string + description: Date when the permit was created. + District: + type: string + description: District where the permit is applicable. + ENTITYMEDIA: + type: array + description: Media related information associated with the permit. + items: + type: object + properties: + Credits: + type: string + description: Information about credits for the media. + Description: + type: string + description: Description of the media. + EmbedCode: + type: string + description: Embed code for the media. + EntityID: + type: string + description: Unique identifier of the entity. + EntityMediaID: + type: string + description: Unique identifier of the media entity. + EntityType: + type: string + description: Type of the entity. + Height: + type: integer + description: Height of the media. + IsGallery: + type: boolean + description: Indicates if the media is part of a gallery. + IsPreview: + type: boolean + description: Indicates if the media is a preview. + IsPrimary: + type: boolean + description: Indicates if the media is primary. + MediaType: + type: string + description: Type of the media (e.g., image, video). + Subtitle: + type: string + description: Subtitle of the media. + Title: + type: string + description: Title of the media. + URL: + type: string + description: URL of the media. + Width: + type: integer + description: Width of the media. + FacilityID: + type: string + description: Unique identifier of the facility. + GEOSJON: type: object + description: Geospatial information associated with the permit. properties: - RecAreaID: - description: ID of the recreation area. - type: string - OrgRecAreaID: - description: ID of the organization's recreation area. - type: string - ParentOrgID: - description: ID of the parent organization. - type: string - RecAreaName: - description: Name of the recreation area. - type: string - RecAreaDescription: - description: Description of the recreation area. - type: string - RecAreaFeeDescription: - description: Description of fees at the recreation area. - type: string - RecAreaDirections: - description: Directions to the recreation area. - type: string - RecAreaPhone: - description: Phone number of the recreation area. - type: string - RecAreaEmail: - description: Email address of the recreation area. - type: string - RecAreaReservationURL: - description: Reservation URL for the recreation area. - type: string - RecAreaMapURL: - description: Map URL of the recreation area. - type: string - GEOJSON: - description: GeoJSON data for the recreation area. - type: object - properties: - TYPE: - description: Type of GeoJSON data. - type: string - COORDINATES: - description: Coordinates data. - type: - - array - - "null" - items: - type: - - string - - number - - "null" - RecAreaLongitude: - description: Longitude of the recreation area. - type: number - RecAreaLatitude: - description: Latitude of the recreation area. - type: number - StayLimit: - description: Limit for stay at the recreation area. - type: string - Keywords: - description: Keywords associated with the recreation area. - type: string - Reservable: - description: Indicates if the area is reservable. - type: boolean - Enabled: - description: Indicates if the recreation area is enabled. - type: boolean - LastUpdatedDate: - description: Date when record was last updated. - type: string - ORGANIZATION: - description: - Information about organizations related to the recreation - area. - type: array - items: - type: object - properties: - OrgID: - description: ID of the organization. - type: string - OrgName: - description: Name of the organization. - type: string - OrgImageURL: - description: URL of the organization image. - type: string - OrgURLText: - description: URL text of the organization. - type: string - OrgURLAddress: - description: URL address of the organization. - type: string - OrgType: - description: Type of the organization. - type: string - OrgAbbrevName: - description: Abbreviated name of the organization. - type: string - OrgJurisdictionType: - description: Type of jurisdiction for the organization. - type: string - OrgParentID: - description: Parent ID of the organization. - type: string - LastUpdatedDate: - description: Last updated date of the organization. - type: string - FACILITY: - description: Information about facilities at the recreation area. - type: array - items: - type: object - properties: - FacilityID: - description: Unique ID for the facility. - type: string - FacilityName: - description: Name of the facility. - type: string - ResourceLink: - description: Link to additional resources. - type: string - RECAREAADDRESS: - description: Address information of the recreation area. - type: array - items: - type: object - properties: - RecAreaAddressID: - description: ID of the recreation area address. - type: string - RecAreaID: - description: ID of the recreation area. - type: string - RecAreaAddressType: - description: Type of recreation area address. - type: string - RecAreaStreetAddress1: - description: Street address line 1 of the recreation area. - type: string - RecAreaStreetAddress2: - description: Street address line 2 of the recreation area. - type: string - RecAreaStreetAddress3: - description: Street address line 3 of the recreation area. - type: string - City: - description: City of the address. - type: string - PostalCode: - description: Postal code of the address. - type: string - AddressStateCode: - description: State code of the address. - type: string - AddressCountryCode: - description: Country code of the address. - type: string - LastUpdatedDate: - description: Last updated date of the address. - type: string - ACTIVITY: - description: - Information about activities available at the recreation - area. - type: array - items: - type: object - properties: - ActivityID: - description: Unique ID for the activity. - type: string - ActivityParentID: - description: Parent ID for the activity. - type: string - RecAreaID: - description: ID of the recreation area. - type: string - ActivityName: - description: Name of the activity. - type: string - RecAreaActivityDescription: - description: Description of the activity. - type: string - RecAreaActivityFeeDescription: - description: Fee description for the activity. - type: string - EVENT: - description: Information about events at the recreation area. + COORDINATES: type: array + description: Coordinates of the location. items: - type: object - properties: - EventID: - description: Unique ID for the event. - type: string - EventName: - description: Name of the event. - type: string - ResourceLink: - description: Link to additional resources. - type: string - MEDIA: - description: Media related data for the recreation area. - type: array - items: - type: object - properties: - EntityMediaID: - description: Media ID of the entity. - type: string - MediaType: - description: Type of media. - type: string - EntityID: - description: ID of the media entity. - type: string - EntityType: - description: Type of media entity. - type: string - Title: - description: Title of the media. - type: string - Subtitle: - description: Subtitle for the media. - type: string - Description: - description: Description of the media. - type: string - EmbedCode: - description: Embed code for the media. - type: string - Height: - description: Height of the media. - type: integer - Width: - description: Width of the media. - type: integer - IsPrimary: - description: Indicates if media is primary. - type: boolean - IsPreview: - description: Indicates if media is a preview. - type: boolean - IsGallery: - description: Indicates if media is a gallery. - type: boolean - URL: - description: URL of the media. - type: string - Credits: - description: Credits for the media. - type: string - LINK: - description: Links related to the recreation area. - type: array - items: - type: object - properties: - EntityLinkID: - description: Link ID for the entity. - type: string - LinkType: - description: Type of link. - type: string - EntityID: - description: ID of the related entity. - type: string - EntityType: - description: Type of entity. - type: string - Title: - description: Title of the link. - type: string - Description: - description: Description of the link. - type: string - URL: - description: URL of the link. - type: string - recreationareaaddresses_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "recreationareaaddresses" - primary_key: "RecAreaAddressID" - path: "/recareaaddresses" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-04/schema# + type: number + TYPE: + type: string + description: Type of geospatial data. + LastUpdatedDate: + type: string + description: Date when the permit was last updated. + Latitude: + type: integer + description: Latitude coordinate of the location. + Longitude: + type: integer + description: Longitude coordinate of the location. + PermitEntranceAccessible: + type: boolean + description: Indicates if the permit entrance is accessible. + PermitEntranceDescription: + type: string + description: Description of the permit entrance. + PermitEntranceID: + type: string + description: Unique identifier of the permit entrance. + PermitEntranceName: + type: string + description: Name of the permit entrance. + Town: + type: string + description: Town where the permit is applicable. + ZONES: + type: array + description: Details of different zones associated with the permit entrance. + items: + type: object + properties: + PermitEntranceZoneID: + type: string + description: Unique identifier of the permit entrance zone. + Zone: + type: string + description: Zone designation. + recreationareaaddresses: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + AddressCountryCode: + type: string + description: The country code of the address (ISO 3166-1 alpha-2) + AddressStateCode: + type: string + description: The state code of the address + City: + type: string + description: The city name of the recreation area + LastUpdatedDate: + type: string + description: The date when the address information was last updated + PostalCode: + type: string + description: The postal code of the recreation area + RecAreaAddressID: + type: string + description: The unique identifier for the recreation area address + RecAreaAddressType: + type: string + description: >- + The type of address for the recreation area (e.g., mailing address, + physical address) + RecAreaID: + type: string + description: The unique identifier for the recreation area + RecAreaStreetAddress1: + type: string + description: The first line of street address for the recreation area + RecAreaStreetAddress2: + type: string + description: The second line of street address for the recreation area + RecAreaStreetAddress3: + type: string + description: The third line of street address for the recreation area + recreationareas: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + ACTIVITY: + type: array + description: Information about activities available at the recreation area. + items: + type: object + properties: + ActivityID: + type: string + description: Unique ID for the activity. + ActivityName: + type: string + description: Name of the activity. + ActivityParentID: + type: string + description: Parent ID for the activity. + RecAreaActivityDescription: + type: string + description: Description of the activity. + RecAreaActivityFeeDescription: + type: string + description: Fee description for the activity. + RecAreaID: + type: string + description: ID of the recreation area. + EVENT: + type: array + description: Information about events at the recreation area. + items: + type: object + properties: + EventID: + type: string + description: Unique ID for the event. + EventName: + type: string + description: Name of the event. + ResourceLink: + type: string + description: Link to additional resources. + Enabled: + type: boolean + description: Indicates if the recreation area is enabled. + FACILITY: + type: array + description: Information about facilities at the recreation area. + items: + type: object + properties: + FacilityID: + type: string + description: Unique ID for the facility. + FacilityName: + type: string + description: Name of the facility. + ResourceLink: + type: string + description: Link to additional resources. + GEOJSON: type: object + description: GeoJSON data for the recreation area. properties: - RecAreaAddressID: - description: The unique identifier for the recreation area address - type: string - RecAreaID: - description: The unique identifier for the recreation area - type: string - RecAreaAddressType: - description: - The type of address for the recreation area (e.g., mailing - address, physical address) - type: string - RecAreaStreetAddress1: - description: The first line of street address for the recreation area - type: string - RecAreaStreetAddress2: - description: The second line of street address for the recreation area - type: string - RecAreaStreetAddress3: - description: The third line of street address for the recreation area - type: string - City: - description: The city name of the recreation area - type: string - PostalCode: - description: The postal code of the recreation area - type: string - AddressStateCode: - description: The state code of the address - type: string - AddressCountryCode: - description: The country code of the address (ISO 3166-1 alpha-2) - type: string - LastUpdatedDate: - description: The date when the address information was last updated - type: string - tours_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "tours" - primary_key: "TourID" - path: "/tours" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-04/schema# - type: object - properties: - TourID: - description: Unique identifier for the tour. - type: string - FacilityID: - description: Identifier for the facility associated with the tour. - type: string - TourName: - description: Name of the tour. - type: string - TourType: - description: Type of the tour (e.g., guided, self-guided). - type: string - TourDescription: - description: Description of the tour. - type: string - TourDuration: - description: Duration of the tour. - type: integer - TourAccessible: - description: Flag indicating whether the tour is accessible. - type: boolean - CreatedDate: - description: Date when the tour data was created. - type: string - LastUpdatedDate: - description: Date when the tour data was last updated. - type: string - ATTRIBUTES: - description: - Contains attributes related to tours such as location, duration, - and price. - type: array - items: - type: object - properties: - AttributeID: - description: Unique identifier for the attribute. - type: integer - AttributeName: - description: Name of the attribute. - type: string - AttributeValue: - description: Value of the attribute. - type: string - ENTITYMEDIA: - description: - Contains media files associated with tours, like images and - videos. - type: array - items: - type: object - properties: - EntityMediaID: - description: Unique identifier for the media entity. - type: string - MediaType: - description: Type of the media (e.g., image, video). - type: string - EntityID: - description: ID of the entity associated with the media. - type: string - EntityType: - description: Type of the entity for the media. - type: string - Title: - description: Title of the media entity. - type: string - Subtitle: - description: Subtitle for the media entity. - type: string - Description: - description: Description of the media entity. - type: string - EmbedCode: - description: Embed code for the media entity. - type: string - Height: - description: Height of the media entity. - type: integer - Width: - description: Width of the media entity. - type: integer - IsPrimary: - description: Flag indicating whether the media is the primary one. - type: boolean - IsPreview: - description: Flag indicating whether the media is a preview. - type: boolean - IsGallery: - description: Flag indicating whether the media is in a gallery. - type: boolean - URL: - description: URL of the media entity. - type: string - Credits: - description: Credits for the media entity. - type: string - MEMBERTOURS: - description: - Contains information about specific tours offered by different - members or companies. + COORDINATES: type: - - "null" - array + - "null" + description: Coordinates data. items: - type: object - properties: - MemberTourID: - description: Unique identifier for the member tour. - type: - - string - - integer - - "null" -streams: - - "#/definitions/organizations_stream" - - "#/definitions/media_stream" - - "#/definitions/links_stream" - - "#/definitions/facilityaddresses_stream" - - "#/definitions/facilities_stream" - - "#/definitions/events_stream" - - "#/definitions/activity_stream" - - "#/definitions/campsites_stream" - - "#/definitions/permits_stream" - - "#/definitions/recreationareaaddresses_stream" - - "#/definitions/recreationareas_stream" - - "#/definitions/tours_stream" - -check: - stream_names: - - "activities" + type: + - string + - number + - "null" + TYPE: + type: string + description: Type of GeoJSON data. + Keywords: + type: string + description: Keywords associated with the recreation area. + LINK: + type: array + description: Links related to the recreation area. + items: + type: object + properties: + Description: + type: string + description: Description of the link. + EntityID: + type: string + description: ID of the related entity. + EntityLinkID: + type: string + description: Link ID for the entity. + EntityType: + type: string + description: Type of entity. + LinkType: + type: string + description: Type of link. + Title: + type: string + description: Title of the link. + URL: + type: string + description: URL of the link. + LastUpdatedDate: + type: string + description: Date when record was last updated. + MEDIA: + type: array + description: Media related data for the recreation area. + items: + type: object + properties: + Credits: + type: string + description: Credits for the media. + Description: + type: string + description: Description of the media. + EmbedCode: + type: string + description: Embed code for the media. + EntityID: + type: string + description: ID of the media entity. + EntityMediaID: + type: string + description: Media ID of the entity. + EntityType: + type: string + description: Type of media entity. + Height: + type: integer + description: Height of the media. + IsGallery: + type: boolean + description: Indicates if media is a gallery. + IsPreview: + type: boolean + description: Indicates if media is a preview. + IsPrimary: + type: boolean + description: Indicates if media is primary. + MediaType: + type: string + description: Type of media. + Subtitle: + type: string + description: Subtitle for the media. + Title: + type: string + description: Title of the media. + URL: + type: string + description: URL of the media. + Width: + type: integer + description: Width of the media. + ORGANIZATION: + type: array + description: Information about organizations related to the recreation area. + items: + type: object + properties: + LastUpdatedDate: + type: string + description: Last updated date of the organization. + OrgAbbrevName: + type: string + description: Abbreviated name of the organization. + OrgID: + type: string + description: ID of the organization. + OrgImageURL: + type: string + description: URL of the organization image. + OrgJurisdictionType: + type: string + description: Type of jurisdiction for the organization. + OrgName: + type: string + description: Name of the organization. + OrgParentID: + type: string + description: Parent ID of the organization. + OrgType: + type: string + description: Type of the organization. + OrgURLAddress: + type: string + description: URL address of the organization. + OrgURLText: + type: string + description: URL text of the organization. + OrgRecAreaID: + type: string + description: ID of the organization's recreation area. + ParentOrgID: + type: string + description: ID of the parent organization. + RECAREAADDRESS: + type: array + description: Address information of the recreation area. + items: + type: object + properties: + AddressCountryCode: + type: string + description: Country code of the address. + AddressStateCode: + type: string + description: State code of the address. + City: + type: string + description: City of the address. + LastUpdatedDate: + type: string + description: Last updated date of the address. + PostalCode: + type: string + description: Postal code of the address. + RecAreaAddressID: + type: string + description: ID of the recreation area address. + RecAreaAddressType: + type: string + description: Type of recreation area address. + RecAreaID: + type: string + description: ID of the recreation area. + RecAreaStreetAddress1: + type: string + description: Street address line 1 of the recreation area. + RecAreaStreetAddress2: + type: string + description: Street address line 2 of the recreation area. + RecAreaStreetAddress3: + type: string + description: Street address line 3 of the recreation area. + RecAreaDescription: + type: string + description: Description of the recreation area. + RecAreaDirections: + type: string + description: Directions to the recreation area. + RecAreaEmail: + type: string + description: Email address of the recreation area. + RecAreaFeeDescription: + type: string + description: Description of fees at the recreation area. + RecAreaID: + type: string + description: ID of the recreation area. + RecAreaLatitude: + type: number + description: Latitude of the recreation area. + RecAreaLongitude: + type: number + description: Longitude of the recreation area. + RecAreaMapURL: + type: string + description: Map URL of the recreation area. + RecAreaName: + type: string + description: Name of the recreation area. + RecAreaPhone: + type: string + description: Phone number of the recreation area. + RecAreaReservationURL: + type: string + description: Reservation URL for the recreation area. + Reservable: + type: boolean + description: Indicates if the area is reservable. + StayLimit: + type: string + description: Limit for stay at the recreation area. + tours: + type: object + $schema: http://json-schema.org/draft-04/schema# + additionalProperties: true + properties: + ATTRIBUTES: + type: array + description: >- + Contains attributes related to tours such as location, duration, and + price. + items: + type: object + properties: + AttributeID: + type: integer + description: Unique identifier for the attribute. + AttributeName: + type: string + description: Name of the attribute. + AttributeValue: + type: string + description: Value of the attribute. + CreatedDate: + type: string + description: Date when the tour data was created. + ENTITYMEDIA: + type: array + description: Contains media files associated with tours, like images and videos. + items: + type: object + properties: + Credits: + type: string + description: Credits for the media entity. + Description: + type: string + description: Description of the media entity. + EmbedCode: + type: string + description: Embed code for the media entity. + EntityID: + type: string + description: ID of the entity associated with the media. + EntityMediaID: + type: string + description: Unique identifier for the media entity. + EntityType: + type: string + description: Type of the entity for the media. + Height: + type: integer + description: Height of the media entity. + IsGallery: + type: boolean + description: Flag indicating whether the media is in a gallery. + IsPreview: + type: boolean + description: Flag indicating whether the media is a preview. + IsPrimary: + type: boolean + description: Flag indicating whether the media is the primary one. + MediaType: + type: string + description: Type of the media (e.g., image, video). + Subtitle: + type: string + description: Subtitle for the media entity. + Title: + type: string + description: Title of the media entity. + URL: + type: string + description: URL of the media entity. + Width: + type: integer + description: Width of the media entity. + FacilityID: + type: string + description: Identifier for the facility associated with the tour. + LastUpdatedDate: + type: string + description: Date when the tour data was last updated. + MEMBERTOURS: + type: + - "null" + - array + description: >- + Contains information about specific tours offered by different members + or companies. + items: + type: object + properties: + MemberTourID: + type: + - string + - integer + - "null" + description: Unique identifier for the member tour. + TourAccessible: + type: boolean + description: Flag indicating whether the tour is accessible. + TourDescription: + type: string + description: Description of the tour. + TourDuration: + type: integer + description: Duration of the tour. + TourID: + type: string + description: Unique identifier for the tour. + TourName: + type: string + description: Name of the tour. + TourType: + type: string + description: Type of the tour (e.g., guided, self-guided). diff --git a/airbyte-integrations/connectors/source-recreation/source_recreation/spec.yaml b/airbyte-integrations/connectors/source-recreation/source_recreation/spec.yaml deleted file mode 100644 index dcef1ce1b2ec..000000000000 --- a/airbyte-integrations/connectors/source-recreation/source_recreation/spec.yaml +++ /dev/null @@ -1,17 +0,0 @@ -documentationUrl: "https://docs.airbyte.com/integrations/sources/recreation" -connectionSpecification: - $schema: http://json-schema.org/draft-07/schema# - title: Recreation Spec - type: object - required: - - apikey - additionalProperties: true - properties: - apikey: - title: API Key - type: string - description: API Key - airbyte_secret: true - query_campsites: - title: Query Campsite - type: string diff --git a/airbyte-integrations/connectors/source-recruitee/metadata.yaml b/airbyte-integrations/connectors/source-recruitee/metadata.yaml index e52cf94b4f62..2dce28219250 100644 --- a/airbyte-integrations/connectors/source-recruitee/metadata.yaml +++ b/airbyte-integrations/connectors/source-recruitee/metadata.yaml @@ -2,7 +2,7 @@ data: connectorSubtype: api connectorType: source definitionId: 3b046ac7-d8d3-4eb3-b122-f96b2a16d8a8 - dockerImageTag: 0.1.1 + dockerImageTag: 0.1.2 dockerRepository: airbyte/source-recruitee githubIssueLabel: source-recruitee icon: recruitee.svg @@ -35,5 +35,5 @@ data: type: GSM alias: airbyte-connector-testing-secret-store connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 metadataSpecVersion: "1.0" diff --git a/airbyte-integrations/connectors/source-recruitee/pyproject.toml b/airbyte-integrations/connectors/source-recruitee/pyproject.toml index b852d25d4f3d..29d9ff6a45f5 100644 --- a/airbyte-integrations/connectors/source-recruitee/pyproject.toml +++ b/airbyte-integrations/connectors/source-recruitee/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.1.1" +version = "0.1.2" name = "source-recruitee" description = "Source implementation for Recruitee." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-recurly/metadata.yaml b/airbyte-integrations/connectors/source-recurly/metadata.yaml index 66a1ee309f19..58b71350586e 100644 --- a/airbyte-integrations/connectors/source-recurly/metadata.yaml +++ b/airbyte-integrations/connectors/source-recurly/metadata.yaml @@ -3,11 +3,11 @@ data: ql: 200 sl: 100 connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 connectorSubtype: api connectorType: source definitionId: cd42861b-01fc-4658-a8ab-5d11d0510f01 - dockerImageTag: 1.0.3 + dockerImageTag: 1.0.4 dockerRepository: airbyte/source-recurly documentationUrl: https://docs.airbyte.com/integrations/sources/recurly githubIssueLabel: source-recurly diff --git a/airbyte-integrations/connectors/source-recurly/pyproject.toml b/airbyte-integrations/connectors/source-recurly/pyproject.toml index 2dea25c3d3ef..76b4ea58defe 100644 --- a/airbyte-integrations/connectors/source-recurly/pyproject.toml +++ b/airbyte-integrations/connectors/source-recurly/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "1.0.3" +version = "1.0.4" name = "source-recurly" description = "Source implementation for Recurly." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-retently/metadata.yaml b/airbyte-integrations/connectors/source-retently/metadata.yaml index 9bd8396b7bde..0b5ca24ef1af 100644 --- a/airbyte-integrations/connectors/source-retently/metadata.yaml +++ b/airbyte-integrations/connectors/source-retently/metadata.yaml @@ -6,11 +6,11 @@ data: hosts: - "*" connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 connectorSubtype: api connectorType: source definitionId: db04ecd1-42e7-4115-9cec-95812905c626 - dockerImageTag: 0.2.4 + dockerImageTag: 0.2.5 dockerRepository: airbyte/source-retently documentationUrl: https://docs.airbyte.com/integrations/sources/retently githubIssueLabel: source-retently diff --git a/airbyte-integrations/connectors/source-retently/pyproject.toml b/airbyte-integrations/connectors/source-retently/pyproject.toml index 873bee62f581..566e321523e9 100644 --- a/airbyte-integrations/connectors/source-retently/pyproject.toml +++ b/airbyte-integrations/connectors/source-retently/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.2.4" +version = "0.2.5" name = "source-retently" description = "Source implementation for Retently." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-ringcentral/metadata.yaml b/airbyte-integrations/connectors/source-ringcentral/metadata.yaml index 734d19e3b8e9..6baab8b0da3e 100644 --- a/airbyte-integrations/connectors/source-ringcentral/metadata.yaml +++ b/airbyte-integrations/connectors/source-ringcentral/metadata.yaml @@ -2,7 +2,7 @@ data: connectorSubtype: api connectorType: source definitionId: 213d69b9-da66-419e-af29-c23142d4af5f - dockerImageTag: 0.1.2 + dockerImageTag: 0.1.3 dockerRepository: airbyte/source-ringcentral githubIssueLabel: source-ringcentral icon: icon.svg @@ -27,6 +27,7 @@ data: ql: 100 supportLevel: community # Disable acceptance tests for now + # They are not passing # No Airbyte Cloud usage # connectorTestSuitesOptions: # - suite: acceptanceTests diff --git a/airbyte-integrations/connectors/source-ringcentral/pyproject.toml b/airbyte-integrations/connectors/source-ringcentral/pyproject.toml index 9388575e3035..ca444a11d841 100644 --- a/airbyte-integrations/connectors/source-ringcentral/pyproject.toml +++ b/airbyte-integrations/connectors/source-ringcentral/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.1.2" +version = "0.1.3" name = "source-ringcentral" description = "Source implementation for Ringcentral." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-ringcentral/requirements.txt b/airbyte-integrations/connectors/source-ringcentral/requirements.txt deleted file mode 100644 index d6e1198b1ab1..000000000000 --- a/airbyte-integrations/connectors/source-ringcentral/requirements.txt +++ /dev/null @@ -1 +0,0 @@ --e . diff --git a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/manifest.yaml b/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/manifest.yaml index 51959c696cbe..3d8c00eb61eb 100644 --- a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/manifest.yaml +++ b/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/manifest.yaml @@ -1,194 +1,1169 @@ -version: "0.29.0" +version: 0.79.1 -definitions: - ringcentral_extractor: - type: DpathExtractor - field_path: ["{{ parameters['extractorPath'] }}"] +type: DeclarativeSource - selector: - type: RecordSelector - extractor: - $ref: "#/definitions/ringcentral_extractor" +check: + type: CheckStream + stream_names: + - user_business_hours + - company_business_hours + - callblock_settings + - blocked_allowed_phonenumbers + - forwarding_numbers + - company_call_handling_rules + - user_call_records + - user_active_calls + - call_monitoring_groups + - call_queues + - call_record_settings + - greetings + - ivr_prompts + - fax_cover - requester: +definitions: + streams: + user_business_hours: + type: DeclarativeStream + name: user_business_hours + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: >- + /account/{{ config['account_id'] }}/extension/{{ + config['extension_id'] }}/business-hours + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - schedule + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/user_business_hours" + company_business_hours: + type: DeclarativeStream + name: company_business_hours + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /account/{{ config['account_id'] }}/business-hours + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - schedule + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/company_business_hours" + callblock_settings: + type: DeclarativeStream + name: callblock_settings + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: >- + /account/{{ config['account_id'] }}/extension/{{ + config['extension_id'] }}/caller-blocking + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - greetings + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/callblock_settings" + blocked_allowed_phonenumbers: + type: DeclarativeStream + name: blocked_allowed_phonenumbers + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: >- + /account/{{ config['account_id'] }}/extension/{{ + config['extension_id'] }}/caller-blocking/phone-numbers + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - records + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/blocked_allowed_phonenumbers" + forwarding_numbers: + type: DeclarativeStream + name: forwarding_numbers + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: >- + /account/{{ config['account_id'] }}/extension/{{ + config['extension_id'] }}/forwarding-number + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - records + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: perPage + pagination_strategy: + type: PageIncrement + page_size: 100 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/forwarding_numbers" + company_call_handling_rules: + type: DeclarativeStream + name: company_call_handling_rules + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /account/{{ config['account_id'] }}/answering-rule + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - records + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: perPage + pagination_strategy: + type: PageIncrement + page_size: 100 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/company_call_handling_rules" + user_call_records: + type: DeclarativeStream + name: user_call_records + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: >- + /account/{{ config['account_id'] }}/extension/{{ + config['extension_id'] }}/call-log + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - records + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: perPage + pagination_strategy: + type: PageIncrement + page_size: 100 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/user_call_records" + user_active_calls: + type: DeclarativeStream + name: user_active_calls + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: >- + /account/{{ config['account_id'] }}/extension/{{ + config['extension_id'] }}/active-calls + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - records + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: perPage + pagination_strategy: + type: PageIncrement + page_size: 100 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/user_active_calls" + call_monitoring_groups: + type: DeclarativeStream + name: call_monitoring_groups + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /account/{{ config['account_id'] }}/call-monitoring-groups + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - records + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: perPage + pagination_strategy: + type: PageIncrement + page_size: 100 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/call_monitoring_groups" + call_queues: + type: DeclarativeStream + name: call_queues + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /account/{{ config['account_id'] }}/call-queues + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - records + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: perPage + pagination_strategy: + type: PageIncrement + page_size: 100 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/call_queues" + call_record_settings: + type: DeclarativeStream + name: call_record_settings + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /account/{{ config['account_id'] }}/call-recording + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - greetings + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/call_record_settings" + greetings: + type: DeclarativeStream + name: greetings + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /dictionary/greeting + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - records + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: perPage + pagination_strategy: + type: PageIncrement + page_size: 100 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/greetings" + ivr_prompts: + type: DeclarativeStream + name: ivr_prompts + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /dictionary/greeting + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - records + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: perPage + pagination_strategy: + type: PageIncrement + page_size: 100 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/ivr_prompts" + fax_cover: + type: DeclarativeStream + name: fax_cover + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /dictionary/fax-cover-page + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - records + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: perPage + pagination_strategy: + type: PageIncrement + page_size: 100 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/fax_cover" + base_requester: type: HttpRequester - url_base: "https://platform.devtest.ringcentral.com/restapi/v1.0" - http_method: "GET" + url_base: https://platform.devtest.ringcentral.com/restapi/v1.0 authenticator: type: BearerAuthenticator api_token: "{{ config['auth_token'] }}" - base_stream: - type: DeclarativeStream - retriever: - type: SimpleRetriever - record_selector: - $ref: "#/definitions/selector" - paginator: - type: "DefaultPaginator" - page_size_option: - type: "RequestOption" - inject_into: "request_parameter" - field_name: "perPage" - pagination_strategy: - type: "PageIncrement" - page_size: 100 - page_token_option: - type: "RequestOption" - inject_into: "request_parameter" - field_name: "page" - requester: - $ref: "#/definitions/requester" - - base_stream_without_pagination: - type: DeclarativeStream - retriever: - type: SimpleRetriever - record_selector: - $ref: "#/definitions/selector" - paginator: - type: "NoPagination" - requester: - $ref: "#/definitions/requester" - - user_business_hours_stream: - $parameters: - path: "/account/{{ config['account_id'] }}/extension/{{ config['extension_id'] }}/business-hours" - extractorPath: "schedule" - $ref: "#/definitions/base_stream_without_pagination" - name: "user_business_hours" - - company_business_hours_stream: - $parameters: - path: "/account/{{ config['account_id'] }}/business-hours" - extractorPath: "schedule" - $ref: "#/definitions/base_stream_without_pagination" - name: "company_business_hours" - - callblock_settings_stream: - $parameters: - path: "/account/{{ config['account_id'] }}/extension/{{ config['extension_id'] }}/caller-blocking" - extractorPath: "greetings" - $ref: "#/definitions/base_stream_without_pagination" - name: "callblock_settings" - - blocked_allowed_phonenumbers_stream: - $parameters: - path: "/account/{{ config['account_id'] }}/extension/{{ config['extension_id'] }}/caller-blocking/phone-numbers" - extractorPath: "records" - $ref: "#/definitions/base_stream_without_pagination" - primary_key: "id" - name: "blocked_allowed_phonenumbers" - - forwarding_numbers_stream: - $parameters: - path: "/account/{{ config['account_id'] }}/extension/{{ config['extension_id'] }}/forwarding-number" - extractorPath: "records" - $ref: "#/definitions/base_stream" - primary_key: "id" - name: "forwarding_numbers" - - company_call_handling_rules_stream: - $parameters: - path: "/account/{{ config['account_id'] }}/answering-rule" - extractorPath: "records" - $ref: "#/definitions/base_stream" - primary_key: "id" - name: "company_call_handling_rules" - - user_call_records_stream: - $parameters: - path: "/account/{{ config['account_id'] }}/extension/{{ config['extension_id'] }}/call-log" - extractorPath: "records" - $ref: "#/definitions/base_stream" - primary_key: "id" - name: "user_call_records" - - user_active_calls_stream: - $parameters: - path: "/account/{{ config['account_id'] }}/extension/{{ config['extension_id'] }}/active-calls" - extractorPath: "records" - $ref: "#/definitions/base_stream" - primary_key: "id" - name: "user_active_calls" - - call_monitoring_groups_stream: - $parameters: - path: "/account/{{ config['account_id'] }}/call-monitoring-groups" - extractorPath: "records" - $ref: "#/definitions/base_stream" - primary_key: "id" - name: "call_monitoring_groups" - - call_queues_stream: - $parameters: - path: "/account/{{ config['account_id'] }}/call-queues" - extractorPath: "records" - $ref: "#/definitions/base_stream" - primary_key: "id" - name: "call_queues" - - call_record_settings_stream: - $parameters: - path: "/account/{{ config['account_id'] }}/call-recording" - extractorPath: "greetings" - $ref: "#/definitions/base_stream_without_pagination" - name: "call_record_settings" - - greetings_stream: - $parameters: - path: "/dictionary/greeting" - extractorPath: "records" - $ref: "#/definitions/base_stream" - primary_key: "id" - name: "greetings" - - ivr_prompts_stream: - $parameters: - path: "/dictionary/greeting" - extractorPath: "records" - $ref: "#/definitions/base_stream" - primary_key: "id" - name: "ivr_prompts" +streams: + - $ref: "#/definitions/streams/user_business_hours" + - $ref: "#/definitions/streams/company_business_hours" + - $ref: "#/definitions/streams/callblock_settings" + - $ref: "#/definitions/streams/blocked_allowed_phonenumbers" + - $ref: "#/definitions/streams/forwarding_numbers" + - $ref: "#/definitions/streams/company_call_handling_rules" + - $ref: "#/definitions/streams/user_call_records" + - $ref: "#/definitions/streams/user_active_calls" + - $ref: "#/definitions/streams/call_monitoring_groups" + - $ref: "#/definitions/streams/call_queues" + - $ref: "#/definitions/streams/call_record_settings" + - $ref: "#/definitions/streams/greetings" + - $ref: "#/definitions/streams/ivr_prompts" + - $ref: "#/definitions/streams/fax_cover" - fax_cover_stream: - $parameters: - path: "/dictionary/fax-cover-page" - extractorPath: "records" - $ref: "#/definitions/base_stream" - primary_key: "id" - name: "fax_cover" +spec: + type: Spec + connection_specification: + type: object + $schema: http://json-schema.org/draft-07/schema# + required: + - account_id + - auth_token + - extension_id + properties: + account_id: + type: string + title: Account Id + description: > + Could be seen at response to basic api call to an endpoint with ~ + operator. Example- + (https://platform.devtest.ringcentral.com/restapi/v1.0/account/~/extension/~/business-hours) + airbyte_secret: true + order: 0 + auth_token: + type: string + title: Auth Token + description: >- + Token could be recieved by following instructions at + https://developers.ringcentral.com/api-reference/authentication + airbyte_secret: true + order: 1 + extension_id: + type: string + title: Extension Id + description: > + Could be seen at response to basic api call to an endpoint with ~ + operator. Example- + (https://platform.devtest.ringcentral.com/restapi/v1.0/account/~/extension/~/business-hours) + airbyte_secret: true + order: 2 + additionalProperties: true -streams: - - "#/definitions/user_business_hours_stream" - - "#/definitions/company_business_hours_stream" - - "#/definitions/callblock_settings_stream" - - "#/definitions/blocked_allowed_phonenumbers_stream" - - "#/definitions/forwarding_numbers_stream" - - "#/definitions/company_call_handling_rules_stream" - - "#/definitions/user_call_records_stream" - - "#/definitions/user_active_calls_stream" - - "#/definitions/call_monitoring_groups_stream" - - "#/definitions/call_queues_stream" - - "#/definitions/call_record_settings_stream" - - "#/definitions/greetings_stream" - - "#/definitions/ivr_prompts_stream" - - "#/definitions/fax_cover_stream" +metadata: + autoImportSchema: + user_business_hours: false + company_business_hours: false + callblock_settings: false + blocked_allowed_phonenumbers: false + forwarding_numbers: false + company_call_handling_rules: false + user_call_records: false + user_active_calls: false + call_monitoring_groups: false + call_queues: false + call_record_settings: false + greetings: false + ivr_prompts: false + fax_cover: false -check: - type: CheckStream - stream_names: - - "user_business_hours" - - "company_business_hours" - - "callblock_settings" - - "blocked_allowed_phonenumbers" - - "forwarding_numbers" - - "company_call_handling_rules" - - "user_call_records" - - "user_active_calls" - - "call_monitoring_groups" - - "call_queues" - - "call_record_settings" - - "greetings" - - "ivr_prompts" - - "fax_cover" +schemas: + user_business_hours: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + weeklyRanges: + type: + - "null" + - object + properties: + friday: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + from: + type: + - "null" + - string + to: + type: + - "null" + - string + monday: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + from: + type: + - "null" + - string + to: + type: + - "null" + - string + thursday: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + from: + type: + - "null" + - string + to: + type: + - "null" + - string + tuesday: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + from: + type: + - "null" + - string + to: + type: + - "null" + - string + wednesday: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + from: + type: + - "null" + - string + to: + type: + - "null" + - string + title: User business hours Schema + company_business_hours: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + weeklyRanges: + type: + - "null" + - object + properties: + friday: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + from: + type: + - "null" + - string + to: + type: + - "null" + - string + monday: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + from: + type: + - "null" + - string + to: + type: + - "null" + - string + thursday: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + from: + type: + - "null" + - string + to: + type: + - "null" + - string + tuesday: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + from: + type: + - "null" + - string + to: + type: + - "null" + - string + wednesday: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + from: + type: + - "null" + - string + to: + type: + - "null" + - string + title: Business hours Schema + callblock_settings: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - "null" + - string + preset: + type: + - "null" + - object + properties: + id: + type: + - "null" + - string + name: + type: + - "null" + - string + uri: + type: + - "null" + - string + title: Callblock settings Schema + blocked_allowed_phonenumbers: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + id: + type: + - "null" + - string + label: + type: + - "null" + - string + phoneNumber: + type: + - "null" + - string + status: + type: + - "null" + - string + uri: + type: + - "null" + - string + title: Blocked_Allowed phoneNumber Schema + forwarding_numbers: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - "null" + - string + features: + type: + - "null" + - array + items: + type: + - "null" + - string + flipNumber: + type: + - "null" + - string + id: + type: + - "null" + - string + label: + type: + - "null" + - string + phoneNumber: + type: + - "null" + - string + title: Forwarding numbers Schema + company_call_handling_rules: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - "null" + - string + enabled: + type: + - "null" + - boolean + id: + type: + - "null" + - string + name: + type: + - "null" + - string + uri: + type: + - "null" + - string + title: Company call handling rules + user_call_records: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - "null" + - string + action: + type: + - "null" + - string + direction: + type: + - "null" + - string + duration: + type: + - "null" + - number + from: + type: + - "null" + - object + properties: + name: + type: + - "null" + - string + phoneNumber: + type: + - "null" + - string + id: + type: + - "null" + - string + message: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + id: + type: + - "null" + - string + uri: + type: + - "null" + - string + result: + type: + - "null" + - string + sessionId: + type: + - "null" + - string + startTime: + type: + - "null" + - string + telephonySessionId: + type: + - "null" + - string + to: + type: + - "null" + - object + properties: + location: + type: + - "null" + - string + phoneNumber: + type: + - "null" + - string + uri: + type: + - "null" + - string + title: User Call Schema + user_active_calls: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - "null" + - string + action: + type: + - "null" + - string + direction: + type: + - "null" + - string + duration: + type: + - "null" + - number + from: + type: + - "null" + - object + properties: + name: + type: + - "null" + - string + phoneNumber: + type: + - "null" + - string + id: + type: + - "null" + - string + message: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + id: + type: + - "null" + - string + uri: + type: + - "null" + - string + result: + type: + - "null" + - string + sessionId: + type: + - "null" + - string + startTime: + type: + - "null" + - string + telephonySessionId: + type: + - "null" + - string + to: + type: + - "null" + - object + properties: + location: + type: + - "null" + - string + phoneNumber: + type: + - "null" + - string + uri: + type: + - "null" + - string + title: User Call Schema + call_monitoring_groups: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + id: + type: + - "null" + - string + name: + type: + - "null" + - string + title: Call Monitoring Groups Schema + call_queues: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + extensionNumber: + type: + - "null" + - string + id: + type: + - "null" + - string + name: + type: + - "null" + - string + uri: + type: + - "null" + - string + title: Call Queues Schema + call_record_settings: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - "null" + - string + mode: + type: + - "null" + - string + title: Call Record Settings Schema + greetings: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - "null" + - string + category: + type: + - "null" + - string + contentUri: + type: + - "null" + - string + id: + type: + - "null" + - string + name: + type: + - "null" + - string + text: + type: + - "null" + - string + uri: + type: + - "null" + - string + usageType: + type: + - "null" + - string + title: Greetings Schema + ivr_prompts: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - "null" + - string + category: + type: + - "null" + - string + contentType: + type: + - "null" + - string + contentUri: + type: + - "null" + - string + filename: + type: + - "null" + - string + id: + type: + - "null" + - string + name: + type: + - "null" + - string + text: + type: + - "null" + - string + uri: + type: + - "null" + - string + usageType: + type: + - "null" + - string + title: IVR Prompts + fax_cover: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + id: + type: + - "null" + - string + name: + type: + - "null" + - string + title: Fax Cover Schema diff --git a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/blocked_allowed_phonenumbers.json b/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/blocked_allowed_phonenumbers.json deleted file mode 100644 index 41a9887533de..000000000000 --- a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/blocked_allowed_phonenumbers.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Blocked_Allowed phoneNumber Schema", - "additionalProperties": true, - "type": ["null", "object"], - "properties": { - "uri": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "string"] - }, - "phoneNumber": { - "type": ["null", "string"] - }, - "status": { - "type": ["null", "string"] - }, - "label": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/call_monitoring_groups.json b/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/call_monitoring_groups.json deleted file mode 100644 index e816414e0f8a..000000000000 --- a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/call_monitoring_groups.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Call Monitoring Groups Schema", - "additionalProperties": true, - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/call_queues.json b/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/call_queues.json deleted file mode 100644 index 7087527a7ea5..000000000000 --- a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/call_queues.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Call Queues Schema", - "additionalProperties": true, - "type": "object", - "properties": { - "uri": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "string"] - }, - "extensionNumber": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/call_record_settings.json b/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/call_record_settings.json deleted file mode 100644 index 3c78a56870e3..000000000000 --- a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/call_record_settings.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Call Record Settings Schema", - "additionalProperties": true, - "type": "object", - "properties": { - "type": { - "type": ["null", "string"] - }, - "mode": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/callblock_settings.json b/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/callblock_settings.json deleted file mode 100644 index 03217db95dba..000000000000 --- a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/callblock_settings.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Callblock settings Schema", - "additionalProperties": true, - "type": ["null", "object"], - "properties": { - "type": { - "type": ["null", "string"] - }, - "preset": { - "type": ["null", "object"], - "properties": { - "uri": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - } - } - } - } -} diff --git a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/company_business_hours.json b/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/company_business_hours.json deleted file mode 100644 index cc7304e97f7f..000000000000 --- a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/company_business_hours.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Business hours Schema", - "additionalProperties": true, - "type": ["null", "object"], - "properties": { - "weeklyRanges": { - "type": ["null", "object"], - "properties": { - "monday": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "from": { - "type": ["null", "string"] - }, - "to": { - "type": ["null", "string"] - } - } - } - }, - "tuesday": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "from": { - "type": ["null", "string"] - }, - "to": { - "type": ["null", "string"] - } - } - } - }, - "wednesday": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "from": { - "type": ["null", "string"] - }, - "to": { - "type": ["null", "string"] - } - } - } - }, - "thursday": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "from": { - "type": ["null", "string"] - }, - "to": { - "type": ["null", "string"] - } - } - } - }, - "friday": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "from": { - "type": ["null", "string"] - }, - "to": { - "type": ["null", "string"] - } - } - } - } - } - } - } -} diff --git a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/company_call_handling_rules.json b/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/company_call_handling_rules.json deleted file mode 100644 index c04389063234..000000000000 --- a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/company_call_handling_rules.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Company call handling rules", - "additionalProperties": true, - "type": ["null", "object"], - "properties": { - "uri": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "enabled": { - "type": ["null", "boolean"] - } - } -} diff --git a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/fax_cover.json b/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/fax_cover.json deleted file mode 100644 index 9894ba6bb6fa..000000000000 --- a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/fax_cover.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Fax Cover Schema", - "additionalProperties": true, - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/forwarding_numbers.json b/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/forwarding_numbers.json deleted file mode 100644 index 74830cde678b..000000000000 --- a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/forwarding_numbers.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Forwarding numbers Schema", - "additionalProperties": true, - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "phoneNumber": { - "type": ["null", "string"] - }, - "label": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "features": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - }, - "flipNumber": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/greetings.json b/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/greetings.json deleted file mode 100644 index a41d80c629fb..000000000000 --- a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/greetings.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Greetings Schema", - "additionalProperties": true, - "type": ["null", "object"], - "properties": { - "uri": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "usageType": { - "type": ["null", "string"] - }, - "contentUri": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "category": { - "type": ["null", "string"] - }, - "text": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/ivr_prompts.json b/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/ivr_prompts.json deleted file mode 100644 index 91ac0975f6f2..000000000000 --- a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/ivr_prompts.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "IVR Prompts", - "additionalProperties": true, - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "uri": { - "type": ["null", "string"] - }, - "contentType": { - "type": ["null", "string"] - }, - "filename": { - "type": ["null", "string"] - }, - "contentUri": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "text": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "usageType": { - "type": ["null", "string"] - }, - "category": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/user_active_calls.json b/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/user_active_calls.json deleted file mode 100644 index 26e3421d97ac..000000000000 --- a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/user_active_calls.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "User Call Schema", - "additionalProperties": true, - "type": ["null", "object"], - "properties": { - "uri": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "string"] - }, - "sessionId": { - "type": ["null", "string"] - }, - "telephonySessionId": { - "type": ["null", "string"] - }, - "startTime": { - "type": ["null", "string"] - }, - "duration": { - "type": ["null", "number"] - }, - "type": { - "type": ["null", "string"] - }, - "direction": { - "type": ["null", "string"] - }, - "action": { - "type": ["null", "string"] - }, - "result": { - "type": ["null", "string"] - }, - "to": { - "type": ["null", "object"], - "properties": { - "phoneNumber": { - "type": ["null", "string"] - }, - "location": { - "type": ["null", "string"] - } - } - }, - "from": { - "type": ["null", "object"], - "properties": { - "phoneNumber": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - } - } - }, - "message": { - "type": ["null", "object"], - "properties": { - "uri": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - } - } - } - } -} diff --git a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/user_business_hours.json b/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/user_business_hours.json deleted file mode 100644 index 7d7e67ec52d4..000000000000 --- a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/user_business_hours.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "User business hours Schema", - "additionalProperties": true, - "type": ["null", "object"], - "properties": { - "weeklyRanges": { - "type": ["null", "object"], - "properties": { - "monday": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "from": { - "type": ["null", "string"] - }, - "to": { - "type": ["null", "string"] - } - } - } - }, - "tuesday": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "from": { - "type": ["null", "string"] - }, - "to": { - "type": ["null", "string"] - } - } - } - }, - "wednesday": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "from": { - "type": ["null", "string"] - }, - "to": { - "type": ["null", "string"] - } - } - } - }, - "thursday": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "from": { - "type": ["null", "string"] - }, - "to": { - "type": ["null", "string"] - } - } - } - }, - "friday": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "from": { - "type": ["null", "string"] - }, - "to": { - "type": ["null", "string"] - } - } - } - } - } - } - } -} diff --git a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/user_call_records.json b/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/user_call_records.json deleted file mode 100644 index 26e3421d97ac..000000000000 --- a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/schemas/user_call_records.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "User Call Schema", - "additionalProperties": true, - "type": ["null", "object"], - "properties": { - "uri": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "string"] - }, - "sessionId": { - "type": ["null", "string"] - }, - "telephonySessionId": { - "type": ["null", "string"] - }, - "startTime": { - "type": ["null", "string"] - }, - "duration": { - "type": ["null", "number"] - }, - "type": { - "type": ["null", "string"] - }, - "direction": { - "type": ["null", "string"] - }, - "action": { - "type": ["null", "string"] - }, - "result": { - "type": ["null", "string"] - }, - "to": { - "type": ["null", "object"], - "properties": { - "phoneNumber": { - "type": ["null", "string"] - }, - "location": { - "type": ["null", "string"] - } - } - }, - "from": { - "type": ["null", "object"], - "properties": { - "phoneNumber": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - } - } - }, - "message": { - "type": ["null", "object"], - "properties": { - "uri": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - } - } - } - } -} diff --git a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/spec.yaml b/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/spec.yaml deleted file mode 100644 index 6a8769b41dea..000000000000 --- a/airbyte-integrations/connectors/source-ringcentral/source_ringcentral/spec.yaml +++ /dev/null @@ -1,30 +0,0 @@ -documentationUrl: https://docs.airbyte.com/integrations/sources/ringcentral -connectionSpecification: - $schema: http://json-schema.org/draft-07/schema# - title: RingCentral Spec - type: object - additionalProperties: true - required: - - auth_token - - account_id - - extension_id - properties: - auth_token: - title: Auth Token - type: string - description: Token could be recieved by following instructions at https://developers.ringcentral.com/api-reference/authentication - airbyte_secret: true - account_id: - title: Account Id - type: string - description: > - Could be seen at response to basic api call to an endpoint with ~ operator. - Example- (https://platform.devtest.ringcentral.com/restapi/v1.0/account/~/extension/~/business-hours) - airbyte_secret: true - extension_id: - title: Extension Id - type: string - description: > - Could be seen at response to basic api call to an endpoint with ~ operator. - Example- (https://platform.devtest.ringcentral.com/restapi/v1.0/account/~/extension/~/business-hours) - airbyte_secret: true diff --git a/airbyte-integrations/connectors/source-rki-covid/metadata.yaml b/airbyte-integrations/connectors/source-rki-covid/metadata.yaml index 631392094819..97aaa0d1dff7 100644 --- a/airbyte-integrations/connectors/source-rki-covid/metadata.yaml +++ b/airbyte-integrations/connectors/source-rki-covid/metadata.yaml @@ -2,7 +2,7 @@ data: connectorSubtype: api connectorType: source definitionId: d78e5de0-aa44-4744-aa4f-74c818ccfe19 - dockerImageTag: 0.1.3 + dockerImageTag: 0.1.4 dockerRepository: airbyte/source-rki-covid githubIssueLabel: source-rki-covid icon: rki.svg @@ -36,5 +36,5 @@ data: type: GSM alias: airbyte-connector-testing-secret-store connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 metadataSpecVersion: "1.0" diff --git a/airbyte-integrations/connectors/source-rki-covid/pyproject.toml b/airbyte-integrations/connectors/source-rki-covid/pyproject.toml index 22a49748e136..b4199262acfb 100644 --- a/airbyte-integrations/connectors/source-rki-covid/pyproject.toml +++ b/airbyte-integrations/connectors/source-rki-covid/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.1.3" +version = "0.1.4" name = "source-rki-covid" description = "Source implementation for Rki Covid." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-salesforce/metadata.yaml b/airbyte-integrations/connectors/source-salesforce/metadata.yaml index 7dc0ce1a58a6..cf6160bab573 100644 --- a/airbyte-integrations/connectors/source-salesforce/metadata.yaml +++ b/airbyte-integrations/connectors/source-salesforce/metadata.yaml @@ -6,11 +6,11 @@ data: hosts: - "*.salesforce.com" connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 connectorSubtype: api connectorType: source definitionId: b117307c-14b6-41aa-9422-947e34922962 - dockerImageTag: 2.5.13 + dockerImageTag: 2.5.14 dockerRepository: airbyte/source-salesforce documentationUrl: https://docs.airbyte.com/integrations/sources/salesforce githubIssueLabel: source-salesforce diff --git a/airbyte-integrations/connectors/source-salesforce/pyproject.toml b/airbyte-integrations/connectors/source-salesforce/pyproject.toml index 9b32f7ba1d99..56b352f84dbc 100644 --- a/airbyte-integrations/connectors/source-salesforce/pyproject.toml +++ b/airbyte-integrations/connectors/source-salesforce/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "2.5.13" +version = "2.5.14" name = "source-salesforce" description = "Source implementation for Salesforce." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-secoda/metadata.yaml b/airbyte-integrations/connectors/source-secoda/metadata.yaml index 847521433516..85071cb1037a 100644 --- a/airbyte-integrations/connectors/source-secoda/metadata.yaml +++ b/airbyte-integrations/connectors/source-secoda/metadata.yaml @@ -2,7 +2,7 @@ data: connectorSubtype: api connectorType: source definitionId: da9fc6b9-8059-4be0-b204-f56e22e4d52d - dockerImageTag: 0.1.2 + dockerImageTag: 0.1.3 dockerRepository: airbyte/source-secoda githubIssueLabel: source-secoda icon: secoda.svg diff --git a/airbyte-integrations/connectors/source-secoda/pyproject.toml b/airbyte-integrations/connectors/source-secoda/pyproject.toml index a58f4040680e..476f09496a65 100644 --- a/airbyte-integrations/connectors/source-secoda/pyproject.toml +++ b/airbyte-integrations/connectors/source-secoda/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.1.2" +version = "0.1.3" name = "source-secoda" description = "Source implementation for Secoda." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-secoda/source_secoda/manifest.yaml b/airbyte-integrations/connectors/source-secoda/source_secoda/manifest.yaml index 28698bd63111..03028643322d 100644 --- a/airbyte-integrations/connectors/source-secoda/source_secoda/manifest.yaml +++ b/airbyte-integrations/connectors/source-secoda/source_secoda/manifest.yaml @@ -1,68 +1,279 @@ -version: "0.29.0" +version: 0.79.1 + +type: DeclarativeSource + +check: + type: CheckStream + stream_names: + - tables definitions: - schema_loader: - type: JsonFileSchemaLoader - file_path: "./source_secoda/schemas/{{ parameters.name }}.json" - selector: - extractor: - field_path: ["results"] - requester: - url_base: "https://api.secoda.co" - http_method: "GET" + streams: + tables: + type: DeclarativeStream + name: tables + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /table/tables/ + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + http_codes: + - 500 + action: FAIL + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + page_size_option: + type: RequestOption + inject_into: body_data + field_name: page_size + pagination_strategy: + type: CursorPagination + page_size: 1 + cursor_value: "{{ response.links.next }}" + stop_condition: "{{ response.links.next is none}}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/tables" + terms: + type: DeclarativeStream + name: terms + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /dictionary/terms/ + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + http_codes: + - 500 + action: FAIL + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + page_size_option: + type: RequestOption + inject_into: body_data + field_name: page_size + pagination_strategy: + type: CursorPagination + page_size: 1 + cursor_value: "{{ response.links.next }}" + stop_condition: "{{ response.links.next is none}}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/terms" + collections: + type: DeclarativeStream + name: collections + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /collection/collections/ + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + http_codes: + - 500 + action: FAIL + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + page_size_option: + type: RequestOption + inject_into: body_data + field_name: page_size + pagination_strategy: + type: CursorPagination + page_size: 1 + cursor_value: "{{ response.links.next }}" + stop_condition: "{{ response.links.next is none}}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/collections" + base_requester: + type: HttpRequester + url_base: https://api.secoda.co authenticator: type: BearerAuthenticator api_token: "{{ config['api_key'] }}" - error_handler: - response_filters: - - http_codes: [500] - action: FAIL - cursor_paginator: - type: DefaultPaginator - page_token_option: - type: RequestPath - page_size_option: - inject_into: body_data - field_name: "page_size" - pagination_strategy: - type: "CursorPagination" - cursor_value: "{{ response.links.next }}" - stop_condition: "{{ response.links.next is none}}" - page_size: 1 - retriever: - record_selector: - $ref: "#/definitions/selector" - paginator: - $ref: "#/definitions/cursor_paginator" - requester: - $ref: "#/definitions/requester" - base_stream: - retriever: - $ref: "#/definitions/retriever" - tables_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "tables" - primary_key: "id" - path: "/table/tables/" - terms_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "terms" - primary_key: "id" - path: "/dictionary/terms/" - collections_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "collections" - primary_key: "id" - path: "/collection/collections/" streams: - - "#/definitions/tables_stream" - - "#/definitions/terms_stream" - - "#/definitions/collections_stream" + - $ref: "#/definitions/streams/tables" + - $ref: "#/definitions/streams/terms" + - $ref: "#/definitions/streams/collections" -check: - stream_names: - - "tables" +spec: + type: Spec + connection_specification: + type: object + $schema: http://json-schema.org/draft-07/schema# + required: + - api_key + properties: + api_key: + type: string + title: Api Key + airbyte_secret: true + description: >- + Your API Access Key. See here. The + key is case sensitive. + order: 0 + additionalProperties: true + +metadata: + autoImportSchema: + tables: false + terms: false + collections: false + +schemas: + tables: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: string + cluster: + type: string + columns: + type: array + created_at: + type: string + database: + type: string + description: + type: + - "null" + - string + entity_type: + type: string + id: + type: string + integration: + type: string + name: + type: string + owners: + type: array + parent_id: + type: string + pii: + type: boolean + pristine: + type: boolean + published: + type: boolean + schema: + type: string + tags: + type: array + updated_at: + type: string + verified: + type: boolean + terms: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + collections: + type: array + created_at: + type: string + description: + type: string + entity_type: + type: string + id: + type: string + owners: + type: array + pristine: + type: boolean + published: + type: boolean + title: + type: string + updated_at: + type: string + viewers_delta: + type: object + collections: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + archived: + type: boolean + created_at: + type: string + definition: + type: string + description: + type: string + entity_type: + type: string + id: + type: string + pii: + type: boolean + published: + type: boolean + title: + type: string + updated_at: + type: string + verified: + type: boolean + workspace_id: + type: string diff --git a/airbyte-integrations/connectors/source-secoda/source_secoda/schemas/collections.json b/airbyte-integrations/connectors/source-secoda/source_secoda/schemas/collections.json deleted file mode 100644 index 2ef7041bf0d5..000000000000 --- a/airbyte-integrations/connectors/source-secoda/source_secoda/schemas/collections.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "created_at": { - "type": "string" - }, - "updated_at": { - "type": "string" - }, - "entity_type": { - "type": "string" - }, - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "definition": { - "type": "string" - }, - "workspace_id": { - "type": "string" - }, - "published": { - "type": "boolean" - }, - "archived": { - "type": "boolean" - }, - "pii": { - "type": "boolean" - }, - "verified": { - "type": "boolean" - } - } -} diff --git a/airbyte-integrations/connectors/source-secoda/source_secoda/schemas/tables.json b/airbyte-integrations/connectors/source-secoda/source_secoda/schemas/tables.json deleted file mode 100644 index d89780b2f65d..000000000000 --- a/airbyte-integrations/connectors/source-secoda/source_secoda/schemas/tables.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "type": { - "type": "string" - }, - "published": { - "type": "boolean" - }, - "pii": { - "type": "boolean" - }, - "created_at": { - "type": "string" - }, - "updated_at": { - "type": "string" - }, - "tags": { - "type": "array" - }, - "name": { - "type": "string" - }, - "schema": { - "type": "string" - }, - "cluster": { - "type": "string" - }, - "database": { - "type": "string" - }, - "owners": { - "type": "array" - }, - "description": { - "type": ["null", "string"] - }, - "columns": { - "type": "array" - }, - "parent_id": { - "type": "string" - }, - "integration": { - "type": "string" - }, - "entity_type": { - "type": "string" - }, - "pristine": { - "type": "boolean" - }, - "verified": { - "type": "boolean" - } - } -} diff --git a/airbyte-integrations/connectors/source-secoda/source_secoda/schemas/terms.json b/airbyte-integrations/connectors/source-secoda/source_secoda/schemas/terms.json deleted file mode 100644 index 92ce37b3d352..000000000000 --- a/airbyte-integrations/connectors/source-secoda/source_secoda/schemas/terms.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "created_at": { - "type": "string" - }, - "updated_at": { - "type": "string" - }, - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "collections": { - "type": "array" - }, - "owners": { - "type": "array" - }, - "published": { - "type": "boolean" - }, - "pristine": { - "type": "boolean" - }, - "viewers_delta": { - "type": "object" - }, - "entity_type": { - "type": "string" - } - } -} diff --git a/airbyte-integrations/connectors/source-secoda/source_secoda/spec.yaml b/airbyte-integrations/connectors/source-secoda/source_secoda/spec.yaml deleted file mode 100644 index a511f4713bc8..000000000000 --- a/airbyte-integrations/connectors/source-secoda/source_secoda/spec.yaml +++ /dev/null @@ -1,18 +0,0 @@ -documentationUrl: https://docs.airbyte.com/integrations/sources/secoda -connectionSpecification: - $schema: http://json-schema.org/draft-07/schema# - title: Secoda Spec - type: object - required: - - api_key - additionalProperties: true - properties: - # 'TODO: This schema defines the configuration required for the source. This usually involves metadata such as database and/or authentication information.': - api_key: - title: Api Key - type: string - description: >- - Your API Access Key. See here. The key is - case sensitive. - airbyte_secret: true diff --git a/airbyte-integrations/connectors/source-shortio/metadata.yaml b/airbyte-integrations/connectors/source-shortio/metadata.yaml index a28824b1c734..93e32393f9e3 100644 --- a/airbyte-integrations/connectors/source-shortio/metadata.yaml +++ b/airbyte-integrations/connectors/source-shortio/metadata.yaml @@ -17,7 +17,7 @@ data: connectorSubtype: api connectorType: source definitionId: 2fed2292-5586-480c-af92-9944e39fe12d - dockerImageTag: 0.2.2 + dockerImageTag: 0.2.3 dockerRepository: airbyte/source-shortio githubIssueLabel: source-shortio icon: shortio.svg diff --git a/airbyte-integrations/connectors/source-shortio/pyproject.toml b/airbyte-integrations/connectors/source-shortio/pyproject.toml index a9f5d68fa090..d6ec38f1b1d0 100644 --- a/airbyte-integrations/connectors/source-shortio/pyproject.toml +++ b/airbyte-integrations/connectors/source-shortio/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.2.2" +version = "0.2.3" name = "source-shortio" description = "Source implementation for Shortio." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-shortio/source_shortio/manifest.yaml b/airbyte-integrations/connectors/source-shortio/source_shortio/manifest.yaml index fd5092b6e14a..9bf8e9585828 100644 --- a/airbyte-integrations/connectors/source-shortio/source_shortio/manifest.yaml +++ b/airbyte-integrations/connectors/source-shortio/source_shortio/manifest.yaml @@ -1,106 +1,432 @@ version: "0.86.0" definitions: - selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["{{ parameters.extractor_path }}"] - - v1_api_requester: - type: HttpRequester - url_base: "https://api.short.io/api/" - http_method: "GET" - authenticator: - type: "ApiKeyAuthenticator" - header: "Authorization" - api_token: "{{ config['secret_key'] }}" - request_parameters: - domain_id: "{{ config['domain_id'] }}" - - v2_api_requester: - type: HttpRequester - url_base: "https://api-v2.short.cm/statistics/" - http_method: "GET" - authenticator: - type: "ApiKeyAuthenticator" - header: "Authorization" - api_token: "{{ config['secret_key'] }}" - - base_paginator: - type: "DefaultPaginator" - pagination_strategy: - type: "CursorPagination" - cursor_value: "{{ response['nextPageToken'] }}" - page_token_option: - type: "RequestPath" - field_name: "pageToken" - inject_into: "request_parameter" - - v1_base_stream: + links_stream: type: DeclarativeStream retriever: type: SimpleRetriever record_selector: - $ref: "#/definitions/selector" + type: RecordSelector + extractor: + type: DpathExtractor + field_path: ["links"] paginator: - $ref: "#/definitions/base_paginator" + type: "DefaultPaginator" + pagination_strategy: + type: "CursorPagination" + cursor_value: "{{ response['nextPageToken'] }}" + page_token_option: + type: "RequestPath" + field_name: "pageToken" + inject_into: "request_parameter" requester: - $ref: "#/definitions/v1_api_requester" + type: HttpRequester + url_base: "https://api.short.io/api/" + http_method: "GET" + path: "links" + authenticator: + type: "ApiKeyAuthenticator" + header: "Authorization" + api_token: "{{ config['secret_key'] }}" + request_parameters: + domain_id: "{{ config['domain_id'] }}" + name: "links" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: "updatedAt" + datetime_format: "%Y-%m-%dT%H:%M:%S.%f%z" + cursor_granularity: "PT0.001S" + lookback_window: "P31D" + start_datetime: + datetime: "{{ config['start_date'] }}" + datetime_format: "%Y-%m-%dT%H:%M:%S.%f%z" + end_datetime: + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%S.%f%z') }}" + datetime_format: "%Y-%m-%dT%H:%M:%S.%f%z" + step: "P1M" + end_time_option: + field_name: "beforeDate" + inject_into: "request_parameter" + start_time_option: + field_name: "afterDate" + inject_into: "request_parameter" + primary_key: "id" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/links" - v2_base_stream: + clicks_stream: type: DeclarativeStream retriever: type: SimpleRetriever record_selector: - $ref: "#/definitions/selector" + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] paginator: - $ref: "#/definitions/base_paginator" + type: "DefaultPaginator" + pagination_strategy: + type: "CursorPagination" + cursor_value: "{{ response['nextPageToken'] }}" + page_token_option: + type: "RequestPath" + field_name: "pageToken" + inject_into: "request_parameter" requester: - $ref: "#/definitions/v2_api_requester" - - incremental_base: - type: DatetimeBasedCursor - cursor_field: "updatedAt" - datetime_format: "%Y-%m-%dT%H:%M:%S.%f%z" - cursor_granularity: "PT0.001S" - lookback_window: "P31D" - start_datetime: - datetime: "{{ config['start_date'] }}" - datetime_format: "%Y-%m-%dT%H:%M:%S.%f%z" - end_datetime: - datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%S.%f%z') }}" - datetime_format: "%Y-%m-%dT%H:%M:%S.%f%z" - step: "P1M" - end_time_option: - field_name: "beforeDate" - inject_into: "request_parameter" - start_time_option: - field_name: "afterDate" - inject_into: "request_parameter" + type: HttpRequester + url_base: "https://api-v2.short.cm/statistics/" + http_method: "GET" + path: "domain/{{ config['domain_id'] }}/link_clicks" + authenticator: + type: "ApiKeyAuthenticator" + header: "Authorization" + api_token: "{{ config['secret_key'] }}" + name: "clicks" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/clicks" - links_stream: - $ref: "#/definitions/v1_base_stream" - name: "links" - incremental_sync: - $ref: "#/definitions/incremental_base" - primary_key: "id" - $parameters: - extractor_path: "links" - path: "links" +schemas: + links: + "$schema": http://json-schema.org/draft-07/schema# + type: object + additionalProperties: true + properties: + lcpath: + type: + - "null" + - string + passwordContact: + type: + - "null" + - boolean + hasPassword: + type: + - "null" + - boolean + OwnerId: + type: + - "null" + - integer + id: + type: + - "null" + - string + path: + type: + - "null" + - string + title: + type: + - "null" + - string + icon: + type: + - "null" + - string + archived: + type: + - "null" + - boolean + originalURL: + type: string + iphoneURL: + type: + - "null" + - string + androidURL: + type: + - "null" + - string + password: + type: + - "null" + - string + utmSource: + type: + - "null" + - string + utmMedium: + type: + - "null" + - string + utmCampaign: + type: + - "null" + - string + utmCampaignId: + type: + - "null" + - string + utmTerm: + type: + - "null" + - string + utmContent: + type: + - "null" + - string + splitURL: + type: + - "null" + - string + splitPercent: + type: + - "null" + - string + expiresAt: + type: + - "null" + - string + expiredURL: + type: + - "null" + - string + redirectType: + type: + - "null" + - string + clicksLimit: + type: + - "null" + - string + cloaking: + type: + - "null" + - boolean + source: + type: + - "null" + - string + integrationGA: + type: + - "null" + - string + integrationFB: + type: + - "null" + - string + integrationAdroll: + type: + - "null" + - string + integrationGTM: + type: + - "null" + - string + AutodeletedAt: + type: + - "null" + - string + format: date-time + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + DomainId: + type: integer + Owner: + type: + - "null" + - object + properties: + id: + type: integer + name: + type: + - "null" + - string + email: + type: + - "null" + - string + photoURL: + type: + - "null" + - string + tags: + type: + - "null" + - array + items: + type: string + secureShortURL: + type: + - "null" + - string + idString: + type: string + shortURL: + type: string + User: + type: + - "null" + - object + properties: + id: + type: integer + name: + type: + - "null" + - string + email: + type: + - "null" + - string + photoURL: + type: + - "null" + - string - clicks_stream: - $ref: "#/definitions/v2_base_stream" - name: "clicks" - $parameters: - path: "domain/{{ config['domain_id'] }}/link_clicks" + clicks: + "$schema": http://json-schema.org/draft-07/schema# + type: object + default_cursor_field: + - dt + additionalProperties: true + properties: + host: + type: + - "null" + - string + path: + type: + - "null" + - string + method: + type: + - "null" + - string + url: + type: + - "null" + - string + dt: + type: + - "null" + - string + format: date-time + st: + type: + - "null" + - integer + ip: + type: + - "null" + - string + proto: + type: + - "null" + - string + ref: + type: + - "null" + - string + ua: + type: + - "null" + - string + human: + type: + - "null" + - boolean + browser: + type: + - "null" + - string + browser_version: + type: + - "null" + - string + country: + type: + - "null" + - string + city: + type: + - "null" + - string + social: + type: + - "null" + - string + refhost: + type: + - "null" + - string + os: + type: + - "null" + - string + utm_source: + type: + - "null" + - string + utm_medium: + type: + - "null" + - string + utm_campaign: + type: + - "null" + - string + goal_completed: + type: + - "null" + - string + ab_path: + type: + - "null" + - string + lcpath: + type: + - "null" + - string streams: - - "#/definitions/links_stream" - - "#/definitions/clicks_stream" + - $ref: "#/definitions/links_stream" + - $ref: "#/definitions/clicks_stream" check: type: CheckStream stream_names: - "links" - "clicks" + +spec: + type: Spec + documentation_url: https://docs.airbyte.com/integrations/sources/shortio/ + connection_specification: + $schema: http://json-schema.org/draft-07/schema# + title: Shortio Spec + type: object + additionalProperties: true + required: + - domain_id + - secret_key + - start_date + properties: + domain_id: + type: string + desciprtion: Short.io Domain ID + title: Domain ID + airbyte_secret: false + secret_key: + type: string + title: Secret Key + description: Short.io Secret Key + airbyte_secret: true + start_date: + type: string + title: Start Date + description: + UTC date and time in the format 2017-01-25T00:00:00Z. Any data + before this date will not be replicated. + examples: + - "2023-07-30T03:43:59.244Z" + airbyte_secret: false diff --git a/airbyte-integrations/connectors/source-shortio/source_shortio/schemas/clicks.json b/airbyte-integrations/connectors/source-shortio/source_shortio/schemas/clicks.json deleted file mode 100644 index f1d34afa1540..000000000000 --- a/airbyte-integrations/connectors/source-shortio/source_shortio/schemas/clicks.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "default_cursor_field": ["dt"], - "additionalProperties": true, - "properties": { - "host": { - "type": ["null", "string"] - }, - "path": { - "type": ["null", "string"] - }, - "method": { - "type": ["null", "string"] - }, - "url": { - "type": ["null", "string"] - }, - "dt": { - "type": ["null", "string"], - "format": "date-time" - }, - "st": { - "type": ["null", "integer"] - }, - "ip": { - "type": ["null", "string"] - }, - "proto": { - "type": ["null", "string"] - }, - "ref": { - "type": ["null", "string"] - }, - "ua": { - "type": ["null", "string"] - }, - "human": { - "type": ["null", "boolean"] - }, - "browser": { - "type": ["null", "string"] - }, - "browser_version": { - "type": ["null", "string"] - }, - "country": { - "type": ["null", "string"] - }, - "city": { - "type": ["null", "string"] - }, - "social": { - "type": ["null", "string"] - }, - "refhost": { - "type": ["null", "string"] - }, - "os": { - "type": ["null", "string"] - }, - "utm_source": { - "type": ["null", "string"] - }, - "utm_medium": { - "type": ["null", "string"] - }, - "utm_campaign": { - "type": ["null", "string"] - }, - "goal_completed": { - "type": ["null", "string"] - }, - "ab_path": { - "type": ["null", "string"] - }, - "lcpath": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-shortio/source_shortio/schemas/links.json b/airbyte-integrations/connectors/source-shortio/source_shortio/schemas/links.json deleted file mode 100644 index 7a760d599524..000000000000 --- a/airbyte-integrations/connectors/source-shortio/source_shortio/schemas/links.json +++ /dev/null @@ -1,164 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "additionalProperties": true, - "properties": { - "lcpath": { - "type": ["null", "string"] - }, - "passwordContact": { - "type": ["null", "boolean"] - }, - "hasPassword": { - "type": ["null", "boolean"] - }, - "OwnerId": { - "type": ["null", "integer"] - }, - "id": { - "type": ["null", "string"] - }, - "path": { - "type": ["null", "string"] - }, - "title": { - "type": ["null", "string"] - }, - "icon": { - "type": ["null", "string"] - }, - "archived": { - "type": ["null", "boolean"] - }, - "originalURL": { - "type": "string" - }, - "iphoneURL": { - "type": ["null", "string"] - }, - "androidURL": { - "type": ["null", "string"] - }, - "password": { - "type": ["null", "string"] - }, - "utmSource": { - "type": ["null", "string"] - }, - "utmMedium": { - "type": ["null", "string"] - }, - "utmCampaign": { - "type": ["null", "string"] - }, - "utmCampaignId": { - "type": ["null", "string"] - }, - "utmTerm": { - "type": ["null", "string"] - }, - "utmContent": { - "type": ["null", "string"] - }, - "splitURL": { - "type": ["null", "string"] - }, - "splitPercent": { - "type": ["null", "string"] - }, - "expiresAt": { - "type": ["null", "string"] - }, - "expiredURL": { - "type": ["null", "string"] - }, - "redirectType": { - "type": ["null", "string"] - }, - "clicksLimit": { - "type": ["null", "string"] - }, - "cloaking": { - "type": ["null", "boolean"] - }, - "source": { - "type": ["null", "string"] - }, - "integrationGA": { - "type": ["null", "string"] - }, - "integrationFB": { - "type": ["null", "string"] - }, - "integrationAdroll": { - "type": ["null", "string"] - }, - "integrationGTM": { - "type": ["null", "string"] - }, - "AutodeletedAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "DomainId": { - "type": "integer" - }, - "Owner": { - "type": ["null", "object"], - "properties": { - "id": { - "type": "integer" - }, - "name": { - "type": ["null", "string"] - }, - "email": { - "type": ["null", "string"] - }, - "photoURL": { - "type": ["null", "string"] - } - } - }, - "tags": { - "type": ["null", "array"], - "items": { - "type": "string" - } - }, - "secureShortURL": { - "type": ["null", "string"] - }, - "idString": { - "type": "string" - }, - "shortURL": { - "type": "string" - }, - "User": { - "type": ["null", "object"], - "properties": { - "id": { - "type": "integer" - }, - "name": { - "type": ["null", "string"] - }, - "email": { - "type": ["null", "string"] - }, - "photoURL": { - "type": ["null", "string"] - } - } - } - } -} diff --git a/airbyte-integrations/connectors/source-shortio/source_shortio/spec.yaml b/airbyte-integrations/connectors/source-shortio/source_shortio/spec.yaml deleted file mode 100644 index 09596cd87c36..000000000000 --- a/airbyte-integrations/connectors/source-shortio/source_shortio/spec.yaml +++ /dev/null @@ -1,30 +0,0 @@ -documentationUrl: https://docs.airbyte.com/integrations/sources/shortio/ -connectionSpecification: - $schema: http://json-schema.org/draft-07/schema# - title: Shortio Spec - type: object - additionalProperties: true - required: - - domain_id - - secret_key - - start_date - properties: - domain_id: - type: string - desciprtion: Short.io Domain ID - title: Domain ID - airbyte_secret: false - secret_key: - type: string - title: Secret Key - description: Short.io Secret Key - airbyte_secret: true - start_date: - type: string - title: Start Date - description: - UTC date and time in the format 2017-01-25T00:00:00Z. Any data - before this date will not be replicated. - examples: - - "2023-07-30T03:43:59.244Z" - airbyte_secret: false diff --git a/airbyte-integrations/connectors/source-square/metadata.yaml b/airbyte-integrations/connectors/source-square/metadata.yaml index f3564bf99f92..7665210737f6 100644 --- a/airbyte-integrations/connectors/source-square/metadata.yaml +++ b/airbyte-integrations/connectors/source-square/metadata.yaml @@ -11,7 +11,7 @@ data: connectorSubtype: api connectorType: source definitionId: 77225a51-cd15-4a13-af02-65816bd0ecf4 - dockerImageTag: 1.6.2 + dockerImageTag: 1.6.3 dockerRepository: airbyte/source-square documentationUrl: https://docs.airbyte.com/integrations/sources/square githubIssueLabel: source-square diff --git a/airbyte-integrations/connectors/source-square/pyproject.toml b/airbyte-integrations/connectors/source-square/pyproject.toml index 368073a3e6b4..3464797c2edd 100644 --- a/airbyte-integrations/connectors/source-square/pyproject.toml +++ b/airbyte-integrations/connectors/source-square/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "1.6.2" +version = "1.6.3" name = "source-square" description = "Source implementation for Square." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-square/source_square/manifest.yaml b/airbyte-integrations/connectors/source-square/source_square/manifest.yaml index f32c8ec2293c..f2c981c7915b 100644 --- a/airbyte-integrations/connectors/source-square/source_square/manifest.yaml +++ b/airbyte-integrations/connectors/source-square/source_square/manifest.yaml @@ -1,9 +1,6 @@ version: "0.81.4" definitions: - schema_loader: - type: JsonFileSchemaLoader - file_path: "./source_square/schemas/{{ parameters['name'] }}.json" oauth_authenticator: type: OAuthAuthenticator token_refresh_endpoint: https://connect.squareup.com/oauth2/token @@ -20,7 +17,9 @@ definitions: field_path: ["{{ parameters['name'] }}"] requester: - url_base: "{{ 'https://connect.squareupsandbox.com/v2' if config['is_sandbox'] else 'https://connect.squareup.com/v2' }}" + url_base: + "{{ 'https://connect.squareupsandbox.com/v2' if config['is_sandbox'] + else 'https://connect.squareup.com/v2' }}" http_method: "GET" authenticator: type: SelectiveAuthenticator @@ -31,6 +30,29 @@ definitions: request_headers: Square-Version: "2022-10-19" Content-Type: "application/json" + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + backoff_strategies: + - type: "ConstantBackoffStrategy" + backoff_time_in_seconds: 30 + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 404 + - 403 + - type: HttpResponseFilter + action: FAIL + http_codes: + - 401 + error_message: Failed to authorize request. Please update your access token to continue using the source. + - type: HttpResponseFilter + action: RETRY + http_codes: + - 429 + retriever: record_selector: $ref: "#/definitions/selector" @@ -60,7 +82,9 @@ definitions: incremental_sync: type: DatetimeBasedCursor start_datetime: - datetime: "{{ format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%S.%fZ') }}" + datetime: + "{{ format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%S.%fZ') + }}" datetime_format: "%Y-%m-%dT%H:%M:%S.%fZ" end_datetime: datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%S.%fZ') }}" @@ -104,7 +128,9 @@ definitions: incremental_sync: type: DatetimeBasedCursor start_datetime: - datetime: "{{ format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%S.%fZ') }}" + datetime: + "{{ format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%S.%fZ') + }}" datetime_format: "%Y-%m-%dT%H:%M:%S.%fZ" end_datetime: datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%S.%fZ') }}" @@ -166,6 +192,149 @@ definitions: sort_order: ASC sort_field: CREATED_AT + schema_loader: + type: InlineSchemaLoader + schema: + type: object + properties: + id: + type: + - "null" + - string + created_at: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + cards: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + id: + type: + - "null" + - string + card_brand: + type: + - "null" + - string + last_4: + type: + - "null" + - string + exp_month: + type: + - "null" + - integer + exp_year: + type: + - "null" + - integer + cardholder_name: + type: + - "null" + - string + billing_address: + type: + - "null" + - object + properties: + postal_code: + type: + - "null" + - string + given_name: + type: + - "null" + - string + family_name: + type: + - "null" + - string + email_address: + type: + - "null" + - string + address: + type: + - "null" + - object + properties: + address_line_1: + type: + - "null" + - string + address_line_2: + type: + - "null" + - string + locality: + type: + - "null" + - string + administrative_district_level_1: + type: + - "null" + - string + postal_code: + type: + - "null" + - string + phone_number: + type: + - "null" + - string + reference_id: + type: + - "null" + - string + company_name: + type: + - "null" + - string + preferences: + type: + - "null" + - object + properties: + email_unsubscribed: + type: boolean + creation_source: + type: + - "null" + - string + birthday: + type: + - "null" + - string + segment_ids: + type: + - "null" + - array + items: + type: + - "null" + - string + group_ids: + type: + - "null" + - array + items: + type: + - "null" + - string + version: + type: + - "null" + - integer shifts_stream: $ref: "#/definitions/base_stream_page_json_limit" $parameters: @@ -181,6 +350,114 @@ definitions: inject_into: "body_json" field_name: "limit" + schema_loader: + type: InlineSchemaLoader + schema: + type: object + properties: + id: + type: + - "null" + - string + employee_id: + type: + - "null" + - string + location_id: + type: + - "null" + - string + timezone: + type: + - "null" + - string + start_at: + type: + - "null" + - string + end_at: + type: + - "null" + - string + wage: + type: + - "null" + - object + properties: + title: + type: + - "null" + - string + hourly_rate: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + breaks: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + id: + type: + - "null" + - string + start_at: + type: + - "null" + - string + end_at: + type: + - "null" + - string + break_type_id: + type: + - "null" + - string + name: + type: + - "null" + - string + expected_duration: + type: + - "null" + - string + is_paid: + type: + - "null" + - boolean + status: + type: + - "null" + - string + version: + type: + - "null" + - integer + created_at: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + team_member_id: + type: + - "null" + - string team_members_stream: $ref: "#/definitions/base_stream_page_json_limit" $parameters: @@ -188,6 +465,60 @@ definitions: primary_key: "id" path: "/team-members/search" + schema_loader: + type: InlineSchemaLoader + schema: + type: object + properties: + id: + type: + - "null" + - string + is_owner: + type: + - "null" + - boolean + status: + type: + - "null" + - string + given_name: + type: + - "null" + - string + family_name: + type: + - "null" + - string + email_address: + type: + - "null" + - string + created_at: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + assigned_locations: + type: + - "null" + - object + properties: + assignment_type: + type: + - "null" + - string + reference_id: + type: + - "null" + - string + phone_number: + type: + - "null" + - string inventory_stream: $ref: "#/definitions/base_stream" $parameters: @@ -205,6 +536,38 @@ definitions: $ref: "#/definitions/selector" extractor: field_path: ["counts"] + schema_loader: + type: InlineSchemaLoader + schema: + $schema: http://json-schema.org/draft-07/schema# + title: Inventory Schema + additionalProperties: true + type: object + properties: + catalog_object_id: + type: + - string + - "null" + catalog_object_type: + type: + - string + - "null" + state: + type: + - string + - "null" + location_id: + type: + - string + - "null" + quantity: + type: + - string + - "null" + calculated_at: + type: + - string + - "null" team_member_wages_stream: $ref: "#/definitions/base_stream" @@ -222,6 +585,36 @@ definitions: paginator: pagination_strategy: page_size: 200 + schema_loader: + type: InlineSchemaLoader + schema: + type: object + properties: + id: + type: + - "null" + - string + team_member_id: + type: + - "null" + - string + title: + type: + - "null" + - string + hourly_rate: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string locations_stream: $ref: "#/definitions/base_stream" $parameters: @@ -229,6 +622,124 @@ definitions: primary_key: "id" path: "/locations" + schema_loader: + type: InlineSchemaLoader + schema: + type: object + properties: + id: + type: + - "null" + - string + name: + type: + - "null" + - string + address: + type: + - "null" + - object + properties: + address_line_1: + type: + - "null" + - string + locality: + type: + - "null" + - string + administrative_district_level_1: + type: + - "null" + - string + postal_code: + type: + - "null" + - string + country: + type: + - "null" + - string + timezone: + type: + - "null" + - string + capabilities: + type: + - "null" + - array + items: + type: + - "null" + - string + status: + type: + - "null" + - string + created_at: + type: + - "null" + - string + merchant_id: + type: + - "null" + - string + country: + type: + - "null" + - string + language_code: + type: + - "null" + - string + currency: + type: + - "null" + - string + phone_number: + type: + - "null" + - string + business_name: + type: + - "null" + - string + type: + type: + - "null" + - string + website_url: + type: + - "null" + - string + business_hours: + type: + - "null" + - object + business_email: + type: + - "null" + - string + description: + type: + - "null" + - string + twitter_username: + type: + - "null" + - string + instagram_username: + type: + - "null" + - string + facebook_url: + type: + - "null" + - string + mcc: + type: + - "null" + - string locations_partition_router: type: SubstreamPartitionRouter parent_stream_configs: @@ -254,6 +765,77 @@ definitions: $ref: "#/definitions/selector" extractor: field_path: ["cash_drawer_shifts"] + schema_loader: + type: InlineSchemaLoader + schema: + $schema: http://json-schema.org/draft-07/schema# + title: Cash Drawer Shifts Schema + additionalProperties: true + type: object + properties: + id: + type: + - string + - "null" + state: + type: + - string + - "null" + opened_at: + type: + - string + - "null" + ended_at: + type: + - string + - "null" + closed_at: + type: + - string + - "null" + description: + type: + - string + - "null" + opened_cash_money: + type: + - object + - "null" + properties: + amount: + type: + - number + - "null" + currency: + type: + - string + - "null" + expected_cash_money: + type: + - object + - "null" + properties: + amount: + type: + - number + - "null" + currency: + type: + - string + - "null" + closed_cash_money: + type: + - object + - "null" + properties: + amount: + type: + - number + - "null" + currency: + type: + - string + - "null" categories_stream: $ref: "#/definitions/base_catalog_objects_stream" @@ -262,6 +844,44 @@ definitions: object_type: "CATEGORY" path: "/catalog/search" + schema_loader: + type: InlineSchemaLoader + schema: + type: object + properties: + type: + type: + - "null" + - string + id: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + version: + type: + - "null" + - integer + is_deleted: + type: + - "null" + - boolean + present_at_all_locations: + type: + - "null" + - boolean + category_data: + type: + - "null" + - object + properties: + name: + type: + - "null" + - string items_stream: $ref: "#/definitions/base_catalog_objects_stream" $parameters: @@ -269,6 +889,247 @@ definitions: object_type: "ITEM" path: "/catalog/search" + schema_loader: + type: InlineSchemaLoader + schema: + type: object + properties: + type: + type: + - "null" + - string + id: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + version: + type: + - "null" + - integer + is_deleted: + type: + - "null" + - boolean + custom_attribute_values: + type: + - "null" + - object + present_at_all_locations: + type: + - "null" + - boolean + item_data: + type: + - "null" + - object + properties: + name: + type: + - "null" + - string + description: + type: + - "null" + - string + visibility: + type: + - "null" + - string + category_id: + type: + - "null" + - string + modifier_list_info: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + modifier_list_id: + type: + - "null" + - string + visibility: + type: + - "null" + - string + min_selected_modifiers: + type: + - "null" + - integer + max_selected_modifiers: + type: + - "null" + - integer + enabled: + type: + - "null" + - boolean + variations: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + id: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + version: + type: + - "null" + - integer + is_deleted: + type: + - "null" + - boolean + present_at_all_locations: + type: + - "null" + - boolean + item_variation_data: + type: + - "null" + - object + properties: + item_id: + type: + - "null" + - string + name: + type: + - "null" + - string + sku: + type: + - "null" + - string + ordinal: + type: + - "null" + - integer + pricing_type: + type: + - "null" + - string + price_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + location_overrides: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + location_id: + type: + - "null" + - string + track_inventory: + type: + - "null" + - boolean + item_option_values: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + item_option_id: + type: + - "null" + - string + item_option_value_id: + type: + - "null" + - string + present_at_location_ids: + type: + - "null" + - array + items: + type: + - "null" + - string + product_type: + type: + - "null" + - string + skip_modifier_screen: + type: + - "null" + - boolean + item_options: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + item_option_id: + type: + - "null" + - string + ecom_visibility: + type: + - "null" + - string + tax_ids: + type: + - "null" + - array + items: + type: + - "null" + - string + image_id: + type: + - "null" + - string + present_at_location_ids: + type: + - "null" + - array + items: + type: + - "null" + - string discounts_stream: $ref: "#/definitions/base_catalog_objects_stream" $parameters: @@ -276,6 +1137,85 @@ definitions: object_type: "DISCOUNT" path: "/catalog/search" + schema_loader: + type: InlineSchemaLoader + schema: + type: object + properties: + type: + type: + - "null" + - string + id: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + version: + type: + - "null" + - integer + is_deleted: + type: + - "null" + - boolean + present_at_all_locations: + type: + - "null" + - boolean + present_at_location_ids: + type: + - "null" + - array + items: + type: + - "null" + - string + discount_data: + type: + - "null" + - object + properties: + name: + type: + - "null" + - string + discount_type: + type: + - "null" + - string + percentage: + type: + - "null" + - string + application_method: + type: + - "null" + - string + modify_tax_basis: + type: + - "null" + - string + amount_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + pin_required: + type: + - "null" + - boolean taxes_stream: $ref: "#/definitions/base_catalog_objects_stream" $parameters: @@ -283,6 +1223,80 @@ definitions: object_type: "TAX" path: "/catalog/search" + schema_loader: + type: InlineSchemaLoader + schema: + type: object + properties: + type: + type: + - "null" + - string + id: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + version: + type: + - "null" + - integer + is_deleted: + type: + - "null" + - boolean + present_at_all_locations: + type: + - "null" + - boolean + tax_data: + type: + - "null" + - object + properties: + name: + type: + - "null" + - string + calculation_phase: + type: + - "null" + - string + inclusion_type: + type: + - "null" + - string + percentage: + type: + - "null" + - string + applies_to_custom_amounts: + type: + - "null" + - boolean + enabled: + type: + - "null" + - boolean + tax_type_id: + type: + - "null" + - string + tax_type_name: + type: + - "null" + - string + absent_at_location_ids: + type: + - "null" + - array + items: + type: + - "null" + - string modifier_list_stream: $ref: "#/definitions/base_catalog_objects_stream" $parameters: @@ -290,6 +1304,115 @@ definitions: object_type: "MODIFIER_LIST" path: "/catalog/search" + schema_loader: + type: InlineSchemaLoader + schema: + type: object + properties: + type: + type: + - "null" + - string + id: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + version: + type: + - "null" + - integer + is_deleted: + type: + - "null" + - boolean + present_at_all_locations: + type: + - "null" + - boolean + modifier_list_data: + type: + - "null" + - object + properties: + name: + type: + - "null" + - string + selection_type: + type: + - "null" + - string + modifiers: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + type: + type: + - "null" + - string + id: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + version: + type: + - "null" + - integer + is_deleted: + type: + - "null" + - boolean + present_at_all_locations: + type: + - "null" + - boolean + modifier_data: + type: + - "null" + - object + properties: + name: + type: + - "null" + - string + price_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + on_by_default: + type: + - "null" + - boolean + ordinal: + type: + - "null" + - integer + modifier_list_id: + type: + - "null" + - string refunds_stream: $ref: "#/definitions/base_incremental_stream" $parameters: @@ -299,6 +1422,89 @@ definitions: retriever: $ref: "#/definitions/base_incremental_stream/retriever" + schema_loader: + type: InlineSchemaLoader + schema: + type: object + properties: + id: + type: + - "null" + - string + status: + type: + - "null" + - string + amount_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + required: + - amount + - currency + payment_id: + type: + - "null" + - string + order_id: + type: + - "null" + - string + created_at: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + location_id: + type: + - "null" + - string + reason: + type: + - "null" + - string + processing_fee: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + effective_at: + type: + - "null" + - string + type: + type: + - "null" + - string + amount_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string payments_stream: $ref: "#/definitions/base_incremental_stream" $parameters: @@ -308,6 +1514,257 @@ definitions: retriever: $ref: "#/definitions/base_incremental_stream/retriever" + schema_loader: + type: InlineSchemaLoader + schema: + type: object + properties: + id: + type: + - "null" + - string + created_at: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + amount_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + customer_id: + type: + - "null" + - string + status: + type: + - "null" + - string + delay_duration: + type: + - "null" + - string + source_type: + type: + - "null" + - string + card_details: + type: + - "null" + - object + properties: + status: + type: + - "null" + - string + card: + type: + - "null" + - object + properties: + card_brand: + type: + - "null" + - string + last_4: + type: + - "null" + - string + exp_month: + type: + - "null" + - integer + exp_year: + type: + - "null" + - integer + fingerprint: + type: + - "null" + - string + card_type: + type: + - "null" + - string + prepaid_type: + type: + - "null" + - string + bin: + type: + - "null" + - string + entry_method: + type: + - "null" + - string + cvv_status: + type: + - "null" + - string + avs_status: + type: + - "null" + - string + statement_description: + type: + - "null" + - string + card_payment_timeline: + type: + - "null" + - object + properties: + authorized_at: + type: + - "null" + - string + captured_at: + type: + - "null" + - string + voided_at: + type: + - "null" + - string + location_id: + type: + - "null" + - string + order_id: + type: + - "null" + - string + risk_evaluation: + type: + - "null" + - object + properties: + created_at: + type: + - "null" + - string + risk_level: + type: + - "null" + - string + processing_fee: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + effective_at: + type: + - "null" + - string + type: + type: + - "null" + - string + amount_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + total_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + approved_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + receipt_number: + type: + - "null" + - string + receipt_url: + type: + - "null" + - string + delay_action: + type: + - "null" + - string + delayed_until: + type: + - "null" + - string + version_token: + type: + - "null" + - string + note: + type: + - "null" + - string + employee_id: + type: + - "null" + - string + refunded_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + refund_ids: + type: + - "null" + - array + items: + type: + - "null" + - string loyalty_stream: $ref: "#/definitions/base_stream" $parameters: @@ -325,6 +1782,59 @@ definitions: $ref: "#/definitions/selector" extractor: field_path: ["loyalty_accounts"] + schema_loader: + type: InlineSchemaLoader + schema: + $schema: http://json-schema.org/draft-07/schema# + title: Loyalty schema + type: object + additionalProperties: true + properties: + id: + type: + - string + - "null" + mapping: + type: + - object + - "null" + properties: + id: + type: + - string + - "null" + phone_number: + type: + - string + - "null" + created_at: + type: + - string + - "null" + program_id: + type: + - string + - "null" + balance: + type: + - number + - "null" + lifetime_points: + type: + - number + - "null" + customer_id: + type: + - string + - "null" + created_at: + type: + - string + - "null" + updated_at: + type: + - string + - "null" orders_stream: # ToDo: Improve the efficiency of this stream by grouping location IDs into batches of 10. @@ -336,7 +1846,9 @@ definitions: incremental_sync: type: DatetimeBasedCursor start_datetime: - datetime: "{{ format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%S.%fZ') }}" + datetime: + "{{ format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%S.%fZ') + }}" datetime_format: "%Y-%m-%dT%H:%M:%S.%fZ" step: P30D datetime_format: "%Y-%m-%dT%H:%M:%S.%fZ" @@ -364,6 +1876,1063 @@ definitions: parent_key: "id" partition_field: "location_ids" + schema_loader: + type: InlineSchemaLoader + schema: + type: object + properties: + id: + type: + - "null" + - string + location_id: + type: + - "null" + - string + customer_id: + type: + - "null" + - string + line_items: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + uid: + type: + - "null" + - string + catalog_object_id: + type: + - "null" + - string + quantity: + type: + - "null" + - string + name: + type: + - "null" + - string + variation_name: + type: + - "null" + - string + base_price_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + gross_sales_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + total_tax_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + total_discount_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + total_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + variation_total_price_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + item_type: + type: + - "null" + - string + modifiers: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + uid: + type: + - "null" + - string + base_price_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + total_price_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + name: + type: + - "null" + - string + catalog_object_id: + type: + - "null" + - string + applied_discounts: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + uid: + type: + - "null" + - string + discount_uid: + type: + - "null" + - string + applied_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + applied_taxes: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + uid: + type: + - "null" + - string + tax_uid: + type: + - "null" + - string + applied_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + note: + type: + - "null" + - string + fulfillments: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + uid: + type: + - "null" + - string + type: + type: + - "null" + - string + state: + type: + - "null" + - string + pickup_details: + type: + - "null" + - object + properties: + expires_at: + type: + - "null" + - string + pickup_at: + type: + - "null" + - string + note: + type: + - "null" + - string + placed_at: + type: + - "null" + - string + accepted_at: + type: + - "null" + - string + ready_at: + type: + - "null" + - string + schedule_type: + type: + - "null" + - string + recipient: + type: + - "null" + - object + properties: + display_name: + type: + - "null" + - string + phone_number: + type: + - "null" + - string + auto_complete_duration: + type: + - "null" + - string + picked_up_at: + type: + - "null" + - string + shipment_details: + type: + - "null" + - object + properties: + recipient: + type: + - "null" + - object + properties: + display_name: + type: + - "null" + - string + phone_number: + type: + - "null" + - string + address: + type: + - "null" + - object + properties: + address_line_1: + type: + - "null" + - string + locality: + type: + - "null" + - string + administrative_district_level_1: + type: + - "null" + - string + postal_code: + type: + - "null" + - string + carrier: + type: + - "null" + - string + tracking_number: + type: + - "null" + - string + placed_at: + type: + - "null" + - string + packaged_at: + type: + - "null" + - string + shipped_at: + type: + - "null" + - string + expected_shipped_at: + type: + - "null" + - string + in_progress_at: + type: + - "null" + - string + created_at: + type: + - "null" + - string + updated_at: + type: + - "null" + - string + state: + type: + - "null" + - string + version: + type: + - "null" + - integer + total_tax_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + total_discount_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + total_tip_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + total_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + closed_at: + type: + - "null" + - string + tenders: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + id: + type: + - "null" + - string + location_id: + type: + - "null" + - string + transaction_id: + type: + - "null" + - string + created_at: + type: + - "null" + - string + amount_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + type: + type: + - "null" + - string + card_details: + type: + - "null" + - object + properties: + status: + type: + - "null" + - string + card: + type: + - "null" + - object + properties: + card_brand: + type: + - "null" + - string + last_4: + type: + - "null" + - string + fingerprint: + type: + - "null" + - string + entry_method: + type: + - "null" + - string + payment_id: + type: + - "null" + - string + cash_details: + type: + - "null" + - object + properties: + buyer_tendered_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + change_back_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + note: + type: + - "null" + - string + total_service_charge_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + net_amounts: + type: + - "null" + - object + properties: + total_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + tax_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + discount_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + tip_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + service_charge_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + source: + type: + - "null" + - object + properties: + name: + type: + - "null" + - string + returns: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + uid: + type: + - "null" + - string + source_order_id: + type: + - "null" + - string + return_line_items: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + uid: + type: + - "null" + - string + quantity: + type: + - "null" + - string + item_type: + type: + - "null" + - string + base_price_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + variation_total_price_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + gross_return_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + total_tax_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + total_discount_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + total_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + return_amounts: + type: + - "null" + - object + properties: + total_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + tax_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + discount_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + tip_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + service_charge_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + refunds: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + id: + type: + - "null" + - string + location_id: + type: + - "null" + - string + transaction_id: + type: + - "null" + - string + tender_id: + type: + - "null" + - string + created_at: + type: + - "null" + - string + reason: + type: + - "null" + - string + amount_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + status: + type: + - "null" + - string + service_charges: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + uid: + type: + - "null" + - string + name: + type: + - "null" + - string + amount_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + applied_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + calculation_phase: + type: + - "null" + - string + taxable: + type: + - "null" + - boolean + total_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + total_tax_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + discounts: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + uid: + type: + - "null" + - string + name: + type: + - "null" + - string + percentage: + type: + - "null" + - string + applied_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + type: + type: + - "null" + - string + scope: + type: + - "null" + - string + taxes: + type: + - "null" + - array + items: + type: + - "null" + - object + properties: + uid: + type: + - "null" + - string + catalog_object_id: + type: + - "null" + - string + name: + type: + - "null" + - string + percentage: + type: + - "null" + - string + type: + type: + - "null" + - string + applied_money: + type: + - "null" + - object + properties: + amount: + type: + - "null" + - integer + currency: + type: + - "null" + - string + scope: + type: + - "null" + - string bank_accounts_stream: $ref: "#/definitions/base_stream" $parameters: @@ -371,6 +2940,65 @@ definitions: primary_key: "id" path: "/bank-accounts" + schema_loader: + type: InlineSchemaLoader + schema: + $schema: http://json-schema.org/draft-07/schema# + type: object + additionalProperties: true + properties: + id: + type: + - "null" + - string + account_number_suffix: + type: + - "null" + - string + country: + type: + - "null" + - string + currency: + type: + - "null" + - string + account_type: + type: + - "null" + - string + holder_name: + type: + - "null" + - string + primary_bank_identification_number: + type: + - "null" + - string + location_id: + type: + - "null" + - string + status: + type: + - "null" + - string + creditable: + type: + - "null" + - boolean + debitable: + type: + - "null" + - boolean + version: + type: + - "null" + - integer + bank_name: + type: + - "null" + - string streams: - "#/definitions/customers_stream" - "#/definitions/locations_stream" @@ -393,3 +3021,121 @@ streams: check: stream_names: - "locations" + +spec: + type: Spec + documentation_url: https://docs.airbyte.com/integrations/sources/square + connection_specification: + $schema: http://json-schema.org/draft-07/schema# + title: Square Spec + type: object + required: + - is_sandbox + additionalProperties: true + properties: + credentials: + title: Authentication + description: Choose how to authenticate to Square. + type: object + order: 0 + oneOf: + - title: Oauth authentication + type: object + required: + - auth_type + - client_id + - client_secret + - refresh_token + properties: + auth_type: + type: string + const: OAuth + order: 0 + client_id: + type: string + title: Client ID + description: The Square-issued ID of your application + airbyte_secret: true + client_secret: + type: string + title: Client Secret + description: The Square-issued application secret for your application + airbyte_secret: true + refresh_token: + title: Refresh Token + type: string + description: A refresh token generated using the above client ID and secret + airbyte_secret: true + - title: API key + type: object + required: + - auth_type + - api_key + properties: + auth_type: + type: string + const: API Key + order: 1 + api_key: + type: string + title: API key token + description: The API key for a Square application + airbyte_secret: true + is_sandbox: + type: boolean + description: Determines whether to use the sandbox or production environment. + title: Sandbox + default: false + order: 1 + start_date: + type: string + description: UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. If not set, all data will be replicated. + title: Start Date + default: "2021-01-01" + pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ + order: 2 + format: date + include_deleted_objects: + type: boolean + description: In some streams there is an option to include deleted objects (Items, Categories, Discounts, Taxes) + title: Include Deleted Objects + default: false + order: 3 + advanced_auth: + auth_flow_type: oauth2.0 + predicate_key: + - credentials + - auth_type + predicate_value: OAuth + oauth_config_specification: + complete_oauth_output_specification: + type: object + additionalProperties: false + properties: + refresh_token: + type: string + path_in_connector_config: + - credentials + - refresh_token + complete_oauth_server_input_specification: + type: object + additionalProperties: false + properties: + client_id: + type: string + client_secret: + type: string + complete_oauth_server_output_specification: + type: object + additionalProperties: false + properties: + client_id: + type: string + path_in_connector_config: + - credentials + - client_id + client_secret: + type: string + path_in_connector_config: + - credentials + - client_secret diff --git a/airbyte-integrations/connectors/source-square/source_square/schemas/TODO.md b/airbyte-integrations/connectors/source-square/source_square/schemas/TODO.md deleted file mode 100644 index 3bd4a64deb45..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/schemas/TODO.md +++ /dev/null @@ -1,19 +0,0 @@ -# TODO: Define your stream schemas - -Your connector must describe the schema of each stream it can output using [JSONSchema](https://json-schema.org). - -You can describe the schema of your streams using one `.json` file per stream. - -## Static schemas - -From the `square.yaml` configuration file, you read the `.json` files in the `schemas/` directory. You can refer to a schema in your configuration file using the `schema_loader` component's `file_path` field. For example: - -``` -schema_loader: - type: JsonSchema - file_path: "./source_square/schemas/customers.json" -``` - -Every stream specified in the configuration file should have a corresponding `.json` schema file. - -Delete this file once you're done. Or don't. Up to you :) diff --git a/airbyte-integrations/connectors/source-square/source_square/schemas/bank_accounts.json b/airbyte-integrations/connectors/source-square/source_square/schemas/bank_accounts.json deleted file mode 100644 index a8e1d1c8006e..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/schemas/bank_accounts.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": ["null", "string"] - }, - "account_number_suffix": { - "type": ["null", "string"] - }, - "country": { - "type": ["null", "string"] - }, - "currency": { - "type": ["null", "string"] - }, - "account_type": { - "type": ["null", "string"] - }, - "holder_name": { - "type": ["null", "string"] - }, - "primary_bank_identification_number": { - "type": ["null", "string"] - }, - "location_id": { - "type": ["null", "string"] - }, - "status": { - "type": ["null", "string"] - }, - "creditable": { - "type": ["null", "boolean"] - }, - "debitable": { - "type": ["null", "boolean"] - }, - "version": { - "type": ["null", "integer"] - }, - "bank_name": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-square/source_square/schemas/cash_drawers.json b/airbyte-integrations/connectors/source-square/source_square/schemas/cash_drawers.json deleted file mode 100644 index 2881cd872572..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/schemas/cash_drawers.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Cash Drawer Shifts Schema", - "additionalProperties": true, - "type": ["object", "null"], - "properties": { - "id": { - "type": ["string", "null"] - }, - "state": { - "type": ["string", "null"] - }, - "opened_at": { - "type": ["string", "null"] - }, - "ended_at": { - "type": ["string", "null"] - }, - "closed_at": { - "type": ["string", "null"] - }, - "description": { - "type": ["string", "null"] - }, - "opened_cash_money": { - "type": ["object", "null"], - "properties": { - "amount": { - "type": ["number", "null"] - }, - "currency": { - "type": ["string", "null"] - } - } - }, - "expected_cash_money": { - "type": ["object", "null"], - "properties": { - "amount": { - "type": ["number", "null"] - }, - "currency": { - "type": ["string", "null"] - } - } - }, - "closed_cash_money": { - "type": ["object", "null"], - "properties": { - "amount": { - "type": ["number", "null"] - }, - "currency": { - "type": ["string", "null"] - } - } - } - } -} diff --git a/airbyte-integrations/connectors/source-square/source_square/schemas/categories.json b/airbyte-integrations/connectors/source-square/source_square/schemas/categories.json deleted file mode 100644 index 0af06a07948b..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/schemas/categories.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "type": ["null", "object"], - "properties": { - "type": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"] - }, - "version": { - "type": ["null", "integer"] - }, - "is_deleted": { - "type": ["null", "boolean"] - }, - "present_at_all_locations": { - "type": ["null", "boolean"] - }, - "category_data": { - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - } - } - } - } -} diff --git a/airbyte-integrations/connectors/source-square/source_square/schemas/customers.json b/airbyte-integrations/connectors/source-square/source_square/schemas/customers.json deleted file mode 100644 index f4ed4d047424..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/schemas/customers.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "created_at": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"] - }, - "cards": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "card_brand": { - "type": ["null", "string"] - }, - "last_4": { - "type": ["null", "string"] - }, - "exp_month": { - "type": ["null", "integer"] - }, - "exp_year": { - "type": ["null", "integer"] - }, - "cardholder_name": { - "type": ["null", "string"] - }, - "billing_address": { - "type": ["null", "object"], - "properties": { - "postal_code": { - "type": ["null", "string"] - } - } - } - } - } - }, - "given_name": { - "type": ["null", "string"] - }, - "family_name": { - "type": ["null", "string"] - }, - "email_address": { - "type": ["null", "string"] - }, - "address": { - "type": ["null", "object"], - "properties": { - "address_line_1": { - "type": ["null", "string"] - }, - "address_line_2": { - "type": ["null", "string"] - }, - "locality": { - "type": ["null", "string"] - }, - "administrative_district_level_1": { - "type": ["null", "string"] - }, - "postal_code": { - "type": ["null", "string"] - } - } - }, - "phone_number": { - "type": ["null", "string"] - }, - "reference_id": { - "type": ["null", "string"] - }, - "company_name": { - "type": ["null", "string"] - }, - "preferences": { - "type": ["null", "object"], - "properties": { - "email_unsubscribed": { - "type": "boolean" - } - } - }, - "creation_source": { - "type": ["null", "string"] - }, - "birthday": { - "type": ["null", "string"] - }, - "segment_ids": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - }, - "group_ids": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - }, - "version": { - "type": ["null", "integer"] - } - } -} diff --git a/airbyte-integrations/connectors/source-square/source_square/schemas/discounts.json b/airbyte-integrations/connectors/source-square/source_square/schemas/discounts.json deleted file mode 100644 index d44e55aa8314..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/schemas/discounts.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "type": ["null", "object"], - "properties": { - "type": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"] - }, - "version": { - "type": ["null", "integer"] - }, - "is_deleted": { - "type": ["null", "boolean"] - }, - "present_at_all_locations": { - "type": ["null", "boolean"] - }, - "present_at_location_ids": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - }, - "discount_data": { - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - }, - "discount_type": { - "type": ["null", "string"] - }, - "percentage": { - "type": ["null", "string"] - }, - "application_method": { - "type": ["null", "string"] - }, - "modify_tax_basis": { - "type": ["null", "string"] - }, - "amount_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "pin_required": { - "type": ["null", "boolean"] - } - } - } - } -} diff --git a/airbyte-integrations/connectors/source-square/source_square/schemas/inventory.json b/airbyte-integrations/connectors/source-square/source_square/schemas/inventory.json deleted file mode 100644 index 275a6eace961..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/schemas/inventory.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Inventory Schema", - "additionalProperties": true, - "type": ["object", "null"], - "properties": { - "catalog_object_id": { - "type": ["string", "null"] - }, - "catalog_object_type": { - "type": ["string", "null"] - }, - "state": { - "type": ["string", "null"] - }, - "location_id": { - "type": ["string", "null"] - }, - "quantity": { - "type": ["string", "null"] - }, - "calculated_at": { - "type": ["string", "null"] - } - } -} diff --git a/airbyte-integrations/connectors/source-square/source_square/schemas/items.json b/airbyte-integrations/connectors/source-square/source_square/schemas/items.json deleted file mode 100644 index f1246c084604..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/schemas/items.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "type": ["null", "object"], - "properties": { - "type": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"] - }, - "version": { - "type": ["null", "integer"] - }, - "is_deleted": { - "type": ["null", "boolean"] - }, - "custom_attribute_values": { - "type": ["null", "object"] - }, - "present_at_all_locations": { - "type": ["null", "boolean"] - }, - "item_data": { - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - }, - "description": { - "type": ["null", "string"] - }, - "visibility": { - "type": ["null", "string"] - }, - "category_id": { - "type": ["null", "string"] - }, - "modifier_list_info": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "modifier_list_id": { - "type": ["null", "string"] - }, - "visibility": { - "type": ["null", "string"] - }, - "min_selected_modifiers": { - "type": ["null", "integer"] - }, - "max_selected_modifiers": { - "type": ["null", "integer"] - }, - "enabled": { - "type": ["null", "boolean"] - } - } - } - }, - "variations": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "type": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"] - }, - "version": { - "type": ["null", "integer"] - }, - "is_deleted": { - "type": ["null", "boolean"] - }, - "present_at_all_locations": { - "type": ["null", "boolean"] - }, - "item_variation_data": { - "type": ["null", "object"], - "properties": { - "item_id": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "sku": { - "type": ["null", "string"] - }, - "ordinal": { - "type": ["null", "integer"] - }, - "pricing_type": { - "type": ["null", "string"] - }, - "price_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "location_overrides": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "location_id": { - "type": ["null", "string"] - }, - "track_inventory": { - "type": ["null", "boolean"] - } - } - } - }, - "item_option_values": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "item_option_id": { - "type": ["null", "string"] - }, - "item_option_value_id": { - "type": ["null", "string"] - } - } - } - } - } - }, - "present_at_location_ids": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - } - } - } - }, - "product_type": { - "type": ["null", "string"] - }, - "skip_modifier_screen": { - "type": ["null", "boolean"] - }, - "item_options": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "item_option_id": { - "type": ["null", "string"] - } - } - } - }, - "ecom_visibility": { - "type": ["null", "string"] - }, - "tax_ids": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - } - } - }, - "image_id": { - "type": ["null", "string"] - }, - "present_at_location_ids": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - } - } -} diff --git a/airbyte-integrations/connectors/source-square/source_square/schemas/locations.json b/airbyte-integrations/connectors/source-square/source_square/schemas/locations.json deleted file mode 100644 index f7a3a7b742d9..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/schemas/locations.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "address": { - "type": ["null", "object"], - "properties": { - "address_line_1": { - "type": ["null", "string"] - }, - "locality": { - "type": ["null", "string"] - }, - "administrative_district_level_1": { - "type": ["null", "string"] - }, - "postal_code": { - "type": ["null", "string"] - }, - "country": { - "type": ["null", "string"] - } - } - }, - "timezone": { - "type": ["null", "string"] - }, - "capabilities": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - }, - "status": { - "type": ["null", "string"] - }, - "created_at": { - "type": ["null", "string"] - }, - "merchant_id": { - "type": ["null", "string"] - }, - "country": { - "type": ["null", "string"] - }, - "language_code": { - "type": ["null", "string"] - }, - "currency": { - "type": ["null", "string"] - }, - "phone_number": { - "type": ["null", "string"] - }, - "business_name": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "website_url": { - "type": ["null", "string"] - }, - "business_hours": { - "type": ["null", "object"] - }, - "business_email": { - "type": ["null", "string"] - }, - "description": { - "type": ["null", "string"] - }, - "twitter_username": { - "type": ["null", "string"] - }, - "instagram_username": { - "type": ["null", "string"] - }, - "facebook_url": { - "type": ["null", "string"] - }, - "mcc": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-square/source_square/schemas/loyalty.json b/airbyte-integrations/connectors/source-square/source_square/schemas/loyalty.json deleted file mode 100644 index d2c748842236..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/schemas/loyalty.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Loyalty schema", - "type": ["object", "null"], - "additionalProperties": true, - "properties": { - "id": { - "type": ["string", "null"] - }, - "mapping": { - "type": ["object", "null"], - "properties": { - "id": { - "type": ["string", "null"] - }, - "phone_number": { - "type": ["string", "null"] - }, - "created_at": { - "type": ["string", "null"] - } - } - }, - "program_id": { - "type": ["string", "null"] - }, - "balance": { - "type": ["number", "null"] - }, - "lifetime_points": { - "type": ["number", "null"] - }, - "customer_id": { - "type": ["string", "null"] - }, - "created_at": { - "type": ["string", "null"] - }, - "updated_at": { - "type": ["string", "null"] - } - } -} diff --git a/airbyte-integrations/connectors/source-square/source_square/schemas/modifier_list.json b/airbyte-integrations/connectors/source-square/source_square/schemas/modifier_list.json deleted file mode 100644 index d3b77200d5ae..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/schemas/modifier_list.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "type": ["null", "object"], - "properties": { - "type": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"] - }, - "version": { - "type": ["null", "integer"] - }, - "is_deleted": { - "type": ["null", "boolean"] - }, - "present_at_all_locations": { - "type": ["null", "boolean"] - }, - "modifier_list_data": { - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - }, - "selection_type": { - "type": ["null", "string"] - }, - "modifiers": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "type": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"] - }, - "version": { - "type": ["null", "integer"] - }, - "is_deleted": { - "type": ["null", "boolean"] - }, - "present_at_all_locations": { - "type": ["null", "boolean"] - }, - "modifier_data": { - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - }, - "price_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "on_by_default": { - "type": ["null", "boolean"] - }, - "ordinal": { - "type": ["null", "integer"] - }, - "modifier_list_id": { - "type": ["null", "string"] - } - } - } - } - } - } - } - } - } -} diff --git a/airbyte-integrations/connectors/source-square/source_square/schemas/orders.json b/airbyte-integrations/connectors/source-square/source_square/schemas/orders.json deleted file mode 100644 index 2cb7b1c6d895..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/schemas/orders.json +++ /dev/null @@ -1,874 +0,0 @@ -{ - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "location_id": { - "type": ["null", "string"] - }, - "customer_id": { - "type": ["null", "string"] - }, - "line_items": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "uid": { - "type": ["null", "string"] - }, - "catalog_object_id": { - "type": ["null", "string"] - }, - "quantity": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "variation_name": { - "type": ["null", "string"] - }, - "base_price_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "gross_sales_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "total_tax_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "total_discount_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "total_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "variation_total_price_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "item_type": { - "type": ["null", "string"] - }, - "modifiers": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "uid": { - "type": ["null", "string"] - }, - "base_price_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "total_price_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "name": { - "type": ["null", "string"] - }, - "catalog_object_id": { - "type": ["null", "string"] - } - } - } - }, - "applied_discounts": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "uid": { - "type": ["null", "string"] - }, - "discount_uid": { - "type": ["null", "string"] - }, - "applied_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - } - } - } - }, - "applied_taxes": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "uid": { - "type": ["null", "string"] - }, - "tax_uid": { - "type": ["null", "string"] - }, - "applied_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - } - } - } - }, - "note": { - "type": ["null", "string"] - } - } - } - }, - "fulfillments": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "uid": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "state": { - "type": ["null", "string"] - }, - "pickup_details": { - "type": ["null", "object"], - "properties": { - "expires_at": { - "type": ["null", "string"] - }, - "pickup_at": { - "type": ["null", "string"] - }, - "note": { - "type": ["null", "string"] - }, - "placed_at": { - "type": ["null", "string"] - }, - "accepted_at": { - "type": ["null", "string"] - }, - "ready_at": { - "type": ["null", "string"] - }, - "schedule_type": { - "type": ["null", "string"] - }, - "recipient": { - "type": ["null", "object"], - "properties": { - "display_name": { - "type": ["null", "string"] - }, - "phone_number": { - "type": ["null", "string"] - } - } - }, - "auto_complete_duration": { - "type": ["null", "string"] - }, - "picked_up_at": { - "type": ["null", "string"] - } - } - }, - "shipment_details": { - "type": ["null", "object"], - "properties": { - "recipient": { - "type": ["null", "object"], - "properties": { - "display_name": { - "type": ["null", "string"] - }, - "phone_number": { - "type": ["null", "string"] - }, - "address": { - "type": ["null", "object"], - "properties": { - "address_line_1": { - "type": ["null", "string"] - }, - "locality": { - "type": ["null", "string"] - }, - "administrative_district_level_1": { - "type": ["null", "string"] - }, - "postal_code": { - "type": ["null", "string"] - } - } - } - } - }, - "carrier": { - "type": ["null", "string"] - }, - "tracking_number": { - "type": ["null", "string"] - }, - "placed_at": { - "type": ["null", "string"] - }, - "packaged_at": { - "type": ["null", "string"] - }, - "shipped_at": { - "type": ["null", "string"] - }, - "expected_shipped_at": { - "type": ["null", "string"] - }, - "in_progress_at": { - "type": ["null", "string"] - } - } - } - } - } - }, - "created_at": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"] - }, - "state": { - "type": ["null", "string"] - }, - "version": { - "type": ["null", "integer"] - }, - "total_tax_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "total_discount_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "total_tip_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "total_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "closed_at": { - "type": ["null", "string"] - }, - "tenders": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "location_id": { - "type": ["null", "string"] - }, - "transaction_id": { - "type": ["null", "string"] - }, - "created_at": { - "type": ["null", "string"] - }, - "amount_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "type": { - "type": ["null", "string"] - }, - "card_details": { - "type": ["null", "object"], - "properties": { - "status": { - "type": ["null", "string"] - }, - "card": { - "type": ["null", "object"], - "properties": { - "card_brand": { - "type": ["null", "string"] - }, - "last_4": { - "type": ["null", "string"] - }, - "fingerprint": { - "type": ["null", "string"] - } - } - }, - "entry_method": { - "type": ["null", "string"] - } - } - }, - "payment_id": { - "type": ["null", "string"] - }, - "cash_details": { - "type": ["null", "object"], - "properties": { - "buyer_tendered_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "change_back_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - } - } - }, - "note": { - "type": ["null", "string"] - } - } - } - }, - "total_service_charge_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "net_amounts": { - "type": ["null", "object"], - "properties": { - "total_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "tax_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "discount_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "tip_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "service_charge_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - } - } - }, - "source": { - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - } - } - }, - "returns": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "uid": { - "type": ["null", "string"] - }, - "source_order_id": { - "type": ["null", "string"] - }, - "return_line_items": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "uid": { - "type": ["null", "string"] - }, - "quantity": { - "type": ["null", "string"] - }, - "item_type": { - "type": ["null", "string"] - }, - "base_price_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "variation_total_price_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "gross_return_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "total_tax_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "total_discount_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "total_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - } - } - } - } - } - } - }, - "return_amounts": { - "type": ["null", "object"], - "properties": { - "total_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "tax_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "discount_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "tip_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "service_charge_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - } - } - }, - "refunds": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "location_id": { - "type": ["null", "string"] - }, - "transaction_id": { - "type": ["null", "string"] - }, - "tender_id": { - "type": ["null", "string"] - }, - "created_at": { - "type": ["null", "string"] - }, - "reason": { - "type": ["null", "string"] - }, - "amount_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "status": { - "type": ["null", "string"] - } - } - } - }, - "service_charges": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "uid": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "amount_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "applied_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "calculation_phase": { - "type": ["null", "string"] - }, - "taxable": { - "type": ["null", "boolean"] - }, - "total_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "total_tax_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - } - } - } - }, - "discounts": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "uid": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "percentage": { - "type": ["null", "string"] - }, - "applied_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "type": { - "type": ["null", "string"] - }, - "scope": { - "type": ["null", "string"] - } - } - } - }, - "taxes": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "uid": { - "type": ["null", "string"] - }, - "catalog_object_id": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "percentage": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "applied_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "scope": { - "type": ["null", "string"] - } - } - } - } - } -} diff --git a/airbyte-integrations/connectors/source-square/source_square/schemas/payments.json b/airbyte-integrations/connectors/source-square/source_square/schemas/payments.json deleted file mode 100644 index ea3686e855e1..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/schemas/payments.json +++ /dev/null @@ -1,202 +0,0 @@ -{ - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "created_at": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"] - }, - "amount_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "customer_id": { - "type": ["null", "string"] - }, - "status": { - "type": ["null", "string"] - }, - "delay_duration": { - "type": ["null", "string"] - }, - "source_type": { - "type": ["null", "string"] - }, - "card_details": { - "type": ["null", "object"], - "properties": { - "status": { - "type": ["null", "string"] - }, - "card": { - "type": ["null", "object"], - "properties": { - "card_brand": { - "type": ["null", "string"] - }, - "last_4": { - "type": ["null", "string"] - }, - "exp_month": { - "type": ["null", "integer"] - }, - "exp_year": { - "type": ["null", "integer"] - }, - "fingerprint": { - "type": ["null", "string"] - }, - "card_type": { - "type": ["null", "string"] - }, - "prepaid_type": { - "type": ["null", "string"] - }, - "bin": { - "type": ["null", "string"] - } - } - }, - "entry_method": { - "type": ["null", "string"] - }, - "cvv_status": { - "type": ["null", "string"] - }, - "avs_status": { - "type": ["null", "string"] - }, - "statement_description": { - "type": ["null", "string"] - }, - "card_payment_timeline": { - "type": ["null", "object"], - "properties": { - "authorized_at": { - "type": ["null", "string"] - }, - "captured_at": { - "type": ["null", "string"] - }, - "voided_at": { - "type": ["null", "string"] - } - } - } - } - }, - "location_id": { - "type": ["null", "string"] - }, - "order_id": { - "type": ["null", "string"] - }, - "risk_evaluation": { - "type": ["null", "object"], - "properties": { - "created_at": { - "type": ["null", "string"] - }, - "risk_level": { - "type": ["null", "string"] - } - } - }, - "processing_fee": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "effective_at": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "amount_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - } - } - } - }, - "total_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "approved_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "receipt_number": { - "type": ["null", "string"] - }, - "receipt_url": { - "type": ["null", "string"] - }, - "delay_action": { - "type": ["null", "string"] - }, - "delayed_until": { - "type": ["null", "string"] - }, - "version_token": { - "type": ["null", "string"] - }, - "note": { - "type": ["null", "string"] - }, - "employee_id": { - "type": ["null", "string"] - }, - "refunded_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - }, - "refund_ids": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - } - } -} diff --git a/airbyte-integrations/connectors/source-square/source_square/schemas/refunds.json b/airbyte-integrations/connectors/source-square/source_square/schemas/refunds.json deleted file mode 100644 index 18b2c97819ff..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/schemas/refunds.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "status": { - "type": ["null", "string"] - }, - "amount_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - }, - "required": ["amount", "currency"] - }, - "payment_id": { - "type": ["null", "string"] - }, - "order_id": { - "type": ["null", "string"] - }, - "created_at": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"] - }, - "location_id": { - "type": ["null", "string"] - }, - "reason": { - "type": ["null", "string"] - }, - "processing_fee": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "effective_at": { - "type": ["null", "string"] - }, - "type": { - "type": ["null", "string"] - }, - "amount_money": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - } - } - } - } - } -} diff --git a/airbyte-integrations/connectors/source-square/source_square/schemas/shifts.json b/airbyte-integrations/connectors/source-square/source_square/schemas/shifts.json deleted file mode 100644 index 66f0c3af29cd..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/schemas/shifts.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "employee_id": { - "type": ["null", "string"] - }, - "location_id": { - "type": ["null", "string"] - }, - "timezone": { - "type": ["null", "string"] - }, - "start_at": { - "type": ["null", "string"] - }, - "end_at": { - "type": ["null", "string"] - }, - "wage": { - "type": ["null", "object"], - "properties": { - "title": { - "type": ["null", "string"] - }, - "hourly_rate": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - } - } - }, - "breaks": { - "type": ["null", "array"], - "items": { - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "start_at": { - "type": ["null", "string"] - }, - "end_at": { - "type": ["null", "string"] - }, - "break_type_id": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "expected_duration": { - "type": ["null", "string"] - }, - "is_paid": { - "type": ["null", "boolean"] - } - } - } - }, - "status": { - "type": ["null", "string"] - }, - "version": { - "type": ["null", "integer"] - }, - "created_at": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"] - }, - "team_member_id": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-square/source_square/schemas/taxes.json b/airbyte-integrations/connectors/source-square/source_square/schemas/taxes.json deleted file mode 100644 index 93ae1b32c29a..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/schemas/taxes.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "type": ["null", "object"], - "properties": { - "type": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"] - }, - "version": { - "type": ["null", "integer"] - }, - "is_deleted": { - "type": ["null", "boolean"] - }, - "present_at_all_locations": { - "type": ["null", "boolean"] - }, - "tax_data": { - "type": ["null", "object"], - "properties": { - "name": { - "type": ["null", "string"] - }, - "calculation_phase": { - "type": ["null", "string"] - }, - "inclusion_type": { - "type": ["null", "string"] - }, - "percentage": { - "type": ["null", "string"] - }, - "applies_to_custom_amounts": { - "type": ["null", "boolean"] - }, - "enabled": { - "type": ["null", "boolean"] - }, - "tax_type_id": { - "type": ["null", "string"] - }, - "tax_type_name": { - "type": ["null", "string"] - } - } - }, - "absent_at_location_ids": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - } - } -} diff --git a/airbyte-integrations/connectors/source-square/source_square/schemas/team_member_wages.json b/airbyte-integrations/connectors/source-square/source_square/schemas/team_member_wages.json deleted file mode 100644 index 300e5e81fae9..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/schemas/team_member_wages.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "team_member_id": { - "type": ["null", "string"] - }, - "title": { - "type": ["null", "string"] - }, - "hourly_rate": { - "type": ["null", "object"], - "properties": { - "amount": { - "type": ["null", "integer"] - }, - "currency": { - "type": ["null", "string"] - } - } - } - } -} diff --git a/airbyte-integrations/connectors/source-square/source_square/schemas/team_members.json b/airbyte-integrations/connectors/source-square/source_square/schemas/team_members.json deleted file mode 100644 index df47fbbd7776..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/schemas/team_members.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "type": ["null", "object"], - "properties": { - "id": { - "type": ["null", "string"] - }, - "is_owner": { - "type": ["null", "boolean"] - }, - "status": { - "type": ["null", "string"] - }, - "given_name": { - "type": ["null", "string"] - }, - "family_name": { - "type": ["null", "string"] - }, - "email_address": { - "type": ["null", "string"] - }, - "created_at": { - "type": ["null", "string"] - }, - "updated_at": { - "type": ["null", "string"] - }, - "assigned_locations": { - "type": ["null", "object"], - "properties": { - "assignment_type": { - "type": ["null", "string"] - } - } - }, - "reference_id": { - "type": ["null", "string"] - }, - "phone_number": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-square/source_square/spec.yaml b/airbyte-integrations/connectors/source-square/source_square/spec.yaml deleted file mode 100644 index afd0e28e7a82..000000000000 --- a/airbyte-integrations/connectors/source-square/source_square/spec.yaml +++ /dev/null @@ -1,115 +0,0 @@ -documentationUrl: https://docs.airbyte.com/integrations/sources/square -connectionSpecification: - $schema: http://json-schema.org/draft-07/schema# - title: Square Spec - type: object - required: - - is_sandbox - additionalProperties: true - properties: - credentials: - title: Authentication - description: Choose how to authenticate to Square. - type: object - order: 0 - oneOf: - - title: Oauth authentication - type: object - required: - - auth_type - - client_id - - client_secret - - refresh_token - properties: - auth_type: - type: string - const: OAuth - order: 0 - client_id: - type: string - title: Client ID - description: The Square-issued ID of your application - airbyte_secret: true - client_secret: - type: string - title: Client Secret - description: The Square-issued application secret for your application - airbyte_secret: true - refresh_token: - title: Refresh Token - type: string - description: A refresh token generated using the above client ID and secret - airbyte_secret: true - - title: API key - type: object - required: - - auth_type - - api_key - properties: - auth_type: - type: string - const: API Key - order: 1 - api_key: - type: string - title: API key token - description: The API key for a Square application - airbyte_secret: true - is_sandbox: - type: boolean - description: Determines whether to use the sandbox or production environment. - title: Sandbox - default: false - order: 1 - start_date: - type: string - description: UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. If not set, all data will be replicated. - title: Start Date - default: "2021-01-01" - pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ - order: 2 - format: date - include_deleted_objects: - type: boolean - description: In some streams there is an option to include deleted objects (Items, Categories, Discounts, Taxes) - title: Include Deleted Objects - default: false - order: 3 -advanced_auth: - auth_flow_type: oauth2.0 - predicate_key: - - credentials - - auth_type - predicate_value: OAuth - oauth_config_specification: - complete_oauth_output_specification: - type: object - additionalProperties: false - properties: - refresh_token: - type: string - path_in_connector_config: - - credentials - - refresh_token - complete_oauth_server_input_specification: - type: object - additionalProperties: false - properties: - client_id: - type: string - client_secret: - type: string - complete_oauth_server_output_specification: - type: object - additionalProperties: false - properties: - client_id: - type: string - path_in_connector_config: - - credentials - - client_id - client_secret: - type: string - path_in_connector_config: - - credentials - - client_secret diff --git a/airbyte-integrations/connectors/source-stripe/metadata.yaml b/airbyte-integrations/connectors/source-stripe/metadata.yaml index 11a02d086c4d..c2024f52b366 100644 --- a/airbyte-integrations/connectors/source-stripe/metadata.yaml +++ b/airbyte-integrations/connectors/source-stripe/metadata.yaml @@ -10,7 +10,7 @@ data: connectorSubtype: api connectorType: source definitionId: e094cb9a-26de-4645-8761-65c0c425d1de - dockerImageTag: 5.4.0 + dockerImageTag: 5.4.2 dockerRepository: airbyte/source-stripe documentationUrl: https://docs.airbyte.com/integrations/sources/stripe githubIssueLabel: source-stripe diff --git a/airbyte-integrations/connectors/source-stripe/pyproject.toml b/airbyte-integrations/connectors/source-stripe/pyproject.toml index e61fd1797402..a1e6666372f6 100644 --- a/airbyte-integrations/connectors/source-stripe/pyproject.toml +++ b/airbyte-integrations/connectors/source-stripe/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "5.4.0" +version = "5.4.2" name = "source-stripe" description = "Source implementation for Stripe." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-stripe/source_stripe/source.py b/airbyte-integrations/connectors/source-stripe/source_stripe/source.py index 64d892375904..78c7b016e315 100644 --- a/airbyte-integrations/connectors/source-stripe/source_stripe/source.py +++ b/airbyte-integrations/connectors/source-stripe/source_stripe/source.py @@ -232,9 +232,11 @@ def streams(self, config: MutableMapping[str, Any]) -> List[Stream]: use_cache=USE_CACHE, event_types=[ "invoice.created", + "invoice.deleted", "invoice.finalization_failed", "invoice.finalized", "invoice.marked_uncollectible", + "invoice.overdue", "invoice.paid", "invoice.payment_action_required", "invoice.payment_failed", @@ -242,7 +244,10 @@ def streams(self, config: MutableMapping[str, Any]) -> List[Stream]: "invoice.sent", "invoice.updated", "invoice.voided", - "invoice.deleted", + "invoice.will_be_due", + # the event type = "invoice.upcoming" doesn't contain the `primary_key = `id` field, + # thus isn't used, see the doc: https://docs.stripe.com/api/invoices/object#invoice_object-id + # reference issue: https://github.com/airbytehq/oncall/issues/5560 ], **args, ) @@ -373,7 +378,11 @@ def streams(self, config: MutableMapping[str, Any]) -> List[Stream]: name="invoice_items", path="invoiceitems", legacy_cursor_field="date", - event_types=["invoiceitem.created", "invoiceitem.updated", "invoiceitem.deleted"], + event_types=[ + "invoiceitem.created", + "invoiceitem.updated", + "invoiceitem.deleted", + ], **args, ), IncrementalStripeStream( diff --git a/airbyte-integrations/connectors/source-todoist/metadata.yaml b/airbyte-integrations/connectors/source-todoist/metadata.yaml index 00d48bd01186..a94f49008de7 100644 --- a/airbyte-integrations/connectors/source-todoist/metadata.yaml +++ b/airbyte-integrations/connectors/source-todoist/metadata.yaml @@ -19,7 +19,7 @@ data: connectorSubtype: api connectorType: source definitionId: 1a3d38e4-dc6b-4154-b56b-582f9e978ecd - dockerImageTag: 0.2.4 + dockerImageTag: 0.2.5 dockerRepository: airbyte/source-todoist githubIssueLabel: source-todoist icon: todoist.svg diff --git a/airbyte-integrations/connectors/source-todoist/pyproject.toml b/airbyte-integrations/connectors/source-todoist/pyproject.toml index 84766e7b0abf..a3bed868cc74 100644 --- a/airbyte-integrations/connectors/source-todoist/pyproject.toml +++ b/airbyte-integrations/connectors/source-todoist/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.2.4" +version = "0.2.5" name = "source-todoist" description = "Source implementation for Todoist." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-todoist/requirements.txt b/airbyte-integrations/connectors/source-todoist/requirements.txt deleted file mode 100644 index d6e1198b1ab1..000000000000 --- a/airbyte-integrations/connectors/source-todoist/requirements.txt +++ /dev/null @@ -1 +0,0 @@ --e . diff --git a/airbyte-integrations/connectors/source-todoist/source_todoist/manifest.yaml b/airbyte-integrations/connectors/source-todoist/source_todoist/manifest.yaml index 6fd676fcc5b2..f42959a3dfa0 100644 --- a/airbyte-integrations/connectors/source-todoist/source_todoist/manifest.yaml +++ b/airbyte-integrations/connectors/source-todoist/source_todoist/manifest.yaml @@ -1,255 +1,267 @@ -version: "0.29.0" +version: 0.79.1 + +type: DeclarativeSource + +check: + type: CheckStream + stream_names: + - tasks + - projects definitions: - selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: [] - requester: + streams: + tasks: + type: DeclarativeStream + name: tasks + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /tasks + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/tasks" + projects: + type: DeclarativeStream + name: projects + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /projects + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/projects" + base_requester: type: HttpRequester - url_base: "https://api.todoist.com/rest/v2" - http_method: "GET" + url_base: https://api.todoist.com/rest/v2 authenticator: type: BearerAuthenticator api_token: "{{ config['token'] }}" - retriever: - type: SimpleRetriever - record_selector: - $ref: "#/definitions/selector" - paginator: - type: NoPagination - requester: - $ref: "#/definitions/requester" - base_stream: - type: DeclarativeStream - retriever: - $ref: "#/definitions/retriever" - tasks_stream: - $ref: "#/definitions/base_stream" - name: "tasks" - $parameters: - path: "/tasks" - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-07/schema# - additionalProperties: true - type: object - properties: - assignee_id: - description: The unique identifier of the user assigned to the task - type: - - "null" - - string - assigner_id: - description: The unique identifier of the user who assigned the task - type: - - "null" - - string - comment_count: - description: The count of comments on the task - type: - - "null" - - integer - content: - description: The title or description of the task - type: - - "null" - - string - created_at: - description: The date and time when the task was created - type: - - "null" - - string - creator_id: - description: The unique identifier of the user who created the task - type: - - "null" - - string - description: - description: Additional details or notes about the task - type: - - "null" - - string - due: - description: The due date and time of the task - anyOf: - - type: - - "null" - - object - - properties: - date: - type: - - "null" - - string - is_recurring: - type: - - "null" - - boolean - lang: - type: - - "null" - - string - string: - type: - - "null" - - string - type: - - "null" - - object - id: - description: The unique identifier of the task - type: - - "null" - - string - duration: - description: The estimated duration or time required to complete the task - type: - - "null" - - string - is_completed: - description: Indicates whether the task is completed or not (true/false) - type: - - "null" - - boolean - labels: - description: List of labels associated with the task - type: - - "null" - - array - items: - type: - - "null" - - string - order: - description: The position or order of the task within a project or section - type: - - "null" - - integer - parent_id: - description: - The unique identifier of the parent task if this task is - subtask - type: - - "null" - - string - priority: - description: The priority level of the task (e.g., high, medium, low) - type: - - "null" - - integer - project_id: - description: The unique identifier of the project to which the task belongs - type: - - "null" - - string - section_id: - description: - The unique identifier of the section within a project where - the task is located - type: - - "null" - - string - url: - description: The URL link to view the task details - type: - - "null" - - string - projects_stream: - $ref: "#/definitions/base_stream" - name: "projects" - $parameters: - path: "/projects" - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/schema# - additionalProperties: true - type: object - properties: - color: - description: The color associated with the project. - type: - - "null" - - string - comment_count: - description: The number of comments on the project. - type: - - "null" - - integer - id: - description: The unique identifier for the project. - type: - - "null" - - string - is_favorite: - description: Indicates if the project is marked as favorite. - type: - - "null" - - boolean - is_inbox_project: - description: Specifies if the project is the inbox project. - type: - - "null" - - boolean - is_shared: - description: Indicates if the project is shared with others. - type: - - "null" - - boolean - is_team_inbox: - description: Specifies if the project is a team inbox. - type: - - "null" - - boolean - name: - description: The name or title of the project. - type: - - "null" - - string - order: - description: The order or priority of the project in the list. - type: - - "null" - - integer - parent_id: - description: The ID of the parent project if this is a subproject. - type: - - "null" - - string - url: - description: The URL for accessing the project. - type: - - "null" - - string - view_style: - description: The style or layout for viewing the project. - type: - - "null" - - string streams: - - "#/definitions/tasks_stream" - - "#/definitions/projects_stream" - -check: - type: CheckStream - stream_names: - - "tasks" - - "projects" + - $ref: "#/definitions/streams/tasks" + - $ref: "#/definitions/streams/projects" spec: type: Spec - documentation_url: https://docs.airbyte.com/integrations/sources/source-todolist connection_specification: - title: Source Todolist Spec type: object + $schema: http://json-schema.org/draft-07/schema# required: - token - additionalProperties: true properties: token: type: string description: API authorization bearer token for authenticating the API airbyte_secret: true + order: 0 + additionalProperties: true + +metadata: + autoImportSchema: + tasks: false + projects: false + +schemas: + tasks: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + assignee_id: + type: + - "null" + - string + description: The unique identifier of the user assigned to the task + assigner_id: + type: + - "null" + - string + description: The unique identifier of the user who assigned the task + comment_count: + type: + - "null" + - integer + description: The count of comments on the task + content: + type: + - "null" + - string + description: The title or description of the task + created_at: + type: + - "null" + - string + description: The date and time when the task was created + creator_id: + type: + - "null" + - string + description: The unique identifier of the user who created the task + description: + type: + - "null" + - string + description: Additional details or notes about the task + due: + anyOf: + - type: + - "null" + - object + - type: + - "null" + - object + properties: + date: + type: + - "null" + - string + is_recurring: + type: + - "null" + - boolean + lang: + type: + - "null" + - string + string: + type: + - "null" + - string + description: The due date and time of the task + duration: + type: + - "null" + - string + description: The estimated duration or time required to complete the task + id: + type: + - "null" + - string + description: The unique identifier of the task + is_completed: + type: + - "null" + - boolean + description: Indicates whether the task is completed or not (true/false) + labels: + type: + - "null" + - array + description: List of labels associated with the task + items: + type: + - "null" + - string + order: + type: + - "null" + - integer + description: The position or order of the task within a project or section + parent_id: + type: + - "null" + - string + description: The unique identifier of the parent task if this task is subtask + priority: + type: + - "null" + - integer + description: The priority level of the task (e.g., high, medium, low) + project_id: + type: + - "null" + - string + description: The unique identifier of the project to which the task belongs + section_id: + type: + - "null" + - string + description: >- + The unique identifier of the section within a project where the task + is located + url: + type: + - "null" + - string + description: The URL link to view the task details + projects: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + color: + type: + - "null" + - string + description: The color associated with the project. + comment_count: + type: + - "null" + - integer + description: The number of comments on the project. + id: + type: + - "null" + - string + description: The unique identifier for the project. + is_favorite: + type: + - "null" + - boolean + description: Indicates if the project is marked as favorite. + is_inbox_project: + type: + - "null" + - boolean + description: Specifies if the project is the inbox project. + is_shared: + type: + - "null" + - boolean + description: Indicates if the project is shared with others. + is_team_inbox: + type: + - "null" + - boolean + description: Specifies if the project is a team inbox. + name: + type: + - "null" + - string + description: The name or title of the project. + order: + type: + - "null" + - integer + description: The order or priority of the project in the list. + parent_id: + type: + - "null" + - string + description: The ID of the parent project if this is a subproject. + url: + type: + - "null" + - string + description: The URL for accessing the project. + view_style: + type: + - "null" + - string + description: The style or layout for viewing the project. diff --git a/airbyte-integrations/connectors/source-todoist/source_todoist/schemas/employees.json b/airbyte-integrations/connectors/source-todoist/source_todoist/schemas/employees.json deleted file mode 100644 index b567bd8a5ddc..000000000000 --- a/airbyte-integrations/connectors/source-todoist/source_todoist/schemas/employees.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": true, - "type": "object", - "properties": { - "assignee_id": { - "description": "The ID of the user assigned to the task", - "type": ["null", "string"] - }, - "assigner_id": { - "description": "The ID of the user who assigned the task", - "type": ["null", "string"] - }, - "comment_count": { - "description": "The total number of comments on the task", - "type": ["null", "integer"] - }, - "content": { - "description": "The title or content of the task", - "type": ["null", "string"] - }, - "created_at": { - "description": "The timestamp of when the task was created", - "type": ["null", "string"] - }, - "creator_id": { - "description": "The ID of the user who created the task", - "type": ["null", "string"] - }, - "description": { - "description": "Additional details or notes about the task", - "type": ["null", "string"] - }, - "due": { - "description": "The due date/time of the task", - "anyOf": [ - { - "type": ["null", "object"] - }, - { - "properties": { - "date": { - "type": ["null", "string"] - }, - "is_recurring": { - "type": ["null", "boolean"] - }, - "lang": { - "type": ["null", "string"] - }, - "string": { - "type": ["null", "string"] - } - }, - "type": ["null", "object"] - } - ] - }, - "id": { - "description": "The unique identifier of the task", - "type": ["null", "string"] - }, - "is_completed": { - "description": "Flag indicating if the task is completed or not", - "type": ["null", "boolean"] - }, - "labels": { - "description": "List of labels associated with the task", - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - }, - "order": { - "description": "The order or position of the task within a project or section", - "type": ["null", "integer"] - }, - "parent_id": { - "description": "The ID of the parent task if the task is a subtask", - "type": ["null", "string"] - }, - "priority": { - "description": "The priority level of the task", - "type": ["null", "integer"] - }, - "project_id": { - "description": "The ID of the project to which the task belongs", - "type": ["null", "string"] - }, - "section_id": { - "description": "The ID of the section within a project in which the task is located", - "type": ["null", "string"] - }, - "url": { - "description": "The URL link to view the task", - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-twilio-taskrouter/metadata.yaml b/airbyte-integrations/connectors/source-twilio-taskrouter/metadata.yaml index 312a7363d8a9..13dc3b67bd76 100644 --- a/airbyte-integrations/connectors/source-twilio-taskrouter/metadata.yaml +++ b/airbyte-integrations/connectors/source-twilio-taskrouter/metadata.yaml @@ -7,7 +7,7 @@ data: connectorSubtype: api connectorType: source definitionId: 2446953b-b794-429b-a9b3-c821ba992a48 - dockerImageTag: 0.1.4 + dockerImageTag: 0.1.5 dockerRepository: airbyte/source-twilio-taskrouter documentationUrl: https://docs.airbyte.com/integrations/sources/twilio-taskrouter githubIssueLabel: source-twilio-taskrouter diff --git a/airbyte-integrations/connectors/source-twilio-taskrouter/pyproject.toml b/airbyte-integrations/connectors/source-twilio-taskrouter/pyproject.toml index a9ad43756195..f7d959828c4f 100644 --- a/airbyte-integrations/connectors/source-twilio-taskrouter/pyproject.toml +++ b/airbyte-integrations/connectors/source-twilio-taskrouter/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.1.4" +version = "0.1.5" name = "source-twilio-taskrouter" description = "Source implementation for Twilio Taskrouter." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-twilio-taskrouter/requirements.txt b/airbyte-integrations/connectors/source-twilio-taskrouter/requirements.txt deleted file mode 100644 index d6e1198b1ab1..000000000000 --- a/airbyte-integrations/connectors/source-twilio-taskrouter/requirements.txt +++ /dev/null @@ -1 +0,0 @@ --e . diff --git a/airbyte-integrations/connectors/source-twilio-taskrouter/source_twilio_taskrouter/manifest.yaml b/airbyte-integrations/connectors/source-twilio-taskrouter/source_twilio_taskrouter/manifest.yaml index a9a0596baac7..aeab7f276598 100644 --- a/airbyte-integrations/connectors/source-twilio-taskrouter/source_twilio_taskrouter/manifest.yaml +++ b/airbyte-integrations/connectors/source-twilio-taskrouter/source_twilio_taskrouter/manifest.yaml @@ -1,234 +1,276 @@ -version: "0.29.0" +version: 0.79.1 + +type: DeclarativeSource + +check: + type: CheckStream + stream_names: + - workspaces definitions: - selector: - extractor: - field_path: - - "{{ parameters['name'] }}" - requester: - url_base: "https://taskrouter.twilio.com" - http_method: "GET" + streams: + workspaces: + type: DeclarativeStream + name: workspaces + primary_key: + - sid + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /v1/Workspaces + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - workspaces + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: PageSize + pagination_strategy: + type: CursorPagination + page_size: 50 + cursor_value: "{{response['meta']['next_page_url']}}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/workspaces" + workers: + type: DeclarativeStream + name: workers + primary_key: + - sid + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /v1/Workspaces/{{ stream_slice.id }}/Workers + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - workers + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: PageSize + pagination_strategy: + type: CursorPagination + page_size: 50 + cursor_value: "{{response['meta']['next_page_url']}}" + partition_router: + - type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: sid + partition_field: id + stream: + $ref: "#/definitions/streams/workspaces" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/workers" + base_requester: + type: HttpRequester + url_base: https://taskrouter.twilio.com authenticator: type: BasicHttpAuthenticator username: "{{ config['account_sid'] }}" password: "{{ config['auth_token'] }}" - retriever: - record_selector: - $ref: "#/definitions/selector" - requester: - $ref: "#/definitions/requester" - default_paginator: - type: "DefaultPaginator" - page_size_option: - inject_into: "request_parameter" - field_name: "PageSize" - pagination_strategy: - type: "CursorPagination" - cursor_value: "{{response['meta']['next_page_url']}}" - page_size: 50 - page_token_option: - type: RequestPath - base_stream: - retriever: - $ref: "#/definitions/retriever" - base_stream_with_pagination: - retriever: - $ref: "#/definitions/retriever" - paginator: - $ref: "#/definitions/default_paginator" - workspaces_stream: - $ref: "#/definitions/base_stream_with_pagination" - $parameters: - name: "workspaces" - path: "/v1/Workspaces" - primary_key: "sid" - schema_loader: - type: InlineSchemaLoader - schema: - type: object - properties: - timeout_actvity_name: - description: The name of the activity that tasks are routed to on timeout. - type: - - "null" - - string - events_filter: - description: - Filter for specifying which events should be sent to the - callback URL. - type: - - "null" - - string - date_updated: - description: The date and time when the workspace was last updated. - type: - - "null" - - string - format: date-time - friendly_name: - description: A user-friendly name for the workspace. - type: - - "null" - - string - timeout_activity_sid: - description: - The unique identifier for the activity that tasks are routed - to on timeout. - type: - - "null" - - string - account_sid: - description: - The unique identifier for the account associated with the - workspace. - type: - - "null" - - string - default_acitvity_name: - description: The name of the default activity for the workspace. - type: - - "null" - - string - multi_task_enabled: - description: Indicates whether multitasking is enabled for the workspace. - type: - - "null" - - boolean - event_callback_url: - description: The URL to which taskrouter events will be sent. - type: - - "null" - - string - sid: - description: The unique identifier for the workspace. - type: - - "null" - - string - url: - description: The URL of the workspace. - type: - - "null" - - string - date_created: - description: The date and time when the workspace was created. - type: - - "null" - - string - format: date-time - default_activity_sid: - description: The unique identifier for the default activity of the workspace. - type: - - "null" - - string - links: - description: Links related to the workspace. - type: - - "null" - - object - workspace_partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - stream: "#/definitions/workspaces_stream" - parent_key: sid - partition_field: id +streams: + - $ref: "#/definitions/streams/workspaces" + - $ref: "#/definitions/streams/workers" - workers_stream: - $ref: "#/definitions/base_stream_with_pagination" - $parameters: - name: "workers" - primary_key: "sid" - path: "/v1/Workspaces/{{ stream_slice.id }}/Workers" - retriever: - $ref: "#/definitions/retriever" - requester: - $ref: "#/definitions/requester" - paginator: - $ref: "#/definitions/default_paginator" - partition_router: - $ref: "#/definitions/workspace_partition_router" +spec: + type: Spec + connection_specification: + type: object + $schema: http://json-schema.org/draft-07/schema# + required: + - account_sid + - auth_token + properties: + account_sid: + type: string + title: Account SID + description: Twilio Account ID + airbyte_secret: true + order: 0 + auth_token: + type: string + description: Twilio Auth Token + airbyte_secret: true + title: Auth Token + order: 1 + additionalProperties: true - schema_loader: - type: InlineSchemaLoader - schema: - type: object - properties: - account_sid: - description: - The unique identifier for the account that this worker belongs - to. - type: - - "null" - - string - date_created: - description: The date and time when the worker was created. - type: - - "null" - - string - format: date-time - date_updated: - description: The date and time when the worker was last updated. - type: - - "null" - - string - format: date-time - workspace_sid: - description: - The unique identifier for the workspace that this worker - belongs to. - type: - - "null" - - string - attributes: - description: Custom attributes or metadata associated with the worker. - type: - - "null" - - string - date_status_changed: - description: The date and time when the worker's status was last changed. - type: - - "null" - - string - format: date-time - friendly_name: - description: A friendly name or label for the worker. - type: - - "null" - - string - available: - description: Indicates if the worker is available for tasks. - type: - - "null" - - boolean - sid: - description: The unique identifier for the worker. - type: - - "null" - - string - actvity_name: - description: The name of the current activity of the worker. - type: - - "null" - - string - activity_sid: - description: The unique identifier of the current activity of the worker. - type: - - "null" - - string - url: - description: The resource URL for accessing details of the worker. - type: - - "null" - - string - links: - description: Related resource URIs for the worker. - type: - - "null" - - object -streams: - - "#/definitions/workspaces_stream" - - "#/definitions/workers_stream" +metadata: + autoImportSchema: + workspaces: false + workers: false -check: - stream_names: - - "workspaces" +schemas: + workspaces: + type: object + additionalProperties: true + properties: + account_sid: + type: + - "null" + - string + description: The unique identifier for the account associated with the workspace. + date_created: + type: + - "null" + - string + description: The date and time when the workspace was created. + format: date-time + date_updated: + type: + - "null" + - string + description: The date and time when the workspace was last updated. + format: date-time + default_acitvity_name: + type: + - "null" + - string + description: The name of the default activity for the workspace. + default_activity_sid: + type: + - "null" + - string + description: The unique identifier for the default activity of the workspace. + event_callback_url: + type: + - "null" + - string + description: The URL to which taskrouter events will be sent. + events_filter: + type: + - "null" + - string + description: Filter for specifying which events should be sent to the callback URL. + friendly_name: + type: + - "null" + - string + description: A user-friendly name for the workspace. + links: + type: + - "null" + - object + description: Links related to the workspace. + multi_task_enabled: + type: + - "null" + - boolean + description: Indicates whether multitasking is enabled for the workspace. + sid: + type: + - "null" + - string + description: The unique identifier for the workspace. + timeout_activity_sid: + type: + - "null" + - string + description: >- + The unique identifier for the activity that tasks are routed to on + timeout. + timeout_actvity_name: + type: + - "null" + - string + description: The name of the activity that tasks are routed to on timeout. + url: + type: + - "null" + - string + description: The URL of the workspace. + workers: + type: object + additionalProperties: true + properties: + account_sid: + type: + - "null" + - string + description: The unique identifier for the account that this worker belongs to. + activity_sid: + type: + - "null" + - string + description: The unique identifier of the current activity of the worker. + actvity_name: + type: + - "null" + - string + description: The name of the current activity of the worker. + attributes: + type: + - "null" + - string + description: Custom attributes or metadata associated with the worker. + available: + type: + - "null" + - boolean + description: Indicates if the worker is available for tasks. + date_created: + type: + - "null" + - string + description: The date and time when the worker was created. + format: date-time + date_status_changed: + type: + - "null" + - string + description: The date and time when the worker's status was last changed. + format: date-time + date_updated: + type: + - "null" + - string + description: The date and time when the worker was last updated. + format: date-time + friendly_name: + type: + - "null" + - string + description: A friendly name or label for the worker. + links: + type: + - "null" + - object + description: Related resource URIs for the worker. + sid: + type: + - "null" + - string + description: The unique identifier for the worker. + url: + type: + - "null" + - string + description: The resource URL for accessing details of the worker. + workspace_sid: + type: + - "null" + - string + description: The unique identifier for the workspace that this worker belongs to. diff --git a/airbyte-integrations/connectors/source-twilio-taskrouter/source_twilio_taskrouter/spec.yaml b/airbyte-integrations/connectors/source-twilio-taskrouter/source_twilio_taskrouter/spec.yaml deleted file mode 100644 index 8cfaf84511c3..000000000000 --- a/airbyte-integrations/connectors/source-twilio-taskrouter/source_twilio_taskrouter/spec.yaml +++ /dev/null @@ -1,20 +0,0 @@ -documentationUrl: https://docs.airbyte.io/integrations/sources/twilio-taskrouter -connectionSpecification: - $schema: http://json-schema.org/draft-07/schema# - title: Twilio Taskrouter Spec - type: object - required: - - account_sid - - auth_token - additionalProperties: true - properties: - account_sid: - title: Account SID - type: string - description: Twilio Account ID - airbyte_secret: true - auth_token: - type: string - description: Twilio Auth Token - airbyte_secret: true - title: Auth Token diff --git a/airbyte-integrations/connectors/source-twilio/metadata.yaml b/airbyte-integrations/connectors/source-twilio/metadata.yaml index 9382a73e7afb..7a23d4fe0356 100644 --- a/airbyte-integrations/connectors/source-twilio/metadata.yaml +++ b/airbyte-integrations/connectors/source-twilio/metadata.yaml @@ -9,11 +9,11 @@ data: - chat.twilio.com - trunking.twilio.com connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 connectorSubtype: api connectorType: source definitionId: b9dc6155-672e-42ea-b10d-9f1f1fb95ab1 - dockerImageTag: 0.11.4 + dockerImageTag: 0.11.5 dockerRepository: airbyte/source-twilio documentationUrl: https://docs.airbyte.com/integrations/sources/twilio githubIssueLabel: source-twilio diff --git a/airbyte-integrations/connectors/source-twilio/pyproject.toml b/airbyte-integrations/connectors/source-twilio/pyproject.toml index a672becd5408..3e0768546a61 100644 --- a/airbyte-integrations/connectors/source-twilio/pyproject.toml +++ b/airbyte-integrations/connectors/source-twilio/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.11.4" +version = "0.11.5" name = "source-twilio" description = "Source implementation for Twilio." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-twitter/metadata.yaml b/airbyte-integrations/connectors/source-twitter/metadata.yaml index e900288a099e..8453c6344b34 100644 --- a/airbyte-integrations/connectors/source-twitter/metadata.yaml +++ b/airbyte-integrations/connectors/source-twitter/metadata.yaml @@ -8,7 +8,7 @@ data: connectorSubtype: api connectorType: source definitionId: d7fd4f40-5e5a-4b8b-918f-a73077f8c131 - dockerImageTag: 0.1.3 + dockerImageTag: 0.1.4 dockerRepository: airbyte/source-twitter documentationUrl: https://docs.airbyte.com/integrations/sources/twitter githubIssueLabel: source-twitter @@ -38,5 +38,5 @@ data: type: GSM alias: airbyte-connector-testing-secret-store connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 metadataSpecVersion: "1.0" diff --git a/airbyte-integrations/connectors/source-twitter/pyproject.toml b/airbyte-integrations/connectors/source-twitter/pyproject.toml index d47c6e2127ce..552d71cf1655 100644 --- a/airbyte-integrations/connectors/source-twitter/pyproject.toml +++ b/airbyte-integrations/connectors/source-twitter/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.1.3" +version = "0.1.4" name = "source-twitter" description = "Source implementation for Twitter." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-unleash/Dockerfile b/airbyte-integrations/connectors/source-unleash/Dockerfile deleted file mode 100644 index a427c48b7700..000000000000 --- a/airbyte-integrations/connectors/source-unleash/Dockerfile +++ /dev/null @@ -1,38 +0,0 @@ -FROM python:3.9.11-alpine3.15 as base - -# build and load all requirements -FROM base as builder -WORKDIR /airbyte/integration_code - -# upgrade pip to the latest version -RUN apk --no-cache upgrade \ - && pip install --upgrade pip \ - && apk --no-cache add tzdata build-base - - -COPY setup.py ./ -# install necessary packages to a temporary folder -RUN pip install --prefix=/install . - -# build a clean environment -FROM base -WORKDIR /airbyte/integration_code - -# copy all loaded and built libraries to a pure basic image -COPY --from=builder /install /usr/local -# add default timezone settings -COPY --from=builder /usr/share/zoneinfo/Etc/UTC /etc/localtime -RUN echo "Etc/UTC" > /etc/timezone - -# bash is installed for more convenient debugging. -RUN apk --no-cache add bash - -# copy payload code only -COPY main.py ./ -COPY source_unleash ./source_unleash - -ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py" -ENTRYPOINT ["python", "/airbyte/integration_code/main.py"] - -LABEL io.airbyte.version=0.1.0 -LABEL io.airbyte.name=airbyte/source-unleash diff --git a/airbyte-integrations/connectors/source-unleash/README.md b/airbyte-integrations/connectors/source-unleash/README.md index 447e3e6aa1fa..b36cec56c863 100644 --- a/airbyte-integrations/connectors/source-unleash/README.md +++ b/airbyte-integrations/connectors/source-unleash/README.md @@ -1,42 +1,56 @@ -# Unleash Source +# Unleash source connector -This is the repository for the Unleash configuration based source connector. -For information about how to use this connector within Airbyte, see [the documentation](https://docs.airbyte.io/integrations/sources/unleash). + +This is the repository for the Unleash source connector, written in Python. +For information about how to use this connector within Airbyte, see [the documentation](https://docs.airbyte.com/integrations/sources/unleash). ## Local development -#### Create credentials +### Prerequisites +* Python (~=3.9) +* Poetry (~=1.7) - installation instructions [here](https://python-poetry.org/docs/#installation) -**If you are a community contributor**, follow the instructions in the [documentation](https://docs.airbyte.io/integrations/sources/unleash) -to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `source_unleash/spec.yaml` file. -Note that any directory named `secrets` is gitignored across the entire Airbyte repo, so there is no danger of accidentally checking in sensitive information. -See `integration_tests/sample_config.json` for a sample config file. -**If you are an Airbyte core member**, copy the credentials in Lastpass under the secret name `source unleash test creds` -and place them into `secrets/config.json`. +### Installing the connector +From this connector directory, run: +```bash +poetry install --with dev +``` -### Locally running the connector docker image -#### Build +### Create credentials +**If you are a community contributor**, follow the instructions in the [documentation](https://docs.airbyte.com/integrations/sources/unleash) +to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `source_unleash/spec.yaml` file. +Note that any directory named `secrets` is gitignored across the entire Airbyte repo, so there is no danger of accidentally checking in sensitive information. +See `sample_files/sample_config.json` for a sample config file. -**Via [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md) (recommended):** -```bash -airbyte-ci connectors --name=source-unleash build +### Locally running the connector +``` +poetry run source-unleash spec +poetry run source-unleash check --config secrets/config.json +poetry run source-unleash discover --config secrets/config.json +poetry run source-unleash read --config secrets/config.json --catalog sample_files/configured_catalog.json ``` -An image will be built with the tag `airbyte/source-unleash:dev`. - -**Via `docker build`:** +### Running unit tests +To run unit tests locally, from the connector directory run: +``` +poetry run pytest unit_tests +``` +### Building the docker image +1. Install [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md) +2. Run the following command to build the docker image: ```bash -docker build -t airbyte/source-unleash:dev . +airbyte-ci connectors --name=source-unleash build ``` -#### Run +An image will be available on your host with the tag `airbyte/source-unleash:dev`. -Then run any of the connector commands as follows: +### Running as a docker container +Then run any of the connector commands as follows: ``` docker run --rm airbyte/source-unleash:dev spec docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-unleash:dev check --config /secrets/config.json @@ -44,35 +58,34 @@ docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-unleash:dev discover - docker run --rm -v $(pwd)/secrets:/secrets -v $(pwd)/integration_tests:/integration_tests airbyte/source-unleash:dev read --config /secrets/config.json --catalog /integration_tests/configured_catalog.json ``` -## Testing - +### Running our CI test suite You can run our full test suite locally using [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md): - ```bash airbyte-ci connectors --name=source-unleash test ``` ### Customizing acceptance Tests - -Customize `acceptance-test-config.yml` file to configure tests. See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) for more information. +Customize `acceptance-test-config.yml` file to configure acceptance tests. See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) for more information. If your connector requires to create or destroy resources for use during acceptance tests create fixtures for it and place them inside integration_tests/acceptance.py. -## Dependency Management - -All of your dependencies should go in `setup.py`, NOT `requirements.txt`. The requirements file is only used to connect internal Airbyte dependencies in the monorepo for local development. -We split dependencies between two groups, dependencies that are: - -- required for your connector to work need to go to `MAIN_REQUIREMENTS` list. -- required for the testing need to go to `TEST_REQUIREMENTS` list +### Dependency Management +All of your dependencies should be managed via Poetry. +To add a new dependency, run: +```bash +poetry add +``` -### Publishing a new version of the connector +Please commit the changes to `pyproject.toml` and `poetry.lock` files. +## Publishing a new version of the connector You've checked out the repo, implemented a million dollar feature, and you're ready to share your changes with the world. Now what? - 1. Make sure your changes are passing our test suite: `airbyte-ci connectors --name=source-unleash test` -2. Bump the connector version in `metadata.yaml`: increment the `dockerImageTag` value. Please follow [semantic versioning for connectors](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#semantic-versioning-for-connectors). +2. Bump the connector version (please follow [semantic versioning for connectors](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#semantic-versioning-for-connectors)): + - bump the `dockerImageTag` value in in `metadata.yaml` + - bump the `version` value in `pyproject.toml` 3. Make sure the `metadata.yaml` content is up to date. -4. Make the connector documentation and its changelog is up to date (`docs/integrations/sources/unleash.md`). +4. Make sure the connector documentation and its changelog is up to date (`docs/integrations/sources/unleash.md`). 5. Create a Pull Request: use [our PR naming conventions](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#pull-request-title-convention). 6. Pat yourself on the back for being an awesome contributor. 7. Someone from Airbyte will take a look at your PR and iterate with you to merge it into master. +8. Once your PR is merged, the new version of the connector will be automatically published to Docker Hub and our connector registry. \ No newline at end of file diff --git a/airbyte-integrations/connectors/source-unleash/metadata.yaml b/airbyte-integrations/connectors/source-unleash/metadata.yaml index eaf875fbd307..da5fc2d7ca5a 100644 --- a/airbyte-integrations/connectors/source-unleash/metadata.yaml +++ b/airbyte-integrations/connectors/source-unleash/metadata.yaml @@ -2,7 +2,7 @@ data: connectorSubtype: api connectorType: source definitionId: f77914a1-442b-4195-9355-8810a1f4ed3f - dockerImageTag: 0.1.0 + dockerImageTag: 0.1.1 dockerRepository: airbyte/source-unleash githubIssueLabel: source-unleash icon: unleash.svg @@ -10,8 +10,7 @@ data: name: Unleash remoteRegistries: pypi: - enabled: false - # TODO: Set enabled=true after `airbyte-lib-validate-source` is passing. + enabled: true packageName: airbyte-source-unleash registries: cloud: @@ -35,4 +34,6 @@ data: secretStore: type: GSM alias: airbyte-connector-testing-secret-store + connectorBuildOptions: + baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 metadataSpecVersion: "1.0" diff --git a/airbyte-integrations/connectors/source-unleash/poetry.lock b/airbyte-integrations/connectors/source-unleash/poetry.lock new file mode 100644 index 000000000000..bf6f1521b3ff --- /dev/null +++ b/airbyte-integrations/connectors/source-unleash/poetry.lock @@ -0,0 +1,1032 @@ +# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. + +[[package]] +name = "airbyte-cdk" +version = "0.80.0" +description = "A framework for writing Airbyte Connectors." +optional = false +python-versions = "<4.0,>=3.9" +files = [ + {file = "airbyte_cdk-0.80.0-py3-none-any.whl", hash = "sha256:060e92323a73674fa4e9e2e4a1eb312b9b9d072c9bbe5fa28f54ef21cb4974f3"}, + {file = "airbyte_cdk-0.80.0.tar.gz", hash = "sha256:1383512a83917fecca5b24cea4c72aa5c561cf96dd464485fbcefda48fe574c5"}, +] + +[package.dependencies] +airbyte-protocol-models = "0.5.1" +backoff = "*" +cachetools = "*" +Deprecated = ">=1.2,<1.3" +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,<0.3" +jsonschema = ">=3.2.0,<3.3.0" +pendulum = "<3.0.0" +pydantic = ">=1.10.8,<2.0.0" +pyrate-limiter = ">=3.1.0,<3.2.0" +python-dateutil = "*" +PyYAML = ">=6.0.1,<7.0.0" +requests = "*" +requests_cache = "*" +wcmatch = "8.4" + +[package.extras] +file-based = ["avro (>=1.11.2,<1.12.0)", "fastavro (>=1.8.0,<1.9.0)", "markdown", "pdf2image (==1.16.3)", "pdfminer.six (==20221105)", "pyarrow (>=15.0.0,<15.1.0)", "pytesseract (==0.3.10)", "unstructured.pytesseract (>=0.3.12)", "unstructured[docx,pptx] (==0.10.27)"] +sphinx-docs = ["Sphinx (>=4.2,<4.3)", "sphinx-rtd-theme (>=1.0,<1.1)"] +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.5.1" +description = "Declares the Airbyte Protocol." +optional = false +python-versions = ">=3.8" +files = [ + {file = "airbyte_protocol_models-0.5.1-py3-none-any.whl", hash = "sha256:dfe84e130e51ce2ae81a06d5aa36f6c5ce3152b9e36e6f0195fad6c3dab0927e"}, + {file = "airbyte_protocol_models-0.5.1.tar.gz", hash = "sha256:7c8b16c7c1c7956b1996052e40585a3a93b1e44cb509c4e97c1ee4fe507ea086"}, +] + +[package.dependencies] +pydantic = ">=1.9.2,<2.0.0" + +[[package]] +name = "atomicwrites" +version = "1.4.1" +description = "Atomic file writes." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, +] + +[[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.3" +description = "Extensible memoizing collections and decorators" +optional = false +python-versions = ">=3.7" +files = [ + {file = "cachetools-5.3.3-py3-none-any.whl", hash = "sha256:0abad1021d3f8325b2fc1d2e9c8b9c9d57b04c3932657a72465447332c24d945"}, + {file = "cachetools-5.3.3.tar.gz", hash = "sha256:ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105"}, +] + +[[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" +exceptiongroup = {version = ">=1.1.1", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=4.1.0,<4.6.3 || >4.6.3", markers = "python_version < \"3.11\""} + +[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 = "2024.2.2" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, + {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, +] + +[[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 = "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 = "exceptiongroup" +version = "1.2.1" +description = "Backport of PEP 654 (exception groups)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.2.1-py3-none-any.whl", hash = "sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad"}, + {file = "exceptiongroup-1.2.1.tar.gz", hash = "sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16"}, +] + +[package.extras] +test = ["pytest (>=6)"] + +[[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.7" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.5" +files = [ + {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, + {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, +] + +[[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.4" +description = "A very fast and expressive template engine." +optional = false +python-versions = ">=3.7" +files = [ + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "jsonref" +version = "0.2" +description = "An implementation of JSON Reference for Python" +optional = false +python-versions = "*" +files = [ + {file = "jsonref-0.2-py3-none-any.whl", hash = "sha256:b1e82fa0b62e2c2796a13e5401fe51790b248f6d9bf9d7212a3e31a3501b291f"}, + {file = "jsonref-0.2.tar.gz", hash = "sha256:f3c45b121cf6257eafabdc3a8008763aed1cd7da06dbabc59a9e4d2a5e4e6697"}, +] + +[[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.5" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.7" +files = [ + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, +] + +[[package]] +name = "packaging" +version = "24.0" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.7" +files = [ + {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"}, + {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"}, +] + +[[package]] +name = "pendulum" +version = "2.1.2" +description = "Python datetimes made easy" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "pendulum-2.1.2-cp27-cp27m-macosx_10_15_x86_64.whl", hash = "sha256:b6c352f4bd32dff1ea7066bd31ad0f71f8d8100b9ff709fb343f3b86cee43efe"}, + {file = "pendulum-2.1.2-cp27-cp27m-win_amd64.whl", hash = "sha256:318f72f62e8e23cd6660dbafe1e346950281a9aed144b5c596b2ddabc1d19739"}, + {file = "pendulum-2.1.2-cp35-cp35m-macosx_10_15_x86_64.whl", hash = "sha256:0731f0c661a3cb779d398803655494893c9f581f6488048b3fb629c2342b5394"}, + {file = "pendulum-2.1.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:3481fad1dc3f6f6738bd575a951d3c15d4b4ce7c82dce37cf8ac1483fde6e8b0"}, + {file = "pendulum-2.1.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9702069c694306297ed362ce7e3c1ef8404ac8ede39f9b28b7c1a7ad8c3959e3"}, + {file = "pendulum-2.1.2-cp35-cp35m-win_amd64.whl", hash = "sha256:fb53ffa0085002ddd43b6ca61a7b34f2d4d7c3ed66f931fe599e1a531b42af9b"}, + {file = "pendulum-2.1.2-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:c501749fdd3d6f9e726086bf0cd4437281ed47e7bca132ddb522f86a1645d360"}, + {file = "pendulum-2.1.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:c807a578a532eeb226150d5006f156632df2cc8c5693d778324b43ff8c515dd0"}, + {file = "pendulum-2.1.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:2d1619a721df661e506eff8db8614016f0720ac171fe80dda1333ee44e684087"}, + {file = "pendulum-2.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:f888f2d2909a414680a29ae74d0592758f2b9fcdee3549887779cd4055e975db"}, + {file = "pendulum-2.1.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:e95d329384717c7bf627bf27e204bc3b15c8238fa8d9d9781d93712776c14002"}, + {file = "pendulum-2.1.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:4c9c689747f39d0d02a9f94fcee737b34a5773803a64a5fdb046ee9cac7442c5"}, + {file = "pendulum-2.1.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:1245cd0075a3c6d889f581f6325dd8404aca5884dea7223a5566c38aab94642b"}, + {file = "pendulum-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:db0a40d8bcd27b4fb46676e8eb3c732c67a5a5e6bfab8927028224fbced0b40b"}, + {file = "pendulum-2.1.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:f5e236e7730cab1644e1b87aca3d2ff3e375a608542e90fe25685dae46310116"}, + {file = "pendulum-2.1.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:de42ea3e2943171a9e95141f2eecf972480636e8e484ccffaf1e833929e9e052"}, + {file = "pendulum-2.1.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7c5ec650cb4bec4c63a89a0242cc8c3cebcec92fcfe937c417ba18277d8560be"}, + {file = "pendulum-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:33fb61601083f3eb1d15edeb45274f73c63b3c44a8524703dc143f4212bf3269"}, + {file = "pendulum-2.1.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:29c40a6f2942376185728c9a0347d7c0f07905638c83007e1d262781f1e6953a"}, + {file = "pendulum-2.1.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:94b1fc947bfe38579b28e1cccb36f7e28a15e841f30384b5ad6c5e31055c85d7"}, + {file = "pendulum-2.1.2.tar.gz", hash = "sha256:b06a0ca1bfe41c990bbf0c029f0b6501a7f2ec4e38bfec730712015e8860f207"}, +] + +[package.dependencies] +python-dateutil = ">=2.6,<3.0" +pytzdata = ">=2020.1" + +[[package]] +name = "platformdirs" +version = "4.2.2" +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.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, + {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, +] + +[package.extras] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] +type = ["mypy (>=1.8)"] + +[[package]] +name = "pluggy" +version = "1.5.0" +description = "plugin and hook calling mechanisms for python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, +] + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "py" +version = "1.11.0" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, + {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, +] + +[[package]] +name = "pydantic" +version = "1.10.15" +description = "Data validation and settings management using python type hints" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pydantic-1.10.15-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:22ed12ee588b1df028a2aa5d66f07bf8f8b4c8579c2e96d5a9c1f96b77f3bb55"}, + {file = "pydantic-1.10.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:75279d3cac98186b6ebc2597b06bcbc7244744f6b0b44a23e4ef01e5683cc0d2"}, + {file = "pydantic-1.10.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50f1666a9940d3d68683c9d96e39640f709d7a72ff8702987dab1761036206bb"}, + {file = "pydantic-1.10.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82790d4753ee5d00739d6cb5cf56bceb186d9d6ce134aca3ba7befb1eedbc2c8"}, + {file = "pydantic-1.10.15-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:d207d5b87f6cbefbdb1198154292faee8017d7495a54ae58db06762004500d00"}, + {file = "pydantic-1.10.15-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e49db944fad339b2ccb80128ffd3f8af076f9f287197a480bf1e4ca053a866f0"}, + {file = "pydantic-1.10.15-cp310-cp310-win_amd64.whl", hash = "sha256:d3b5c4cbd0c9cb61bbbb19ce335e1f8ab87a811f6d589ed52b0254cf585d709c"}, + {file = "pydantic-1.10.15-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c3d5731a120752248844676bf92f25a12f6e45425e63ce22e0849297a093b5b0"}, + {file = "pydantic-1.10.15-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c365ad9c394f9eeffcb30a82f4246c0006417f03a7c0f8315d6211f25f7cb654"}, + {file = "pydantic-1.10.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3287e1614393119c67bd4404f46e33ae3be3ed4cd10360b48d0a4459f420c6a3"}, + {file = "pydantic-1.10.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be51dd2c8596b25fe43c0a4a59c2bee4f18d88efb8031188f9e7ddc6b469cf44"}, + {file = "pydantic-1.10.15-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6a51a1dd4aa7b3f1317f65493a182d3cff708385327c1c82c81e4a9d6d65b2e4"}, + {file = "pydantic-1.10.15-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4e316e54b5775d1eb59187f9290aeb38acf620e10f7fd2f776d97bb788199e53"}, + {file = "pydantic-1.10.15-cp311-cp311-win_amd64.whl", hash = "sha256:0d142fa1b8f2f0ae11ddd5e3e317dcac060b951d605fda26ca9b234b92214986"}, + {file = "pydantic-1.10.15-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7ea210336b891f5ea334f8fc9f8f862b87acd5d4a0cbc9e3e208e7aa1775dabf"}, + {file = "pydantic-1.10.15-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3453685ccd7140715e05f2193d64030101eaad26076fad4e246c1cc97e1bb30d"}, + {file = "pydantic-1.10.15-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bea1f03b8d4e8e86702c918ccfd5d947ac268f0f0cc6ed71782e4b09353b26f"}, + {file = "pydantic-1.10.15-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:005655cabc29081de8243126e036f2065bd7ea5b9dff95fde6d2c642d39755de"}, + {file = "pydantic-1.10.15-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:af9850d98fc21e5bc24ea9e35dd80a29faf6462c608728a110c0a30b595e58b7"}, + {file = "pydantic-1.10.15-cp37-cp37m-win_amd64.whl", hash = "sha256:d31ee5b14a82c9afe2bd26aaa405293d4237d0591527d9129ce36e58f19f95c1"}, + {file = "pydantic-1.10.15-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5e09c19df304b8123938dc3c53d3d3be6ec74b9d7d0d80f4f4b5432ae16c2022"}, + {file = "pydantic-1.10.15-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7ac9237cd62947db00a0d16acf2f3e00d1ae9d3bd602b9c415f93e7a9fc10528"}, + {file = "pydantic-1.10.15-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:584f2d4c98ffec420e02305cf675857bae03c9d617fcfdc34946b1160213a948"}, + {file = "pydantic-1.10.15-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bbc6989fad0c030bd70a0b6f626f98a862224bc2b1e36bfc531ea2facc0a340c"}, + {file = "pydantic-1.10.15-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:d573082c6ef99336f2cb5b667b781d2f776d4af311574fb53d908517ba523c22"}, + {file = "pydantic-1.10.15-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6bd7030c9abc80134087d8b6e7aa957e43d35714daa116aced57269a445b8f7b"}, + {file = "pydantic-1.10.15-cp38-cp38-win_amd64.whl", hash = "sha256:3350f527bb04138f8aff932dc828f154847fbdc7a1a44c240fbfff1b57f49a12"}, + {file = "pydantic-1.10.15-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:51d405b42f1b86703555797270e4970a9f9bd7953f3990142e69d1037f9d9e51"}, + {file = "pydantic-1.10.15-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a980a77c52723b0dc56640ced396b73a024d4b74f02bcb2d21dbbac1debbe9d0"}, + {file = "pydantic-1.10.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67f1a1fb467d3f49e1708a3f632b11c69fccb4e748a325d5a491ddc7b5d22383"}, + {file = "pydantic-1.10.15-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:676ed48f2c5bbad835f1a8ed8a6d44c1cd5a21121116d2ac40bd1cd3619746ed"}, + {file = "pydantic-1.10.15-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:92229f73400b80c13afcd050687f4d7e88de9234d74b27e6728aa689abcf58cc"}, + {file = "pydantic-1.10.15-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2746189100c646682eff0bce95efa7d2e203420d8e1c613dc0c6b4c1d9c1fde4"}, + {file = "pydantic-1.10.15-cp39-cp39-win_amd64.whl", hash = "sha256:394f08750bd8eaad714718812e7fab615f873b3cdd0b9d84e76e51ef3b50b6b7"}, + {file = "pydantic-1.10.15-py3-none-any.whl", hash = "sha256:28e552a060ba2740d0d2aabe35162652c1459a0b9069fe0db7f4ee0e18e74d58"}, + {file = "pydantic-1.10.15.tar.gz", hash = "sha256:ca832e124eda231a60a041da4f013e3ff24949d94a01154b137fc2f2a43c3ffb"}, +] + +[package.dependencies] +typing-extensions = ">=4.2.0" + +[package.extras] +dotenv = ["python-dotenv (>=0.10.4)"] +email = ["email-validator (>=1.0.3)"] + +[[package]] +name = "pyrate-limiter" +version = "3.1.1" +description = "Python Rate-Limiter using Leaky-Bucket Algorithm" +optional = false +python-versions = ">=3.8,<4.0" +files = [ + {file = "pyrate_limiter-3.1.1-py3-none-any.whl", hash = "sha256:c51906f1d51d56dc992ff6c26e8300e32151bc6cfa3e6559792e31971dfd4e2b"}, + {file = "pyrate_limiter-3.1.1.tar.gz", hash = "sha256:2f57eda712687e6eccddf6afe8f8a15b409b97ed675fe64a626058f12863b7b7"}, +] + +[package.extras] +all = ["filelock (>=3.0)", "redis (>=5.0.0,<6.0.0)"] +docs = ["furo (>=2022.3.4,<2023.0.0)", "myst-parser (>=0.17)", "sphinx (>=4.3.0,<5.0.0)", "sphinx-autodoc-typehints (>=1.17,<2.0)", "sphinx-copybutton (>=0.5)", "sphinxcontrib-apidoc (>=0.3,<0.4)"] + +[[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 = "6.2.5" +description = "pytest: simple powerful testing with Python" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"}, + {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"}, +] + +[package.dependencies] +atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} +attrs = ">=19.2.0" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<2.0" +py = ">=1.8.2" +toml = "*" + +[package.extras] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] + +[[package]] +name = "pytest-mock" +version = "3.14.0" +description = "Thin-wrapper around the mock package for easier use with pytest" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pytest-mock-3.14.0.tar.gz", hash = "sha256:2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0"}, + {file = "pytest_mock-3.14.0-py3-none-any.whl", hash = "sha256:0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f"}, +] + +[package.dependencies] +pytest = ">=6.2.5" + +[package.extras] +dev = ["pre-commit", "pytest-asyncio", "tox"] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +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.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, +] + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "pytzdata" +version = "2020.1" +description = "The Olson timezone database for Python." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "pytzdata-2020.1-py2.py3-none-any.whl", hash = "sha256:e1e14750bcf95016381e4d472bad004eef710f2d6417240904070b3d6654485f"}, + {file = "pytzdata-2020.1.tar.gz", hash = "sha256:3efa13b335a00a8de1d345ae41ec78dd11c9f8807f522d39850f2dd828681540"}, +] + +[[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_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, + {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.32.1" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.8" +files = [ + {file = "requests-2.32.1-py3-none-any.whl", hash = "sha256:21ac9465cdf8c1650fe1ecde8a71669a93d4e6f147550483a2967d08396a56a5"}, + {file = "requests-2.32.1.tar.gz", hash = "sha256:eb97e87e64c79e64e5b8ac75cee9dd1f97f49e289b083ee6be96268930725685"}, +] + +[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.2.0" +description = "A persistent cache for python requests" +optional = false +python-versions = ">=3.8" +files = [ + {file = "requests_cache-1.2.0-py3-none-any.whl", hash = "sha256:490324301bf0cb924ff4e6324bd2613453e7e1f847353928b08adb0fdfb7f722"}, + {file = "requests_cache-1.2.0.tar.gz", hash = "sha256:db1c709ca343cc1cd5b6c8b1a5387298eceed02306a6040760db538c885e3838"}, +] + +[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 (>=6.0.1)", "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.9)"] +dynamodb = ["boto3 (>=1.15)", "botocore (>=1.18)"] +json = ["ujson (>=5.4)"] +mongodb = ["pymongo (>=3)"] +redis = ["redis (>=3)"] +security = ["itsdangerous (>=2.0)"] +yaml = ["pyyaml (>=6.0.1)"] + +[[package]] +name = "requests-mock" +version = "1.12.1" +description = "Mock out responses from the requests package" +optional = false +python-versions = ">=3.5" +files = [ + {file = "requests-mock-1.12.1.tar.gz", hash = "sha256:e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401"}, + {file = "requests_mock-1.12.1-py2.py3-none-any.whl", hash = "sha256:b1e37054004cdd5e56c84454cc7df12b25f90f382159087f4b6915aaeef39563"}, +] + +[package.dependencies] +requests = ">=2.22,<3" + +[package.extras] +fixture = ["fixtures"] + +[[package]] +name = "setuptools" +version = "69.5.1" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "setuptools-69.5.1-py3-none-any.whl", hash = "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"}, + {file = "setuptools-69.5.1.tar.gz", hash = "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "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)", "importlib-metadata", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "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.2)", "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 = "toml" +version = "0.10.2" +description = "Python Library for Tom's Obvious, Minimal Language" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, + {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, +] + +[[package]] +name = "typing-extensions" +version = "4.11.0" +description = "Backported and Experimental Type Hints for Python 3.8+" +optional = false +python-versions = ">=3.8" +files = [ + {file = "typing_extensions-4.11.0-py3-none-any.whl", hash = "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"}, + {file = "typing_extensions-4.11.0.tar.gz", hash = "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0"}, +] + +[[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.2.1" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, + {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] +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.9,<3.12" +content-hash = "990042bd8aff2361370f7cea38b2dffbadb5bd28397a241166061ec2619f6426" diff --git a/airbyte-integrations/connectors/source-unleash/pyproject.toml b/airbyte-integrations/connectors/source-unleash/pyproject.toml new file mode 100644 index 000000000000..f228853ae112 --- /dev/null +++ b/airbyte-integrations/connectors/source-unleash/pyproject.toml @@ -0,0 +1,28 @@ +[build-system] +requires = [ "poetry-core>=1.0.0",] +build-backend = "poetry.core.masonry.api" + +[tool.poetry] +version = "0.1.1" +name = "source-unleash" +description = "Source implementation for Unleash." +authors = [ "Airbyte ",] +license = "MIT" +readme = "README.md" +documentation = "https://docs.airbyte.com/integrations/sources/unleash" +homepage = "https://airbyte.com" +repository = "https://github.com/airbytehq/airbyte" +[[tool.poetry.packages]] +include = "source_unleash" + +[tool.poetry.dependencies] +python = "^3.9,<3.12" +airbyte-cdk = "0.80.0" + +[tool.poetry.scripts] +source-unleash = "source_unleash.run:run" + +[tool.poetry.group.dev.dependencies] +requests-mock = "^1.9.3" +pytest = "^6.2" +pytest-mock = "^3.6.1" diff --git a/airbyte-integrations/connectors/source-unleash/setup.py b/airbyte-integrations/connectors/source-unleash/setup.py deleted file mode 100644 index 9822815f03ce..000000000000 --- a/airbyte-integrations/connectors/source-unleash/setup.py +++ /dev/null @@ -1,46 +0,0 @@ -# -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. -# - - -from setuptools import find_packages, setup - -MAIN_REQUIREMENTS = [ - "airbyte-cdk~=0.1", -] - -TEST_REQUIREMENTS = [ - "requests-mock~=1.9.3", - "pytest~=6.2", - "pytest-mock~=3.6.1", -] - -setup( - entry_points={ - "console_scripts": [ - "source-unleash=source_unleash.run:run", - ], - }, - name="source_unleash", - description="Source implementation for Unleash.", - author="Airbyte", - author_email="contact@airbyte.io", - packages=find_packages(), - install_requires=MAIN_REQUIREMENTS, - package_data={ - "": [ - # Include yaml files in the package (if any) - "*.yml", - "*.yaml", - # Include all json files in the package, up to 4 levels deep - "*.json", - "*/*.json", - "*/*/*.json", - "*/*/*/*.json", - "*/*/*/*/*.json", - ] - }, - extras_require={ - "tests": TEST_REQUIREMENTS, - }, -) diff --git a/airbyte-integrations/connectors/source-unleash/source_unleash/unleash.yaml b/airbyte-integrations/connectors/source-unleash/source_unleash/manifest.yaml similarity index 98% rename from airbyte-integrations/connectors/source-unleash/source_unleash/unleash.yaml rename to airbyte-integrations/connectors/source-unleash/source_unleash/manifest.yaml index 1c2a9b172e3c..23ce38af9bde 100644 --- a/airbyte-integrations/connectors/source-unleash/source_unleash/unleash.yaml +++ b/airbyte-integrations/connectors/source-unleash/source_unleash/manifest.yaml @@ -1,4 +1,4 @@ -version: "0.1.0" +version: "0.80.0" definitions: selector: diff --git a/airbyte-integrations/connectors/source-unleash/source_unleash/source.py b/airbyte-integrations/connectors/source-unleash/source_unleash/source.py index 02722450993c..4047256d52f3 100644 --- a/airbyte-integrations/connectors/source-unleash/source_unleash/source.py +++ b/airbyte-integrations/connectors/source-unleash/source_unleash/source.py @@ -15,4 +15,4 @@ # Declarative Source class SourceUnleash(YamlDeclarativeSource): def __init__(self): - super().__init__(**{"path_to_yaml": "unleash.yaml"}) + super().__init__(**{"path_to_yaml": "manifest.yaml"}) diff --git a/airbyte-integrations/connectors/source-unleash/source_unleash/spec.yaml b/airbyte-integrations/connectors/source-unleash/source_unleash/spec.yaml index fb3738ce437c..0c0435673194 100644 --- a/airbyte-integrations/connectors/source-unleash/source_unleash/spec.yaml +++ b/airbyte-integrations/connectors/source-unleash/source_unleash/spec.yaml @@ -1,6 +1,6 @@ documentationUrl: https://docs.airbyte.io/integrations/sources/unleash connectionSpecification: - $schema: http://json-schema.org/draft-07/schema# + $schema: https://json-schema.org/draft-07/schema# title: Unleash Source Spec type: object required: @@ -24,7 +24,7 @@ connectionSpecification: title: API URL type: string description: >- - Your API URL. No trailing slash. ex: http://unleash.host.com/api + Your API URL. No trailing slash. ex: https://unleash.host.com/api project_name: title: Project Name type: string diff --git a/airbyte-integrations/connectors/source-vitally/.dockerignore b/airbyte-integrations/connectors/source-vitally/.dockerignore deleted file mode 100644 index 068cea629ed8..000000000000 --- a/airbyte-integrations/connectors/source-vitally/.dockerignore +++ /dev/null @@ -1,6 +0,0 @@ -* -!Dockerfile -!main.py -!source_vitally -!setup.py -!secrets diff --git a/airbyte-integrations/connectors/source-vitally/README.md b/airbyte-integrations/connectors/source-vitally/README.md index 8ca3e8f15856..dacf8eec4362 100644 --- a/airbyte-integrations/connectors/source-vitally/README.md +++ b/airbyte-integrations/connectors/source-vitally/README.md @@ -1,17 +1,20 @@ # Vitally source connector -This is the repository for the Vitally source connector, written in Python. +This is the repository for the Vitally configuration based source connector. For information about how to use this connector within Airbyte, see [the documentation](https://docs.airbyte.com/integrations/sources/vitally). ## Local development ### Prerequisites -* Python (~=3.9) -* Poetry (~=1.7) - installation instructions [here](https://python-poetry.org/docs/#installation) + +* Python (`^3.9`) +* Poetry (`^1.7`) - installation instructions [here](https://python-poetry.org/docs/#installation) + ### Installing the connector + From this connector directory, run: ```bash poetry install --with dev @@ -19,27 +22,32 @@ poetry install --with dev ### Create credentials + **If you are a community contributor**, follow the instructions in the [documentation](https://docs.airbyte.com/integrations/sources/vitally) -to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `source_vitally/spec.yaml` file. +to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `spec` inside `source_vitally/manifest.yaml` file. Note that any directory named `secrets` is gitignored across the entire Airbyte repo, so there is no danger of accidentally checking in sensitive information. See `sample_files/sample_config.json` for a sample config file. ### Locally running the connector + ``` poetry run source-vitally spec poetry run source-vitally check --config secrets/config.json poetry run source-vitally discover --config secrets/config.json -poetry run source-vitally read --config secrets/config.json --catalog sample_files/configured_catalog.json +poetry run source-vitally read --config secrets/config.json --catalog integration_tests/configured_catalog.json ``` -### Running unit tests -To run unit tests locally, from the connector directory run: +### Running tests + +To run tests locally, from the connector directory run: + ``` -poetry run pytest unit_tests +poetry run pytest tests ``` ### Building the docker image + 1. Install [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md) 2. Run the following command to build the docker image: ```bash @@ -47,9 +55,11 @@ airbyte-ci connectors --name=source-vitally build ``` An image will be available on your host with the tag `airbyte/source-vitally:dev`. +An image will be available on your host with the tag `airbyte/source-vitally:dev`. ### Running as a docker container + Then run any of the connector commands as follows: ``` docker run --rm airbyte/source-vitally:dev spec @@ -59,16 +69,19 @@ docker run --rm -v $(pwd)/secrets:/secrets -v $(pwd)/integration_tests:/integrat ``` ### Running our CI test suite + You can run our full test suite locally using [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md): ```bash airbyte-ci connectors --name=source-vitally test ``` ### Customizing acceptance Tests + Customize `acceptance-test-config.yml` file to configure acceptance tests. See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) for more information. If your connector requires to create or destroy resources for use during acceptance tests create fixtures for it and place them inside integration_tests/acceptance.py. ### Dependency Management + All of your dependencies should be managed via Poetry. To add a new dependency, run: ```bash @@ -78,14 +91,20 @@ poetry add Please commit the changes to `pyproject.toml` and `poetry.lock` files. ## Publishing a new version of the connector + You've checked out the repo, implemented a million dollar feature, and you're ready to share your changes with the world. Now what? 1. Make sure your changes are passing our test suite: `airbyte-ci connectors --name=source-vitally test` +2. Bump the connector version (please follow [semantic versioning for connectors](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#semantic-versioning-for-connectors)): + - bump the `dockerImageTag` value in in `metadata.yaml` + - bump the `version` value in `pyproject.toml` 2. Bump the connector version (please follow [semantic versioning for connectors](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#semantic-versioning-for-connectors)): - bump the `dockerImageTag` value in in `metadata.yaml` - bump the `version` value in `pyproject.toml` 3. Make sure the `metadata.yaml` content is up to date. 4. Make sure the connector documentation and its changelog is up to date (`docs/integrations/sources/vitally.md`). +4. Make sure the connector documentation and its changelog is up to date (`docs/integrations/sources/vitally.md`). 5. Create a Pull Request: use [our PR naming conventions](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#pull-request-title-convention). 6. Pat yourself on the back for being an awesome contributor. 7. Someone from Airbyte will take a look at your PR and iterate with you to merge it into master. +8. Once your PR is merged, the new version of the connector will be automatically published to Docker Hub and our connector registry. 8. Once your PR is merged, the new version of the connector will be automatically published to Docker Hub and our connector registry. \ No newline at end of file diff --git a/airbyte-integrations/connectors/source-vitally/__init__.py b/airbyte-integrations/connectors/source-vitally/__init__.py index c941b3045795..66f6de8cb2bb 100644 --- a/airbyte-integrations/connectors/source-vitally/__init__.py +++ b/airbyte-integrations/connectors/source-vitally/__init__.py @@ -1,3 +1,3 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # diff --git a/airbyte-integrations/connectors/source-vitally/integration_tests/__init__.py b/airbyte-integrations/connectors/source-vitally/integration_tests/__init__.py index c941b3045795..66f6de8cb2bb 100644 --- a/airbyte-integrations/connectors/source-vitally/integration_tests/__init__.py +++ b/airbyte-integrations/connectors/source-vitally/integration_tests/__init__.py @@ -1,3 +1,3 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # diff --git a/airbyte-integrations/connectors/source-vitally/integration_tests/acceptance.py b/airbyte-integrations/connectors/source-vitally/integration_tests/acceptance.py index 9e6409236281..aaeb7f6c2529 100644 --- a/airbyte-integrations/connectors/source-vitally/integration_tests/acceptance.py +++ b/airbyte-integrations/connectors/source-vitally/integration_tests/acceptance.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # diff --git a/airbyte-integrations/connectors/source-vitally/integration_tests/simple_catalog.json b/airbyte-integrations/connectors/source-vitally/integration_tests/simple_catalog.json deleted file mode 100644 index 3fdb9270c00d..000000000000 --- a/airbyte-integrations/connectors/source-vitally/integration_tests/simple_catalog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "streams": [ - { - "stream": { - "name": "accounts", - "json_schema": {}, - "supported_sync_modes": ["full_refresh"] - }, - "sync_mode": "full_refresh", - "destination_sync_mode": "overwrite" - } - ] -} diff --git a/airbyte-integrations/connectors/source-vitally/main.py b/airbyte-integrations/connectors/source-vitally/main.py index 1410ead03c39..11f01dede50f 100644 --- a/airbyte-integrations/connectors/source-vitally/main.py +++ b/airbyte-integrations/connectors/source-vitally/main.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # from source_vitally.run import run diff --git a/airbyte-integrations/connectors/source-vitally/metadata.yaml b/airbyte-integrations/connectors/source-vitally/metadata.yaml index 411d8f5e0525..f6d2fe293128 100644 --- a/airbyte-integrations/connectors/source-vitally/metadata.yaml +++ b/airbyte-integrations/connectors/source-vitally/metadata.yaml @@ -1,13 +1,17 @@ data: + allowedHosts: + hosts: + - rest.vitally.io connectorSubtype: api connectorType: source definitionId: 6c6d8b0c-db35-4cd1-a7de-0ca8b080f5ac - dockerImageTag: 0.1.2 + dockerImageTag: 0.1.3 dockerRepository: airbyte/source-vitally githubIssueLabel: source-vitally icon: vitally.svg license: MIT name: Vitally + releaseDate: 2022-10-27 remoteRegistries: pypi: enabled: true diff --git a/airbyte-integrations/connectors/source-vitally/poetry.lock b/airbyte-integrations/connectors/source-vitally/poetry.lock index 7ced215b809a..e17de4e9f0e9 100644 --- a/airbyte-integrations/connectors/source-vitally/poetry.lock +++ b/airbyte-integrations/connectors/source-vitally/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. [[package]] name = "airbyte-cdk" @@ -54,16 +54,6 @@ files = [ [package.dependencies] pydantic = ">=1.9.2,<2.0.0" -[[package]] -name = "atomicwrites" -version = "1.4.1" -description = "Atomic file writes." -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, -] - [[package]] name = "attrs" version = "23.2.0" @@ -143,13 +133,13 @@ ujson = ["ujson (>=5.7.0)"] [[package]] name = "certifi" -version = "2024.2.2" +version = "2024.6.2" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, - {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, + {file = "certifi-2024.6.2-py3-none-any.whl", hash = "sha256:ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56"}, + {file = "certifi-2024.6.2.tar.gz", hash = "sha256:3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516"}, ] [[package]] @@ -328,43 +318,43 @@ files = [ [[package]] name = "cryptography" -version = "42.0.7" +version = "42.0.8" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-42.0.7-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:a987f840718078212fdf4504d0fd4c6effe34a7e4740378e59d47696e8dfb477"}, - {file = "cryptography-42.0.7-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:bd13b5e9b543532453de08bcdc3cc7cebec6f9883e886fd20a92f26940fd3e7a"}, - {file = "cryptography-42.0.7-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a79165431551042cc9d1d90e6145d5d0d3ab0f2d66326c201d9b0e7f5bf43604"}, - {file = "cryptography-42.0.7-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a47787a5e3649008a1102d3df55424e86606c9bae6fb77ac59afe06d234605f8"}, - {file = "cryptography-42.0.7-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:02c0eee2d7133bdbbc5e24441258d5d2244beb31da5ed19fbb80315f4bbbff55"}, - {file = "cryptography-42.0.7-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:5e44507bf8d14b36b8389b226665d597bc0f18ea035d75b4e53c7b1ea84583cc"}, - {file = "cryptography-42.0.7-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:7f8b25fa616d8b846aef64b15c606bb0828dbc35faf90566eb139aa9cff67af2"}, - {file = "cryptography-42.0.7-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:93a3209f6bb2b33e725ed08ee0991b92976dfdcf4e8b38646540674fc7508e13"}, - {file = "cryptography-42.0.7-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:e6b8f1881dac458c34778d0a424ae5769de30544fc678eac51c1c8bb2183e9da"}, - {file = "cryptography-42.0.7-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:3de9a45d3b2b7d8088c3fbf1ed4395dfeff79d07842217b38df14ef09ce1d8d7"}, - {file = "cryptography-42.0.7-cp37-abi3-win32.whl", hash = "sha256:789caea816c6704f63f6241a519bfa347f72fbd67ba28d04636b7c6b7da94b0b"}, - {file = "cryptography-42.0.7-cp37-abi3-win_amd64.whl", hash = "sha256:8cb8ce7c3347fcf9446f201dc30e2d5a3c898d009126010cbd1f443f28b52678"}, - {file = "cryptography-42.0.7-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:a3a5ac8b56fe37f3125e5b72b61dcde43283e5370827f5233893d461b7360cd4"}, - {file = "cryptography-42.0.7-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:779245e13b9a6638df14641d029add5dc17edbef6ec915688f3acb9e720a5858"}, - {file = "cryptography-42.0.7-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d563795db98b4cd57742a78a288cdbdc9daedac29f2239793071fe114f13785"}, - {file = "cryptography-42.0.7-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:31adb7d06fe4383226c3e963471f6837742889b3c4caa55aac20ad951bc8ffda"}, - {file = "cryptography-42.0.7-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:efd0bf5205240182e0f13bcaea41be4fdf5c22c5129fc7ced4a0282ac86998c9"}, - {file = "cryptography-42.0.7-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a9bc127cdc4ecf87a5ea22a2556cab6c7eda2923f84e4f3cc588e8470ce4e42e"}, - {file = "cryptography-42.0.7-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:3577d029bc3f4827dd5bf8bf7710cac13527b470bbf1820a3f394adb38ed7d5f"}, - {file = "cryptography-42.0.7-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2e47577f9b18723fa294b0ea9a17d5e53a227867a0a4904a1a076d1646d45ca1"}, - {file = "cryptography-42.0.7-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:1a58839984d9cb34c855197043eaae2c187d930ca6d644612843b4fe8513c886"}, - {file = "cryptography-42.0.7-cp39-abi3-win32.whl", hash = "sha256:e6b79d0adb01aae87e8a44c2b64bc3f3fe59515280e00fb6d57a7267a2583cda"}, - {file = "cryptography-42.0.7-cp39-abi3-win_amd64.whl", hash = "sha256:16268d46086bb8ad5bf0a2b5544d8a9ed87a0e33f5e77dd3c3301e63d941a83b"}, - {file = "cryptography-42.0.7-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2954fccea107026512b15afb4aa664a5640cd0af630e2ee3962f2602693f0c82"}, - {file = "cryptography-42.0.7-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:362e7197754c231797ec45ee081f3088a27a47c6c01eff2ac83f60f85a50fe60"}, - {file = "cryptography-42.0.7-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4f698edacf9c9e0371112792558d2f705b5645076cc0aaae02f816a0171770fd"}, - {file = "cryptography-42.0.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5482e789294854c28237bba77c4c83be698be740e31a3ae5e879ee5444166582"}, - {file = "cryptography-42.0.7-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e9b2a6309f14c0497f348d08a065d52f3020656f675819fc405fb63bbcd26562"}, - {file = "cryptography-42.0.7-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d8e3098721b84392ee45af2dd554c947c32cc52f862b6a3ae982dbb90f577f14"}, - {file = "cryptography-42.0.7-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c65f96dad14f8528a447414125e1fc8feb2ad5a272b8f68477abbcc1ea7d94b9"}, - {file = "cryptography-42.0.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:36017400817987670037fbb0324d71489b6ead6231c9604f8fc1f7d008087c68"}, - {file = "cryptography-42.0.7.tar.gz", hash = "sha256:ecbfbc00bf55888edda9868a4cf927205de8499e7fabe6c050322298382953f2"}, + {file = "cryptography-42.0.8-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:81d8a521705787afe7a18d5bfb47ea9d9cc068206270aad0b96a725022e18d2e"}, + {file = "cryptography-42.0.8-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:961e61cefdcb06e0c6d7e3a1b22ebe8b996eb2bf50614e89384be54c48c6b63d"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3ec3672626e1b9e55afd0df6d774ff0e953452886e06e0f1eb7eb0c832e8902"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e599b53fd95357d92304510fb7bda8523ed1f79ca98dce2f43c115950aa78801"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:5226d5d21ab681f432a9c1cf8b658c0cb02533eece706b155e5fbd8a0cdd3949"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:6b7c4f03ce01afd3b76cf69a5455caa9cfa3de8c8f493e0d3ab7d20611c8dae9"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:2346b911eb349ab547076f47f2e035fc8ff2c02380a7cbbf8d87114fa0f1c583"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:ad803773e9df0b92e0a817d22fd8a3675493f690b96130a5e24f1b8fabbea9c7"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2f66d9cd9147ee495a8374a45ca445819f8929a3efcd2e3df6428e46c3cbb10b"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:d45b940883a03e19e944456a558b67a41160e367a719833c53de6911cabba2b7"}, + {file = "cryptography-42.0.8-cp37-abi3-win32.whl", hash = "sha256:a0c5b2b0585b6af82d7e385f55a8bc568abff8923af147ee3c07bd8b42cda8b2"}, + {file = "cryptography-42.0.8-cp37-abi3-win_amd64.whl", hash = "sha256:57080dee41209e556a9a4ce60d229244f7a66ef52750f813bfbe18959770cfba"}, + {file = "cryptography-42.0.8-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:dea567d1b0e8bc5764b9443858b673b734100c2871dc93163f58c46a97a83d28"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4783183f7cb757b73b2ae9aed6599b96338eb957233c58ca8f49a49cc32fd5e"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0608251135d0e03111152e41f0cc2392d1e74e35703960d4190b2e0f4ca9c70"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:dc0fdf6787f37b1c6b08e6dfc892d9d068b5bdb671198c72072828b80bd5fe4c"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:9c0c1716c8447ee7dbf08d6db2e5c41c688544c61074b54fc4564196f55c25a7"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:fff12c88a672ab9c9c1cf7b0c80e3ad9e2ebd9d828d955c126be4fd3e5578c9e"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:cafb92b2bc622cd1aa6a1dce4b93307792633f4c5fe1f46c6b97cf67073ec961"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:31f721658a29331f895a5a54e7e82075554ccfb8b163a18719d342f5ffe5ecb1"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b297f90c5723d04bcc8265fc2a0f86d4ea2e0f7ab4b6994459548d3a6b992a14"}, + {file = "cryptography-42.0.8-cp39-abi3-win32.whl", hash = "sha256:2f88d197e66c65be5e42cd72e5c18afbfae3f741742070e3019ac8f4ac57262c"}, + {file = "cryptography-42.0.8-cp39-abi3-win_amd64.whl", hash = "sha256:fa76fbb7596cc5839320000cdd5d0955313696d9511debab7ee7278fc8b5c84a"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ba4f0a211697362e89ad822e667d8d340b4d8d55fae72cdd619389fb5912eefe"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:81884c4d096c272f00aeb1f11cf62ccd39763581645b0812e99a91505fa48e0c"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c9bb2ae11bfbab395bdd072985abde58ea9860ed84e59dbc0463a5d0159f5b71"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7016f837e15b0a1c119d27ecd89b3515f01f90a8615ed5e9427e30d9cdbfed3d"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5a94eccb2a81a309806027e1670a358b99b8fe8bfe9f8d329f27d72c094dde8c"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dec9b018df185f08483f294cae6ccac29e7a6e0678996587363dc352dc65c842"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:343728aac38decfdeecf55ecab3264b015be68fc2816ca800db649607aeee648"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:013629ae70b40af70c9a7a5db40abe5d9054e6f4380e50ce769947b73bf3caad"}, + {file = "cryptography-42.0.8.tar.gz", hash = "sha256:8d09d05439ce7baa8e9e95b07ec5b6c886f548deb7e0f69ef25f64b3bce842f2"}, ] [package.dependencies] @@ -501,13 +491,13 @@ jsonpointer = ">=1.9" [[package]] name = "jsonpointer" -version = "2.4" +version = "3.0.0" description = "Identify specific nodes in a JSON document (RFC 6901)" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" +python-versions = ">=3.7" files = [ - {file = "jsonpointer-2.4-py2.py3-none-any.whl", hash = "sha256:15d51bba20eea3165644553647711d150376234112651b4f1811022aecad7d7a"}, - {file = "jsonpointer-2.4.tar.gz", hash = "sha256:585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88"}, + {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"}, + {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"}, ] [[package]] @@ -566,13 +556,13 @@ extended-testing = ["jinja2 (>=3,<4)"] [[package]] name = "langsmith" -version = "0.1.60" +version = "0.1.76" description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform." optional = false python-versions = "<4.0,>=3.8.1" files = [ - {file = "langsmith-0.1.60-py3-none-any.whl", hash = "sha256:3c3520ea473de0a984237b3e9d638fdf23ef3acc5aec89a42e693225e72d6120"}, - {file = "langsmith-0.1.60.tar.gz", hash = "sha256:6a145b5454437f9e0f81525f23c4dcdbb8c07b1c91553b8f697456c418d6a599"}, + {file = "langsmith-0.1.76-py3-none-any.whl", hash = "sha256:4b8cb14f2233d9673ce9e6e3d545359946d9690a2c1457ab01e7459ec97b964e"}, + {file = "langsmith-0.1.76.tar.gz", hash = "sha256:5829f997495c0f9a39f91fe0a57e0cb702e8642e6948945f5bb9f46337db7732"}, ] [package.dependencies] @@ -651,57 +641,57 @@ files = [ [[package]] name = "orjson" -version = "3.10.3" +version = "3.10.4" description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" optional = false python-versions = ">=3.8" files = [ - {file = "orjson-3.10.3-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9fb6c3f9f5490a3eb4ddd46fc1b6eadb0d6fc16fb3f07320149c3286a1409dd8"}, - {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:252124b198662eee80428f1af8c63f7ff077c88723fe206a25df8dc57a57b1fa"}, - {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9f3e87733823089a338ef9bbf363ef4de45e5c599a9bf50a7a9b82e86d0228da"}, - {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c8334c0d87103bb9fbbe59b78129f1f40d1d1e8355bbed2ca71853af15fa4ed3"}, - {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1952c03439e4dce23482ac846e7961f9d4ec62086eb98ae76d97bd41d72644d7"}, - {file = "orjson-3.10.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c0403ed9c706dcd2809f1600ed18f4aae50be263bd7112e54b50e2c2bc3ebd6d"}, - {file = "orjson-3.10.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:382e52aa4270a037d41f325e7d1dfa395b7de0c367800b6f337d8157367bf3a7"}, - {file = "orjson-3.10.3-cp310-none-win32.whl", hash = "sha256:be2aab54313752c04f2cbaab4515291ef5af8c2256ce22abc007f89f42f49109"}, - {file = "orjson-3.10.3-cp310-none-win_amd64.whl", hash = "sha256:416b195f78ae461601893f482287cee1e3059ec49b4f99479aedf22a20b1098b"}, - {file = "orjson-3.10.3-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:73100d9abbbe730331f2242c1fc0bcb46a3ea3b4ae3348847e5a141265479700"}, - {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:544a12eee96e3ab828dbfcb4d5a0023aa971b27143a1d35dc214c176fdfb29b3"}, - {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:520de5e2ef0b4ae546bea25129d6c7c74edb43fc6cf5213f511a927f2b28148b"}, - {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ccaa0a401fc02e8828a5bedfd80f8cd389d24f65e5ca3954d72c6582495b4bcf"}, - {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7bc9e8bc11bac40f905640acd41cbeaa87209e7e1f57ade386da658092dc16"}, - {file = "orjson-3.10.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3582b34b70543a1ed6944aca75e219e1192661a63da4d039d088a09c67543b08"}, - {file = "orjson-3.10.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1c23dfa91481de880890d17aa7b91d586a4746a4c2aa9a145bebdbaf233768d5"}, - {file = "orjson-3.10.3-cp311-none-win32.whl", hash = "sha256:1770e2a0eae728b050705206d84eda8b074b65ee835e7f85c919f5705b006c9b"}, - {file = "orjson-3.10.3-cp311-none-win_amd64.whl", hash = "sha256:93433b3c1f852660eb5abdc1f4dd0ced2be031ba30900433223b28ee0140cde5"}, - {file = "orjson-3.10.3-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:a39aa73e53bec8d410875683bfa3a8edf61e5a1c7bb4014f65f81d36467ea098"}, - {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0943a96b3fa09bee1afdfccc2cb236c9c64715afa375b2af296c73d91c23eab2"}, - {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e852baafceff8da3c9defae29414cc8513a1586ad93e45f27b89a639c68e8176"}, - {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18566beb5acd76f3769c1d1a7ec06cdb81edc4d55d2765fb677e3eaa10fa99e0"}, - {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bd2218d5a3aa43060efe649ec564ebedec8ce6ae0a43654b81376216d5ebd42"}, - {file = "orjson-3.10.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cf20465e74c6e17a104ecf01bf8cd3b7b252565b4ccee4548f18b012ff2f8069"}, - {file = "orjson-3.10.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ba7f67aa7f983c4345eeda16054a4677289011a478ca947cd69c0a86ea45e534"}, - {file = "orjson-3.10.3-cp312-none-win32.whl", hash = "sha256:17e0713fc159abc261eea0f4feda611d32eabc35708b74bef6ad44f6c78d5ea0"}, - {file = "orjson-3.10.3-cp312-none-win_amd64.whl", hash = "sha256:4c895383b1ec42b017dd2c75ae8a5b862fc489006afde06f14afbdd0309b2af0"}, - {file = "orjson-3.10.3-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:be2719e5041e9fb76c8c2c06b9600fe8e8584e6980061ff88dcbc2691a16d20d"}, - {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0175a5798bdc878956099f5c54b9837cb62cfbf5d0b86ba6d77e43861bcec2"}, - {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:978be58a68ade24f1af7758626806e13cff7748a677faf95fbb298359aa1e20d"}, - {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16bda83b5c61586f6f788333d3cf3ed19015e3b9019188c56983b5a299210eb5"}, - {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ad1f26bea425041e0a1adad34630c4825a9e3adec49079b1fb6ac8d36f8b754"}, - {file = "orjson-3.10.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:9e253498bee561fe85d6325ba55ff2ff08fb5e7184cd6a4d7754133bd19c9195"}, - {file = "orjson-3.10.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0a62f9968bab8a676a164263e485f30a0b748255ee2f4ae49a0224be95f4532b"}, - {file = "orjson-3.10.3-cp38-none-win32.whl", hash = "sha256:8d0b84403d287d4bfa9bf7d1dc298d5c1c5d9f444f3737929a66f2fe4fb8f134"}, - {file = "orjson-3.10.3-cp38-none-win_amd64.whl", hash = "sha256:8bc7a4df90da5d535e18157220d7915780d07198b54f4de0110eca6b6c11e290"}, - {file = "orjson-3.10.3-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9059d15c30e675a58fdcd6f95465c1522b8426e092de9fff20edebfdc15e1cb0"}, - {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d40c7f7938c9c2b934b297412c067936d0b54e4b8ab916fd1a9eb8f54c02294"}, - {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d4a654ec1de8fdaae1d80d55cee65893cb06494e124681ab335218be6a0691e7"}, - {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:831c6ef73f9aa53c5f40ae8f949ff7681b38eaddb6904aab89dca4d85099cb78"}, - {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99b880d7e34542db89f48d14ddecbd26f06838b12427d5a25d71baceb5ba119d"}, - {file = "orjson-3.10.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2e5e176c994ce4bd434d7aafb9ecc893c15f347d3d2bbd8e7ce0b63071c52e25"}, - {file = "orjson-3.10.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b69a58a37dab856491bf2d3bbf259775fdce262b727f96aafbda359cb1d114d8"}, - {file = "orjson-3.10.3-cp39-none-win32.whl", hash = "sha256:b8d4d1a6868cde356f1402c8faeb50d62cee765a1f7ffcfd6de732ab0581e063"}, - {file = "orjson-3.10.3-cp39-none-win_amd64.whl", hash = "sha256:5102f50c5fc46d94f2033fe00d392588564378260d64377aec702f21a7a22912"}, - {file = "orjson-3.10.3.tar.gz", hash = "sha256:2b166507acae7ba2f7c315dcf185a9111ad5e992ac81f2d507aac39193c2c818"}, + {file = "orjson-3.10.4-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:afca963f19ca60c7aedadea9979f769139127288dd58ccf3f7c5e8e6dc62cabf"}, + {file = "orjson-3.10.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42b112eff36ba7ccc7a9d6b87e17b9d6bde4312d05e3ddf66bf5662481dee846"}, + {file = "orjson-3.10.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02b192eaba048b1039eca9a0cef67863bd5623042f5c441889a9957121d97e14"}, + {file = "orjson-3.10.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:827c3d0e4fc44242c82bfdb1a773235b8c0575afee99a9fa9a8ce920c14e440f"}, + {file = "orjson-3.10.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca8ec09724f10ec209244caeb1f9f428b6bb03f2eda9ed5e2c4dd7f2b7fabd44"}, + {file = "orjson-3.10.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8eaa5d531a8fde11993cbcb27e9acf7d9c457ba301adccb7fa3a021bfecab46c"}, + {file = "orjson-3.10.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e112aa7fc4ea67367ec5e86c39a6bb6c5719eddc8f999087b1759e765ddaf2d4"}, + {file = "orjson-3.10.4-cp310-none-win32.whl", hash = "sha256:1538844fb88446c42da3889f8c4ecce95a630b5a5ba18ecdfe5aea596f4dff21"}, + {file = "orjson-3.10.4-cp310-none-win_amd64.whl", hash = "sha256:de02811903a2e434127fba5389c3cc90f689542339a6e52e691ab7f693407b5a"}, + {file = "orjson-3.10.4-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:358afaec75de7237dfea08e6b1b25d226e33a1e3b6dc154fc99eb697f24a1ffa"}, + {file = "orjson-3.10.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb4e292c3198ab3d93e5f877301d2746be4ca0ba2d9c513da5e10eb90e19ff52"}, + {file = "orjson-3.10.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5c39e57cf6323a39238490092985d5d198a7da4a3be013cc891a33fef13a536e"}, + {file = "orjson-3.10.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f86df433fc01361ff9270ad27455ce1ad43cd05e46de7152ca6adb405a16b2f6"}, + {file = "orjson-3.10.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c9966276a2c97e93e6cbe8286537f88b2a071827514f0d9d47a0aefa77db458"}, + {file = "orjson-3.10.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c499a14155a1f5a1e16e0cd31f6cf6f93965ac60a0822bc8340e7e2d3dac1108"}, + {file = "orjson-3.10.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3087023ce904a327c29487eb7e1f2c060070e8dbb9a3991b8e7952a9c6e62f38"}, + {file = "orjson-3.10.4-cp311-none-win32.whl", hash = "sha256:f965893244fe348b59e5ce560693e6dd03368d577ce26849b5d261ce31c70101"}, + {file = "orjson-3.10.4-cp311-none-win_amd64.whl", hash = "sha256:c212f06fad6aa6ce85d5665e91a83b866579f29441a47d3865c57329c0857357"}, + {file = "orjson-3.10.4-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:d0965a8b0131959833ca8a65af60285995d57ced0de2fd8f16fc03235975d238"}, + {file = "orjson-3.10.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27b64695d9f2aef3ae15a0522e370ec95c946aaea7f2c97a1582a62b3bdd9169"}, + {file = "orjson-3.10.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:867d882ddee6a20be4c8b03ae3d2b0333894d53ad632d32bd9b8123649577171"}, + {file = "orjson-3.10.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a0667458f8a8ceb6dee5c08fec0b46195f92c474cbbec71dca2a6b7fd5b67b8d"}, + {file = "orjson-3.10.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3eac9befc4eaec1d1ff3bba6210576be4945332dde194525601c5ddb5c060d3"}, + {file = "orjson-3.10.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4343245443552eae240a33047a6d1bcac7a754ad4b1c57318173c54d7efb9aea"}, + {file = "orjson-3.10.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:30153e269eea43e98918d4d462a36a7065031d9246407dfff2579a4e457515c1"}, + {file = "orjson-3.10.4-cp312-none-win32.whl", hash = "sha256:1a7d092ee043abf3db19c2183115e80676495c9911843fdb3ebd48ca7b73079e"}, + {file = "orjson-3.10.4-cp312-none-win_amd64.whl", hash = "sha256:07a2adbeb8b9efe6d68fc557685954a1f19d9e33f5cc018ae1a89e96647c1b65"}, + {file = "orjson-3.10.4-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:f5a746f3d908bce1a1e347b9ca89864047533bdfab5a450066a0315f6566527b"}, + {file = "orjson-3.10.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:465b4a8a3e459f8d304c19071b4badaa9b267c59207a005a7dd9dfe13d3a423f"}, + {file = "orjson-3.10.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:35858d260728c434a3d91b60685ab32418318567e8902039837e1c2af2719e0b"}, + {file = "orjson-3.10.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8a5ba090d40c4460312dd69c232b38c2ff67a823185cfe667e841c9dd5c06841"}, + {file = "orjson-3.10.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5dde86755d064664e62e3612a166c28298aa8dfd35a991553faa58855ae739cc"}, + {file = "orjson-3.10.4-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:020a9e9001cfec85c156ef3b185ff758b62ef986cefdb8384c4579facd5ce126"}, + {file = "orjson-3.10.4-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:3bf8e6e3388a2e83a86466c912387e0f0a765494c65caa7e865f99969b76ba0d"}, + {file = "orjson-3.10.4-cp38-none-win32.whl", hash = "sha256:c5a1cca6a4a3129db3da68a25dc0a459a62ae58e284e363b35ab304202d9ba9e"}, + {file = "orjson-3.10.4-cp38-none-win_amd64.whl", hash = "sha256:ecd97d98d7bee3e3d51d0b51c92c457f05db4993329eea7c69764f9820e27eb3"}, + {file = "orjson-3.10.4-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:71362daa330a2fc85553a1469185ac448547392a8f83d34e67779f8df3a52743"}, + {file = "orjson-3.10.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d24b59d1fecb0fd080c177306118a143f7322335309640c55ed9580d2044e363"}, + {file = "orjson-3.10.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e906670aea5a605b083ebb58d575c35e88cf880fa372f7cedaac3d51e98ff164"}, + {file = "orjson-3.10.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ce32ed4bc4d632268e4978e595fe5ea07e026b751482b4a0feec48f66a90abc"}, + {file = "orjson-3.10.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1dcd34286246e0c5edd0e230d1da2daab2c1b465fcb6bac85b8d44057229d40a"}, + {file = "orjson-3.10.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c45d4b8c403e50beedb1d006a8916d9910ed56bceaf2035dc253618b44d0a161"}, + {file = "orjson-3.10.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:aaed3253041b5002a4f5bfdf6f7b5cce657d974472b0699a469d439beba40381"}, + {file = "orjson-3.10.4-cp39-none-win32.whl", hash = "sha256:9a4f41b7dbf7896f8dbf559b9b43dcd99e31e0d49ac1b59d74f52ce51ab10eb9"}, + {file = "orjson-3.10.4-cp39-none-win_amd64.whl", hash = "sha256:6c4eb7d867ed91cb61e6514cb4f457aa01d7b0fd663089df60a69f3d38b69d4c"}, + {file = "orjson-3.10.4.tar.gz", hash = "sha256:c912ed25b787c73fe994a5decd81c3f3b256599b8a87d410d799d5d52013af2a"}, ] [[package]] @@ -780,17 +770,6 @@ files = [ dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] -[[package]] -name = "py" -version = "1.11.0" -description = "library with cross-python path, ini-parsing, io, code, log facilities" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, - {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, -] - [[package]] name = "pycparser" version = "2.22" @@ -929,27 +908,25 @@ files = [ [[package]] name = "pytest" -version = "6.2.5" +version = "8.2.2" description = "pytest: simple powerful testing with Python" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"}, - {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"}, + {file = "pytest-8.2.2-py3-none-any.whl", hash = "sha256:c434598117762e2bd304e526244f67bf66bbd7b5d6cf22138be51ff661980343"}, + {file = "pytest-8.2.2.tar.gz", hash = "sha256:de4bb8104e201939ccdc688b27a89a7be2079b22e2bd2b07f806b6ba71117977"}, ] [package.dependencies] -atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} -attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} iniconfig = "*" packaging = "*" -pluggy = ">=0.12,<2.0" -py = ">=1.8.2" -toml = "*" +pluggy = ">=1.5,<2.0" +tomli = {version = ">=1", markers = "python_version < \"3.11\""} [package.extras] -testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] +dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] [[package]] name = "pytest-mock" @@ -1066,13 +1043,13 @@ files = [ [[package]] name = "requests" -version = "2.32.1" +version = "2.32.3" description = "Python HTTP for Humans." optional = false python-versions = ">=3.8" files = [ - {file = "requests-2.32.1-py3-none-any.whl", hash = "sha256:21ac9465cdf8c1650fe1ecde8a71669a93d4e6f147550483a2967d08396a56a5"}, - {file = "requests-2.32.1.tar.gz", hash = "sha256:eb97e87e64c79e64e5b8ac75cee9dd1f97f49e289b083ee6be96268930725685"}, + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, ] [package.dependencies] @@ -1134,19 +1111,18 @@ fixture = ["fixtures"] [[package]] name = "setuptools" -version = "69.5.1" +version = "70.0.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-69.5.1-py3-none-any.whl", hash = "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"}, - {file = "setuptools-69.5.1.tar.gz", hash = "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987"}, + {file = "setuptools-70.0.0-py3-none-any.whl", hash = "sha256:54faa7f2e8d2d11bcd2c07bed282eef1046b5c080d1c32add737d7b5817b1ad4"}, + {file = "setuptools-70.0.0.tar.gz", hash = "sha256:f211a66637b8fa059bb28183da127d4e86396c991a942b028c6650d4319c3fd0"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "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)", "importlib-metadata", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "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.2)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] [[package]] name = "six" @@ -1175,25 +1151,25 @@ doc = ["reno", "sphinx"] test = ["pytest", "tornado (>=4.5)", "typeguard"] [[package]] -name = "toml" -version = "0.10.2" -description = "Python Library for Tom's Obvious, Minimal Language" +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +python-versions = ">=3.7" files = [ - {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, - {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] [[package]] name = "typing-extensions" -version = "4.11.0" +version = "4.12.2" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.11.0-py3-none-any.whl", hash = "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"}, - {file = "typing_extensions-4.11.0.tar.gz", hash = "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0"}, + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] [[package]] @@ -1323,4 +1299,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "^3.9,<3.12" -content-hash = "656a09cf041cb51ce84e287501b40bd60394c28750360db74d7c8fc4b7f291f7" +content-hash = "79ff640cd8bc744998dc27b4604f3bde3e2fe568e018f38b8b05fc764fd479bd" diff --git a/airbyte-integrations/connectors/source-vitally/pyproject.toml b/airbyte-integrations/connectors/source-vitally/pyproject.toml index d22b90ed6f16..8b551d7d22d6 100644 --- a/airbyte-integrations/connectors/source-vitally/pyproject.toml +++ b/airbyte-integrations/connectors/source-vitally/pyproject.toml @@ -3,17 +3,16 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.1.2" +version = "0.1.3" name = "source-vitally" -description = "Source implementation for Vitally." -authors = [ "Elliot Trabac ",] +description = "Source implementation for vitally." +authors = [ "Airbyte ",] license = "MIT" readme = "README.md" documentation = "https://docs.airbyte.com/integrations/sources/vitally" homepage = "https://airbyte.com" repository = "https://github.com/airbytehq/airbyte" -[[tool.poetry.packages]] -include = "source_vitally" +packages = [ { include = "source_vitally" }, {include = "main.py" } ] [tool.poetry.dependencies] python = "^3.9,<3.12" @@ -23,6 +22,6 @@ airbyte-cdk = "1.0.0" source-vitally = "source_vitally.run:run" [tool.poetry.group.dev.dependencies] -requests-mock = "^1.9.3" -pytest = "^6.1" -pytest-mock = "^3.6.1" +requests-mock = "*" +pytest-mock = "*" +pytest = "*" diff --git a/airbyte-integrations/connectors/source-vitally/requirements.txt b/airbyte-integrations/connectors/source-vitally/requirements.txt deleted file mode 100644 index d6e1198b1ab1..000000000000 --- a/airbyte-integrations/connectors/source-vitally/requirements.txt +++ /dev/null @@ -1 +0,0 @@ --e . diff --git a/airbyte-integrations/connectors/source-vitally/source_vitally/__init__.py b/airbyte-integrations/connectors/source-vitally/source_vitally/__init__.py index a6d348e18338..13940ba6c453 100644 --- a/airbyte-integrations/connectors/source-vitally/source_vitally/__init__.py +++ b/airbyte-integrations/connectors/source-vitally/source_vitally/__init__.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # diff --git a/airbyte-integrations/connectors/source-vitally/source_vitally/manifest.yaml b/airbyte-integrations/connectors/source-vitally/source_vitally/manifest.yaml index 4971e2fff7f3..9a7a1eb87be0 100644 --- a/airbyte-integrations/connectors/source-vitally/source_vitally/manifest.yaml +++ b/airbyte-integrations/connectors/source-vitally/source_vitally/manifest.yaml @@ -1,105 +1,895 @@ -version: "0.29.0" +version: 0.79.1 + +type: DeclarativeSource + +check: + type: CheckStream + stream_names: + - accounts definitions: - selector: - extractor: - field_path: ["results"] - requester: - url_base: "https://rest.vitally.io/resources/" - http_method: "GET" + streams: + accounts: + type: DeclarativeStream + name: accounts + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /accounts + http_method: GET + request_parameters: + status: "{{ config['status'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: from + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: "{{ response.next }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/accounts" + admins: + type: DeclarativeStream + name: admins + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /admins + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: from + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: "{{ response.next }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/admins" + conversations: + type: DeclarativeStream + name: conversations + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /conversations + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: from + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: "{{ response.next }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/conversations" + notes: + type: DeclarativeStream + name: notes + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /notes + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: from + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: "{{ response.next }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/notes" + nps_responses: + type: DeclarativeStream + name: nps_responses + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /npsResponses + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: from + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: "{{ response.next }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/nps_responses" + organizations: + type: DeclarativeStream + name: organizations + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /organizations + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: from + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: "{{ response.next }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/organizations" + tasks: + type: DeclarativeStream + name: tasks + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /tasks + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: from + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: "{{ response.next }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/tasks" + users: + type: DeclarativeStream + name: users + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /users + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - results + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: from + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: "{{ response.next }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/users" + base_requester: + type: HttpRequester + url_base: https://rest.vitally.io/resources/ authenticator: type: BasicHttpAuthenticator username: "{{ config['api_key'] }}" - retriever: - record_selector: - $ref: "#/definitions/selector" - paginator: - type: DefaultPaginator - pagination_strategy: - type: "CursorPagination" - cursor_value: "{{ response.next }}" - page_size: 100 - page_size_option: - field_name: "limit" - inject_into: "request_parameter" - page_token_option: - type: RequestOption - field_name: "from" - inject_into: "request_parameter" - requester: - $ref: "#/definitions/requester" + password: "{{ config['nothing'] }}" - # base stream - base_stream: - retriever: - $ref: "#/definitions/retriever" +streams: + - $ref: "#/definitions/streams/accounts" + - $ref: "#/definitions/streams/admins" + - $ref: "#/definitions/streams/conversations" + - $ref: "#/definitions/streams/notes" + - $ref: "#/definitions/streams/nps_responses" + - $ref: "#/definitions/streams/organizations" + - $ref: "#/definitions/streams/tasks" + - $ref: "#/definitions/streams/users" - # stream definitions - accounts_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "accounts" - primary_key: "id" - path: "/accounts" - retriever: - $ref: "#/definitions/base_stream/retriever" - requester: - $ref: "#/definitions/requester" - request_parameters: - status: "{{ config['status'] }}" - admins_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "admins" - primary_key: "id" - path: "/admins" - conversations_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "conversations" - primary_key: "id" - path: "/conversations" - notes_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "notes" - primary_key: "id" - path: "/notes" - nps_responses_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "nps_responses" - primary_key: "id" - path: "/npsResponses" - organizations_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "organizations" - primary_key: "id" - path: "/organizations" - tasks_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "tasks" - primary_key: "id" - path: "/tasks" - users_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "users" - primary_key: "id" - path: "/users" +spec: + type: Spec + connection_specification: + type: object + $schema: http://json-schema.org/draft-07/schema# + required: + - api_key + - status + properties: + api_key: + type: string + title: API Token + description: The API Token for a Vitally account. + airbyte_secret: true + order: 0 + status: + type: string + title: Status + description: >- + Status of the Vitally accounts. One of the following values; active, + churned, activeOrChurned. + enum: + - active + - churned + - activeOrChurned + order: 1 + additionalProperties: true -streams: - - "#/definitions/accounts_stream" - - "#/definitions/admins_stream" - - "#/definitions/conversations_stream" - - "#/definitions/notes_stream" - - "#/definitions/nps_responses_stream" - - "#/definitions/organizations_stream" - - "#/definitions/tasks_stream" - - "#/definitions/users_stream" +metadata: + autoImportSchema: + accounts: false + admins: false + conversations: false + notes: false + nps_responses: false + organizations: false + tasks: false + users: false -check: - stream_names: - - "accounts" +schemas: + accounts: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + accountExecutiveId: + type: + - "null" + - string + accountOwnerId: + type: + - "null" + - string + churnedAt: + type: + - "null" + - string + format: date-time + createdAt: + type: + - "null" + - string + format: date-time + csmId: + type: + - "null" + - string + externalId: + type: + - "null" + - string + firstSeenTimestamp: + type: + - "null" + - string + format: date-time + healthScore: + type: + - "null" + - number + id: + type: + - "null" + - string + lastInboundMessageTimestamp: + type: + - "null" + - string + format: date-time + lastOutboundMessageTimestamp: + type: + - "null" + - string + format: date-time + lastSeenTimestamp: + type: + - "null" + - string + format: date-time + mrr: + type: + - "null" + - number + name: + type: + - "null" + - string + nextRenewalDate: + type: + - "null" + - string + format: date-time + npsDetractorCount: + type: + - "null" + - integer + npsPassiveCount: + type: + - "null" + - integer + npsPromoterCount: + type: + - "null" + - integer + npsScore: + type: + - "null" + - number + organizationId: + type: + - "null" + - string + segments: + type: + - "null" + - array + traits: + type: + - "null" + - object + trialEndDate: + type: + - "null" + - string + format: date-time + updatedAt: + type: + - "null" + - string + format: date-time + usersCount: + type: + - "null" + - integer + admins: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + email: + type: + - "null" + - string + id: + type: + - "null" + - string + licenseStatus: + type: + - "null" + - string + name: + type: + - "null" + - string + conversations: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + createdAt: + type: + - "null" + - string + format: date-time + externalId: + type: + - "null" + - string + id: + type: + - "null" + - string + subject: + type: + - "null" + - string + updatedAt: + type: + - "null" + - string + format: date-time + notes: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + account: + type: + - "null" + - object + accountId: + type: + - "null" + - string + author: + type: + - "null" + - string + authorId: + type: + - "null" + - string + category: + type: + - "null" + - string + categoryId: + type: + - "null" + - string + createdAt: + type: + - "null" + - string + format: date-time + externalId: + type: + - "null" + - string + id: + type: + - "null" + - string + note: + type: + - "null" + - string + noteDate: + type: + - "null" + - string + format: date-time + organization: + type: + - "null" + - string + organizationId: + type: + - "null" + - string + tag: + type: + - "null" + - array + traits: + type: + - "null" + - object + updatedAt: + type: + - "null" + - string + format: date-time + nps_responses: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + createdAt: + type: + - "null" + - string + format: date-time + dismissedAt: + type: + - "null" + - string + format: date-time + externalId: + type: + - "null" + - string + feedback: + type: + - "null" + - string + id: + type: + - "null" + - string + respondedAt: + type: + - "null" + - string + format: date-time + score: + type: + - "null" + - number + updatedAt: + type: + - "null" + - string + format: date-time + user: + type: + - "null" + - object + userId: + type: + - "null" + - string + organizations: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + accountExecutiveId: + type: + - "null" + - string + accountOwnerId: + type: + - "null" + - string + churnedAt: + type: + - "null" + - string + format: date-time + createdAt: + type: + - "null" + - string + format: date-time + csmId: + type: + - "null" + - string + externalId: + type: + - "null" + - string + id: + type: + - "null" + - string + keyRoles: + type: + - "null" + - array + mrr: + type: + - "null" + - number + name: + type: + - "null" + - string + nextRenewalDate: + type: + - "null" + - string + format: date-time + traits: + type: + - "null" + - object + trialEndDate: + type: + - "null" + - string + format: date-time + updatedAt: + type: + - "null" + - string + format: date-time + usersCount: + type: + - "null" + - integer + tasks: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + account: + type: + - "null" + - object + accountId: + type: + - "null" + - string + assignedTo: + type: + - "null" + - object + assignedToId: + type: + - "null" + - string + category: + type: + - "null" + - string + categoryId: + type: + - "null" + - string + completedAt: + type: + - "null" + - string + format: date-time + completedBy: + type: + - "null" + - string + completedById: + type: + - "null" + - string + createdAt: + type: + - "null" + - string + format: date-time + description: + type: + - "null" + - string + dueDate: + type: + - "null" + - string + format: date + externalId: + type: + - "null" + - string + id: + type: + - "null" + - string + name: + type: + - "null" + - string + organization: + type: + - "null" + - string + organizationId: + type: + - "null" + - string + projects: + type: + - "null" + - array + tag: + type: + - "null" + - array + traits: + type: + - "null" + - object + updatedAt: + type: + - "null" + - string + format: date-time + users: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + accounts: + type: + - "null" + - array + avatar: + type: + - "null" + - string + createdAt: + type: + - "null" + - string + format: date-time + deactivatedAt: + type: + - "null" + - string + format: date-time + email: + type: + - "null" + - string + externalId: + type: + - "null" + - string + firstKnown: + type: + - "null" + - string + format: date-time + id: + type: + - "null" + - string + joinDate: + type: + - "null" + - string + format: date-time + lastInboundMessageTimestamp: + type: + - "null" + - string + format: date-time + lastOutboundMessageTimestamp: + type: + - "null" + - string + format: date-time + lastSeenTimestamp: + type: + - "null" + - string + format: date-time + name: + type: + - "null" + - string + npsLastFeedback: + type: + - "null" + - string + npsLastRespondedAt: + type: + - "null" + - string + format: date-time + npsLastScore: + type: + - "null" + - number + organizations: + type: + - "null" + - array + segments: + type: + - "null" + - array + traits: + type: + - "null" + - object + unsubscribedFromConversations: + type: + - "null" + - boolean + updatedAt: + type: + - "null" + - string + format: date-time diff --git a/airbyte-integrations/connectors/source-vitally/source_vitally/run.py b/airbyte-integrations/connectors/source-vitally/source_vitally/run.py index 1c6c2f841ed9..e6073d88a1b4 100644 --- a/airbyte-integrations/connectors/source-vitally/source_vitally/run.py +++ b/airbyte-integrations/connectors/source-vitally/source_vitally/run.py @@ -1,12 +1,13 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # import sys from airbyte_cdk.entrypoint import launch -from source_vitally import SourceVitally + +from .source import SourceVitally def run(): diff --git a/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/accounts.json b/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/accounts.json deleted file mode 100644 index 28ee630e24f1..000000000000 --- a/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/accounts.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "createdAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "updatedAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "externalId": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "traits": { - "type": ["null", "object"] - }, - "organizationId": { - "type": ["null", "string"] - }, - "accountOwnerId": { - "type": ["null", "string"] - }, - "churnedAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "firstSeenTimestamp": { - "type": ["null", "string"], - "format": "date-time" - }, - "lastSeenTimestamp": { - "type": ["null", "string"], - "format": "date-time" - }, - "lastInboundMessageTimestamp": { - "type": ["null", "string"], - "format": "date-time" - }, - "lastOutboundMessageTimestamp": { - "type": ["null", "string"], - "format": "date-time" - }, - "mrr": { - "type": ["null", "number"] - }, - "nextRenewalDate": { - "type": ["null", "string"], - "format": "date-time" - }, - "trialEndDate": { - "type": ["null", "string"], - "format": "date-time" - }, - "usersCount": { - "type": ["null", "integer"] - }, - "npsDetractorCount": { - "type": ["null", "integer"] - }, - "npsPassiveCount": { - "type": ["null", "integer"] - }, - "npsPromoterCount": { - "type": ["null", "integer"] - }, - "npsScore": { - "type": ["null", "number"] - }, - "healthScore": { - "type": ["null", "number"] - }, - "csmId": { - "type": ["null", "string"] - }, - "accountExecutiveId": { - "type": ["null", "string"] - }, - "segments": { - "type": ["null", "array"] - } - } -} diff --git a/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/admins.json b/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/admins.json deleted file mode 100644 index 28e76582d6d5..000000000000 --- a/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/admins.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "email": { - "type": ["null", "string"] - }, - "licenseStatus": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/conversations.json b/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/conversations.json deleted file mode 100644 index 0e6d804bd040..000000000000 --- a/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/conversations.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "createdAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "updatedAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "externalId": { - "type": ["null", "string"] - }, - "subject": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/notes.json b/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/notes.json deleted file mode 100644 index 802b5d673874..000000000000 --- a/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/notes.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "externalId": { - "type": ["null", "string"] - }, - "organizationId": { - "type": ["null", "string"] - }, - "categoryId": { - "type": ["null", "string"] - }, - "createdAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "updatedAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "noteDate": { - "type": ["null", "string"], - "format": "date-time" - }, - "note": { - "type": ["null", "string"] - }, - "account": { - "type": ["null", "object"] - }, - "organization": { - "type": ["null", "string"] - }, - "author": { - "type": ["null", "string"] - }, - "category": { - "type": ["null", "string"] - }, - "tag": { - "type": ["null", "array"] - }, - "accountId": { - "type": ["null", "string"] - }, - "authorId": { - "type": ["null", "string"] - }, - "traits": { - "type": ["null", "object"] - } - } -} diff --git a/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/nps_responses.json b/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/nps_responses.json deleted file mode 100644 index e263835aaa8e..000000000000 --- a/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/nps_responses.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "createdAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "updatedAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "externalId": { - "type": ["null", "string"] - }, - "userId": { - "type": ["null", "string"] - }, - "user": { - "type": ["null", "object"] - }, - "dismissedAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "respondedAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "score": { - "type": ["null", "number"] - }, - "feedback": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/organizations.json b/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/organizations.json deleted file mode 100644 index 849ce45c36bc..000000000000 --- a/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/organizations.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "createdAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "updatedAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "externalId": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "traits": { - "type": ["null", "object"] - }, - "accountOwnerId": { - "type": ["null", "string"] - }, - "churnedAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "mrr": { - "type": ["null", "number"] - }, - "nextRenewalDate": { - "type": ["null", "string"], - "format": "date-time" - }, - "trialEndDate": { - "type": ["null", "string"], - "format": "date-time" - }, - "usersCount": { - "type": ["null", "integer"] - }, - "csmId": { - "type": ["null", "string"] - }, - "keyRoles": { - "type": ["null", "array"] - }, - "accountExecutiveId": { - "type": ["null", "string"] - } - } -} diff --git a/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/tasks.json b/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/tasks.json deleted file mode 100644 index 30721425a8e0..000000000000 --- a/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/tasks.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "createdAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "updatedAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "externalId": { - "type": ["null", "string"] - }, - "organizationId": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "description": { - "type": ["null", "string"] - }, - "completedAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "dueDate": { - "type": ["null", "string"], - "format": "date" - }, - "account": { - "type": ["null", "object"] - }, - "organization": { - "type": ["null", "string"] - }, - "tag": { - "type": ["null", "array"] - }, - "accountId": { - "type": ["null", "string"] - }, - "categoryId": { - "type": ["null", "string"] - }, - "assignedToId": { - "type": ["null", "string"] - }, - "completedById": { - "type": ["null", "string"] - }, - "assignedTo": { - "type": ["null", "object"] - }, - "completedBy": { - "type": ["null", "string"] - }, - "category": { - "type": ["null", "string"] - }, - "projects": { - "type": ["null", "array"] - }, - "traits": { - "type": ["null", "object"] - } - } -} diff --git a/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/users.json b/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/users.json deleted file mode 100644 index cac343e62f55..000000000000 --- a/airbyte-integrations/connectors/source-vitally/source_vitally/schemas/users.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "createdAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "updatedAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "externalId": { - "type": ["null", "string"] - }, - "accounts": { - "type": ["null", "array"] - }, - "organizations": { - "type": ["null", "array"] - }, - "name": { - "type": ["null", "string"] - }, - "email": { - "type": ["null", "string"] - }, - "avatar": { - "type": ["null", "string"] - }, - "traits": { - "type": ["null", "object"] - }, - "firstKnown": { - "type": ["null", "string"], - "format": "date-time" - }, - "lastSeenTimestamp": { - "type": ["null", "string"], - "format": "date-time" - }, - "lastInboundMessageTimestamp": { - "type": ["null", "string"], - "format": "date-time" - }, - "lastOutboundMessageTimestamp": { - "type": ["null", "string"], - "format": "date-time" - }, - "npsLastScore": { - "type": ["null", "number"] - }, - "npsLastFeedback": { - "type": ["null", "string"] - }, - "npsLastRespondedAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "unsubscribedFromConversations": { - "type": ["null", "boolean"] - }, - "deactivatedAt": { - "type": ["null", "string"], - "format": "date-time" - }, - "segments": { - "type": ["null", "array"] - }, - "joinDate": { - "type": ["null", "string"], - "format": "date-time" - } - } -} diff --git a/airbyte-integrations/connectors/source-vitally/source_vitally/source.py b/airbyte-integrations/connectors/source-vitally/source_vitally/source.py index 841b9a281f7d..578713a895c0 100644 --- a/airbyte-integrations/connectors/source-vitally/source_vitally/source.py +++ b/airbyte-integrations/connectors/source-vitally/source_vitally/source.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # from airbyte_cdk.sources.declarative.yaml_declarative_source import YamlDeclarativeSource diff --git a/airbyte-integrations/connectors/source-vitally/source_vitally/spec.yaml b/airbyte-integrations/connectors/source-vitally/source_vitally/spec.yaml deleted file mode 100644 index 57c75bd02c12..000000000000 --- a/airbyte-integrations/connectors/source-vitally/source_vitally/spec.yaml +++ /dev/null @@ -1,23 +0,0 @@ -documentationUrl: https://docs.airbyte.com/integrations/sources/vitally -connectionSpecification: - $schema: http://json-schema.org/draft-07/schema# - title: Vitally Spec - type: object - required: - - api_key - - status - additionalProperties: true - properties: - api_key: - type: string - title: API Token - description: The API Token for a Vitally account. - airbyte_secret: true - status: - type: string - title: Status - description: Status of the Vitally accounts. One of the following values; active, churned, activeOrChurned. - enum: - - active - - churned - - activeOrChurned diff --git a/airbyte-integrations/connectors/source-whisky-hunter/metadata.yaml b/airbyte-integrations/connectors/source-whisky-hunter/metadata.yaml index 0ff5b654b07b..694df2ca2e24 100644 --- a/airbyte-integrations/connectors/source-whisky-hunter/metadata.yaml +++ b/airbyte-integrations/connectors/source-whisky-hunter/metadata.yaml @@ -2,7 +2,7 @@ data: connectorSubtype: api connectorType: source definitionId: e65f84c0-7598-458a-bfac-f770c381ff5d - dockerImageTag: 0.1.2 + dockerImageTag: 0.1.3 dockerRepository: airbyte/source-whisky-hunter githubIssueLabel: source-whisky-hunter icon: whiskyhunter.svg @@ -35,5 +35,5 @@ data: type: GSM alias: airbyte-connector-testing-secret-store connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 metadataSpecVersion: "1.0" diff --git a/airbyte-integrations/connectors/source-whisky-hunter/pyproject.toml b/airbyte-integrations/connectors/source-whisky-hunter/pyproject.toml index ca005df8b229..bf712ca9863a 100644 --- a/airbyte-integrations/connectors/source-whisky-hunter/pyproject.toml +++ b/airbyte-integrations/connectors/source-whisky-hunter/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.1.2" +version = "0.1.3" name = "source-whisky-hunter" description = "Source implementation for Whisky Hunter." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-xkcd/metadata.yaml b/airbyte-integrations/connectors/source-xkcd/metadata.yaml index 86b866a6c32e..f8a16e5a55c5 100644 --- a/airbyte-integrations/connectors/source-xkcd/metadata.yaml +++ b/airbyte-integrations/connectors/source-xkcd/metadata.yaml @@ -2,7 +2,7 @@ data: connectorSubtype: api connectorType: source definitionId: 80fddd16-17bd-4c0c-bf4a-80df7863fc9d - dockerImageTag: 0.1.2 + dockerImageTag: 0.1.3 dockerRepository: airbyte/source-xkcd githubIssueLabel: source-xkcd icon: xkcd.svg @@ -36,5 +36,5 @@ data: type: GSM alias: airbyte-connector-testing-secret-store connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 metadataSpecVersion: "1.0" diff --git a/airbyte-integrations/connectors/source-xkcd/pyproject.toml b/airbyte-integrations/connectors/source-xkcd/pyproject.toml index b54713263bd8..3bead9e19c4c 100644 --- a/airbyte-integrations/connectors/source-xkcd/pyproject.toml +++ b/airbyte-integrations/connectors/source-xkcd/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.1.2" +version = "0.1.3" name = "source-xkcd" description = "Source implementation for Xkcd." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-yotpo/Dockerfile b/airbyte-integrations/connectors/source-yotpo/Dockerfile deleted file mode 100644 index 2616324339ad..000000000000 --- a/airbyte-integrations/connectors/source-yotpo/Dockerfile +++ /dev/null @@ -1,38 +0,0 @@ -FROM python:3.9.11-alpine3.15 as base - -# build and load all requirements -FROM base as builder -WORKDIR /airbyte/integration_code - -# upgrade pip to the latest version -RUN apk --no-cache upgrade \ - && pip install --upgrade pip \ - && apk --no-cache add tzdata build-base - - -COPY setup.py ./ -# install necessary packages to a temporary folder -RUN pip install --prefix=/install . - -# build a clean environment -FROM base -WORKDIR /airbyte/integration_code - -# copy all loaded and built libraries to a pure basic image -COPY --from=builder /install /usr/local -# add default timezone settings -COPY --from=builder /usr/share/zoneinfo/Etc/UTC /etc/localtime -RUN echo "Etc/UTC" > /etc/timezone - -# bash is installed for more convenient debugging. -RUN apk --no-cache add bash - -# copy payload code only -COPY main.py ./ -COPY source_yotpo ./source_yotpo - -ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py" -ENTRYPOINT ["python", "/airbyte/integration_code/main.py"] - -LABEL io.airbyte.version=0.1.0 -LABEL io.airbyte.name=airbyte/source-yotpo diff --git a/airbyte-integrations/connectors/source-yotpo/README.md b/airbyte-integrations/connectors/source-yotpo/README.md index 1ad2649859a4..8f51ae57d82b 100644 --- a/airbyte-integrations/connectors/source-yotpo/README.md +++ b/airbyte-integrations/connectors/source-yotpo/README.md @@ -1,42 +1,56 @@ -# Yotpo Source +# Yotpo source connector -This is the repository for the Yotpo configuration based source connector. + +This is the repository for the Yotpo source connector, written in Python. For information about how to use this connector within Airbyte, see [the documentation](https://docs.airbyte.com/integrations/sources/yotpo). ## Local development -#### Create credentials +### Prerequisites +* Python (~=3.9) +* Poetry (~=1.7) - installation instructions [here](https://python-poetry.org/docs/#installation) + + +### Installing the connector +From this connector directory, run: +```bash +poetry install --with dev +``` + +### Create credentials **If you are a community contributor**, follow the instructions in the [documentation](https://docs.airbyte.com/integrations/sources/yotpo) to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `source_yotpo/spec.yaml` file. Note that any directory named `secrets` is gitignored across the entire Airbyte repo, so there is no danger of accidentally checking in sensitive information. -See `integration_tests/sample_config.json` for a sample config file. +See `sample_files/sample_config.json` for a sample config file. -**If you are an Airbyte core member**, copy the credentials in Lastpass under the secret name `source yotpo test creds` -and place them into `secrets/config.json`. -### Locally running the connector docker image - -#### Build +### Locally running the connector +``` +poetry run source-yotpo spec +poetry run source-yotpo check --config secrets/config.json +poetry run source-yotpo discover --config secrets/config.json +poetry run source-yotpo read --config secrets/config.json --catalog sample_files/configured_catalog.json +``` -**Via [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md) (recommended):** +### Running unit tests +To run unit tests locally, from the connector directory run: +``` +poetry run pytest unit_tests +``` +### Building the docker image +1. Install [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md) +2. Run the following command to build the docker image: ```bash airbyte-ci connectors --name=source-yotpo build ``` -An image will be built with the tag `airbyte/source-yotpo:dev`. - -**Via `docker build`:** +An image will be available on your host with the tag `airbyte/source-yotpo:dev`. -```bash -docker build -t airbyte/source-yotpo:dev . -``` - -#### Run +### Running as a docker container Then run any of the connector commands as follows: - ``` docker run --rm airbyte/source-yotpo:dev spec docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-yotpo:dev check --config /secrets/config.json @@ -44,35 +58,34 @@ docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-yotpo:dev discover --c docker run --rm -v $(pwd)/secrets:/secrets -v $(pwd)/integration_tests:/integration_tests airbyte/source-yotpo:dev read --config /secrets/config.json --catalog /integration_tests/configured_catalog.json ``` -## Testing - +### Running our CI test suite You can run our full test suite locally using [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md): - ```bash airbyte-ci connectors --name=source-yotpo test ``` ### Customizing acceptance Tests - -Customize `acceptance-test-config.yml` file to configure tests. See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) for more information. +Customize `acceptance-test-config.yml` file to configure acceptance tests. See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) for more information. If your connector requires to create or destroy resources for use during acceptance tests create fixtures for it and place them inside integration_tests/acceptance.py. -## Dependency Management - -All of your dependencies should go in `setup.py`, NOT `requirements.txt`. The requirements file is only used to connect internal Airbyte dependencies in the monorepo for local development. -We split dependencies between two groups, dependencies that are: - -- required for your connector to work need to go to `MAIN_REQUIREMENTS` list. -- required for the testing need to go to `TEST_REQUIREMENTS` list +### Dependency Management +All of your dependencies should be managed via Poetry. +To add a new dependency, run: +```bash +poetry add +``` -### Publishing a new version of the connector +Please commit the changes to `pyproject.toml` and `poetry.lock` files. +## Publishing a new version of the connector You've checked out the repo, implemented a million dollar feature, and you're ready to share your changes with the world. Now what? - 1. Make sure your changes are passing our test suite: `airbyte-ci connectors --name=source-yotpo test` -2. Bump the connector version in `metadata.yaml`: increment the `dockerImageTag` value. Please follow [semantic versioning for connectors](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#semantic-versioning-for-connectors). +2. Bump the connector version (please follow [semantic versioning for connectors](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#semantic-versioning-for-connectors)): + - bump the `dockerImageTag` value in in `metadata.yaml` + - bump the `version` value in `pyproject.toml` 3. Make sure the `metadata.yaml` content is up to date. -4. Make the connector documentation and its changelog is up to date (`docs/integrations/sources/yotpo.md`). +4. Make sure the connector documentation and its changelog is up to date (`docs/integrations/sources/yotpo.md`). 5. Create a Pull Request: use [our PR naming conventions](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#pull-request-title-convention). 6. Pat yourself on the back for being an awesome contributor. 7. Someone from Airbyte will take a look at your PR and iterate with you to merge it into master. +8. Once your PR is merged, the new version of the connector will be automatically published to Docker Hub and our connector registry. \ No newline at end of file diff --git a/airbyte-integrations/connectors/source-yotpo/metadata.yaml b/airbyte-integrations/connectors/source-yotpo/metadata.yaml index 32c5a38fca37..005cd6c4aae0 100644 --- a/airbyte-integrations/connectors/source-yotpo/metadata.yaml +++ b/airbyte-integrations/connectors/source-yotpo/metadata.yaml @@ -2,7 +2,7 @@ data: connectorSubtype: api connectorType: source definitionId: 18139f00-b1ba-4971-8f80-8387b617cfd8 - dockerImageTag: 0.1.0 + dockerImageTag: 0.1.1 dockerRepository: airbyte/source-yotpo githubIssueLabel: source-yotpo icon: yotpo.svg @@ -34,4 +34,6 @@ data: secretStore: type: GSM alias: airbyte-connector-testing-secret-store + connectorBuildOptions: + baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 metadataSpecVersion: "1.0" diff --git a/airbyte-integrations/connectors/source-yotpo/poetry.lock b/airbyte-integrations/connectors/source-yotpo/poetry.lock new file mode 100644 index 000000000000..ff1a76d4a89a --- /dev/null +++ b/airbyte-integrations/connectors/source-yotpo/poetry.lock @@ -0,0 +1,1325 @@ +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. + +[[package]] +name = "airbyte-cdk" +version = "0.90.0" +description = "A framework for writing Airbyte Connectors." +optional = false +python-versions = "<4.0,>=3.9" +files = [ + {file = "airbyte_cdk-0.90.0-py3-none-any.whl", hash = "sha256:bd0aa5843cdc4901f2e482f0e86695ca4e6db83b65c5017799255dd20535cf56"}, + {file = "airbyte_cdk-0.90.0.tar.gz", hash = "sha256:25cefc010718bada5cce3f87e7ae93068630732c0d34ce5145f8ddf7457d4d3c"}, +] + +[package.dependencies] +airbyte-protocol-models = ">=0.9.0,<1.0" +backoff = "*" +cachetools = "*" +cryptography = ">=42.0.5,<43.0.0" +Deprecated = ">=1.2,<1.3" +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,<0.3" +jsonschema = ">=3.2.0,<3.3.0" +langchain_core = "0.1.42" +pendulum = "<3.0.0" +pydantic = ">=1.10.8,<2.0.0" +pyjwt = ">=2.8.0,<3.0.0" +pyrate-limiter = ">=3.1.0,<3.2.0" +python-dateutil = "*" +pytz = "2024.1" +PyYAML = ">=6.0.1,<7.0.0" +requests = "*" +requests_cache = "*" +wcmatch = "8.4" + +[package.extras] +file-based = ["avro (>=1.11.2,<1.12.0)", "fastavro (>=1.8.0,<1.9.0)", "markdown", "pdf2image (==1.16.3)", "pdfminer.six (==20221105)", "pyarrow (>=15.0.0,<15.1.0)", "pytesseract (==0.3.10)", "unstructured.pytesseract (>=0.3.12)", "unstructured[docx,pptx] (==0.10.27)"] +sphinx-docs = ["Sphinx (>=4.2,<4.3)", "sphinx-rtd-theme (>=1.0,<1.1)"] +vector-db-based = ["cohere (==4.21)", "langchain (==0.1.16)", "openai[embeddings] (==0.27.9)", "tiktoken (==0.4.0)"] + +[[package]] +name = "airbyte-protocol-models" +version = "0.11.0" +description = "Declares the Airbyte Protocol." +optional = false +python-versions = ">=3.8" +files = [ + {file = "airbyte_protocol_models-0.11.0-py3-none-any.whl", hash = "sha256:2157757c1af8c13e471ab6a0304fd2f9a2a6af8cc9173937be1348a9553f7c32"}, + {file = "airbyte_protocol_models-0.11.0.tar.gz", hash = "sha256:1c7e46251b0d5a292b4aa382df24f415ac2a2a2b4719361b3c0f76368a043c23"}, +] + +[package.dependencies] +pydantic = ">=1.9.2,<2.0.0" + +[[package]] +name = "atomicwrites" +version = "1.4.1" +description = "Atomic file writes." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, +] + +[[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.3" +description = "Extensible memoizing collections and decorators" +optional = false +python-versions = ">=3.7" +files = [ + {file = "cachetools-5.3.3-py3-none-any.whl", hash = "sha256:0abad1021d3f8325b2fc1d2e9c8b9c9d57b04c3932657a72465447332c24d945"}, + {file = "cachetools-5.3.3.tar.gz", hash = "sha256:ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105"}, +] + +[[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" +exceptiongroup = {version = ">=1.1.1", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=4.1.0,<4.6.3 || >4.6.3", markers = "python_version < \"3.11\""} + +[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 = "2024.2.2" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, + {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, +] + +[[package]] +name = "cffi" +version = "1.16.0" +description = "Foreign Function Interface for Python calling C code." +optional = false +python-versions = ">=3.8" +files = [ + {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, + {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, + {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, + {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, + {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, + {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, + {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, + {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, + {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, + {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, + {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, + {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, + {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, + {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, +] + +[package.dependencies] +pycparser = "*" + +[[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 = "cryptography" +version = "42.0.7" +description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." +optional = false +python-versions = ">=3.7" +files = [ + {file = "cryptography-42.0.7-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:a987f840718078212fdf4504d0fd4c6effe34a7e4740378e59d47696e8dfb477"}, + {file = "cryptography-42.0.7-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:bd13b5e9b543532453de08bcdc3cc7cebec6f9883e886fd20a92f26940fd3e7a"}, + {file = "cryptography-42.0.7-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a79165431551042cc9d1d90e6145d5d0d3ab0f2d66326c201d9b0e7f5bf43604"}, + {file = "cryptography-42.0.7-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a47787a5e3649008a1102d3df55424e86606c9bae6fb77ac59afe06d234605f8"}, + {file = "cryptography-42.0.7-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:02c0eee2d7133bdbbc5e24441258d5d2244beb31da5ed19fbb80315f4bbbff55"}, + {file = "cryptography-42.0.7-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:5e44507bf8d14b36b8389b226665d597bc0f18ea035d75b4e53c7b1ea84583cc"}, + {file = "cryptography-42.0.7-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:7f8b25fa616d8b846aef64b15c606bb0828dbc35faf90566eb139aa9cff67af2"}, + {file = "cryptography-42.0.7-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:93a3209f6bb2b33e725ed08ee0991b92976dfdcf4e8b38646540674fc7508e13"}, + {file = "cryptography-42.0.7-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:e6b8f1881dac458c34778d0a424ae5769de30544fc678eac51c1c8bb2183e9da"}, + {file = "cryptography-42.0.7-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:3de9a45d3b2b7d8088c3fbf1ed4395dfeff79d07842217b38df14ef09ce1d8d7"}, + {file = "cryptography-42.0.7-cp37-abi3-win32.whl", hash = "sha256:789caea816c6704f63f6241a519bfa347f72fbd67ba28d04636b7c6b7da94b0b"}, + {file = "cryptography-42.0.7-cp37-abi3-win_amd64.whl", hash = "sha256:8cb8ce7c3347fcf9446f201dc30e2d5a3c898d009126010cbd1f443f28b52678"}, + {file = "cryptography-42.0.7-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:a3a5ac8b56fe37f3125e5b72b61dcde43283e5370827f5233893d461b7360cd4"}, + {file = "cryptography-42.0.7-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:779245e13b9a6638df14641d029add5dc17edbef6ec915688f3acb9e720a5858"}, + {file = "cryptography-42.0.7-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d563795db98b4cd57742a78a288cdbdc9daedac29f2239793071fe114f13785"}, + {file = "cryptography-42.0.7-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:31adb7d06fe4383226c3e963471f6837742889b3c4caa55aac20ad951bc8ffda"}, + {file = "cryptography-42.0.7-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:efd0bf5205240182e0f13bcaea41be4fdf5c22c5129fc7ced4a0282ac86998c9"}, + {file = "cryptography-42.0.7-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a9bc127cdc4ecf87a5ea22a2556cab6c7eda2923f84e4f3cc588e8470ce4e42e"}, + {file = "cryptography-42.0.7-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:3577d029bc3f4827dd5bf8bf7710cac13527b470bbf1820a3f394adb38ed7d5f"}, + {file = "cryptography-42.0.7-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2e47577f9b18723fa294b0ea9a17d5e53a227867a0a4904a1a076d1646d45ca1"}, + {file = "cryptography-42.0.7-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:1a58839984d9cb34c855197043eaae2c187d930ca6d644612843b4fe8513c886"}, + {file = "cryptography-42.0.7-cp39-abi3-win32.whl", hash = "sha256:e6b79d0adb01aae87e8a44c2b64bc3f3fe59515280e00fb6d57a7267a2583cda"}, + {file = "cryptography-42.0.7-cp39-abi3-win_amd64.whl", hash = "sha256:16268d46086bb8ad5bf0a2b5544d8a9ed87a0e33f5e77dd3c3301e63d941a83b"}, + {file = "cryptography-42.0.7-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2954fccea107026512b15afb4aa664a5640cd0af630e2ee3962f2602693f0c82"}, + {file = "cryptography-42.0.7-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:362e7197754c231797ec45ee081f3088a27a47c6c01eff2ac83f60f85a50fe60"}, + {file = "cryptography-42.0.7-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4f698edacf9c9e0371112792558d2f705b5645076cc0aaae02f816a0171770fd"}, + {file = "cryptography-42.0.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5482e789294854c28237bba77c4c83be698be740e31a3ae5e879ee5444166582"}, + {file = "cryptography-42.0.7-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e9b2a6309f14c0497f348d08a065d52f3020656f675819fc405fb63bbcd26562"}, + {file = "cryptography-42.0.7-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d8e3098721b84392ee45af2dd554c947c32cc52f862b6a3ae982dbb90f577f14"}, + {file = "cryptography-42.0.7-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c65f96dad14f8528a447414125e1fc8feb2ad5a272b8f68477abbcc1ea7d94b9"}, + {file = "cryptography-42.0.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:36017400817987670037fbb0324d71489b6ead6231c9604f8fc1f7d008087c68"}, + {file = "cryptography-42.0.7.tar.gz", hash = "sha256:ecbfbc00bf55888edda9868a4cf927205de8499e7fabe6c050322298382953f2"}, +] + +[package.dependencies] +cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""} + +[package.extras] +docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] +docstest = ["pyenchant (>=1.6.11)", "readme-renderer", "sphinxcontrib-spelling (>=4.0.1)"] +nox = ["nox"] +pep8test = ["check-sdist", "click", "mypy", "ruff"] +sdist = ["build"] +ssh = ["bcrypt (>=3.1.5)"] +test = ["certifi", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] +test-randomorder = ["pytest-randomly"] + +[[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 = "exceptiongroup" +version = "1.2.1" +description = "Backport of PEP 654 (exception groups)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.2.1-py3-none-any.whl", hash = "sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad"}, + {file = "exceptiongroup-1.2.1.tar.gz", hash = "sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16"}, +] + +[package.extras] +test = ["pytest (>=6)"] + +[[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.7" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.5" +files = [ + {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, + {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, +] + +[[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.4" +description = "A very fast and expressive template engine." +optional = false +python-versions = ">=3.7" +files = [ + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "jsonpatch" +version = "1.33" +description = "Apply JSON-Patches (RFC 6902)" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" +files = [ + {file = "jsonpatch-1.33-py2.py3-none-any.whl", hash = "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade"}, + {file = "jsonpatch-1.33.tar.gz", hash = "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c"}, +] + +[package.dependencies] +jsonpointer = ">=1.9" + +[[package]] +name = "jsonpointer" +version = "2.4" +description = "Identify specific nodes in a JSON document (RFC 6901)" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" +files = [ + {file = "jsonpointer-2.4-py2.py3-none-any.whl", hash = "sha256:15d51bba20eea3165644553647711d150376234112651b4f1811022aecad7d7a"}, + {file = "jsonpointer-2.4.tar.gz", hash = "sha256:585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88"}, +] + +[[package]] +name = "jsonref" +version = "0.2" +description = "An implementation of JSON Reference for Python" +optional = false +python-versions = "*" +files = [ + {file = "jsonref-0.2-py3-none-any.whl", hash = "sha256:b1e82fa0b62e2c2796a13e5401fe51790b248f6d9bf9d7212a3e31a3501b291f"}, + {file = "jsonref-0.2.tar.gz", hash = "sha256:f3c45b121cf6257eafabdc3a8008763aed1cd7da06dbabc59a9e4d2a5e4e6697"}, +] + +[[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 = "langchain-core" +version = "0.1.42" +description = "Building applications with LLMs through composability" +optional = false +python-versions = "<4.0,>=3.8.1" +files = [ + {file = "langchain_core-0.1.42-py3-none-any.whl", hash = "sha256:c5653ffa08a44f740295c157a24c0def4a753333f6a2c41f76bf431cd00be8b5"}, + {file = "langchain_core-0.1.42.tar.gz", hash = "sha256:40751bf60ea5d8e2b2efe65290db434717ee3834870c002e40e2811f09d814e6"}, +] + +[package.dependencies] +jsonpatch = ">=1.33,<2.0" +langsmith = ">=0.1.0,<0.2.0" +packaging = ">=23.2,<24.0" +pydantic = ">=1,<3" +PyYAML = ">=5.3" +tenacity = ">=8.1.0,<9.0.0" + +[package.extras] +extended-testing = ["jinja2 (>=3,<4)"] + +[[package]] +name = "langsmith" +version = "0.1.60" +description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform." +optional = false +python-versions = "<4.0,>=3.8.1" +files = [ + {file = "langsmith-0.1.60-py3-none-any.whl", hash = "sha256:3c3520ea473de0a984237b3e9d638fdf23ef3acc5aec89a42e693225e72d6120"}, + {file = "langsmith-0.1.60.tar.gz", hash = "sha256:6a145b5454437f9e0f81525f23c4dcdbb8c07b1c91553b8f697456c418d6a599"}, +] + +[package.dependencies] +orjson = ">=3.9.14,<4.0.0" +pydantic = ">=1,<3" +requests = ">=2,<3" + +[[package]] +name = "markupsafe" +version = "2.1.5" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.7" +files = [ + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, +] + +[[package]] +name = "orjson" +version = "3.10.3" +description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" +optional = false +python-versions = ">=3.8" +files = [ + {file = "orjson-3.10.3-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9fb6c3f9f5490a3eb4ddd46fc1b6eadb0d6fc16fb3f07320149c3286a1409dd8"}, + {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:252124b198662eee80428f1af8c63f7ff077c88723fe206a25df8dc57a57b1fa"}, + {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9f3e87733823089a338ef9bbf363ef4de45e5c599a9bf50a7a9b82e86d0228da"}, + {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c8334c0d87103bb9fbbe59b78129f1f40d1d1e8355bbed2ca71853af15fa4ed3"}, + {file = "orjson-3.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1952c03439e4dce23482ac846e7961f9d4ec62086eb98ae76d97bd41d72644d7"}, + {file = "orjson-3.10.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c0403ed9c706dcd2809f1600ed18f4aae50be263bd7112e54b50e2c2bc3ebd6d"}, + {file = "orjson-3.10.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:382e52aa4270a037d41f325e7d1dfa395b7de0c367800b6f337d8157367bf3a7"}, + {file = "orjson-3.10.3-cp310-none-win32.whl", hash = "sha256:be2aab54313752c04f2cbaab4515291ef5af8c2256ce22abc007f89f42f49109"}, + {file = "orjson-3.10.3-cp310-none-win_amd64.whl", hash = "sha256:416b195f78ae461601893f482287cee1e3059ec49b4f99479aedf22a20b1098b"}, + {file = "orjson-3.10.3-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:73100d9abbbe730331f2242c1fc0bcb46a3ea3b4ae3348847e5a141265479700"}, + {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:544a12eee96e3ab828dbfcb4d5a0023aa971b27143a1d35dc214c176fdfb29b3"}, + {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:520de5e2ef0b4ae546bea25129d6c7c74edb43fc6cf5213f511a927f2b28148b"}, + {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ccaa0a401fc02e8828a5bedfd80f8cd389d24f65e5ca3954d72c6582495b4bcf"}, + {file = "orjson-3.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7bc9e8bc11bac40f905640acd41cbeaa87209e7e1f57ade386da658092dc16"}, + {file = "orjson-3.10.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3582b34b70543a1ed6944aca75e219e1192661a63da4d039d088a09c67543b08"}, + {file = "orjson-3.10.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1c23dfa91481de880890d17aa7b91d586a4746a4c2aa9a145bebdbaf233768d5"}, + {file = "orjson-3.10.3-cp311-none-win32.whl", hash = "sha256:1770e2a0eae728b050705206d84eda8b074b65ee835e7f85c919f5705b006c9b"}, + {file = "orjson-3.10.3-cp311-none-win_amd64.whl", hash = "sha256:93433b3c1f852660eb5abdc1f4dd0ced2be031ba30900433223b28ee0140cde5"}, + {file = "orjson-3.10.3-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:a39aa73e53bec8d410875683bfa3a8edf61e5a1c7bb4014f65f81d36467ea098"}, + {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0943a96b3fa09bee1afdfccc2cb236c9c64715afa375b2af296c73d91c23eab2"}, + {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e852baafceff8da3c9defae29414cc8513a1586ad93e45f27b89a639c68e8176"}, + {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18566beb5acd76f3769c1d1a7ec06cdb81edc4d55d2765fb677e3eaa10fa99e0"}, + {file = "orjson-3.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bd2218d5a3aa43060efe649ec564ebedec8ce6ae0a43654b81376216d5ebd42"}, + {file = "orjson-3.10.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cf20465e74c6e17a104ecf01bf8cd3b7b252565b4ccee4548f18b012ff2f8069"}, + {file = "orjson-3.10.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ba7f67aa7f983c4345eeda16054a4677289011a478ca947cd69c0a86ea45e534"}, + {file = "orjson-3.10.3-cp312-none-win32.whl", hash = "sha256:17e0713fc159abc261eea0f4feda611d32eabc35708b74bef6ad44f6c78d5ea0"}, + {file = "orjson-3.10.3-cp312-none-win_amd64.whl", hash = "sha256:4c895383b1ec42b017dd2c75ae8a5b862fc489006afde06f14afbdd0309b2af0"}, + {file = "orjson-3.10.3-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:be2719e5041e9fb76c8c2c06b9600fe8e8584e6980061ff88dcbc2691a16d20d"}, + {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0175a5798bdc878956099f5c54b9837cb62cfbf5d0b86ba6d77e43861bcec2"}, + {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:978be58a68ade24f1af7758626806e13cff7748a677faf95fbb298359aa1e20d"}, + {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16bda83b5c61586f6f788333d3cf3ed19015e3b9019188c56983b5a299210eb5"}, + {file = "orjson-3.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ad1f26bea425041e0a1adad34630c4825a9e3adec49079b1fb6ac8d36f8b754"}, + {file = "orjson-3.10.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:9e253498bee561fe85d6325ba55ff2ff08fb5e7184cd6a4d7754133bd19c9195"}, + {file = "orjson-3.10.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0a62f9968bab8a676a164263e485f30a0b748255ee2f4ae49a0224be95f4532b"}, + {file = "orjson-3.10.3-cp38-none-win32.whl", hash = "sha256:8d0b84403d287d4bfa9bf7d1dc298d5c1c5d9f444f3737929a66f2fe4fb8f134"}, + {file = "orjson-3.10.3-cp38-none-win_amd64.whl", hash = "sha256:8bc7a4df90da5d535e18157220d7915780d07198b54f4de0110eca6b6c11e290"}, + {file = "orjson-3.10.3-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9059d15c30e675a58fdcd6f95465c1522b8426e092de9fff20edebfdc15e1cb0"}, + {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d40c7f7938c9c2b934b297412c067936d0b54e4b8ab916fd1a9eb8f54c02294"}, + {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d4a654ec1de8fdaae1d80d55cee65893cb06494e124681ab335218be6a0691e7"}, + {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:831c6ef73f9aa53c5f40ae8f949ff7681b38eaddb6904aab89dca4d85099cb78"}, + {file = "orjson-3.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99b880d7e34542db89f48d14ddecbd26f06838b12427d5a25d71baceb5ba119d"}, + {file = "orjson-3.10.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2e5e176c994ce4bd434d7aafb9ecc893c15f347d3d2bbd8e7ce0b63071c52e25"}, + {file = "orjson-3.10.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b69a58a37dab856491bf2d3bbf259775fdce262b727f96aafbda359cb1d114d8"}, + {file = "orjson-3.10.3-cp39-none-win32.whl", hash = "sha256:b8d4d1a6868cde356f1402c8faeb50d62cee765a1f7ffcfd6de732ab0581e063"}, + {file = "orjson-3.10.3-cp39-none-win_amd64.whl", hash = "sha256:5102f50c5fc46d94f2033fe00d392588564378260d64377aec702f21a7a22912"}, + {file = "orjson-3.10.3.tar.gz", hash = "sha256:2b166507acae7ba2f7c315dcf185a9111ad5e992ac81f2d507aac39193c2c818"}, +] + +[[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 = "2.1.2" +description = "Python datetimes made easy" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "pendulum-2.1.2-cp27-cp27m-macosx_10_15_x86_64.whl", hash = "sha256:b6c352f4bd32dff1ea7066bd31ad0f71f8d8100b9ff709fb343f3b86cee43efe"}, + {file = "pendulum-2.1.2-cp27-cp27m-win_amd64.whl", hash = "sha256:318f72f62e8e23cd6660dbafe1e346950281a9aed144b5c596b2ddabc1d19739"}, + {file = "pendulum-2.1.2-cp35-cp35m-macosx_10_15_x86_64.whl", hash = "sha256:0731f0c661a3cb779d398803655494893c9f581f6488048b3fb629c2342b5394"}, + {file = "pendulum-2.1.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:3481fad1dc3f6f6738bd575a951d3c15d4b4ce7c82dce37cf8ac1483fde6e8b0"}, + {file = "pendulum-2.1.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9702069c694306297ed362ce7e3c1ef8404ac8ede39f9b28b7c1a7ad8c3959e3"}, + {file = "pendulum-2.1.2-cp35-cp35m-win_amd64.whl", hash = "sha256:fb53ffa0085002ddd43b6ca61a7b34f2d4d7c3ed66f931fe599e1a531b42af9b"}, + {file = "pendulum-2.1.2-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:c501749fdd3d6f9e726086bf0cd4437281ed47e7bca132ddb522f86a1645d360"}, + {file = "pendulum-2.1.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:c807a578a532eeb226150d5006f156632df2cc8c5693d778324b43ff8c515dd0"}, + {file = "pendulum-2.1.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:2d1619a721df661e506eff8db8614016f0720ac171fe80dda1333ee44e684087"}, + {file = "pendulum-2.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:f888f2d2909a414680a29ae74d0592758f2b9fcdee3549887779cd4055e975db"}, + {file = "pendulum-2.1.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:e95d329384717c7bf627bf27e204bc3b15c8238fa8d9d9781d93712776c14002"}, + {file = "pendulum-2.1.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:4c9c689747f39d0d02a9f94fcee737b34a5773803a64a5fdb046ee9cac7442c5"}, + {file = "pendulum-2.1.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:1245cd0075a3c6d889f581f6325dd8404aca5884dea7223a5566c38aab94642b"}, + {file = "pendulum-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:db0a40d8bcd27b4fb46676e8eb3c732c67a5a5e6bfab8927028224fbced0b40b"}, + {file = "pendulum-2.1.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:f5e236e7730cab1644e1b87aca3d2ff3e375a608542e90fe25685dae46310116"}, + {file = "pendulum-2.1.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:de42ea3e2943171a9e95141f2eecf972480636e8e484ccffaf1e833929e9e052"}, + {file = "pendulum-2.1.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7c5ec650cb4bec4c63a89a0242cc8c3cebcec92fcfe937c417ba18277d8560be"}, + {file = "pendulum-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:33fb61601083f3eb1d15edeb45274f73c63b3c44a8524703dc143f4212bf3269"}, + {file = "pendulum-2.1.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:29c40a6f2942376185728c9a0347d7c0f07905638c83007e1d262781f1e6953a"}, + {file = "pendulum-2.1.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:94b1fc947bfe38579b28e1cccb36f7e28a15e841f30384b5ad6c5e31055c85d7"}, + {file = "pendulum-2.1.2.tar.gz", hash = "sha256:b06a0ca1bfe41c990bbf0c029f0b6501a7f2ec4e38bfec730712015e8860f207"}, +] + +[package.dependencies] +python-dateutil = ">=2.6,<3.0" +pytzdata = ">=2020.1" + +[[package]] +name = "platformdirs" +version = "4.2.2" +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.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, + {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, +] + +[package.extras] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] +type = ["mypy (>=1.8)"] + +[[package]] +name = "pluggy" +version = "1.5.0" +description = "plugin and hook calling mechanisms for python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, +] + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "py" +version = "1.11.0" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, + {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, +] + +[[package]] +name = "pycparser" +version = "2.22" +description = "C parser in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, + {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, +] + +[[package]] +name = "pydantic" +version = "1.10.15" +description = "Data validation and settings management using python type hints" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pydantic-1.10.15-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:22ed12ee588b1df028a2aa5d66f07bf8f8b4c8579c2e96d5a9c1f96b77f3bb55"}, + {file = "pydantic-1.10.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:75279d3cac98186b6ebc2597b06bcbc7244744f6b0b44a23e4ef01e5683cc0d2"}, + {file = "pydantic-1.10.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50f1666a9940d3d68683c9d96e39640f709d7a72ff8702987dab1761036206bb"}, + {file = "pydantic-1.10.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82790d4753ee5d00739d6cb5cf56bceb186d9d6ce134aca3ba7befb1eedbc2c8"}, + {file = "pydantic-1.10.15-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:d207d5b87f6cbefbdb1198154292faee8017d7495a54ae58db06762004500d00"}, + {file = "pydantic-1.10.15-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e49db944fad339b2ccb80128ffd3f8af076f9f287197a480bf1e4ca053a866f0"}, + {file = "pydantic-1.10.15-cp310-cp310-win_amd64.whl", hash = "sha256:d3b5c4cbd0c9cb61bbbb19ce335e1f8ab87a811f6d589ed52b0254cf585d709c"}, + {file = "pydantic-1.10.15-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c3d5731a120752248844676bf92f25a12f6e45425e63ce22e0849297a093b5b0"}, + {file = "pydantic-1.10.15-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c365ad9c394f9eeffcb30a82f4246c0006417f03a7c0f8315d6211f25f7cb654"}, + {file = "pydantic-1.10.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3287e1614393119c67bd4404f46e33ae3be3ed4cd10360b48d0a4459f420c6a3"}, + {file = "pydantic-1.10.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be51dd2c8596b25fe43c0a4a59c2bee4f18d88efb8031188f9e7ddc6b469cf44"}, + {file = "pydantic-1.10.15-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6a51a1dd4aa7b3f1317f65493a182d3cff708385327c1c82c81e4a9d6d65b2e4"}, + {file = "pydantic-1.10.15-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4e316e54b5775d1eb59187f9290aeb38acf620e10f7fd2f776d97bb788199e53"}, + {file = "pydantic-1.10.15-cp311-cp311-win_amd64.whl", hash = "sha256:0d142fa1b8f2f0ae11ddd5e3e317dcac060b951d605fda26ca9b234b92214986"}, + {file = "pydantic-1.10.15-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7ea210336b891f5ea334f8fc9f8f862b87acd5d4a0cbc9e3e208e7aa1775dabf"}, + {file = "pydantic-1.10.15-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3453685ccd7140715e05f2193d64030101eaad26076fad4e246c1cc97e1bb30d"}, + {file = "pydantic-1.10.15-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bea1f03b8d4e8e86702c918ccfd5d947ac268f0f0cc6ed71782e4b09353b26f"}, + {file = "pydantic-1.10.15-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:005655cabc29081de8243126e036f2065bd7ea5b9dff95fde6d2c642d39755de"}, + {file = "pydantic-1.10.15-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:af9850d98fc21e5bc24ea9e35dd80a29faf6462c608728a110c0a30b595e58b7"}, + {file = "pydantic-1.10.15-cp37-cp37m-win_amd64.whl", hash = "sha256:d31ee5b14a82c9afe2bd26aaa405293d4237d0591527d9129ce36e58f19f95c1"}, + {file = "pydantic-1.10.15-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5e09c19df304b8123938dc3c53d3d3be6ec74b9d7d0d80f4f4b5432ae16c2022"}, + {file = "pydantic-1.10.15-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7ac9237cd62947db00a0d16acf2f3e00d1ae9d3bd602b9c415f93e7a9fc10528"}, + {file = "pydantic-1.10.15-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:584f2d4c98ffec420e02305cf675857bae03c9d617fcfdc34946b1160213a948"}, + {file = "pydantic-1.10.15-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bbc6989fad0c030bd70a0b6f626f98a862224bc2b1e36bfc531ea2facc0a340c"}, + {file = "pydantic-1.10.15-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:d573082c6ef99336f2cb5b667b781d2f776d4af311574fb53d908517ba523c22"}, + {file = "pydantic-1.10.15-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6bd7030c9abc80134087d8b6e7aa957e43d35714daa116aced57269a445b8f7b"}, + {file = "pydantic-1.10.15-cp38-cp38-win_amd64.whl", hash = "sha256:3350f527bb04138f8aff932dc828f154847fbdc7a1a44c240fbfff1b57f49a12"}, + {file = "pydantic-1.10.15-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:51d405b42f1b86703555797270e4970a9f9bd7953f3990142e69d1037f9d9e51"}, + {file = "pydantic-1.10.15-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a980a77c52723b0dc56640ced396b73a024d4b74f02bcb2d21dbbac1debbe9d0"}, + {file = "pydantic-1.10.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67f1a1fb467d3f49e1708a3f632b11c69fccb4e748a325d5a491ddc7b5d22383"}, + {file = "pydantic-1.10.15-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:676ed48f2c5bbad835f1a8ed8a6d44c1cd5a21121116d2ac40bd1cd3619746ed"}, + {file = "pydantic-1.10.15-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:92229f73400b80c13afcd050687f4d7e88de9234d74b27e6728aa689abcf58cc"}, + {file = "pydantic-1.10.15-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2746189100c646682eff0bce95efa7d2e203420d8e1c613dc0c6b4c1d9c1fde4"}, + {file = "pydantic-1.10.15-cp39-cp39-win_amd64.whl", hash = "sha256:394f08750bd8eaad714718812e7fab615f873b3cdd0b9d84e76e51ef3b50b6b7"}, + {file = "pydantic-1.10.15-py3-none-any.whl", hash = "sha256:28e552a060ba2740d0d2aabe35162652c1459a0b9069fe0db7f4ee0e18e74d58"}, + {file = "pydantic-1.10.15.tar.gz", hash = "sha256:ca832e124eda231a60a041da4f013e3ff24949d94a01154b137fc2f2a43c3ffb"}, +] + +[package.dependencies] +typing-extensions = ">=4.2.0" + +[package.extras] +dotenv = ["python-dotenv (>=0.10.4)"] +email = ["email-validator (>=1.0.3)"] + +[[package]] +name = "pyjwt" +version = "2.8.0" +description = "JSON Web Token implementation in Python" +optional = false +python-versions = ">=3.7" +files = [ + {file = "PyJWT-2.8.0-py3-none-any.whl", hash = "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320"}, + {file = "PyJWT-2.8.0.tar.gz", hash = "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"}, +] + +[package.extras] +crypto = ["cryptography (>=3.4.0)"] +dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] +docs = ["sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] +tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] + +[[package]] +name = "pyrate-limiter" +version = "3.1.1" +description = "Python Rate-Limiter using Leaky-Bucket Algorithm" +optional = false +python-versions = ">=3.8,<4.0" +files = [ + {file = "pyrate_limiter-3.1.1-py3-none-any.whl", hash = "sha256:c51906f1d51d56dc992ff6c26e8300e32151bc6cfa3e6559792e31971dfd4e2b"}, + {file = "pyrate_limiter-3.1.1.tar.gz", hash = "sha256:2f57eda712687e6eccddf6afe8f8a15b409b97ed675fe64a626058f12863b7b7"}, +] + +[package.extras] +all = ["filelock (>=3.0)", "redis (>=5.0.0,<6.0.0)"] +docs = ["furo (>=2022.3.4,<2023.0.0)", "myst-parser (>=0.17)", "sphinx (>=4.3.0,<5.0.0)", "sphinx-autodoc-typehints (>=1.17,<2.0)", "sphinx-copybutton (>=0.5)", "sphinxcontrib-apidoc (>=0.3,<0.4)"] + +[[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 = "6.2.5" +description = "pytest: simple powerful testing with Python" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"}, + {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"}, +] + +[package.dependencies] +atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} +attrs = ">=19.2.0" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<2.0" +py = ">=1.8.2" +toml = "*" + +[package.extras] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] + +[[package]] +name = "pytest-mock" +version = "3.14.0" +description = "Thin-wrapper around the mock package for easier use with pytest" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pytest-mock-3.14.0.tar.gz", hash = "sha256:2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0"}, + {file = "pytest_mock-3.14.0-py3-none-any.whl", hash = "sha256:0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f"}, +] + +[package.dependencies] +pytest = ">=6.2.5" + +[package.extras] +dev = ["pre-commit", "pytest-asyncio", "tox"] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +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.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, +] + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "pytz" +version = "2024.1" +description = "World timezone definitions, modern and historical" +optional = false +python-versions = "*" +files = [ + {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, + {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, +] + +[[package]] +name = "pytzdata" +version = "2020.1" +description = "The Olson timezone database for Python." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "pytzdata-2020.1-py2.py3-none-any.whl", hash = "sha256:e1e14750bcf95016381e4d472bad004eef710f2d6417240904070b3d6654485f"}, + {file = "pytzdata-2020.1.tar.gz", hash = "sha256:3efa13b335a00a8de1d345ae41ec78dd11c9f8807f522d39850f2dd828681540"}, +] + +[[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.32.3" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.8" +files = [ + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, +] + +[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.2.0" +description = "A persistent cache for python requests" +optional = false +python-versions = ">=3.8" +files = [ + {file = "requests_cache-1.2.0-py3-none-any.whl", hash = "sha256:490324301bf0cb924ff4e6324bd2613453e7e1f847353928b08adb0fdfb7f722"}, + {file = "requests_cache-1.2.0.tar.gz", hash = "sha256:db1c709ca343cc1cd5b6c8b1a5387298eceed02306a6040760db538c885e3838"}, +] + +[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 (>=6.0.1)", "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.9)"] +dynamodb = ["boto3 (>=1.15)", "botocore (>=1.18)"] +json = ["ujson (>=5.4)"] +mongodb = ["pymongo (>=3)"] +redis = ["redis (>=3)"] +security = ["itsdangerous (>=2.0)"] +yaml = ["pyyaml (>=6.0.1)"] + +[[package]] +name = "requests-mock" +version = "1.12.1" +description = "Mock out responses from the requests package" +optional = false +python-versions = ">=3.5" +files = [ + {file = "requests-mock-1.12.1.tar.gz", hash = "sha256:e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401"}, + {file = "requests_mock-1.12.1-py2.py3-none-any.whl", hash = "sha256:b1e37054004cdd5e56c84454cc7df12b25f90f382159087f4b6915aaeef39563"}, +] + +[package.dependencies] +requests = ">=2.22,<3" + +[package.extras] +fixture = ["fixtures"] + +[[package]] +name = "setuptools" +version = "69.5.1" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "setuptools-69.5.1-py3-none-any.whl", hash = "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"}, + {file = "setuptools-69.5.1.tar.gz", hash = "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "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)", "importlib-metadata", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "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.2)", "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 = "tenacity" +version = "8.3.0" +description = "Retry code until it succeeds" +optional = false +python-versions = ">=3.8" +files = [ + {file = "tenacity-8.3.0-py3-none-any.whl", hash = "sha256:3649f6443dbc0d9b01b9d8020a9c4ec7a1ff5f6f3c6c8a036ef371f573fe9185"}, + {file = "tenacity-8.3.0.tar.gz", hash = "sha256:953d4e6ad24357bceffbc9707bc74349aca9d245f68eb65419cf0c249a1949a2"}, +] + +[package.extras] +doc = ["reno", "sphinx"] +test = ["pytest", "tornado (>=4.5)", "typeguard"] + +[[package]] +name = "toml" +version = "0.10.2" +description = "Python Library for Tom's Obvious, Minimal Language" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, + {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, +] + +[[package]] +name = "typing-extensions" +version = "4.11.0" +description = "Backported and Experimental Type Hints for Python 3.8+" +optional = false +python-versions = ">=3.8" +files = [ + {file = "typing_extensions-4.11.0-py3-none-any.whl", hash = "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"}, + {file = "typing_extensions-4.11.0.tar.gz", hash = "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0"}, +] + +[[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.2.1" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, + {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] +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.9,<3.12" +content-hash = "a7a96e2b3330d2b39e398d386ac5724f0ddb92f7862e5029789b59942d9ba36d" diff --git a/airbyte-integrations/connectors/source-yotpo/pyproject.toml b/airbyte-integrations/connectors/source-yotpo/pyproject.toml new file mode 100644 index 000000000000..d74d705cf3f9 --- /dev/null +++ b/airbyte-integrations/connectors/source-yotpo/pyproject.toml @@ -0,0 +1,28 @@ +[build-system] +requires = [ "poetry-core>=1.0.0",] +build-backend = "poetry.core.masonry.api" + +[tool.poetry] +version = "0.1.1" +name = "source-yotpo" +description = "Source implementation for Yotpo." +authors = [ "Airbyte ",] +license = "MIT" +readme = "README.md" +documentation = "https://docs.airbyte.com/integrations/sources/yotpo" +homepage = "https://airbyte.com" +repository = "https://github.com/airbytehq/airbyte" +[[tool.poetry.packages]] +include = "source_yotpo" + +[tool.poetry.dependencies] +python = "^3.9,<3.12" +airbyte-cdk = "^0" + +[tool.poetry.scripts] +source-yotpo = "source_yotpo.run:run" + +[tool.poetry.group.dev.dependencies] +requests-mock = "^1.9.3" +pytest = "^6.2" +pytest-mock = "^3.6.1" diff --git a/airbyte-integrations/connectors/source-yotpo/setup.py b/airbyte-integrations/connectors/source-yotpo/setup.py deleted file mode 100644 index 4d1d2163dbbd..000000000000 --- a/airbyte-integrations/connectors/source-yotpo/setup.py +++ /dev/null @@ -1,46 +0,0 @@ -# -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. -# - - -from setuptools import find_packages, setup - -MAIN_REQUIREMENTS = [ - "airbyte-cdk~=0.1", -] - -TEST_REQUIREMENTS = [ - "requests-mock~=1.9.3", - "pytest~=6.2", - "pytest-mock~=3.6.1", -] - -setup( - entry_points={ - "console_scripts": [ - "source-yotpo=source_yotpo.run:run", - ], - }, - name="source_yotpo", - description="Source implementation for Yotpo.", - author="Airbyte", - author_email="contact@airbyte.io", - packages=find_packages(), - install_requires=MAIN_REQUIREMENTS, - package_data={ - "": [ - # Include yaml files in the package (if any) - "*.yml", - "*.yaml", - # Include all json files in the package, up to 4 levels deep - "*.json", - "*/*.json", - "*/*/*.json", - "*/*/*/*.json", - "*/*/*/*/*.json", - ] - }, - extras_require={ - "tests": TEST_REQUIREMENTS, - }, -) diff --git a/airbyte-integrations/connectors/source-zendesk-sell/metadata.yaml b/airbyte-integrations/connectors/source-zendesk-sell/metadata.yaml index ce721b5ddf16..4b1f0243fc68 100644 --- a/airbyte-integrations/connectors/source-zendesk-sell/metadata.yaml +++ b/airbyte-integrations/connectors/source-zendesk-sell/metadata.yaml @@ -14,7 +14,7 @@ data: connectorSubtype: api connectorType: source definitionId: 982eaa4c-bba1-4cce-a971-06a41f700b8c - dockerImageTag: 0.2.1 + dockerImageTag: 0.2.2 dockerRepository: airbyte/source-zendesk-sell githubIssueLabel: source-zendesk-sell icon: zendesk.svg @@ -38,5 +38,5 @@ data: type: GSM alias: airbyte-connector-testing-secret-store connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 metadataSpecVersion: "1.0" diff --git a/airbyte-integrations/connectors/source-zendesk-sell/pyproject.toml b/airbyte-integrations/connectors/source-zendesk-sell/pyproject.toml index bfeb8f48c18b..71b7dbc9d85e 100644 --- a/airbyte-integrations/connectors/source-zendesk-sell/pyproject.toml +++ b/airbyte-integrations/connectors/source-zendesk-sell/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.2.1" +version = "0.2.2" name = "source-zendesk-sell" description = "Source implementation for Zendesk Sell." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-zoom/metadata.yaml b/airbyte-integrations/connectors/source-zoom/metadata.yaml index 3fa4472c1420..8a5c61e379e1 100644 --- a/airbyte-integrations/connectors/source-zoom/metadata.yaml +++ b/airbyte-integrations/connectors/source-zoom/metadata.yaml @@ -3,11 +3,11 @@ data: ql: 200 sl: 100 connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9 + baseImage: docker.io/airbyte/python-connector-base:1.2.2@sha256:57703de3b4c4204bd68a7b13c9300f8e03c0189bffddaffc796f1da25d2dbea0 connectorSubtype: api connectorType: source definitionId: cbfd9856-1322-44fb-bcf1-0b39b7a8e92e - dockerImageTag: 1.1.0 + dockerImageTag: 1.1.1 dockerRepository: airbyte/source-zoom documentationUrl: https://docs.airbyte.com/integrations/sources/zoom githubIssueLabel: source-zoom diff --git a/airbyte-integrations/connectors/source-zoom/pyproject.toml b/airbyte-integrations/connectors/source-zoom/pyproject.toml index 454944d92b9c..d788fbeeb848 100644 --- a/airbyte-integrations/connectors/source-zoom/pyproject.toml +++ b/airbyte-integrations/connectors/source-zoom/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "1.1.0" +version = "1.1.1" name = "source-zoom" description = "Source implementation for Zoom." authors = [ "Airbyte ",] diff --git a/docs/cloud/managing-airbyte-cloud/assets/connection_action_required.png b/docs/cloud/managing-airbyte-cloud/assets/connection_action_required.png new file mode 100644 index 000000000000..e409bd9e53a9 Binary files /dev/null and b/docs/cloud/managing-airbyte-cloud/assets/connection_action_required.png differ diff --git a/docs/cloud/managing-airbyte-cloud/assets/connection_disabled.png b/docs/cloud/managing-airbyte-cloud/assets/connection_disabled.png new file mode 100644 index 000000000000..3b4917f03db7 Binary files /dev/null and b/docs/cloud/managing-airbyte-cloud/assets/connection_disabled.png differ diff --git a/docs/cloud/managing-airbyte-cloud/assets/connection_incomplete.png b/docs/cloud/managing-airbyte-cloud/assets/connection_incomplete.png new file mode 100644 index 000000000000..a9f2ff51ddd8 Binary files /dev/null and b/docs/cloud/managing-airbyte-cloud/assets/connection_incomplete.png differ diff --git a/docs/cloud/managing-airbyte-cloud/assets/connection_not_yet_synced.png b/docs/cloud/managing-airbyte-cloud/assets/connection_not_yet_synced.png new file mode 100644 index 000000000000..dc03e17f74e5 Binary files /dev/null and b/docs/cloud/managing-airbyte-cloud/assets/connection_not_yet_synced.png differ diff --git a/docs/cloud/managing-airbyte-cloud/assets/connection_synced.png b/docs/cloud/managing-airbyte-cloud/assets/connection_synced.png new file mode 100644 index 000000000000..2af30676e47c Binary files /dev/null and b/docs/cloud/managing-airbyte-cloud/assets/connection_synced.png differ diff --git a/docs/cloud/managing-airbyte-cloud/assets/connection_syncing.png b/docs/cloud/managing-airbyte-cloud/assets/connection_syncing.png new file mode 100644 index 000000000000..82527859d09a Binary files /dev/null and b/docs/cloud/managing-airbyte-cloud/assets/connection_syncing.png differ diff --git a/docs/cloud/managing-airbyte-cloud/review-connection-status.md b/docs/cloud/managing-airbyte-cloud/review-connection-status.md index fdcd9c607f8d..feb33f1bcfc8 100644 --- a/docs/cloud/managing-airbyte-cloud/review-connection-status.md +++ b/docs/cloud/managing-airbyte-cloud/review-connection-status.md @@ -18,12 +18,12 @@ To view the connection status: 2. Each connection is listed alongside its status. From here, you can filter for a specific status to see which connections need attention. You can also select a single connection to view more details about the connection and for a breakdown of the status of each Stream in that connection. -| Status | Description | -| ----------- | --------------------------------------------------------------------------------------------------- | -| **Healthy** | The most recent sync for this connection succeeded | -| **Failed** | The most recent sync for this connection failed | -| **Running** | The connection is currently actively syncing | -| **Paused** | The connection is disabled and is not scheduled to run automatically | +| | Status | Description | +| - | ----------- | --------------------------------------------------------------------------------------------------- | +|![Healthy](./assets/connection_synced.png)| **Healthy** | The most recent sync for this connection succeeded | +|![Failed](./assets/connection_action_required.png) | **Failed** | The most recent sync for this connection failed | +|![Running](./assets/connection_syncing.png) | **Running** | The connection is currently actively syncing | +|![Paused](./assets/connection_disabled.png) | **Paused** | The connection is disabled and is not scheduled to run automatically | 3. On the **Status** tab for a connection, there is a list of associated Streams. To the left of the name for each Stream, there is an icon that displays its status. @@ -31,17 +31,17 @@ To view the connection status: The stream status allows you to monitor an individual stream's latest status. Connections often sync more than one stream. This view allows you to more easily determine if there is a problem with a given stream that could be causing problems with the connection. -| Status | Description | -| ------------------------ | --------------------------------------------------------------------------------------------------- | -| **On time** | The stream is operating within the expected timeframe expectations set by the replication frequency | -| **Syncing** | The stream is currently actively syncing. The stream will also be highlighted in grey to indicate the sync is actively extracting or loading data. | -| **Queued** | The stream has not synced yet, and is scheduled to be synced in the current ongoing sync | -| **Queued for next sync** | The stream has not synced yet, and is scheduled to be synced in the next scheduled sync | -| **On track** | The connection is slightly delayed but is expected to catch up before the next sync. This can occur when a transient sync error occurs. | -| **Late** | The connection has not loaded data within the scheduled replication frequency. For example, if the replication frequency is 1 hour, the connection has not loaded data for more than 1 hour | -| **Error** | The connection has not loaded data in more than two times the scheduled replication frequency. For example, if the replication frequency is 1 hour, the connection has not loaded data for more than 2 hours | -| **Action Required** | A breaking change related to the source or destination requires attention to resolve | -| **Pending** | The stream has not been synced yet, so not status exists | +| | Status | Description | +| - | ------------------------ | ----------------------------------------------------------------------------------------------- | +|![On time](./assets/connection_synced.png) | **On time** | The stream is operating within the expected timeframe expectations set by the replication frequency | +|![Syncing](./assets/connection_syncing.png) | **Syncing** | The stream is currently actively syncing. The stream will also be highlighted in grey to indicate the sync is actively extracting or loading data. | +|![Queued](./assets/connection_not_yet_synced.png) | **Queued** | The stream has not synced yet, and is scheduled to be synced in the current ongoing sync | +|![Queued for next sync](./assets/connection_not_yet_synced.png) | **Queued for next sync** | The stream has not synced yet, and is scheduled to be synced in the next scheduled sync | +|![On track](./assets/connection_synced.png) | **On track** | The connection is slightly delayed but is expected to catch up before the next sync. This can occur when a transient sync error occurs. | +|![Late](./assets/connection_incomplete.png) | **Late** | The connection has not loaded data within the scheduled replication frequency. For example, if the replication frequency is 1 hour, the connection has not loaded data for more than 1 hour | +|![Error](./assets/connection_incomplete.png) | **Error** | The connection has not loaded data in more than two times the scheduled replication frequency. For example, if the replication frequency is 1 hour, the connection has not loaded data for more than 2 hours | +|![Action Required](./assets/connection_action_required.png) | **Action Required** | A breaking change related to the source or destination requires attention to resolve | +|![Pending](./assets/connection_disabled.png) | **Pending** | The stream has not been synced yet, so not status exists Once the sync is complete, each stream displays the time since the last record was loaded to the destination. You can click **Last record loaded** in the header to optionally display the exact datetime the last record was loaded. diff --git a/docs/integrations/destinations/snowflake.md b/docs/integrations/destinations/snowflake.md index 98cebb1fe4f7..32bededc31fa 100644 --- a/docs/integrations/destinations/snowflake.md +++ b/docs/integrations/destinations/snowflake.md @@ -268,6 +268,7 @@ desired namespace. | Version | Date | Pull Request | Subject | |:----------------|:-----------|:-----------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 3.10.1 | 2024-06-11 | [\#39399](https://github.com/airbytehq/airbyte/pull/39399) | Bug fix for _airbyte_meta not migrated in OVERWRITE mode | | 3.10.0 | 2024-06-10 | [\#39107](https://github.com/airbytehq/airbyte/pull/39107) | _airbyte_meta and _airbyte_generation_id in Raw tables and final tables | | 3.9.1 | 2024-06-05 | [\#39135](https://github.com/airbytehq/airbyte/pull/39135) | Improved error handling for Staging files | | 3.9.0 | 2024-05-23 | [\#38658](https://github.com/airbytehq/airbyte/pull/38658) | Adapting to newer interfaces from #38107 | diff --git a/docs/integrations/sources/aha.md b/docs/integrations/sources/aha.md index 92be862af0b5..985493ae7902 100644 --- a/docs/integrations/sources/aha.md +++ b/docs/integrations/sources/aha.md @@ -42,10 +42,11 @@ Rate Limiting information is updated [here](https://www.aha.io/api#rate-limiting | Version | Date | Pull Request | Subject | |:--------|:-----------| :------------------------------------------------------- |:------------------------------------------------------------------------| -| 0.3.2 | 2024-05-14 | [38144](https://github.com/airbytehq/airbyte/pull/38144) | Make connector compatible with Builder | -| 0.3.1 | 2023-06-05 | [27002](https://github.com/airbytehq/airbyte/pull/27002) | Flag spec `api_key` field as `airbyte-secret` | -| 0.3.0 | 2023-05-30 | [22642](https://github.com/airbytehq/airbyte/pull/22642) | Add `idea_comments`, `idea_endorsements`, and `idea_categories` streams | -| 0.2.0 | 2023-05-26 | [26666](https://github.com/airbytehq/airbyte/pull/26666) | Fix integration test and schemas | +| 0.3.3 | 2024-06-06 | [39153](https://github.com/airbytehq/airbyte/pull/39153) | [autopull] Upgrade base image to v1.2.2 | +| 0.3.2 | 2024-05-14 | [38144](https://github.com/airbytehq/airbyte/pull/38144) | Make connector compatible with Builder | +| 0.3.1 | 2023-06-05 | [27002](https://github.com/airbytehq/airbyte/pull/27002) | Flag spec `api_key` field as `airbyte-secret` | +| 0.3.0 | 2023-05-30 | [22642](https://github.com/airbytehq/airbyte/pull/22642) | Add `idea_comments`, `idea_endorsements`, and `idea_categories` streams | +| 0.2.0 | 2023-05-26 | [26666](https://github.com/airbytehq/airbyte/pull/26666) | Fix integration test and schemas | | 0.1.0 | 2022-11-02 | [18883](https://github.com/airbytehq/airbyte/pull/18893) | πŸŽ‰ New Source: Aha | - \ No newline at end of file + diff --git a/docs/integrations/sources/aircall.md b/docs/integrations/sources/aircall.md index b94c6b5cdaef..75f01858bb04 100644 --- a/docs/integrations/sources/aircall.md +++ b/docs/integrations/sources/aircall.md @@ -73,7 +73,8 @@ Aircall [API reference](https://api.aircall.io/v1) has v1 at present. The connec | Version | Date | Pull Request | Subject | | :------ | :--------- | :----------------------------------------------------------------------------- | :-------------------------- | -| 0.1.0 | 2023-04-19 | [Init](https://github.com/airbytehq/airbyte/pull/) | Initial commit | +| 0.2.1 | 2024-06-06 | [38454](https://github.com/airbytehq/airbyte/pull/38454) | [autopull] base image + poetry + up_to_date | | 0.2.0 | 2023-06-20 | [Correcting availablity typo](https://github.com/airbytehq/airbyte/pull/27433) | Correcting availablity typo | +| 0.1.0 | 2023-04-19 | [Init](https://github.com/airbytehq/airbyte/pull/) | Initial commit | - \ No newline at end of file + diff --git a/docs/integrations/sources/appsflyer.md b/docs/integrations/sources/appsflyer.md index 284eda305907..aab061721334 100644 --- a/docs/integrations/sources/appsflyer.md +++ b/docs/integrations/sources/appsflyer.md @@ -23,6 +23,7 @@ The Airbyte Source for [AppsFLyer](https://www.appsflyer.com/) | Version | Date | Pull Request | Subject | | :------ | :--------- | :----------------------------------------------------- | :------------------------------------------ | +| 0.2.1 | 2024-06-11 | [39407](https://github.com/airbytehq/airbyte/pull/39407) | Fix Organic In-App Events Stream | | 0.2.0 | 2024-05-19 | [38339](https://github.com/airbytehq/airbyte/pull/38339) | Migrate to [AppyFlyer API V2](https://support.appsflyer.com/hc/en-us/articles/12399683708305-Bulletin-API-token-changes?query=token) | | 0.1.2 | 2024-06-06 | [39187](https://github.com/airbytehq/airbyte/pull/39187) | [autopull] Upgrade base image to v1.2.2 | | 0.1.1 | 2024-05-20 | [38436](https://github.com/airbytehq/airbyte/pull/38436) | [autopull] base image + poetry + up_to_date | diff --git a/docs/integrations/sources/auth0.md b/docs/integrations/sources/auth0.md index b3dbe595414a..132acfe75487 100644 --- a/docs/integrations/sources/auth0.md +++ b/docs/integrations/sources/auth0.md @@ -60,13 +60,14 @@ The connector is restricted by Auth0 [rate limits](https://auth0.com/docs/troubl | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :---------------------------------------------------------------------- | -| 0.5.2 | 2024-05-02 | [37770](https://github.com/airbytehq/airbyte/pull/37770) | Add Selective Authenticator. Migrate to poetry | -| 0.5.1 | 2023-10-20 | [31643](https://github.com/airbytehq/airbyte/pull/31643) | Upgrade base image to airbyte/python-connector-base:1.1.0 | -| 0.5.0 | 2023-10-11 | [30467](https://github.com/airbytehq/airbyte/pull/30467) | Use Python base image | -| 0.4.1 | 2023-08-24 | [29804](https://github.com/airbytehq/airbyte/pull/29804) | Fix low code migration bugs | -| 0.4.0 | 2023-08-03 | [28972](https://github.com/airbytehq/airbyte/pull/28972) | Migrate to Low-Code CDK | -| 0.3.0 | 2023-06-20 | [29001](https://github.com/airbytehq/airbyte/pull/29001) | Add Organizations, OrganizationMembers, OrganizationMemberRoles streams | -| 0.2.0 | 2023-05-23 | [26445](https://github.com/airbytehq/airbyte/pull/26445) | Add Clients stream | -| 0.1.0 | 2022-10-21 | [18338](https://github.com/airbytehq/airbyte/pull/18338) | Add Auth0 and Users stream | - - \ No newline at end of file +| 0.5.4 | 2024-06-06 | [39194](https://github.com/airbytehq/airbyte/pull/39194) | [autopull] Upgrade base image to v1.2.2 | +| 0.5.2 | 2024-05-02 | [37770](https://github.com/airbytehq/airbyte/pull/37770) | Add Selective Authenticator. Migrate to poetry | +| 0.5.1 | 2023-10-20 | [31643](https://github.com/airbytehq/airbyte/pull/31643) | Upgrade base image to airbyte/python-connector-base:1.1.0 | +| 0.5.0 | 2023-10-11 | [30467](https://github.com/airbytehq/airbyte/pull/30467) | Use Python base image | +| 0.4.1 | 2023-08-24 | [29804](https://github.com/airbytehq/airbyte/pull/29804) | Fix low code migration bugs | +| 0.4.0 | 2023-08-03 | [28972](https://github.com/airbytehq/airbyte/pull/28972) | Migrate to Low-Code CDK | +| 0.3.0 | 2023-06-20 | [29001](https://github.com/airbytehq/airbyte/pull/29001) | Add Organizations, OrganizationMembers, OrganizationMemberRoles streams | +| 0.2.0 | 2023-05-23 | [26445](https://github.com/airbytehq/airbyte/pull/26445) | Add Clients stream | +| 0.1.0 | 2022-10-21 | [18338](https://github.com/airbytehq/airbyte/pull/18338) | Add Auth0 and Users stream | + + diff --git a/docs/integrations/sources/bamboo-hr.md b/docs/integrations/sources/bamboo-hr.md index 18b74ce2c6c8..f824a5da3e98 100644 --- a/docs/integrations/sources/bamboo-hr.md +++ b/docs/integrations/sources/bamboo-hr.md @@ -89,15 +89,16 @@ Please [create an issue](https://github.com/airbytehq/airbyte/issues) if you see | Version | Date | Pull Request | Subject | |:--------|:-----------|:---------------------------------------------------------|:--------------------------------------------------------------------------------| -| 0.3.0 | 2024-05-25 | [37452](https://github.com/airbytehq/airbyte/pull/37452) | Migrate to Low Code | -| 0.2.6 | 2024-04-19 | [37124](https://github.com/airbytehq/airbyte/pull/37124) | Updating to 0.80.0 CDK | -| 0.2.5 | 2024-04-18 | [37124](https://github.com/airbytehq/airbyte/pull/37124) | Manage dependencies with Poetry. | -| 0.2.4 | 2024-04-15 | [37124](https://github.com/airbytehq/airbyte/pull/37124) | Base image migration: remove Dockerfile and use the python-connector-base image | -| 0.2.3 | 2024-04-12 | [37124](https://github.com/airbytehq/airbyte/pull/37124) | schema descriptions | -| 0.2.2 | 2022-09-16 | [17684](https://github.com/airbytehq/airbyte/pull/17684) | Fix custom field validation retrieve | -| 0.2.1 | 2022-09-16 | [16826](https://github.com/airbytehq/airbyte/pull/16826) | Add custom fields validation during check | -| 0.2.0 | 2022-03-24 | [11326](https://github.com/airbytehq/airbyte/pull/11326) | Add support for Custom Reports endpoint | -| 0.1.0 | 2021-08-27 | [5054](https://github.com/airbytehq/airbyte/pull/5054) | Initial release with Employees API | +| 0.3.1 | 2024-06-06 | [39201](https://github.com/airbytehq/airbyte/pull/39201) | [autopull] Upgrade base image to v1.2.2 | +| 0.3.0 | 2024-05-25 | [37452](https://github.com/airbytehq/airbyte/pull/37452) | Migrate to Low Code | +| 0.2.6 | 2024-04-19 | [37124](https://github.com/airbytehq/airbyte/pull/37124) | Updating to 0.80.0 CDK | +| 0.2.5 | 2024-04-18 | [37124](https://github.com/airbytehq/airbyte/pull/37124) | Manage dependencies with Poetry. | +| 0.2.4 | 2024-04-15 | [37124](https://github.com/airbytehq/airbyte/pull/37124) | Base image migration: remove Dockerfile and use the python-connector-base image | +| 0.2.3 | 2024-04-12 | [37124](https://github.com/airbytehq/airbyte/pull/37124) | schema descriptions | +| 0.2.2 | 2022-09-16 | [17684](https://github.com/airbytehq/airbyte/pull/17684) | Fix custom field validation retrieve | +| 0.2.1 | 2022-09-16 | [16826](https://github.com/airbytehq/airbyte/pull/16826) | Add custom fields validation during check | +| 0.2.0 | 2022-03-24 | [11326](https://github.com/airbytehq/airbyte/pull/11326) | Add support for Custom Reports endpoint | +| 0.1.0 | 2021-08-27 | [5054](https://github.com/airbytehq/airbyte/pull/5054) | Initial release with Employees API | diff --git a/docs/integrations/sources/chargebee.md b/docs/integrations/sources/chargebee.md index cdf3195c85c4..7a951d36c3f1 100644 --- a/docs/integrations/sources/chargebee.md +++ b/docs/integrations/sources/chargebee.md @@ -103,27 +103,28 @@ The Chargebee connector should not run into [Chargebee API](https://apidocs.char | Version | Date | Pull Request | Subject | |:--------|:-----------|:---------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------| -| 0.5.1 | 2024-04-24 | [36633](https://github.com/airbytehq/airbyte/pull/36633) | Schema descriptions and CDK 0.80.0 | -| 0.5.0 | 2024-03-28 | [36518](https://github.com/airbytehq/airbyte/pull/36518) | Updates CDK to ^0, updates IncrementalSingleSliceCursor | -| 0.4.2 | 2024-03-14 | [36037](https://github.com/airbytehq/airbyte/pull/36037) | Adds fields: `coupon_constraints` to `coupon` stream, `billing_month` to `customer stream`, and `error_detail` to `transaction` stream schemas | -| 0.4.1 | 2024-03-13 | [35509](https://github.com/airbytehq/airbyte/pull/35509) | Updates CDK version to latest (0.67.1), updates `site_migration_detail` record filtering | -| 0.4.0 | 2024-02-12 | [34053](https://github.com/airbytehq/airbyte/pull/34053) | Add missing fields to and cleans up schemas, adds incremental support for `gift`, `site_migration_detail`, and `unbilled_charge` streams | -| 0.3.1 | 2024-02-12 | [35169](https://github.com/airbytehq/airbyte/pull/35169) | Manage dependencies with Poetry | -| 0.3.0 | 2023-12-26 | [33696](https://github.com/airbytehq/airbyte/pull/33696) | Add new stream, add fields to existing streams | -| 0.2.6 | 2023-12-19 | [32100](https://github.com/airbytehq/airbyte/pull/32100) | Add new fields in streams | -| 0.2.5 | 2023-10-19 | [31599](https://github.com/airbytehq/airbyte/pull/31599) | Base image migration: remove Dockerfile and use the python-connector-base image | -| 0.2.4 | 2023-08-01 | [28905](https://github.com/airbytehq/airbyte/pull/28905) | Updated the connector to use latest CDK version | -| 0.2.3 | 2023-03-22 | [24370](https://github.com/airbytehq/airbyte/pull/24370) | Ignore 404 errors for `Contact` stream | -| 0.2.2 | 2023-02-17 | [21688](https://github.com/airbytehq/airbyte/pull/21688) | Migrate to CDK beta 0.29; fix schemas | -| 0.2.1 | 2023-02-17 | [23207](https://github.com/airbytehq/airbyte/pull/23207) | Edited stream schemas to get rid of unnecessary `enum` | -| 0.2.0 | 2023-01-21 | [21688](https://github.com/airbytehq/airbyte/pull/21688) | Migrate to YAML; add new streams | -| 0.1.16 | 2022-10-06 | [17661](https://github.com/airbytehq/airbyte/pull/17661) | Make `transaction` stream to be consistent with `S3` by using type transformer | -| 0.1.15 | 2022-09-28 | [17304](https://github.com/airbytehq/airbyte/pull/17304) | Migrate to per-stream state | -| 0.1.14 | 2022-09-23 | [17056](https://github.com/airbytehq/airbyte/pull/17056) | Add "custom fields" to the relevant Chargebee source data streams | -| 0.1.13 | 2022-08-18 | [15743](https://github.com/airbytehq/airbyte/pull/15743) | Fix transaction `exchange_rate` field type | -| 0.1.12 | 2022-07-13 | [14672](https://github.com/airbytehq/airbyte/pull/14672) | Fix transaction sort by | -| 0.1.11 | 2022-03-03 | [10827](https://github.com/airbytehq/airbyte/pull/10827) | Fix Credit Note stream | -| 0.1.10 | 2022-03-02 | [10795](https://github.com/airbytehq/airbyte/pull/10795) | Add support for Credit Note stream | +| 0.5.2 | 2024-06-06 | [39217](https://github.com/airbytehq/airbyte/pull/39217) | [autopull] Upgrade base image to v1.2.2 | +| 0.5.1 | 2024-04-24 | [36633](https://github.com/airbytehq/airbyte/pull/36633) | Schema descriptions and CDK 0.80.0 | +| 0.5.0 | 2024-03-28 | [36518](https://github.com/airbytehq/airbyte/pull/36518) | Updates CDK to ^0, updates IncrementalSingleSliceCursor | +| 0.4.2 | 2024-03-14 | [36037](https://github.com/airbytehq/airbyte/pull/36037) | Adds fields: `coupon_constraints` to `coupon` stream, `billing_month` to `customer stream`, and `error_detail` to `transaction` stream schemas | +| 0.4.1 | 2024-03-13 | [35509](https://github.com/airbytehq/airbyte/pull/35509) | Updates CDK version to latest (0.67.1), updates `site_migration_detail` record filtering | +| 0.4.0 | 2024-02-12 | [34053](https://github.com/airbytehq/airbyte/pull/34053) | Add missing fields to and cleans up schemas, adds incremental support for `gift`, `site_migration_detail`, and `unbilled_charge` streams | +| 0.3.1 | 2024-02-12 | [35169](https://github.com/airbytehq/airbyte/pull/35169) | Manage dependencies with Poetry | +| 0.3.0 | 2023-12-26 | [33696](https://github.com/airbytehq/airbyte/pull/33696) | Add new stream, add fields to existing streams | +| 0.2.6 | 2023-12-19 | [32100](https://github.com/airbytehq/airbyte/pull/32100) | Add new fields in streams | +| 0.2.5 | 2023-10-19 | [31599](https://github.com/airbytehq/airbyte/pull/31599) | Base image migration: remove Dockerfile and use the python-connector-base image | +| 0.2.4 | 2023-08-01 | [28905](https://github.com/airbytehq/airbyte/pull/28905) | Updated the connector to use latest CDK version | +| 0.2.3 | 2023-03-22 | [24370](https://github.com/airbytehq/airbyte/pull/24370) | Ignore 404 errors for `Contact` stream | +| 0.2.2 | 2023-02-17 | [21688](https://github.com/airbytehq/airbyte/pull/21688) | Migrate to CDK beta 0.29; fix schemas | +| 0.2.1 | 2023-02-17 | [23207](https://github.com/airbytehq/airbyte/pull/23207) | Edited stream schemas to get rid of unnecessary `enum` | +| 0.2.0 | 2023-01-21 | [21688](https://github.com/airbytehq/airbyte/pull/21688) | Migrate to YAML; add new streams | +| 0.1.16 | 2022-10-06 | [17661](https://github.com/airbytehq/airbyte/pull/17661) | Make `transaction` stream to be consistent with `S3` by using type transformer | +| 0.1.15 | 2022-09-28 | [17304](https://github.com/airbytehq/airbyte/pull/17304) | Migrate to per-stream state | +| 0.1.14 | 2022-09-23 | [17056](https://github.com/airbytehq/airbyte/pull/17056) | Add "custom fields" to the relevant Chargebee source data streams | +| 0.1.13 | 2022-08-18 | [15743](https://github.com/airbytehq/airbyte/pull/15743) | Fix transaction `exchange_rate` field type | +| 0.1.12 | 2022-07-13 | [14672](https://github.com/airbytehq/airbyte/pull/14672) | Fix transaction sort by | +| 0.1.11 | 2022-03-03 | [10827](https://github.com/airbytehq/airbyte/pull/10827) | Fix Credit Note stream | +| 0.1.10 | 2022-03-02 | [10795](https://github.com/airbytehq/airbyte/pull/10795) | Add support for Credit Note stream | | 0.1.9 | 2022-0224 | [10312](https://github.com/airbytehq/airbyte/pull/10312) | Add support for Transaction Stream | | 0.1.8 | 2022-02-22 | [10366](https://github.com/airbytehq/airbyte/pull/10366) | Fix broken `coupon` stream + add unit tests | | 0.1.7 | 2022-02-14 | [10269](https://github.com/airbytehq/airbyte/pull/10269) | Add support for Coupon stream | diff --git a/docs/integrations/sources/chargify.md b/docs/integrations/sources/chargify.md index bd4717a45403..342b61853ee5 100644 --- a/docs/integrations/sources/chargify.md +++ b/docs/integrations/sources/chargify.md @@ -45,6 +45,7 @@ Please follow the [Chargify documentation for generating an API key](https://dev | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :------------------------------------------ | +| 0.4.3 | 2024-06-15 | [38814](https://github.com/airbytehq/airbyte/pull/38814) | Make connector compatible with builder | | 0.4.2 | 2024-06-06 | [39306](https://github.com/airbytehq/airbyte/pull/39306) | [autopull] Upgrade base image to v1.2.2 | | 0.4.1 | 2024-05-20 | [38444](https://github.com/airbytehq/airbyte/pull/38444) | [autopull] base image + poetry + up_to_date | | 0.4.0 | 2023-10-16 | [31116](https://github.com/airbytehq/airbyte/pull/31116) | Add Coupons, Transactions, Invoices Streams | diff --git a/docs/integrations/sources/configcat.md b/docs/integrations/sources/configcat.md index 3a5ea52e2394..1ade9011fd9a 100644 --- a/docs/integrations/sources/configcat.md +++ b/docs/integrations/sources/configcat.md @@ -37,7 +37,8 @@ Configcat APIs are under rate limits for the number of API calls allowed per API | Version | Date | Pull Request | Subject | | :------ | :--------- | :-------------------------------------------------------- | :------------------------------------------ | +| 0.1.2 | 2024-06-06 | [39230](https://github.com/airbytehq/airbyte/pull/39230) | [autopull] Upgrade base image to v1.2.2 | | 0.1.1 | 2024-05-21 | [38547](https://github.com/airbytehq/airbyte/pull/38547) | [autopull] base image + poetry + up_to_date | | 0.1.0 | 2022-10-30 | [#18649](https://github.com/airbytehq/airbyte/pull/18649) | πŸŽ‰ New Source: Configcat API [low-code CDK] | - \ No newline at end of file + diff --git a/docs/integrations/sources/datascope.md b/docs/integrations/sources/datascope.md index d18903daba0c..ba3743269b7d 100644 --- a/docs/integrations/sources/datascope.md +++ b/docs/integrations/sources/datascope.md @@ -64,8 +64,9 @@ GET https://www.mydatascope.com/api/external/locations | Version | Date | Pull Request | Subject | | :------ | :--------- | :-------------------------------------------------------- | :------------- | -| 0.1.2 | 2024-06-06 | [39254](https://github.com/airbytehq/airbyte/pull/39254) | [autopull] Upgrade base image to v1.2.2 | -| 0.1.1 | 2024-05-20 | [38440](https://github.com/airbytehq/airbyte/pull/38440) | [autopull] base image + poetry + up_to_date | +| 0.1.3 | 2024-06-15 | [38844](https://github.com/airbytehq/airbyte/pull/38844) | Make compatible with builder | +| 0.1.2 | 2024-06-06 | [39254](https://github.com/airbytehq/airbyte/pull/39254) | [autopull] Upgrade base image to v1.2.2 | +| 0.1.1 | 2024-05-20 | [38440](https://github.com/airbytehq/airbyte/pull/38440) | [autopull] base image + poetry + up_to_date | | 0.1.0 | 2022-10-31 | [#18725](https://github.com/airbytehq/airbyte/pull/18725) | Initial commit | diff --git a/docs/integrations/sources/dremio.md b/docs/integrations/sources/dremio.md index d52de4a80785..759b7a1850e3 100644 --- a/docs/integrations/sources/dremio.md +++ b/docs/integrations/sources/dremio.md @@ -41,7 +41,8 @@ Please read [How to get your APIs credentials](https://docs.dremio.com/software/ | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :----------------- | +| 0.1.2 | 2024-06-06 | [39235](https://github.com/airbytehq/airbyte/pull/39235) | [autopull] Upgrade base image to v1.2.2 | | 0.1.1 | 2024-05-21 | [38497](https://github.com/airbytehq/airbyte/pull/38497) | [autopull] base image + poetry + up_to_date | | 0.1.0 | 2022-12-01 | [19912](https://github.com/airbytehq/airbyte/pull/19912) | New Source: Dremio | - \ No newline at end of file + diff --git a/docs/integrations/sources/exchange-rates.md b/docs/integrations/sources/exchange-rates.md index 58312012b89e..23fcd9dde8b0 100644 --- a/docs/integrations/sources/exchange-rates.md +++ b/docs/integrations/sources/exchange-rates.md @@ -90,19 +90,20 @@ The Exchange Rates API has rate limits that vary per pricing plan. The free plan | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------ | -| 1.3.1 | 2024-05-30 | [38135](https://github.com/airbytehq/airbyte/pull/38135) | Make connector compatable with the builder | -| 1.3.0 | 2023-08-25 | [29299](https://github.com/airbytehq/airbyte/pull/29299) | Migrate to low-code | -| 1.2.9 | 2023-08-15 | [23000](https://github.com/airbytehq/airbyte/pull/23000) | Fix schema and tests | -| 1.2.8 | 2023-02-14 | [23000](https://github.com/airbytehq/airbyte/pull/23000) | Specified date formatting in specification | -| 1.2.7 | 2022-10-31 | [18726](https://github.com/airbytehq/airbyte/pull/18726) | Fix handling error during check connection | -| 1.2.6 | 2022-08-23 | [15884](https://github.com/airbytehq/airbyte/pull/15884) | Migrated to new API Layer endpoint | -| 0.2.6 | 2022-04-20 | [12230](https://github.com/airbytehq/airbyte/pull/12230) | Update connector to use a `spec.yaml` | -| 0.2.5 | 2021-11-12 | [7936](https://github.com/airbytehq/airbyte/pull/7936) | Add ignore_weekends boolean option | -| 0.2.4 | 2021-11-08 | [7499](https://github.com/airbytehq/airbyte/pull/7499) | Remove base-python dependencies | -| 0.2.3 | 2021-06-06 | [3973](https://github.com/airbytehq/airbyte/pull/3973) | Add `AIRBYTE_ENTRYPOINT` for kubernetes support | -| 0.2.2 | 2021-05-28 | [3677](https://github.com/airbytehq/airbyte/pull/3677) | Adding clearer error message when a currency isn't supported. access_key field in spec.json was marked as sensitive | -| 0.2.0 | 2021-05-26 | [3566](https://github.com/airbytehq/airbyte/pull/3566) | Move from `api.ratesapi.io/` to `api.exchangeratesapi.io/`. Add required field `access_key` to `config.json`. | -| 0.1.0 | 2021-04-19 | [2942](https://github.com/airbytehq/airbyte/pull/2942) | Implement Exchange API using the CDK | +| 1.3.2 | 2024-06-06 | [39250](https://github.com/airbytehq/airbyte/pull/39250) | [autopull] Upgrade base image to v1.2.2 | +| 1.3.1 | 2024-05-30 | [38135](https://github.com/airbytehq/airbyte/pull/38135) | Make connector compatable with the builder | +| 1.3.0 | 2023-08-25 | [29299](https://github.com/airbytehq/airbyte/pull/29299) | Migrate to low-code | +| 1.2.9 | 2023-08-15 | [23000](https://github.com/airbytehq/airbyte/pull/23000) | Fix schema and tests | +| 1.2.8 | 2023-02-14 | [23000](https://github.com/airbytehq/airbyte/pull/23000) | Specified date formatting in specification | +| 1.2.7 | 2022-10-31 | [18726](https://github.com/airbytehq/airbyte/pull/18726) | Fix handling error during check connection | +| 1.2.6 | 2022-08-23 | [15884](https://github.com/airbytehq/airbyte/pull/15884) | Migrated to new API Layer endpoint | +| 0.2.6 | 2022-04-20 | [12230](https://github.com/airbytehq/airbyte/pull/12230) | Update connector to use a `spec.yaml` | +| 0.2.5 | 2021-11-12 | [7936](https://github.com/airbytehq/airbyte/pull/7936) | Add ignore_weekends boolean option | +| 0.2.4 | 2021-11-08 | [7499](https://github.com/airbytehq/airbyte/pull/7499) | Remove base-python dependencies | +| 0.2.3 | 2021-06-06 | [3973](https://github.com/airbytehq/airbyte/pull/3973) | Add `AIRBYTE_ENTRYPOINT` for kubernetes support | +| 0.2.2 | 2021-05-28 | [3677](https://github.com/airbytehq/airbyte/pull/3677) | Adding clearer error message when a currency isn't supported. access_key field in spec.json was marked as sensitive | +| 0.2.0 | 2021-05-26 | [3566](https://github.com/airbytehq/airbyte/pull/3566) | Move from `api.ratesapi.io/` to `api.exchangeratesapi.io/`. Add required field `access_key` to `config.json`. | +| 0.1.0 | 2021-04-19 | [2942](https://github.com/airbytehq/airbyte/pull/2942) | Implement Exchange API using the CDK | diff --git a/docs/integrations/sources/freshdesk.md b/docs/integrations/sources/freshdesk.md index 14457ec378d3..c33ec465257d 100644 --- a/docs/integrations/sources/freshdesk.md +++ b/docs/integrations/sources/freshdesk.md @@ -72,30 +72,31 @@ If you don't use the start date Freshdesk will retrieve only the last 30 days. M | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :------------------------------------------------------------------------------------ | -| 3.1.0 | 2024-03-12 | [35699](https://github.com/airbytehq/airbyte/pull/35699) | Migrate to low-code | -| 3.0.7 | 2024-02-12 | [35187](https://github.com/airbytehq/airbyte/pull/35187) | Manage dependencies with Poetry. | -| 3.0.6 | 2024-01-10 | [34101](https://github.com/airbytehq/airbyte/pull/34101) | Base image migration: remove Dockerfile and use the python-connector-base image | -| 3.0.5 | 2023-11-30 | [33000](https://github.com/airbytehq/airbyte/pull/33000) | Base image migration: remove Dockerfile and use the python-connector-base image | -| 3.0.4 | 2023-06-24 | [27680](https://github.com/airbytehq/airbyte/pull/27680) | Fix formatting | -| 3.0.3 | 2023-06-02 | [26978](https://github.com/airbytehq/airbyte/pull/26978) | Skip the stream if subscription level had changed during sync | -| 3.0.2 | 2023-02-06 | [21970](https://github.com/airbytehq/airbyte/pull/21970) | Enable availability strategy for all streams | -| 3.0.0 | 2023-01-31 | [22164](https://github.com/airbytehq/airbyte/pull/22164) | Rename nested `business_hours` table to `working_hours` | -| 2.0.1 | 2023-01-27 | [21888](https://github.com/airbytehq/airbyte/pull/21888) | Set `AvailabilityStrategy` for streams explicitly to `None` | -| 2.0.0 | 2022-12-20 | [20416](https://github.com/airbytehq/airbyte/pull/20416) | Fix `SlaPolicies` stream schema | -| 1.0.0 | 2022-11-16 | [19496](https://github.com/airbytehq/airbyte/pull/19496) | Fix `Contacts` stream schema | -| 0.3.8 | 2022-11-11 | [19349](https://github.com/airbytehq/airbyte/pull/19349) | Do not rely on response.json() when deciding to retry a request | -| 0.3.7 | 2022-11-03 | [18397](https://github.com/airbytehq/airbyte/pull/18397) | Fix base url for v2 API. | -| 0.3.6 | 2022-09-29 | [17410](https://github.com/airbytehq/airbyte/pull/17410) | Migrate to per-stream states. | -| 0.3.5 | 2022-09-27 | [17249](https://github.com/airbytehq/airbyte/pull/17249) | Added nullable to all stream schemas, added transformation into declared schema types | -| 0.3.4 | 2022-09-27 | [17243](https://github.com/airbytehq/airbyte/pull/17243) | Fixed the issue, when selected stream is not available due to Subscription Plan | -| 0.3.3 | 2022-08-06 | [15378](https://github.com/airbytehq/airbyte/pull/15378) | Allow backward compatibility for input configuration | -| 0.3.2 | 2022-06-23 | [14049](https://github.com/airbytehq/airbyte/pull/14049) | Update parsing of start_date | -| 0.3.1 | 2022-06-03 | [13332](https://github.com/airbytehq/airbyte/pull/13332) | Add new streams | -| 0.3.0 | 2022-05-30 | [12334](https://github.com/airbytehq/airbyte/pull/12334) | Implement with latest CDK | -| 0.2.11 | 2021-12-14 | [8682](https://github.com/airbytehq/airbyte/pull/8682) | Migrate to the CDK | -| 0.2.10 | 2021-12-06 | [8524](https://github.com/airbytehq/airbyte/pull/8524) | Update connector fields title/description | -| 0.2.9 | 2021-11-16 | [8017](https://github.com/airbytehq/airbyte/pull/8017) | Bugfix an issue that caused the connector to not sync more than 50000 contacts | -| 0.2.8 | 2021-10-28 | [7486](https://github.com/airbytehq/airbyte/pull/7486) | Include "requester" and "stats" fields in "tickets" stream | -| 0.2.7 | 2021-10-13 | [6442](https://github.com/airbytehq/airbyte/pull/6442) | Add start_date parameter to specification from which to start pulling data. | - - \ No newline at end of file +| 3.1.1 | 2024-06-06 | [39231](https://github.com/airbytehq/airbyte/pull/39231) | [autopull] Upgrade base image to v1.2.2 | +| 3.1.0 | 2024-03-12 | [35699](https://github.com/airbytehq/airbyte/pull/35699) | Migrate to low-code | +| 3.0.7 | 2024-02-12 | [35187](https://github.com/airbytehq/airbyte/pull/35187) | Manage dependencies with Poetry. | +| 3.0.6 | 2024-01-10 | [34101](https://github.com/airbytehq/airbyte/pull/34101) | Base image migration: remove Dockerfile and use the python-connector-base image | +| 3.0.5 | 2023-11-30 | [33000](https://github.com/airbytehq/airbyte/pull/33000) | Base image migration: remove Dockerfile and use the python-connector-base image | +| 3.0.4 | 2023-06-24 | [27680](https://github.com/airbytehq/airbyte/pull/27680) | Fix formatting | +| 3.0.3 | 2023-06-02 | [26978](https://github.com/airbytehq/airbyte/pull/26978) | Skip the stream if subscription level had changed during sync | +| 3.0.2 | 2023-02-06 | [21970](https://github.com/airbytehq/airbyte/pull/21970) | Enable availability strategy for all streams | +| 3.0.0 | 2023-01-31 | [22164](https://github.com/airbytehq/airbyte/pull/22164) | Rename nested `business_hours` table to `working_hours` | +| 2.0.1 | 2023-01-27 | [21888](https://github.com/airbytehq/airbyte/pull/21888) | Set `AvailabilityStrategy` for streams explicitly to `None` | +| 2.0.0 | 2022-12-20 | [20416](https://github.com/airbytehq/airbyte/pull/20416) | Fix `SlaPolicies` stream schema | +| 1.0.0 | 2022-11-16 | [19496](https://github.com/airbytehq/airbyte/pull/19496) | Fix `Contacts` stream schema | +| 0.3.8 | 2022-11-11 | [19349](https://github.com/airbytehq/airbyte/pull/19349) | Do not rely on response.json() when deciding to retry a request | +| 0.3.7 | 2022-11-03 | [18397](https://github.com/airbytehq/airbyte/pull/18397) | Fix base url for v2 API. | +| 0.3.6 | 2022-09-29 | [17410](https://github.com/airbytehq/airbyte/pull/17410) | Migrate to per-stream states. | +| 0.3.5 | 2022-09-27 | [17249](https://github.com/airbytehq/airbyte/pull/17249) | Added nullable to all stream schemas, added transformation into declared schema types | +| 0.3.4 | 2022-09-27 | [17243](https://github.com/airbytehq/airbyte/pull/17243) | Fixed the issue, when selected stream is not available due to Subscription Plan | +| 0.3.3 | 2022-08-06 | [15378](https://github.com/airbytehq/airbyte/pull/15378) | Allow backward compatibility for input configuration | +| 0.3.2 | 2022-06-23 | [14049](https://github.com/airbytehq/airbyte/pull/14049) | Update parsing of start_date | +| 0.3.1 | 2022-06-03 | [13332](https://github.com/airbytehq/airbyte/pull/13332) | Add new streams | +| 0.3.0 | 2022-05-30 | [12334](https://github.com/airbytehq/airbyte/pull/12334) | Implement with latest CDK | +| 0.2.11 | 2021-12-14 | [8682](https://github.com/airbytehq/airbyte/pull/8682) | Migrate to the CDK | +| 0.2.10 | 2021-12-06 | [8524](https://github.com/airbytehq/airbyte/pull/8524) | Update connector fields title/description | +| 0.2.9 | 2021-11-16 | [8017](https://github.com/airbytehq/airbyte/pull/8017) | Bugfix an issue that caused the connector to not sync more than 50000 contacts | +| 0.2.8 | 2021-10-28 | [7486](https://github.com/airbytehq/airbyte/pull/7486) | Include "requester" and "stats" fields in "tickets" stream | +| 0.2.7 | 2021-10-13 | [6442](https://github.com/airbytehq/airbyte/pull/6442) | Add start_date parameter to specification from which to start pulling data. | + + diff --git a/docs/integrations/sources/greenhouse.md b/docs/integrations/sources/greenhouse.md index 022052804a77..07fe90d1be3b 100644 --- a/docs/integrations/sources/greenhouse.md +++ b/docs/integrations/sources/greenhouse.md @@ -74,25 +74,26 @@ The Greenhouse connector should not run into Greenhouse API limitations under no | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| 0.5.3 | 2024-04-19 | [36640](https://github.com/airbytehq/airbyte/pull/36640) | Updating to 0.80.0 CDK | -| 0.5.2 | 2024-04-12 | [36640](https://github.com/airbytehq/airbyte/pull/36640) | schema descriptions | -| 0.5.1 | 2024-03-12 | [35988](https://github.com/airbytehq/airbyte/pull/35988) | Unpin CDK version | -| 0.5.0 | 2024-02-20 | [35465](https://github.com/airbytehq/airbyte/pull/35465) | Per-error reporting and continue sync on stream failures | -| 0.4.5 | 2024-02-09 | [35077](https://github.com/airbytehq/airbyte/pull/35077) | Manage dependencies with Poetry. | -| 0.4.4 | 2023-11-29 | [32397](https://github.com/airbytehq/airbyte/pull/32397) | Increase test coverage and migrate to base image | -| 0.4.3 | 2023-09-20 | [30648](https://github.com/airbytehq/airbyte/pull/30648) | Update candidates.json | -| 0.4.2 | 2023-08-02 | [28969](https://github.com/airbytehq/airbyte/pull/28969) | Update CDK version | -| 0.4.1 | 2023-06-28 | [27773](https://github.com/airbytehq/airbyte/pull/27773) | Update following state breaking changes | -| 0.4.0 | 2023-04-26 | [25332](https://github.com/airbytehq/airbyte/pull/25332) | Add new streams: `ActivityFeed`, `Approvals`, `Disciplines`, `Eeoc`, `EmailTemplates`, `Offices`, `ProspectPools`, `Schools`, `Tags`, `UserPermissions`, `UserRoles` | -| 0.3.1 | 2023-03-06 | [23231](https://github.com/airbytehq/airbyte/pull/23231) | Publish using low-code CDK Beta version | -| 0.3.0 | 2022-10-19 | [18154](https://github.com/airbytehq/airbyte/pull/18154) | Extend `Users` stream schema | -| 0.2.11 | 2022-09-27 | [17239](https://github.com/airbytehq/airbyte/pull/17239) | Always install the latest version of Airbyte CDK | -| 0.2.10 | 2022-09-05 | [16338](https://github.com/airbytehq/airbyte/pull/16338) | Implement incremental syncs & fix SATs | -| 0.2.9 | 2022-08-22 | [15800](https://github.com/airbytehq/airbyte/pull/15800) | Bugfix to allow reading sentry.yaml and schemas at runtime | -| 0.2.8 | 2022-08-10 | [15344](https://github.com/airbytehq/airbyte/pull/15344) | Migrate connector to config-based framework | -| 0.2.7 | 2022-04-15 | [11941](https://github.com/airbytehq/airbyte/pull/11941) | Correct Schema data type for Applications, Candidates, Scorecards and Users | -| 0.2.6 | 2021-11-08 | [7607](https://github.com/airbytehq/airbyte/pull/7607) | Implement demographics streams support. Update SAT for demographics streams | -| 0.2.5 | 2021-09-22 | [6377](https://github.com/airbytehq/airbyte/pull/6377) | Refactor the connector to use CDK. Implement additional stream support | -| 0.2.4 | 2021-09-15 | [6238](https://github.com/airbytehq/airbyte/pull/6238) | Add identification of accessible streams for API keys with limited permissions | - - \ No newline at end of file +| 0.5.4 | 2024-06-06 | [39247](https://github.com/airbytehq/airbyte/pull/39247) | [autopull] Upgrade base image to v1.2.2 | +| 0.5.3 | 2024-04-19 | [36640](https://github.com/airbytehq/airbyte/pull/36640) | Updating to 0.80.0 CDK | +| 0.5.2 | 2024-04-12 | [36640](https://github.com/airbytehq/airbyte/pull/36640) | schema descriptions | +| 0.5.1 | 2024-03-12 | [35988](https://github.com/airbytehq/airbyte/pull/35988) | Unpin CDK version | +| 0.5.0 | 2024-02-20 | [35465](https://github.com/airbytehq/airbyte/pull/35465) | Per-error reporting and continue sync on stream failures | +| 0.4.5 | 2024-02-09 | [35077](https://github.com/airbytehq/airbyte/pull/35077) | Manage dependencies with Poetry. | +| 0.4.4 | 2023-11-29 | [32397](https://github.com/airbytehq/airbyte/pull/32397) | Increase test coverage and migrate to base image | +| 0.4.3 | 2023-09-20 | [30648](https://github.com/airbytehq/airbyte/pull/30648) | Update candidates.json | +| 0.4.2 | 2023-08-02 | [28969](https://github.com/airbytehq/airbyte/pull/28969) | Update CDK version | +| 0.4.1 | 2023-06-28 | [27773](https://github.com/airbytehq/airbyte/pull/27773) | Update following state breaking changes | +| 0.4.0 | 2023-04-26 | [25332](https://github.com/airbytehq/airbyte/pull/25332) | Add new streams: `ActivityFeed`, `Approvals`, `Disciplines`, `Eeoc`, `EmailTemplates`, `Offices`, `ProspectPools`, `Schools`, `Tags`, `UserPermissions`, `UserRoles` | +| 0.3.1 | 2023-03-06 | [23231](https://github.com/airbytehq/airbyte/pull/23231) | Publish using low-code CDK Beta version | +| 0.3.0 | 2022-10-19 | [18154](https://github.com/airbytehq/airbyte/pull/18154) | Extend `Users` stream schema | +| 0.2.11 | 2022-09-27 | [17239](https://github.com/airbytehq/airbyte/pull/17239) | Always install the latest version of Airbyte CDK | +| 0.2.10 | 2022-09-05 | [16338](https://github.com/airbytehq/airbyte/pull/16338) | Implement incremental syncs & fix SATs | +| 0.2.9 | 2022-08-22 | [15800](https://github.com/airbytehq/airbyte/pull/15800) | Bugfix to allow reading sentry.yaml and schemas at runtime | +| 0.2.8 | 2022-08-10 | [15344](https://github.com/airbytehq/airbyte/pull/15344) | Migrate connector to config-based framework | +| 0.2.7 | 2022-04-15 | [11941](https://github.com/airbytehq/airbyte/pull/11941) | Correct Schema data type for Applications, Candidates, Scorecards and Users | +| 0.2.6 | 2021-11-08 | [7607](https://github.com/airbytehq/airbyte/pull/7607) | Implement demographics streams support. Update SAT for demographics streams | +| 0.2.5 | 2021-09-22 | [6377](https://github.com/airbytehq/airbyte/pull/6377) | Refactor the connector to use CDK. Implement additional stream support | +| 0.2.4 | 2021-09-15 | [6238](https://github.com/airbytehq/airbyte/pull/6238) | Add identification of accessible streams for API keys with limited permissions | + + diff --git a/docs/integrations/sources/harness.md b/docs/integrations/sources/harness.md index 5cd711006239..d4cfb21a2b30 100644 --- a/docs/integrations/sources/harness.md +++ b/docs/integrations/sources/harness.md @@ -52,7 +52,8 @@ Key](https://ngdocs.harness.io/article/tdoad7xrh9-add-and-manage-api-keys#harnes | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------------- | :--------------------------------------------------- | -| 0.1.0 | 2023-10-10 | [31103](https://github.com/airbytehq/airbyte/pull/31103) | Migrate to low code | +| 0.1.1 | 2024-05-20 | [38392](https://github.com/airbytehq/airbyte/pull/38392) | [autopull] base image + poetry + up_to_date | +| 0.1.0 | 2023-10-10 | [31103](https://github.com/airbytehq/airbyte/pull/31103) | Migrate to low code | | 0.1.23 | 2021-11-16 | [153](https://github.com/faros-ai/airbyte-connectors/pull/153) | Add Harness source and Faros destination's converter | \ No newline at end of file diff --git a/docs/integrations/sources/hellobaton.md b/docs/integrations/sources/hellobaton.md index b121d91f2dbd..279e525f3158 100644 --- a/docs/integrations/sources/hellobaton.md +++ b/docs/integrations/sources/hellobaton.md @@ -56,6 +56,7 @@ The connector is rate limited at 1000 requests per minute per api key. If you fi | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :---------------------------------- | +| 0.2.3 | 2024-06-15 | [39113](https://github.com/airbytehq/airbyte/pull/39113) | Make compatible with builder | | 0.2.2 | 2024-06-06 | [39189](https://github.com/airbytehq/airbyte/pull/39189) | [autopull] Upgrade base image to v1.2.2 | | 0.2.1 | 2024-05-21 | [38507](https://github.com/airbytehq/airbyte/pull/38507) | [autopull] base image + poetry + up_to_date | | 0.2.0 | 2023-08-19 | [29490](https://github.com/airbytehq/airbyte/pull/29490) | Migrate CDK from Python to Low Code | diff --git a/docs/integrations/sources/hubplanner.md b/docs/integrations/sources/hubplanner.md index cc516bdc42c9..a9041acb3e8b 100644 --- a/docs/integrations/sources/hubplanner.md +++ b/docs/integrations/sources/hubplanner.md @@ -44,9 +44,10 @@ The Okta source connector supports the following [sync modes](https://docs.airby | Version | Date | Pull Request | Subject | | :------ | :--- | :----------- | :------ | +| 0.2.2 | 2024-06-06 | [39164](https://github.com/airbytehq/airbyte/pull/39164) | [autopull] Upgrade base image to v1.2.2 | | 0.2.1 | 2024-05-20 | [38417](https://github.com/airbytehq/airbyte/pull/38417) | [autopull] base image + poetry + up_to_date | | 0.2.0 | 2021-09-31 | [29311](https://github.com/airbytehq/airbyte/pull/29311) | Migrated to LowCode CDK | | 0.1.0 | 2021-08-10 | [12145](https://github.com/airbytehq/airbyte/pull/12145) | Initial Release | - \ No newline at end of file + diff --git a/docs/integrations/sources/intercom.md b/docs/integrations/sources/intercom.md index 17d46cb61eb7..018a4e62cb2b 100644 --- a/docs/integrations/sources/intercom.md +++ b/docs/integrations/sources/intercom.md @@ -78,54 +78,55 @@ The Intercom connector should not run into Intercom API limitations under normal | Version | Date | Pull Request | Subject | |:--------|:-----------|:---------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------| -| 0.6.6 | 2024-05-24 | [38626](https://github.com/airbytehq/airbyte/pull/38626) | Add step granularity for activity logs stream | -| 0.6.5 | 2024-04-19 | [36644](https://github.com/airbytehq/airbyte/pull/36644) | Updating to 0.80.0 CDK | -| 0.6.4 | 2024-04-12 | [36644](https://github.com/airbytehq/airbyte/pull/36644) | Schema descriptions | -| 0.6.3 | 2024-03-23 | [36414](https://github.com/airbytehq/airbyte/pull/36414) | Fixed `pagination` regression bug for `conversations` stream | -| 0.6.2 | 2024-03-22 | [36277](https://github.com/airbytehq/airbyte/pull/36277) | Fixed the bug for `conversations` stream failed due to `404 - User Not Found`, when the `2.10` API version is used | -| 0.6.1 | 2024-03-18 | [36232](https://github.com/airbytehq/airbyte/pull/36232) | Fixed the bug caused the regression when setting the `Intercom-Version` header, updated the source to use the latest CDK version | -| 0.6.0 | 2024-02-12 | [35176](https://github.com/airbytehq/airbyte/pull/35176) | Update the connector to use `2.10` API version | -| 0.5.1 | 2024-02-12 | [35148](https://github.com/airbytehq/airbyte/pull/35148) | Manage dependencies with Poetry | -| 0.5.0 | 2024-02-09 | [35063](https://github.com/airbytehq/airbyte/pull/35063) | Add missing fields for mutiple streams | -| 0.4.0 | 2024-01-11 | [33882](https://github.com/airbytehq/airbyte/pull/33882) | Add new stream `Activity Logs` | -| 0.3.2 | 2023-12-07 | [33223](https://github.com/airbytehq/airbyte/pull/33223) | Ignore 404 error for `Conversation Parts` | -| 0.3.1 | 2023-10-19 | [31599](https://github.com/airbytehq/airbyte/pull/31599) | Base image migration: remove Dockerfile and use the python-connector-base image | -| 0.3.0 | 2023-05-25 | [29598](https://github.com/airbytehq/airbyte/pull/29598) | Update custom components to make them compatible with latest cdk version, simplify logic, update schemas | -| 0.2.1 | 2023-05-25 | [26571](https://github.com/airbytehq/airbyte/pull/26571) | Remove authSpecification from spec.json in favour of advancedAuth | -| 0.2.0 | 2023-04-05 | [23013](https://github.com/airbytehq/airbyte/pull/23013) | Migrated to Low-code (YAML Frramework) | -| 0.1.33 | 2023-03-20 | [22980](https://github.com/airbytehq/airbyte/pull/22980) | Specified date formatting in specification | -| 0.1.32 | 2023-02-27 | [22095](https://github.com/airbytehq/airbyte/pull/22095) | Extended `Contacts` schema adding `opted_out_subscription_types` property | -| 0.1.31 | 2023-02-17 | [23152](https://github.com/airbytehq/airbyte/pull/23152) | Add `TypeTransformer` to stream `companies` | -| 0.1.30 | 2023-01-27 | [22010](https://github.com/airbytehq/airbyte/pull/22010) | Set `AvailabilityStrategy` for streams explicitly to `None` | -| 0.1.29 | 2022-10-31 | [18681](https://github.com/airbytehq/airbyte/pull/18681) | Define correct version for airbyte-cdk~=0.2 | -| 0.1.28 | 2022-10-20 | [18216](https://github.com/airbytehq/airbyte/pull/18216) | Use airbyte-cdk~=0.2.0 with SQLite caching | -| 0.1.27 | 2022-08-28 | [17326](https://github.com/airbytehq/airbyte/pull/17326) | Migrate to per-stream states | -| 0.1.26 | 2022-08-18 | [16540](https://github.com/airbytehq/airbyte/pull/16540) | Fix JSON schema | -| 0.1.25 | 2022-08-18 | [15681](https://github.com/airbytehq/airbyte/pull/15681) | Update Intercom API to v 2.5 | -| 0.1.24 | 2022-07-21 | [14924](https://github.com/airbytehq/airbyte/pull/14924) | Remove `additionalProperties` field from schemas | -| 0.1.23 | 2022-07-19 | [14830](https://github.com/airbytehq/airbyte/pull/14830) | Added `checkpoint_interval` for Incremental streams | -| 0.1.22 | 2022-07-09 | [14554](https://github.com/airbytehq/airbyte/pull/14554) | Fixed `conversation_parts` stream schema definition | -| 0.1.21 | 2022-07-05 | [14403](https://github.com/airbytehq/airbyte/pull/14403) | Refactored `Conversations`, `Conversation Parts`, `Company Segments` to increase performance | -| 0.1.20 | 2022-06-24 | [14099](https://github.com/airbytehq/airbyte/pull/14099) | Extended `Contacts` stream schema with `sms_consent`,`unsubscribe_from_sms` properties | -| 0.1.19 | 2022-05-25 | [13204](https://github.com/airbytehq/airbyte/pull/13204) | Fixed `conversation_parts` stream schema definition | -| 0.1.18 | 2022-05-04 | [12482](https://github.com/airbytehq/airbyte/pull/12482) | Update input configuration copy | -| 0.1.17 | 2022-04-29 | [12374](https://github.com/airbytehq/airbyte/pull/12374) | Fixed filtering of conversation_parts | -| 0.1.16 | 2022-03-23 | [11206](https://github.com/airbytehq/airbyte/pull/11206) | Added conversation_id field to conversation_part records | -| 0.1.15 | 2022-03-22 | [11176](https://github.com/airbytehq/airbyte/pull/11176) | Correct `check_connection` URL | -| 0.1.14 | 2022-03-16 | [11208](https://github.com/airbytehq/airbyte/pull/11208) | Improve 'conversations' incremental sync speed | -| 0.1.13 | 2022-01-14 | [9513](https://github.com/airbytehq/airbyte/pull/9513) | Added handling of scroll param when it expired | -| 0.1.12 | 2021-12-14 | [8429](https://github.com/airbytehq/airbyte/pull/8429) | Updated fields and descriptions | -| 0.1.11 | 2021-12-13 | [8685](https://github.com/airbytehq/airbyte/pull/8685) | Remove time.sleep for rate limit | -| 0.1.10 | 2021-12-10 | [8637](https://github.com/airbytehq/airbyte/pull/8637) | Fix 'conversations' order and sorting. Correction of the companies stream | -| 0.1.9 | 2021-12-03 | [8395](https://github.com/airbytehq/airbyte/pull/8395) | Fix backoff of 'companies' stream | -| 0.1.8 | 2021-11-09 | [7060](https://github.com/airbytehq/airbyte/pull/7060) | Added oauth support | -| 0.1.7 | 2021-11-08 | [7499](https://github.com/airbytehq/airbyte/pull/7499) | Remove base-python dependencies | -| 0.1.6 | 2021-10-07 | [6879](https://github.com/airbytehq/airbyte/pull/6879) | Corrected pagination for contacts | -| 0.1.5 | 2021-09-28 | [6082](https://github.com/airbytehq/airbyte/pull/6082) | Corrected android\_last\_seen\_at field data type in schemas | -| 0.1.4 | 2021-09-20 | [6087](https://github.com/airbytehq/airbyte/pull/6087) | Corrected updated\_at field data type in schemas | -| 0.1.3 | 2021-09-08 | [5908](https://github.com/airbytehq/airbyte/pull/5908) | Corrected timestamp and arrays in schemas | -| 0.1.2 | 2021-08-19 | [5531](https://github.com/airbytehq/airbyte/pull/5531) | Corrected pagination | -| 0.1.1 | 2021-07-31 | [5123](https://github.com/airbytehq/airbyte/pull/5123) | Corrected rate limit | -| 0.1.0 | 2021-07-19 | [4676](https://github.com/airbytehq/airbyte/pull/4676) | Release Intercom CDK Connector | - - \ No newline at end of file +| 0.6.7 | 2024-06-06 | [39286](https://github.com/airbytehq/airbyte/pull/39286) | [autopull] Upgrade base image to v1.2.2 | +| 0.6.6 | 2024-05-24 | [38626](https://github.com/airbytehq/airbyte/pull/38626) | Add step granularity for activity logs stream | +| 0.6.5 | 2024-04-19 | [36644](https://github.com/airbytehq/airbyte/pull/36644) | Updating to 0.80.0 CDK | +| 0.6.4 | 2024-04-12 | [36644](https://github.com/airbytehq/airbyte/pull/36644) | Schema descriptions | +| 0.6.3 | 2024-03-23 | [36414](https://github.com/airbytehq/airbyte/pull/36414) | Fixed `pagination` regression bug for `conversations` stream | +| 0.6.2 | 2024-03-22 | [36277](https://github.com/airbytehq/airbyte/pull/36277) | Fixed the bug for `conversations` stream failed due to `404 - User Not Found`, when the `2.10` API version is used | +| 0.6.1 | 2024-03-18 | [36232](https://github.com/airbytehq/airbyte/pull/36232) | Fixed the bug caused the regression when setting the `Intercom-Version` header, updated the source to use the latest CDK version | +| 0.6.0 | 2024-02-12 | [35176](https://github.com/airbytehq/airbyte/pull/35176) | Update the connector to use `2.10` API version | +| 0.5.1 | 2024-02-12 | [35148](https://github.com/airbytehq/airbyte/pull/35148) | Manage dependencies with Poetry | +| 0.5.0 | 2024-02-09 | [35063](https://github.com/airbytehq/airbyte/pull/35063) | Add missing fields for mutiple streams | +| 0.4.0 | 2024-01-11 | [33882](https://github.com/airbytehq/airbyte/pull/33882) | Add new stream `Activity Logs` | +| 0.3.2 | 2023-12-07 | [33223](https://github.com/airbytehq/airbyte/pull/33223) | Ignore 404 error for `Conversation Parts` | +| 0.3.1 | 2023-10-19 | [31599](https://github.com/airbytehq/airbyte/pull/31599) | Base image migration: remove Dockerfile and use the python-connector-base image | +| 0.3.0 | 2023-05-25 | [29598](https://github.com/airbytehq/airbyte/pull/29598) | Update custom components to make them compatible with latest cdk version, simplify logic, update schemas | +| 0.2.1 | 2023-05-25 | [26571](https://github.com/airbytehq/airbyte/pull/26571) | Remove authSpecification from spec.json in favour of advancedAuth | +| 0.2.0 | 2023-04-05 | [23013](https://github.com/airbytehq/airbyte/pull/23013) | Migrated to Low-code (YAML Frramework) | +| 0.1.33 | 2023-03-20 | [22980](https://github.com/airbytehq/airbyte/pull/22980) | Specified date formatting in specification | +| 0.1.32 | 2023-02-27 | [22095](https://github.com/airbytehq/airbyte/pull/22095) | Extended `Contacts` schema adding `opted_out_subscription_types` property | +| 0.1.31 | 2023-02-17 | [23152](https://github.com/airbytehq/airbyte/pull/23152) | Add `TypeTransformer` to stream `companies` | +| 0.1.30 | 2023-01-27 | [22010](https://github.com/airbytehq/airbyte/pull/22010) | Set `AvailabilityStrategy` for streams explicitly to `None` | +| 0.1.29 | 2022-10-31 | [18681](https://github.com/airbytehq/airbyte/pull/18681) | Define correct version for airbyte-cdk~=0.2 | +| 0.1.28 | 2022-10-20 | [18216](https://github.com/airbytehq/airbyte/pull/18216) | Use airbyte-cdk~=0.2.0 with SQLite caching | +| 0.1.27 | 2022-08-28 | [17326](https://github.com/airbytehq/airbyte/pull/17326) | Migrate to per-stream states | +| 0.1.26 | 2022-08-18 | [16540](https://github.com/airbytehq/airbyte/pull/16540) | Fix JSON schema | +| 0.1.25 | 2022-08-18 | [15681](https://github.com/airbytehq/airbyte/pull/15681) | Update Intercom API to v 2.5 | +| 0.1.24 | 2022-07-21 | [14924](https://github.com/airbytehq/airbyte/pull/14924) | Remove `additionalProperties` field from schemas | +| 0.1.23 | 2022-07-19 | [14830](https://github.com/airbytehq/airbyte/pull/14830) | Added `checkpoint_interval` for Incremental streams | +| 0.1.22 | 2022-07-09 | [14554](https://github.com/airbytehq/airbyte/pull/14554) | Fixed `conversation_parts` stream schema definition | +| 0.1.21 | 2022-07-05 | [14403](https://github.com/airbytehq/airbyte/pull/14403) | Refactored `Conversations`, `Conversation Parts`, `Company Segments` to increase performance | +| 0.1.20 | 2022-06-24 | [14099](https://github.com/airbytehq/airbyte/pull/14099) | Extended `Contacts` stream schema with `sms_consent`,`unsubscribe_from_sms` properties | +| 0.1.19 | 2022-05-25 | [13204](https://github.com/airbytehq/airbyte/pull/13204) | Fixed `conversation_parts` stream schema definition | +| 0.1.18 | 2022-05-04 | [12482](https://github.com/airbytehq/airbyte/pull/12482) | Update input configuration copy | +| 0.1.17 | 2022-04-29 | [12374](https://github.com/airbytehq/airbyte/pull/12374) | Fixed filtering of conversation_parts | +| 0.1.16 | 2022-03-23 | [11206](https://github.com/airbytehq/airbyte/pull/11206) | Added conversation_id field to conversation_part records | +| 0.1.15 | 2022-03-22 | [11176](https://github.com/airbytehq/airbyte/pull/11176) | Correct `check_connection` URL | +| 0.1.14 | 2022-03-16 | [11208](https://github.com/airbytehq/airbyte/pull/11208) | Improve 'conversations' incremental sync speed | +| 0.1.13 | 2022-01-14 | [9513](https://github.com/airbytehq/airbyte/pull/9513) | Added handling of scroll param when it expired | +| 0.1.12 | 2021-12-14 | [8429](https://github.com/airbytehq/airbyte/pull/8429) | Updated fields and descriptions | +| 0.1.11 | 2021-12-13 | [8685](https://github.com/airbytehq/airbyte/pull/8685) | Remove time.sleep for rate limit | +| 0.1.10 | 2021-12-10 | [8637](https://github.com/airbytehq/airbyte/pull/8637) | Fix 'conversations' order and sorting. Correction of the companies stream | +| 0.1.9 | 2021-12-03 | [8395](https://github.com/airbytehq/airbyte/pull/8395) | Fix backoff of 'companies' stream | +| 0.1.8 | 2021-11-09 | [7060](https://github.com/airbytehq/airbyte/pull/7060) | Added oauth support | +| 0.1.7 | 2021-11-08 | [7499](https://github.com/airbytehq/airbyte/pull/7499) | Remove base-python dependencies | +| 0.1.6 | 2021-10-07 | [6879](https://github.com/airbytehq/airbyte/pull/6879) | Corrected pagination for contacts | +| 0.1.5 | 2021-09-28 | [6082](https://github.com/airbytehq/airbyte/pull/6082) | Corrected android\_last\_seen\_at field data type in schemas | +| 0.1.4 | 2021-09-20 | [6087](https://github.com/airbytehq/airbyte/pull/6087) | Corrected updated\_at field data type in schemas | +| 0.1.3 | 2021-09-08 | [5908](https://github.com/airbytehq/airbyte/pull/5908) | Corrected timestamp and arrays in schemas | +| 0.1.2 | 2021-08-19 | [5531](https://github.com/airbytehq/airbyte/pull/5531) | Corrected pagination | +| 0.1.1 | 2021-07-31 | [5123](https://github.com/airbytehq/airbyte/pull/5123) | Corrected rate limit | +| 0.1.0 | 2021-07-19 | [4676](https://github.com/airbytehq/airbyte/pull/4676) | Release Intercom CDK Connector | + + diff --git a/docs/integrations/sources/intruder.md b/docs/integrations/sources/intruder.md index 1943786b32f1..b16d2ac60be4 100644 --- a/docs/integrations/sources/intruder.md +++ b/docs/integrations/sources/intruder.md @@ -35,8 +35,9 @@ Intruder.io APIs are under rate limits for the number of API calls allowed per A | Version | Date | Pull Request | Subject | | :------ | :--------- | :-------------------------------------------------------- | :-------------------------------------------- | -| 0.1.2 | 2024-06-06 | [39222](https://github.com/airbytehq/airbyte/pull/39222) | [autopull] Upgrade base image to v1.2.2 | -| 0.1.1 | 2024-05-21 | [38495](https://github.com/airbytehq/airbyte/pull/38495) | [autopull] base image + poetry + up_to_date | +| 0.1.3 | 2024-06-15 | [39112](https://github.com/airbytehq/airbyte/pull/39112) | Make compatible with builder | +| 0.1.2 | 2024-06-06 | [39222](https://github.com/airbytehq/airbyte/pull/39222) | [autopull] Upgrade base image to v1.2.2 | +| 0.1.1 | 2024-05-21 | [38495](https://github.com/airbytehq/airbyte/pull/38495) | [autopull] base image + poetry + up_to_date | | 0.1.0 | 2022-10-30 | [#18668](https://github.com/airbytehq/airbyte/pull/18668) | πŸŽ‰ New Source: Intruder.io API [low-code CDK] | diff --git a/docs/integrations/sources/lemlist.md b/docs/integrations/sources/lemlist.md index 2af68b7c07ba..994ae4124acd 100644 --- a/docs/integrations/sources/lemlist.md +++ b/docs/integrations/sources/lemlist.md @@ -40,10 +40,11 @@ The Lemlist connector should not run into Lemlist API limitations under normal u | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :----------------------- | -| 0.2.2 | 2024-05-13 | [38119](https://github.com/airbytehq/airbyte/pull/38119) | Add builder compatability | -| 0.2.1 | 2024-05-15 | [37100](https://github.com/airbytehq/airbyte/pull/37100) | Add new A/B test columns | -| 0.2.0 | 2023-08-14 | [29406](https://github.com/airbytehq/airbyte/pull/29406) | Migrated to LowCode Cdk | +| 0.2.3 | 2024-06-06 | [39211](https://github.com/airbytehq/airbyte/pull/39211) | [autopull] Upgrade base image to v1.2.2 | +| 0.2.2 | 2024-05-13 | [38119](https://github.com/airbytehq/airbyte/pull/38119) | Add builder compatability | +| 0.2.1 | 2024-05-15 | [37100](https://github.com/airbytehq/airbyte/pull/37100) | Add new A/B test columns | +| 0.2.0 | 2023-08-14 | [29406](https://github.com/airbytehq/airbyte/pull/29406) | Migrated to LowCode Cdk | | 0.1.1 | Unknown | Unknown | Bump Version | | 0.1.0 | 2021-10-14 | [7062](https://github.com/airbytehq/airbyte/pull/7062) | Initial Release | - \ No newline at end of file + diff --git a/docs/integrations/sources/mailchimp.md b/docs/integrations/sources/mailchimp.md index 952149392336..0ea5abed2076 100644 --- a/docs/integrations/sources/mailchimp.md +++ b/docs/integrations/sources/mailchimp.md @@ -126,49 +126,50 @@ Now that you have set up the Mailchimp source connector, check out the following | Version | Date | Pull Request | Subject | | ------- | ---------- | -------------------------------------------------------- | -------------------------------------------------------------------------- | -| 2.0.3 | 2024-05-02 | [36649](https://github.com/airbytehq/airbyte/pull/36649) | Schema descriptions | -| 2.0.2 | 2024-04-25 | [37572](https://github.com/airbytehq/airbyte/pull/37572) | Fixed `start_date` format issue for the `email_activity` stream | -| 2.0.1 | 2024-04-19 | [37434](https://github.com/airbytehq/airbyte/pull/37434) | Fixed cursor format for the `email_activity` stream | -| 2.0.0 | 2024-04-01 | [35281](https://github.com/airbytehq/airbyte/pull/35281) | Migrate to Low-Code | -| 1.2.0 | 2024-03-28 | [36600](https://github.com/airbytehq/airbyte/pull/36600) | Migrate to latest Airbyte-CDK. | -| 1.1.2 | 2024-02-09 | [35092](https://github.com/airbytehq/airbyte/pull/35092) | Manage dependencies with Poetry. | -| 1.1.1 | 2024-01-11 | [34157](https://github.com/airbytehq/airbyte/pull/34157) | Prepare for airbyte-lib | -| 1.1.0 | 2023-12-20 | [32852](https://github.com/airbytehq/airbyte/pull/32852) | Add optional start_date for incremental streams | -| 1.0.0 | 2023-12-19 | [32836](https://github.com/airbytehq/airbyte/pull/32836) | Add airbyte-type to `datetime` columns and remove `._links` column | -| 0.10.0 | 2023-11-23 | [32782](https://github.com/airbytehq/airbyte/pull/32782) | Add SegmentMembers stream | -| 0.9.0 | 2023-11-17 | [32218](https://github.com/airbytehq/airbyte/pull/32218) | Add Interests, InterestCategories, Tags streams | -| 0.8.3 | 2023-11-15 | [32543](https://github.com/airbytehq/airbyte/pull/32543) | Handle empty datetime fields in Reports stream | -| 0.8.2 | 2023-11-13 | [32466](https://github.com/airbytehq/airbyte/pull/32466) | Improve error handling during connection check | -| 0.8.1 | 2023-11-06 | [32226](https://github.com/airbytehq/airbyte/pull/32226) | Unmute expected records test after data anonymisation | -| 0.8.0 | 2023-11-01 | [32032](https://github.com/airbytehq/airbyte/pull/32032) | Add ListMembers stream | -| 0.7.0 | 2023-10-27 | [31940](https://github.com/airbytehq/airbyte/pull/31940) | Implement availability strategy | -| 0.6.0 | 2023-10-27 | [31922](https://github.com/airbytehq/airbyte/pull/31922) | Add Segments stream | -| 0.5.0 | 2023-10-20 | [31675](https://github.com/airbytehq/airbyte/pull/31675) | Add Unsubscribes stream | -| 0.4.1 | 2023-05-02 | [25717](https://github.com/airbytehq/airbyte/pull/25717) | Handle unknown error in EmailActivity | -| 0.4.0 | 2023-04-11 | [23290](https://github.com/airbytehq/airbyte/pull/23290) | Add Automations stream | -| 0.3.5 | 2023-02-28 | [23464](https://github.com/airbytehq/airbyte/pull/23464) | Add Reports stream | -| 0.3.4 | 2023-02-06 | [22405](https://github.com/airbytehq/airbyte/pull/22405) | Revert extra logging | -| 0.3.3 | 2023-02-01 | [22228](https://github.com/airbytehq/airbyte/pull/22228) | Add extra logging | -| 0.3.2 | 2023-01-27 | [22014](https://github.com/airbytehq/airbyte/pull/22014) | Set `AvailabilityStrategy` for streams explicitly to `None` | -| 0.3.1 | 2022-12-20 | [20720](https://github.com/airbytehq/airbyte/pull/20720) | Use stream slices as a source for request params instead of a stream state | -| 0.3.0 | 2022-11-07 | [19023](https://github.com/airbytehq/airbyte/pull/19023) | Set primary key for Email Activity stream. | -| 0.2.15 | 2022-09-28 | [17326](https://github.com/airbytehq/airbyte/pull/17326) | Migrate to per-stream states. | -| 0.2.14 | 2022-04-12 | [11352](https://github.com/airbytehq/airbyte/pull/11352) | Update documentation | -| 0.2.13 | 2022-04-11 | [11632](https://github.com/airbytehq/airbyte/pull/11632) | Add unit tests | -| 0.2.12 | 2022-03-17 | [10975](https://github.com/airbytehq/airbyte/pull/10975) | Fix campaign's stream normalization | -| 0.2.11 | 2021-12-24 | [7159](https://github.com/airbytehq/airbyte/pull/7159) | Add oauth2.0 support | -| 0.2.10 | 2021-12-21 | [9000](https://github.com/airbytehq/airbyte/pull/9000) | Update connector fields title/description | -| 0.2.9 | 2021-12-13 | [7975](https://github.com/airbytehq/airbyte/pull/7975) | Updated JSON schemas | -| 0.2.8 | 2021-08-17 | [5481](https://github.com/airbytehq/airbyte/pull/5481) | Remove date-time type from some fields | -| 0.2.7 | 2021-08-03 | [5137](https://github.com/airbytehq/airbyte/pull/5137) | Source Mailchimp: fix primary key for email activities | -| 0.2.6 | 2021-07-28 | [5024](https://github.com/airbytehq/airbyte/pull/5024) | Source Mailchimp: handle records with no no "activity" field in response | -| 0.2.5 | 2021-07-08 | [4621](https://github.com/airbytehq/airbyte/pull/4621) | Mailchimp fix url-base | -| 0.2.4 | 2021-06-09 | [4285](https://github.com/airbytehq/airbyte/pull/4285) | Use datacenter URL parameter from apikey | -| 0.2.3 | 2021-06-08 | [3973](https://github.com/airbytehq/airbyte/pull/3973) | Add AIRBYTE_ENTRYPOINT for Kubernetes support | -| 0.2.2 | 2021-06-08 | [3415](https://github.com/airbytehq/airbyte/pull/3415) | Get Members activities | -| 0.2.1 | 2021-04-03 | [2726](https://github.com/airbytehq/airbyte/pull/2726) | Fix base connector versioning | -| 0.2.0 | 2021-03-09 | [2238](https://github.com/airbytehq/airbyte/pull/2238) | Protocol allows future/unknown properties | -| 0.1.4 | 2020-11-30 | [1046](https://github.com/airbytehq/airbyte/pull/1046) | Add connectors using an index YAML file | +| 2.0.4 | 2024-06-06 | [39202](https://github.com/airbytehq/airbyte/pull/39202) | [autopull] Upgrade base image to v1.2.2 | +| 2.0.3 | 2024-05-02 | [36649](https://github.com/airbytehq/airbyte/pull/36649) | Schema descriptions | +| 2.0.2 | 2024-04-25 | [37572](https://github.com/airbytehq/airbyte/pull/37572) | Fixed `start_date` format issue for the `email_activity` stream | +| 2.0.1 | 2024-04-19 | [37434](https://github.com/airbytehq/airbyte/pull/37434) | Fixed cursor format for the `email_activity` stream | +| 2.0.0 | 2024-04-01 | [35281](https://github.com/airbytehq/airbyte/pull/35281) | Migrate to Low-Code | +| 1.2.0 | 2024-03-28 | [36600](https://github.com/airbytehq/airbyte/pull/36600) | Migrate to latest Airbyte-CDK. | +| 1.1.2 | 2024-02-09 | [35092](https://github.com/airbytehq/airbyte/pull/35092) | Manage dependencies with Poetry. | +| 1.1.1 | 2024-01-11 | [34157](https://github.com/airbytehq/airbyte/pull/34157) | Prepare for airbyte-lib | +| 1.1.0 | 2023-12-20 | [32852](https://github.com/airbytehq/airbyte/pull/32852) | Add optional start_date for incremental streams | +| 1.0.0 | 2023-12-19 | [32836](https://github.com/airbytehq/airbyte/pull/32836) | Add airbyte-type to `datetime` columns and remove `._links` column | +| 0.10.0 | 2023-11-23 | [32782](https://github.com/airbytehq/airbyte/pull/32782) | Add SegmentMembers stream | +| 0.9.0 | 2023-11-17 | [32218](https://github.com/airbytehq/airbyte/pull/32218) | Add Interests, InterestCategories, Tags streams | +| 0.8.3 | 2023-11-15 | [32543](https://github.com/airbytehq/airbyte/pull/32543) | Handle empty datetime fields in Reports stream | +| 0.8.2 | 2023-11-13 | [32466](https://github.com/airbytehq/airbyte/pull/32466) | Improve error handling during connection check | +| 0.8.1 | 2023-11-06 | [32226](https://github.com/airbytehq/airbyte/pull/32226) | Unmute expected records test after data anonymisation | +| 0.8.0 | 2023-11-01 | [32032](https://github.com/airbytehq/airbyte/pull/32032) | Add ListMembers stream | +| 0.7.0 | 2023-10-27 | [31940](https://github.com/airbytehq/airbyte/pull/31940) | Implement availability strategy | +| 0.6.0 | 2023-10-27 | [31922](https://github.com/airbytehq/airbyte/pull/31922) | Add Segments stream | +| 0.5.0 | 2023-10-20 | [31675](https://github.com/airbytehq/airbyte/pull/31675) | Add Unsubscribes stream | +| 0.4.1 | 2023-05-02 | [25717](https://github.com/airbytehq/airbyte/pull/25717) | Handle unknown error in EmailActivity | +| 0.4.0 | 2023-04-11 | [23290](https://github.com/airbytehq/airbyte/pull/23290) | Add Automations stream | +| 0.3.5 | 2023-02-28 | [23464](https://github.com/airbytehq/airbyte/pull/23464) | Add Reports stream | +| 0.3.4 | 2023-02-06 | [22405](https://github.com/airbytehq/airbyte/pull/22405) | Revert extra logging | +| 0.3.3 | 2023-02-01 | [22228](https://github.com/airbytehq/airbyte/pull/22228) | Add extra logging | +| 0.3.2 | 2023-01-27 | [22014](https://github.com/airbytehq/airbyte/pull/22014) | Set `AvailabilityStrategy` for streams explicitly to `None` | +| 0.3.1 | 2022-12-20 | [20720](https://github.com/airbytehq/airbyte/pull/20720) | Use stream slices as a source for request params instead of a stream state | +| 0.3.0 | 2022-11-07 | [19023](https://github.com/airbytehq/airbyte/pull/19023) | Set primary key for Email Activity stream. | +| 0.2.15 | 2022-09-28 | [17326](https://github.com/airbytehq/airbyte/pull/17326) | Migrate to per-stream states. | +| 0.2.14 | 2022-04-12 | [11352](https://github.com/airbytehq/airbyte/pull/11352) | Update documentation | +| 0.2.13 | 2022-04-11 | [11632](https://github.com/airbytehq/airbyte/pull/11632) | Add unit tests | +| 0.2.12 | 2022-03-17 | [10975](https://github.com/airbytehq/airbyte/pull/10975) | Fix campaign's stream normalization | +| 0.2.11 | 2021-12-24 | [7159](https://github.com/airbytehq/airbyte/pull/7159) | Add oauth2.0 support | +| 0.2.10 | 2021-12-21 | [9000](https://github.com/airbytehq/airbyte/pull/9000) | Update connector fields title/description | +| 0.2.9 | 2021-12-13 | [7975](https://github.com/airbytehq/airbyte/pull/7975) | Updated JSON schemas | +| 0.2.8 | 2021-08-17 | [5481](https://github.com/airbytehq/airbyte/pull/5481) | Remove date-time type from some fields | +| 0.2.7 | 2021-08-03 | [5137](https://github.com/airbytehq/airbyte/pull/5137) | Source Mailchimp: fix primary key for email activities | +| 0.2.6 | 2021-07-28 | [5024](https://github.com/airbytehq/airbyte/pull/5024) | Source Mailchimp: handle records with no no "activity" field in response | +| 0.2.5 | 2021-07-08 | [4621](https://github.com/airbytehq/airbyte/pull/4621) | Mailchimp fix url-base | +| 0.2.4 | 2021-06-09 | [4285](https://github.com/airbytehq/airbyte/pull/4285) | Use datacenter URL parameter from apikey | +| 0.2.3 | 2021-06-08 | [3973](https://github.com/airbytehq/airbyte/pull/3973) | Add AIRBYTE_ENTRYPOINT for Kubernetes support | +| 0.2.2 | 2021-06-08 | [3415](https://github.com/airbytehq/airbyte/pull/3415) | Get Members activities | +| 0.2.1 | 2021-04-03 | [2726](https://github.com/airbytehq/airbyte/pull/2726) | Fix base connector versioning | +| 0.2.0 | 2021-03-09 | [2238](https://github.com/airbytehq/airbyte/pull/2238) | Protocol allows future/unknown properties | +| 0.1.4 | 2020-11-30 | [1046](https://github.com/airbytehq/airbyte/pull/1046) | Add connectors using an index YAML file | diff --git a/docs/integrations/sources/metabase.md b/docs/integrations/sources/metabase.md index cbf5be55137f..6b10142e0de7 100644 --- a/docs/integrations/sources/metabase.md +++ b/docs/integrations/sources/metabase.md @@ -77,8 +77,9 @@ The Metabase source connector supports the following [sync modes](https://docs.a | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- | -| 2.0.0 | 2024-03-01 | [35680](https://github.com/airbytehq/airbyte/pull/35680) | Updates `dashboards` stream, Base image migration: remove Dockerfile and use the python-connector-base image, migrated to poetry | -| 1.1.0 | 2023-10-31 | [31909](https://github.com/airbytehq/airbyte/pull/31909) | Add `databases` and `native_query_snippets` streams | +| 2.0.1 | 2024-06-06 | [39205](https://github.com/airbytehq/airbyte/pull/39205) | [autopull] Upgrade base image to v1.2.2 | +| 2.0.0 | 2024-03-01 | [35680](https://github.com/airbytehq/airbyte/pull/35680) | Updates `dashboards` stream, Base image migration: remove Dockerfile and use the python-connector-base image, migrated to poetry | +| 1.1.0 | 2023-10-31 | [31909](https://github.com/airbytehq/airbyte/pull/31909) | Add `databases` and `native_query_snippets` streams | | 1.0.1 | 2023-07-20 | [28470](https://github.com/airbytehq/airbyte/pull/27777) | Update CDK to 0.47.0 | | 1.0.0 | 2023-06-27 | [27777](https://github.com/airbytehq/airbyte/pull/27777) | Remove Activity Stream | | 0.3.1 | 2022-12-15 | [20535](https://github.com/airbytehq/airbyte/pull/20535) | Run on CDK 0.15.0 | @@ -86,4 +87,4 @@ The Metabase source connector supports the following [sync modes](https://docs.a | 0.2.0 | 2022-10-28 | [18607](https://github.com/airbytehq/airbyte/pull/18607) | Disallow using `http` URLs | | 0.1.0 | 2022-06-15 | [6975](https://github.com/airbytehq/airbyte/pull/13752) | Initial (alpha) release | - \ No newline at end of file + diff --git a/docs/integrations/sources/mongodb-v2.md b/docs/integrations/sources/mongodb-v2.md index b87c5de1e00d..abc8fb5b9b0d 100644 --- a/docs/integrations/sources/mongodb-v2.md +++ b/docs/integrations/sources/mongodb-v2.md @@ -198,9 +198,10 @@ For more information regarding configuration parameters, please see [MongoDb Doc Expand to review | Version | Date | Pull Request | Subject | -|:--------| :--------- | :------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------- | -| 1.3.15 | 2024-05-30 | [38781](https://github.com/airbytehq/airbyte/pull/38781) | Sync sending trace status messages indicating progress. | -| 1.3.14 | 2024-05-29 | [38584](https://github.com/airbytehq/airbyte/pull/38584) | Set is_resumable flag in discover. | +|:--------|:-----------| :------------------------------------------------------- |:----------------------------------------------------------------------------------------------------------| +| 1.4.0 | 2024-06-11 | [38238](https://github.com/airbytehq/airbyte/pull/38238) | Update mongodbv2 to use dbz 2.6.2 | +| 1.3.15 | 2024-05-30 | [38781](https://github.com/airbytehq/airbyte/pull/38781) | Sync sending trace status messages indicating progress. | +| 1.3.14 | 2024-05-29 | [38584](https://github.com/airbytehq/airbyte/pull/38584) | Set is_resumable flag in discover. | | 1.3.13 | 2024-05-09 | [36851](https://github.com/airbytehq/airbyte/pull/36851) | Support reading collection with a binary \_id type. | | 1.3.12 | 2024-05-07 | [36851](https://github.com/airbytehq/airbyte/pull/36851) | Upgrade debezium to version 2.5.1. | | 1.3.11 | 2024-05-02 | [37753](https://github.com/airbytehq/airbyte/pull/37753) | Chunk size(limit) should correspond to ~1GB of data. | diff --git a/docs/integrations/sources/pagerduty.md b/docs/integrations/sources/pagerduty.md index 133c9ab5cda5..9610e3cce378 100644 --- a/docs/integrations/sources/pagerduty.md +++ b/docs/integrations/sources/pagerduty.md @@ -53,6 +53,7 @@ Key](https://support.pagerduty.com/docs/generating-api-keys#section-generating-a | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------------- | :----------------------------------- | +| 0.2.3 | 2024-06-12 | [39115](https://github.com/airbytehq/airbyte/pull/39115) | Make compatible with builder | | 0.2.2 | 2024-06-06 | [39169](https://github.com/airbytehq/airbyte/pull/39169) | [autopull] Upgrade base image to v1.2.2 | | 0.2.1 | 2024-05-20 | [38429](https://github.com/airbytehq/airbyte/pull/38429) | [autopull] base image + poetry + up_to_date | | 0.2.0 | 2023-10-20 | [31160](https://github.com/airbytehq/airbyte/pull/31160) | Migrate to low code | diff --git a/docs/integrations/sources/persistiq.md b/docs/integrations/sources/persistiq.md index 816b49a0b160..0a4db928588f 100644 --- a/docs/integrations/sources/persistiq.md +++ b/docs/integrations/sources/persistiq.md @@ -43,6 +43,7 @@ Please read [How to find your API key](https://apidocs.persistiq.com/#introducti | Version | Date | Pull Request | Subject | |:--------|:-----------|:---------------------------------------------------------|:---------------------------------------| +| 0.2.3 | 2024-06-15 | [38789](https://github.com/airbytehq/airbyte/pull/38789) | Make connector compatible with builder | | 0.2.2 | 2024-06-06 | [39288](https://github.com/airbytehq/airbyte/pull/39288) | [autopull] Upgrade base image to v1.2.2 | | 0.2.1 | 2024-05-13 | [37596](https://github.com/airbytehq/airbyte/pull/37596) | Change `last_records` to `last_record` | | 0.2.0 | 2023-10-10 | [31055](https://github.com/airbytehq/airbyte/pull/31055) | Migrate to low code | diff --git a/docs/integrations/sources/punk-api.md b/docs/integrations/sources/punk-api.md index 2c3175540afd..1d4e33d266c8 100644 --- a/docs/integrations/sources/punk-api.md +++ b/docs/integrations/sources/punk-api.md @@ -64,7 +64,8 @@ Punk API's [API reference](https://punkapi.com/documentation/v2) has v2 at prese | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------ | :------------- | +| 0.1.2 | 2024-06-06 | [39158](https://github.com/airbytehq/airbyte/pull/39158) | [autopull] Upgrade base image to v1.2.2 | | 0.1.1 | 2024-05-20 | [38441](https://github.com/airbytehq/airbyte/pull/38441) | [autopull] base image + poetry + up_to_date | | 0.1.0 | 2022-10-31 | [Init](https://github.com/airbytehq/airbyte/pull/) | Initial commit | - \ No newline at end of file + diff --git a/docs/integrations/sources/recreation.md b/docs/integrations/sources/recreation.md index d8bf74f1ce04..312894d7f827 100644 --- a/docs/integrations/sources/recreation.md +++ b/docs/integrations/sources/recreation.md @@ -60,10 +60,11 @@ The following fields are required fields for the connector to work: | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :------------------------------------------------------------------------------ | -| 0.1.4 | 2024-06-04 | [38950](https://github.com/airbytehq/airbyte/pull/38950) | [autopull] Upgrade base image to v1.2.1 | -| 0.1.3 | 2024-04-19 | [37244](https://github.com/airbytehq/airbyte/pull/37244) | Upgrade to CDK 0.80.0 and manage dependencies with Poetry. | -| 0.1.2 | 2024-04-15 | [37244](https://github.com/airbytehq/airbyte/pull/37244) | Base image migration: remove Dockerfile and use the python-connector-base image | -| 0.1.1 | 2024-04-12 | [37244](https://github.com/airbytehq/airbyte/pull/37244) | schema descriptions | +| 0.1.5 | 2024-05-31 | [38733](https://github.com/airbytehq/airbyte/pull/38733) | Make compatible with builder | +| 0.1.4 | 2024-06-04 | [38950](https://github.com/airbytehq/airbyte/pull/38950) | [autopull] Upgrade base image to v1.2.1 | +| 0.1.3 | 2024-04-19 | [37244](https://github.com/airbytehq/airbyte/pull/37244) | Upgrade to CDK 0.80.0 and manage dependencies with Poetry. | +| 0.1.2 | 2024-04-15 | [37244](https://github.com/airbytehq/airbyte/pull/37244) | Base image migration: remove Dockerfile and use the python-connector-base image | +| 0.1.1 | 2024-04-12 | [37244](https://github.com/airbytehq/airbyte/pull/37244) | Schema descriptions | | 0.1.0 | 2022-11-02 | TBA | First Commit | \ No newline at end of file diff --git a/docs/integrations/sources/recruitee.md b/docs/integrations/sources/recruitee.md index e6c382e8c402..351c234ee42a 100644 --- a/docs/integrations/sources/recruitee.md +++ b/docs/integrations/sources/recruitee.md @@ -53,7 +53,8 @@ The Recruitee source connector supports the following [sync modes](https://docs. | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :-------------------- | +| 0.1.2 | 2024-06-06 | [39282](https://github.com/airbytehq/airbyte/pull/39282) | [autopull] Upgrade base image to v1.2.2 | | 0.1.1 | 2024-05-20 | [38452](https://github.com/airbytehq/airbyte/pull/38452) | [autopull] base image + poetry + up_to_date | | 0.1.0 | 2022-10-30 | [18671](https://github.com/airbytehq/airbyte/pull/18671) | New Source: Recruitee | - \ No newline at end of file + diff --git a/docs/integrations/sources/recurly.md b/docs/integrations/sources/recurly.md index 1a782987e46f..62ef9f4cb96a 100644 --- a/docs/integrations/sources/recurly.md +++ b/docs/integrations/sources/recurly.md @@ -66,15 +66,16 @@ We recommend creating a restricted, read-only key specifically for Airbyte acces | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :----------------------------------------------------------------------------------- | -| 1.0.3 | 2024-04-19 | [37246](https://github.com/airbytehq/airbyte/pull/37246) | Updating to 0.80.0 CDK | -| 1.0.2 | 2024-04-12 | [37246](https://github.com/airbytehq/airbyte/pull/37246) | schema descriptions | -| 1.0.1 | 2024-03-05 | [35828](https://github.com/airbytehq/airbyte/pull/35828) | Bump version to unarchive supportLevel in Cloud productionDB | -| 1.0.0 | 2024-03-01 | [35763](https://github.com/airbytehq/airbyte/pull/35763) | Re-introduce updated connector to catalog from archival repo | -| 0.5.0 | 2024-02-22 | [34622](https://github.com/airbytehq/airbyte/pull/34622) | Republish connector using base image/Poetry, update schemas | -| 0.4.1 | 2022-06-10 | [13685](https://github.com/airbytehq/airbyte/pull/13685) | Add state_checkpoint_interval to Recurly stream | -| 0.4.0 | 2022-01-28 | [9866](https://github.com/airbytehq/airbyte/pull/9866) | Revamp Recurly Schema and add more resources | -| 0.3.2 | 2022-01-20 | [8617](https://github.com/airbytehq/airbyte/pull/8617) | Update connector fields title/description | -| 0.3.1 | 2022-01-10 | [9382](https://github.com/airbytehq/airbyte/pull/9382) | Source Recurly: avoid loading all accounts when importing account coupon redemptions | -| 0.3.0 | 2021-12-08 | [8468](https://github.com/airbytehq/airbyte/pull/8468) | Support Incremental Sync Mode | - - \ No newline at end of file +| 1.0.4 | 2024-06-06 | [39178](https://github.com/airbytehq/airbyte/pull/39178) | [autopull] Upgrade base image to v1.2.2 | +| 1.0.3 | 2024-04-19 | [37246](https://github.com/airbytehq/airbyte/pull/37246) | Updating to 0.80.0 CDK | +| 1.0.2 | 2024-04-12 | [37246](https://github.com/airbytehq/airbyte/pull/37246) | schema descriptions | +| 1.0.1 | 2024-03-05 | [35828](https://github.com/airbytehq/airbyte/pull/35828) | Bump version to unarchive supportLevel in Cloud productionDB | +| 1.0.0 | 2024-03-01 | [35763](https://github.com/airbytehq/airbyte/pull/35763) | Re-introduce updated connector to catalog from archival repo | +| 0.5.0 | 2024-02-22 | [34622](https://github.com/airbytehq/airbyte/pull/34622) | Republish connector using base image/Poetry, update schemas | +| 0.4.1 | 2022-06-10 | [13685](https://github.com/airbytehq/airbyte/pull/13685) | Add state_checkpoint_interval to Recurly stream | +| 0.4.0 | 2022-01-28 | [9866](https://github.com/airbytehq/airbyte/pull/9866) | Revamp Recurly Schema and add more resources | +| 0.3.2 | 2022-01-20 | [8617](https://github.com/airbytehq/airbyte/pull/8617) | Update connector fields title/description | +| 0.3.1 | 2022-01-10 | [9382](https://github.com/airbytehq/airbyte/pull/9382) | Source Recurly: avoid loading all accounts when importing account coupon redemptions | +| 0.3.0 | 2021-12-08 | [8468](https://github.com/airbytehq/airbyte/pull/8468) | Support Incremental Sync Mode | + + diff --git a/docs/integrations/sources/retently.md b/docs/integrations/sources/retently.md index e47aa4b3d502..8cfc33e70277 100644 --- a/docs/integrations/sources/retently.md +++ b/docs/integrations/sources/retently.md @@ -49,17 +49,18 @@ OAuth application is [here](https://app.retently.com/settings/oauth). | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :------------------------------------------------------------------------------ | -| 0.2.4 | 2024-04-19 | [37248](https://github.com/airbytehq/airbyte/pull/37248) | Updating to 0.80.0 CDK | -| 0.2.3 | 2024-04-18 | [37248](https://github.com/airbytehq/airbyte/pull/37248) | Manage dependencies with Poetry. | -| 0.2.2 | 2024-04-15 | [37248](https://github.com/airbytehq/airbyte/pull/37248) | Base image migration: remove Dockerfile and use the python-connector-base image | -| 0.2.1 | 2024-04-12 | [37248](https://github.com/airbytehq/airbyte/pull/37248) | schema descriptions | -| 0.2.0 | 2023-08-03 | [29040](https://github.com/airbytehq/airbyte/pull/29040) | Migrate to Low-Code CDK | -| 0.1.6 | 2023-05-10 | [25714](https://github.com/airbytehq/airbyte/pull/25714) | Fix invalid json schema for nps stream | -| 0.1.5 | 2023-05-08 | [25900](https://github.com/airbytehq/airbyte/pull/25900) | Fix integration tests | -| 0.1.4 | 2023-05-08 | [25900](https://github.com/airbytehq/airbyte/pull/25900) | Fix integration tests | -| 0.1.3 | 2022-11-15 | [19456](https://github.com/airbytehq/airbyte/pull/19456) | Add campaign, feedback, outbox and templates streams | -| 0.1.2 | 2021-12-28 | [9045](https://github.com/airbytehq/airbyte/pull/9045) | Update titles and descriptions | -| 0.1.1 | 2021-12-06 | [8043](https://github.com/airbytehq/airbyte/pull/8043) | πŸŽ‰ Source Retently: add OAuth 2.0 | -| 0.1.0 | 2021-11-02 | [6966](https://github.com/airbytehq/airbyte/pull/6966) | πŸŽ‰ New Source: Retently | - - \ No newline at end of file +| 0.2.5 | 2024-06-06 | [39223](https://github.com/airbytehq/airbyte/pull/39223) | [autopull] Upgrade base image to v1.2.2 | +| 0.2.4 | 2024-04-19 | [37248](https://github.com/airbytehq/airbyte/pull/37248) | Updating to 0.80.0 CDK | +| 0.2.3 | 2024-04-18 | [37248](https://github.com/airbytehq/airbyte/pull/37248) | Manage dependencies with Poetry. | +| 0.2.2 | 2024-04-15 | [37248](https://github.com/airbytehq/airbyte/pull/37248) | Base image migration: remove Dockerfile and use the python-connector-base image | +| 0.2.1 | 2024-04-12 | [37248](https://github.com/airbytehq/airbyte/pull/37248) | schema descriptions | +| 0.2.0 | 2023-08-03 | [29040](https://github.com/airbytehq/airbyte/pull/29040) | Migrate to Low-Code CDK | +| 0.1.6 | 2023-05-10 | [25714](https://github.com/airbytehq/airbyte/pull/25714) | Fix invalid json schema for nps stream | +| 0.1.5 | 2023-05-08 | [25900](https://github.com/airbytehq/airbyte/pull/25900) | Fix integration tests | +| 0.1.4 | 2023-05-08 | [25900](https://github.com/airbytehq/airbyte/pull/25900) | Fix integration tests | +| 0.1.3 | 2022-11-15 | [19456](https://github.com/airbytehq/airbyte/pull/19456) | Add campaign, feedback, outbox and templates streams | +| 0.1.2 | 2021-12-28 | [9045](https://github.com/airbytehq/airbyte/pull/9045) | Update titles and descriptions | +| 0.1.1 | 2021-12-06 | [8043](https://github.com/airbytehq/airbyte/pull/8043) | πŸŽ‰ Source Retently: add OAuth 2.0 | +| 0.1.0 | 2021-11-02 | [6966](https://github.com/airbytehq/airbyte/pull/6966) | πŸŽ‰ New Source: Retently | + + diff --git a/docs/integrations/sources/ringcentral.md b/docs/integrations/sources/ringcentral.md index 16063d16122c..984df033d014 100644 --- a/docs/integrations/sources/ringcentral.md +++ b/docs/integrations/sources/ringcentral.md @@ -80,6 +80,7 @@ RingCentral [API reference](https://platform.devtest.ringcentral.com/restapi/v1. | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------- | :------------- | +| 0.1.3 | 2024-06-06 | [39111](https://github.com/airbytehq/airbyte/pull/39111) | Make compatible with builder | | 0.1.2 | 2024-06-04 | [38937](https://github.com/airbytehq/airbyte/pull/38937) | [autopull] Upgrade base image to v1.2.1 | | 0.1.1 | 2024-05-20 | [38382](https://github.com/airbytehq/airbyte/pull/38382) | [autopull] base image + poetry + up_to_date | | 0.1.0 | 2023-05-10 | [Init](https://github.com/airbytehq/airbyte/pull/) | Initial commit | diff --git a/docs/integrations/sources/rki-covid.md b/docs/integrations/sources/rki-covid.md index 1c17a38fdea1..4357b1f13e8e 100644 --- a/docs/integrations/sources/rki-covid.md +++ b/docs/integrations/sources/rki-covid.md @@ -56,9 +56,10 @@ Select start date | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :--------------------------------- | +| 0.1.4 | 2024-06-06 | [39294](https://github.com/airbytehq/airbyte/pull/39294) | [autopull] Upgrade base image to v1.2.2 | | 0.1.3 | 2024-05-20 | [38434](https://github.com/airbytehq/airbyte/pull/38434) | [autopull] base image + poetry + up_to_date | | 0.1.2 | 2022-08-25 | [15667](https://github.com/airbytehq/airbyte/pull/15667) | Add message when no data available | | 0.1.1 | 2022-05-30 | [11732](https://github.com/airbytehq/airbyte/pull/11732) | Fix docs | | 0.1.0 | 2022-05-30 | [11732](https://github.com/airbytehq/airbyte/pull/11732) | Initial Release | - \ No newline at end of file + diff --git a/docs/integrations/sources/salesforce.md b/docs/integrations/sources/salesforce.md index 26f0154640a6..113be9a9edd6 100644 --- a/docs/integrations/sources/salesforce.md +++ b/docs/integrations/sources/salesforce.md @@ -195,14 +195,15 @@ Now that you have set up the Salesforce source connector, check out the followin | Version | Date | Pull Request | Subject | |:--------|:-----------|:---------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------| -| 2.5.13 | 2024-05-23 | [38563](https://github.com/airbytehq/airbyte/pull/38563) | Use HttpClient to perform HTTP requests for bulk, authentication and schema discovery | -| 2.5.12 | 2024-05-16 | [38255](https://github.com/airbytehq/airbyte/pull/38255) | Replace AirbyteLogger with logging.Logger | -| 2.5.11 | 2024-05-09 | [38205](https://github.com/airbytehq/airbyte/pull/38205) | Use new delete method of HttpMocker for test_bulk_stream | -| 2.5.10 | 2024-05-09 | [38065](https://github.com/airbytehq/airbyte/pull/38065) | Replace deprecated authentication mechanism to up-to-date one | -| 2.5.9 | 2024-05-02 | [37749](https://github.com/airbytehq/airbyte/pull/37749) | Adding mock server tests for bulk streams | -| 2.5.8 | 2024-04-30 | [37340](https://github.com/airbytehq/airbyte/pull/37340) | Source Salesforce: reduce info logs | -| 2.5.7 | 2024-04-24 | [36657](https://github.com/airbytehq/airbyte/pull/36657) | Schema descriptions | -| 2.5.6 | 2024-04-19 | [37448](https://github.com/airbytehq/airbyte/pull/37448) | Ensure AirbyteTracedException in concurrent CDK are emitted with the right type | +| 2.5.14 | 2024-06-06 | [39269](https://github.com/airbytehq/airbyte/pull/39269) | [autopull] Upgrade base image to v1.2.2 | +| 2.5.13 | 2024-05-23 | [38563](https://github.com/airbytehq/airbyte/pull/38563) | Use HttpClient to perform HTTP requests for bulk, authentication and schema discovery | +| 2.5.12 | 2024-05-16 | [38255](https://github.com/airbytehq/airbyte/pull/38255) | Replace AirbyteLogger with logging.Logger | +| 2.5.11 | 2024-05-09 | [38205](https://github.com/airbytehq/airbyte/pull/38205) | Use new delete method of HttpMocker for test_bulk_stream | +| 2.5.10 | 2024-05-09 | [38065](https://github.com/airbytehq/airbyte/pull/38065) | Replace deprecated authentication mechanism to up-to-date one | +| 2.5.9 | 2024-05-02 | [37749](https://github.com/airbytehq/airbyte/pull/37749) | Adding mock server tests for bulk streams | +| 2.5.8 | 2024-04-30 | [37340](https://github.com/airbytehq/airbyte/pull/37340) | Source Salesforce: reduce info logs | +| 2.5.7 | 2024-04-24 | [36657](https://github.com/airbytehq/airbyte/pull/36657) | Schema descriptions | +| 2.5.6 | 2024-04-19 | [37448](https://github.com/airbytehq/airbyte/pull/37448) | Ensure AirbyteTracedException in concurrent CDK are emitted with the right type | | 2.5.5 | 2024-04-18 | [37392](https://github.com/airbytehq/airbyte/pull/37419) | Ensure python return code != 0 in case of error | | 2.5.4 | 2024-04-18 | [37392](https://github.com/airbytehq/airbyte/pull/37392) | Update CDK version to have partitioned state fix | | 2.5.3 | 2024-04-17 | [37376](https://github.com/airbytehq/airbyte/pull/37376) | Improve rate limit error message during check command | diff --git a/docs/integrations/sources/secoda.md b/docs/integrations/sources/secoda.md index 77329523463f..fac77b8a944e 100644 --- a/docs/integrations/sources/secoda.md +++ b/docs/integrations/sources/secoda.md @@ -32,6 +32,7 @@ This source can sync data from the [Secoda API](https://docs.secoda.co/secoda-ap | Version | Date | Pull Request | Subject | | :------ | :--------- | :-------------------------------------------------------- | :--------------------------------------- | +| 0.1.3 | 2024-06-05 | [38932](https://github.com/airbytehq/airbyte/pull/38932) | Make connector compatible with builder | | 0.1.2 | 2024-06-04 | [38957](https://github.com/airbytehq/airbyte/pull/38957) | [autopull] Upgrade base image to v1.2.1 | | 0.1.1 | 2024-05-21 | [38530](https://github.com/airbytehq/airbyte/pull/38530) | [autopull] base image + poetry + up_to_date | | 0.1.0 | 2022-10-27 | [#18378](https://github.com/airbytehq/airbyte/pull/18378) | πŸŽ‰ New Source: Secoda API [low-code CDK] | diff --git a/docs/integrations/sources/shortio.md b/docs/integrations/sources/shortio.md index ac43dc4ceb42..2ff21062f255 100644 --- a/docs/integrations/sources/shortio.md +++ b/docs/integrations/sources/shortio.md @@ -44,12 +44,13 @@ This Source is capable of syncing the following Streams: | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :------------------------------------------------ | -| 0.2.2 | 2024-06-04 | [38970](https://github.com/airbytehq/airbyte/pull/38970) | [autopull] Upgrade base image to v1.2.1 | -| 0.2.1 | 2024-05-02 | [37597](https://github.com/airbytehq/airbyte/pull/37597) | Change `last_records` to `last_record` | -| 0.2.0 | 2023-08-02 | [28950](https://github.com/airbytehq/airbyte/pull/28950) | Migrate to Low-Code CDK | -| 0.1.3 | 2022-08-01 | [15066](https://github.com/airbytehq/airbyte/pull/15066) | Update primary key to `idString` | -| 0.1.2 | 2021-12-28 | [8628](https://github.com/airbytehq/airbyte/pull/8628) | Update fields in source-connectors specifications | -| 0.1.1 | 2021-11-08 | [7499](https://github.com/airbytehq/airbyte/pull/7499) | Remove base-python dependencies | +| 0.2.3 | 2024-06-05 | [38842](https://github.com/airbytehq/airbyte/pull/38842) | Embed schemas and spec | +| 0.2.2 | 2024-06-04 | [38970](https://github.com/airbytehq/airbyte/pull/38970) | [autopull] Upgrade base image to v1.2.1 | +| 0.2.1 | 2024-05-02 | [37597](https://github.com/airbytehq/airbyte/pull/37597) | Change `last_records` to `last_record` | +| 0.2.0 | 2023-08-02 | [28950](https://github.com/airbytehq/airbyte/pull/28950) | Migrate to Low-Code CDK | +| 0.1.3 | 2022-08-01 | [15066](https://github.com/airbytehq/airbyte/pull/15066) | Update primary key to `idString` | +| 0.1.2 | 2021-12-28 | [8628](https://github.com/airbytehq/airbyte/pull/8628) | Update fields in source-connectors specifications | +| 0.1.1 | 2021-11-08 | [7499](https://github.com/airbytehq/airbyte/pull/7499) | Remove base-python dependencies | | 0.1.0 | 2021-08-16 | [3787](https://github.com/airbytehq/airbyte/pull/5418) | Add Native Shortio Source Connector | \ No newline at end of file diff --git a/docs/integrations/sources/square.md b/docs/integrations/sources/square.md index 151d57ef3b07..7305a535a60e 100644 --- a/docs/integrations/sources/square.md +++ b/docs/integrations/sources/square.md @@ -103,6 +103,7 @@ Exponential [Backoff](https://developer.squareup.com/forums/t/current-square-api | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :------------------------------------------------------------------------ | +| 1.6.3 | 2024-06-14 | [39377](https://github.com/airbytehq/airbyte/pull/39377) | Add error handlers, migrate to inline schemas, move spec to manifest | | 1.6.2 | 2024-05-03 | [37800](https://github.com/airbytehq/airbyte/pull/37800) | Migrate to Poetry. Replace custom components with default classes | | 1.6.1 | 2023-11-07 | [31481](https://github.com/airbytehq/airbyte/pull/31481) | Fix duplicate records for `Payments` and `Refunds` stream | | 1.6.0 | 2023-10-18 | [31115](https://github.com/airbytehq/airbyte/pull/31115) | Add `customer_id` field to `Payments` and `Orders` streams | diff --git a/docs/integrations/sources/stripe.md b/docs/integrations/sources/stripe.md index 7bfee56cdbd7..391dffc9c895 100644 --- a/docs/integrations/sources/stripe.md +++ b/docs/integrations/sources/stripe.md @@ -225,6 +225,8 @@ Each record is marked with `is_deleted` flag when the appropriate event happens | Version | Date | Pull Request | Subject | | :------ | :--------- | :-------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 5.4.2 | 2024-06-11 | [39412](https://github.com/airbytehq/airbyte/pull/39412) | Removed `invoice.upcomming` event type from (incremental sync) for `Invoices` stream | +| 5.4.1 | 2024-06-11 | [39393](https://github.com/airbytehq/airbyte/pull/39393) | Added missing `event types` (incremental sync) for `Invoices` stream | | 5.4.0 | 2024-06-05 | [39138](https://github.com/airbytehq/airbyte/pull/39138) | Fixed the `Refunds` stream missing data for the `incremental` sync | | 5.3.9 | 2024-05-22 | [38550](https://github.com/airbytehq/airbyte/pull/38550) | Update authenticator package | | 5.3.8 | 2024-05-15 | [38248](https://github.com/airbytehq/airbyte/pull/38248) | Replace AirbyteLogger with logging.Logger | diff --git a/docs/integrations/sources/todoist.md b/docs/integrations/sources/todoist.md index 127b7fc4aa95..dbd5821cae73 100644 --- a/docs/integrations/sources/todoist.md +++ b/docs/integrations/sources/todoist.md @@ -46,6 +46,7 @@ List of available streams: | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :--------------------------------------------------------- | +| 0.2.5 | 2024-06-05 | [38819](https://github.com/airbytehq/airbyte/pull/38819) | Make compatible with the builder | | 0.2.4 | 2024-06-04 | [38936](https://github.com/airbytehq/airbyte/pull/38936) | [autopull] Upgrade base image to v1.2.1 | | 0.2.3 | 2024-05-21 | [38524](https://github.com/airbytehq/airbyte/pull/38524) | [autopull] base image + poetry + up_to_date | | 0.2.2 | 2024-04-19 | [37272](https://github.com/airbytehq/airbyte/pull/37272) | Upgrade to CDK 0.80.0 and manage dependencies with Poetry. | diff --git a/docs/integrations/sources/twilio-taskrouter.md b/docs/integrations/sources/twilio-taskrouter.md index 8def473ebd6b..df203971146e 100644 --- a/docs/integrations/sources/twilio-taskrouter.md +++ b/docs/integrations/sources/twilio-taskrouter.md @@ -61,6 +61,7 @@ For more information, see [the Twilio docs for rate limitations](https://support | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :------------------------------------------------------------------------------ | +| 0.1.5 | 2024-06-10 | [38788](https://github.com/airbytehq/airbyte/pull/38788) | Make compatible with the builder | | 0.1.4 | 2024-06-04 | [39067](https://github.com/airbytehq/airbyte/pull/39067) | [autopull] Upgrade base image to v1.2.1 | | 0.1.3. | 2024-04-19 | [37278](https://github.com/airbytehq/airbyte/pull/37278) | Upgrade to CDK 0.80.0 and manage dependencies with Poetry. | | 0.1.2 | 2024-04-15 | [37278](https://github.com/airbytehq/airbyte/pull/37278) | Base image migration: remove Dockerfile and use the python-connector-base image | diff --git a/docs/integrations/sources/twilio.md b/docs/integrations/sources/twilio.md index 250aba44265f..74618503b766 100644 --- a/docs/integrations/sources/twilio.md +++ b/docs/integrations/sources/twilio.md @@ -100,6 +100,7 @@ For more information, see [the Twilio docs for rate limitations](https://support | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :------------------------------------------------------------------------------------------------------ | +| 0.11.5 | 2024-06-06 | [39252](https://github.com/airbytehq/airbyte/pull/39252) | [autopull] Upgrade base image to v1.2.2 | | 0.11.4 | 2024-05-22 | [38559](https://github.com/airbytehq/airbyte/pull/38564) | Migrate authenticator to `requests_native_auth` package | | 0.11.3 | 2024-05-20 | [38262](https://github.com/airbytehq/airbyte/pull/38262) | Replace AirbyteLogger with logging.Logger | | 0.11.2 | 2024-04-19 | [36666](https://github.com/airbytehq/airbyte/pull/36666) | Updating to 0.80.0 CDK | @@ -134,4 +135,4 @@ For more information, see [the Twilio docs for rate limitations](https://support | 0.1.1 | 2021-10-18 | [7034](https://github.com/airbytehq/airbyte/pull/7034) | Update schemas and transform data types according to the API schema | | 0.1.0 | 2021-07-02 | [4070](https://github.com/airbytehq/airbyte/pull/4070) | Native Twilio connector implemented | - \ No newline at end of file + diff --git a/docs/integrations/sources/twitter.md b/docs/integrations/sources/twitter.md index abb2190b294a..50daa102e6b5 100644 --- a/docs/integrations/sources/twitter.md +++ b/docs/integrations/sources/twitter.md @@ -41,9 +41,10 @@ Rate limiting is mentioned in the API [documentation](https://developer.twitter. | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :------------------------------------------------ | +| 0.1.4 | 2024-06-06 | [39154](https://github.com/airbytehq/airbyte/pull/39154) | [autopull] Upgrade base image to v1.2.2 | | 0.1.3 | 2024-05-21 | [38525](https://github.com/airbytehq/airbyte/pull/38525) | [autopull] base image + poetry + up_to_date | | 0.1.2 | 2023-03-06 | [23749](https://github.com/airbytehq/airbyte/pull/23749) | Spec and docs are improved for beta certification | | 0.1.1 | 2023-03-03 | [23661](https://github.com/airbytehq/airbyte/pull/23661) | Incremental added for the "tweets" stream | | 0.1.0 | 2022-11-01 | [18883](https://github.com/airbytehq/airbyte/pull/18858) | πŸŽ‰ New Source: Twitter | - \ No newline at end of file + diff --git a/docs/integrations/sources/unleash.md b/docs/integrations/sources/unleash.md index 1278aacc1150..29c9c8087465 100644 --- a/docs/integrations/sources/unleash.md +++ b/docs/integrations/sources/unleash.md @@ -58,6 +58,7 @@ The API key that you are assigned is rate-limited. | Version | Date | Pull Request | Subject | | :------ | :--------- | :-------------------------------------------------------- | :------------------------------------ | +| 0.1.1 | 2024-05-20 | [38378](https://github.com/airbytehq/airbyte/pull/38378) | [autopull] base image + poetry + up_to_date | | 0.1.0 | 2022-11-30 | [#19923](https://github.com/airbytehq/airbyte/pull/19923) | πŸŽ‰ New source: Unleash [low-code CDK] | \ No newline at end of file diff --git a/docs/integrations/sources/vitally.md b/docs/integrations/sources/vitally.md index e911e0228e62..765cb4d58ac6 100644 --- a/docs/integrations/sources/vitally.md +++ b/docs/integrations/sources/vitally.md @@ -41,8 +41,8 @@ The Vitally connector should not run into Vitally API limitations under normal u | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :--------------------------- | +| 0.1.3 | 2024-06-25 | [38605](https://github.com/airbytehq/airbyte/pull/38605) | Make compatible with builder | | 0.1.2 | 2024-06-06 | [39203](https://github.com/airbytehq/airbyte/pull/39203) | [autopull] Upgrade base image to v1.2.2 | | 0.1.1 | 2024-05-20 | [38446](https://github.com/airbytehq/airbyte/pull/38446) | [autopull] base image + poetry + up_to_date | | 0.1.0 | 2022-10-27 | [18545](https://github.com/airbytehq/airbyte/pull/18545) | Add Vitally Source Connector | - diff --git a/docs/integrations/sources/whisky-hunter.md b/docs/integrations/sources/whisky-hunter.md index dd7966548afc..bace73fcfa93 100644 --- a/docs/integrations/sources/whisky-hunter.md +++ b/docs/integrations/sources/whisky-hunter.md @@ -38,8 +38,9 @@ There is no published rate limit. However, since this data updates infrequently, | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :----------------------------------------------- | +| 0.1.3 | 2024-06-06 | [39219](https://github.com/airbytehq/airbyte/pull/39219) | [autopull] Upgrade base image to v1.2.2 | | 0.1.2 | 2024-06-05 | [38841](https://github.com/airbytehq/airbyte/pull/38841) | Make compatible with builder | | 0.1.1 | 2024-05-21 | [38508](https://github.com/airbytehq/airbyte/pull/38508) | [autopull] base image + poetry + up_to_date | | 0.1.0 | 2022-10-12 | [17918](https://github.com/airbytehq/airbyte/pull/17918) | Initial release supporting the Whisky Hunter API | - \ No newline at end of file + diff --git a/docs/integrations/sources/xkcd.md b/docs/integrations/sources/xkcd.md index a0310dd66774..2fe69d2772a8 100644 --- a/docs/integrations/sources/xkcd.md +++ b/docs/integrations/sources/xkcd.md @@ -25,8 +25,9 @@ XKCD does not perform rate limiting. | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :---------------------------------------- | +| 0.1.3 | 2024-06-06 | [39293](https://github.com/airbytehq/airbyte/pull/39293) | [autopull] Upgrade base image to v1.2.2 | | 0.1.2 | 2024-05-20 | [38401](https://github.com/airbytehq/airbyte/pull/38401) | [autopull] base image + poetry + up_to_date | | 0.1.1 | 2022-10-24 | [18386](https://github.com/airbytehq/airbyte/pull/18386) | Readded xkcd to source def yaml | | 0.1.0 | 2022-10-17 | [18049](https://github.com/airbytehq/airbyte/pull/18049) | Initial version/release of the connector. | - \ No newline at end of file + diff --git a/docs/integrations/sources/yotpo.md b/docs/integrations/sources/yotpo.md index 97ccee2192b1..1e21c41fab19 100644 --- a/docs/integrations/sources/yotpo.md +++ b/docs/integrations/sources/yotpo.md @@ -71,6 +71,7 @@ Yotpo [API reference](https://api.yotpo.com/v1/) has v1 at present. The connecto | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------ | :------------- | +| 0.1.1 | 2024-05-20 | [38390](https://github.com/airbytehq/airbyte/pull/38390) | [autopull] base image + poetry + up_to_date | | 0.1.0 | 2023-04-14 | [Init](https://github.com/airbytehq/airbyte/pull/25532) | Initial commit | \ No newline at end of file diff --git a/docs/integrations/sources/zendesk-sell.md b/docs/integrations/sources/zendesk-sell.md index 32a84dfc7618..a2a662333142 100644 --- a/docs/integrations/sources/zendesk-sell.md +++ b/docs/integrations/sources/zendesk-sell.md @@ -77,9 +77,10 @@ We recommend creating a restricted, read-only key specifically for Airbyte acces | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :----------------------------------------------------------------------------- | +| 0.2.2 | 2024-06-06 | [39258](https://github.com/airbytehq/airbyte/pull/39258) | [autopull] Upgrade base image to v1.2.2 | | 0.2.1 | 2024-05-20 | [38426](https://github.com/airbytehq/airbyte/pull/38426) | [autopull] base image + poetry + up_to_date | | 0.2.0 | 2023-10-23 | [31016](https://github.com/airbytehq/airbyte/pull/31016) | Migrated to Low Code CDK | | 0.1.1 | 2023-08-30 | [29830](https://github.com/airbytehq/airbyte/pull/29830) | Change phone_number in Calls to string (bug in zendesk sell api documentation) | | 0.1.0 | 2022-10-27 | [17888](https://github.com/airbytehq/airbyte/pull/17888) | Initial Release | - \ No newline at end of file + diff --git a/docs/integrations/sources/zoom.md b/docs/integrations/sources/zoom.md index 768083e81197..7dee9436ea4c 100644 --- a/docs/integrations/sources/zoom.md +++ b/docs/integrations/sources/zoom.md @@ -71,9 +71,10 @@ JWT Tokens are deprecated, only Server-to-Server works now. [link to Zoom](https | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :--------------------------------------------------- | -| 1.1.0 | 2024-02-22 | [35369](https://github.com/airbytehq/airbyte/pull/35369) | Publish S2S Oauth connector with fixed authenticator | +| 1.1.1 | 2024-06-06 | [39279](https://github.com/airbytehq/airbyte/pull/39279) | [autopull] Upgrade base image to v1.2.2 | +| 1.1.0 | 2024-02-22 | [35369](https://github.com/airbytehq/airbyte/pull/35369) | Publish S2S Oauth connector with fixed authenticator | | 1.0.0 | 2023-7-28 | [25308](https://github.com/airbytehq/airbyte/pull/25308) | Replace JWT Auth methods with server-to-server Oauth | | 0.1.1 | 2022-11-30 | [19939](https://github.com/airbytehq/airbyte/pull/19939) | Upgrade CDK version to fix bugs with SubStreamSlicer | | 0.1.0 | 2022-10-25 | [18179](https://github.com/airbytehq/airbyte/pull/18179) | Initial Release | - \ No newline at end of file + diff --git a/docs/operator-guides/refreshes.md b/docs/operator-guides/refreshes.md index 28e9830bde9d..2e17ded68b88 100644 --- a/docs/operator-guides/refreshes.md +++ b/docs/operator-guides/refreshes.md @@ -126,3 +126,23 @@ Time passes, and you opt to do a Refresh and Remove History Sync to see if any u | 3 | Benoit | 2024-02-02 12:00:00 | 1 | `{ changes: [], sync_id: 2, }` | eee-eee | Notice that user #2’s latest entry doesn’t belong to the current (e.g. `max(_airbyte_generation_id)`) generation. This informs you that the source no longer includes a record for this primary key, and it has been deleted. In your downstream tables or analysis, you can opt to exclude this record. + +## Frequently Asked Questions (FAQ) + +### How are full refresh append/overwrite different from merge/truncate refresh? + +They're completely identical! A full refresh append sync is just running a merge refresh on every sync; a full refresh overwrite sync is just running a truncate refresh on every sync. Notably, this means that `_airbyte_generation_id` will increment on every sync. + +### Does the generation ID reset to 0 after running a clear+resync? What about a truncate refresh? + +The generation ID will be incremented when you run a clear or refresh. Airbyte will never decrease the generation ID. + +Notably, for clear syncs: if you run a refresh immediately after running a clear (including syncing a full refresh stream normally, as noted in the [previous question](#how-are-full-refresh-appendoverwrite-different-from-mergetruncate-refresh)), that will _also_ increment the generation ID. This means the generation ID will increment twice, even though one of those "generations" never emitted any records. + +### For DV2 destinations, how do clears / truncate refreshes interact with the raw and final tables? + +All preeexisting data will be deleted from both the raw and final tables. If you want to retain that data, you should run a _merge_ refresh. + +### If I refresh/clear a single stream in a connection, does the generation ID increment for other streams in that connection? + +No. Streams within a connection have independent generation IDs. Clearing/refreshing a single stream will only increment that stream's generation; other streams are unaffected. diff --git a/docs/release_notes/may_2024.md b/docs/release_notes/may_2024.md new file mode 100644 index 000000000000..1ea3e1a64ae4 --- /dev/null +++ b/docs/release_notes/may_2024.md @@ -0,0 +1,28 @@ +# May 2024 + +## airbyte v0.58.1 to v0.62.2 + +This page includes new features and improvements to the Airbyte Cloud and Airbyte Open Source platforms. + +## ✨ Highlights + +Our certified database sources (Mongo, MySQL, MSSQL and Postgres) are now [resilient](/operator-guides/refreshes#resumability) to failures while syncing with full refresh sync mode. They’ll now checkpoint so that we resume syncing between attempts without needing to start over. + +We expanded on our AI offering by releasing a new [Snowflake Cortex](/integrations/destinations/snowflake-cortex) destination to support users who prefer to use Snowflake as a vector store and utilize the LLM capabilities of Snowflake Cortex functions. + + +## Platform Releases + +- We are now resilient to changes when a connector changes its defined primary key. This can occur during major version updates to a connector or when there are upstream adjustments to a source-defined primary key. Airbyte will gracefully recognize the change in the primary key and ask to update the connection before syncing again. + +- (Self-Managed Enterprise only) We've made Enterprise configurations more secure and easier to support by deprecating the use of the airbyte.yaml file. Now, all Enterprise configuration is sourced from user-managed secrets. + +## Connector Improvements + +We also released a few notable connector improvements: + +- [MongoDB source](https://github.com/airbytehq/airbyte/pull/38103) now supports UUIDs as a cursor +- [S3 Destination](https://github.com/airbytehq/airbyte/issues/32861) now supports IAM Role Authentication. Cloud users can reach out to Sales to enable the feature for their workspace. + +- Errors are now systemized with the Python CDK, making it easier to define how failures are captured, the backoff strategy, and parse the received error messages. +- In the Connector Builder, the Authentication and Record Selector components can now be toggled to YAML mode. Users can also filter down to only relevant records using the Record Filter, coerce data types to make data consistent, or easily test different input states for Incremental syncs. Testing has become simpler by allowing the use of outputs as inputs. The builder also now allows custom authenticators or authenticators that are not yet added to the UI. diff --git a/docusaurus/sidebars.js b/docusaurus/sidebars.js index a507acd654c1..bae5aec6c62c 100644 --- a/docusaurus/sidebars.js +++ b/docusaurus/sidebars.js @@ -664,6 +664,7 @@ module.exports = { type: "generated-index", }, items: [ + "release_notes/may_2024", "release_notes/april_2024", "release_notes/march_2024", "release_notes/february_2024", diff --git a/gradle.properties b/gradle.properties index 139a6d889a2a..35afbfbb83f4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -VERSION=0.62.4 +VERSION=0.63.0 # NOTE: some of these values are overwritten in CI! # NOTE: if you want to override this for your local machine, set overrides in ~/.gradle/gradle.properties diff --git a/run-ab-platform.sh b/run-ab-platform.sh index 45d49185459a..bb09259c9d81 100755 --- a/run-ab-platform.sh +++ b/run-ab-platform.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -VERSION=0.62.4 +VERSION=0.63.0 # Run away from anything even a little scary set -o nounset # -u exit if a variable is not set set -o errexit # -f exit for any command failure"