diff --git a/airbyte-ci/connectors/connectors_qa/src/connectors_qa/checks/metadata.py b/airbyte-ci/connectors/connectors_qa/src/connectors_qa/checks/metadata.py index d06a7945ef5c..da2b73b25c72 100644 --- a/airbyte-ci/connectors/connectors_qa/src/connectors_qa/checks/metadata.py +++ b/airbyte-ci/connectors/connectors_qa/src/connectors_qa/checks/metadata.py @@ -48,7 +48,9 @@ def get_expected_language_tag(self, connector: Connector) -> str: connector.code_directory / consts.PYPROJECT_FILE_NAME ).exists(): return self.PYTHON_LANGUAGE_TAG - elif (connector.code_directory / consts.GRADLE_FILE_NAME).exists(): + elif (connector.code_directory / consts.GRADLE_FILE_NAME).exists() or ( + connector.code_directory / consts.GRADLE_KOTLIN_FILE_NAME + ).exists(): return self.JAVA_LANGUAGE_TAG else: raise ValueError("Could not infer the language tag from the connector directory") diff --git a/airbyte-ci/connectors/connectors_qa/src/connectors_qa/consts.py b/airbyte-ci/connectors/connectors_qa/src/connectors_qa/consts.py index ba17a607cc18..2d4d863aab65 100644 --- a/airbyte-ci/connectors/connectors_qa/src/connectors_qa/consts.py +++ b/airbyte-ci/connectors/connectors_qa/src/connectors_qa/consts.py @@ -9,6 +9,7 @@ DOCKERFILE_NAME = "Dockerfile" DOCUMENTATION_STANDARDS_URL = "https://hackmd.io/Bz75cgATSbm7DjrAqgl4rw" GRADLE_FILE_NAME = "build.gradle" +GRADLE_KOTLIN_FILE_NAME = "build.gradle.kts" LICENSE_FAQ_URL = "https://docs.airbyte.com/developer-guides/licenses/license-faq" LOW_CODE_MANIFEST_FILE_NAME = "manifest.yaml" METADATA_DOCUMENTATION_URL = "https://docs.airbyte.com/connector-development/connector-metadata-file" diff --git a/airbyte-ci/connectors/pipelines/README.md b/airbyte-ci/connectors/pipelines/README.md index ec4f0875090a..c9206c9b9009 100644 --- a/airbyte-ci/connectors/pipelines/README.md +++ b/airbyte-ci/connectors/pipelines/README.md @@ -854,6 +854,7 @@ airbyte-ci connectors --language=low-code migrate-to-manifest-only | Version | PR | Description | |---------|------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------| +| 4.46.5 | [#49835](https://github.com/airbytehq/airbyte/pull/49835) | Fix connector language discovery for projects with Kotlin Gradle build scripts. | | 4.46.4 | [#49462](https://github.com/airbytehq/airbyte/pull/49462) | Support Kotlin Gradle build scripts in connectors. | | 4.46.3 | [#49465](https://github.com/airbytehq/airbyte/pull/49465) | Fix `--use-local-cdk` on rootless connectors. | | 4.46.2 | [#49136](https://github.com/airbytehq/airbyte/pull/49136) | Fix failed install of python components due to non-root permissions. | diff --git a/airbyte-ci/connectors/pipelines/pyproject.toml b/airbyte-ci/connectors/pipelines/pyproject.toml index 92a0aee6df37..dc32ae4df374 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.46.4" +version = "4.46.5" description = "Packaged maintained by the connector operations team to perform CI for connectors' pipelines" authors = ["Airbyte "] diff --git a/airbyte-integrations/connectors/destination-mssql-v2/README.md b/airbyte-integrations/connectors/destination-mssql-v2/README.md new file mode 100644 index 000000000000..4f2fe1572dfa --- /dev/null +++ b/airbyte-integrations/connectors/destination-mssql-v2/README.md @@ -0,0 +1,91 @@ +# Microsoft SQL Server V2 (Bulk CDK) Destination + +## Build + +### airbyte-ci + +To build the connector via the [Airbyte CI CLI tool](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md), navigate to the root of the [Airbyte repository](https://github.com/airbytehq/airbyte) and execute the following command: + +```shell +> airbyte-ci connectors --name=destination-mssql-v2 build +``` + +### Gradle + +To build the connector via [Gradle](https://gradle.org/), navigate to the root of the [Airbyte repository](https://github.com/airbytehq/airbyte) and execute the following command: + +```shell +> ./gradlew :airbyte-integrations:connectors:destination-mssql-v2:build +``` +## Execute + +### Local Execution via Docker + +In order to run the connector image locally, first either build the connector's [Docker](https://www.docker.com/) image using the commands found +in this section of this document OR build the image using the following command: + +```shell +> ./gradlew :airbyte-integrations:connectors:destination-mssql-v2:buildConnectorImage +``` + +The built image will automatically be tagged with the `dev` label. To run the connector image, use the following commands: + +```shell +docker run --rm airbyte/destination-mssql-v2:dev spec +docker run --rm -v $(pwd)/secrets:/secrets airbyte/destination-mssql-v2:dev check --config /secrets/config.json +docker run --rm -v $(pwd)/secrets:/secrets airbyte/destination-mssql-v2:dev discover --config /secrets/config.json +docker run --rm -v $(pwd)/secrets:/secrets -v $(pwd)/integration_tests:/integration_tests airbyte/destination-mssql-v2:dev read --config /secrets/config.json --catalog /integration_tests/configured_catalog.json +``` + +## Test + +The connector contains both unit and acceptance tests which can each be executed from the local environment. + +### Unit Tests + +The connector uses a combination of [Kotlin](https://kotlinlang.org/), [JUnit 5](https://junit.org/junit5/) and [MockK](https://mockk.io/) +to implement unit tests. Existing tests can be found within the destination-mssql-v2 module in the conventional `src/test/kotlin` source folder. New tests should also be added to this location. + +The unit tests can be executed either via the [Airbyte CI CLI tool](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md) or [Gradle](https://gradle.org/): + +###### Airbyte CI CLI +```shell +> airbyte-ci connectors --name=destination-mssql-v2 test +``` + +###### Gradle +```shell +> ./gradlew :airbyte-integrations:connectors:destination-mssql-v2:test +``` + +### Acceptance Tests + +The [Airbyte project](https://github.com/airbytehq/airbyte) a standard test suite that all destination connectors must pass. The tests require specific implementations of a few components in order to connect the acceptance test suite with the connector's specific logic. The existing acceptance test scaffolding can be found in the conventional `src/test-integration/kotlin` source folder. + +The acceptance tests can be executed either via the [Airbyte CI CLI tool](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md) or [Gradle](https://gradle.org/): + +###### Airbyte CI CLI +```shell +> airbyte-ci connectors --name=destination-mssql-v2 test +``` + +###### Gradle +```shell +> ./gradlew :airbyte-integrations:connectors:destination-mssql-v2:integrationTest +``` + +## Release + +### 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=destination-mssql-v2 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). +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/destinations/mssql-v2.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. + + diff --git a/airbyte-integrations/connectors/destination-mssql-v2/build.gradle.kts b/airbyte-integrations/connectors/destination-mssql-v2/build.gradle.kts new file mode 100644 index 000000000000..4cc0467ff7bd --- /dev/null +++ b/airbyte-integrations/connectors/destination-mssql-v2/build.gradle.kts @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2024 Airbyte, Inc., all rights reserved. + */ + +plugins { + id("application") + id("airbyte-bulk-connector") +} + +airbyteBulkConnector { + core = "load" + toolkits = listOf() + cdk = "local" +} + +application { + mainClass = "io.airbyte.integrations.destination.mssql.v2.MSSQLDestination" + + applicationDefaultJvmArgs = listOf("-XX:+ExitOnOutOfMemoryError", "-XX:MaxRAMPercentage=75.0") + + // Uncomment and replace to run locally + //applicationDefaultJvmArgs = listOf("-XX:+ExitOnOutOfMemoryError", "-XX:MaxRAMPercentage=75.0", "--add-opens", "java.base/sun.nio.ch=ALL-UNNAMED", "--add-opens", "java.base/sun.security.action=ALL-UNNAMED", "--add-opens", "java.base/java.lang=ALL-UNNAMED") +} + +val junitVersion = "5.11.3" + +configurations.configureEach { + // Exclude additional SLF4J providers from all classpaths + exclude(mapOf("group" to "org.slf4j", "module" to "slf4j-reload4j")) +} + +// Uncomment to run locally +//tasks.run.configure { +// standardInput = System.`in` +//} + +dependencies { + implementation("com.microsoft.sqlserver:mssql-jdbc:12.8.1.jre11") + implementation("io.github.oshai:kotlin-logging-jvm:7.0.0") + implementation("jakarta.inject:jakarta.inject-api:2.0.1") + implementation("com.github.spotbugs:spotbugs-annotations:4.8.6") + implementation("io.micronaut:micronaut-inject:4.6.1") + + testImplementation("io.mockk:mockk:1.13.13") + testImplementation("org.junit.jupiter:junit-jupiter-api:$junitVersion") + testImplementation("org.junit.jupiter:junit-jupiter-params:$junitVersion") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitVersion") +} + +tasks.named("test") { + systemProperties(mapOf("mockk.junit.extension.keepmocks" to "true", "mockk.junit.extension.requireParallelTesting" to "true")) +} diff --git a/airbyte-integrations/connectors/destination-mssql-v2/gradle.properties b/airbyte-integrations/connectors/destination-mssql-v2/gradle.properties new file mode 100644 index 000000000000..4dbe8b8729df --- /dev/null +++ b/airbyte-integrations/connectors/destination-mssql-v2/gradle.properties @@ -0,0 +1 @@ +testExecutionConcurrency=-1 diff --git a/airbyte-integrations/connectors/destination-mssql-v2/icon.svg b/airbyte-integrations/connectors/destination-mssql-v2/icon.svg new file mode 100644 index 000000000000..edcaeb77c8f2 --- /dev/null +++ b/airbyte-integrations/connectors/destination-mssql-v2/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/airbyte-integrations/connectors/destination-mssql-v2/metadata.yaml b/airbyte-integrations/connectors/destination-mssql-v2/metadata.yaml new file mode 100644 index 000000000000..1b09be9a1ad8 --- /dev/null +++ b/airbyte-integrations/connectors/destination-mssql-v2/metadata.yaml @@ -0,0 +1,34 @@ +data: + connectorSubtype: database + connectorType: destination + definitionId: 37a928c1-2d5c-431a-a97d-ae236bd1ea0c + dockerImageTag: 0.1.0 + dockerRepository: airbyte/destination-mssql-v2 + githubIssueLabel: destination-mssql-v2 + icon: icon.svg + license: ELv2 + name: MSSQL V2 Destination + registryOverrides: + cloud: + enabled: false + oss: + enabled: false + releaseStage: alpha + documentationUrl: https://docs.airbyte.com/integrations/destinations/mssql-v2 + tags: + - language:java + ab_internal: + sl: 100 + ql: 100 + supportLevel: community + supportsRefreshes: true + connectorTestSuitesOptions: + - suite: unitTests + - suite: integrationTests + testSecrets: + - name: SECRET_DESTINATION-S3-V2-MINIMAL-REQUIRED-CONFIG + fileName: s3_dest_v2_minimal_required_config.json + secretStore: + type: GSM + alias: airbyte-connector-testing-secret-store +metadataSpecVersion: "1.0" diff --git a/airbyte-integrations/connectors/destination-mssql-v2/src/main/kotlin/io/airbyte/integrations/destination/mssql/v2/MSSQLDestination.kt b/airbyte-integrations/connectors/destination-mssql-v2/src/main/kotlin/io/airbyte/integrations/destination/mssql/v2/MSSQLDestination.kt new file mode 100644 index 000000000000..cb1d288390aa --- /dev/null +++ b/airbyte-integrations/connectors/destination-mssql-v2/src/main/kotlin/io/airbyte/integrations/destination/mssql/v2/MSSQLDestination.kt @@ -0,0 +1,14 @@ +/* + * Copyright (c) 2024 Airbyte, Inc., all rights reserved. + */ + +package io.airbyte.integrations.destination.mssql.v2 + +import io.airbyte.cdk.AirbyteDestinationRunner + +object MSSQLDestination { + @JvmStatic + fun main(args: Array) { + AirbyteDestinationRunner.run(*args) + } +} diff --git a/airbyte-integrations/connectors/destination-mssql-v2/src/main/kotlin/io/airbyte/integrations/destination/mssql/v2/config/MSSQLConfiguration.kt b/airbyte-integrations/connectors/destination-mssql-v2/src/main/kotlin/io/airbyte/integrations/destination/mssql/v2/config/MSSQLConfiguration.kt new file mode 100644 index 000000000000..ca468c08caa7 --- /dev/null +++ b/airbyte-integrations/connectors/destination-mssql-v2/src/main/kotlin/io/airbyte/integrations/destination/mssql/v2/config/MSSQLConfiguration.kt @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2024 Airbyte, Inc., all rights reserved. + */ + +package io.airbyte.integrations.destination.mssql.v2.config + +import dagger.Component.Factory +import io.airbyte.cdk.load.command.DestinationConfiguration +import io.airbyte.cdk.load.command.DestinationConfigurationFactory +import jakarta.inject.Singleton + +data class MSSQLConfiguration(val placeholder: String) : DestinationConfiguration() + +@Singleton +class MSSQLConfigurationFactory : + DestinationConfigurationFactory { + override fun makeWithoutExceptionHandling(pojo: MSSQLSpecification): MSSQLConfiguration { + TODO("Not yet implemented") + } +} + +@Factory +class MSSQLConfigurationProvider(private val config: DestinationConfiguration) { + @Singleton + fun get(): MSSQLConfiguration { + return config as MSSQLConfiguration + } +} diff --git a/airbyte-integrations/connectors/destination-mssql-v2/src/main/kotlin/io/airbyte/integrations/destination/mssql/v2/config/MSSQLSpecification.kt b/airbyte-integrations/connectors/destination-mssql-v2/src/main/kotlin/io/airbyte/integrations/destination/mssql/v2/config/MSSQLSpecification.kt new file mode 100644 index 000000000000..30a7f9769c63 --- /dev/null +++ b/airbyte-integrations/connectors/destination-mssql-v2/src/main/kotlin/io/airbyte/integrations/destination/mssql/v2/config/MSSQLSpecification.kt @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2024 Airbyte, Inc., all rights reserved. + */ + +package io.airbyte.integrations.destination.mssql.v2.config + +import com.kjetland.jackson.jsonSchema.annotations.JsonSchemaTitle +import io.airbyte.cdk.command.ConfigurationSpecification +import io.airbyte.cdk.load.spec.DestinationSpecificationExtension +import io.airbyte.protocol.models.v0.DestinationSyncMode +import jakarta.inject.Singleton + +@Singleton +@JsonSchemaTitle("MSSQL V2 Destination Specification") +class MSSQLSpecification : ConfigurationSpecification() {} + +@Singleton +class MSSQLSpecificationExtension : DestinationSpecificationExtension { + override val supportedSyncModes = + listOf( + DestinationSyncMode.OVERWRITE, + DestinationSyncMode.APPEND, + DestinationSyncMode.APPEND_DEDUP + ) + override val supportsIncremental = true +} diff --git a/airbyte-integrations/connectors/source-mysql/metadata.yaml b/airbyte-integrations/connectors/source-mysql/metadata.yaml index ecbe84225d03..18297abf395a 100644 --- a/airbyte-integrations/connectors/source-mysql/metadata.yaml +++ b/airbyte-integrations/connectors/source-mysql/metadata.yaml @@ -9,7 +9,7 @@ data: connectorSubtype: database connectorType: source definitionId: 435bb9a5-7887-4809-aa58-28c27df0d7ad - dockerImageTag: 3.9.1 + dockerImageTag: 3.9.2 dockerRepository: airbyte/source-mysql documentationUrl: https://docs.airbyte.com/integrations/sources/mysql githubIssueLabel: source-mysql diff --git a/airbyte-integrations/connectors/source-mysql/src/main/kotlin/io/airbyte/integrations/source/mysql/cdc/converters/MySQLBooleanConverter.kt b/airbyte-integrations/connectors/source-mysql/src/main/kotlin/io/airbyte/integrations/source/mysql/cdc/converters/MySQLBooleanConverter.kt index cceaab4151da..dabeb49ee611 100644 --- a/airbyte-integrations/connectors/source-mysql/src/main/kotlin/io/airbyte/integrations/source/mysql/cdc/converters/MySQLBooleanConverter.kt +++ b/airbyte-integrations/connectors/source-mysql/src/main/kotlin/io/airbyte/integrations/source/mysql/cdc/converters/MySQLBooleanConverter.kt @@ -40,7 +40,7 @@ class MySQLBooleanConverter : CustomConverter { } else if (field.hasDefaultValue()) { field.defaultValue() } else { - null + false } } when (x) { diff --git a/airbyte-integrations/connectors/source-pardot/manifest.yaml b/airbyte-integrations/connectors/source-pardot/manifest.yaml index 495ec71883a6..13ac303ce829 100644 --- a/airbyte-integrations/connectors/source-pardot/manifest.yaml +++ b/airbyte-integrations/connectors/source-pardot/manifest.yaml @@ -1,1226 +1,4795 @@ -version: 5.13.0 - -type: DeclarativeSource - -check: - type: CheckStream - stream_names: - - campaigns - -definitions: - streams: - campaigns: - type: DeclarativeStream - name: campaigns - primary_key: - - id - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: campaign/version/4/do/query - http_method: GET - request_parameters: - format: json - sort_by: id - sort_order: ascending - created_after: "{{ format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%SZ') }}" - request_headers: - Pardot-Business-Unit-Id: "{{ config[\"pardot_business_unit_id\"] }}" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: - - result - - campaign - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: request_parameter - field_name: id_greater_than - pagination_strategy: - type: CursorPagination - cursor_value: "{{ response.get(\"campaign\", {})[-1].get(\"id\", {}) }}" - stop_condition: "{{ not response.get(\"campaign\", {})[-1].get(\"id\", {}) }}" - schema_loader: - type: InlineSchemaLoader - schema: - $ref: "#/schemas/campaigns" - email_clicks: - type: DeclarativeStream - name: email_clicks - primary_key: - - id - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: emailClick/version/4/do/query - http_method: GET - request_parameters: - format: json - created_after: "{{ format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%SZ') }}" - request_headers: - Pardot-Business-Unit-Id: "{{ config[\"pardot_business_unit_id\"] }}" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: - - result - - emailClick - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: request_parameter - field_name: id_greater_than - pagination_strategy: - type: CursorPagination - cursor_value: "{{ response.get(\"emailClick\", {})[-1].get(\"id\", {}) }}" - stop_condition: "{{ not response.get(\"emailClick\", {})[-1].get(\"id\", {}) }}" - schema_loader: - type: InlineSchemaLoader - schema: - $ref: "#/schemas/email_clicks" - list_membership: - type: DeclarativeStream - name: list_membership - primary_key: - - id - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: listMembership/version/4/do/query - http_method: GET - request_parameters: - format: json - sort_by: id - sort_order: ascending - created_after: "{{ format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%SZ') }}" - request_headers: - Pardot-Business-Unit-Id: "{{ config[\"pardot_business_unit_id\"] }}" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: - - result - - list_membership - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: request_parameter - field_name: updated_after - pagination_strategy: - type: CursorPagination - cursor_value: >- - {{ response.get("list_membership", {})[-1].get("updated_at", {}) - }} - stop_condition: >- - {{ not response.get("list_membership", {})[-1].get("updated_at", - {}) }} - schema_loader: - type: InlineSchemaLoader - schema: - $ref: "#/schemas/list_membership" - lists: - type: DeclarativeStream - name: lists - primary_key: - - id - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: list/version/4/do/query - http_method: GET - request_parameters: - format: json - sort_by: updated_at - sort_order: ascending - created_after: "{{ format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%SZ') }}" - request_headers: - Pardot-Business-Unit-Id: "{{ config[\"pardot_business_unit_id\"] }}" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: - - result - - list - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: request_parameter - field_name: updated_after - pagination_strategy: - type: CursorPagination - cursor_value: "{{ response.get(\"list\", {})[-1].get(\"updated_at\", {}) }}" - stop_condition: "{{ not response.get(\"list\", {})[-1].get(\"updated_at\", {}) }}" - schema_loader: - type: InlineSchemaLoader - schema: - $ref: "#/schemas/lists" - prospect_accounts: - type: DeclarativeStream - name: prospect_accounts - primary_key: - - id - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: prospectAccount/version/4/do/query - http_method: GET - request_parameters: - format: json - sort_by: updated_at - sort_order: ascending - created_after: "{{ format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%SZ') }}" - request_headers: - Pardot-Business-Unit-Id: "{{ config[\"pardot_business_unit_id\"] }}" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: - - result - - prospectAccount - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: request_parameter - field_name: updated_after - pagination_strategy: - type: CursorPagination - cursor_value: >- - {{ response.get("prospectAccount", {})[-1].get("updated_at", {}) - }} - stop_condition: >- - {{ not response.get("prospectAccount", {})[-1].get("updated_at", - {}) }} - schema_loader: - type: InlineSchemaLoader - schema: - $ref: "#/schemas/prospect_accounts" - prospects: - type: DeclarativeStream - name: prospects - primary_key: - - id - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: prospect/version/4/do/query - http_method: GET - request_parameters: - format: json - sort_by: updated_at - sort_order: ascending - created_after: "{{ format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%SZ') }}" - request_headers: - Pardot-Business-Unit-Id: "{{ config[\"pardot_business_unit_id\"] }}" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: - - result - - prospect - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: request_parameter - field_name: updated_after - pagination_strategy: - type: CursorPagination - cursor_value: "{{ response.get(\"prospect\", {})[-1].get(\"updated_at\", {}) }}" - stop_condition: "{{ not response.get(\"prospect\", {})[-1].get(\"updated_at\", {}) }}" - schema_loader: - type: InlineSchemaLoader - schema: - $ref: "#/schemas/prospects" - users: - type: DeclarativeStream - name: users - primary_key: - - id - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: user - http_method: GET - request_parameters: - format: json - created_after: "{{ format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%SZ') }}" - request_headers: - Pardot-Business-Unit-Id: "{{ config[\"pardot_business_unit_id\"] }}" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: - - result - - user - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: request_parameter - field_name: created_after - pagination_strategy: - type: CursorPagination - cursor_value: "{{ response.get(\"user\", {})[-1].get(\"created_at\", {}) }}" - stop_condition: "{{ not response.get(\"user\", {})[-1].get(\"created_at\", {}) }}" - schema_loader: - type: InlineSchemaLoader - schema: - $ref: "#/schemas/users" - visitor_activities: - type: DeclarativeStream - name: visitor_activities - primary_key: - - id - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: visitorActivity/version/4/do/query - http_method: GET - request_parameters: - format: json - created_after: "{{ format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%SZ') }}" - request_headers: - Pardot-Business-Unit-Id: "{{ config[\"pardot_business_unit_id\"] }}" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: - - result - - visitor_activity - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: request_parameter - field_name: id_greater_than - pagination_strategy: - type: CursorPagination - cursor_value: "{{ response.get(\"visitor_activity\", {})[-1].get(\"id\", {}) }}" - stop_condition: "{{ not response.get(\"visitor_activity\", {})[-1].get(\"id\", {}) }}" - schema_loader: - type: InlineSchemaLoader - schema: - $ref: "#/schemas/visitor_activities" - visitors: - type: DeclarativeStream - name: visitors - primary_key: - - id - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: visitor/version/4/do/query - http_method: GET - request_parameters: - format: json - sort_by: updated_at - sort_order: ascending - created_after: "{{ format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%SZ') }}" - request_headers: - Pardot-Business-Unit-Id: "{{ config[\"pardot_business_unit_id\"] }}" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: - - result - - visitor - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: request_parameter - field_name: updated_after - pagination_strategy: - type: CursorPagination - cursor_value: "{{ response.get(\"visitor\", {})[-1].get(\"updated_at\", {}) }}" - stop_condition: "{{ not response.get(\"visitor\", {})[-1].get(\"updated_at\", {}) }}" - schema_loader: - type: InlineSchemaLoader - schema: - $ref: "#/schemas/visitors" - visits: - type: DeclarativeStream - name: visits - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: visit/version/4/do/query - http_method: GET - request_parameters: - format: json - sort_order: ascending - created_after: "{{ format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%SZ') }}" - request_headers: - Pardot-Business-Unit-Id: "{{ config[\"pardot_business_unit_id\"] }}" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: - - result - - visit - schema_loader: - type: InlineSchemaLoader - schema: - $ref: "#/schemas/visits" - opportunities: - type: DeclarativeStream - name: opportunities - primary_key: - - id - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: opportunity/version/4/do/query - http_method: GET - request_parameters: - format: json - created_after: "{{ format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%SZ') }}" - request_headers: - Pardot-Business-Unit-Id: "{{ config[\"pardot_business_unit_id\"] }}" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: - - result - - opportunity - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: request_parameter - field_name: created_after - pagination_strategy: - type: CursorPagination - cursor_value: "{{ response.get(\"opportunity\", {})[-1].get(\"created_at\", {}) }}" - stop_condition: >- - {{ not response.get("opportunity", {})[-1].get("created_at", {}) - }} - schema_loader: - type: InlineSchemaLoader - schema: - $ref: "#/schemas/opportunities" - base_requester: - type: HttpRequester - url_base: https://pi.pardot.com/api/ - authenticator: - type: OAuthAuthenticator - client_id: "{{ config[\"client_id\"] }}" - grant_type: refresh_token - client_secret: "{{ config[\"client_secret\"] }}" - refresh_token: "{{ config[\"client_refresh_token\"] }}" - refresh_request_body: {} - token_refresh_endpoint: >- - https://{{ 'test' if config['is_sandbox'] else 'login' - }}.salesforce.com/services/oauth2/token - -streams: - - $ref: "#/definitions/streams/campaigns" - - $ref: "#/definitions/streams/email_clicks" - - $ref: "#/definitions/streams/list_membership" - - $ref: "#/definitions/streams/lists" - - $ref: "#/definitions/streams/prospect_accounts" - - $ref: "#/definitions/streams/prospects" - - $ref: "#/definitions/streams/users" - - $ref: "#/definitions/streams/visitor_activities" - - $ref: "#/definitions/streams/visitors" - - $ref: "#/definitions/streams/visits" - # - $ref: "#/definitions/streams/opportunities" # Currently disabled because test account doesn't have any data - - -spec: - type: Spec - connection_specification: - type: object - $schema: http://json-schema.org/draft-07/schema# - required: - - client_id - - client_secret - - refresh_token - - pardot_business_unit_id - properties: - client_id: - type: string - description: The Consumer Key that can be found when viewing your app in Salesforce - airbyte_secret: true - order: 0 - is_sandbox: - type: boolean - description: >- - Whether or not the the app is in a Salesforce sandbox. If you do not - know what this, assume it is false. - default: false - order: 1 - start_date: - type: string - description: >- - UTC date and time in the format 2017-01-25T00:00:00Z. Any data before - this date will not be replicated. Leave blank to skip this filter - default: null - pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$ - examples: - - "2021-07-25T00:00:00Z" - order: 2 - client_secret: - type: string - description: >- - The Consumer Secret that can be found when viewing your app in - Salesforce - airbyte_secret: true - order: 3 - refresh_token: - type: string - description: >- - Salesforce Refresh Token used for Airbyte to access your Salesforce - account. If you don't know what this is, follow this guide - to retrieve it. - airbyte_secret: true - order: 4 - pardot_business_unit_id: - type: string - description: >- - Pardot Business ID, can be found at Setup > Pardot > Pardot Account - Setup - order: 5 - additionalProperties: true - -metadata: - autoImportSchema: - campaigns: false - email_clicks: false - list_membership: false - lists: false - prospect_accounts: false - prospects: false - users: false - visitor_activities: false - visitors: false - visits: false - opportunities: false - yamlComponents: - global: - - authenticator - testedStreams: - campaigns: - streamHash: ef6fbf0ab7ffa8f81749103d94235abd001d0f39 - email_clicks: - streamHash: 2d74c8aab6c19a77ed2315e36c2fcb18296b641a - list_membership: - streamHash: 33edc450360e922bd939bf7aea5bb756e8714d64 - lists: - streamHash: 984611ea793da473a3cfa6968fb01a4a36b6145f - prospect_accounts: - streamHash: 5938979e371a63739b281c64cd4f61064331d513 - prospects: - streamHash: 4bcf3735358cd3942c17750ef76e052faf5a034e - users: - streamHash: 21012c537f20aed85d8fca2a91c135a2ed9a8e34 - visitor_activities: - streamHash: 857eb94e1cf16eac22e0386450e79abfeffdf347 - visitors: - streamHash: 339bee895c4c803eccc98ba0b836fbc0cb36d937 - visits: - streamHash: c526ae3538c2c4f9b434e803521c509c0e5271a2 - opportunities: - streamHash: fe2484cadf31a482f5f5421ac4a70d14f03e8796 - assist: {} - -schemas: - campaigns: - type: object - $schema: http://json-schema.org/draft-07/schema# - additionalProperties: true - properties: - cost: - type: - - "null" - - integer - id: - type: - - integer - name: - type: - - "null" - - string - email_clicks: - type: object - $schema: http://json-schema.org/draft-07/schema# - additionalProperties: true - properties: - created_at: - type: - - "null" - - string - format: date-time - drip_program_action_id: - type: - - "null" - - integer - email_template_id: - type: - - "null" - - integer - id: - type: - - integer - list_email_id: - type: - - "null" - - integer - prospect_id: - type: - - "null" - - integer - tracker_redirect_id: - type: - - "null" - - integer - url: - type: - - "null" - - string - list_membership: - type: object - $schema: http://json-schema.org/draft-07/schema# - additionalProperties: true - properties: - created_at: - type: - - "null" - - string - format: date-time - id: - type: - - integer - list_id: - type: - - integer - opted_out: - type: - - "null" - - boolean - prospect_id: - type: - - integer - updated_at: - type: - - "null" - - string - format: date-time - lists: - type: object - $schema: http://json-schema.org/draft-07/schema# - additionalProperties: true - properties: - description: - type: - - "null" - - string - created_at: - type: - - "null" - - string - format: date-time - id: - type: - - integer - is_crm_visible: - type: - - "null" - - boolean - is_dynamic: - type: - - "null" - - boolean - is_public: - type: - - "null" - - boolean - name: - type: - - "null" - - string - title: - type: - - "null" - - string - updated_at: - type: - - "null" - - string - format: date-time - prospect_accounts: - type: object - $schema: http://json-schema.org/draft-07/schema# - additionalProperties: true - properties: - assigned_to: - type: - - "null" - - object - created_at: - type: - - "null" - - string - format: date-time - id: - type: - - integer - name: - type: - - "null" - - string - updated_at: - type: - - "null" - - string - format: date-time - prospects: - type: object - $schema: http://json-schema.org/draft-07/schema# - additionalProperties: true - properties: - address_one: - type: - - "null" - - string - address_two: - type: - - "null" - - string - annual_revenue: - type: - - "null" - - string - campaign_id: - type: - - "null" - - integer - city: - type: - - "null" - - string - comments: - type: - - "null" - - string - company: - type: - - "null" - - string - country: - type: - - "null" - - string - created_at: - type: - - "null" - - string - format: date-time - crm_account_fid: - type: - - "null" - - string - crm_contact_fid: - type: - - "null" - - string - crm_last_sync: - type: - - "null" - - string - format: date-time - crm_lead_fid: - type: - - "null" - - string - crm_owner_fid: - type: - - "null" - - string - crm_url: - type: - - "null" - - string - department: - type: - - "null" - - string - email: - type: - - "null" - - string - employees: - type: - - "null" - - string - fax: - type: - - "null" - - string - first_name: - type: - - "null" - - string - grade: - type: - - "null" - - string - id: - type: - - integer - industry: - type: - - "null" - - string - is_do_not_call: - type: - - "null" - - integer - is_do_not_email: - type: - - "null" - - integer - is_reviewed: - type: - - "null" - - integer - is_starred: - type: - - "null" - - integer - job_title: - type: - - "null" - - string - last_activity_at: - type: - - "null" - - string - format: date-time - last_name: - type: - - "null" - - string - notes: - type: - - "null" - - string - opted_out: - type: - - "null" - - integer - password: - type: - - "null" - - string - phone: - type: - - "null" - - string - prospect_account_id: - type: - - "null" - - integer - recent_interaction: - type: - - "null" - - string - salutation: - type: - - "null" - - string - score: - type: - - "null" - - integer - source: - type: - - "null" - - string - state: - type: - - "null" - - string - territory: - type: - - "null" - - string - updated_at: - type: - - "null" - - string - format: date-time - website: - type: - - "null" - - string - years_in_business: - type: - - "null" - - string - zip: - type: - - "null" - - string - users: - type: object - $schema: http://json-schema.org/draft-07/schema# - additionalProperties: true - properties: - created_at: - type: - - "null" - - string - format: date-time - email: - type: - - "null" - - string - first_name: - type: - - "null" - - string - id: - type: - - integer - job_title: - type: - - "null" - - string - last_name: - type: - - "null" - - string - role: - type: - - "null" - - string - updated_at: - type: - - "null" - - string - format: date-time - visitor_activities: - type: object - $schema: http://json-schema.org/draft-07/schema# - additionalProperties: true - properties: - type: - type: - - "null" - - integer - campaign: - type: - - "null" - - object - campaign_id: - type: - - "null" - - integer - created_at: - type: - - "null" - - string - format: date-time - details: - type: - - "null" - - string - email_id: - type: - - "null" - - integer - email_template_id: - type: - - "null" - - integer - file_id: - type: - - "null" - - integer - form_handler_id: - type: - - "null" - - integer - form_id: - type: - - "null" - - integer - id: - type: - - integer - landing_page_id: - type: - - "null" - - integer - list_email_id: - type: - - "null" - - integer - multivariate_test_variation_id: - type: - - "null" - - integer - paid_search_id_id: - type: - - "null" - - integer - prospect_id: - type: - - "null" - - integer - site_search_query_id: - type: - - "null" - - integer - type_name: - type: - - "null" - - string - updated_at: - type: - - "null" - - string - format: date-time - visitor_id: - type: - - "null" - - integer - visitor_page_view_id: - type: - - "null" - - integer - visitors: - type: object - $schema: http://json-schema.org/draft-07/schema# - additionalProperties: true - properties: - campaign_parameter: - type: - - "null" - - string - content_parameter: - type: - - "null" - - string - created_at: - type: - - "null" - - string - format: date-time - hostname: - type: - - "null" - - string - id: - type: - - integer - ip_address: - type: - - "null" - - string - medium_parameter: - type: - - "null" - - string - page_view_count: - type: - - "null" - - integer - source_parameter: - type: - - "null" - - string - term_parameter: - type: - - "null" - - string - updated_at: - type: - - "null" - - string - format: date-time - visits: - type: object - $schema: http://json-schema.org/draft-07/schema# - additionalProperties: true - properties: - type: - type: - - "null" - - integer - campaign: - type: - - "null" - - object - campaign_parameter: - type: - - "null" - - string - content_parameter: - type: - - "null" - - string - created_at: - type: - - "null" - - string - format: date-time - details: - type: - - "null" - - string - duration_in_seconds: - type: - - "null" - - integer - email: - type: - - "null" - - object - email_id: - type: - - "null" - - integer - email_template_id: - type: - - "null" - - integer - first_visitor_page_view_at: - type: - - "null" - - string - format: date-time - id: - type: - - integer - last_visitor_page_view_at: - type: - - "null" - - string - format: date-time - list_email_id: - type: - - "null" - - integer - medium_parameter: - type: - - "null" - - string - prospect_id: - type: - - "null" - - integer - source_parameter: - type: - - "null" - - string - term_parameter: - type: - - "null" - - string - type_name: - type: - - "null" - - string - updated_at: - type: - - "null" - - string - format: date-time - visit_id: - type: - - "null" - - integer - visitor_id: - type: - - "null" - - integer - visitor_page_view_count: - type: - - "null" - - integer - visitor_page_views: - type: - - "null" - - object - opportunities: - type: object - $schema: http://json-schema.org/draft-07/schema# - additionalProperties: true - properties: - type: - type: - - "null" - - string - campaign_id: - type: - - "null" - - integer - closed_at: - type: - - "null" - - string - format: date-time - created_at: - type: - - "null" - - string - format: date-time - id: - type: - - integer - name: - type: - - "null" - - string - probability: - type: - - "null" - - integer - stage: - type: - - "null" - - string - status: - type: - - "null" - - string - updated_at: - type: - - "null" - - string - format: date-time - value: - type: - - "null" - - number +version: 6.10.0 + +type: DeclarativeSource + +check: + type: CheckStream + stream_names: + - campaigns + +definitions: + streams: + campaigns: + type: DeclarativeStream + name: campaigns + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/campaigns + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,name,isDeleted,folderId,cost,parentCampaignId,createdById,updatedById,createdAt,updatedAt,salesforceId + deleted: "{{ 'all' if not next_page_token.next_page_token }}" + orderBy: "{{ 'updatedAt ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updatedAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/campaigns" + email_clicks: + type: DeclarativeStream + name: email_clicks + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: emailClick/version/4/do/query + http_method: GET + request_parameters: + format: json + output: bulk + sort_by: id + sort_order: ascending + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - result + - emailClick + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: id_greater_than + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: CursorPagination + page_size: 200 + cursor_value: "{{ last_record.id }}" + stop_condition: >- + {{ not response.result.emailClick or + response.result.emailClick|length < 200 }} + incremental_sync: + type: DatetimeBasedCursor + cursor_field: created_at + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%d %H:%M:%S" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + start_time_option: + type: RequestOption + field_name: created_after + inject_into: request_parameter + end_time_option: + type: RequestOption + field_name: created_before + inject_into: request_parameter + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/email_clicks" + list_membership: + type: DeclarativeStream + name: list_membership + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/list-memberships + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,listId,prospectId,optedOut,createdAt,updatedAt,createdById,updatedById + deleted: "{{ 'all' if not next_page_token.next_page_token }}" + orderBy: "{{ 'updatedAt ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updatedAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/list_membership" + lists: + type: DeclarativeStream + name: lists + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/lists + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,name,title,description,isPublic,folderId,campaignId,isDeleted,isDynamic,createdAt,updatedAt,createdById,updatedById + deleted: "{{ 'all' if not next_page_token.next_page_token }}" + orderBy: "{{ 'updatedAt ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updatedAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/lists" + prospect_accounts: + type: DeclarativeStream + name: prospect_accounts + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/prospect-accounts + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,name,salesforceId,isDeleted,annualRevenue,billingAddressOne,billingAddressTwo,billingCity,billingCountry,billingState,billingZip,description,employees,fax,industry,number,ownership,phone,rating,shippingAddressOne,shippingAddressTwo,shippingCity,shippingCountry,shippingState,shippingZip,sic,site,tickerSymbol,type,website,createdAt,updatedAt,createdById,updatedById,assignedToId + deleted: "{{ 'all' if not next_page_token.next_page_token }}" + orderBy: "{{ 'id ASC' if not next_page_token.next_page_token }}" + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + partition_router: + type: ListPartitionRouter + values: + - "1" + cursor_field: >- + magic config: this is just a trick to make the next_page_token + object populate, which for some reason doesn't happen when only + Pagination is used (without Incremental or Param + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/prospect_accounts" + prospects: + type: DeclarativeStream + name: prospects + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/prospects + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,email,optedOut,isDeleted,isDoNotCall,isDoNotEmail,isEmailHardBounced,isReviewed,isStarred,doNotSell,prospectAccountId,campaignId,profileId,lifecycleStageId,userId,lastActivityAt,recentInteraction,firstName,lastName,salutation,jobTitle,emailBouncedAt,emailBouncedReason,source,sourceParameter,campaignParameter,mediumParameter,contentParameter,termParameter,firstActivityAt,firstAssignedAt,firstReferrerQuery,firstReferrerType,firstReferrerUrl,salesforceId,salesforceContactId,salesforceLeadId,salesforceAccountId,salesforceCampaignId,salesforceOwnerId,salesforceUrl,salesforceLastSync,assignedToId,convertedAt,convertedFromObjectName,convertedFromObjectType,grade,phone,fax,addressOne,addressTwo,city,state,zip,country,company,annualRevenue,website,industry,department,yearsInBusiness,employees,score,territory,comments,notes,createdAt,updatedAt,createdById,updatedById + deleted: "{{ 'all' if not next_page_token.next_page_token }}" + orderBy: "{{ 'updatedAt ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updatedAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/prospects" + users: + type: DeclarativeStream + name: users + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/users + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,email,username,isDeleted,firstName,jobTitle,role,roleName,salesforceId,tagReplacementLanguage,createdAt,updatedAt,createdById,updatedById + deleted: "{{ 'all' if not next_page_token.next_page_token }}" + orderBy: "{{ 'updatedAt ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updatedAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/users" + visitor_activities: + type: DeclarativeStream + name: visitor_activities + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/visitor-activities + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,visitId,prospectId,visitorId,emailId,type,typeName,details,campaignId,customRedirectId,emailTemplateId,fileId,formHandlerId,formId,landingPageId,listEmailId,multivariateTestVariationId,opportunityId,paidSearchAdId,siteSearchQueryId,visitorPageViewId,createdAt,updatedAt + orderBy: "{{ 'updatedAt ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updatedAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/visitor_activities" + visitors: + type: DeclarativeStream + name: visitors + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/visitors + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,prospectId,pageViewCount,isIdentified,doNotSell,hostname,ipAddress,campaignId,sourceParameter,campaignParameter,mediumParameter,contentParameter,termParameter,createdAt,updatedAt + deleted: "{{ 'all' if not next_page_token.next_page_token }}" + orderBy: "{{ 'updatedAt ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updatedAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/visitors" + visits: + type: DeclarativeStream + name: visits + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/visits + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,visitorId,prospectId,visitorPageViewCount,firstVisitorPageViewAt,lastVisitorPageViewAt,durationInSeconds,sourceParameter,campaignParameter,mediumParameter,contentParameter,termParameter,createdAt,updatedAt + orderBy: "{{ 'updatedAt ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updatedAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/visits" + folders: + type: DeclarativeStream + name: folders + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/folders + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,name,parentFolderId,path,usePermissions,createdAt,updatedAt,createdById,updatedById + orderBy: "{{ 'id ASC' if not next_page_token.next_page_token }}" + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + partition_router: + type: ListPartitionRouter + values: + - "1" + cursor_field: >- + magic config: this is just a trick to make the next_page_token + object populate, which for some reason doesn't happen when only + Pagination is used (without Incremental or Param + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/folders" + custom_redirects: + type: DeclarativeStream + name: custom_redirects + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/custom-redirects + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,name,url,destinationUrl,vanityUrl,campaignId,salesforceId,isDeleted,folderId,trackerDomainId,trackerDomain.domain,vanityUrlPath,trackedUrl,bitlyIsPersonalized,bitlyShortUrl,gaSource,gaMedium,gaTerm,gaContent,gaCampaign,createdAt,updatedAt,createdById,updatedById + deleted: "{{ 'all' if not next_page_token.next_page_token }}" + orderBy: "{{ 'id ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/custom_redirects" + emails: + type: DeclarativeStream + name: emails + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/emails + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,name,type,sentAt,subject,clientType,isOperational,campaignId,prospectId,folderId,listId,listEmailId,emailTemplateId,trackerDomainId,senderOptions.type,senderOptions.address,senderOptions.name,senderOptions.userId,senderOptions.prospectCustomFieldId,senderOptions.accountCustomFieldId,replyToOptions.type,replyToOptions.address,replyToOptions.userId,replyToOptions.prospectCustomFieldId,replyToOptions.accountCustomFieldId,createdById + orderBy: "{{ 'sentAt ASC' if not next_page_token.next_page_token }}" + sentAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + sentAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: sentAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: P1D + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/emails" + engagement_studio_programs: + type: DeclarativeStream + name: engagement_studio_programs + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/engagement-studio-programs + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,status,isDeleted,salesforceId,description,businessHours,prospectsMultipleEntry,schedule,scheduleCreatedById,recipientListIds,suppressionListIds,createdAt,updatedAt,createdById,updatedById + deleted: "{{ 'all' if not next_page_token.next_page_token }}" + orderBy: "{{ 'updatedAt ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updatedAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/engagement_studio_programs" + files: + type: DeclarativeStream + name: files + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/files + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,name,folderId,campaignId,salesforceId,trackerDomainId,vanityUrl,vanityUrlPath,url,size,isTracked,bitlyIsPersonalized,bitlyShortUrl,createdAt,updatedAt,createdById,updatedById + orderBy: "{{ 'id ASC' if not next_page_token.next_page_token }}" + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/files" + folder_contents: + type: DeclarativeStream + name: folder_contents + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/folder-contents + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,folderId,folderRef,objectType,objectId,objectName,objectRef,createdAt,updatedAt,createdById,updatedById + orderBy: "{{ 'updatedAt ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updatedAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/folder_contents" + forms: + type: DeclarativeStream + name: forms + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/forms + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,name,campaignId,layoutTemplateId,folderId,trackerDomainId,salesforceId,isDeleted,isUseRedirectLocation,isAlwaysDisplay,isCookieless,isCaptchaEnabled,showNotProspect,embedCode,submitButtonText,beforeFormContent,afterFormContent,thankYouContent,thankYouCode,redirectLocation,fontSize,fontFamily,fontColor,labelAlignment,radioAlignment,checkboxAlignment,requiredCharacter,createdById,updatedById,createdAt,updatedAt + deleted: "{{ 'all' if not next_page_token.next_page_token }}" + orderBy: "{{ 'id ASC' if not next_page_token.next_page_token }}" + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/forms" + form_fields: + type: DeclarativeStream + name: form_fields + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/form-fields + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,formId,prospectApiFieldId,type,dataFormat,sortOrder,hasDependents,hasProgressives,hasValues,label,errorMessage,cssClasses,isRequired,isAlwaysDisplay,isMaintainInitialValue,isDoNotPrefill,createdById,updatedById,createdAt,updatedAt + orderBy: "{{ 'updatedAt ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updatedAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/form_fields" + form_handlers: + type: DeclarativeStream + name: form_handlers + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/form-handlers + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,name,folderId,campaignId,trackerDomainId,isDataForwarded,successLocation,errorLocation,isAlwaysEmail,isCookieless,salesforceId,embedCode,createdAt,createdById,isDeleted,updatedById + deleted: "{{ 'all' if not next_page_token.next_page_token }}" + orderBy: "{{ 'id ASC' if not next_page_token.next_page_token }}" + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/form_handlers" + form_handler_fields: + type: DeclarativeStream + name: form_handler_fields + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/form-handler-fields + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,name,formHandlerId,dataFormat,prospectApiFieldId,isMaintainInitialValue,errorMessage,isRequired,createdAt,createdById + orderBy: "{{ 'id ASC' if not next_page_token.next_page_token }}" + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/form_handler_fields" + landing_pages: + type: DeclarativeStream + name: landing_pages + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/landing-pages + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,name,campaignId,salesforceId,isDeleted,layoutType,layoutTableBorder,isUseRedirectLocation,bitlyIsPersonalized,bitlyShortUrl,url,vanityUrl,folderId,formId,layoutTemplateId,title,description,isDoNotIndex,vanityUrlPath,redirectLocation,trackerDomainId,archiveDate,createdAt,updatedAt,createdById,updatedById + deleted: "{{ 'all' if not next_page_token.next_page_token }}" + orderBy: "{{ 'updatedAt ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updatedAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/landing_pages" + layout_templates: + type: DeclarativeStream + name: layout_templates + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/layout-templates + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,name,layoutContent,siteSearchContent,formContent,folderId,isDeleted,isIncludeDefaultCss,createdAt,updatedAt,createdById,updatedById + deleted: "{{ 'all' if not next_page_token.next_page_token }}" + orderBy: "{{ 'id ASC' if not next_page_token.next_page_token }}" + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/layout_templates" + lifecycle_stages: + type: DeclarativeStream + name: lifecycle_stages + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/lifecycle-stages + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: id,name,isDeleted,isLocked,position,matchType,createdAt,updatedAt + deleted: "{{ 'all' if not next_page_token.next_page_token }}" + orderBy: "{{ 'updatedAt ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updatedAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/lifecycle_stages" + lifecycle_histories: + type: DeclarativeStream + name: lifecycle_histories + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/lifecycle-histories + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: id,prospectId,previousStageId,nextStageId,secondsElapsed,createdAt + orderBy: "{{ 'createdAt ASC' if not next_page_token.next_page_token }}" + createdAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + createdAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: createdAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/lifecycle_histories" + list_emails: + type: DeclarativeStream + name: list_emails + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/list-emails + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,name,subject,isPaused,isSent,isDeleted,isOperational,sentAt,campaignId,clientType,senderOptions.type,senderOptions.address,senderOptions.name,senderOptions.userId,senderOptions.prospectCustomFieldId,senderOptions.accountCustomFieldId,replyToOptions.type,replyToOptions.address,replyToOptions.userId,replyToOptions.prospectCustomFieldId,replyToOptions.accountCustomFieldId,emailTemplateId,trackerDomainId,folderId,createdAt,updatedAt,createdById,updatedById + deleted: "{{ 'all' if not next_page_token.next_page_token }}" + orderBy: "{{ 'updatedAt ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updatedAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/list_emails" + opportunities: + type: DeclarativeStream + name: opportunities + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/opportunities + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,closedAt,name,type,stage,status,probability,value,campaignId,salesforceId,createdAt,updatedAt,createdById,updatedById + orderBy: "{{ 'updatedAt ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updatedAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/opportunities" + tags: + type: DeclarativeStream + name: tags + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/tags + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: id,name,objectCount,createdById,updatedById,createdAt,updatedAt + orderBy: "{{ 'updatedAt ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updatedAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/tags" + tracker_domains: + type: DeclarativeStream + name: tracker_domains + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/tracker-domains + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,domain,isPrimary,isDeleted,defaultCampaignId,httpsStatus,sslStatus,sslStatusDetails,sslRequestedById,validationStatus,validatedAt,vanityUrlStatus,trackingCode,createdAt,updatedAt,createdById,updatedById + deleted: "{{ 'all' if not next_page_token.next_page_token }}" + orderBy: "{{ 'id ASC' if not next_page_token.next_page_token }}" + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/tracker_domains" + visitor_page_views: + type: DeclarativeStream + name: visitor_page_views + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/visitor-page-views + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,url,title,visitorId,campaignId,visitId,durationInSeconds,salesforceId,createdAt + orderBy: "{{ 'createdAt ASC' if not next_page_token.next_page_token }}" + createdAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + createdAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: createdAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/visitor_page_views" + account: + type: DeclarativeStream + name: account + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/account + http_method: GET + request_parameters: + fields: >- + id,company,level,website,pluginCampaignId,addressOne,addressTwo,city,state,zip,territory,country,phone,fax,adminId,maximumDailyApiCalls,apiCallsUsed,createdAt,updatedAt,createdById,updatedById + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/account" + custom_fields: + type: DeclarativeStream + name: custom_fields + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/custom-fields + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,name,fieldId,type,salesforceId,isRequired,isRecordMultipleResponses,isUseValues,isAnalyticsSynced,createdAt,updatedAt,createdById,updatedById + orderBy: "{{ 'updatedAt ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updatedAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/custom_fields" + dynamic_contents: + type: DeclarativeStream + name: dynamic_contents + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/dynamic-contents + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: >- + id,name,basedOnProspectApiFieldId,embedCode,embedUrl,basedOn,tagReplacementLanguage,folderId,trackerDomainId,createdAt,updatedAt,isDeleted,createdById,updatedById + deleted: "{{ 'all' if not next_page_token.next_page_token }}" + orderBy: "{{ 'updatedAt ASC' if not next_page_token.next_page_token }}" + updatedAtAfterOrEqualTo: >- + {{ stream_interval.start_time if stream_interval.start_time and + not next_page_token.next_page_token }} + updatedAtBeforeOrEqualTo: >- + {{ stream_interval.end_time if stream_interval.end_time and not + next_page_token.next_page_token }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updatedAt + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%S%z" + - "%Y-%m-%dT%H:%M:%SZ" + - "%Y-%m-%d %H:%M:%S" + datetime_format: "%Y-%m-%dT%H:%M:%S-12:00" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.start_date }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + step: "{{ config.split_up_interval }}" + cursor_granularity: PT1S + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/dynamic_contents" + dynamic_content_variations: + type: DeclarativeStream + name: dynamic_content_variations + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: v5/objects/dynamic-content-variations + http_method: GET + request_parameters: + limit: "{{ config.page_size if not next_page_token.next_page_token }}" + fields: id,dynamicContentId,comparison,operator,value1,value2,content + orderBy: "{{ 'id ASC' if not next_page_token.next_page_token }}" + dynamicContentId: >- + {{ stream_partition.parent_id.dynamic_content_id if + stream_interval.start_time and not next_page_token.next_page_token + }} + request_headers: + Pardot-Business-Unit-Id: "{{ config.pardot_business_unit_id }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - values + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestPath + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextPageUrl\", {}) }}" + stop_condition: "{{ not response.get(\"nextPageUrl\", {}) }}" + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: id + partition_field: dynamic_content_id + stream: + $ref: "#/definitions/streams/dynamic_contents" + incremental_dependency: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/dynamic_content_variations" + base_requester: + type: HttpRequester + url_base: https://pi.pardot.com/api/ + authenticator: + type: SessionTokenAuthenticator + login_requester: + type: HttpRequester + url_base: >- + https://{{ 'test' if config['is_sandbox'] else + 'login'}}.salesforce.com/services/oauth2 + path: token + authenticator: + type: NoAuth + http_method: POST + request_parameters: {} + request_headers: {} + request_body_data: + client_id: "'{{ config.client_id }}'" + grant_type: refresh_token + client_secret: "'{{ config.client_secret }}'" + refresh_token: "'{{ config.refresh_token }}'" + session_token_path: + - access_token + expiration_duration: PT24H + request_authentication: + type: Bearer + +streams: + - $ref: "#/definitions/streams/campaigns" + - $ref: "#/definitions/streams/email_clicks" + - $ref: "#/definitions/streams/list_membership" + - $ref: "#/definitions/streams/lists" + - $ref: "#/definitions/streams/prospect_accounts" + - $ref: "#/definitions/streams/prospects" + - $ref: "#/definitions/streams/users" + - $ref: "#/definitions/streams/visitor_activities" + - $ref: "#/definitions/streams/visitors" + - $ref: "#/definitions/streams/visits" + - $ref: "#/definitions/streams/folders" + - $ref: "#/definitions/streams/custom_redirects" + - $ref: "#/definitions/streams/emails" + - $ref: "#/definitions/streams/engagement_studio_programs" + - $ref: "#/definitions/streams/files" + - $ref: "#/definitions/streams/folder_contents" + - $ref: "#/definitions/streams/forms" + - $ref: "#/definitions/streams/form_fields" + - $ref: "#/definitions/streams/form_handlers" + - $ref: "#/definitions/streams/form_handler_fields" + - $ref: "#/definitions/streams/landing_pages" + - $ref: "#/definitions/streams/layout_templates" + - $ref: "#/definitions/streams/lifecycle_stages" + - $ref: "#/definitions/streams/lifecycle_histories" + - $ref: "#/definitions/streams/list_emails" + - $ref: "#/definitions/streams/opportunities" + - $ref: "#/definitions/streams/tags" + - $ref: "#/definitions/streams/tracker_domains" + - $ref: "#/definitions/streams/visitor_page_views" + - $ref: "#/definitions/streams/account" + - $ref: "#/definitions/streams/custom_fields" + - $ref: "#/definitions/streams/dynamic_contents" + - $ref: "#/definitions/streams/dynamic_content_variations" + +spec: + type: Spec + connection_specification: + type: object + $schema: http://json-schema.org/draft-07/schema# + required: + - pardot_business_unit_id + - client_id + - client_secret + - refresh_token + properties: + pardot_business_unit_id: + type: string + description: >- + Pardot Business ID, can be found at Setup > Pardot > Pardot Account + Setup + order: 0 + title: Pardot Business Unit ID + client_id: + type: string + description: The Consumer Key that can be found when viewing your app in Salesforce + order: 1 + title: Client ID + airbyte_secret: true + client_secret: + type: string + description: >- + The Consumer Secret that can be found when viewing your app in + Salesforce + order: 2 + title: Client Secret + airbyte_secret: true + refresh_token: + type: string + description: >- + Salesforce Refresh Token used for Airbyte to access your Salesforce + account. If you don't know what this is, follow this guide + to retrieve it. + order: 3 + title: Refresh Token + airbyte_secret: true + start_date: + type: string + description: >- + UTC date and time in the format 2000-01-01T00:00:00Z. Any data before + this date will not be replicated. Defaults to the year Pardot was + released. + order: 4 + title: Start Date + format: date-time + default: "2007-01-01T00:00:00Z" + pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$ + examples: + - "2021-07-25T00:00:00Z" + page_size: + type: string + description: The maximum number of records to return per request + order: 5 + title: Page Size Limit + default: "1000" + is_sandbox: + type: boolean + description: >- + Whether or not the the app is in a Salesforce sandbox. If you do not + know what this, assume it is false. + order: 6 + title: Is Sandbox App? + default: false + split_up_interval: + type: string + description: >- + If you're hitting the max pagination limit of the v5 API (100K), try + choosing a more granular value (e.g. P7D). Similarly for small + accounts unlikely to hit this limit, a less granular value (e.g. P1Y) + may speed up the sync. + enum: + - P1Y + - P6M + - P3M + - P1M + - P14D + - P7D + - P3D + - P1D + order: 7 + title: Default Split Up Interval + default: P3M + additionalProperties: true + +metadata: + autoImportSchema: + campaigns: false + email_clicks: false + list_membership: false + lists: false + prospect_accounts: false + prospects: false + users: false + visitor_activities: false + visitors: false + visits: false + folders: false + custom_redirects: false + emails: false + engagement_studio_programs: false + files: false + folder_contents: false + forms: false + form_fields: false + form_handlers: false + form_handler_fields: false + landing_pages: false + layout_templates: false + lifecycle_stages: false + lifecycle_histories: false + list_emails: false + opportunities: false + tags: false + tracker_domains: false + visitor_page_views: false + account: false + custom_fields: false + dynamic_contents: false + dynamic_content_variations: false + testedStreams: + campaigns: + hasRecords: true + streamHash: fc1d627201b08eec5c250804ed7dcd7f09f9675c + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + email_clicks: + hasRecords: true + streamHash: 411f4328e02a6d5ce0a3ec3a9a3cb54804e374e0 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + list_membership: + hasRecords: true + streamHash: e3d9c46036a8c5281ad1cec8c9a1b1246ae6df97 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + lists: + hasRecords: true + streamHash: d6ee1f6521a0fc63d809c213ea53613d50d4c178 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + prospect_accounts: + hasRecords: true + streamHash: 37a2ac73f3e6564eba2aad749645c81ee4b7e8ba + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + prospects: + hasRecords: true + streamHash: eaf5ca07271f45b4128dcb4e6da41df2dd853f5d + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + users: + hasRecords: true + streamHash: bfaff23353daea243780a306ede24a6abc60ded3 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + visitor_activities: + hasRecords: true + streamHash: 8544f58fbc35ed2e59f62caf60e6fdf7224d7cf8 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + visitors: + hasRecords: true + streamHash: 2fdf03a97b7ae2186d2a32a3dcae26abd2b6d06c + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + visits: + hasRecords: true + streamHash: 788619013dc2ed5e75320de887b02d3f0ffc0495 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + folders: + hasRecords: true + streamHash: 952ec71d864df0763936fcf9a48ca5ee2a3f9037 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + custom_redirects: + hasRecords: false + streamHash: 73ca21e4c8acb6ca7a4efad4517b31af4dfcb6f6 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + emails: + hasRecords: true + streamHash: 25e6dc61f25fb81825b764af684379d04e748854 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + engagement_studio_programs: + hasRecords: true + streamHash: 2108ab2546a6df889a2420e2d8cb3aac4b790b70 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + files: + hasRecords: false + streamHash: 9dd470ef4814f6fab7a1acf61671ef171b839da2 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + folder_contents: + hasRecords: true + streamHash: 80dc85cda30756bb57fb750432ad8e580d32a245 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + forms: + hasRecords: true + streamHash: a8143b403bf769d4d24dc771da7888a45cc8cf0c + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + form_fields: + hasRecords: true + streamHash: 6f148b11889ab260145dd5e865a142a85ee35d9f + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + form_handlers: + hasRecords: true + streamHash: 8621f40695e6f14df6b5ac1c5c90f6334fc5866a + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + form_handler_fields: + hasRecords: true + streamHash: 1827a46a501b04b0c21e6411d464c77a08dfb848 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + landing_pages: + hasRecords: true + streamHash: fc06118614b8de9f2c2c53e6c5bbe88745e28c55 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + layout_templates: + hasRecords: true + streamHash: 9088e72d125495ef1d72d881a8c6b72e4950e06d + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + lifecycle_stages: + hasRecords: true + streamHash: c0eab225bad7533145cfeac38e57bb70745f9a79 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + lifecycle_histories: + hasRecords: true + streamHash: 21a5786703917ee27352156ea80fa93cce846954 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + list_emails: + streamHash: 1823761c89debf594562433f63c8661b3be55524 + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + opportunities: + streamHash: 0def746ae5fd7dde2e85858a1be8b72501dca4d5 + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + tags: + streamHash: 4ce0030af2ff46782dfdb5a1bea97e8b92e2a493 + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + tracker_domains: + streamHash: e441705cc25b37d24b9163afac9e22a734f2185f + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + visitor_page_views: + streamHash: 561cc8d52b41daa6f4697d2e2a3efdee3cc3a14d + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + account: + streamHash: 0893578c116978dad6459ef40fe2a52ea26a68e9 + hasResponse: true + responsesAreSuccessful: false + hasRecords: false + primaryKeysArePresent: true + primaryKeysAreUnique: true + custom_fields: + streamHash: 020b57ff80114642d70f122a63b22f05d63d8386 + hasResponse: true + responsesAreSuccessful: false + hasRecords: false + primaryKeysArePresent: true + primaryKeysAreUnique: true + dynamic_contents: + streamHash: 795500f19349e89d320fb4814aedf19f5bff9dff + hasResponse: true + responsesAreSuccessful: true + hasRecords: false + primaryKeysArePresent: true + primaryKeysAreUnique: true + dynamic_content_variations: + streamHash: null + assist: {} + +schemas: + campaigns: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + cost: + type: + - "null" + - integer + id: + type: + - integer + name: + type: + - "null" + - string + email_clicks: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + created_at: + type: + - "null" + - string + format: date-time + drip_program_action_id: + type: + - "null" + - integer + email_template_id: + type: + - "null" + - integer + id: + type: + - integer + list_email_id: + type: + - "null" + - integer + prospect_id: + type: + - "null" + - integer + tracker_redirect_id: + type: + - "null" + - integer + url: + type: + - "null" + - string + list_membership: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + createdAt: + type: + - "null" + - string + format: date-time + createdById: + type: + - "null" + - integer + id: + type: + - integer + listId: + type: + - integer + optedOut: + type: + - "null" + - boolean + prospectId: + type: + - integer + updatedAt: + type: + - "null" + - string + format: date-time + updatedById: + type: + - "null" + - integer + required: + - id + - updatedAt + lists: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + description: + type: + - "null" + - string + createdAt: + type: + - "null" + - string + format: date-time + createdById: + type: + - "null" + - integer + folderId: + type: + - "null" + - integer + id: + type: + - integer + isDeleted: + type: + - "null" + - boolean + isDynamic: + type: + - "null" + - boolean + isPublic: + type: + - "null" + - boolean + name: + type: + - "null" + - string + title: + type: + - "null" + - string + updatedAt: + type: + - "null" + - string + format: date-time + updatedById: + type: + - "null" + - integer + prospect_accounts: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - "null" + - string + description: + type: + - "null" + - string + annualRevenue: + type: + - "null" + - string + assignedToId: + type: + - "null" + - integer + billingAddressOne: + type: + - "null" + - string + billingAddressTwo: + type: + - "null" + - string + billingCity: + type: + - "null" + - string + billingCountry: + type: + - "null" + - string + billingState: + type: + - "null" + - string + billingZip: + type: + - "null" + - string + createdAt: + type: + - "null" + - string + format: date-time + createdById: + type: + - "null" + - integer + employees: + type: + - "null" + - string + fax: + type: + - "null" + - string + id: + type: + - integer + industry: + type: + - "null" + - string + isDeleted: + type: + - "null" + - boolean + name: + type: + - "null" + - string + number: + type: + - "null" + - string + ownership: + type: + - "null" + - string + phone: + type: + - "null" + - string + rating: + type: + - "null" + - string + salesforceId: + type: + - "null" + - string + shippingAddressOne: + type: + - "null" + - string + shippingAddressTwo: + type: + - "null" + - string + shippingCity: + type: + - "null" + - string + shippingCountry: + type: + - "null" + - string + shippingState: + type: + - "null" + - string + shippingZip: + type: + - "null" + - string + sic: + type: + - "null" + - string + site: + type: + - "null" + - string + tickerSymbol: + type: + - "null" + - string + updatedAt: + type: + - "null" + - string + format: date-time + updatedById: + type: + - "null" + - integer + website: + type: + - "null" + - string + prospects: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + addressOne: + type: + - "null" + - string + addressTwo: + type: + - "null" + - string + annualRevenue: + type: + - "null" + - string + assignedToId: + type: + - "null" + - string + campaignId: + type: + - "null" + - integer + campaignParameter: + type: + - "null" + - string + city: + type: + - "null" + - string + comments: + type: + - "null" + - string + company: + type: + - "null" + - string + contentParameter: + type: + - "null" + - string + convertedAt: + type: + - "null" + - string + format: date-time + convertedFromObjectName: + type: + - "null" + - string + convertedFromObjectType: + type: + - "null" + - string + country: + type: + - "null" + - string + createdAt: + type: + - "null" + - string + format: date-time + createdById: + type: + - "null" + - integer + department: + type: + - "null" + - string + doNotSell: + type: + - "null" + - boolean + email: + type: + - "null" + - string + emailBouncedAt: + type: + - "null" + - string + format: date-time + emailBouncedReason: + type: + - "null" + - string + employees: + type: + - "null" + - string + fax: + type: + - "null" + - string + firstActivityAt: + type: + - "null" + - string + format: date-time + firstAssignedAt: + type: + - "null" + - string + format: date-time + firstName: + type: + - "null" + - string + firstReferrerQuery: + type: + - "null" + - string + firstReferrerType: + type: + - "null" + - string + firstReferrerUrl: + type: + - "null" + - string + grade: + type: + - "null" + - string + id: + type: + - integer + industry: + type: + - "null" + - string + isDeleted: + type: + - "null" + - boolean + isDoNotCall: + type: + - "null" + - boolean + isDoNotEmail: + type: + - "null" + - boolean + isEmailHardBounced: + type: + - "null" + - boolean + isReviewed: + type: + - "null" + - boolean + isStarred: + type: + - "null" + - boolean + jobTitle: + type: + - "null" + - string + lastActivityAt: + type: + - "null" + - string + format: date-time + lastName: + type: + - "null" + - string + lifecycleStageId: + type: + - "null" + - integer + mediumParameter: + type: + - "null" + - string + notes: + type: + - "null" + - string + optedOut: + type: + - "null" + - boolean + phone: + type: + - "null" + - string + profileId: + type: + - "null" + - integer + prospectAccountId: + type: + - "null" + - integer + recentInteraction: + type: + - "null" + - string + salesforceAccountId: + type: + - "null" + - string + salesforceCampaignId: + type: + - "null" + - string + salesforceContactId: + type: + - "null" + - string + salesforceId: + type: + - "null" + - string + salesforceLastSync: + type: + - "null" + - string + format: date-time + salesforceLeadId: + type: + - "null" + - string + salesforceOwnerId: + type: + - "null" + - string + salesforceUrl: + type: + - "null" + - string + salutation: + type: + - "null" + - string + score: + type: + - "null" + - string + source: + type: + - "null" + - string + sourceParameter: + type: + - "null" + - string + state: + type: + - "null" + - string + termParameter: + type: + - "null" + - string + territory: + type: + - "null" + - string + updatedAt: + type: + - "null" + - string + format: date-time + updatedById: + type: + - "null" + - integer + userId: + type: + - "null" + - integer + website: + type: + - "null" + - string + yearsInBusiness: + type: + - "null" + - string + zip: + type: + - "null" + - string + users: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + createdAt: + type: + - "null" + - string + format: date-time + createdById: + type: + - "null" + - integer + email: + type: + - "null" + - string + firstName: + type: + - "null" + - string + id: + type: + - integer + isDeleted: + type: + - "null" + - boolean + jobTitle: + type: + - "null" + - string + role: + type: + - "null" + - string + roleName: + type: + - "null" + - string + salesforceId: + type: + - "null" + - string + tagReplacementLanguage: + type: + - "null" + - string + updatedAt: + type: + - "null" + - string + format: date-time + updatedById: + type: + - "null" + - integer + username: + type: + - "null" + - string + visitor_activities: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - "null" + - integer + campaignId: + type: + - "null" + - integer + createdAt: + type: + - "null" + - string + format: date-time + customRedirectId: + type: + - "null" + - integer + details: + type: + - "null" + - string + emailId: + type: + - "null" + - integer + emailTemplateId: + type: + - "null" + - integer + fileId: + type: + - "null" + - integer + formHandlerId: + type: + - "null" + - integer + formId: + type: + - "null" + - integer + id: + type: + - integer + landingPageId: + type: + - "null" + - integer + listEmailId: + type: + - "null" + - integer + multivariateTestVariationId: + type: + - "null" + - integer + opportunityId: + type: + - "null" + - integer + paidSearchAdId: + type: + - "null" + - integer + prospectId: + type: + - "null" + - integer + siteSearchQueryId: + type: + - "null" + - integer + typeName: + type: + - "null" + - string + updatedAt: + type: + - "null" + - string + format: date-time + visitId: + type: + - "null" + - integer + visitorId: + type: + - "null" + - integer + visitorPageViewId: + type: + - "null" + - integer + visitors: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + campaignId: + type: + - "null" + - integer + campaignParameter: + type: + - "null" + - string + contentParameter: + type: + - "null" + - string + createdAt: + type: + - "null" + - string + format: date-time + doNotSell: + type: + - "null" + - boolean + hostname: + type: + - "null" + - string + id: + type: + - integer + ipAddress: + type: + - "null" + - string + isIdentified: + type: + - "null" + - boolean + mediumParameter: + type: + - "null" + - string + pageViewCount: + type: + - "null" + - integer + prospectId: + type: + - "null" + - integer + sourceParameter: + type: + - "null" + - string + termParameter: + type: + - "null" + - string + updatedAt: + type: + - "null" + - string + format: date-time + visits: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + campaignParameter: + type: + - "null" + - string + contentParameter: + type: + - "null" + - string + createdAt: + type: + - "null" + - string + format: date-time + durationInSeconds: + type: + - "null" + - integer + firstVisitorPageViewAt: + type: + - "null" + - string + format: date-time + id: + type: + - integer + lastVisitorPageViewAt: + type: + - "null" + - string + format: date-time + mediumParameter: + type: + - "null" + - string + prospectId: + type: + - "null" + - integer + sourceParameter: + type: + - "null" + - string + termParameter: + type: + - "null" + - string + updatedAt: + type: + - "null" + - string + format: date-time + visitorId: + type: + - "null" + - integer + visitorPageViewCount: + type: + - "null" + - integer + folders: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + createdAt: + type: + - "null" + - string + createdById: + type: + - "null" + - integer + id: + type: integer + name: + type: + - "null" + - string + parentFolderId: + type: + - "null" + - integer + path: + type: + - "null" + - string + updatedAt: + type: + - "null" + - string + updatedById: + type: + - "null" + - integer + usePermissions: + type: + - "null" + - boolean + required: + - id + custom_redirects: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + bitlyIsPersonalized: + type: + - "null" + - boolean + bitlyShortUrl: + type: + - "null" + - string + campaignId: + type: + - "null" + - integer + createdAt: + type: + - "null" + - string + createdById: + type: + - "null" + - integer + destinationUrl: + type: + - "null" + - string + folderId: + type: + - "null" + - integer + gaCampaign: + type: + - "null" + - string + gaContent: + type: + - "null" + - string + gaMedium: + type: + - "null" + - string + gaSource: + type: + - "null" + - string + gaTerm: + type: + - "null" + - string + id: + type: integer + isDeleted: + type: + - "null" + - boolean + name: + type: + - "null" + - string + salesforceId: + type: + - "null" + - integer + trackedUrl: + type: + - "null" + - string + trackerDomain.domain: + type: + - "null" + - string + trackerDomainId: + type: + - "null" + - integer + updatedAt: + type: + - "null" + - string + updatedById: + type: + - "null" + - integer + url: + type: + - "null" + - string + vanityUrl: + type: + - "null" + - string + vanityUrlPath: + type: + - "null" + - string + required: + - id + emails: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - string + - "null" + campaignId: + type: + - integer + - "null" + clientType: + type: + - string + - "null" + createdById: + type: + - integer + - "null" + emailTemplateId: + type: + - integer + - "null" + id: + type: integer + isOperational: + type: + - boolean + - "null" + listEmailId: + type: + - integer + - "null" + name: + type: + - string + - "null" + prospectId: + type: + - integer + - "null" + replyToOptions: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + accountCustomFieldId: + type: + - integer + - "null" + address: + type: + - string + - "null" + name: + type: + - string + - "null" + prospectCustomFieldId: + type: + - integer + - "null" + userId: + type: + - integer + - "null" + senderOptions: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + accountCustomFieldId: + type: + - integer + - "null" + address: + type: + - string + - "null" + name: + type: + - string + - "null" + prospectCustomFieldId: + type: + - integer + - "null" + userId: + type: + - integer + - "null" + sentAt: + type: + - "null" + - string + format: date-time + subject: + type: + - string + - "null" + required: + - id + - sentAt + engagement_studio_programs: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + description: + type: + - string + - "null" + businessHours: + type: + - object + - "null" + properties: + days: + type: + - array + - "null" + items: + type: + - string + - "null" + endTime: + type: + - string + - "null" + airbyte_type: time_without_timezone + format: time + startTime: + type: + - string + - "null" + airbyte_type: time_without_timezone + format: time + timezone: + type: + - string + - "null" + createdAt: + type: + - string + - "null" + format: date-time + createdById: + type: + - integer + - "null" + id: + type: integer + isDeleted: + type: + - boolean + - "null" + prospectsMultipleEntry: + type: + - object + - "null" + properties: + maximumEntries: + type: + - integer + - "null" + minimumDurationInDays: + type: + - integer + - "null" + recipientListIds: + type: + - array + - "null" + items: + type: + - integer + - "null" + salesforceId: + type: + - string + - "null" + schedule: + type: + - object + - "null" + properties: + createdAt: + type: + - string + - "null" + format: date-time + startOn: + type: + - string + - "null" + format: date-time + stopOn: + type: + - string + - "null" + format: date-time + scheduleCreatedById: + type: + - integer + - "null" + status: + type: + - string + - "null" + suppressionListIds: + type: + - array + - "null" + items: + type: + - integer + - "null" + updatedAt: + type: + - string + - "null" + format: date-time + updatedById: + type: + - integer + - "null" + required: + - id + - updatedAt + files: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + bitlyIsPersonalized: + type: + - boolean + - "null" + bitlyShortUrl: + type: + - string + - "null" + campaignId: + type: + - integer + - "null" + createdAt: + type: + - string + - "null" + format: date-time + createdById: + type: + - integer + - "null" + folderId: + type: + - integer + - "null" + id: + type: integer + isTracked: + type: + - boolean + - "null" + name: + type: + - string + - "null" + salesforceId: + type: + - string + - "null" + size: + type: + - integer + - "null" + trackerDomainId: + type: + - integer + - "null" + updatedAt: + type: + - string + - "null" + format: date-time + updatedById: + type: + - integer + - "null" + url: + type: + - string + - "null" + vanityUrl: + type: + - string + - "null" + vanityUrlPath: + type: + - string + - "null" + required: + - id + folder_contents: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + createdAt: + type: + - string + - "null" + format: date-time + createdById: + type: + - integer + - "null" + folderId: + type: + - integer + - "null" + folderRef: + type: + - string + - "null" + id: + type: integer + objectId: + type: + - integer + - "null" + objectName: + type: + - string + - "null" + objectRef: + type: + - string + - "null" + objectType: + type: + - string + - "null" + updatedAt: + type: + - string + - "null" + format: date-time + updatedById: + type: + - integer + - "null" + required: + - id + - updatedAt + forms: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + afterFormContent: + type: + - string + - "null" + beforeFormContent: + type: + - string + - "null" + campaignId: + type: + - integer + - "null" + checkboxAlignment: + type: + - string + - "null" + createdAt: + type: + - string + - "null" + format: date-time + createdById: + type: + - integer + - "null" + embedCode: + type: + - string + - "null" + folderId: + type: + - integer + - "null" + fontColor: + type: + - string + - "null" + fontFamily: + type: + - string + - "null" + fontSize: + type: + - string + - "null" + id: + type: integer + isAlwaysDisplay: + type: + - boolean + - "null" + isCaptchaEnabled: + type: + - boolean + - "null" + isCookieless: + type: + - boolean + - "null" + isDeleted: + type: + - boolean + - "null" + isUseRedirectLocation: + type: + - boolean + - "null" + labelAlignment: + type: + - string + - "null" + layoutTemplateId: + type: + - integer + - "null" + name: + type: + - string + - "null" + radioAlignment: + type: + - string + - "null" + redirectLocation: + type: + - string + - "null" + requiredCharacter: + type: + - string + - "null" + salesforceId: + type: + - string + - "null" + showNotProspect: + type: + - boolean + - "null" + submitButtonText: + type: + - string + - "null" + thankYouCode: + type: + - string + - "null" + thankYouContent: + type: + - string + - "null" + updatedAt: + type: + - string + - "null" + format: date-time + updatedById: + type: + - integer + - "null" + required: + - id + form_fields: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - string + - "null" + createdAt: + type: + - string + - "null" + format: date-time + createdById: + type: + - integer + - "null" + cssClasses: + type: + - string + - "null" + dataFormat: + type: + - string + - "null" + errorMessage: + type: + - string + - "null" + formId: + type: + - integer + - "null" + hasDependents: + type: + - boolean + - "null" + hasProgressives: + type: + - boolean + - "null" + hasValues: + type: + - boolean + - "null" + id: + type: integer + isAlwaysDisplay: + type: + - boolean + - "null" + isDoNotPrefill: + type: + - boolean + - "null" + isMaintainInitialValue: + type: + - boolean + - "null" + isRequired: + type: + - boolean + - "null" + label: + type: + - string + - "null" + prospectApiFieldId: + type: + - string + - "null" + sortOrder: + type: + - integer + - "null" + updatedAt: + type: + - string + - "null" + format: date-time + updatedById: + type: + - integer + - "null" + required: + - id + - updatedAt + form_handlers: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + campaignId: + type: + - integer + - "null" + createdAt: + type: + - string + - "null" + format: date-time + createdById: + type: + - integer + - "null" + embedCode: + type: + - string + - "null" + errorLocation: + type: + - string + - "null" + folderId: + type: + - integer + - "null" + id: + type: integer + isAlwaysEmail: + type: + - boolean + - "null" + isCookieless: + type: + - boolean + - "null" + isDataForwarded: + type: + - boolean + - "null" + isDeleted: + type: + - boolean + - "null" + name: + type: + - string + - "null" + salesforceId: + type: + - string + - "null" + successLocation: + type: + - string + - "null" + trackerDomainId: + type: + - integer + - "null" + updatedById: + type: + - integer + - "null" + required: + - id + form_handler_fields: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + createdAt: + type: + - string + - "null" + format: date-time + createdById: + type: + - integer + - "null" + dataFormat: + type: + - string + - "null" + errorMessage: + type: + - string + - "null" + formHandlerId: + type: + - integer + - "null" + id: + type: integer + isMaintainInitialValue: + type: + - boolean + - "null" + isRequired: + type: + - boolean + - "null" + name: + type: + - string + - "null" + prospectApiFieldId: + type: + - string + - "null" + required: + - id + landing_pages: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + description: + type: + - string + - "null" + archiveDate: + type: + - string + - "null" + format: date + bitlyIsPersonalized: + type: + - boolean + - "null" + bitlyShortUrl: + type: + - string + - "null" + campaignId: + type: + - integer + - "null" + createdAt: + type: + - string + - "null" + format: date-time + createdById: + type: + - integer + - "null" + folderId: + type: + - integer + - "null" + formId: + type: + - integer + - "null" + id: + type: integer + isDeleted: + type: + - boolean + - "null" + isDoNotIndex: + type: + - boolean + - "null" + isUseRedirectLocation: + type: + - boolean + - "null" + layoutTableBorder: + type: + - integer + - "null" + layoutTemplateId: + type: + - integer + - "null" + layoutType: + type: + - string + - "null" + name: + type: + - string + - "null" + redirectLocation: + type: + - string + - "null" + salesforceId: + type: + - string + - "null" + title: + type: + - string + - "null" + trackerDomainId: + type: + - integer + - "null" + updatedAt: + type: + - string + - "null" + format: date-time + updatedById: + type: + - integer + - "null" + url: + type: + - string + - "null" + vanityUrl: + type: + - string + - "null" + vanityUrlPath: + type: + - string + - "null" + required: + - id + - updatedAt + layout_templates: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + createdAt: + type: + - string + - "null" + format: date-time + createdById: + type: + - integer + - "null" + folderId: + type: + - integer + - "null" + formContent: + type: + - string + - "null" + id: + type: integer + isDeleted: + type: + - boolean + - "null" + isIncludeDefaultCss: + type: + - boolean + - "null" + layoutContent: + type: + - string + - "null" + name: + type: + - string + - "null" + siteSearchContent: + type: + - string + - "null" + updatedAt: + type: + - string + - "null" + format: date-time + updatedById: + type: + - integer + - "null" + required: + - id + lifecycle_stages: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + createdAt: + type: + - string + - "null" + format: date-time + id: + type: integer + isDeleted: + type: + - boolean + - "null" + isLocked: + type: + - boolean + - "null" + matchType: + type: + - string + - "null" + name: + type: + - string + - "null" + position: + type: + - integer + - "null" + updatedAt: + type: + - string + - "null" + format: date-time + required: + - id + - updatedAt + lifecycle_histories: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + createdAt: + type: + - string + - "null" + format: date-time + id: + type: integer + nextStageId: + type: + - integer + - "null" + previousStageId: + type: + - integer + - "null" + prospectId: + type: + - integer + - "null" + secondsElapsed: + type: + - integer + - "null" + required: + - id + - createdAt + list_emails: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + campaignId: + type: + - integer + - "null" + clientType: + type: + - string + - "null" + createdAt: + type: + - string + - "null" + format: date-time + createdById: + type: + - integer + - "null" + emailTemplateId: + type: + - integer + - "null" + folderId: + type: + - integer + - "null" + id: + type: integer + isDeleted: + type: + - boolean + - "null" + isOperational: + type: + - boolean + - "null" + isPaused: + type: + - boolean + - "null" + isSent: + type: + - boolean + - "null" + name: + type: + - string + - "null" + replyToOptions: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + accountCustomFieldId: + type: + - integer + - "null" + address: + type: + - string + - "null" + prospectCustomFieldId: + type: + - integer + - "null" + userId: + type: + - integer + - "null" + senderOptions: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + accountCustomFieldId: + type: + - integer + - "null" + address: + type: + - string + - "null" + name: + type: + - string + - "null" + prospectCustomFieldId: + type: + - integer + - "null" + userId: + type: + - integer + - "null" + sentAt: + type: + - string + - "null" + subject: + type: + - string + - "null" + trackerDomainId: + type: + - integer + - "null" + updatedAt: + type: + - string + - "null" + format: date-time + updatedById: + type: + - integer + - "null" + required: + - id + - updatedAt + opportunities: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - string + - "null" + campaignId: + type: + - integer + - "null" + closedAt: + type: + - string + - "null" + format: date-time + createdAt: + type: + - string + - "null" + format: date-time + createdById: + type: + - integer + - "null" + id: + type: integer + name: + type: + - string + - "null" + probability: + type: + - integer + - "null" + salesforceId: + type: + - string + - "null" + stage: + type: + - string + - "null" + status: + type: + - string + - "null" + updatedAt: + type: + - string + - "null" + format: date-time + updatedById: + type: + - integer + - "null" + value: + type: + - number + - "null" + required: + - id + - updatedAt + tags: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + createdAt: + type: + - string + - "null" + format: date-time + createdById: + type: + - integer + - "null" + id: + type: integer + name: + type: + - string + - "null" + objectCount: + type: + - integer + - "null" + updatedAt: + type: + - string + - "null" + format: date-time + updatedById: + type: + - integer + - "null" + required: + - id + - updatedAt + tracker_domains: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + createdAt: + type: + - string + - "null" + format: date-time + createdById: + type: + - integer + - "null" + defaultCampaignId: + type: + - integer + - "null" + domain: + type: + - string + - "null" + httpsStatus: + type: + - string + - "null" + id: + type: integer + isDeleted: + type: + - boolean + - "null" + isPrimary: + type: + - boolean + - "null" + sslRequestedById: + type: + - integer + - "null" + sslStatus: + type: + - string + - "null" + sslStatusDetails: + type: + - string + - "null" + trackingCode: + type: + - string + - "null" + updatedAt: + type: + - string + - "null" + format: date-time + updatedById: + type: + - integer + - "null" + validatedAt: + type: + - string + - "null" + format: date-time + validationStatus: + type: + - string + - "null" + vanityUrlStatus: + type: + - string + - "null" + required: + - id + visitor_page_views: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + campaignId: + type: + - integer + - "null" + createdAt: + type: + - string + - "null" + format: date-time + durationInSeconds: + type: + - integer + - "null" + id: + type: integer + salesforceId: + type: + - string + - "null" + title: + type: + - string + - "null" + url: + type: + - string + - "null" + visitId: + type: + - integer + - "null" + visitorId: + type: + - integer + - "null" + required: + - id + - createdAt + account: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + addressOne: + type: + - string + - "null" + addressTwo: + type: + - string + - "null" + adminId: + type: + - integer + - "null" + apiCallsUsed: + type: + - integer + - "null" + city: + type: + - string + - "null" + company: + type: + - string + - "null" + country: + type: + - string + - "null" + createdAt: + type: + - string + - "null" + format: date-time + createdById: + type: + - integer + - "null" + fax: + type: + - string + - "null" + id: + type: integer + level: + type: + - string + - "null" + maximumDailyApiCalls: + type: + - integer + - "null" + phone: + type: + - string + - "null" + pluginCampaignId: + type: + - integer + - "null" + state: + type: + - string + - "null" + territory: + type: + - string + - "null" + updatedAt: + type: + - string + - "null" + format: date-time + updatedById: + type: + - integer + - "null" + website: + type: + - string + - "null" + zip: + type: + - string + - "null" + required: + - id + - createdAt + - updatedAt + custom_fields: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - string + - "null" + createdAt: + type: + - string + - "null" + format: date-time + createdById: + type: + - integer + - "null" + fieldId: + type: + - integer + - "null" + id: + type: integer + isAnalyticsSynced: + type: + - boolean + - "null" + isRecordMultipleResponses: + type: + - boolean + - "null" + isRequired: + type: + - boolean + - "null" + isUseValues: + type: + - boolean + - "null" + name: + type: + - string + - "null" + salesforceId: + type: + - string + - "null" + updatedAt: + type: + - string + - "null" + format: date-time + updatedById: + type: + - integer + - "null" + required: + - id + - createdAt + - updatedAt + dynamic_contents: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + basedOn: + type: + - string + - "null" + basedOnProspectApiFieldId: + type: + - integer + - "null" + createdAt: + type: + - string + - "null" + format: date-time + createdById: + type: + - integer + - "null" + embedCode: + type: + - string + - "null" + embedUrl: + type: + - string + - "null" + folderId: + type: + - integer + - "null" + id: + type: integer + isDeleted: + type: + - boolean + - "null" + name: + type: + - string + - "null" + tagReplacementLanguage: + type: + - string + - "null" + trackerDomainId: + type: + - integer + - "null" + updatedAt: + type: + - string + - "null" + format: date-time + updatedById: + type: + - integer + - "null" + required: + - id + - updatedAt + dynamic_content_variations: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + id: + type: integer + dynamicContentId: + type: + - integer + - "null" + comparison: + type: + - string + - "null" + operator: + type: + - string + - "null" + value1: + type: + - string + - "null" + value2: + type: + - string + - "null" + content: + type: + - string + - "null" + required: + - id diff --git a/airbyte-integrations/connectors/source-pardot/metadata.yaml b/airbyte-integrations/connectors/source-pardot/metadata.yaml index 55e8e0bfbf5f..1596dd7938af 100644 --- a/airbyte-integrations/connectors/source-pardot/metadata.yaml +++ b/airbyte-integrations/connectors/source-pardot/metadata.yaml @@ -2,7 +2,7 @@ data: connectorSubtype: api connectorType: source definitionId: ad15c7ba-72a7-440b-af15-b9a963dc1a8a - dockerImageTag: 0.2.0 + dockerImageTag: 1.0.0 dockerRepository: airbyte/source-pardot githubIssueLabel: source-pardot icon: salesforcepardot.svg @@ -18,6 +18,11 @@ data: oss: enabled: true releaseStage: alpha + releases: + breakingChanges: + 1.0.0: + message: Most streams have been migrated to use Pardot API V5 in this release. The authentication flow, which was previously broken, should now work for new connections using this version. + upgradeDeadline: "2024-12-26" documentationUrl: https://docs.airbyte.com/integrations/sources/pardot tags: - language:manifest-only @@ -29,5 +34,5 @@ data: connectorTestSuitesOptions: - suite: unitTests connectorBuildOptions: - baseImage: docker.io/airbyte/source-declarative-manifest:5.13.0@sha256:ffc5977f59e1f38bf3f5dd70b6fa0520c2450ebf85153c5a8df315b8c918d5c3 + baseImage: docker.io/airbyte/source-declarative-manifest:6.10.0@sha256:58722e84dbd06bb2af9250e37d24d1c448e247fc3a84d75ee4407d52771b6f03 metadataSpecVersion: "1.0" diff --git a/airbyte-integrations/connectors/source-pennylane/manifest.yaml b/airbyte-integrations/connectors/source-pennylane/manifest.yaml index a35423e830d4..cddb5b96cbdf 100644 --- a/airbyte-integrations/connectors/source-pennylane/manifest.yaml +++ b/airbyte-integrations/connectors/source-pennylane/manifest.yaml @@ -497,10 +497,40 @@ streams: properties: amount: type: string + billing_subscription: + type: object + properties: + id: + type: integer + v2_id: + type: integer categories: type: array credit_notes: type: array + items: + type: object + properties: + amount: + type: string + currency: + type: string + currency_amount: + type: string + currency_price_before_tax: + type: string + currency_tax: + type: string + draft: + type: boolean + id: + type: string + invoice_number: + type: string + tax: + type: string + v2_id: + type: integer currency: type: string currency_amount: @@ -572,10 +602,19 @@ streams: type: string id: type: string + imputation_dates: + type: object + properties: + end_date: + type: string + start_date: + type: string invoice_number: type: string is_draft: type: boolean + is_estimate: + type: boolean label: type: string language: @@ -630,6 +669,17 @@ streams: type: array paid: type: boolean + payments: + type: array + items: + type: object + properties: + created_at: + type: string + currency_amount: + type: string + label: + type: string pdf_invoice_free_text: type: string pdf_invoice_subject: @@ -646,8 +696,19 @@ streams: type: string status: type: string + transactions_reference: + type: object + properties: + banking_provider: + type: string + provider_field_name: + type: string + provider_field_value: + type: string updated_at: type: string + v2_id: + type: integer retriever: type: SimpleRetriever requester: @@ -975,4 +1036,4 @@ metadata: customer_invoices: true products: true category_groups: true - categories: true + categories: true \ No newline at end of file diff --git a/airbyte-integrations/connectors/source-pennylane/metadata.yaml b/airbyte-integrations/connectors/source-pennylane/metadata.yaml index fa8ef5183c79..226271c8c008 100644 --- a/airbyte-integrations/connectors/source-pennylane/metadata.yaml +++ b/airbyte-integrations/connectors/source-pennylane/metadata.yaml @@ -17,7 +17,7 @@ data: connectorSubtype: api connectorType: source definitionId: b9e4a306-4e3b-4387-a01d-c00d03d8c28c - dockerImageTag: 0.0.6 + dockerImageTag: 0.1.0 dockerRepository: airbyte/source-pennylane githubIssueLabel: source-pennylane icon: icon.svg diff --git a/airbyte-integrations/connectors/source-pipedrive/acceptance-test-config.yml b/airbyte-integrations/connectors/source-pipedrive/acceptance-test-config.yml index 303f046105c3..8f4edb5f0c74 100644 --- a/airbyte-integrations/connectors/source-pipedrive/acceptance-test-config.yml +++ b/airbyte-integrations/connectors/source-pipedrive/acceptance-test-config.yml @@ -17,6 +17,9 @@ acceptance_tests: basic_read: tests: - config_path: "secrets/config.json" + expect_records: + path: "integration_tests/expected_records.jsonl" + exact_order: no configured_catalog_path: "integration_tests/configured_catalog.json" fail_on_extra_columns: false empty_streams: @@ -30,13 +33,12 @@ acceptance_tests: - name: stages - name: deal_products - name: mail + - name: deals + - name: users + - name: persons incremental: - tests: - - config_path: "secrets/config.json" - configured_catalog_path: "integration_tests/configured_catalog.json" - future_state: - future_state_path: "integration_tests/abnormal_state.json" + bypass_reason: "All incremental streams are empty in sandbox account." full_refresh: tests: - config_path: "secrets/config.json" diff --git a/airbyte-integrations/connectors/source-pipedrive/integration_tests/expected_records.jsonl b/airbyte-integrations/connectors/source-pipedrive/integration_tests/expected_records.jsonl new file mode 100644 index 000000000000..e97465c57468 --- /dev/null +++ b/airbyte-integrations/connectors/source-pipedrive/integration_tests/expected_records.jsonl @@ -0,0 +1,34 @@ +{"stream":"deal_fields","data":{"id":12488,"key":"eae9c2a5b618934581aebed0747cc33cd681379e","name":"Test field 3","order_nr":4,"field_type":"enum","json_column_flag":true,"add_time":"2023-02-22 11:04:13","update_time":"2023-02-22 11:04:13","last_updated_by_user_id":11884360,"edit_flag":true,"details_visible_flag":true,"add_visible_flag":true,"important_flag":true,"bulk_edit_allowed":true,"filtering_allowed":true,"sortable_flag":true,"mandatory_flag":false,"searchable_flag":true,"active_flag":true,"projects_detail_visible_flag":false,"show_in_pipelines":{"show_in_all":true,"pipeline_ids":[]},"options":[{"id":23,"label":"Test"}]},"emitted_at":1733742439563} +{"stream":"deal_fields","data":{"id":12489,"key":"bed1d9f4cfdaf761fab04b38df20144b0fd156d6","name":"Test field 4","order_nr":5,"field_type":"varchar","json_column_flag":true,"add_time":"2023-02-22 11:04:30","update_time":"2023-02-22 11:04:30","last_updated_by_user_id":11884360,"edit_flag":true,"details_visible_flag":true,"add_visible_flag":true,"important_flag":true,"bulk_edit_allowed":true,"filtering_allowed":true,"sortable_flag":true,"mandatory_flag":false,"searchable_flag":true,"active_flag":true,"projects_detail_visible_flag":false,"show_in_pipelines":{"show_in_all":true,"pipeline_ids":[]}},"emitted_at":1733742439563} +{"stream":"deal_fields","data":{"id":12490,"key":"41505adc22569bf93214dd7f7eaa10eaa387947d","name":"Test field 5","order_nr":6,"field_type":"varchar","json_column_flag":true,"add_time":"2023-02-22 11:04:43","update_time":"2023-02-22 11:04:43","last_updated_by_user_id":11884360,"edit_flag":true,"details_visible_flag":true,"add_visible_flag":true,"important_flag":true,"bulk_edit_allowed":true,"filtering_allowed":true,"sortable_flag":true,"mandatory_flag":false,"searchable_flag":true,"active_flag":true,"projects_detail_visible_flag":false,"show_in_pipelines":{"show_in_all":true,"pipeline_ids":[]}},"emitted_at":1733742439563} +{"stream":"goals","data":{"id":"404e9d01204e052dff21ec32121f0270","owner_id":11884360,"title":"Activities added Team Airbyte","type":{"name":"activities_added","params":{"pipeline_id":null,"activity_type_id":[1]}},"assignee":{"type":"person","id":11884360},"expected_outcome":{"tracking_metric":"quantity","target":100},"interval":"weekly","duration":{"start":"2023-10-15","end":"2023-11-03"},"report_ids":["389fb0576579ea5b28761aef85af7e8a"],"is_active":false},"emitted_at":1733742439864} +{"stream":"goals","data":{"id":"b1b124b30aea9704b28dde37a41b1cb2","owner_id":11884360,"title":"Activities completed Team Airbyte","type":{"name":"activities_completed","params":{"pipeline_id":null,"activity_type_id":[1]}},"assignee":{"type":"person","id":11884360},"expected_outcome":{"tracking_metric":"quantity","target":10},"interval":"weekly","duration":{"start":"2023-09-01","end":"2023-10-10"},"report_ids":["cf970db4608d730d53dc87875ebb2302"],"is_active":false},"emitted_at":1733742439890} +{"stream":"goals","data":{"id":"b1b124b30aea9704b28dde37a41b2bcb","owner_id":11884360,"title":"Deals won Team Airbyte","type":{"name":"deals_won","params":{"pipeline_id":[1]}},"assignee":{"type":"person","id":11884360},"expected_outcome":{"tracking_metric":"sum","currency_id":148,"target":100},"interval":"monthly","duration":{"start":"2023-10-01","end":null},"report_ids":["ddbcc8dc48e84aea5e28a2db3488e89d"],"is_active":true},"emitted_at":1733742439890} +{"stream":"lead_labels","data":{"id":"aecece60-c069-11eb-93bf-b59c4f1731e6","name":"Hot","color":"red","add_time":"2021-05-29T10:36:10.182Z","update_time":"2021-05-29T10:36:10.182Z"},"emitted_at":1733742439909} +{"stream":"lead_labels","data":{"id":"aecece61-c069-11eb-93bf-b59c4f1731e6","name":"Warm","color":"yellow","add_time":"2021-05-29T10:36:10.182Z","update_time":"2021-05-29T10:36:10.182Z"},"emitted_at":1733742439910} +{"stream":"lead_labels","data":{"id":"aecece62-c069-11eb-93bf-b59c4f1731e6","name":"Cold","color":"blue","add_time":"2021-05-29T10:36:10.182Z","update_time":"2021-05-29T10:36:10.182Z"},"emitted_at":1733742439910} +{"stream":"activity_types","data":{"id":5,"order_nr":5,"name":"Email","key_string":"email","icon_key":"email","active_flag":true,"is_custom_flag":false,"add_time":"2020-12-10 07:23:48"},"emitted_at":1733742439922} +{"stream":"activity_types","data":{"id":6,"order_nr":6,"name":"Lunch","key_string":"lunch","icon_key":"lunch","active_flag":true,"is_custom_flag":false,"add_time":"2020-12-10 07:23:48"},"emitted_at":1733742439922} +{"stream":"activity_types","data":{"id":7,"order_nr":7,"name":"Test 1","key_string":"test_1","icon_key":"car","active_flag":true,"is_custom_flag":true,"add_time":"2023-02-22 11:13:54","update_time":"2023-02-22 11:13:54"},"emitted_at":1733742439922} +{"stream":"leads","data":{"id":"56b65210-b28f-11ed-8345-ef71fee43bbf","title":"Test Organization 6 lead","owner_id":11884360,"creator_id":11884360,"label_ids":["aecece60-c069-11eb-93bf-b59c4f1731e6"],"value":{"amount":800,"currency":"USD"},"expected_close_date":"2023-03-30","person_id":7,"organization_id":6,"is_archived":false,"source_name":"Manually created","origin":"ManuallyCreated","was_seen":true,"next_activity_id":30,"add_time":"2023-02-22T09:00:22.321Z","update_time":"2023-02-22T11:48:49.834Z","visible_to":"3","cc_email":"airbyte-sandbox+7780468+lead54t3wth3rdv6nou8zygue80qn@pipedrivemail.com"},"emitted_at":1733742439928} +{"stream":"leads","data":{"id":"11761620-b29b-11ed-83bc-c5d5bb21e359","title":"Test Organization 8 lead","owner_id":11884360,"creator_id":11884360,"label_ids":["aecece61-c069-11eb-93bf-b59c4f1731e6"],"value":{"amount":3000,"currency":"USD"},"expected_close_date":"2023-04-28","person_id":9,"organization_id":8,"is_archived":false,"source_name":"Manually created","origin":"ManuallyCreated","was_seen":true,"next_activity_id":31,"add_time":"2023-02-22T10:24:20.098Z","update_time":"2023-02-22T11:49:10.328Z","visible_to":"3","cc_email":"airbyte-sandbox+7780468+lead117qmm8o4y5irltqaigfmfdcp@pipedrivemail.com"},"emitted_at":1733742439928} +{"stream":"leads","data":{"id":"98b9c5a0-b29b-11ed-83b4-fd61bd275e86","title":"Test Organization 10 lead","owner_id":11884360,"creator_id":11884360,"label_ids":["aecece60-c069-11eb-93bf-b59c4f1731e6"],"value":{"amount":2000,"currency":"USD"},"expected_close_date":"2023-05-30","person_id":11,"organization_id":10,"is_archived":false,"source_name":"Manually created","origin":"ManuallyCreated","was_seen":true,"next_activity_id":32,"add_time":"2023-02-22T10:28:07.034Z","update_time":"2023-02-22T11:49:24.853Z","visible_to":"3","cc_email":"airbyte-sandbox+7780468+lead91i2xdc9n1af14fee3k0llapy@pipedrivemail.com"},"emitted_at":1733742439928} +{"stream":"organizations","data":{"id":12,"company_id":7780468,"owner_id":{"id":11884360,"name":"Team Airbyte","email":"integration-test@airbyte.io","has_pic":0,"pic_hash":null,"active_flag":true,"value":11884360},"name":"Test Organization 7","open_deals_count":0,"related_open_deals_count":0,"closed_deals_count":0,"related_closed_deals_count":0,"email_messages_count":0,"people_count":0,"activities_count":0,"done_activities_count":0,"undone_activities_count":0,"files_count":0,"notes_count":0,"followers_count":1,"won_deals_count":0,"related_won_deals_count":0,"lost_deals_count":0,"related_lost_deals_count":0,"active_flag":true,"first_char":"t","update_time":"2023-02-22 08:21:58","add_time":"2023-02-22 08:18:16","visible_to":"3","label":5,"label_ids":[5],"address":"DY Patil College, Sant Tukaram Nagar, Pimpri Colony, Pimpri-Chinchwad, Maharashtra, India","address_subpremise":"","address_street_number":"","address_route":"","address_sublocality":"Pimpri Colony","address_locality":"Pimpri-Chinchwad","address_admin_area_level_1":"Maharashtra","address_admin_area_level_2":"Pune Division","address_country":"India","address_postal_code":"411018","address_formatted_address":"DY Patil College, DR. D Y PATIL MEDICAL COLLEGE, Sant Tukaram Nagar, Pimpri Colony, Pimpri-Chinchwad, Maharashtra 411018, India","owner_name":"Team Airbyte","cc_email":"airbyte-sandbox@pipedrivemail.com"},"emitted_at":1733742440202} +{"stream":"organizations","data":{"id":13,"company_id":7780468,"owner_id":{"id":11884360,"name":"Team Airbyte","email":"integration-test@airbyte.io","has_pic":0,"pic_hash":null,"active_flag":true,"value":11884360},"name":"Test Organization 6","open_deals_count":0,"related_open_deals_count":0,"closed_deals_count":0,"related_closed_deals_count":0,"email_messages_count":0,"people_count":0,"activities_count":0,"done_activities_count":0,"undone_activities_count":0,"files_count":0,"notes_count":0,"followers_count":1,"won_deals_count":0,"related_won_deals_count":0,"lost_deals_count":0,"related_lost_deals_count":0,"active_flag":true,"first_char":"t","update_time":"2023-02-22 08:23:17","add_time":"2023-02-22 08:18:33","visible_to":"3","label":5,"label_ids":[5],"address":"Anand Vihar Railway Station, Block D, Anand Vihar, Delhi, Uttar Pradesh, India","address_subpremise":"","address_street_number":"","address_route":"","address_sublocality":"Anand Vihar","address_locality":"Delhi","address_admin_area_level_1":"Uttar Pradesh","address_admin_area_level_2":"Delhi Division","address_country":"India","address_postal_code":"261205","address_formatted_address":"J8X8+F33, Block D, Anand Vihar, Delhi, Uttar Pradesh 261205, India","owner_name":"Team Airbyte","cc_email":"airbyte-sandbox@pipedrivemail.com"},"emitted_at":1733742440202} +{"stream":"organizations","data":{"id":14,"company_id":7780468,"owner_id":{"id":11884360,"name":"Team Airbyte","email":"integration-test@airbyte.io","has_pic":0,"pic_hash":null,"active_flag":true,"value":11884360},"name":"Test Organization 8","open_deals_count":1,"related_open_deals_count":0,"closed_deals_count":0,"related_closed_deals_count":0,"email_messages_count":0,"people_count":1,"activities_count":0,"done_activities_count":0,"undone_activities_count":0,"files_count":0,"notes_count":0,"followers_count":1,"won_deals_count":0,"related_won_deals_count":0,"lost_deals_count":0,"related_lost_deals_count":0,"active_flag":true,"first_char":"t","update_time":"2023-10-13 13:25:00","add_time":"2023-02-22 08:18:50","visible_to":"3","label":5,"label_ids":[5],"address":"London Eye, London, UK","address_subpremise":"Riverside Building","address_street_number":"","address_route":"","address_sublocality":"","address_locality":"","address_admin_area_level_1":"","address_admin_area_level_2":"Greater London","address_country":"United Kingdom","address_postal_code":"SE1 7PB","address_formatted_address":"Riverside Building, County Hall, London SE1 7PB, UK","owner_name":"Team Airbyte","16a9e1fcbccc7f7a5f429a1840c9f66db9ee901a":"My Custom Field Value","cc_email":"airbyte-sandbox@pipedrivemail.com"},"emitted_at":1733742440202} +{"stream":"organization_fields","data":{"key":"address_formatted_address","name":"Full/combined address of Address","field_type":"varchar","edit_flag":false,"active_flag":true,"is_subfield":true,"mandatory_flag":false,"parent_id":4021,"id_suffix":"formatted_address"},"emitted_at":1733742440211} +{"stream":"organization_fields","data":{"id":4023,"key":"label_ids","name":"Labels","order_nr":0,"field_type":"set","json_column_flag":false,"add_time":"2024-04-29 09:28:14","edit_flag":false,"details_visible_flag":true,"add_visible_flag":true,"important_flag":true,"bulk_edit_allowed":true,"filtering_allowed":true,"sortable_flag":true,"mandatory_flag":false,"searchable_flag":false,"active_flag":true,"options":[{"id":5,"label":"Customer","color":"green"},{"id":6,"label":"Hot lead","color":"red"},{"id":7,"label":"Warm lead","color":"yellow"},{"id":8,"label":"Cold lead","color":"blue"}]},"emitted_at":1733742440211} +{"stream":"organization_fields","data":{"id":4022,"key":"16a9e1fcbccc7f7a5f429a1840c9f66db9ee901a","name":"Pipedrive Custom Fields","order_nr":1,"field_type":"varchar","json_column_flag":true,"add_time":"2023-10-13 13:23:22","update_time":"2023-10-13 13:23:22","last_updated_by_user_id":11884360,"edit_flag":true,"details_visible_flag":true,"add_visible_flag":true,"important_flag":false,"bulk_edit_allowed":true,"filtering_allowed":true,"sortable_flag":true,"mandatory_flag":false,"searchable_flag":true,"active_flag":true},"emitted_at":1733742440211} +{"stream":"permission_sets","data":{"id":"fa17fff0-db56-11ec-93f1-e9cfc58fcd59","name":"Global admin","assignment_count":1,"app":"global","type":"admin"},"emitted_at":1733742440211} +{"stream":"permission_sets","data":{"id":"fa287ab0-db56-11ec-93f1-e9cfc58fcd59","name":"Global regular user","assignment_count":4,"app":"global","type":"regular"},"emitted_at":1733742440211} +{"stream":"permission_sets","data":{"id":"57b60400-ed6c-11ec-88fb-4fe88bf2db36","name":"Account settings","assignment_count":1,"app":"account_settings","type":"admin"},"emitted_at":1733742440211} +{"stream":"person_fields","data":{"id":9065,"key":"last_name","name":"Last name","order_nr":0,"field_type":"varchar","json_column_flag":false,"add_time":"2020-12-10 07:23:49","update_time":"2023-07-20 09:24:05","last_updated_by_user_id":0,"edit_flag":false,"details_visible_flag":true,"add_visible_flag":false,"important_flag":true,"bulk_edit_allowed":true,"filtering_allowed":true,"sortable_flag":true,"mandatory_flag":false,"searchable_flag":false,"active_flag":true},"emitted_at":1733742440213} +{"stream":"person_fields","data":{"id":9067,"key":"label_ids","name":"Labels","order_nr":0,"field_type":"set","json_column_flag":false,"add_time":"2024-04-29 09:28:14","edit_flag":false,"details_visible_flag":true,"add_visible_flag":true,"important_flag":true,"bulk_edit_allowed":true,"filtering_allowed":true,"sortable_flag":true,"mandatory_flag":false,"searchable_flag":false,"active_flag":true,"options":[{"id":1,"label":"Customer","color":"green"},{"id":2,"label":"Hot lead","color":"red"},{"id":3,"label":"Warm lead","color":"yellow"},{"id":4,"label":"Cold lead","color":"blue"}]},"emitted_at":1733742440213} +{"stream":"person_fields","data":{"id":9066,"key":"aa02d059909fdc632d590bd578d7b3baf4bf9780","name":"Custom Field 1","order_nr":1,"field_type":"varchar","json_column_flag":true,"add_time":"2023-07-12 17:53:46","update_time":"2023-07-12 17:53:46","last_updated_by_user_id":11884360,"edit_flag":true,"details_visible_flag":true,"add_visible_flag":false,"important_flag":false,"bulk_edit_allowed":true,"filtering_allowed":true,"sortable_flag":true,"mandatory_flag":false,"searchable_flag":true,"active_flag":true},"emitted_at":1733742440213} +{"stream":"currencies","data":{"id":166,"code":"ZMK","name":"Zambian Kwacha","symbol":"ZMK","decimal_points":2,"active_flag":true,"is_custom_flag":false},"emitted_at":1733742440218} +{"stream":"currencies","data":{"id":201,"code":"ZMW","name":"Zambian Kwacha","symbol":"ZMW","decimal_points":2,"active_flag":true,"is_custom_flag":false},"emitted_at":1733742440218} +{"stream":"currencies","data":{"id":167,"code":"ZWL","name":"Zimbabwe Dollar","symbol":"ZWL","decimal_points":2,"active_flag":true,"is_custom_flag":false},"emitted_at":1733742440219} +{"stream":"roles","data":{"id":1,"name":"(Unassigned users)","active_flag":true,"assignment_count":"5","sub_role_count":"0","level":1,"description":"This is the default group for managing your visibility settings. New users are added automatically unless you change their group when you invite them."},"emitted_at":1733742444262} +{"stream":"product_fields","data":{"id":26,"key":"category","name":"Category","order_nr":0,"field_type":"enum","json_column_flag":false,"add_time":"2020-12-10 07:23:48","update_time":"2023-07-20 09:24:08","last_updated_by_user_id":11884360,"edit_flag":false,"details_visible_flag":true,"add_visible_flag":true,"important_flag":true,"bulk_edit_allowed":true,"filtering_allowed":true,"sortable_flag":true,"mandatory_flag":false,"searchable_flag":false,"active_flag":true,"options":[{"id":12,"label":"Food"}]},"emitted_at":1733742444467} +{"stream":"product_fields","data":{"id":27,"key":"description","name":"Description","order_nr":0,"field_type":"text","json_column_flag":false,"add_time":"2020-12-10 07:23:48","update_time":"2023-07-20 09:24:08","last_updated_by_user_id":0,"edit_flag":false,"details_visible_flag":true,"add_visible_flag":false,"important_flag":true,"bulk_edit_allowed":true,"filtering_allowed":true,"sortable_flag":true,"mandatory_flag":false,"searchable_flag":false,"active_flag":true},"emitted_at":1733742444468} +{"stream":"product_fields","data":{"id":28,"key":"unit_prices","name":"Unit prices","order_nr":0,"field_type":"double","json_column_flag":false,"add_time":"2020-12-10 07:23:48","update_time":"2023-09-21 07:51:19","last_updated_by_user_id":0,"edit_flag":false,"details_visible_flag":false,"add_visible_flag":true,"important_flag":true,"bulk_edit_allowed":false,"filtering_allowed":true,"sortable_flag":true,"mandatory_flag":true,"searchable_flag":false,"active_flag":true},"emitted_at":1733742444468} diff --git a/airbyte-integrations/connectors/source-pipedrive/metadata.yaml b/airbyte-integrations/connectors/source-pipedrive/metadata.yaml index d2b7cd6c1078..6233ea2e546e 100644 --- a/airbyte-integrations/connectors/source-pipedrive/metadata.yaml +++ b/airbyte-integrations/connectors/source-pipedrive/metadata.yaml @@ -17,7 +17,7 @@ data: connectorSubtype: api connectorType: source definitionId: d8286229-c680-4063-8c59-23b9b391c700 - dockerImageTag: 2.2.28 + dockerImageTag: 2.3.0 dockerRepository: airbyte/source-pipedrive documentationUrl: https://docs.airbyte.com/integrations/sources/pipedrive githubIssueLabel: source-pipedrive diff --git a/airbyte-integrations/connectors/source-pipedrive/poetry.lock b/airbyte-integrations/connectors/source-pipedrive/poetry.lock index 3ae23dbdd91a..a6360eb9a5bb 100644 --- a/airbyte-integrations/connectors/source-pipedrive/poetry.lock +++ b/airbyte-integrations/connectors/source-pipedrive/poetry.lock @@ -1,58 +1,75 @@ -# 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.7.1 and should not be changed by hand. [[package]] name = "airbyte-cdk" -version = "0.90.0" +version = "6.11.1" description = "A framework for writing Airbyte Connectors." optional = false -python-versions = "<4.0,>=3.9" +python-versions = "<3.13,>=3.10" 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"}, + {file = "airbyte_cdk-6.11.1-py3-none-any.whl", hash = "sha256:e48cfae5d3fb12e3fa32b0aabb0f59f75417e185f9fbeb421f73088b3f6e2120"}, + {file = "airbyte_cdk-6.11.1.tar.gz", hash = "sha256:8a19e8e96a165610e6d6d52846ef41dac88a8afdd55f6ada894f71e33d4782e5"}, ] [package.dependencies] -airbyte-protocol-models = ">=0.9.0,<1.0" +airbyte-protocol-models-dataclasses = ">=0.14,<0.15" 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" +cryptography = ">=42.0.5,<44.0.0" +dpath = ">=2.1.6,<3.0.0" +dunamai = ">=1.22.0,<2.0.0" +genson = "1.3.0" 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" +jsonschema = ">=4.17.3,<4.18.0" langchain_core = "0.1.42" +nltk = "3.9.1" +numpy = "<2" +orjson = ">=3.10.7,<4.0.0" +pandas = "2.2.2" pendulum = "<3.0.0" -pydantic = ">=1.10.8,<2.0.0" +psutil = "6.1.0" +pydantic = ">=2.7,<3.0" pyjwt = ">=2.8.0,<3.0.0" pyrate-limiter = ">=3.1.0,<3.2.0" python-dateutil = "*" +python-ulid = ">=3.0.0,<4.0.0" pytz = "2024.1" PyYAML = ">=6.0.1,<7.0.0" +rapidfuzz = ">=3.10.1,<4.0.0" requests = "*" requests_cache = "*" -wcmatch = "8.4" +serpyco-rs = ">=1.10.2,<2.0.0" +wcmatch = "10.0" +xmltodict = ">=0.13.0,<0.14.0" [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)"] +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)", "python-calamine (==0.2.3)", "python-snappy (==0.7.3)", "unstructured.pytesseract (>=0.3.12)", "unstructured[docx,pptx] (==0.10.27)"] +sql = ["sqlalchemy (>=2.0,!=2.0.36,<3.0)"] +vector-db-based = ["cohere (==4.21)", "langchain (==0.1.16)", "openai[embeddings] (==0.27.9)", "tiktoken (==0.8.0)"] [[package]] -name = "airbyte-protocol-models" +name = "airbyte-protocol-models-dataclasses" version = "0.14.1" -description = "Declares the Airbyte Protocol." +description = "Declares the Airbyte Protocol using Python Dataclasses. Dataclasses in Python have less performance overhead compared to Pydantic models, making them a more efficient choice for scenarios where speed and memory usage are critical" optional = false python-versions = ">=3.8" files = [ - {file = "airbyte_protocol_models-0.14.1-py3-none-any.whl", hash = "sha256:851a9a7864191a05f7f0942e05eb7b0e36e3395be8db074f75a43b9098186089"}, - {file = "airbyte_protocol_models-0.14.1.tar.gz", hash = "sha256:bcb31493081fc7a2cb923b975eb6a46bc471fe1d82ac645ca5e551bb63731ffa"}, + {file = "airbyte_protocol_models_dataclasses-0.14.1-py3-none-any.whl", hash = "sha256:dfe10b32ee09e6ba9b4f17bd309e841b61cbd61ec8f80b1937ff104efd6209a9"}, + {file = "airbyte_protocol_models_dataclasses-0.14.1.tar.gz", hash = "sha256:f62a46556b82ea0d55de144983141639e8049d836dd4e0a9d7234c5b2e103c08"}, ] -[package.dependencies] -pydantic = ">=1.9.2,<2.0.0" +[[package]] +name = "annotated-types" +version = "0.7.0" +description = "Reusable constraint types to use with typing.Annotated" +optional = false +python-versions = ">=3.8" +files = [ + {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, + {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, +] [[package]] name = "anyio" @@ -86,21 +103,32 @@ files = [ {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, ] +[[package]] +name = "attributes-doc" +version = "0.4.0" +description = "PEP 224 implementation" +optional = false +python-versions = ">=3.8" +files = [ + {file = "attributes-doc-0.4.0.tar.gz", hash = "sha256:b1576c94a714e9fc2c65c47cf10d0c8e1a5f7c4f5ae7f69006be108d95cbfbfb"}, + {file = "attributes_doc-0.4.0-py2.py3-none-any.whl", hash = "sha256:4c3007d9e58f3a6cb4b9c614c4d4ce2d92161581f28e594ddd8241cc3a113bdd"}, +] + [[package]] name = "attrs" -version = "24.2.0" +version = "24.3.0" description = "Classes Without Boilerplate" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2"}, - {file = "attrs-24.2.0.tar.gz", hash = "sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346"}, + {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"}, + {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"}, ] [package.extras] benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] @@ -368,6 +396,20 @@ files = [ {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, ] +[[package]] +name = "click" +version = "8.1.7" +description = "Composable command line interface toolkit" +optional = false +python-versions = ">=3.7" +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + [[package]] name = "colorama" version = "0.4.6" @@ -381,43 +423,38 @@ files = [ [[package]] name = "cryptography" -version = "42.0.8" +version = "43.0.3" 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.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"}, + {file = "cryptography-43.0.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bf7a1932ac4176486eab36a19ed4c0492da5d97123f1406cf15e41b05e787d2e"}, + {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63efa177ff54aec6e1c0aefaa1a241232dcd37413835a9b674b6e3f0ae2bfd3e"}, + {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e1ce50266f4f70bf41a2c6dc4358afadae90e2a1e5342d3c08883df1675374f"}, + {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:443c4a81bb10daed9a8f334365fe52542771f25aedaf889fd323a853ce7377d6"}, + {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:74f57f24754fe349223792466a709f8e0c093205ff0dca557af51072ff47ab18"}, + {file = "cryptography-43.0.3-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9762ea51a8fc2a88b70cf2995e5675b38d93bf36bd67d91721c309df184f49bd"}, + {file = "cryptography-43.0.3-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:81ef806b1fef6b06dcebad789f988d3b37ccaee225695cf3e07648eee0fc6b73"}, + {file = "cryptography-43.0.3-cp37-abi3-win32.whl", hash = "sha256:cbeb489927bd7af4aa98d4b261af9a5bc025bd87f0e3547e11584be9e9427be2"}, + {file = "cryptography-43.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:f46304d6f0c6ab8e52770addfa2fc41e6629495548862279641972b6215451cd"}, + {file = "cryptography-43.0.3-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:8ac43ae87929a5982f5948ceda07001ee5e83227fd69cf55b109144938d96984"}, + {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:846da004a5804145a5f441b8530b4bf35afbf7da70f82409f151695b127213d5"}, + {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f996e7268af62598f2fc1204afa98a3b5712313a55c4c9d434aef49cadc91d4"}, + {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f7b178f11ed3664fd0e995a47ed2b5ff0a12d893e41dd0494f406d1cf555cab7"}, + {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:c2e6fc39c4ab499049df3bdf567f768a723a5e8464816e8f009f121a5a9f4405"}, + {file = "cryptography-43.0.3-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:e1be4655c7ef6e1bbe6b5d0403526601323420bcf414598955968c9ef3eb7d16"}, + {file = "cryptography-43.0.3-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:df6b6c6d742395dd77a23ea3728ab62f98379eff8fb61be2744d4679ab678f73"}, + {file = "cryptography-43.0.3-cp39-abi3-win32.whl", hash = "sha256:d56e96520b1020449bbace2b78b603442e7e378a9b3bd68de65c782db1507995"}, + {file = "cryptography-43.0.3-cp39-abi3-win_amd64.whl", hash = "sha256:0c580952eef9bf68c4747774cde7ec1d85a6e61de97281f2dba83c7d2c806362"}, + {file = "cryptography-43.0.3-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d03b5621a135bffecad2c73e9f4deb1a0f977b9a8ffe6f8e002bf6c9d07b918c"}, + {file = "cryptography-43.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:a2a431ee15799d6db9fe80c82b055bae5a752bef645bba795e8e52687c69efe3"}, + {file = "cryptography-43.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:281c945d0e28c92ca5e5930664c1cefd85efe80e5c0d2bc58dd63383fda29f83"}, + {file = "cryptography-43.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f18c716be16bc1fea8e95def49edf46b82fccaa88587a45f8dc0ff6ab5d8e0a7"}, + {file = "cryptography-43.0.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:4a02ded6cd4f0a5562a8887df8b3bd14e822a90f97ac5e544c162899bc467664"}, + {file = "cryptography-43.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:53a583b6637ab4c4e3591a15bc9db855b8d9dee9a669b550f311480acab6eb08"}, + {file = "cryptography-43.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1ec0bcf7e17c0c5669d881b1cd38c4972fade441b27bda1051665faaa89bdcaa"}, + {file = "cryptography-43.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2ce6fae5bdad59577b44e4dfed356944fbf1d925269114c28be377692643b4ff"}, + {file = "cryptography-43.0.3.tar.gz", hash = "sha256:315b9001266a492a6ff443b61238f956b214dbec9910a081ba5b6646a055a805"}, ] [package.dependencies] @@ -430,37 +467,34 @@ 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 = ["certifi", "cryptography-vectors (==43.0.3)", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] [[package]] -name = "deprecated" -version = "1.2.15" -description = "Python @deprecated decorator to deprecate old python classes, functions or methods." +name = "dpath" +version = "2.2.0" +description = "Filesystem-like pathing and searching for dictionaries" optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" +python-versions = ">=3.7" files = [ - {file = "Deprecated-1.2.15-py2.py3-none-any.whl", hash = "sha256:353bc4a8ac4bfc96800ddab349d89c25dec1079f65fd53acdcc1e0b975b21320"}, - {file = "deprecated-1.2.15.tar.gz", hash = "sha256:683e561a90de76239796e6b6feac66b99030d2dd3fcf61ef996330f14bbb9b0d"}, + {file = "dpath-2.2.0-py3-none-any.whl", hash = "sha256:b330a375ded0a0d2ed404440f6c6a715deae5313af40bbb01c8a41d891900576"}, + {file = "dpath-2.2.0.tar.gz", hash = "sha256:34f7e630dc55ea3f219e555726f5da4b4b25f2200319c8e6902c394258dd6a3e"}, ] -[package.dependencies] -wrapt = ">=1.10,<2" - -[package.extras] -dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "jinja2 (>=3.0.3,<3.1.0)", "setuptools", "sphinx (<2)", "tox"] - [[package]] -name = "dpath" -version = "2.0.8" -description = "Filesystem-like pathing and searching for dictionaries" +name = "dunamai" +version = "1.23.0" +description = "Dynamic version generation" optional = false -python-versions = ">=3.7" +python-versions = ">=3.5" files = [ - {file = "dpath-2.0.8-py3-none-any.whl", hash = "sha256:f92f595214dd93a00558d75d4b858beee519f4cffca87f02616ad6cd013f3436"}, - {file = "dpath-2.0.8.tar.gz", hash = "sha256:a3440157ebe80d0a3ad794f1b61c571bef125214800ffdb9afc9424e8250fe9b"}, + {file = "dunamai-1.23.0-py3-none-any.whl", hash = "sha256:a0906d876e92441793c6a423e16a4802752e723e9c9a5aabdc5535df02dbe041"}, + {file = "dunamai-1.23.0.tar.gz", hash = "sha256:a163746de7ea5acb6dacdab3a6ad621ebc612ed1e528aaa8beedb8887fccd2c4"}, ] +[package.dependencies] +packaging = ">=20.9" + [[package]] name = "exceptiongroup" version = "1.2.2" @@ -477,12 +511,13 @@ test = ["pytest (>=6)"] [[package]] name = "genson" -version = "1.2.2" +version = "1.3.0" 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"}, + {file = "genson-1.3.0-py3-none-any.whl", hash = "sha256:468feccd00274cc7e4c09e84b08704270ba8d95232aa280f65b986139cec67f7"}, + {file = "genson-1.3.0.tar.gz", hash = "sha256:e02db9ac2e3fd29e65b5286f7135762e2cd8a986537c075b06fc5f1517308e37"}, ] [[package]] @@ -597,6 +632,17 @@ MarkupSafe = ">=2.0" [package.extras] i18n = ["Babel (>=2.7)"] +[[package]] +name = "joblib" +version = "1.4.2" +description = "Lightweight pipelining with Python functions" +optional = false +python-versions = ">=3.8" +files = [ + {file = "joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6"}, + {file = "joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e"}, +] + [[package]] name = "jsonpatch" version = "1.33" @@ -635,24 +681,22 @@ files = [ [[package]] name = "jsonschema" -version = "3.2.0" +version = "4.17.3" description = "An implementation of JSON Schema validation for Python" optional = false -python-versions = "*" +python-versions = ">=3.7" files = [ - {file = "jsonschema-3.2.0-py2.py3-none-any.whl", hash = "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163"}, - {file = "jsonschema-3.2.0.tar.gz", hash = "sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a"}, + {file = "jsonschema-4.17.3-py3-none-any.whl", hash = "sha256:a870ad254da1a8ca84b6a2905cac29d265f805acc57af304784962a2aa6508f6"}, + {file = "jsonschema-4.17.3.tar.gz", hash = "sha256:0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d"}, ] [package.dependencies] attrs = ">=17.4.0" -pyrsistent = ">=0.14.0" -setuptools = "*" -six = ">=1.11.0" +pyrsistent = ">=0.14.0,<0.17.0 || >0.17.0,<0.17.1 || >0.17.1,<0.17.2 || >0.17.2" [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"] +format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] +format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"] [[package]] name = "langchain-core" @@ -767,6 +811,76 @@ files = [ {file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"}, ] +[[package]] +name = "nltk" +version = "3.9.1" +description = "Natural Language Toolkit" +optional = false +python-versions = ">=3.8" +files = [ + {file = "nltk-3.9.1-py3-none-any.whl", hash = "sha256:4fa26829c5b00715afe3061398a8989dc643b92ce7dd93fb4585a70930d168a1"}, + {file = "nltk-3.9.1.tar.gz", hash = "sha256:87d127bd3de4bd89a4f81265e5fa59cb1b199b27440175370f7417d2bc7ae868"}, +] + +[package.dependencies] +click = "*" +joblib = "*" +regex = ">=2021.8.3" +tqdm = "*" + +[package.extras] +all = ["matplotlib", "numpy", "pyparsing", "python-crfsuite", "requests", "scikit-learn", "scipy", "twython"] +corenlp = ["requests"] +machine-learning = ["numpy", "python-crfsuite", "scikit-learn", "scipy"] +plot = ["matplotlib"] +tgrep = ["pyparsing"] +twitter = ["twython"] + +[[package]] +name = "numpy" +version = "1.26.4" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.9" +files = [ + {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, + {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"}, + {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"}, + {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"}, + {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"}, + {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"}, + {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"}, + {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"}, + {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"}, + {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"}, + {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, +] + [[package]] name = "orjson" version = "3.10.12" @@ -862,6 +976,78 @@ files = [ {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, ] +[[package]] +name = "pandas" +version = "2.2.2" +description = "Powerful data structures for data analysis, time series, and statistics" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pandas-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:90c6fca2acf139569e74e8781709dccb6fe25940488755716d1d354d6bc58bce"}, + {file = "pandas-2.2.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c7adfc142dac335d8c1e0dcbd37eb8617eac386596eb9e1a1b77791cf2498238"}, + {file = "pandas-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4abfe0be0d7221be4f12552995e58723c7422c80a659da13ca382697de830c08"}, + {file = "pandas-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8635c16bf3d99040fdf3ca3db669a7250ddf49c55dc4aa8fe0ae0fa8d6dcc1f0"}, + {file = "pandas-2.2.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:40ae1dffb3967a52203105a077415a86044a2bea011b5f321c6aa64b379a3f51"}, + {file = "pandas-2.2.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8e5a0b00e1e56a842f922e7fae8ae4077aee4af0acb5ae3622bd4b4c30aedf99"}, + {file = "pandas-2.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:ddf818e4e6c7c6f4f7c8a12709696d193976b591cc7dc50588d3d1a6b5dc8772"}, + {file = "pandas-2.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:696039430f7a562b74fa45f540aca068ea85fa34c244d0deee539cb6d70aa288"}, + {file = "pandas-2.2.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8e90497254aacacbc4ea6ae5e7a8cd75629d6ad2b30025a4a8b09aa4faf55151"}, + {file = "pandas-2.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58b84b91b0b9f4bafac2a0ac55002280c094dfc6402402332c0913a59654ab2b"}, + {file = "pandas-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d2123dc9ad6a814bcdea0f099885276b31b24f7edf40f6cdbc0912672e22eee"}, + {file = "pandas-2.2.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:2925720037f06e89af896c70bca73459d7e6a4be96f9de79e2d440bd499fe0db"}, + {file = "pandas-2.2.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0cace394b6ea70c01ca1595f839cf193df35d1575986e484ad35c4aeae7266c1"}, + {file = "pandas-2.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:873d13d177501a28b2756375d59816c365e42ed8417b41665f346289adc68d24"}, + {file = "pandas-2.2.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9dfde2a0ddef507a631dc9dc4af6a9489d5e2e740e226ad426a05cabfbd7c8ef"}, + {file = "pandas-2.2.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e9b79011ff7a0f4b1d6da6a61aa1aa604fb312d6647de5bad20013682d1429ce"}, + {file = "pandas-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1cb51fe389360f3b5a4d57dbd2848a5f033350336ca3b340d1c53a1fad33bcad"}, + {file = "pandas-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eee3a87076c0756de40b05c5e9a6069c035ba43e8dd71c379e68cab2c20f16ad"}, + {file = "pandas-2.2.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3e374f59e440d4ab45ca2fffde54b81ac3834cf5ae2cdfa69c90bc03bde04d76"}, + {file = "pandas-2.2.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:43498c0bdb43d55cb162cdc8c06fac328ccb5d2eabe3cadeb3529ae6f0517c32"}, + {file = "pandas-2.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:d187d355ecec3629624fccb01d104da7d7f391db0311145817525281e2804d23"}, + {file = "pandas-2.2.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0ca6377b8fca51815f382bd0b697a0814c8bda55115678cbc94c30aacbb6eff2"}, + {file = "pandas-2.2.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9057e6aa78a584bc93a13f0a9bf7e753a5e9770a30b4d758b8d5f2a62a9433cd"}, + {file = "pandas-2.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:001910ad31abc7bf06f49dcc903755d2f7f3a9186c0c040b827e522e9cef0863"}, + {file = "pandas-2.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66b479b0bd07204e37583c191535505410daa8df638fd8e75ae1b383851fe921"}, + {file = "pandas-2.2.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a77e9d1c386196879aa5eb712e77461aaee433e54c68cf253053a73b7e49c33a"}, + {file = "pandas-2.2.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:92fd6b027924a7e178ac202cfbe25e53368db90d56872d20ffae94b96c7acc57"}, + {file = "pandas-2.2.2-cp39-cp39-win_amd64.whl", hash = "sha256:640cef9aa381b60e296db324337a554aeeb883ead99dc8f6c18e81a93942f5f4"}, + {file = "pandas-2.2.2.tar.gz", hash = "sha256:9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54"}, +] + +[package.dependencies] +numpy = [ + {version = ">=1.22.4", markers = "python_version < \"3.11\""}, + {version = ">=1.23.2", markers = "python_version == \"3.11\""}, +] +python-dateutil = ">=2.8.2" +pytz = ">=2020.1" +tzdata = ">=2022.7" + +[package.extras] +all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"] +aws = ["s3fs (>=2022.11.0)"] +clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"] +compression = ["zstandard (>=0.19.0)"] +computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"] +consortium-standard = ["dataframe-api-compat (>=0.1.7)"] +excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"] +feather = ["pyarrow (>=10.0.1)"] +fss = ["fsspec (>=2022.11.0)"] +gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"] +hdf5 = ["tables (>=3.8.0)"] +html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"] +mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"] +output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"] +parquet = ["pyarrow (>=10.0.1)"] +performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"] +plot = ["matplotlib (>=3.6.3)"] +postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"] +pyarrow = ["pyarrow (>=10.0.1)"] +spss = ["pyreadstat (>=1.2.0)"] +sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"] +test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] +xml = ["lxml (>=4.9.2)"] + [[package]] name = "pendulum" version = "2.1.2" @@ -927,6 +1113,36 @@ files = [ dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] +[[package]] +name = "psutil" +version = "6.1.0" +description = "Cross-platform lib for process and system monitoring in Python." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ + {file = "psutil-6.1.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ff34df86226c0227c52f38b919213157588a678d049688eded74c76c8ba4a5d0"}, + {file = "psutil-6.1.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:c0e0c00aa18ca2d3b2b991643b799a15fc8f0563d2ebb6040f64ce8dc027b942"}, + {file = "psutil-6.1.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:000d1d1ebd634b4efb383f4034437384e44a6d455260aaee2eca1e9c1b55f047"}, + {file = "psutil-6.1.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:5cd2bcdc75b452ba2e10f0e8ecc0b57b827dd5d7aaffbc6821b2a9a242823a76"}, + {file = "psutil-6.1.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:045f00a43c737f960d273a83973b2511430d61f283a44c96bf13a6e829ba8fdc"}, + {file = "psutil-6.1.0-cp27-none-win32.whl", hash = "sha256:9118f27452b70bb1d9ab3198c1f626c2499384935aaf55388211ad982611407e"}, + {file = "psutil-6.1.0-cp27-none-win_amd64.whl", hash = "sha256:a8506f6119cff7015678e2bce904a4da21025cc70ad283a53b099e7620061d85"}, + {file = "psutil-6.1.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:6e2dcd475ce8b80522e51d923d10c7871e45f20918e027ab682f94f1c6351688"}, + {file = "psutil-6.1.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0895b8414afafc526712c498bd9de2b063deaac4021a3b3c34566283464aff8e"}, + {file = "psutil-6.1.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dcbfce5d89f1d1f2546a2090f4fcf87c7f669d1d90aacb7d7582addece9fb38"}, + {file = "psutil-6.1.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:498c6979f9c6637ebc3a73b3f87f9eb1ec24e1ce53a7c5173b8508981614a90b"}, + {file = "psutil-6.1.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d905186d647b16755a800e7263d43df08b790d709d575105d419f8b6ef65423a"}, + {file = "psutil-6.1.0-cp36-cp36m-win32.whl", hash = "sha256:6d3fbbc8d23fcdcb500d2c9f94e07b1342df8ed71b948a2649b5cb060a7c94ca"}, + {file = "psutil-6.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:1209036fbd0421afde505a4879dee3b2fd7b1e14fee81c0069807adcbbcca747"}, + {file = "psutil-6.1.0-cp37-abi3-win32.whl", hash = "sha256:1ad45a1f5d0b608253b11508f80940985d1d0c8f6111b5cb637533a0e6ddc13e"}, + {file = "psutil-6.1.0-cp37-abi3-win_amd64.whl", hash = "sha256:a8fb3752b491d246034fa4d279ff076501588ce8cbcdbb62c32fd7a377d996be"}, + {file = "psutil-6.1.0.tar.gz", hash = "sha256:353815f59a7f64cdaca1c0307ee13558a0512f6db064e92fe833784f08539c7a"}, +] + +[package.extras] +dev = ["black", "check-manifest", "coverage", "packaging", "pylint", "pyperf", "pypinfo", "pytest-cov", "requests", "rstcheck", "ruff", "sphinx", "sphinx_rtd_theme", "toml-sort", "twine", "virtualenv", "wheel"] +test = ["pytest", "pytest-xdist", "setuptools"] + [[package]] name = "py" version = "1.11.0" @@ -951,62 +1167,135 @@ files = [ [[package]] name = "pydantic" -version = "1.10.19" -description = "Data validation and settings management using python type hints" +version = "2.10.3" +description = "Data validation using Python type hints" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pydantic-1.10.19-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a415b9e95fa602b10808113967f72b2da8722061265d6af69268c111c254832d"}, - {file = "pydantic-1.10.19-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:11965f421f7eb026439d4eb7464e9182fe6d69c3d4d416e464a4485d1ba61ab6"}, - {file = "pydantic-1.10.19-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5bb81fcfc6d5bff62cd786cbd87480a11d23f16d5376ad2e057c02b3b44df96"}, - {file = "pydantic-1.10.19-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:83ee8c9916689f8e6e7d90161e6663ac876be2efd32f61fdcfa3a15e87d4e413"}, - {file = "pydantic-1.10.19-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:0399094464ae7f28482de22383e667625e38e1516d6b213176df1acdd0c477ea"}, - {file = "pydantic-1.10.19-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8b2cf5e26da84f2d2dee3f60a3f1782adedcee785567a19b68d0af7e1534bd1f"}, - {file = "pydantic-1.10.19-cp310-cp310-win_amd64.whl", hash = "sha256:1fc8cc264afaf47ae6a9bcbd36c018d0c6b89293835d7fb0e5e1a95898062d59"}, - {file = "pydantic-1.10.19-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d7a8a1dd68bac29f08f0a3147de1885f4dccec35d4ea926e6e637fac03cdb4b3"}, - {file = "pydantic-1.10.19-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:07d00ca5ef0de65dd274005433ce2bb623730271d495a7d190a91c19c5679d34"}, - {file = "pydantic-1.10.19-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad57004e5d73aee36f1e25e4e73a4bc853b473a1c30f652dc8d86b0a987ffce3"}, - {file = "pydantic-1.10.19-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dce355fe7ae53e3090f7f5fa242423c3a7b53260747aa398b4b3aaf8b25f41c3"}, - {file = "pydantic-1.10.19-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:0d32227ea9a3bf537a2273fd2fdb6d64ab4d9b83acd9e4e09310a777baaabb98"}, - {file = "pydantic-1.10.19-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e351df83d1c9cffa53d4e779009a093be70f1d5c6bb7068584086f6a19042526"}, - {file = "pydantic-1.10.19-cp311-cp311-win_amd64.whl", hash = "sha256:d8d72553d2f3f57ce547de4fa7dc8e3859927784ab2c88343f1fc1360ff17a08"}, - {file = "pydantic-1.10.19-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d5b5b7c6bafaef90cbb7dafcb225b763edd71d9e22489647ee7df49d6d341890"}, - {file = "pydantic-1.10.19-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:570ad0aeaf98b5e33ff41af75aba2ef6604ee25ce0431ecd734a28e74a208555"}, - {file = "pydantic-1.10.19-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0890fbd7fec9e151c7512941243d830b2d6076d5df159a2030952d480ab80a4e"}, - {file = "pydantic-1.10.19-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ec5c44e6e9eac5128a9bfd21610df3b8c6b17343285cc185105686888dc81206"}, - {file = "pydantic-1.10.19-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6eb56074b11a696e0b66c7181da682e88c00e5cebe6570af8013fcae5e63e186"}, - {file = "pydantic-1.10.19-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9d7d48fbc5289efd23982a0d68e973a1f37d49064ccd36d86de4543aff21e086"}, - {file = "pydantic-1.10.19-cp312-cp312-win_amd64.whl", hash = "sha256:fd34012691fbd4e67bdf4accb1f0682342101015b78327eaae3543583fcd451e"}, - {file = "pydantic-1.10.19-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4a5d5b877c7d3d9e17399571a8ab042081d22fe6904416a8b20f8af5909e6c8f"}, - {file = "pydantic-1.10.19-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c46f58ef2df958ed2ea7437a8be0897d5efe9ee480818405338c7da88186fb3"}, - {file = "pydantic-1.10.19-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d8a38a44bb6a15810084316ed69c854a7c06e0c99c5429f1d664ad52cec353c"}, - {file = "pydantic-1.10.19-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a82746c6d6e91ca17e75f7f333ed41d70fce93af520a8437821dec3ee52dfb10"}, - {file = "pydantic-1.10.19-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:566bebdbe6bc0ac593fa0f67d62febbad9f8be5433f686dc56401ba4aab034e3"}, - {file = "pydantic-1.10.19-cp37-cp37m-win_amd64.whl", hash = "sha256:22a1794e01591884741be56c6fba157c4e99dcc9244beb5a87bd4aa54b84ea8b"}, - {file = "pydantic-1.10.19-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:076c49e24b73d346c45f9282d00dbfc16eef7ae27c970583d499f11110d9e5b0"}, - {file = "pydantic-1.10.19-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5d4320510682d5a6c88766b2a286d03b87bd3562bf8d78c73d63bab04b21e7b4"}, - {file = "pydantic-1.10.19-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e66aa0fa7f8aa9d0a620361834f6eb60d01d3e9cea23ca1a92cda99e6f61dac"}, - {file = "pydantic-1.10.19-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d216f8d0484d88ab72ab45d699ac669fe031275e3fa6553e3804e69485449fa0"}, - {file = "pydantic-1.10.19-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:9f28a81978e936136c44e6a70c65bde7548d87f3807260f73aeffbf76fb94c2f"}, - {file = "pydantic-1.10.19-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d3449633c207ec3d2d672eedb3edbe753e29bd4e22d2e42a37a2c1406564c20f"}, - {file = "pydantic-1.10.19-cp38-cp38-win_amd64.whl", hash = "sha256:7ea24e8614f541d69ea72759ff635df0e612b7dc9d264d43f51364df310081a3"}, - {file = "pydantic-1.10.19-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:573254d844f3e64093f72fcd922561d9c5696821ff0900a0db989d8c06ab0c25"}, - {file = "pydantic-1.10.19-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ff09600cebe957ecbb4a27496fe34c1d449e7957ed20a202d5029a71a8af2e35"}, - {file = "pydantic-1.10.19-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4739c206bfb6bb2bdc78dcd40bfcebb2361add4ceac6d170e741bb914e9eff0f"}, - {file = "pydantic-1.10.19-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0bfb5b378b78229119d66ced6adac2e933c67a0aa1d0a7adffbe432f3ec14ce4"}, - {file = "pydantic-1.10.19-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7f31742c95e3f9443b8c6fa07c119623e61d76603be9c0d390bcf7e888acabcb"}, - {file = "pydantic-1.10.19-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c6444368b651a14c2ce2fb22145e1496f7ab23cbdb978590d47c8d34a7bc0289"}, - {file = "pydantic-1.10.19-cp39-cp39-win_amd64.whl", hash = "sha256:945407f4d08cd12485757a281fca0e5b41408606228612f421aa4ea1b63a095d"}, - {file = "pydantic-1.10.19-py3-none-any.whl", hash = "sha256:2206a1752d9fac011e95ca83926a269fb0ef5536f7e053966d058316e24d929f"}, - {file = "pydantic-1.10.19.tar.gz", hash = "sha256:fea36c2065b7a1d28c6819cc2e93387b43dd5d3cf5a1e82d8132ee23f36d1f10"}, + {file = "pydantic-2.10.3-py3-none-any.whl", hash = "sha256:be04d85bbc7b65651c5f8e6b9976ed9c6f41782a55524cef079a34a0bb82144d"}, + {file = "pydantic-2.10.3.tar.gz", hash = "sha256:cb5ac360ce894ceacd69c403187900a02c4b20b693a9dd1d643e1effab9eadf9"}, ] [package.dependencies] -typing-extensions = ">=4.2.0" +annotated-types = ">=0.6.0" +pydantic-core = "2.27.1" +typing-extensions = ">=4.12.2" [package.extras] -dotenv = ["python-dotenv (>=0.10.4)"] -email = ["email-validator (>=1.0.3)"] +email = ["email-validator (>=2.0.0)"] +timezone = ["tzdata"] + +[[package]] +name = "pydantic-core" +version = "2.27.1" +description = "Core functionality for Pydantic validation and serialization" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pydantic_core-2.27.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:71a5e35c75c021aaf400ac048dacc855f000bdfed91614b4a726f7432f1f3d6a"}, + {file = "pydantic_core-2.27.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f82d068a2d6ecfc6e054726080af69a6764a10015467d7d7b9f66d6ed5afa23b"}, + {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:121ceb0e822f79163dd4699e4c54f5ad38b157084d97b34de8b232bcaad70278"}, + {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4603137322c18eaf2e06a4495f426aa8d8388940f3c457e7548145011bb68e05"}, + {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a33cd6ad9017bbeaa9ed78a2e0752c5e250eafb9534f308e7a5f7849b0b1bfb4"}, + {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15cc53a3179ba0fcefe1e3ae50beb2784dede4003ad2dfd24f81bba4b23a454f"}, + {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45d9c5eb9273aa50999ad6adc6be5e0ecea7e09dbd0d31bd0c65a55a2592ca08"}, + {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8bf7b66ce12a2ac52d16f776b31d16d91033150266eb796967a7e4621707e4f6"}, + {file = "pydantic_core-2.27.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:655d7dd86f26cb15ce8a431036f66ce0318648f8853d709b4167786ec2fa4807"}, + {file = "pydantic_core-2.27.1-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:5556470f1a2157031e676f776c2bc20acd34c1990ca5f7e56f1ebf938b9ab57c"}, + {file = "pydantic_core-2.27.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f69ed81ab24d5a3bd93861c8c4436f54afdf8e8cc421562b0c7504cf3be58206"}, + {file = "pydantic_core-2.27.1-cp310-none-win32.whl", hash = "sha256:f5a823165e6d04ccea61a9f0576f345f8ce40ed533013580e087bd4d7442b52c"}, + {file = "pydantic_core-2.27.1-cp310-none-win_amd64.whl", hash = "sha256:57866a76e0b3823e0b56692d1a0bf722bffb324839bb5b7226a7dbd6c9a40b17"}, + {file = "pydantic_core-2.27.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:ac3b20653bdbe160febbea8aa6c079d3df19310d50ac314911ed8cc4eb7f8cb8"}, + {file = "pydantic_core-2.27.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a5a8e19d7c707c4cadb8c18f5f60c843052ae83c20fa7d44f41594c644a1d330"}, + {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f7059ca8d64fea7f238994c97d91f75965216bcbe5f695bb44f354893f11d52"}, + {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bed0f8a0eeea9fb72937ba118f9db0cb7e90773462af7962d382445f3005e5a4"}, + {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a3cb37038123447cf0f3ea4c74751f6a9d7afef0eb71aa07bf5f652b5e6a132c"}, + {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84286494f6c5d05243456e04223d5a9417d7f443c3b76065e75001beb26f88de"}, + {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acc07b2cfc5b835444b44a9956846b578d27beeacd4b52e45489e93276241025"}, + {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4fefee876e07a6e9aad7a8c8c9f85b0cdbe7df52b8a9552307b09050f7512c7e"}, + {file = "pydantic_core-2.27.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:258c57abf1188926c774a4c94dd29237e77eda19462e5bb901d88adcab6af919"}, + {file = "pydantic_core-2.27.1-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:35c14ac45fcfdf7167ca76cc80b2001205a8d5d16d80524e13508371fb8cdd9c"}, + {file = "pydantic_core-2.27.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d1b26e1dff225c31897696cab7d4f0a315d4c0d9e8666dbffdb28216f3b17fdc"}, + {file = "pydantic_core-2.27.1-cp311-none-win32.whl", hash = "sha256:2cdf7d86886bc6982354862204ae3b2f7f96f21a3eb0ba5ca0ac42c7b38598b9"}, + {file = "pydantic_core-2.27.1-cp311-none-win_amd64.whl", hash = "sha256:3af385b0cee8df3746c3f406f38bcbfdc9041b5c2d5ce3e5fc6637256e60bbc5"}, + {file = "pydantic_core-2.27.1-cp311-none-win_arm64.whl", hash = "sha256:81f2ec23ddc1b476ff96563f2e8d723830b06dceae348ce02914a37cb4e74b89"}, + {file = "pydantic_core-2.27.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9cbd94fc661d2bab2bc702cddd2d3370bbdcc4cd0f8f57488a81bcce90c7a54f"}, + {file = "pydantic_core-2.27.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5f8c4718cd44ec1580e180cb739713ecda2bdee1341084c1467802a417fe0f02"}, + {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15aae984e46de8d376df515f00450d1522077254ef6b7ce189b38ecee7c9677c"}, + {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ba5e3963344ff25fc8c40da90f44b0afca8cfd89d12964feb79ac1411a260ac"}, + {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:992cea5f4f3b29d6b4f7f1726ed8ee46c8331c6b4eed6db5b40134c6fe1768bb"}, + {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0325336f348dbee6550d129b1627cb8f5351a9dc91aad141ffb96d4937bd9529"}, + {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7597c07fbd11515f654d6ece3d0e4e5093edc30a436c63142d9a4b8e22f19c35"}, + {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3bbd5d8cc692616d5ef6fbbbd50dbec142c7e6ad9beb66b78a96e9c16729b089"}, + {file = "pydantic_core-2.27.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:dc61505e73298a84a2f317255fcc72b710b72980f3a1f670447a21efc88f8381"}, + {file = "pydantic_core-2.27.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:e1f735dc43da318cad19b4173dd1ffce1d84aafd6c9b782b3abc04a0d5a6f5bb"}, + {file = "pydantic_core-2.27.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f4e5658dbffe8843a0f12366a4c2d1c316dbe09bb4dfbdc9d2d9cd6031de8aae"}, + {file = "pydantic_core-2.27.1-cp312-none-win32.whl", hash = "sha256:672ebbe820bb37988c4d136eca2652ee114992d5d41c7e4858cdd90ea94ffe5c"}, + {file = "pydantic_core-2.27.1-cp312-none-win_amd64.whl", hash = "sha256:66ff044fd0bb1768688aecbe28b6190f6e799349221fb0de0e6f4048eca14c16"}, + {file = "pydantic_core-2.27.1-cp312-none-win_arm64.whl", hash = "sha256:9a3b0793b1bbfd4146304e23d90045f2a9b5fd5823aa682665fbdaf2a6c28f3e"}, + {file = "pydantic_core-2.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:f216dbce0e60e4d03e0c4353c7023b202d95cbaeff12e5fd2e82ea0a66905073"}, + {file = "pydantic_core-2.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a2e02889071850bbfd36b56fd6bc98945e23670773bc7a76657e90e6b6603c08"}, + {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42b0e23f119b2b456d07ca91b307ae167cc3f6c846a7b169fca5326e32fdc6cf"}, + {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:764be71193f87d460a03f1f7385a82e226639732214b402f9aa61f0d025f0737"}, + {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1c00666a3bd2f84920a4e94434f5974d7bbc57e461318d6bb34ce9cdbbc1f6b2"}, + {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ccaa88b24eebc0f849ce0a4d09e8a408ec5a94afff395eb69baf868f5183107"}, + {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c65af9088ac534313e1963443d0ec360bb2b9cba6c2909478d22c2e363d98a51"}, + {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:206b5cf6f0c513baffaeae7bd817717140770c74528f3e4c3e1cec7871ddd61a"}, + {file = "pydantic_core-2.27.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:062f60e512fc7fff8b8a9d680ff0ddaaef0193dba9fa83e679c0c5f5fbd018bc"}, + {file = "pydantic_core-2.27.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:a0697803ed7d4af5e4c1adf1670af078f8fcab7a86350e969f454daf598c4960"}, + {file = "pydantic_core-2.27.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:58ca98a950171f3151c603aeea9303ef6c235f692fe555e883591103da709b23"}, + {file = "pydantic_core-2.27.1-cp313-none-win32.whl", hash = "sha256:8065914ff79f7eab1599bd80406681f0ad08f8e47c880f17b416c9f8f7a26d05"}, + {file = "pydantic_core-2.27.1-cp313-none-win_amd64.whl", hash = "sha256:ba630d5e3db74c79300d9a5bdaaf6200172b107f263c98a0539eeecb857b2337"}, + {file = "pydantic_core-2.27.1-cp313-none-win_arm64.whl", hash = "sha256:45cf8588c066860b623cd11c4ba687f8d7175d5f7ef65f7129df8a394c502de5"}, + {file = "pydantic_core-2.27.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:5897bec80a09b4084aee23f9b73a9477a46c3304ad1d2d07acca19723fb1de62"}, + {file = "pydantic_core-2.27.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d0165ab2914379bd56908c02294ed8405c252250668ebcb438a55494c69f44ab"}, + {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b9af86e1d8e4cfc82c2022bfaa6f459381a50b94a29e95dcdda8442d6d83864"}, + {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f6c8a66741c5f5447e047ab0ba7a1c61d1e95580d64bce852e3df1f895c4067"}, + {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a42d6a8156ff78981f8aa56eb6394114e0dedb217cf8b729f438f643608cbcd"}, + {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64c65f40b4cd8b0e049a8edde07e38b476da7e3aaebe63287c899d2cff253fa5"}, + {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdcf339322a3fae5cbd504edcefddd5a50d9ee00d968696846f089b4432cf78"}, + {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bf99c8404f008750c846cb4ac4667b798a9f7de673ff719d705d9b2d6de49c5f"}, + {file = "pydantic_core-2.27.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8f1edcea27918d748c7e5e4d917297b2a0ab80cad10f86631e488b7cddf76a36"}, + {file = "pydantic_core-2.27.1-cp38-cp38-musllinux_1_1_armv7l.whl", hash = "sha256:159cac0a3d096f79ab6a44d77a961917219707e2a130739c64d4dd46281f5c2a"}, + {file = "pydantic_core-2.27.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:029d9757eb621cc6e1848fa0b0310310de7301057f623985698ed7ebb014391b"}, + {file = "pydantic_core-2.27.1-cp38-none-win32.whl", hash = "sha256:a28af0695a45f7060e6f9b7092558a928a28553366519f64083c63a44f70e618"}, + {file = "pydantic_core-2.27.1-cp38-none-win_amd64.whl", hash = "sha256:2d4567c850905d5eaaed2f7a404e61012a51caf288292e016360aa2b96ff38d4"}, + {file = "pydantic_core-2.27.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:e9386266798d64eeb19dd3677051f5705bf873e98e15897ddb7d76f477131967"}, + {file = "pydantic_core-2.27.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4228b5b646caa73f119b1ae756216b59cc6e2267201c27d3912b592c5e323b60"}, + {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b3dfe500de26c52abe0477dde16192ac39c98f05bf2d80e76102d394bd13854"}, + {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:aee66be87825cdf72ac64cb03ad4c15ffef4143dbf5c113f64a5ff4f81477bf9"}, + {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b748c44bb9f53031c8cbc99a8a061bc181c1000c60a30f55393b6e9c45cc5bd"}, + {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ca038c7f6a0afd0b2448941b6ef9d5e1949e999f9e5517692eb6da58e9d44be"}, + {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e0bd57539da59a3e4671b90a502da9a28c72322a4f17866ba3ac63a82c4498e"}, + {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ac6c2c45c847bbf8f91930d88716a0fb924b51e0c6dad329b793d670ec5db792"}, + {file = "pydantic_core-2.27.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b94d4ba43739bbe8b0ce4262bcc3b7b9f31459ad120fb595627eaeb7f9b9ca01"}, + {file = "pydantic_core-2.27.1-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:00e6424f4b26fe82d44577b4c842d7df97c20be6439e8e685d0d715feceb9fb9"}, + {file = "pydantic_core-2.27.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:38de0a70160dd97540335b7ad3a74571b24f1dc3ed33f815f0880682e6880131"}, + {file = "pydantic_core-2.27.1-cp39-none-win32.whl", hash = "sha256:7ccebf51efc61634f6c2344da73e366c75e735960b5654b63d7e6f69a5885fa3"}, + {file = "pydantic_core-2.27.1-cp39-none-win_amd64.whl", hash = "sha256:a57847b090d7892f123726202b7daa20df6694cbd583b67a592e856bff603d6c"}, + {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3fa80ac2bd5856580e242dbc202db873c60a01b20309c8319b5c5986fbe53ce6"}, + {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d950caa237bb1954f1b8c9227b5065ba6875ac9771bb8ec790d956a699b78676"}, + {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e4216e64d203e39c62df627aa882f02a2438d18a5f21d7f721621f7a5d3611d"}, + {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02a3d637bd387c41d46b002f0e49c52642281edacd2740e5a42f7017feea3f2c"}, + {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:161c27ccce13b6b0c8689418da3885d3220ed2eae2ea5e9b2f7f3d48f1d52c27"}, + {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:19910754e4cc9c63bc1c7f6d73aa1cfee82f42007e407c0f413695c2f7ed777f"}, + {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:e173486019cc283dc9778315fa29a363579372fe67045e971e89b6365cc035ed"}, + {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:af52d26579b308921b73b956153066481f064875140ccd1dfd4e77db89dbb12f"}, + {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:981fb88516bd1ae8b0cbbd2034678a39dedc98752f264ac9bc5839d3923fa04c"}, + {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5fde892e6c697ce3e30c61b239330fc5d569a71fefd4eb6512fc6caec9dd9e2f"}, + {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:816f5aa087094099fff7edabb5e01cc370eb21aa1a1d44fe2d2aefdfb5599b31"}, + {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c10c309e18e443ddb108f0ef64e8729363adbfd92d6d57beec680f6261556f3"}, + {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98476c98b02c8e9b2eec76ac4156fd006628b1b2d0ef27e548ffa978393fd154"}, + {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c3027001c28434e7ca5a6e1e527487051136aa81803ac812be51802150d880dd"}, + {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:7699b1df36a48169cdebda7ab5a2bac265204003f153b4bd17276153d997670a"}, + {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:1c39b07d90be6b48968ddc8c19e7585052088fd7ec8d568bb31ff64c70ae3c97"}, + {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:46ccfe3032b3915586e469d4972973f893c0a2bb65669194a5bdea9bacc088c2"}, + {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:62ba45e21cf6571d7f716d903b5b7b6d2617e2d5d67c0923dc47b9d41369f840"}, + {file = "pydantic_core-2.27.1.tar.gz", hash = "sha256:62a763352879b84aa31058fc931884055fd75089cccbd9d58bb6afd01141b235"}, +] + +[package.dependencies] +typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" [[package]] name = "pyjwt" @@ -1136,6 +1425,20 @@ files = [ [package.dependencies] six = ">=1.5" +[[package]] +name = "python-ulid" +version = "3.0.0" +description = "Universally unique lexicographically sortable identifier" +optional = false +python-versions = ">=3.9" +files = [ + {file = "python_ulid-3.0.0-py3-none-any.whl", hash = "sha256:e4c4942ff50dbd79167ad01ac725ec58f924b4018025ce22c858bfcff99a5e31"}, + {file = "python_ulid-3.0.0.tar.gz", hash = "sha256:e50296a47dc8209d28629a22fc81ca26c00982c78934bd7766377ba37ea49a9f"}, +] + +[package.extras] +pydantic = ["pydantic (>=2.0)"] + [[package]] name = "pytz" version = "2024.1" @@ -1220,6 +1523,209 @@ files = [ {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, ] +[[package]] +name = "rapidfuzz" +version = "3.10.1" +description = "rapid fuzzy string matching" +optional = false +python-versions = ">=3.9" +files = [ + {file = "rapidfuzz-3.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f17d9f21bf2f2f785d74f7b0d407805468b4c173fa3e52c86ec94436b338e74a"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b31f358a70efc143909fb3d75ac6cd3c139cd41339aa8f2a3a0ead8315731f2b"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f4f43f2204b56a61448ec2dd061e26fd344c404da99fb19f3458200c5874ba2"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9d81bf186a453a2757472133b24915768abc7c3964194406ed93e170e16c21cb"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3611c8f45379a12063d70075c75134f2a8bd2e4e9b8a7995112ddae95ca1c982"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3c3b537b97ac30da4b73930fa8a4fe2f79c6d1c10ad535c5c09726612cd6bed9"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:231ef1ec9cf7b59809ce3301006500b9d564ddb324635f4ea8f16b3e2a1780da"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ed4f3adc1294834955b7e74edd3c6bd1aad5831c007f2d91ea839e76461a5879"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:7b6015da2e707bf632a71772a2dbf0703cff6525732c005ad24987fe86e8ec32"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:1b35a118d61d6f008e8e3fb3a77674d10806a8972c7b8be433d6598df4d60b01"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:bc308d79a7e877226f36bdf4e149e3ed398d8277c140be5c1fd892ec41739e6d"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f017dbfecc172e2d0c37cf9e3d519179d71a7f16094b57430dffc496a098aa17"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-win32.whl", hash = "sha256:36c0e1483e21f918d0f2f26799fe5ac91c7b0c34220b73007301c4f831a9c4c7"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:10746c1d4c8cd8881c28a87fd7ba0c9c102346dfe7ff1b0d021cdf093e9adbff"}, + {file = "rapidfuzz-3.10.1-cp310-cp310-win_arm64.whl", hash = "sha256:dfa64b89dcb906835e275187569e51aa9d546a444489e97aaf2cc84011565fbe"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:92958ae075c87fef393f835ed02d4fe8d5ee2059a0934c6c447ea3417dfbf0e8"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ba7521e072c53e33c384e78615d0718e645cab3c366ecd3cc8cb732befd94967"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00d02cbd75d283c287471b5b3738b3e05c9096150f93f2d2dfa10b3d700f2db9"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:efa1582a397da038e2f2576c9cd49b842f56fde37d84a6b0200ffebc08d82350"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f12912acee1f506f974f58de9fdc2e62eea5667377a7e9156de53241c05fdba8"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666d5d8b17becc3f53447bcb2b6b33ce6c2df78792495d1fa82b2924cd48701a"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26f71582c0d62445067ee338ddad99b655a8f4e4ed517a90dcbfbb7d19310474"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8a2ef08b27167bcff230ffbfeedd4c4fa6353563d6aaa015d725dd3632fc3de7"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:365e4fc1a2b95082c890f5e98489b894e6bf8c338c6ac89bb6523c2ca6e9f086"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1996feb7a61609fa842e6b5e0c549983222ffdedaf29644cc67e479902846dfe"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:cf654702f144beaa093103841a2ea6910d617d0bb3fccb1d1fd63c54dde2cd49"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ec108bf25de674781d0a9a935030ba090c78d49def3d60f8724f3fc1e8e75024"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-win32.whl", hash = "sha256:031f8b367e5d92f7a1e27f7322012f3c321c3110137b43cc3bf678505583ef48"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:f98f36c6a1bb9a6c8bbec99ad87c8c0e364f34761739b5ea9adf7b48129ae8cf"}, + {file = "rapidfuzz-3.10.1-cp311-cp311-win_arm64.whl", hash = "sha256:f1da2028cb4e41be55ee797a82d6c1cf589442504244249dfeb32efc608edee7"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:1340b56340896bede246f612b6ecf685f661a56aabef3d2512481bfe23ac5835"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2316515169b7b5a453f0ce3adbc46c42aa332cae9f2edb668e24d1fc92b2f2bb"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e06fe6a12241ec1b72c0566c6b28cda714d61965d86569595ad24793d1ab259"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d99c1cd9443b19164ec185a7d752f4b4db19c066c136f028991a480720472e23"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1d9aa156ed52d3446388ba4c2f335e312191d1ca9d1f5762ee983cf23e4ecf6"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:54bcf4efaaee8e015822be0c2c28214815f4f6b4f70d8362cfecbd58a71188ac"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0c955e32afdbfdf6e9ee663d24afb25210152d98c26d22d399712d29a9b976b"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:191633722203f5b7717efcb73a14f76f3b124877d0608c070b827c5226d0b972"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:195baad28057ec9609e40385991004e470af9ef87401e24ebe72c064431524ab"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0fff4a6b87c07366662b62ae994ffbeadc472e72f725923f94b72a3db49f4671"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4ffed25f9fdc0b287f30a98467493d1e1ce5b583f6317f70ec0263b3c97dbba6"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d02cf8e5af89a9ac8f53c438ddff6d773f62c25c6619b29db96f4aae248177c0"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-win32.whl", hash = "sha256:f3bb81d4fe6a5d20650f8c0afcc8f6e1941f6fecdb434f11b874c42467baded0"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:aaf83e9170cb1338922ae42d320699dccbbdca8ffed07faeb0b9257822c26e24"}, + {file = "rapidfuzz-3.10.1-cp312-cp312-win_arm64.whl", hash = "sha256:c5da802a0d085ad81b0f62828fb55557996c497b2d0b551bbdfeafd6d447892f"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fc22d69a1c9cccd560a5c434c0371b2df0f47c309c635a01a913e03bbf183710"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:38b0dac2c8e057562b8f0d8ae5b663d2d6a28c5ab624de5b73cef9abb6129a24"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fde3bbb14e92ce8fcb5c2edfff72e474d0080cadda1c97785bf4822f037a309"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9141fb0592e55f98fe9ac0f3ce883199b9c13e262e0bf40c5b18cdf926109d16"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:237bec5dd1bfc9b40bbd786cd27949ef0c0eb5fab5eb491904c6b5df59d39d3c"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18123168cba156ab5794ea6de66db50f21bb3c66ae748d03316e71b27d907b95"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b75fe506c8e02769cc47f5ab21ce3e09b6211d3edaa8f8f27331cb6988779be"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9da82aa4b46973aaf9e03bb4c3d6977004648c8638febfc0f9d237e865761270"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c34c022d5ad564f1a5a57a4a89793bd70d7bad428150fb8ff2760b223407cdcf"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:1e96c84d6c2a0ca94e15acb5399118fff669f4306beb98a6d8ec6f5dccab4412"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e8e154b84a311263e1aca86818c962e1fa9eefdd643d1d5d197fcd2738f88cb9"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:335fee93188f8cd585552bb8057228ce0111bd227fa81bfd40b7df6b75def8ab"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-win32.whl", hash = "sha256:6729b856166a9e95c278410f73683957ea6100c8a9d0a8dbe434c49663689255"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-win_amd64.whl", hash = "sha256:0e06d99ad1ad97cb2ef7f51ec6b1fedd74a3a700e4949353871cf331d07b382a"}, + {file = "rapidfuzz-3.10.1-cp313-cp313-win_arm64.whl", hash = "sha256:8d1b7082104d596a3eb012e0549b2634ed15015b569f48879701e9d8db959dbb"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:779027d3307e1a2b1dc0c03c34df87a470a368a1a0840a9d2908baf2d4067956"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:440b5608ab12650d0390128d6858bc839ae77ffe5edf0b33a1551f2fa9860651"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82cac41a411e07a6f3dc80dfbd33f6be70ea0abd72e99c59310819d09f07d945"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:958473c9f0bca250590200fd520b75be0dbdbc4a7327dc87a55b6d7dc8d68552"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9ef60dfa73749ef91cb6073be1a3e135f4846ec809cc115f3cbfc6fe283a5584"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7fbac18f2c19fc983838a60611e67e3262e36859994c26f2ee85bb268de2355"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a0d519ff39db887cd73f4e297922786d548f5c05d6b51f4e6754f452a7f4296"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:bebb7bc6aeb91cc57e4881b222484c26759ca865794187217c9dcea6c33adae6"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:fe07f8b9c3bb5c5ad1d2c66884253e03800f4189a60eb6acd6119ebaf3eb9894"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:bfa48a4a2d45a41457f0840c48e579db157a927f4e97acf6e20df8fc521c79de"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2cf44d01bfe8ee605b7eaeecbc2b9ca64fc55765f17b304b40ed8995f69d7716"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e6bbca9246d9eedaa1c84e04a7f555493ba324d52ae4d9f3d9ddd1b740dcd87"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-win32.whl", hash = "sha256:567f88180f2c1423b4fe3f3ad6e6310fc97b85bdba574801548597287fc07028"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:6b2cd7c29d6ecdf0b780deb587198f13213ac01c430ada6913452fd0c40190fc"}, + {file = "rapidfuzz-3.10.1-cp39-cp39-win_arm64.whl", hash = "sha256:9f912d459e46607ce276128f52bea21ebc3e9a5ccf4cccfef30dd5bddcf47be8"}, + {file = "rapidfuzz-3.10.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ac4452f182243cfab30ba4668ef2de101effaedc30f9faabb06a095a8c90fd16"}, + {file = "rapidfuzz-3.10.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:565c2bd4f7d23c32834652b27b51dd711814ab614b4e12add8476be4e20d1cf5"}, + {file = "rapidfuzz-3.10.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187d9747149321607be4ccd6f9f366730078bed806178ec3eeb31d05545e9e8f"}, + {file = "rapidfuzz-3.10.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:616290fb9a8fa87e48cb0326d26f98d4e29f17c3b762c2d586f2b35c1fd2034b"}, + {file = "rapidfuzz-3.10.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:073a5b107e17ebd264198b78614c0206fa438cce749692af5bc5f8f484883f50"}, + {file = "rapidfuzz-3.10.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:39c4983e2e2ccb9732f3ac7d81617088822f4a12291d416b09b8a1eadebb3e29"}, + {file = "rapidfuzz-3.10.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ac7adee6bcf0c6fee495d877edad1540a7e0f5fc208da03ccb64734b43522d7a"}, + {file = "rapidfuzz-3.10.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:425f4ac80b22153d391ee3f94bc854668a0c6c129f05cf2eaf5ee74474ddb69e"}, + {file = "rapidfuzz-3.10.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65a2fa13e8a219f9b5dcb9e74abe3ced5838a7327e629f426d333dfc8c5a6e66"}, + {file = "rapidfuzz-3.10.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:75561f3df9a906aaa23787e9992b228b1ab69007932dc42070f747103e177ba8"}, + {file = "rapidfuzz-3.10.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:edd062490537e97ca125bc6c7f2b7331c2b73d21dc304615afe61ad1691e15d5"}, + {file = "rapidfuzz-3.10.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfcc8feccf63245a22dfdd16e222f1a39771a44b870beb748117a0e09cbb4a62"}, + {file = "rapidfuzz-3.10.1.tar.gz", hash = "sha256:5a15546d847a915b3f42dc79ef9b0c78b998b4e2c53b252e7166284066585979"}, +] + +[package.extras] +all = ["numpy"] + +[[package]] +name = "regex" +version = "2024.11.6" +description = "Alternative regular expression module, to replace re." +optional = false +python-versions = ">=3.8" +files = [ + {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91"}, + {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0"}, + {file = "regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62"}, + {file = "regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e"}, + {file = "regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519"}, + {file = "regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638"}, + {file = "regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7"}, + {file = "regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45"}, + {file = "regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9"}, + {file = "regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60"}, + {file = "regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a"}, + {file = "regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9"}, + {file = "regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad"}, + {file = "regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54"}, + {file = "regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b"}, + {file = "regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84"}, + {file = "regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4"}, + {file = "regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d"}, + {file = "regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff"}, + {file = "regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a"}, + {file = "regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b"}, + {file = "regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3"}, + {file = "regex-2024.11.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f"}, + {file = "regex-2024.11.6-cp38-cp38-win32.whl", hash = "sha256:6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4"}, + {file = "regex-2024.11.6-cp38-cp38-win_amd64.whl", hash = "sha256:bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001"}, + {file = "regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839"}, + {file = "regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e"}, + {file = "regex-2024.11.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b"}, + {file = "regex-2024.11.6-cp39-cp39-win32.whl", hash = "sha256:41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57"}, + {file = "regex-2024.11.6-cp39-cp39-win_amd64.whl", hash = "sha256:b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983"}, + {file = "regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519"}, +] + [[package]] name = "requests" version = "2.32.3" @@ -1286,24 +1792,58 @@ files = [ requests = ">=2.0.1,<3.0.0" [[package]] -name = "setuptools" -version = "75.6.0" -description = "Easily download, build, install, upgrade, and uninstall Python packages" +name = "serpyco-rs" +version = "1.11.0" +description = "" optional = false python-versions = ">=3.9" files = [ - {file = "setuptools-75.6.0-py3-none-any.whl", hash = "sha256:ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d"}, - {file = "setuptools-75.6.0.tar.gz", hash = "sha256:8199222558df7c86216af4f84c30e9b34a61d8ba19366cc914424cdbd28252f6"}, + {file = "serpyco_rs-1.11.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:4b2bd933539bd8c84315e2fb5ae52ef7a58ace5a6dfe3f8b73f74dc71216779e"}, + {file = "serpyco_rs-1.11.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:627f957889ff73c4d2269fc7b6bba93212381befe03633e7cb5495de66ba9a33"}, + {file = "serpyco_rs-1.11.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b0933620abc01434023e0e3e22255b7e4ab9b427b5a9a5ee00834656d792377a"}, + {file = "serpyco_rs-1.11.0-cp310-cp310-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:9ce46683d92e34abb20304817fc5ac6cb141a06fc7468dedb1d8865a8a9682f6"}, + {file = "serpyco_rs-1.11.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bda437d86e8859bf91c189c1f4650899822f6d6d7b02b48f5729da904eb7bb7d"}, + {file = "serpyco_rs-1.11.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a72bfbd282af17ebe76d122639013e802c09902543fdbbd828fb2159ec9755e"}, + {file = "serpyco_rs-1.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d4808df5384e3e8581e31a90ba7a1fa501c0837b1f174284bb8a4555b6864ea"}, + {file = "serpyco_rs-1.11.0-cp310-none-win_amd64.whl", hash = "sha256:c7b60aef4c16d68efb0d6241f05d0a434d873d98449cbb4366b0d385f0a7172b"}, + {file = "serpyco_rs-1.11.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:8d47ee577cf4d69b53917615cb031ad8708eb2f59fe78194b1968c13130fc2f7"}, + {file = "serpyco_rs-1.11.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6090d9a1487237cdd4e9362a823eede23249602019b917e7bd57846179286e79"}, + {file = "serpyco_rs-1.11.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7192eb3df576386fefd595ea31ae25c62522841ffec7e7aeb37a80b55bdc3213"}, + {file = "serpyco_rs-1.11.0-cp311-cp311-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:b52ef8affb7e71b9b98a7d5216d6a7ad03b04e990acb147cd9211c8b931c5487"}, + {file = "serpyco_rs-1.11.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3480e09e473560c60e74aaa789e6b4d079637371aae0a98235440111464bbba7"}, + {file = "serpyco_rs-1.11.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c92e36b0ab6fe866601c2331f7e99c809a126d21963c03d8a5c29331526deed"}, + {file = "serpyco_rs-1.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84f497361952d4566bc1f77e9e15a84a2614f593cc671fbf0a0fa80046f9c3d7"}, + {file = "serpyco_rs-1.11.0-cp311-none-win_amd64.whl", hash = "sha256:37fc1cf192bef9784fbf1f4e03cec21750b9e704bef55cc0442f71a715eee920"}, + {file = "serpyco_rs-1.11.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:3ea93d485f03dc8b0cfb0d477f0ad2e86e78f0461b53010656ab5b4db1b41fb0"}, + {file = "serpyco_rs-1.11.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7772410d15694b03f9c5500a2c47d62eed76e191bea4087ad042250346b1a38e"}, + {file = "serpyco_rs-1.11.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42118463c1679846cffd2f06f47744c9b9eb33c5d0448afd88ea19e1a81a8ddd"}, + {file = "serpyco_rs-1.11.0-cp312-cp312-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:79481a455b76cc56021dc55bb6d5bdda1b2b32bcb6a1ee711b597140d112e9b1"}, + {file = "serpyco_rs-1.11.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c8fd79051f9af9591fc03cf7d3033ff180416301f6a4fd3d1e3d92ebd2d68697"}, + {file = "serpyco_rs-1.11.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d29c8f9aeed734a3b51f7349d04ec9063516ffa4e10b632d75e9b1309e4930e4"}, + {file = "serpyco_rs-1.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15609158b0d9591ffa118302cd9d0039970cb3faf91dce32975f7d276e7411d5"}, + {file = "serpyco_rs-1.11.0-cp312-none-win_amd64.whl", hash = "sha256:00081eae77fbf4c5d88371c5586317ab02ccb293a330b460869a283edf2b7b69"}, + {file = "serpyco_rs-1.11.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:3028893366a1985adcedb13fa8f6f98c087c185efc427f94c2ccdafa40f45832"}, + {file = "serpyco_rs-1.11.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c18bf511316f3abf648a68ee62ef88617bec57d3fcde69466b4361102715ae5"}, + {file = "serpyco_rs-1.11.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e7dde9ef09cdfaf7c62378186b9e29f54ec76114be4c347be6a06dd559c5681e"}, + {file = "serpyco_rs-1.11.0-cp313-cp313-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:18500ebc5e75285841e35585a238629a990b709e14f68933233640d15ca17d5f"}, + {file = "serpyco_rs-1.11.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f47c23132d4e03982703a7630aa09877b41e499722142f76b6153f6619b612f3"}, + {file = "serpyco_rs-1.11.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5f8e6ba499f6a0825bee0d8f8764569d367af871b563fc6512c171474e8e5383"}, + {file = "serpyco_rs-1.11.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15438a076047c34cff6601a977df54948e8d39d1a86f89d05c48bc60f4c12a61"}, + {file = "serpyco_rs-1.11.0-cp313-none-win_amd64.whl", hash = "sha256:84ee2c109415bd81904fc9abb9aec86a5dd13166808c21142cf23ec639f683bd"}, + {file = "serpyco_rs-1.11.0-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:5c97c16c865261577fac4effeccc7ef5e0a1e8e35e7a3ee6c90c77c3a4cd7ff9"}, + {file = "serpyco_rs-1.11.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47825e70f86fd6ef7c4a835dea3d6e8eef4fee354ed7b39ced99f31aba74a86e"}, + {file = "serpyco_rs-1.11.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:24d220220365110edba2f778f41ab3cf396883da0f26e1361a3ada9bd0227f73"}, + {file = "serpyco_rs-1.11.0-cp39-cp39-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:3a46f334af5a9d77acc6e1e58f355ae497900a2798929371f0545e274f6e6166"}, + {file = "serpyco_rs-1.11.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:29d72b748acce4b4e3c7c9724e1eb33d033a1c26b08a698b393e0288060e0901"}, + {file = "serpyco_rs-1.11.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e2b8b6f205e8cc038d4d30dd0e70eece7bbecc816eb2f3787c330dc2218e232d"}, + {file = "serpyco_rs-1.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:038d748bfff31f150f0c3edab2766b8843edb952cb1bd3bf547886beb0912dae"}, + {file = "serpyco_rs-1.11.0-cp39-none-win_amd64.whl", hash = "sha256:0fee1c89ec2cb013dc232e4ebef88e2844357ce8631063b56639dbfb83762f20"}, + {file = "serpyco_rs-1.11.0.tar.gz", hash = "sha256:70a844615ffb229e6e89c204b3ab7404aacaf2838911814c7d847969b8da2e3a"}, ] -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.7.0)"] -core = ["importlib_metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] -cover = ["pytest-cov"] -doc = ["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", "towncrier (<24.7)"] -enabler = ["pytest-enabler (>=2.2)"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] -type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (>=1.12,<1.14)", "pytest-mypy"] +[package.dependencies] +attributes-doc = "*" +typing-extensions = "*" [[package]] name = "six" @@ -1353,6 +1893,27 @@ files = [ {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, ] +[[package]] +name = "tqdm" +version = "4.67.1" +description = "Fast, Extensible Progress Meter" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2"}, + {file = "tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[package.extras] +dev = ["nbval", "pytest (>=6)", "pytest-asyncio (>=0.24)", "pytest-cov", "pytest-timeout"] +discord = ["requests"] +notebook = ["ipywidgets (>=6)"] +slack = ["slack-sdk"] +telegram = ["requests"] + [[package]] name = "typing-extensions" version = "4.12.2" @@ -1364,6 +1925,17 @@ files = [ {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] +[[package]] +name = "tzdata" +version = "2024.2" +description = "Provider of IANA time zone data" +optional = false +python-versions = ">=2" +files = [ + {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, + {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, +] + [[package]] name = "url-normalize" version = "1.4.3" @@ -1397,93 +1969,30 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "wcmatch" -version = "8.4" +version = "10.0" description = "Wildcard/glob file name matcher." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "wcmatch-8.4-py3-none-any.whl", hash = "sha256:dc7351e5a7f8bbf4c6828d51ad20c1770113f5f3fd3dfe2a03cfde2a63f03f98"}, - {file = "wcmatch-8.4.tar.gz", hash = "sha256:ba4fc5558f8946bf1ffc7034b05b814d825d694112499c86035e0e4d398b6a67"}, + {file = "wcmatch-10.0-py3-none-any.whl", hash = "sha256:0dd927072d03c0a6527a20d2e6ad5ba8d0380e60870c383bc533b71744df7b7a"}, + {file = "wcmatch-10.0.tar.gz", hash = "sha256:e72f0de09bba6a04e0de70937b0cf06e55f36f37b3deb422dfaf854b867b840a"}, ] [package.dependencies] bracex = ">=2.1.1" [[package]] -name = "wrapt" -version = "1.17.0" -description = "Module for decorators, wrappers and monkey patching." +name = "xmltodict" +version = "0.13.0" +description = "Makes working with XML feel like you are working with JSON" optional = false -python-versions = ">=3.8" +python-versions = ">=3.4" files = [ - {file = "wrapt-1.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2a0c23b8319848426f305f9cb0c98a6e32ee68a36264f45948ccf8e7d2b941f8"}, - {file = "wrapt-1.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1ca5f060e205f72bec57faae5bd817a1560fcfc4af03f414b08fa29106b7e2d"}, - {file = "wrapt-1.17.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e185ec6060e301a7e5f8461c86fb3640a7beb1a0f0208ffde7a65ec4074931df"}, - {file = "wrapt-1.17.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb90765dd91aed05b53cd7a87bd7f5c188fcd95960914bae0d32c5e7f899719d"}, - {file = "wrapt-1.17.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:879591c2b5ab0a7184258274c42a126b74a2c3d5a329df16d69f9cee07bba6ea"}, - {file = "wrapt-1.17.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fce6fee67c318fdfb7f285c29a82d84782ae2579c0e1b385b7f36c6e8074fffb"}, - {file = "wrapt-1.17.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0698d3a86f68abc894d537887b9bbf84d29bcfbc759e23f4644be27acf6da301"}, - {file = "wrapt-1.17.0-cp310-cp310-win32.whl", hash = "sha256:69d093792dc34a9c4c8a70e4973a3361c7a7578e9cd86961b2bbf38ca71e4e22"}, - {file = "wrapt-1.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:f28b29dc158ca5d6ac396c8e0a2ef45c4e97bb7e65522bfc04c989e6fe814575"}, - {file = "wrapt-1.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:74bf625b1b4caaa7bad51d9003f8b07a468a704e0644a700e936c357c17dd45a"}, - {file = "wrapt-1.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f2a28eb35cf99d5f5bd12f5dd44a0f41d206db226535b37b0c60e9da162c3ed"}, - {file = "wrapt-1.17.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:81b1289e99cf4bad07c23393ab447e5e96db0ab50974a280f7954b071d41b489"}, - {file = "wrapt-1.17.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f2939cd4a2a52ca32bc0b359015718472d7f6de870760342e7ba295be9ebaf9"}, - {file = "wrapt-1.17.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6a9653131bda68a1f029c52157fd81e11f07d485df55410401f745007bd6d339"}, - {file = "wrapt-1.17.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4e4b4385363de9052dac1a67bfb535c376f3d19c238b5f36bddc95efae15e12d"}, - {file = "wrapt-1.17.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bdf62d25234290db1837875d4dceb2151e4ea7f9fff2ed41c0fde23ed542eb5b"}, - {file = "wrapt-1.17.0-cp311-cp311-win32.whl", hash = "sha256:5d8fd17635b262448ab8f99230fe4dac991af1dabdbb92f7a70a6afac8a7e346"}, - {file = "wrapt-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:92a3d214d5e53cb1db8b015f30d544bc9d3f7179a05feb8f16df713cecc2620a"}, - {file = "wrapt-1.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:89fc28495896097622c3fc238915c79365dd0ede02f9a82ce436b13bd0ab7569"}, - {file = "wrapt-1.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:875d240fdbdbe9e11f9831901fb8719da0bd4e6131f83aa9f69b96d18fae7504"}, - {file = "wrapt-1.17.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5ed16d95fd142e9c72b6c10b06514ad30e846a0d0917ab406186541fe68b451"}, - {file = "wrapt-1.17.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18b956061b8db634120b58f668592a772e87e2e78bc1f6a906cfcaa0cc7991c1"}, - {file = "wrapt-1.17.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:daba396199399ccabafbfc509037ac635a6bc18510ad1add8fd16d4739cdd106"}, - {file = "wrapt-1.17.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4d63f4d446e10ad19ed01188d6c1e1bb134cde8c18b0aa2acfd973d41fcc5ada"}, - {file = "wrapt-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8a5e7cc39a45fc430af1aefc4d77ee6bad72c5bcdb1322cfde852c15192b8bd4"}, - {file = "wrapt-1.17.0-cp312-cp312-win32.whl", hash = "sha256:0a0a1a1ec28b641f2a3a2c35cbe86c00051c04fffcfcc577ffcdd707df3f8635"}, - {file = "wrapt-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:3c34f6896a01b84bab196f7119770fd8466c8ae3dfa73c59c0bb281e7b588ce7"}, - {file = "wrapt-1.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:714c12485aa52efbc0fc0ade1e9ab3a70343db82627f90f2ecbc898fdf0bb181"}, - {file = "wrapt-1.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da427d311782324a376cacb47c1a4adc43f99fd9d996ffc1b3e8529c4074d393"}, - {file = "wrapt-1.17.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba1739fb38441a27a676f4de4123d3e858e494fac05868b7a281c0a383c098f4"}, - {file = "wrapt-1.17.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e711fc1acc7468463bc084d1b68561e40d1eaa135d8c509a65dd534403d83d7b"}, - {file = "wrapt-1.17.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:140ea00c87fafc42739bd74a94a5a9003f8e72c27c47cd4f61d8e05e6dec8721"}, - {file = "wrapt-1.17.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:73a96fd11d2b2e77d623a7f26e004cc31f131a365add1ce1ce9a19e55a1eef90"}, - {file = "wrapt-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0b48554952f0f387984da81ccfa73b62e52817a4386d070c75e4db7d43a28c4a"}, - {file = "wrapt-1.17.0-cp313-cp313-win32.whl", hash = "sha256:498fec8da10e3e62edd1e7368f4b24aa362ac0ad931e678332d1b209aec93045"}, - {file = "wrapt-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:fd136bb85f4568fffca995bd3c8d52080b1e5b225dbf1c2b17b66b4c5fa02838"}, - {file = "wrapt-1.17.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:17fcf043d0b4724858f25b8826c36e08f9fb2e475410bece0ec44a22d533da9b"}, - {file = "wrapt-1.17.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4a557d97f12813dc5e18dad9fa765ae44ddd56a672bb5de4825527c847d6379"}, - {file = "wrapt-1.17.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0229b247b0fc7dee0d36176cbb79dbaf2a9eb7ecc50ec3121f40ef443155fb1d"}, - {file = "wrapt-1.17.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8425cfce27b8b20c9b89d77fb50e368d8306a90bf2b6eef2cdf5cd5083adf83f"}, - {file = "wrapt-1.17.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9c900108df470060174108012de06d45f514aa4ec21a191e7ab42988ff42a86c"}, - {file = "wrapt-1.17.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:4e547b447073fc0dbfcbff15154c1be8823d10dab4ad401bdb1575e3fdedff1b"}, - {file = "wrapt-1.17.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:914f66f3b6fc7b915d46c1cc424bc2441841083de01b90f9e81109c9759e43ab"}, - {file = "wrapt-1.17.0-cp313-cp313t-win32.whl", hash = "sha256:a4192b45dff127c7d69b3bdfb4d3e47b64179a0b9900b6351859f3001397dabf"}, - {file = "wrapt-1.17.0-cp313-cp313t-win_amd64.whl", hash = "sha256:4f643df3d4419ea3f856c5c3f40fec1d65ea2e89ec812c83f7767c8730f9827a"}, - {file = "wrapt-1.17.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:69c40d4655e078ede067a7095544bcec5a963566e17503e75a3a3e0fe2803b13"}, - {file = "wrapt-1.17.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f495b6754358979379f84534f8dd7a43ff8cff2558dcdea4a148a6e713a758f"}, - {file = "wrapt-1.17.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:baa7ef4e0886a6f482e00d1d5bcd37c201b383f1d314643dfb0367169f94f04c"}, - {file = "wrapt-1.17.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8fc931382e56627ec4acb01e09ce66e5c03c384ca52606111cee50d931a342d"}, - {file = "wrapt-1.17.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8f8909cdb9f1b237786c09a810e24ee5e15ef17019f7cecb207ce205b9b5fcce"}, - {file = "wrapt-1.17.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ad47b095f0bdc5585bced35bd088cbfe4177236c7df9984b3cc46b391cc60627"}, - {file = "wrapt-1.17.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:948a9bd0fb2c5120457b07e59c8d7210cbc8703243225dbd78f4dfc13c8d2d1f"}, - {file = "wrapt-1.17.0-cp38-cp38-win32.whl", hash = "sha256:5ae271862b2142f4bc687bdbfcc942e2473a89999a54231aa1c2c676e28f29ea"}, - {file = "wrapt-1.17.0-cp38-cp38-win_amd64.whl", hash = "sha256:f335579a1b485c834849e9075191c9898e0731af45705c2ebf70e0cd5d58beed"}, - {file = "wrapt-1.17.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d751300b94e35b6016d4b1e7d0e7bbc3b5e1751e2405ef908316c2a9024008a1"}, - {file = "wrapt-1.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7264cbb4a18dc4acfd73b63e4bcfec9c9802614572025bdd44d0721983fc1d9c"}, - {file = "wrapt-1.17.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:33539c6f5b96cf0b1105a0ff4cf5db9332e773bb521cc804a90e58dc49b10578"}, - {file = "wrapt-1.17.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c30970bdee1cad6a8da2044febd824ef6dc4cc0b19e39af3085c763fdec7de33"}, - {file = "wrapt-1.17.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:bc7f729a72b16ee21795a943f85c6244971724819819a41ddbaeb691b2dd85ad"}, - {file = "wrapt-1.17.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:6ff02a91c4fc9b6a94e1c9c20f62ea06a7e375f42fe57587f004d1078ac86ca9"}, - {file = "wrapt-1.17.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2dfb7cff84e72e7bf975b06b4989477873dcf160b2fd89959c629535df53d4e0"}, - {file = "wrapt-1.17.0-cp39-cp39-win32.whl", hash = "sha256:2399408ac33ffd5b200480ee858baa58d77dd30e0dd0cab6a8a9547135f30a88"}, - {file = "wrapt-1.17.0-cp39-cp39-win_amd64.whl", hash = "sha256:4f763a29ee6a20c529496a20a7bcb16a73de27f5da6a843249c7047daf135977"}, - {file = "wrapt-1.17.0-py3-none-any.whl", hash = "sha256:d2c63b93548eda58abf5188e505ffed0229bf675f7c3090f8e36ad55b8cbc371"}, - {file = "wrapt-1.17.0.tar.gz", hash = "sha256:16187aa2317c731170a88ef35e8937ae0f533c402872c1ee5e6d079fcf320801"}, + {file = "xmltodict-0.13.0-py2.py3-none-any.whl", hash = "sha256:aa89e8fd76320154a40d19a0df04a4695fb9dc5ba977cbb68ab3e4eb225e7852"}, + {file = "xmltodict-0.13.0.tar.gz", hash = "sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56"}, ] [metadata] lock-version = "2.0" -python-versions = "^3.9,<3.12" -content-hash = "b45c7da2b07fd3a9a79c2ffac21f4db7af48b0884a6e1c9f41f17035161a5fab" +python-versions = "^3.10,<3.12" +content-hash = "8060c30cd8661d53311681f3681fba0d293f827a08512361393d1721da608a67" diff --git a/airbyte-integrations/connectors/source-pipedrive/pyproject.toml b/airbyte-integrations/connectors/source-pipedrive/pyproject.toml index 97c49ff2b661..588cb5d6444d 100644 --- a/airbyte-integrations/connectors/source-pipedrive/pyproject.toml +++ b/airbyte-integrations/connectors/source-pipedrive/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "2.2.28" +version = "2.3.0" name = "source-pipedrive" description = "Source implementation for Pipedrive." authors = [ "Airbyte ",] @@ -16,8 +16,8 @@ repository = "https://github.com/airbytehq/airbyte" include = "source_pipedrive" [tool.poetry.dependencies] -python = "^3.9,<3.12" -airbyte-cdk = "^0" +python = "^3.10,<3.12" +airbyte-cdk = "^6" [tool.poetry.scripts] source-pipedrive = "source_pipedrive.run:run" diff --git a/airbyte-integrations/connectors/source-pipedrive/source_pipedrive/manifest.yaml b/airbyte-integrations/connectors/source-pipedrive/source_pipedrive/manifest.yaml index 8b02277d3d67..a49dd6bd9064 100644 --- a/airbyte-integrations/connectors/source-pipedrive/source_pipedrive/manifest.yaml +++ b/airbyte-integrations/connectors/source-pipedrive/source_pipedrive/manifest.yaml @@ -411,3 +411,46 @@ spec: examples: - "2017-01-25 00:00:00Z" type: string + num_workers: + title: Number of concurrent workers + description: Number of concurrent workers to be used in the sync. This number should be set according to your Pipedrive subscription plan and its rate limits, which coule be found here on Pipedrive Rate limiting page. Please note that Pipedrive API rate limits are reset daily. If you experience rate limiting issues, please lower the number of workers according to your plan. + type: integer + default: 10 + minimum: 1 + maximum: 40 + +# rate limiting https://pipedrive.readme.io/docs/core-api-concepts-rate-limiting + +# Tokens Daily Budget: +# Each company account is allocated a daily API token budget, which is shared among all users within that account. +# This budget is exclusively for API traffic authenticated by API tokens or OAuth tokens, +# and it does not impact actions performed directly within the Pipedrive user interface. +# 30,000 base tokens × subscription plan multiplier × number of seats + +#| Plan | Plan multiplier | +#|:-------------|-----------------| +#| Essential | 1 | +#| Advanced | 2 | +#| Professional | 3 | +#| Power | 5 | +#| Enterprise | 7 | + +# API Requests: + +# Each API request consumes a specific number of tokens, with each API endpoint assigned cost in tokens based on the complexity and resource demand of the endpoint. +# When a request is made, the corresponding token cost is deducted from the company’s daily API budget. +# Lightweight endpoints consume fewer tokens, while more complex or data-intensive endpoints require a higher token cost. + +# | API Endpoint type | Cost in tokens | +# |---------------------------------------------| +# | Get list of entities | 20 | + +# We assume that airbyte users mostly on Essential plan, so they have 30k(Tokens Daily Budget) * 20(Cost in tokens) requests per day, which should be enough with 10 workers. +# If it's not, users can increase/decrease the number of workers. + +# Max value of workers: 40, Min value of workers: 1, Default: 10. + +concurrency_level: + type: ConcurrencyLevel + default_concurrency: "{{ config.get('num_workers', 10)}}" + max_concurrency: 40 diff --git a/airbyte-integrations/connectors/source-pipedrive/source_pipedrive/run.py b/airbyte-integrations/connectors/source-pipedrive/source_pipedrive/run.py index 2ff2b80c12a8..68d288dbaeef 100644 --- a/airbyte-integrations/connectors/source-pipedrive/source_pipedrive/run.py +++ b/airbyte-integrations/connectors/source-pipedrive/source_pipedrive/run.py @@ -1,14 +1,53 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # - import sys +import traceback +from datetime import datetime +from typing import List -from airbyte_cdk.entrypoint import launch +from airbyte_cdk.entrypoint import AirbyteEntrypoint, launch, logger +from airbyte_cdk.exception_handler import init_uncaught_exception_handler +from airbyte_cdk.models import AirbyteErrorTraceMessage, AirbyteMessage, AirbyteMessageSerializer, AirbyteTraceMessage, TraceType, Type +from orjson import orjson from source_pipedrive import SourcePipedrive -def run(): - source = SourcePipedrive() - launch(source, sys.argv[1:]) +def _get_source(args: List[str]): + catalog_path = AirbyteEntrypoint.extract_catalog(args) + config_path = AirbyteEntrypoint.extract_config(args) + state_path = AirbyteEntrypoint.extract_state(args) + try: + return SourcePipedrive( + SourcePipedrive.read_catalog(catalog_path) if catalog_path else None, + SourcePipedrive.read_config(config_path) if config_path else None, + SourcePipedrive.read_state(state_path) if state_path else None, + ) + except Exception as error: + print( + orjson.dumps( + AirbyteMessageSerializer.dump( + AirbyteMessage( + type=Type.TRACE, + trace=AirbyteTraceMessage( + type=TraceType.ERROR, + emitted_at=int(datetime.now().timestamp() * 1000), + error=AirbyteErrorTraceMessage( + message=f"Error starting the sync. This could be due to an invalid configuration or catalog. Please contact Support for assistance. Error: {error}", + stack_trace=traceback.format_exc(), + ), + ), + ) + ) + ).decode() + ) + return None + + +def run() -> None: + init_uncaught_exception_handler(logger) + _args = sys.argv[1:] + source = _get_source(_args) + if source: + launch(source, _args) diff --git a/airbyte-integrations/connectors/source-pipedrive/source_pipedrive/source.py b/airbyte-integrations/connectors/source-pipedrive/source_pipedrive/source.py index 32dd3a077d5d..8070fbcfcc40 100644 --- a/airbyte-integrations/connectors/source-pipedrive/source_pipedrive/source.py +++ b/airbyte-integrations/connectors/source-pipedrive/source_pipedrive/source.py @@ -1,8 +1,11 @@ # # Copyright (c) 2023 Airbyte, Inc., all rights reserved. # +from typing import Any, Mapping, Optional +from airbyte_cdk.models import ConfiguredAirbyteCatalog from airbyte_cdk.sources.declarative.yaml_declarative_source import YamlDeclarativeSource +from airbyte_cdk.sources.source import TState """ This file provides the necessary constructs to interpret a provided declarative YAML configuration file into @@ -14,5 +17,5 @@ # Declarative Source class SourcePipedrive(YamlDeclarativeSource): - def __init__(self): - super().__init__(**{"path_to_yaml": "manifest.yaml"}) + def __init__(self, catalog: Optional[ConfiguredAirbyteCatalog], config: Optional[Mapping[str, Any]], state: TState, **kwargs): + super().__init__(catalog=catalog, config=config, state=state, **{"path_to_yaml": "manifest.yaml"}) diff --git a/airbyte-integrations/connectors/source-s3/metadata.yaml b/airbyte-integrations/connectors/source-s3/metadata.yaml index f7667560b388..0161b63420fb 100644 --- a/airbyte-integrations/connectors/source-s3/metadata.yaml +++ b/airbyte-integrations/connectors/source-s3/metadata.yaml @@ -10,7 +10,7 @@ data: connectorSubtype: file connectorType: source definitionId: 69589781-7828-43c5-9f63-8925b1c1ccc2 - dockerImageTag: 4.10.2 + dockerImageTag: 4.11.0 dockerRepository: airbyte/source-s3 documentationUrl: https://docs.airbyte.com/integrations/sources/s3 githubIssueLabel: source-s3 diff --git a/airbyte-integrations/connectors/source-s3/pyproject.toml b/airbyte-integrations/connectors/source-s3/pyproject.toml index 5e8804d5db8e..cb8312de4f9c 100644 --- a/airbyte-integrations/connectors/source-s3/pyproject.toml +++ b/airbyte-integrations/connectors/source-s3/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "4.10.2" +version = "4.11.0" name = "source-s3" description = "Source implementation for S3." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-s3/source_s3/v4/stream_reader.py b/airbyte-integrations/connectors/source-s3/source_s3/v4/stream_reader.py index b92cf14077b6..aff8c257686d 100644 --- a/airbyte-integrations/connectors/source-s3/source_s3/v4/stream_reader.py +++ b/airbyte-integrations/connectors/source-s3/source_s3/v4/stream_reader.py @@ -31,7 +31,7 @@ class SourceS3StreamReader(AbstractFileBasedStreamReader): - FILE_SIZE_LIMIT = 1_000_000_000 + FILE_SIZE_LIMIT = 1_500_000_000 def __init__(self): super().__init__() diff --git a/airbyte-integrations/connectors/source-sftp-bulk/metadata.yaml b/airbyte-integrations/connectors/source-sftp-bulk/metadata.yaml index bc47478a304f..42babf16651e 100644 --- a/airbyte-integrations/connectors/source-sftp-bulk/metadata.yaml +++ b/airbyte-integrations/connectors/source-sftp-bulk/metadata.yaml @@ -7,7 +7,7 @@ data: connectorSubtype: file connectorType: source definitionId: 31e3242f-dee7-4cdc-a4b8-8e06c5458517 - dockerImageTag: 1.5.0 + dockerImageTag: 1.6.0 dockerRepository: airbyte/source-sftp-bulk documentationUrl: https://docs.airbyte.com/integrations/sources/sftp-bulk githubIssueLabel: source-sftp-bulk diff --git a/airbyte-integrations/connectors/source-sftp-bulk/pyproject.toml b/airbyte-integrations/connectors/source-sftp-bulk/pyproject.toml index 1e61e307b0ff..88a8b2a1197c 100644 --- a/airbyte-integrations/connectors/source-sftp-bulk/pyproject.toml +++ b/airbyte-integrations/connectors/source-sftp-bulk/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "1.5.0" +version = "1.6.0" name = "source-sftp-bulk" description = "Source implementation for SFTP Bulk." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-sftp-bulk/source_sftp_bulk/stream_reader.py b/airbyte-integrations/connectors/source-sftp-bulk/source_sftp_bulk/stream_reader.py index 9fe264932fd7..10d075f001e6 100644 --- a/airbyte-integrations/connectors/source-sftp-bulk/source_sftp_bulk/stream_reader.py +++ b/airbyte-integrations/connectors/source-sftp-bulk/source_sftp_bulk/stream_reader.py @@ -19,7 +19,7 @@ class SourceSFTPBulkStreamReader(AbstractFileBasedStreamReader): - FILE_SIZE_LIMIT = 1_000_000_000 + FILE_SIZE_LIMIT = 1_500_000_000 def __init__(self): super().__init__() diff --git a/docs/integrations/destinations/mssql-v2.md b/docs/integrations/destinations/mssql-v2.md new file mode 100644 index 000000000000..0e168a4ea5b7 --- /dev/null +++ b/docs/integrations/destinations/mssql-v2.md @@ -0,0 +1,12 @@ +# MSSQL (V2) + +## Changelog + +
+ Expand to review + +| Version | Date | Pull Request | Subject | +|:--------|:-----------| :--------------------------------------------------------- |:---------------| +| 0.1.0 | 2024-12-16 | [\#49460](https://github.com/airbytehq/airbyte/pull/49460) | Initial commit | + +
\ No newline at end of file diff --git a/docs/integrations/sources/mysql.md b/docs/integrations/sources/mysql.md index cb4102703bdd..9c61f0aaf679 100644 --- a/docs/integrations/sources/mysql.md +++ b/docs/integrations/sources/mysql.md @@ -226,8 +226,9 @@ Any database or table encoding combination of charset and collation is supported | Version | Date | Pull Request | Subject | |:---------|:-----------|:-----------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------| -| 3.9.1 | 2024-12-12 | [49456](https://github.com/airbytehq/airbyte/pull/49456) | Bump version to re-relase | -| 3.9.0 | 2024-12-12 | [49423](https://github.com/airbytehq/airbyte/pull/49423) | Promoting release candidate 3.9.0-rc.27 to a main version. | +| 3.9.2 | 2024-12-16 | [49830](https://github.com/airbytehq/airbyte/pull/49830) | Fixes an issue with auto generated tinyint columns | +| 3.9.1 | 2024-12-12 | [49456](https://github.com/airbytehq/airbyte/pull/49456) | Bump version to re-relase | +| 3.9.0 | 2024-12-12 | [49423](https://github.com/airbytehq/airbyte/pull/49423) | Promoting release candidate 3.9.0-rc.27 to a main version. | | 3.9.0-rc | 2024-11-05 | [48369](https://github.com/airbytehq/airbyte/pull/48369) | Progressive rollout test. | | 3.7.3 | 2024-09-17 | [45639](https://github.com/airbytehq/airbyte/pull/45639) | Adopt latest CDK to use the latest apache sshd mina to handle tcpkeepalive requests. | | 3.7.2 | 2024-09-05 | [45181](https://github.com/airbytehq/airbyte/pull/45181) | Fix incorrect categorizing resumable/nonresumable full refresh streams. | diff --git a/docs/integrations/sources/pardot-migrations.md b/docs/integrations/sources/pardot-migrations.md new file mode 100644 index 000000000000..a6dfcef4abaa --- /dev/null +++ b/docs/integrations/sources/pardot-migrations.md @@ -0,0 +1,14 @@ +# Pardot Migration Guide + +## Upgrading to 1.0.0 + +Version 1.0.0 contains a number of fixes and updates to the Pardot source connector: + +- Fixed authentication +- Migrate all existing streams to Pardot v5 API (except email_clicks which is only available in v4) +- Re-implement incremental syncs for existing streams where possible +- Add 23 new streams from the v5 API (folders, emails, engagement_studio_programs, folder_contents, forms, form_fields, form_handlers, form_handler_fields, landing_pages, layout_templates, lifecycle_stages, lifecycle_histories, list_emails, opportunities, tags, tracker_domains, visitor_page_views) +- Add additional configuration options to better handle large accounts (e.g. adjustable split-up windows, page size) +- Align to Pardot-recommended sort/filter/pagination conventions to avoid timeouts (based on Pardot support case #469072278) + +The previous implementation of the authentication flow was no longer functional, preventing the instantiation of new sources. All users with existing connections should reconfigure the source and go through the authentication flow before attempting to sync with this connector. OSS users should be sure to manually update their source version to >=1.0.0 before attempting to configure this source. diff --git a/docs/integrations/sources/pardot.md b/docs/integrations/sources/pardot.md index f9907d617348..5c90ca581663 100644 --- a/docs/integrations/sources/pardot.md +++ b/docs/integrations/sources/pardot.md @@ -1,66 +1,101 @@ -# Pardot +# Pardot (Salesforce Marketing Cloud Account Engagement) ## Overview -The Airbyte Source for [Salesforce Pardot](https://www.pardot.com/) +This page contains the setup guide and reference information for the [Pardot (Salesforce Marketing Cloud Account Engagement)](https://www.salesforce.com/marketing/b2b-automation/) source connector. -The Pardot supports full refresh syncs +## Prerequisites -### Output schema +- Pardot/Marketing Cloud Account Engagement account +- Pardot Business Unit ID +- Client ID +- Client Secret +- Refresh Token -Several output streams are available from this source: +## Setup Guide -- [Campaigns](https://developer.salesforce.com/docs/marketing/pardot/guide/campaigns-v4.html) -- [EmailClicks](https://developer.salesforce.com/docs/marketing/pardot/guide/batch-email-clicks-v4.html) -- [ListMembership](https://developer.salesforce.com/docs/marketing/pardot/guide/list-memberships-v4.html) -- [Lists](https://developer.salesforce.com/docs/marketing/pardot/guide/lists-v4.html) -- [ProspectAccounts](https://developer.salesforce.com/docs/marketing/pardot/guide/prospect-accounts-v4.html) -- [Prospects](https://developer.salesforce.com/docs/marketing/pardot/guide/prospects-v4.html) -- [Users](https://developer.salesforce.com/docs/marketing/pardot/guide/users-v4.html) -- [VisitorActivities](https://developer.salesforce.com/docs/marketing/pardot/guide/visitor-activities-v4.html) -- [Visitors](https://developer.salesforce.com/docs/marketing/pardot/guide/visitors-v4.html) -- [Visits](https://developer.salesforce.com/docs/marketing/pardot/guide/visits-v4.html) +### Required configuration options +- **Pardot Business Unit ID** (`pardot_business_unit_id`): This value uniquely identifies your account, and can be found at Setup > Pardot > Pardot Account Setup -If there are more endpoints you'd like Airbyte to support, please [create an issue.](https://github.com/airbytehq/airbyte/issues/new/choose) +- **Client ID** (`client_id`): The Consumer Key that can be found when viewing your app in Salesforce -### Features +- **Client Secret** (`client_secret`): The Consumer Secret that can be found when viewing your app in Salesforce -| Feature | Supported? | -| :---------------- | :--------- | -| Full Refresh Sync | Yes | -| Incremental Sync | No | -| SSL connection | No | -| Namespaces | No | +- **Refresh Token** (`refresh_token`): Salesforce Refresh Token used for Airbyte to access your Salesforce account. If you don't know what this is, follow [this guide](https://medium.com/@bpmmendis94/obtain-access-refresh-tokens-from-salesforce-rest-api-a324fe4ccd9b) to retrieve it. -### Performance considerations +### Optional configuration options +- **Start Date** (`start_date`): UTC date and time in the format `2020-01-25T00:00:00Z`. Any data before this date will not be replicated. Defaults to `2007-01-01T00:00:00Z` (the year Pardot was launched) -The Pardot connector should not run into Pardot API limitations under normal usage. Please [create an issue](https://github.com/airbytehq/airbyte/issues) if you see any rate limit issues that are not automatically retried successfully. +- **Page Size Limit** (`page_size`): The default page size to return; defaults to `1000` (which is Pardot's maximum). Does not apply to the Email Clicks stream which uses the v4 API and is limited to 200 per page. -## Getting started +- **Default Split Up Interval** (`split_up_interval`): The default split up interval is used on incremental streams to prevent hitting Pardots limit of 100 pages per result (effectively 100K records on most endpoints). The default is `P3M`, which will break incremental requests into three-month groupings. If you expect more than 100K records to be modified between syncs in a single endpoint, you can increase the granularity to `P1M`, `P14D`, `P7D`, `P3D`, or `P1D` to reduce the maximum records to be paged through per split. For small accounts unlikely to hit the limit, decreasing the granularity to `P6M` or `P1Y` may increase the speed of those syncs, especially the initial backfill. -### Requirements +- **Is Sandbox App?** (`is_sandbox`): Whether or not the app is in a Salesforce sandbox. If you do not know what this is, assume it is false. -- Pardot Account -- Pardot Business Unit ID -- Client ID -- Client Secret -- Refresh Token -- Start Date -- Is Sandbox environment? +## Supported Sync Modes + +The Pardot source connector supports the following [sync modes](https://docs.airbyte.com/cloud/core-concepts/#connection-sync-modes): + +- Full Refresh +- Incremental -### Setup guide +Incremental streams are based on the Pardot API's `UpdatedAt` field when the object is updateable and the API supports it; otherwise `CreatedAt` or `Id` are used in that order of preference. + +### Performance Considerations + +The Pardot connector should not run into Pardot API limitations under normal usage. Please [create an issue](https://github.com/airbytehq/airbyte/issues) if you see any rate limit issues that are not automatically retried successfully. -- `pardot_business_unit_id`: Pardot Business ID, can be found at Setup > Pardot > Pardot Account Setup -- `client_id`: The Consumer Key that can be found when viewing your app in Salesforce -- `client_secret`: The Consumer Secret that can be found when viewing your app in Salesforce -- `refresh_token`: Salesforce Refresh Token used for Airbyte to access your Salesforce account. If you don't know what this is, follow [this guide](https://medium.com/@bpmmendis94/obtain-access-refresh-tokens-from-salesforce-rest-api-a324fe4ccd9b) to retrieve it. -- `start_date`: UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. Leave blank to skip this filter -- `is_sandbox`: Whether or not the app is in a Salesforce sandbox. If you do not know what this is, assume it is false. +:::tip + +Due to timeouts on large accounts, the Split Up Interval (the time period used to page through incrementally) is surfaced as a configuration option. While the default should work for most accounts, large accounts may need to increase the granularity from the default. Similarly, small accounts may see faster initial syncs with a longer interval. See the Optional Configuration Options section for more details. + +::: + +## Supported Streams + +Several output streams are available from this source. Unless noted otherwise, streams are from Pardot's v5 API: + +- [Account (Metadata)](https://developer.salesforce.com/docs/marketing/pardot/guide/account-v5.html) (full refresh) +- [Campaigns](https://developer.salesforce.com/docs/marketing/pardot/guide/campaign-v5.html) (incremental) +- [Custom Fields](https://developer.salesforce.com/docs/marketing/pardot/guide/custom-field-v5.html) (incremental) +- [Custom Redirects](https://developer.salesforce.com/docs/marketing/pardot/guide/custom-redirect-v5.html) (full refresh) +- [Dynamic Content](https://developer.salesforce.com/docs/marketing/pardot/guide/dynamic-content-v5.html) (incremental) +- [Dynamic Content Variations](https://developer.salesforce.com/docs/marketing/pardot/guide/dynamic-content-variation.html) (incremental parent) +- [Emails](https://developer.salesforce.com/docs/marketing/pardot/guide/email-v5.html) (incremental) +- [Email Clicks (v4 API)](https://developer.salesforce.com/docs/marketing/pardot/guide/batch-email-clicks-v4.html) (incremental) +- [Engagement Studio Programs](https://developer.salesforce.com/docs/marketing/pardot/guide/engagement-studio-program-v5.html) (incremental) +- [Files](https://developer.salesforce.com/docs/marketing/pardot/guide/export-v5.html) (full refresh) +- [Folders](https://developer.salesforce.com/docs/marketing/pardot/guide/folder-v5.html) (full refresh) +- [Folder Contents](https://developer.salesforce.com/docs/marketing/pardot/guide/folder-contents-v5.html) (incremental) +- [Forms](https://developer.salesforce.com/docs/marketing/pardot/guide/form-v5.html) (full refresh) +- [Form Fields](https://developer.salesforce.com/docs/marketing/pardot/guide/form-field-v5.html) (incremental) +- [Form Handlers](https://developer.salesforce.com/docs/marketing/pardot/guide/form-handler-v5.html) (full refresh) +- [Form Handler Fields](https://developer.salesforce.com/docs/marketing/pardot/guide/form-handler-field-v5.html) (full refresh) +- [Landing Pages](https://developer.salesforce.com/docs/marketing/pardot/guide/landing-page-v5.html) (incremental) +- [Layout Templates](https://developer.salesforce.com/docs/marketing/pardot/guide/layout-template-v5.html) (full refresh) +- [Lifecycle Stages](https://developer.salesforce.com/docs/marketing/pardot/guide/lifecycle-stage-v5.html) (incremental) +- [Lifecycle Histories](https://developer.salesforce.com/docs/marketing/pardot/guide/lifecycle-history-v5.html) (incremental) +- [Lists](https://developer.salesforce.com/docs/marketing/pardot/guide/list-v5.html) (incremental) +- [List Emails](https://developer.salesforce.com/docs/marketing/pardot/guide/list-email-v5.html) (incremental) +- [List Memberships](https://developer.salesforce.com/docs/marketing/pardot/guide/list-membership-v5.html) (incremental) +- [Opportunities](https://developer.salesforce.com/docs/marketing/pardot/guide/opportunity-v5.html) (incremental) +- [Prospects](https://developer.salesforce.com/docs/marketing/pardot/guide/prospect-v5.html) (incremental) +- [Prospect Accounts](https://developer.salesforce.com/docs/marketing/pardot/guide/prospect-account-v5.html) (full refresh) +- [Tags](https://developer.salesforce.com/docs/marketing/pardot/guide/tag-v5.html) (incremental) +- [Tracker Domains](https://developer.salesforce.com/docs/marketing/pardot/guide/tracker-domain-v5.html) (full refresh) +- [Users](https://developer.salesforce.com/docs/marketing/pardot/guide/user-v5.html) (incremental) +- [Visitors](https://developer.salesforce.com/docs/marketing/pardot/guide/visitor-v5.html) (incremental) +- [Visitor Activity](https://developer.salesforce.com/docs/marketing/pardot/guide/visitor-activity-v5.html) (incremental) +- [Visitor Page Views](https://developer.salesforce.com/docs/marketing/pardot/guide/visitor-page-view-v5.html) (incremental) +- [Visits](https://developer.salesforce.com/docs/marketing/pardot/guide/visit-v5.html) (incremental) + +If there are more endpoints you'd like Airbyte to support, please [create an issue](https://github.com/airbytehq/airbyte/issues/new/choose). ## Changelog | Version | Date | Pull Request | Subject | | :------ | :--------- | :------------------------------------------------------- | :-------------------- | +| 1.0.0 | 2023-12-12 | [49424](https://github.com/airbytehq/airbyte/pull/49424) | Update streams to API V5. Fix auth flow | | 0.2.0 | 2024-10-13 | [44528](https://github.com/airbytehq/airbyte/pull/44528) | Migrate to LowCode then Manifest-only | | 0.1.22 | 2024-10-12 | [46778](https://github.com/airbytehq/airbyte/pull/46778) | Update dependencies | | 0.1.21 | 2024-10-05 | [46441](https://github.com/airbytehq/airbyte/pull/46441) | Update dependencies | diff --git a/docs/integrations/sources/pennylane.md b/docs/integrations/sources/pennylane.md index 93fcdff320c1..3aaf18b121ac 100644 --- a/docs/integrations/sources/pennylane.md +++ b/docs/integrations/sources/pennylane.md @@ -27,6 +27,7 @@ | Version | Date | Pull Request | Subject | |---------|------|--------------|---------| +| 0.1.0 | 2024-12-10 | [48892](https://github.com/airbytehq/airbyte/pull/48892) | Add missing fields to `customer_invoices` stream | | 0.0.6 | 2024-12-14 | [49659](https://github.com/airbytehq/airbyte/pull/49659) | Update dependencies | | 0.0.5 | 2024-12-12 | [49322](https://github.com/airbytehq/airbyte/pull/49322) | Update dependencies | | 0.0.4 | 2024-12-11 | [49053](https://github.com/airbytehq/airbyte/pull/49053) | Starting with this version, the Docker image is now rootless. Please note that this and future versions will not be compatible with Airbyte versions earlier than 0.64 | diff --git a/docs/integrations/sources/pipedrive.md b/docs/integrations/sources/pipedrive.md index ef81c67990a3..a64cb0d8ead8 100644 --- a/docs/integrations/sources/pipedrive.md +++ b/docs/integrations/sources/pipedrive.md @@ -110,57 +110,58 @@ The Pipedrive connector will gracefully handle rate limits. For more information ## Changelog -| Version | Date | Pull Request | Subject | -| :------ | :--------- | :------------------------------------------------------- | :------------------------------------------------------------------------- | -| 2.2.28 | 2024-12-14 | [49692](https://github.com/airbytehq/airbyte/pull/49692) | Update dependencies | -| 2.2.27 | 2024-12-12 | [49041](https://github.com/airbytehq/airbyte/pull/49041) | Starting with this version, the Docker image is now rootless. Please note that this and future versions will not be compatible with Airbyte versions earlier than 0.64 | -| 2.2.26 | 2024-11-04 | [48293](https://github.com/airbytehq/airbyte/pull/48293) | Update dependencies | -| 2.2.25 | 2024-10-29 | [47743](https://github.com/airbytehq/airbyte/pull/47743) | Update dependencies | -| 2.2.24 | 2024-10-28 | [47103](https://github.com/airbytehq/airbyte/pull/47103) | Update dependencies | -| 2.2.23 | 2024-10-12 | [46822](https://github.com/airbytehq/airbyte/pull/46822) | Update dependencies | -| 2.2.22 | 2024-10-05 | [46487](https://github.com/airbytehq/airbyte/pull/46487) | Update dependencies | -| 2.2.21 | 2024-09-28 | [46132](https://github.com/airbytehq/airbyte/pull/46132) | Update dependencies | -| 2.2.20 | 2024-09-21 | [45748](https://github.com/airbytehq/airbyte/pull/45748) | Update dependencies | -| 2.2.19 | 2024-09-14 | [45556](https://github.com/airbytehq/airbyte/pull/45556) | Update dependencies | -| 2.2.18 | 2024-09-07 | [45303](https://github.com/airbytehq/airbyte/pull/45303) | Update dependencies | -| 2.2.17 | 2024-08-31 | [44981](https://github.com/airbytehq/airbyte/pull/44981) | Update dependencies | -| 2.2.16 | 2024-08-24 | [44644](https://github.com/airbytehq/airbyte/pull/44644) | Update dependencies | -| 2.2.15 | 2024-08-17 | [44316](https://github.com/airbytehq/airbyte/pull/44316) | Update dependencies | -| 2.2.14 | 2024-08-12 | [43888](https://github.com/airbytehq/airbyte/pull/43888) | Update dependencies | -| 2.2.13 | 2024-08-10 | [43679](https://github.com/airbytehq/airbyte/pull/43679) | Update dependencies | -| 2.2.12 | 2024-08-03 | [43056](https://github.com/airbytehq/airbyte/pull/43056) | Update dependencies | -| 2.2.11 | 2024-07-27 | [42287](https://github.com/airbytehq/airbyte/pull/42287) | Update dependencies | -| 2.2.10 | 2024-07-13 | [41729](https://github.com/airbytehq/airbyte/pull/41729) | Update dependencies | -| 2.2.9 | 2024-07-10 | [41465](https://github.com/airbytehq/airbyte/pull/41465) | Update dependencies | -| 2.2.8 | 2024-07-09 | [41082](https://github.com/airbytehq/airbyte/pull/41082) | Update dependencies | -| 2.2.7 | 2024-07-06 | [40778](https://github.com/airbytehq/airbyte/pull/40778) | Update dependencies | -| 2.2.6 | 2024-06-25 | [40501](https://github.com/airbytehq/airbyte/pull/40501) | Update dependencies | -| 2.2.5 | 2024-06-22 | [40171](https://github.com/airbytehq/airbyte/pull/40171) | Update dependencies | -| 2.2.4 | 2024-06-04 | [39095](https://github.com/airbytehq/airbyte/pull/39095) | [autopull] Upgrade base image to v1.2.1 | -| 2.2.3 | 2024-05-20 | [38405](https://github.com/airbytehq/airbyte/pull/38405) | [autopull] base image + poetry + up_to_date | -| 2.2.2 | 2024-01-11 | [34153](https://github.com/airbytehq/airbyte/pull/34153) | prepare for airbyte-lib | -| 2.2.1 | 2023-11-06 | [31147](https://github.com/airbytehq/airbyte/pull/31147) | Bugfix: handle records with a null data field | -| 2.2.0 | 2023-10-25 | [31707](https://github.com/airbytehq/airbyte/pull/31707) | Add new stream mail | -| 2.1.0 | 2023-10-10 | [31184](https://github.com/airbytehq/airbyte/pull/31184) | Add new stream goals | -| 2.0.1 | 2023-10-13 | [31151](https://github.com/airbytehq/airbyte/pull/31151) | Add additionalProperties in schemas to read custom fields | -| 2.0.0 | 2023-08-09 | [29293](https://github.com/airbytehq/airbyte/pull/29293) | Migrated to Low-Code CDK | -| 1.0.0 | 2023-06-29 | [27832](https://github.com/airbytehq/airbyte/pull/27832) | Remove `followers_count` field from `Products` stream | -| 0.1.19 | 2023-07-05 | [27967](https://github.com/airbytehq/airbyte/pull/27967) | Update `OrganizationFields` and `ProductFields` with `display_field` field | -| 0.1.18 | 2023-06-02 | [26892](https://github.com/airbytehq/airbyte/pull/26892) | Update `DialFields` schema with `pipeline_ids` property | -| 0.1.17 | 2023-03-21 | [24282](https://github.com/airbytehq/airbyte/pull/24282) | Bugfix handle missed `cursor_field` | -| 0.1.16 | 2023-03-08 | [23789](https://github.com/airbytehq/airbyte/pull/23789) | Add 11 new streams | -| 0.1.15 | 2023-03-02 | [23705](https://github.com/airbytehq/airbyte/pull/23705) | Disable OAuth | -| 0.1.14 | 2023-03-01 | [23539](https://github.com/airbytehq/airbyte/pull/23539) | Fix schema for "activities", "check" works if empty "deals" | -| 0.1.13 | 2022-09-16 | [16799](https://github.com/airbytehq/airbyte/pull/16799) | Migrate to per-stream state | -| 0.1.12 | 2022-05-12 | [12806](https://github.com/airbytehq/airbyte/pull/12806) | Remove date-time format from schemas | -| 0.1.10 | 2022-04-26 | [11870](https://github.com/airbytehq/airbyte/pull/11870) | Add 3 streams: DealFields, OrganizationFields and PersonFields | -| 0.1.9 | 2021-12-07 | [8582](https://github.com/airbytehq/airbyte/pull/8582) | Update connector fields title/description | -| 0.1.8 | 2021-11-16 | [7875](https://github.com/airbytehq/airbyte/pull/7875) | Extend schema for "persons" stream | -| 0.1.7 | 2021-11-15 | [7968](https://github.com/airbytehq/airbyte/pull/7968) | Update oAuth flow config | -| 0.1.6 | 2021-10-05 | [6821](https://github.com/airbytehq/airbyte/pull/6821) | Add OAuth support | -| 0.1.5 | 2021-09-27 | [6441](https://github.com/airbytehq/airbyte/pull/6441) | Fix normalization error | -| 0.1.4 | 2021-08-26 | [5943](https://github.com/airbytehq/airbyte/pull/5943) | Add organizations stream | -| 0.1.3 | 2021-08-26 | [5642](https://github.com/airbytehq/airbyte/pull/5642) | Remove date-time from deals stream | -| 0.1.2 | 2021-07-23 | [4912](https://github.com/airbytehq/airbyte/pull/4912) | Update money type to support floating point | -| 0.1.1 | 2021-07-19 | [4686](https://github.com/airbytehq/airbyte/pull/4686) | Update spec.json | -| 0.1.0 | 2021-07-19 | [4686](https://github.com/airbytehq/airbyte/pull/4686) | 🎉 New source: Pipedrive connector | +| Version | Date | Pull Request | Subject | +|:--------|:-----------|:---------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 2.3.0 | 2024-12-17 | [48615](https://github.com/airbytehq/airbyte/pull/48615) | Update airbyte-cdk to use concurrency | +| 2.2.28 | 2024-12-14 | [49692](https://github.com/airbytehq/airbyte/pull/49692) | Update dependencies | +| 2.2.27 | 2024-12-12 | [49041](https://github.com/airbytehq/airbyte/pull/49041) | Starting with this version, the Docker image is now rootless. Please note that this and future versions will not be compatible with Airbyte versions earlier than 0.64 | +| 2.2.26 | 2024-11-04 | [48293](https://github.com/airbytehq/airbyte/pull/48293) | Update dependencies | +| 2.2.25 | 2024-10-29 | [47743](https://github.com/airbytehq/airbyte/pull/47743) | Update dependencies | +| 2.2.24 | 2024-10-28 | [47103](https://github.com/airbytehq/airbyte/pull/47103) | Update dependencies | +| 2.2.23 | 2024-10-12 | [46822](https://github.com/airbytehq/airbyte/pull/46822) | Update dependencies | +| 2.2.22 | 2024-10-05 | [46487](https://github.com/airbytehq/airbyte/pull/46487) | Update dependencies | +| 2.2.21 | 2024-09-28 | [46132](https://github.com/airbytehq/airbyte/pull/46132) | Update dependencies | +| 2.2.20 | 2024-09-21 | [45748](https://github.com/airbytehq/airbyte/pull/45748) | Update dependencies | +| 2.2.19 | 2024-09-14 | [45556](https://github.com/airbytehq/airbyte/pull/45556) | Update dependencies | +| 2.2.18 | 2024-09-07 | [45303](https://github.com/airbytehq/airbyte/pull/45303) | Update dependencies | +| 2.2.17 | 2024-08-31 | [44981](https://github.com/airbytehq/airbyte/pull/44981) | Update dependencies | +| 2.2.16 | 2024-08-24 | [44644](https://github.com/airbytehq/airbyte/pull/44644) | Update dependencies | +| 2.2.15 | 2024-08-17 | [44316](https://github.com/airbytehq/airbyte/pull/44316) | Update dependencies | +| 2.2.14 | 2024-08-12 | [43888](https://github.com/airbytehq/airbyte/pull/43888) | Update dependencies | +| 2.2.13 | 2024-08-10 | [43679](https://github.com/airbytehq/airbyte/pull/43679) | Update dependencies | +| 2.2.12 | 2024-08-03 | [43056](https://github.com/airbytehq/airbyte/pull/43056) | Update dependencies | +| 2.2.11 | 2024-07-27 | [42287](https://github.com/airbytehq/airbyte/pull/42287) | Update dependencies | +| 2.2.10 | 2024-07-13 | [41729](https://github.com/airbytehq/airbyte/pull/41729) | Update dependencies | +| 2.2.9 | 2024-07-10 | [41465](https://github.com/airbytehq/airbyte/pull/41465) | Update dependencies | +| 2.2.8 | 2024-07-09 | [41082](https://github.com/airbytehq/airbyte/pull/41082) | Update dependencies | +| 2.2.7 | 2024-07-06 | [40778](https://github.com/airbytehq/airbyte/pull/40778) | Update dependencies | +| 2.2.6 | 2024-06-25 | [40501](https://github.com/airbytehq/airbyte/pull/40501) | Update dependencies | +| 2.2.5 | 2024-06-22 | [40171](https://github.com/airbytehq/airbyte/pull/40171) | Update dependencies | +| 2.2.4 | 2024-06-04 | [39095](https://github.com/airbytehq/airbyte/pull/39095) | [autopull] Upgrade base image to v1.2.1 | +| 2.2.3 | 2024-05-20 | [38405](https://github.com/airbytehq/airbyte/pull/38405) | [autopull] base image + poetry + up_to_date | +| 2.2.2 | 2024-01-11 | [34153](https://github.com/airbytehq/airbyte/pull/34153) | prepare for airbyte-lib | +| 2.2.1 | 2023-11-06 | [31147](https://github.com/airbytehq/airbyte/pull/31147) | Bugfix: handle records with a null data field | +| 2.2.0 | 2023-10-25 | [31707](https://github.com/airbytehq/airbyte/pull/31707) | Add new stream mail | +| 2.1.0 | 2023-10-10 | [31184](https://github.com/airbytehq/airbyte/pull/31184) | Add new stream goals | +| 2.0.1 | 2023-10-13 | [31151](https://github.com/airbytehq/airbyte/pull/31151) | Add additionalProperties in schemas to read custom fields | +| 2.0.0 | 2023-08-09 | [29293](https://github.com/airbytehq/airbyte/pull/29293) | Migrated to Low-Code CDK | +| 1.0.0 | 2023-06-29 | [27832](https://github.com/airbytehq/airbyte/pull/27832) | Remove `followers_count` field from `Products` stream | +| 0.1.19 | 2023-07-05 | [27967](https://github.com/airbytehq/airbyte/pull/27967) | Update `OrganizationFields` and `ProductFields` with `display_field` field | +| 0.1.18 | 2023-06-02 | [26892](https://github.com/airbytehq/airbyte/pull/26892) | Update `DialFields` schema with `pipeline_ids` property | +| 0.1.17 | 2023-03-21 | [24282](https://github.com/airbytehq/airbyte/pull/24282) | Bugfix handle missed `cursor_field` | +| 0.1.16 | 2023-03-08 | [23789](https://github.com/airbytehq/airbyte/pull/23789) | Add 11 new streams | +| 0.1.15 | 2023-03-02 | [23705](https://github.com/airbytehq/airbyte/pull/23705) | Disable OAuth | +| 0.1.14 | 2023-03-01 | [23539](https://github.com/airbytehq/airbyte/pull/23539) | Fix schema for "activities", "check" works if empty "deals" | +| 0.1.13 | 2022-09-16 | [16799](https://github.com/airbytehq/airbyte/pull/16799) | Migrate to per-stream state | +| 0.1.12 | 2022-05-12 | [12806](https://github.com/airbytehq/airbyte/pull/12806) | Remove date-time format from schemas | +| 0.1.10 | 2022-04-26 | [11870](https://github.com/airbytehq/airbyte/pull/11870) | Add 3 streams: DealFields, OrganizationFields and PersonFields | +| 0.1.9 | 2021-12-07 | [8582](https://github.com/airbytehq/airbyte/pull/8582) | Update connector fields title/description | +| 0.1.8 | 2021-11-16 | [7875](https://github.com/airbytehq/airbyte/pull/7875) | Extend schema for "persons" stream | +| 0.1.7 | 2021-11-15 | [7968](https://github.com/airbytehq/airbyte/pull/7968) | Update oAuth flow config | +| 0.1.6 | 2021-10-05 | [6821](https://github.com/airbytehq/airbyte/pull/6821) | Add OAuth support | +| 0.1.5 | 2021-09-27 | [6441](https://github.com/airbytehq/airbyte/pull/6441) | Fix normalization error | +| 0.1.4 | 2021-08-26 | [5943](https://github.com/airbytehq/airbyte/pull/5943) | Add organizations stream | +| 0.1.3 | 2021-08-26 | [5642](https://github.com/airbytehq/airbyte/pull/5642) | Remove date-time from deals stream | +| 0.1.2 | 2021-07-23 | [4912](https://github.com/airbytehq/airbyte/pull/4912) | Update money type to support floating point | +| 0.1.1 | 2021-07-19 | [4686](https://github.com/airbytehq/airbyte/pull/4686) | Update spec.json | +| 0.1.0 | 2021-07-19 | [4686](https://github.com/airbytehq/airbyte/pull/4686) | 🎉 New source: Pipedrive connector | diff --git a/docs/integrations/sources/s3.md b/docs/integrations/sources/s3.md index 57bff58e0174..e9a683231edc 100644 --- a/docs/integrations/sources/s3.md +++ b/docs/integrations/sources/s3.md @@ -361,6 +361,7 @@ This connector utilizes the open source [Unstructured](https://unstructured-io.g | Version | Date | Pull Request | Subject | |:--------|:-----------|:----------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------| +| 4.11.0 | 2024-12-17 | [49824](https://github.com/airbytehq/airbyte/pull/49824) | Increase file size limit to 1.5GB | | 4.10.2 | 2024-11-25 | [48613](https://github.com/airbytehq/airbyte/pull/48613) | Starting with this version, the Docker image is now rootless. Please note that this and future versions will not be compatible with Airbyte versions earlier than 0.64 | | 4.10.1 | 2024-11-12 | [48346](https://github.com/airbytehq/airbyte/pull/48346) | Implement file-transfer capabilities | | 4.9.2 | 2024-11-04 | [48259](https://github.com/airbytehq/airbyte/pull/48259) | Update dependencies | diff --git a/docs/integrations/sources/sftp-bulk.md b/docs/integrations/sources/sftp-bulk.md index 232c6e112c01..a5856cd403bf 100644 --- a/docs/integrations/sources/sftp-bulk.md +++ b/docs/integrations/sources/sftp-bulk.md @@ -156,6 +156,7 @@ This source provides a single stream per file with a dynamic schema. The current | Version | Date | Pull Request | Subject | |:--------|:-----------|:---------------------------------------------------------|:------------------------------------------------------------| +| 1.6.0 | 2024-12-17 | [49826](https://github.com/airbytehq/airbyte/pull/49826) | Increase individual file size limit. | | 1.5.0 | 2024-12-02 | [48434](https://github.com/airbytehq/airbyte/pull/48434) | Add get_file method for file-transfer feature. | | 1.4.0 | 2024-10-31 | [46739](https://github.com/airbytehq/airbyte/pull/46739) | make private key an airbyte secret. | | 1.3.0 | 2024-10-31 | [47703](https://github.com/airbytehq/airbyte/pull/47703) | Update dependency to CDK v6 with ability to transfer files. |