From 70e7b024e958a7e92435a4ce57898f6a500e8d88 Mon Sep 17 00:00:00 2001 From: Tope Folorunso Date: Mon, 17 Mar 2025 17:53:59 +0100 Subject: [PATCH 1/4] migrate to manifest only --- .../connectors/source-amazon-ads/.coveragerc | 5 - .../connectors/source-amazon-ads/README.md | 91 +- .../acceptance-test-config.yml | 2 +- .../connectors/source-amazon-ads/main.py | 9 - .../source-amazon-ads/manifest.yaml | 8525 +++++++++++++++++ .../source-amazon-ads/metadata.yaml | 7 +- .../connectors/source-amazon-ads/poetry.lock | 2128 ---- .../source-amazon-ads/pyproject.toml | 37 - .../source_amazon_ads/__init__.py | 8 - .../source_amazon_ads/manifest.yaml | 2277 ----- .../source_amazon_ads/run.py | 55 - ...ttribution_report_performance_adgroup.json | 118 - ...tribution_report_performance_campaign.json | 44 - ...tribution_report_performance_creative.json | 44 - .../schemas/attribution_report_products.json | 44 - .../source_amazon_ads/schemas/portfolios.json | 24 - .../source_amazon_ads/schemas/profiles.json | 23 - .../schemas/sponsored_brands_ad_groups.json | 12 - .../schemas/sponsored_brands_campaigns.json | 26 - .../schemas/sponsored_brands_keywords.json | 12 - .../sponsored_brands_v3_report_stream.json | 25 - .../schemas/sponsored_display_ad_groups.json | 15 - ...nsored_display_adgroups_report_stream.json | 205 - ...sponsored_display_asins_report_stream.json | 89 - .../sponsored_display_budget_rules.json | 80 - .../schemas/sponsored_display_campaigns.json | 18 - ...sored_display_campaigns_report_stream.json | 205 - .../schemas/sponsored_display_creatives.json | 12 - .../sponsored_display_product_ads.json | 13 - ...ored_display_productads_report_stream.json | 215 - .../schemas/sponsored_display_targetings.json | 21 - ...onsored_display_targets_report_stream.json | 190 - ..._product_ad_group_bid_recommendations.json | 29 - ...d_product_ad_group_suggested_keywords.json | 18 - .../schemas/sponsored_product_ad_groups.json | 13 - .../schemas/sponsored_product_ads.json | 15 - ...ed_product_campaign_negative_keywords.json | 13 - .../schemas/sponsored_product_campaigns.json | 18 - .../schemas/sponsored_product_keywords.json | 14 - .../sponsored_product_negative_keywords.json | 14 - .../schemas/sponsored_product_targetings.json | 22 - ...sored_products_adgroups_report_stream.json | 106 - ...products_asins_keywords_report_stream.json | 82 - ..._products_asins_targets_report_stream.json | 86 - ...ored_products_campaigns_report_stream.json | 115 - ...sored_products_keywords_report_stream.json | 115 - ...red_products_productads_report_stream.json | 116 - ...nsored_products_targets_report_stream.json | 119 - .../source_amazon_ads/source.py | 113 - .../source_amazon_ads/spec.json | 173 - .../source_amazon_ads/spec.py | 72 - 51 files changed, 8556 insertions(+), 7276 deletions(-) delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/.coveragerc delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/main.py create mode 100644 airbyte-integrations/connectors/source-amazon-ads/manifest.yaml delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/poetry.lock delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/pyproject.toml delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/__init__.py delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/manifest.yaml delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/run.py delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/attribution_report_performance_adgroup.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/attribution_report_performance_campaign.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/attribution_report_performance_creative.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/attribution_report_products.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/portfolios.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/profiles.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_brands_ad_groups.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_brands_campaigns.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_brands_keywords.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_brands_v3_report_stream.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_ad_groups.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_adgroups_report_stream.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_asins_report_stream.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_budget_rules.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_campaigns.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_campaigns_report_stream.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_creatives.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_product_ads.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_productads_report_stream.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_targetings.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_targets_report_stream.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_ad_group_bid_recommendations.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_ad_group_suggested_keywords.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_ad_groups.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_ads.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_campaign_negative_keywords.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_campaigns.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_keywords.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_negative_keywords.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_targetings.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_adgroups_report_stream.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_asins_keywords_report_stream.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_asins_targets_report_stream.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_campaigns_report_stream.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_keywords_report_stream.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_productads_report_stream.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_targets_report_stream.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/source.py delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/spec.json delete mode 100644 airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/spec.py diff --git a/airbyte-integrations/connectors/source-amazon-ads/.coveragerc b/airbyte-integrations/connectors/source-amazon-ads/.coveragerc deleted file mode 100644 index 9f7d9a0a2ecc4..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/.coveragerc +++ /dev/null @@ -1,5 +0,0 @@ -[run] -omit = - source_amazon_ads/run.py - source_amazon_ads/spec.py - source_amazon_ads/source.py \ No newline at end of file diff --git a/airbyte-integrations/connectors/source-amazon-ads/README.md b/airbyte-integrations/connectors/source-amazon-ads/README.md index b7f237c9de76d..06746bf85eaa3 100644 --- a/airbyte-integrations/connectors/source-amazon-ads/README.md +++ b/airbyte-integrations/connectors/source-amazon-ads/README.md @@ -1,49 +1,22 @@ -# Amazon-Ads source connector +# Amazon ads source connector -This is the repository for the Amazon-Ads source connector, written in Python. -For information about how to use this connector within Airbyte, see [the documentation](https://docs.airbyte.com/integrations/sources/amazon-ads). +This directory contains the manifest-only connector for `source-amazon-ads`. +This _manifest-only_ connector is not a Python package on its own, as it runs inside of the base `source-declarative-manifest` image. -## Local development - -### Prerequisites - -- Python (~=3.9) -- Poetry (~=1.7) - installation instructions [here](https://python-poetry.org/docs/#installation) - -### Installing the connector - -From this connector directory, run: - -```bash -poetry install --with dev -``` - -### Create credentials +For information about how to configure and use this connector within Airbyte, see [the connector's full documentation](https://docs.airbyte.com/integrations/sources/amazon-ads). -**If you are a community contributor**, follow the instructions in the [documentation](https://docs.airbyte.com/integrations/sources/amazon-ads) -to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `source_amazon_ads/spec.yaml` file. -Note that any directory named `secrets` is gitignored across the entire Airbyte repo, so there is no danger of accidentally checking in sensitive information. -See `sample_files/sample_config.json` for a sample config file. - -### Locally running the connector - -``` -poetry run source-amazon-ads spec -poetry run source-amazon-ads check --config secrets/config.json -poetry run source-amazon-ads discover --config secrets/config.json -poetry run source-amazon-ads read --config secrets/config.json --catalog sample_files/configured_catalog.json -``` +## Local development -### Running unit tests +We recommend using the Connector Builder to edit this connector. +Using either Airbyte Cloud or your local Airbyte OSS instance, navigate to the **Builder** tab and select **Import a YAML**. +Then select the connector's `manifest.yaml` file to load the connector into the Builder. You're now ready to make changes to the connector! -To run unit tests locally, from the connector directory run: - -``` -poetry run pytest unit_tests -``` +If you prefer to develop locally, you can follow the instructions below. ### Building the docker image +You can build any manifest-only connector with `airbyte-ci`: + 1. Install [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md) 2. Run the following command to build the docker image: @@ -53,18 +26,24 @@ airbyte-ci connectors --name=source-amazon-ads build An image will be available on your host with the tag `airbyte/source-amazon-ads:dev`. +### Creating credentials + +**If you are a community contributor**, follow the instructions in the [documentation](https://docs.airbyte.com/integrations/sources/amazon-ads) +to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `spec` object in the connector's `manifest.yaml` file. +Note that any directory named `secrets` is gitignored across the entire Airbyte repo, so there is no danger of accidentally checking in sensitive information. + ### Running as a docker container -Then run any of the connector commands as follows: +Then run any of the standard source connector commands: -``` +```bash docker run --rm airbyte/source-amazon-ads:dev spec docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-amazon-ads:dev check --config /secrets/config.json docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-amazon-ads:dev discover --config /secrets/config.json docker run --rm -v $(pwd)/secrets:/secrets -v $(pwd)/integration_tests:/integration_tests airbyte/source-amazon-ads:dev read --config /secrets/config.json --catalog /integration_tests/configured_catalog.json ``` -### Running our CI test suite +### Running the CI test suite You can run our full test suite locally using [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md): @@ -72,33 +51,15 @@ You can run our full test suite locally using [`airbyte-ci`](https://github.com/ airbyte-ci connectors --name=source-amazon-ads test ``` -### Customizing acceptance Tests - -Customize `acceptance-test-config.yml` file to configure acceptance tests. See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) for more information. -If your connector requires to create or destroy resources for use during acceptance tests create fixtures for it and place them inside integration_tests/acceptance.py. - -### Dependency Management - -All of your dependencies should be managed via Poetry. -To add a new dependency, run: - -```bash -poetry add -``` - -Please commit the changes to `pyproject.toml` and `poetry.lock` files. - ## Publishing a new version of the connector -You've checked out the repo, implemented a million dollar feature, and you're ready to share your changes with the world. Now what? - -1. Make sure your changes are passing our test suite: `airbyte-ci connectors --name=source-amazon-ads test` -2. Bump the connector version (please follow [semantic versioning for connectors](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#semantic-versioning-for-connectors)): - - bump the `dockerImageTag` value in in `metadata.yaml` - - bump the `version` value in `pyproject.toml` -3. Make sure the `metadata.yaml` content is up to date. +If you want to contribute changes to `source-amazon-ads`, here's how you can do that: +1. Make your changes locally, or load the connector's manifest into Connector Builder and make changes there. +2. Make sure your changes are passing our test suite with `airbyte-ci connectors --name=source-amazon-ads test` +3. Bump the connector version (please follow [semantic versioning for connectors](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#semantic-versioning-for-connectors)): + - bump the `dockerImageTag` value in in `metadata.yaml` 4. Make sure the connector documentation and its changelog is up to date (`docs/integrations/sources/amazon-ads.md`). 5. Create a Pull Request: use [our PR naming conventions](https://docs.airbyte.com/contributing-to-airbyte/resources/pull-requests-handbook/#pull-request-title-convention). 6. Pat yourself on the back for being an awesome contributor. 7. Someone from Airbyte will take a look at your PR and iterate with you to merge it into master. -8. Once your PR is merged, the new version of the connector will be automatically published to Docker Hub and our connector registry. +8. Once your PR is merged, the new version of the connector will be automatically published to Docker Hub and our connector registry. \ No newline at end of file diff --git a/airbyte-integrations/connectors/source-amazon-ads/acceptance-test-config.yml b/airbyte-integrations/connectors/source-amazon-ads/acceptance-test-config.yml index 193e22db7f23d..5b38f0b6482be 100644 --- a/airbyte-integrations/connectors/source-amazon-ads/acceptance-test-config.yml +++ b/airbyte-integrations/connectors/source-amazon-ads/acceptance-test-config.yml @@ -3,7 +3,7 @@ test_strictness_level: high acceptance_tests: spec: tests: - - spec_path: integration_tests/spec.json + - spec_path: manifest.yaml backward_compatibility_tests_config: disable_for_version: 5.0.0 connection: diff --git a/airbyte-integrations/connectors/source-amazon-ads/main.py b/airbyte-integrations/connectors/source-amazon-ads/main.py deleted file mode 100644 index c85eb27fa1067..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/main.py +++ /dev/null @@ -1,9 +0,0 @@ -# -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. -# - -from source_amazon_ads.run import run - - -if __name__ == "__main__": - run() diff --git a/airbyte-integrations/connectors/source-amazon-ads/manifest.yaml b/airbyte-integrations/connectors/source-amazon-ads/manifest.yaml new file mode 100644 index 0000000000000..f4cb97007b2c9 --- /dev/null +++ b/airbyte-integrations/connectors/source-amazon-ads/manifest.yaml @@ -0,0 +1,8525 @@ +version: 6.41.1 + +type: DeclarativeSource + +check: + type: CheckStream + stream_names: + - profiles + +definitions: + streams: + profiles: + type: DeclarativeStream + retriever: + type: SimpleRetriever + requester: + use_cache: true + $ref: "#/definitions/base_requester" + path: v2/profiles?profileTypeFilter=seller,vendor + http_method: GET + request_headers: + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + name: profiles + primary_key: + - profileId + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/profiles" + profiles_filtered: + type: DeclarativeStream + retriever: + type: SimpleRetriever + requester: + use_cache: true + $ref: "#/definitions/base_requester" + path: v2/profiles?profileTypeFilter=seller,vendor + http_method: GET + request_headers: + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + record_filter: + type: RecordFilter + condition: >- + {{ record["profileId"] in config.get("profiles", []) or + record["accountInfo"]["marketplaceStringId"] in + config.get("marketplace_ids", []) if config.get("profiles", []) or + config.get("marketplace_ids", []) else True }} + name: profiles_filtered + primary_key: + - profileId + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/profiles_filtered" + portfolios: + type: DeclarativeStream + name: portfolios + primary_key: + - portfolioId + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: portfolios/list + http_method: POST + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + includeExtendedDataFields: "true" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - portfolios + schema_normalization: Default + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: nextToken + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.get(\"nextToken\", {}) }}" + stop_condition: "{{ not response.get(\"nextToken\", {}) }}" + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + transformations: + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - creationDate + value: >- + {{ (format_datetime(record['extendedData']['creationDateTime'], + '%s') | int * 1000) + + (format_datetime(record['extendedData']['creationDateTime'], + '%f')[:3] | int) }} + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - lastUpdatedDate + value: >- + {{ + (format_datetime(record['extendedData']['lastUpdateDateTime'], + '%s') | int * 1000) + + (format_datetime(record['extendedData']['lastUpdateDateTime'], + '%f')[:3] | int) }} + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - servingStatus + value: "{{ record['extendedData']['servingStatus'] }}" + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - statusReasons + value: "{{ record['extendedData']['statusReasons'] }}" + - type: RemoveFields + field_pointers: + - - extendedData + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/portfolios" + sponsored_display_campaigns: + type: DeclarativeStream + retriever: + type: SimpleRetriever + requester: + request_params: + stateFilter: "{{ ','.join(config['state_filter']) }}" + $ref: "#/definitions/base_requester" + path: sd/campaigns + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'message' in response }}" + error_message: "{{ response.message }}" + - type: HttpResponseFilter + action: IGNORE + predicate: "{{ 'code' in response and 'details' in response }}" + error_message: "{{ response.code }}; {{ response.details }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + field_name: startIndex + inject_into: request_parameter + page_size_option: + type: RequestOption + field_name: count + inject_into: request_parameter + pagination_strategy: + type: OffsetIncrement + page_size: 100 + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + name: sponsored_display_campaigns + primary_key: + - campaignId + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_display_campaigns" + sponsored_display_ad_groups: + type: DeclarativeStream + name: sponsored_display_ad_groups + primary_key: + - adGroupId + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: sd/adGroups + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'message' in response }}" + error_message: "{{ response.message }}" + - type: HttpResponseFilter + action: IGNORE + predicate: "{{ 'code' in response and 'details' in response }}" + error_message: "{{ response.code }}; {{ response.details }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + field_name: startIndex + inject_into: request_parameter + page_size_option: + type: RequestOption + field_name: count + inject_into: request_parameter + pagination_strategy: + type: OffsetIncrement + page_size: 100 + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_display_ad_groups" + sponsored_display_product_ads: + type: DeclarativeStream + name: sponsored_display_product_ads + primary_key: + - adId + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: sd/productAds + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'message' in response }}" + error_message: "{{ response.message }}" + - type: HttpResponseFilter + action: IGNORE + predicate: "{{ 'code' in response and 'details' in response }}" + error_message: "{{ response.code }}; {{ response.details }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + field_name: startIndex + inject_into: request_parameter + page_size_option: + type: RequestOption + field_name: count + inject_into: request_parameter + pagination_strategy: + type: OffsetIncrement + page_size: 100 + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_display_product_ads" + sponsored_display_targetings: + type: DeclarativeStream + name: sponsored_display_targetings + primary_key: + - targetId + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: sd/targets + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'message' in response }}" + error_message: "{{ response.message }}" + - type: HttpResponseFilter + action: IGNORE + predicate: "{{ 'code' in response and 'details' in response }}" + error_message: "{{ response.code }}; {{ response.details }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + field_name: startIndex + inject_into: request_parameter + page_size_option: + type: RequestOption + field_name: count + inject_into: request_parameter + pagination_strategy: + type: OffsetIncrement + page_size: 100 + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_display_targetings" + sponsored_display_creatives: + type: DeclarativeStream + name: sponsored_display_creatives + primary_key: + - creativeId + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: sd/creatives + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'message' in response }}" + error_message: "{{ response.message }}" + - type: HttpResponseFilter + action: IGNORE + predicate: "{{ 'code' in response and 'details' in response }}" + error_message: "{{ response.code }}; {{ response.details }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + field_name: startIndex + inject_into: request_parameter + page_size_option: + type: RequestOption + field_name: count + inject_into: request_parameter + pagination_strategy: + type: OffsetIncrement + page_size: 100 + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_display_creatives" + sponsored_display_budget_rules: + type: DeclarativeStream + name: sponsored_display_budget_rules + primary_key: + - ruleId + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: sp/budgetRules + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'message' in response }}" + error_message: "{{ response.message }}" + - type: HttpResponseFilter + action: IGNORE + predicate: "{{ 'code' in response and 'details' in response }}" + error_message: "{{ response.code }}; {{ response.details }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - budgetRulesForAdvertiserResponse + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + field_name: startIndex + inject_into: request_parameter + page_size_option: + type: RequestOption + field_name: pageSize + inject_into: request_parameter + pagination_strategy: + type: OffsetIncrement + page_size: 30 + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_display_budget_rules" + sponsored_brands_keywords: + type: DeclarativeStream + name: sponsored_brands_keywords + primary_key: + - adGroupId + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: sb/keywords + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'message' in response }}" + error_message: "{{ response.message }}" + - type: HttpResponseFilter + action: IGNORE + predicate: "{{ 'code' in response and 'details' in response }}" + error_message: "{{ response.code }}; {{ response.details }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + field_name: startIndex + inject_into: request_parameter + page_size_option: + type: RequestOption + field_name: count + inject_into: request_parameter + pagination_strategy: + type: OffsetIncrement + page_size: 100 + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_brands_keywords" + sponsored_brands_campaigns: + type: DeclarativeStream + name: sponsored_brands_campaigns + primary_key: + - campaignId + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: sb/v4/campaigns/list + http_method: POST + request_headers: + Accept: application/vnd.sbcampaignresource.v4+json + Content-Type: application/vnd.sbcampaignresource.v4+json + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + stateFilter: " {{ {'include': ','.join(config['state_filter'])} if config['state_filter'] else None }} " + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'message' in response }}" + error_message: "{{ response.message }}" + - type: HttpResponseFilter + action: IGNORE + predicate: "{{ 'code' in response and 'details' in response }}" + error_message: "{{ response.code }}; {{ response.details }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - campaigns + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: nextToken + page_size_option: + type: RequestOption + inject_into: body_json + field_name: maxResults + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: "{{ response.nextToken }}" + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_brands_campaigns" + sponsored_brands_ad_groups: + type: DeclarativeStream + name: sponsored_brands_ad_groups + primary_key: + - adGroupId + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: sb/v4/adGroups/list + http_method: POST + request_headers: + Accept: application/vnd.sbadgroupresource.v4+json + Content-Type: application/vnd.sbadgroupresource.v4+json + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'message' in response }}" + error_message: "{{ response.message }}" + - type: HttpResponseFilter + action: IGNORE + predicate: "{{ 'code' in response and 'details' in response }}" + error_message: "{{ response.code }}; {{ response.details }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - adGroups + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: nextToken + page_size_option: + type: RequestOption + inject_into: body_json + field_name: maxResults + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: "{{ response.nextToken }}" + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_brands_ad_groups" + sponsored_product_campaigns: + type: DeclarativeStream + name: sponsored_product_campaigns + primary_key: + - campaignId + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: sp/campaigns/list + http_method: POST + request_headers: + Accept: application/vnd.spCampaign.v3+json + Content-Type: application/vnd.spCampaign.v3+json + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + stateFilter: " {{ {'include': ','.join(config['state_filter'])} if config['state_filter'] else None }} " + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - campaigns + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: nextToken + page_size_option: + type: RequestOption + inject_into: body_json + field_name: maxResults + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: "{{ response.nextToken }}" + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_product_campaigns" + sponsored_product_ad_groups: + type: DeclarativeStream + name: sponsored_product_ad_groups + primary_key: + - adGroupId + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /sp/adGroups/list + http_method: POST + request_headers: + Accept: application/vnd.spAdGroup.v3+json + Content-Type: application/vnd.spAdGroup.v3+json + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - adGroups + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: nextToken + page_size_option: + type: RequestOption + inject_into: body_json + field_name: maxResults + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: "{{ response.nextToken }}" + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_product_ad_groups" + sponsored_product_keywords: + type: DeclarativeStream + name: sponsored_product_keywords + primary_key: + - keywordId + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: sp/keywords/list + http_method: POST + request_headers: + Accept: application/vnd.spKeyword.v3+json + Content-Type: application/vnd.spKeyword.v3+json + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - keywords + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: nextToken + page_size_option: + type: RequestOption + inject_into: body_json + field_name: maxResults + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: "{{ response.nextToken }}" + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_product_keywords" + sponsored_product_negative_keywords: + type: DeclarativeStream + name: sponsored_product_negative_keywords + primary_key: + - keywordId + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: sp/negativeKeywords/list + http_method: POST + request_headers: + Accept: application/vnd.spNegativeKeyword.v3+json + Content-Type: application/vnd.spNegativeKeyword.v3+json + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - negativeKeywords + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: nextToken + page_size_option: + type: RequestOption + inject_into: body_json + field_name: maxResults + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: "{{ response.nextToken }}" + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_product_negative_keywords" + sponsored_product_campaign_negative_keywords: + type: DeclarativeStream + name: sponsored_product_campaign_negative_keywords + primary_key: + - keywordId + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: sp/campaignNegativeKeywords/list + http_method: POST + request_headers: + Accept: application/vnd.spCampaignNegativeKeyword.v3+json + Content-Type: application/vnd.spCampaignNegativeKeyword.v3+json + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - campaignNegativeKeywords + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: nextToken + page_size_option: + type: RequestOption + inject_into: body_json + field_name: maxResults + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: "{{ response.nextToken }}" + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_product_campaign_negative_keywords" + sponsored_product_ads: + type: DeclarativeStream + name: sponsored_product_ads + primary_key: + - adId + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: sp/productAds/list + http_method: POST + request_headers: + Accept: application/vnd.spProductAd.v3+json + Content-Type: application/vnd.spProductAd.v3+json + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - productAds + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: nextToken + page_size_option: + type: RequestOption + inject_into: body_json + field_name: maxResults + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: "{{ response.nextToken }}" + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_product_ads" + sponsored_product_targetings: + type: DeclarativeStream + name: sponsored_product_targetings + primary_key: + - targetId + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: sp/targets/list + http_method: POST + request_headers: + Accept: application/vnd.spTargetingClause.v3+json + Content-Type: application/vnd.spTargetingClause.v3+json + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - targetingClauses + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: nextToken + page_size_option: + type: RequestOption + inject_into: body_json + field_name: maxResults + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: "{{ response.nextToken }}" + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_product_targetings" + sponsored_product_ad_group_bid_recommendations: + type: DeclarativeStream + name: sponsored_product_ad_group_bid_recommendations + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /sp/targets/bid/recommendations + http_method: POST + request_headers: + Accept: application/vnd.spthemebasedbidrecommendation.v4+json + Content-Type: application/vnd.spthemebasedbidrecommendation.v4+json + Amazon-Advertising-API-Scope: "{{ stream_slice.parent_slice['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + adGroupId: "{{ stream_slice[\"adGroupId\"] }}" + campaignId: "{{ stream_slice.extra_fields[\"campaignId\"] }}" + recommendationType: BIDS_FOR_EXISTING_AD_GROUP + targetingExpressions: + - type: CLOSE_MATCH + - type: LOOSE_MATCH + - type: SUBSTITUTES + - type: COMPLEMENTS + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 400 + error_message: >- + Skip current AdGroup because it does not support request + {response.request.url} for current profile + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 422 + error_message: >- + Skip current AdGroup because the ad group + {json.loads(response.request.body)['adGroupId']} does not have + any asins + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 404 + error_message: >- + Skip current AdGroup because the specified ad group has no + associated bid + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: nextToken + page_size_option: + type: RequestOption + inject_into: body_json + field_name: maxResults + pagination_strategy: + type: CursorPagination + page_size: 100 + cursor_value: "{{ response.nextToken }}" + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + stream: + $ref: "#/definitions/streams/sponsored_product_ad_groups" + parent_key: adGroupId + extra_fields: + - - campaignId + partition_field: adGroupId + transformations: + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - adGroupId + value: "{{ stream_slice[\"adGroupId\"] }}" + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - campaignId + value: "{{ stream_slice.extra_fields[\"campaignId\"] }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_product_ad_group_bid_recommendations" + sponsored_product_ad_group_suggested_keywords: + type: DeclarativeStream + retriever: + type: SimpleRetriever + requester: + request_params: + maxNumSuggestions: 100 + $ref: "#/definitions/base_requester" + path: v2/sp/adGroups/{{ stream_slice['adGroupId'] }}/suggested/keywords + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_slice.parent_slice['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 400 + error_message: >- + Skip current AdGroup because it does not support request + {response.request.url} for current profile + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 422 + error_message: >- + Skip current AdGroup because the ad group + {json.loads(response.request.body)['adGroupId']} does not have + any asins + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 404 + error_message: >- + Skip current AdGroup because the specified ad group has no + associated bid + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + stream: + $ref: "#/definitions/streams/sponsored_product_ad_groups" + parent_key: adGroupId + extra_fields: + - - campaignId + partition_field: adGroupId + name: sponsored_product_ad_group_suggested_keywords + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_product_ad_group_suggested_keywords" + attribution_report_products: + type: DeclarativeStream + name: attribution_report_products + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /attribution/report + http_method: POST + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + endDate: >- + "{{ + format_datetime(today_with_timezone(stream_slice.extra_fields['timezone']).strftime('%Y%m%d'), + '%Y%m%d', '%Y%m%d') }}" + metrics: | + {{ + ','.join([ + 'attributedDetailPageViewsClicks14d', + 'attributedAddToCartClicks14d', + 'attributedPurchases14d', + 'unitsSold14d', + 'attributedSales14d', + 'brandHaloDetailPageViewsClicks14d', + 'brandHaloAttributedAddToCartClicks14d', + 'brandHaloAttributedPurchases14d', + 'brandHaloUnitsSold14d', + 'brandHaloAttributedSales14d', + 'attributedNewToBrandPurchases14d', + 'attributedNewToBrandUnitsSold14d', + 'attributedNewToBrandSales14d', + 'brandHaloNewToBrandPurchases14d', + 'brandHaloNewToBrandUnitsSold14d', + 'brandHaloNewToBrandSales14d', + ]) + }} + startDate: >- + {%- set _start_date = config.get("start_date") -%} {%- set + start_date = + today_with_timezone(stream_slice.extra_fields["timezone"]) -%} {%- + set end_date = + today_with_timezone(stream_slice.extra_fields["timezone"]) -%} "{{ + start_date.strftime("%Y%m%d") if not config.get("start_date") else + max(format_datetime(config['start_date'], "%Y%m%d"), (end_date - + duration("P90D")).strftime("%Y%m%d")) | string }}" + reportType: PRODUCTS + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + predicate: >- + {{ response.message == "This profileID is not authorized to + use Amazon Attribution" }} + error_message: "{{ response }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'message' in response }}" + error_message: "{{ response.message }}" + - type: HttpResponseFilter + action: IGNORE + predicate: "{{ 'code' in response and 'details' in response }}" + error_message: "{{ response.code }}; {{ response.details }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - reports + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: cursorId + page_size_option: + type: RequestOption + inject_into: body_json + field_name: count + pagination_strategy: + type: CursorPagination + page_size: 300 + cursor_value: "{{ response.cursorId }}" + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + stream: + $ref: "#/definitions/streams/profiles_filtered" + parent_key: profileId + extra_fields: + - - timezone + partition_field: profileId + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/attribution_report_products" + attribution_report_performance_adgroup: + type: DeclarativeStream + name: attribution_report_performance_adgroup + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /attribution/report + http_method: POST + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + endDate: >- + "{{ + format_datetime(today_with_timezone(stream_slice.extra_fields['timezone']).strftime('%Y%m%d'), + '%Y%m%d', '%Y%m%d') }}" + groupBy: ADGROUP + metrics: | + {{ + ','.join([ + 'Click-throughs', + 'attributedDetailPageViewsClicks14d', + 'attributedAddToCartClicks14d', + 'attributedPurchases14d', + 'unitsSold14d', + 'attributedSales14d', + 'attributedTotalDetailPageViewsClicks14d', + 'attributedTotalAddToCartClicks14d', + 'attributedTotalPurchases14d', + 'totalUnitsSold14d', + 'totalAttributedSales14d', + 'brb_bonus_amount' + ]) + }} + startDate: >- + {%- set _start_date = config.get("start_date") -%} {%- set + start_date = + today_with_timezone(stream_slice.extra_fields["timezone"]) -%} {%- + set end_date = + today_with_timezone(stream_slice.extra_fields["timezone"]) -%} "{{ + start_date.strftime("%Y%m%d") if not config.get("start_date") else + max(format_datetime(config['start_date'], "%Y%m%d"), (end_date - + duration("P90D")).strftime("%Y%m%d")) | string }}" + reportType: PERFORMANCE + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 400 + error_message: "{{ response }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'message' in response }}" + error_message: "{{ response.message }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - reports + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: cursorId + page_size_option: + type: RequestOption + inject_into: body_json + field_name: count + pagination_strategy: + type: CursorPagination + page_size: 300 + cursor_value: "{{ response.cursorId }}" + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + stream: + $ref: "#/definitions/streams/profiles_filtered" + parent_key: profileId + extra_fields: + - - timezone + partition_field: profileId + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/attribution_report_performance_adgroup" + attribution_report_performance_campaign: + type: DeclarativeStream + name: attribution_report_performance_campaign + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /attribution/report + http_method: POST + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + endDate: >- + "{{ + format_datetime(today_with_timezone(stream_slice.extra_fields['timezone']).strftime('%Y%m%d'), + '%Y%m%d', '%Y%m%d') }}" + groupBy: CAMPAIGN + metrics: | + {{ + ','.join([ + 'Click-throughs', + 'attributedDetailPageViewsClicks14d', + 'attributedAddToCartClicks14d', + 'attributedPurchases14d', + 'unitsSold14d', + 'attributedSales14d', + 'attributedTotalDetailPageViewsClicks14d', + 'attributedTotalAddToCartClicks14d', + 'attributedTotalPurchases14d', + 'totalUnitsSold14d', + 'totalAttributedSales14d', + 'brb_bonus_amount' + ]) + }} + startDate: >- + {%- set _start_date = config.get("start_date") -%} {%- set + start_date = + today_with_timezone(stream_slice.extra_fields["timezone"]) -%} {%- + set end_date = + today_with_timezone(stream_slice.extra_fields["timezone"]) -%} "{{ + start_date.strftime("%Y%m%d") if not config.get("start_date") else + max(format_datetime(config['start_date'], "%Y%m%d"), (end_date - + duration("P90D")).strftime("%Y%m%d")) | string }}" + reportType: PERFORMANCE + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 400 + error_message: "{{ response }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'message' in response }}" + error_message: "{{ response.message }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - reports + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: cursorId + page_size_option: + type: RequestOption + inject_into: body_json + field_name: count + pagination_strategy: + type: CursorPagination + page_size: 300 + cursor_value: "{{ response.cursorId }}" + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + stream: + $ref: "#/definitions/streams/profiles_filtered" + parent_key: profileId + extra_fields: + - - timezone + partition_field: profileId + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/attribution_report_performance_campaign" + attribution_report_performance_creative: + type: DeclarativeStream + name: attribution_report_performance_creative + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /attribution/report + http_method: POST + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + endDate: >- + "{{ + format_datetime(today_with_timezone(stream_slice.extra_fields['timezone']).strftime('%Y%m%d'), + '%Y%m%d', '%Y%m%d') }}" + groupBy: CREATIVE + metrics: | + {{ + ','.join([ + 'Click-throughs', + 'attributedDetailPageViewsClicks14d', + 'attributedAddToCartClicks14d', + 'attributedPurchases14d', + 'unitsSold14d', + 'attributedSales14d', + 'attributedTotalDetailPageViewsClicks14d', + 'attributedTotalAddToCartClicks14d', + 'attributedTotalPurchases14d', + 'totalUnitsSold14d', + 'totalAttributedSales14d', + ]) + }} + startDate: >- + {%- set _start_date = config.get("start_date") -%} {%- set + start_date = + today_with_timezone(stream_slice.extra_fields["timezone"]) -%} {%- + set end_date = + today_with_timezone(stream_slice.extra_fields["timezone"]) -%} "{{ + start_date.strftime("%Y%m%d") if not config.get("start_date") else + max(format_datetime(config['start_date'], "%Y%m%d"), (end_date - + duration("P90D")).strftime("%Y%m%d")) | string }}" + reportType: PERFORMANCE + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 400 + error_message: "{{ response }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'message' in response }}" + error_message: "{{ response.message }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - reports + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: cursorId + page_size_option: + type: RequestOption + inject_into: body_json + field_name: count + pagination_strategy: + type: CursorPagination + page_size: 300 + cursor_value: "{{ response.cursorId }}" + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + stream: + $ref: "#/definitions/streams/profiles_filtered" + parent_key: profileId + extra_fields: + - - timezone + partition_field: profileId + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/attribution_report_performance_creative" + sponsored_brands_v3_report_stream: + type: DeclarativeStream + name: sponsored_brands_v3_report_stream + retriever: + type: AsyncRetriever + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + status_mapping: + failed: + - FAILED + running: + - PENDING + - PROCESSING + timeout: + - timeout + completed: + - COMPLETED + status_extractor: + type: DpathExtractor + field_path: + - status + download_target_extractor: + type: DpathExtractor + field_path: + - url + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + creation_requester: + type: HttpRequester + url_base: |- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] }}/reporting/reports + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: POST + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + name: purchasedAsin report {{ stream_interval.start_time }} + endDate: "{{ stream_interval.end_time }}" + startDate: "{{ stream_interval.start_time }}" + configuration: + format: GZIP_JSON + columns: + - campaignBudgetCurrencyCode + - campaignName + - adGroupName + - attributionType + - purchasedAsin + - productName + - productCategory + - sales14d + - orders14d + - unitsSold14d + - newToBrandSales14d + - newToBrandPurchases14d + - newToBrandUnitsSold14d + - newToBrandSalesPercentage14d + - newToBrandPurchasesPercentage14d + - newToBrandUnitsSoldPercentage14d + filters: [] + groupBy: + - purchasedAsin + timeUnit: SUMMARY + adProduct: SPONSORED_BRANDS + reportTypeId: sbPurchasedProduct + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'KDP authors do not have access to Sponsored Brands + functionality' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Not authorized to access scope' in response.details }}" + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'Tactic T00020 is not supported for report API in + marketplace' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Report date is too far in the past' in response.details }}" + error_message: "{{ response.details }}" + polling_requester: + type: HttpRequester + url_base: >- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] + }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: >- + {{ + stream_slice['create_job_response'].request.headers['Amazon-Advertising-API-Scope'] + }} + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 5 + response_filters: + - type: HttpResponseFilter + action: RETRY + http_codes: + - 401 + error_message: >- + Unauthorized error while report status checking. Known + error. Please, retry the request or restart sync. + download_requester: + type: HttpRequester + url_base: test_base/{{stream_slice.extra_fields['url']}} + http_method: GET + primary_key: + - profileId + - reportDate + - adGroupName + - purchasedAsin + incremental_sync: + type: DatetimeBasedCursor + cursor_field: reportDate + lookback_window: P{{ config.get('look_back_window', 3) }}D + cursor_datetime_formats: + - "%Y-%m-%d" + datetime_format: "%Y-%m-%d" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.get('start_date', today_utc().strftime('%Y-%m-%d') ) }}" + datetime_format: "%Y-%m-%d" + start_time_option: + type: RequestOption + inject_into: body_json + field_name: startDate + end_time_option: + type: RequestOption + inject_into: body_json + field_name: endDate + end_datetime: + type: MinMaxDatetime + datetime: "{{ today_utc() }}" + datetime_format: "%Y-%m-%d" + step: P{{ config.get('events_time_step', 30) }}D + cursor_granularity: P1D + transformations: + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - reportDate + value: "{{ stream_interval.end_time }}" + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - profileId + value: "{{ stream_partition['profileId'] }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_brands_v3_report_stream" + sponsored_display_campaigns_report_stream: + type: DeclarativeStream + name: sponsored_display_campaigns_report_stream + retriever: + type: AsyncRetriever + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + status_mapping: + failed: + - FAILED + running: + - PENDING + - PROCESSING + timeout: + - timeout + completed: + - COMPLETED + status_extractor: + type: DpathExtractor + field_path: + - status + download_target_extractor: + type: DpathExtractor + field_path: + - url + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + creation_requester: + type: HttpRequester + url_base: |- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] }}/reporting/reports + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: POST + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + name: campaigns report {{ stream_interval.start_time }} + endDate: "{{ stream_interval.end_time }}" + startDate: "{{ stream_interval.start_time }}" + configuration: + format: GZIP_JSON + columns: + - addToCart + - addToCartClicks + - addToCartRate + - addToCartViews + - addToList + - addToListFromClicks + - addToListFromViews + - qualifiedBorrows + - qualifiedBorrowsFromClicks + - qualifiedBorrowsFromViews + - royaltyQualifiedBorrows + - royaltyQualifiedBorrowsFromClicks + - royaltyQualifiedBorrowsFromViews + - brandedSearches + - brandedSearchesClicks + - brandedSearchesViews + - brandedSearchRate + - campaignBudgetCurrencyCode + - campaignId + - campaignName + - clicks + - cost + - detailPageViews + - detailPageViewsClicks + - eCPAddToCart + - eCPBrandSearch + - endDate + - impressions + - impressionsViews + - leadFormOpens + - leads + - linkOuts + - newToBrandPurchases + - newToBrandPurchasesClicks + - newToBrandSalesClicks + - newToBrandUnitsSold + - newToBrandUnitsSoldClicks + - purchases + - purchasesClicks + - purchasesPromotedClicks + - sales + - salesClicks + - salesPromotedClicks + - startDate + - unitsSold + - unitsSoldClicks + - videoCompleteViews + - videoFirstQuartileViews + - videoMidpointViews + - videoThirdQuartileViews + - videoUnmutes + - viewabilityRate + - viewClickThroughRate + - campaignBudgetAmount + - campaignStatus + - costType + - cumulativeReach + - impressionsFrequencyAverage + - newToBrandDetailPageViewClicks + - newToBrandDetailPageViewRate + - newToBrandDetailPageViews + - newToBrandDetailPageViewViews + - newToBrandECPDetailPageView + - newToBrandSales + filters: [] + groupBy: + - campaign + timeUnit: SUMMARY + adProduct: SPONSORED_DISPLAY + reportTypeId: sdCampaigns + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'KDP authors do not have access to Sponsored Brands + functionality' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Not authorized to access scope' in response.details }}" + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'Tactic T00020 is not supported for report API in + marketplace' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Report date is too far in the past' in response.details }}" + error_message: "{{ response.details }}" + polling_requester: + type: HttpRequester + url_base: >- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] + }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: >- + {{ + stream_slice['create_job_response'].request.headers['Amazon-Advertising-API-Scope'] + }} + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 5 + response_filters: + - type: HttpResponseFilter + action: RETRY + http_codes: + - 401 + error_message: >- + Unauthorized error while report status checking. Known + error. Please, retry the request or restart sync. + download_requester: + type: HttpRequester + url_base: test_base/{{stream_slice.extra_fields['url']}} + http_method: GET + primary_key: + - profileId + - reportDate + - campaignId + incremental_sync: + type: DatetimeBasedCursor + cursor_field: reportDate + lookback_window: P{{ config.get('look_back_window', 3) }}D + cursor_datetime_formats: + - "%Y-%m-%d" + datetime_format: "%Y-%m-%d" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.get('start_date', today_utc().strftime('%Y-%m-%d') ) }}" + datetime_format: "%Y-%m-%d" + start_time_option: + type: RequestOption + inject_into: body_json + field_name: startDate + end_time_option: + type: RequestOption + inject_into: body_json + field_name: endDate + end_datetime: + type: MinMaxDatetime + datetime: "{{ today_utc() }}" + datetime_format: "%Y-%m-%d" + step: P{{ config.get('events_time_step', 30) }}D + cursor_granularity: P1D + transformations: + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - reportDate + value: "{{ stream_interval.end_time }}" + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - profileId + value: "{{ stream_partition['profileId'] }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_display_campaigns_report_stream" + sponsored_display_adgroups_report_stream: + type: DeclarativeStream + name: sponsored_display_adgroups_report_stream + retriever: + type: AsyncRetriever + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + status_mapping: + failed: + - FAILED + running: + - PENDING + - PROCESSING + timeout: + - timeout + completed: + - COMPLETED + status_extractor: + type: DpathExtractor + field_path: + - status + download_target_extractor: + type: DpathExtractor + field_path: + - url + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + creation_requester: + type: HttpRequester + url_base: |- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] }}/reporting/reports + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: POST + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + name: adGroups report {{ stream_interval.start_time }} + endDate: "{{ stream_interval.end_time }}" + startDate: "{{ stream_interval.start_time }}" + configuration: + format: GZIP_JSON + columns: + - addToCart + - addToCartClicks + - addToCartRate + - addToCartViews + - adGroupId + - adGroupName + - addToList + - addToListFromClicks + - addToListFromViews + - qualifiedBorrows + - qualifiedBorrowsFromClicks + - qualifiedBorrowsFromViews + - royaltyQualifiedBorrows + - royaltyQualifiedBorrowsFromClicks + - royaltyQualifiedBorrowsFromViews + - bidOptimization + - brandedSearches + - brandedSearchesClicks + - brandedSearchesViews + - brandedSearchRate + - campaignBudgetCurrencyCode + - campaignId + - campaignName + - clicks + - cost + - detailPageViews + - detailPageViewsClicks + - eCPAddToCart + - eCPBrandSearch + - endDate + - impressions + - impressionsViews + - leadFormOpens + - leads + - linkOuts + - newToBrandPurchases + - newToBrandPurchasesClicks + - newToBrandSales + - newToBrandSalesClicks + - newToBrandUnitsSold + - newToBrandUnitsSoldClicks + - purchases + - purchasesClicks + - purchasesPromotedClicks + - sales + - salesClicks + - salesPromotedClicks + - startDate + - unitsSold + - unitsSoldClicks + - videoCompleteViews + - videoFirstQuartileViews + - videoMidpointViews + - videoThirdQuartileViews + - videoUnmutes + - viewabilityRate + - viewClickThroughRate + - cumulativeReach + - impressionsFrequencyAverage + - newToBrandDetailPageViewClicks + - newToBrandDetailPageViewRate + - newToBrandDetailPageViews + - newToBrandDetailPageViewViews + - newToBrandECPDetailPageView + filters: [] + groupBy: + - adGroup + timeUnit: SUMMARY + adProduct: SPONSORED_DISPLAY + reportTypeId: sdAdGroup + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'KDP authors do not have access to Sponsored Brands + functionality' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Not authorized to access scope' in response.details }}" + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'Tactic T00020 is not supported for report API in + marketplace' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Report date is too far in the past' in response.details }}" + error_message: "{{ response.details }}" + polling_requester: + type: HttpRequester + url_base: >- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] + }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: >- + {{ + stream_slice['create_job_response'].request.headers['Amazon-Advertising-API-Scope'] + }} + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 5 + response_filters: + - type: HttpResponseFilter + action: RETRY + http_codes: + - 401 + error_message: >- + Unauthorized error while report status checking. Known + error. Please, retry the request or restart sync. + download_requester: + type: HttpRequester + url_base: test_base/{{stream_slice.extra_fields['url']}} + http_method: GET + primary_key: + - profileId + - reportDate + - adGroupName + - adGroupId + incremental_sync: + type: DatetimeBasedCursor + cursor_field: reportDate + lookback_window: P{{ config.get('look_back_window', 3) }}D + cursor_datetime_formats: + - "%Y-%m-%d" + datetime_format: "%Y-%m-%d" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.get('start_date', today_utc().strftime('%Y-%m-%d') ) }}" + datetime_format: "%Y-%m-%d" + start_time_option: + type: RequestOption + inject_into: body_json + field_name: startDate + end_time_option: + type: RequestOption + inject_into: body_json + field_name: endDate + end_datetime: + type: MinMaxDatetime + datetime: "{{ today_utc() }}" + datetime_format: "%Y-%m-%d" + step: P{{ config.get('events_time_step', 30) }}D + cursor_granularity: P1D + transformations: + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - reportDate + value: "{{ stream_interval.end_time }}" + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - profileId + value: "{{ stream_partition['profileId'] }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_display_adgroups_report_stream" + sponsored_display_productads_report_stream: + type: DeclarativeStream + name: sponsored_display_productads_report_stream + retriever: + type: AsyncRetriever + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + status_mapping: + failed: + - FAILED + running: + - PENDING + - PROCESSING + timeout: + - timeout + completed: + - COMPLETED + status_extractor: + type: DpathExtractor + field_path: + - status + download_target_extractor: + type: DpathExtractor + field_path: + - url + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + creation_requester: + type: HttpRequester + url_base: |- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] }}/reporting/reports + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: POST + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + name: productAds report {{ stream_interval.start_time }} + endDate: "{{ stream_interval.end_time }}" + startDate: "{{ stream_interval.start_time }}" + configuration: + format: GZIP_JSON + columns: + - addToCart + - addToCartRate + - addToCartViews + - addToCartClicks + - adGroupId + - adGroupName + - adId + - addToList + - addToListFromClicks + - qualifiedBorrows + - royaltyQualifiedBorrows + - addToListFromViews + - qualifiedBorrowsFromClicks + - qualifiedBorrowsFromViews + - royaltyQualifiedBorrowsFromClicks + - royaltyQualifiedBorrowsFromViews + - bidOptimization + - brandedSearches + - brandedSearchesClicks + - brandedSearchesViews + - brandedSearchRate + - campaignBudgetCurrencyCode + - campaignId + - campaignName + - clicks + - cost + - cumulativeReach + - detailPageViews + - detailPageViewsClicks + - eCPAddToCart + - eCPBrandSearch + - endDate + - impressions + - impressionsFrequencyAverage + - impressionsViews + - leadFormOpens + - leads + - linkOuts + - newToBrandDetailPageViewClicks + - newToBrandDetailPageViewRate + - newToBrandDetailPageViews + - newToBrandDetailPageViewViews + - newToBrandECPDetailPageView + - newToBrandPurchases + - newToBrandPurchasesClicks + - newToBrandSales + - newToBrandSalesClicks + - newToBrandUnitsSold + - newToBrandUnitsSoldClicks + - promotedAsin + - promotedSku + - purchases + - purchasesClicks + - purchasesPromotedClicks + - sales + - salesClicks + - salesPromotedClicks + - startDate + - unitsSold + - unitsSoldClicks + - videoCompleteViews + - videoFirstQuartileViews + - videoMidpointViews + - videoThirdQuartileViews + - videoUnmutes + - viewabilityRate + - viewClickThroughRate + filters: [] + groupBy: + - advertiser + timeUnit: SUMMARY + adProduct: SPONSORED_DISPLAY + reportTypeId: sdAdvertisedProduct + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'KDP authors do not have access to Sponsored Brands + functionality' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Not authorized to access scope' in response.details }}" + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'Tactic T00020 is not supported for report API in + marketplace' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Report date is too far in the past' in response.details }}" + error_message: "{{ response.details }}" + polling_requester: + type: HttpRequester + url_base: >- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] + }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: >- + {{ + stream_slice['create_job_response'].request.headers['Amazon-Advertising-API-Scope'] + }} + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 5 + response_filters: + - type: HttpResponseFilter + action: RETRY + http_codes: + - 401 + error_message: >- + Unauthorized error while report status checking. Known + error. Please, retry the request or restart sync. + download_requester: + type: HttpRequester + url_base: test_base/{{stream_slice.extra_fields['url']}} + http_method: GET + primary_key: + - profileId + - reportDate + - adGroupName + - adId + incremental_sync: + type: DatetimeBasedCursor + cursor_field: reportDate + lookback_window: P{{ config.get('look_back_window', 3) }}D + cursor_datetime_formats: + - "%Y-%m-%d" + datetime_format: "%Y-%m-%d" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.get('start_date', today_utc().strftime('%Y-%m-%d') ) }}" + datetime_format: "%Y-%m-%d" + start_time_option: + type: RequestOption + inject_into: body_json + field_name: startDate + end_time_option: + type: RequestOption + inject_into: body_json + field_name: endDate + end_datetime: + type: MinMaxDatetime + datetime: "{{ today_utc() }}" + datetime_format: "%Y-%m-%d" + step: P{{ config.get('events_time_step', 30) }}D + cursor_granularity: P1D + transformations: + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - reportDate + value: "{{ stream_interval.end_time }}" + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - profileId + value: "{{ stream_partition['profileId'] }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_display_productads_report_stream" + sponsored_display_targets_report_stream: + type: DeclarativeStream + name: sponsored_display_targets_report_stream + retriever: + type: AsyncRetriever + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + status_mapping: + failed: + - FAILED + running: + - PENDING + - PROCESSING + timeout: + - timeout + completed: + - COMPLETED + status_extractor: + type: DpathExtractor + field_path: + - status + download_target_extractor: + type: DpathExtractor + field_path: + - url + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + creation_requester: + type: HttpRequester + url_base: |- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] }}/reporting/reports + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: POST + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + name: targets report {{ stream_interval.start_time }} + endDate: "{{ stream_interval.end_time }}" + startDate: "{{ stream_interval.start_time }}" + configuration: + format: GZIP_JSON + columns: + - addToCart + - addToCartClicks + - addToCartRate + - addToCartViews + - adGroupId + - adGroupName + - addToList + - addToListFromClicks + - addToListFromViews + - qualifiedBorrows + - qualifiedBorrowsFromClicks + - qualifiedBorrowsFromViews + - royaltyQualifiedBorrows + - royaltyQualifiedBorrowsFromClicks + - royaltyQualifiedBorrowsFromViews + - brandedSearches + - brandedSearchesClicks + - brandedSearchesViews + - brandedSearchRate + - campaignBudgetCurrencyCode + - campaignId + - campaignName + - clicks + - cost + - detailPageViews + - detailPageViewsClicks + - eCPAddToCart + - eCPBrandSearch + - endDate + - impressions + - impressionsViews + - leadFormOpens + - leads + - linkOuts + - newToBrandPurchases + - newToBrandPurchasesClicks + - newToBrandSales + - newToBrandSalesClicks + - newToBrandUnitsSold + - newToBrandUnitsSoldClicks + - purchases + - purchasesClicks + - purchasesPromotedClicks + - sales + - salesClicks + - salesPromotedClicks + - startDate + - targetingExpression + - targetingId + - targetingText + - unitsSold + - unitsSoldClicks + - videoCompleteViews + - videoFirstQuartileViews + - videoMidpointViews + - videoThirdQuartileViews + - videoUnmutes + - viewabilityRate + - viewClickThroughRate + filters: [] + groupBy: + - targeting + timeUnit: SUMMARY + adProduct: SPONSORED_DISPLAY + reportTypeId: sdTargeting + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'KDP authors do not have access to Sponsored Brands + functionality' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Not authorized to access scope' in response.details }}" + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'Tactic T00020 is not supported for report API in + marketplace' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Report date is too far in the past' in response.details }}" + error_message: "{{ response.details }}" + polling_requester: + type: HttpRequester + url_base: >- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] + }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: >- + {{ + stream_slice['create_job_response'].request.headers['Amazon-Advertising-API-Scope'] + }} + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 5 + response_filters: + - type: HttpResponseFilter + action: RETRY + http_codes: + - 401 + error_message: >- + Unauthorized error while report status checking. Known + error. Please, retry the request or restart sync. + download_requester: + type: HttpRequester + url_base: test_base/{{stream_slice.extra_fields['url']}} + http_method: GET + primary_key: + - profileId + - reportDate + - adGroupName + - targetingId + incremental_sync: + type: DatetimeBasedCursor + cursor_field: reportDate + lookback_window: P{{ config.get('look_back_window', 3) }}D + cursor_datetime_formats: + - "%Y-%m-%d" + datetime_format: "%Y-%m-%d" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.get('start_date', today_utc().strftime('%Y-%m-%d') ) }}" + datetime_format: "%Y-%m-%d" + start_time_option: + type: RequestOption + inject_into: body_json + field_name: startDate + end_time_option: + type: RequestOption + inject_into: body_json + field_name: endDate + end_datetime: + type: MinMaxDatetime + datetime: "{{ today_utc() }}" + datetime_format: "%Y-%m-%d" + step: P{{ config.get('events_time_step', 30) }}D + cursor_granularity: P1D + transformations: + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - reportDate + value: "{{ stream_interval.end_time }}" + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - profileId + value: "{{ stream_partition['profileId'] }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_display_targets_report_stream" + sponsored_display_asins_report_stream: + type: DeclarativeStream + name: sponsored_display_asins_report_stream + retriever: + type: AsyncRetriever + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + status_mapping: + failed: + - FAILED + running: + - PENDING + - PROCESSING + timeout: + - timeout + completed: + - COMPLETED + status_extractor: + type: DpathExtractor + field_path: + - status + download_target_extractor: + type: DpathExtractor + field_path: + - url + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + creation_requester: + type: HttpRequester + url_base: |- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] }}/reporting/reports + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: POST + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + name: asins report {{ stream_interval.start_time }} + endDate: "{{ stream_interval.end_time }}" + startDate: "{{ stream_interval.start_time }}" + configuration: + format: GZIP_JSON + columns: + - adGroupId + - adGroupName + - asinBrandHalo + - addToList + - addToListFromClicks + - qualifiedBorrowsFromClicks + - royaltyQualifiedBorrowsFromClicks + - addToListFromViews + - qualifiedBorrows + - qualifiedBorrowsFromViews + - royaltyQualifiedBorrows + - royaltyQualifiedBorrowsFromViews + - campaignBudgetCurrencyCode + - campaignId + - campaignName + - conversionsBrandHalo + - conversionsBrandHaloClicks + - endDate + - promotedAsin + - promotedSku + - salesBrandHalo + - salesBrandHaloClicks + - startDate + - unitsSoldBrandHalo + - unitsSoldBrandHaloClicks + filters: [] + groupBy: + - asin + timeUnit: SUMMARY + adProduct: SPONSORED_DISPLAY + reportTypeId: sdPurchasedProduct + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'KDP authors do not have access to Sponsored Brands + functionality' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Not authorized to access scope' in response.details }}" + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'Tactic T00020 is not supported for report API in + marketplace' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Report date is too far in the past' in response.details }}" + error_message: "{{ response.details }}" + polling_requester: + type: HttpRequester + url_base: >- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] + }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: >- + {{ + stream_slice['create_job_response'].request.headers['Amazon-Advertising-API-Scope'] + }} + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 5 + response_filters: + - type: HttpResponseFilter + action: RETRY + http_codes: + - 401 + error_message: >- + Unauthorized error while report status checking. Known + error. Please, retry the request or restart sync. + download_requester: + type: HttpRequester + url_base: test_base/{{stream_slice.extra_fields['url']}} + http_method: GET + primary_key: + - profileId + - reportDate + - adGroupName + - promotedAsin + incremental_sync: + type: DatetimeBasedCursor + cursor_field: reportDate + lookback_window: P{{ config.get('look_back_window', 3) }}D + cursor_datetime_formats: + - "%Y-%m-%d" + datetime_format: "%Y-%m-%d" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.get('start_date', today_utc().strftime('%Y-%m-%d') ) }}" + datetime_format: "%Y-%m-%d" + start_time_option: + type: RequestOption + inject_into: body_json + field_name: startDate + end_time_option: + type: RequestOption + inject_into: body_json + field_name: endDate + end_datetime: + type: MinMaxDatetime + datetime: "{{ today_utc() }}" + datetime_format: "%Y-%m-%d" + step: P{{ config.get('events_time_step', 30) }}D + cursor_granularity: P1D + transformations: + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - reportDate + value: "{{ stream_interval.end_time }}" + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - profileId + value: "{{ stream_partition['profileId'] }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_display_asins_report_stream" + sponsored_products_campaigns_report_stream: + type: DeclarativeStream + name: sponsored_products_campaigns_report_stream + retriever: + type: AsyncRetriever + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + status_mapping: + failed: + - FAILED + running: + - PENDING + - PROCESSING + timeout: + - timeout + completed: + - COMPLETED + status_extractor: + type: DpathExtractor + field_path: + - status + download_target_extractor: + type: DpathExtractor + field_path: + - url + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + creation_requester: + type: HttpRequester + url_base: |- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] }}/reporting/reports + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: POST + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + name: campaigns report {{ stream_interval.start_time }} + endDate: "{{ stream_interval.end_time }}" + startDate: "{{ stream_interval.start_time }}" + configuration: + format: GZIP_JSON + columns: + - campaignName + - campaignId + - campaignStatus + - campaignBudgetAmount + - campaignRuleBasedBudgetAmount + - campaignApplicableBudgetRuleId + - campaignApplicableBudgetRuleName + - impressions + - clicks + - cost + - purchases1d + - purchases7d + - purchases14d + - purchases30d + - purchasesSameSku1d + - purchasesSameSku7d + - purchasesSameSku14d + - purchasesSameSku30d + - unitsSoldClicks1d + - unitsSoldClicks7d + - unitsSoldClicks14d + - unitsSoldClicks30d + - sales1d + - sales7d + - sales14d + - sales30d + - attributedSalesSameSku1d + - attributedSalesSameSku7d + - attributedSalesSameSku14d + - attributedSalesSameSku30d + - unitsSoldSameSku1d + - unitsSoldSameSku7d + - unitsSoldSameSku14d + - unitsSoldSameSku30d + filters: [] + groupBy: + - campaign + timeUnit: SUMMARY + adProduct: SPONSORED_PRODUCTS + reportTypeId: spCampaigns + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'KDP authors do not have access to Sponsored Brands + functionality' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Not authorized to access scope' in response.details }}" + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'Tactic T00020 is not supported for report API in + marketplace' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Report date is too far in the past' in response.details }}" + error_message: "{{ response.details }}" + polling_requester: + type: HttpRequester + url_base: >- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] + }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: >- + {{ + stream_slice['create_job_response'].request.headers['Amazon-Advertising-API-Scope'] + }} + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 5 + response_filters: + - type: HttpResponseFilter + action: RETRY + http_codes: + - 401 + error_message: >- + Unauthorized error while report status checking. Known + error. Please, retry the request or restart sync. + download_requester: + type: HttpRequester + url_base: test_base/{{stream_slice.extra_fields['url']}} + http_method: GET + primary_key: + - profileId + - reportDate + - campaignId + incremental_sync: + type: DatetimeBasedCursor + cursor_field: reportDate + lookback_window: P{{ config.get('look_back_window', 3) }}D + cursor_datetime_formats: + - "%Y-%m-%d" + datetime_format: "%Y-%m-%d" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.get('start_date', today_utc().strftime('%Y-%m-%d') ) }}" + datetime_format: "%Y-%m-%d" + start_time_option: + type: RequestOption + inject_into: body_json + field_name: startDate + end_time_option: + type: RequestOption + inject_into: body_json + field_name: endDate + end_datetime: + type: MinMaxDatetime + datetime: "{{ today_utc() }}" + datetime_format: "%Y-%m-%d" + step: P{{ config.get('events_time_step', 30) }}D + cursor_granularity: P1D + transformations: + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - reportDate + value: "{{ stream_interval.end_time }}" + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - profileId + value: "{{ stream_partition['profileId'] }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_products_campaigns_report_stream" + sponsored_products_adgroups_report_stream: + type: DeclarativeStream + name: sponsored_products_adgroups_report_stream + retriever: + type: AsyncRetriever + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + status_mapping: + failed: + - FAILED + running: + - PENDING + - PROCESSING + timeout: + - timeout + completed: + - COMPLETED + status_extractor: + type: DpathExtractor + field_path: + - status + download_target_extractor: + type: DpathExtractor + field_path: + - url + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + creation_requester: + type: HttpRequester + url_base: |- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] }}/reporting/reports + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: POST + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + name: adGroups report {{ stream_interval.start_time }} + endDate: "{{ stream_interval.end_time }}" + startDate: "{{ stream_interval.start_time }}" + configuration: + format: GZIP_JSON + columns: + - campaignName + - campaignId + - adGroupName + - adGroupId + - impressions + - clicks + - cost + - purchases1d + - purchases7d + - purchases14d + - purchases30d + - purchasesSameSku1d + - purchasesSameSku7d + - purchasesSameSku14d + - purchasesSameSku30d + - unitsSoldClicks1d + - unitsSoldClicks7d + - unitsSoldClicks14d + - unitsSoldClicks30d + - sales1d + - sales7d + - sales14d + - sales30d + - attributedSalesSameSku1d + - attributedSalesSameSku7d + - attributedSalesSameSku14d + - attributedSalesSameSku30d + - unitsSoldSameSku1d + - unitsSoldSameSku7d + - unitsSoldSameSku14d + - unitsSoldSameSku30d + filters: [] + groupBy: + - campaign + - adGroup + timeUnit: SUMMARY + adProduct: SPONSORED_PRODUCTS + reportTypeId: spCampaigns + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'KDP authors do not have access to Sponsored Brands + functionality' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Not authorized to access scope' in response.details }}" + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'Tactic T00020 is not supported for report API in + marketplace' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Report date is too far in the past' in response.details }}" + error_message: "{{ response.details }}" + polling_requester: + type: HttpRequester + url_base: >- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] + }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: >- + {{ + stream_slice['create_job_response'].request.headers['Amazon-Advertising-API-Scope'] + }} + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 5 + response_filters: + - type: HttpResponseFilter + action: RETRY + http_codes: + - 401 + error_message: >- + Unauthorized error while report status checking. Known + error. Please, retry the request or restart sync. + download_requester: + type: HttpRequester + url_base: test_base/{{stream_slice.extra_fields['url']}} + http_method: GET + primary_key: + - profileId + - reportDate + - adGroupName + - adGroupId + incremental_sync: + type: DatetimeBasedCursor + cursor_field: reportDate + lookback_window: P{{ config.get('look_back_window', 3) }}D + cursor_datetime_formats: + - "%Y-%m-%d" + datetime_format: "%Y-%m-%d" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.get('start_date', today_utc().strftime('%Y-%m-%d') ) }}" + datetime_format: "%Y-%m-%d" + start_time_option: + type: RequestOption + inject_into: body_json + field_name: startDate + end_time_option: + type: RequestOption + inject_into: body_json + field_name: endDate + end_datetime: + type: MinMaxDatetime + datetime: "{{ today_utc() }}" + datetime_format: "%Y-%m-%d" + step: P{{ config.get('events_time_step', 30) }}D + cursor_granularity: P1D + transformations: + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - reportDate + value: "{{ stream_interval.end_time }}" + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - profileId + value: "{{ stream_partition['profileId'] }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_products_adgroups_report_stream" + sponsored_products_keywords_report_stream: + type: DeclarativeStream + name: sponsored_products_keywords_report_stream + retriever: + type: AsyncRetriever + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + status_mapping: + failed: + - FAILED + running: + - PENDING + - PROCESSING + timeout: + - timeout + completed: + - COMPLETED + status_extractor: + type: DpathExtractor + field_path: + - status + download_target_extractor: + type: DpathExtractor + field_path: + - url + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + creation_requester: + type: HttpRequester + url_base: |- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] }}/reporting/reports + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: POST + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + name: keywords report {{ stream_interval.start_time }} + endDate: "{{ stream_interval.end_time }}" + startDate: "{{ stream_interval.start_time }}" + configuration: + format: GZIP_JSON + columns: + - campaignName + - campaignId + - adGroupName + - adGroupId + - keywordId + - keyword + - matchType + - impressions + - clicks + - cost + - purchases1d + - purchases7d + - purchases14d + - purchases30d + - purchasesSameSku1d + - purchasesSameSku7d + - purchasesSameSku14d + - purchasesSameSku30d + - unitsSoldClicks1d + - unitsSoldClicks7d + - unitsSoldClicks14d + - unitsSoldClicks30d + - sales1d + - sales7d + - sales14d + - sales30d + - attributedSalesSameSku1d + - attributedSalesSameSku7d + - attributedSalesSameSku14d + - attributedSalesSameSku30d + - unitsSoldSameSku1d + - unitsSoldSameSku7d + - unitsSoldSameSku14d + - unitsSoldSameSku30d + filters: + - field: keywordType + values: + - BROAD + - PHRASE + - EXACT + groupBy: + - targeting + timeUnit: SUMMARY + adProduct: SPONSORED_PRODUCTS + reportTypeId: spTargeting + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'KDP authors do not have access to Sponsored Brands + functionality' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Not authorized to access scope' in response.details }}" + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'Tactic T00020 is not supported for report API in + marketplace' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Report date is too far in the past' in response.details }}" + error_message: "{{ response.details }}" + polling_requester: + type: HttpRequester + url_base: >- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] + }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: >- + {{ + stream_slice['create_job_response'].request.headers['Amazon-Advertising-API-Scope'] + }} + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 5 + response_filters: + - type: HttpResponseFilter + action: RETRY + http_codes: + - 401 + error_message: >- + Unauthorized error while report status checking. Known + error. Please, retry the request or restart sync. + download_requester: + type: HttpRequester + url_base: test_base/{{stream_slice.extra_fields['url']}} + http_method: GET + primary_key: + - profileId + - reportDate + - adGroupName + - keywordId + incremental_sync: + type: DatetimeBasedCursor + cursor_field: reportDate + lookback_window: P{{ config.get('look_back_window', 3) }}D + cursor_datetime_formats: + - "%Y-%m-%d" + datetime_format: "%Y-%m-%d" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.get('start_date', today_utc().strftime('%Y-%m-%d') ) }}" + datetime_format: "%Y-%m-%d" + start_time_option: + type: RequestOption + inject_into: body_json + field_name: startDate + end_time_option: + type: RequestOption + inject_into: body_json + field_name: endDate + end_datetime: + type: MinMaxDatetime + datetime: "{{ today_utc() }}" + datetime_format: "%Y-%m-%d" + step: P{{ config.get('events_time_step', 30) }}D + cursor_granularity: P1D + transformations: + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - reportDate + value: "{{ stream_interval.end_time }}" + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - profileId + value: "{{ stream_partition['profileId'] }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_products_keywords_report_stream" + sponsored_products_targets_report_stream: + type: DeclarativeStream + name: sponsored_products_targets_report_stream + retriever: + type: AsyncRetriever + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + status_mapping: + failed: + - FAILED + running: + - PENDING + - PROCESSING + timeout: + - timeout + completed: + - COMPLETED + status_extractor: + type: DpathExtractor + field_path: + - status + download_target_extractor: + type: DpathExtractor + field_path: + - url + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + creation_requester: + type: HttpRequester + url_base: |- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] }}/reporting/reports + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: POST + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + name: targets report {{ stream_interval.start_time }} + endDate: "{{ stream_interval.end_time }}" + startDate: "{{ stream_interval.start_time }}" + configuration: + format: GZIP_JSON + columns: + - campaignName + - campaignId + - adGroupName + - adGroupId + - keywordId + - keyword + - targeting + - keywordType + - impressions + - clicks + - cost + - purchases1d + - purchases7d + - purchases14d + - purchases30d + - purchasesSameSku1d + - purchasesSameSku7d + - purchasesSameSku14d + - purchasesSameSku30d + - unitsSoldClicks1d + - unitsSoldClicks7d + - unitsSoldClicks14d + - unitsSoldClicks30d + - sales1d + - sales7d + - sales14d + - sales30d + - attributedSalesSameSku1d + - attributedSalesSameSku7d + - attributedSalesSameSku14d + - attributedSalesSameSku30d + - unitsSoldSameSku1d + - unitsSoldSameSku7d + - unitsSoldSameSku14d + - unitsSoldSameSku30d + filters: + - field: keywordType + values: + - TARGETING_EXPRESSION + - TARGETING_EXPRESSION_PREDEFINED + groupBy: + - targeting + timeUnit: SUMMARY + adProduct: SPONSORED_PRODUCTS + reportTypeId: spTargeting + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'KDP authors do not have access to Sponsored Brands + functionality' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Not authorized to access scope' in response.details }}" + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'Tactic T00020 is not supported for report API in + marketplace' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Report date is too far in the past' in response.details }}" + error_message: "{{ response.details }}" + polling_requester: + type: HttpRequester + url_base: >- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] + }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: >- + {{ + stream_slice['create_job_response'].request.headers['Amazon-Advertising-API-Scope'] + }} + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 5 + response_filters: + - type: HttpResponseFilter + action: RETRY + http_codes: + - 401 + error_message: >- + Unauthorized error while report status checking. Known + error. Please, retry the request or restart sync. + download_requester: + type: HttpRequester + url_base: test_base/{{stream_slice.extra_fields['url']}} + http_method: GET + primary_key: + - profileId + - reportDate + - adGroupName + - keywordId + incremental_sync: + type: DatetimeBasedCursor + cursor_field: reportDate + lookback_window: P{{ config.get('look_back_window', 3) }}D + cursor_datetime_formats: + - "%Y-%m-%d" + datetime_format: "%Y-%m-%d" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.get('start_date', today_utc().strftime('%Y-%m-%d') ) }}" + datetime_format: "%Y-%m-%d" + start_time_option: + type: RequestOption + inject_into: body_json + field_name: startDate + end_time_option: + type: RequestOption + inject_into: body_json + field_name: endDate + end_datetime: + type: MinMaxDatetime + datetime: "{{ today_utc() }}" + datetime_format: "%Y-%m-%d" + step: P{{ config.get('events_time_step', 30) }}D + cursor_granularity: P1D + transformations: + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - reportDate + value: "{{ stream_interval.end_time }}" + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - profileId + value: "{{ stream_partition['profileId'] }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_products_targets_report_stream" + sponsored_products_productads_report_stream: + type: DeclarativeStream + name: sponsored_products_productads_report_stream + retriever: + type: AsyncRetriever + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + status_mapping: + failed: + - FAILED + running: + - PENDING + - PROCESSING + timeout: + - timeout + completed: + - COMPLETED + status_extractor: + type: DpathExtractor + field_path: + - status + download_target_extractor: + type: DpathExtractor + field_path: + - url + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + creation_requester: + type: HttpRequester + url_base: |- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] }}/reporting/reports + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: POST + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + name: productAds report {{ stream_interval.start_time }} + endDate: "{{ stream_interval.end_time }}" + startDate: "{{ stream_interval.start_time }}" + configuration: + format: GZIP_JSON + columns: + - campaignName + - campaignId + - adGroupName + - adGroupId + - adId + - impressions + - clicks + - cost + - campaignBudgetCurrencyCode + - advertisedAsin + - purchases1d + - purchases7d + - purchases14d + - purchases30d + - purchasesSameSku1d + - purchasesSameSku7d + - purchasesSameSku14d + - purchasesSameSku30d + - unitsSoldClicks1d + - unitsSoldClicks7d + - unitsSoldClicks14d + - unitsSoldClicks30d + - sales1d + - sales7d + - sales14d + - sales30d + - attributedSalesSameSku1d + - attributedSalesSameSku7d + - attributedSalesSameSku14d + - attributedSalesSameSku30d + - unitsSoldSameSku1d + - unitsSoldSameSku7d + - unitsSoldSameSku14d + - unitsSoldSameSku30d + filters: [] + groupBy: + - advertiser + timeUnit: SUMMARY + adProduct: SPONSORED_PRODUCTS + reportTypeId: spAdvertisedProduct + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'KDP authors do not have access to Sponsored Brands + functionality' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Not authorized to access scope' in response.details }}" + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'Tactic T00020 is not supported for report API in + marketplace' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Report date is too far in the past' in response.details }}" + error_message: "{{ response.details }}" + polling_requester: + type: HttpRequester + url_base: >- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] + }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: >- + {{ + stream_slice['create_job_response'].request.headers['Amazon-Advertising-API-Scope'] + }} + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 5 + response_filters: + - type: HttpResponseFilter + action: RETRY + http_codes: + - 401 + error_message: >- + Unauthorized error while report status checking. Known + error. Please, retry the request or restart sync. + download_requester: + type: HttpRequester + url_base: test_base/{{stream_slice.extra_fields['url']}} + http_method: GET + primary_key: + - profileId + - reportDate + - adGroupName + - adId + incremental_sync: + type: DatetimeBasedCursor + cursor_field: reportDate + lookback_window: P{{ config.get('look_back_window', 3) }}D + cursor_datetime_formats: + - "%Y-%m-%d" + datetime_format: "%Y-%m-%d" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.get('start_date', today_utc().strftime('%Y-%m-%d') ) }}" + datetime_format: "%Y-%m-%d" + start_time_option: + type: RequestOption + inject_into: body_json + field_name: startDate + end_time_option: + type: RequestOption + inject_into: body_json + field_name: endDate + end_datetime: + type: MinMaxDatetime + datetime: "{{ today_utc() }}" + datetime_format: "%Y-%m-%d" + step: P{{ config.get('events_time_step', 30) }}D + cursor_granularity: P1D + transformations: + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - reportDate + value: "{{ stream_interval.end_time }}" + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - profileId + value: "{{ stream_partition['profileId'] }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_products_productads_report_stream" + sponsored_products_asins_keywords_report_stream: + type: DeclarativeStream + name: sponsored_products_asins_keywords_report_stream + retriever: + type: AsyncRetriever + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + status_mapping: + failed: + - FAILED + running: + - PENDING + - PROCESSING + timeout: + - timeout + completed: + - COMPLETED + status_extractor: + type: DpathExtractor + field_path: + - status + download_target_extractor: + type: DpathExtractor + field_path: + - url + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + creation_requester: + type: HttpRequester + url_base: |- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] }}/reporting/reports + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: POST + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + name: asins_keywords report {{ stream_interval.start_time }} + endDate: "{{ stream_interval.end_time }}" + startDate: "{{ stream_interval.start_time }}" + configuration: + format: GZIP_JSON + columns: + - campaignName + - campaignId + - adGroupName + - adGroupId + - keywordId + - keyword + - advertisedAsin + - purchasedAsin + - advertisedSku + - campaignBudgetCurrencyCode + - matchType + - unitsSoldClicks1d + - unitsSoldClicks7d + - unitsSoldClicks14d + - unitsSoldClicks30d + - unitsSoldOtherSku1d + - unitsSoldOtherSku7d + - unitsSoldOtherSku14d + - unitsSoldOtherSku30d + - salesOtherSku1d + - salesOtherSku7d + - salesOtherSku14d + - salesOtherSku30d + filters: [] + groupBy: + - asin + timeUnit: SUMMARY + adProduct: SPONSORED_PRODUCTS + reportTypeId: spPurchasedProduct + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'KDP authors do not have access to Sponsored Brands + functionality' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Not authorized to access scope' in response.details }}" + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'Tactic T00020 is not supported for report API in + marketplace' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Report date is too far in the past' in response.details }}" + error_message: "{{ response.details }}" + polling_requester: + type: HttpRequester + url_base: >- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] + }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: >- + {{ + stream_slice['create_job_response'].request.headers['Amazon-Advertising-API-Scope'] + }} + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 5 + response_filters: + - type: HttpResponseFilter + action: RETRY + http_codes: + - 401 + error_message: >- + Unauthorized error while report status checking. Known + error. Please, retry the request or restart sync. + download_requester: + type: HttpRequester + url_base: test_base/{{stream_slice.extra_fields['url']}} + http_method: GET + primary_key: + - profileId + - reportDate + - adGroupName + - advertisedAsin + incremental_sync: + type: DatetimeBasedCursor + cursor_field: reportDate + lookback_window: P{{ config.get('look_back_window', 3) }}D + cursor_datetime_formats: + - "%Y-%m-%d" + datetime_format: "%Y-%m-%d" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.get('start_date', today_utc().strftime('%Y-%m-%d') ) }}" + datetime_format: "%Y-%m-%d" + start_time_option: + type: RequestOption + inject_into: body_json + field_name: startDate + end_time_option: + type: RequestOption + inject_into: body_json + field_name: endDate + end_datetime: + type: MinMaxDatetime + datetime: "{{ today_utc() }}" + datetime_format: "%Y-%m-%d" + step: P{{ config.get('events_time_step', 30) }}D + cursor_granularity: P1D + transformations: + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - reportDate + value: "{{ stream_interval.end_time }}" + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - profileId + value: "{{ stream_partition['profileId'] }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_products_asins_keywords_report_stream" + sponsored_products_asins_targets_report_stream: + type: DeclarativeStream + name: sponsored_products_asins_targets_report_stream + retriever: + type: AsyncRetriever + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + status_mapping: + failed: + - FAILED + running: + - PENDING + - PROCESSING + timeout: + - timeout + completed: + - COMPLETED + status_extractor: + type: DpathExtractor + field_path: + - status + download_target_extractor: + type: DpathExtractor + field_path: + - url + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: profileId + partition_field: profileId + stream: + $ref: "#/definitions/streams/profiles_filtered" + creation_requester: + type: HttpRequester + url_base: |- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] }}/reporting/reports + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: POST + request_headers: + Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + request_body_json: + name: asins_targets report {{ stream_interval.start_time }} + endDate: "{{ stream_interval.end_time }}" + startDate: "{{ stream_interval.start_time }}" + configuration: + format: GZIP_JSON + columns: + - campaignName + - campaignId + - adGroupName + - adGroupId + - advertisedAsin + - purchasedAsin + - advertisedSku + - campaignBudgetCurrencyCode + - matchType + - unitsSoldClicks1d + - unitsSoldClicks7d + - unitsSoldClicks14d + - unitsSoldClicks30d + - unitsSoldOtherSku1d + - unitsSoldOtherSku7d + - unitsSoldOtherSku14d + - unitsSoldOtherSku30d + - salesOtherSku1d + - salesOtherSku7d + - salesOtherSku14d + - salesOtherSku30d + - keywordId + - targeting + - keywordType + filters: [] + groupBy: + - asin + timeUnit: SUMMARY + adProduct: SPONSORED_PRODUCTS + reportTypeId: spPurchasedProduct + error_handler: + type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'KDP authors do not have access to Sponsored Brands + functionality' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Not authorized to access scope' in response.details }}" + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: >- + {{ 'Tactic T00020 is not supported for report API in + marketplace' in response.details }} + error_message: "{{ response.details }}" + - type: HttpResponseFilter + action: FAIL + predicate: "{{ 'Report date is too far in the past' in response.details }}" + error_message: "{{ response.details }}" + polling_requester: + type: HttpRequester + url_base: >- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] + }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + http_method: GET + request_headers: + Amazon-Advertising-API-Scope: >- + {{ + stream_slice['create_job_response'].request.headers['Amazon-Advertising-API-Scope'] + }} + Amazon-Advertising-API-ClientId: "{{ config[\"client_id\"] }}" + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 5 + response_filters: + - type: HttpResponseFilter + action: RETRY + http_codes: + - 401 + error_message: >- + Unauthorized error while report status checking. Known + error. Please, retry the request or restart sync. + download_requester: + type: HttpRequester + url_base: test_base/{{stream_slice.extra_fields['url']}} + http_method: GET + primary_key: + - profileId + - reportDate + - adGroupName + - advertisedAsin + incremental_sync: + type: DatetimeBasedCursor + cursor_field: reportDate + lookback_window: P{{ config.get('look_back_window', 3) }}D + cursor_datetime_formats: + - "%Y-%m-%d" + datetime_format: "%Y-%m-%d" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config.get('start_date', today_utc().strftime('%Y-%m-%d') ) }}" + datetime_format: "%Y-%m-%d" + start_time_option: + type: RequestOption + inject_into: body_json + field_name: startDate + end_time_option: + type: RequestOption + inject_into: body_json + field_name: endDate + end_datetime: + type: MinMaxDatetime + datetime: "{{ today_utc() }}" + datetime_format: "%Y-%m-%d" + step: P{{ config.get('events_time_step', 30) }}D + cursor_granularity: P1D + transformations: + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - reportDate + value: "{{ stream_interval.end_time }}" + - type: AddFields + fields: + - type: AddedFieldDefinition + path: + - profileId + value: "{{ stream_partition['profileId'] }}" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sponsored_products_asins_targets_report_stream" + base_requester: + type: HttpRequester + url_base: |- + {%- set URL_MAPPING = { + "NA": "https://advertising-api.amazon.com/", + "EU": "https://advertising-api-eu.amazon.com/", + "FE": "https://advertising-api-fe.amazon.com/" + } -%} {{ URL_MAPPING[config["region"]] }} + authenticator: + type: OAuthAuthenticator + client_id: "{{ config[\"client_id\"] }}" + grant_type: refresh_token + client_secret: "{{ config[\"client_secret\"] }}" + refresh_token: "{{ config[\"refresh_token\"] }}" + refresh_request_body: {} + token_refresh_endpoint: https://api.amazon.com/auth/o2/token + +streams: + - $ref: "#/definitions/streams/profiles" + - $ref: "#/definitions/streams/portfolios" + - $ref: "#/definitions/streams/sponsored_display_campaigns" + - $ref: "#/definitions/streams/sponsored_display_ad_groups" + - $ref: "#/definitions/streams/sponsored_display_product_ads" + - $ref: "#/definitions/streams/sponsored_display_targetings" + - $ref: "#/definitions/streams/sponsored_display_creatives" + - $ref: "#/definitions/streams/sponsored_display_budget_rules" + - $ref: "#/definitions/streams/sponsored_brands_keywords" + - $ref: "#/definitions/streams/sponsored_brands_campaigns" + - $ref: "#/definitions/streams/sponsored_brands_ad_groups" + - $ref: "#/definitions/streams/sponsored_product_campaigns" + - $ref: "#/definitions/streams/sponsored_product_ad_groups" + - $ref: "#/definitions/streams/sponsored_product_keywords" + - $ref: "#/definitions/streams/sponsored_product_negative_keywords" + - $ref: "#/definitions/streams/sponsored_product_campaign_negative_keywords" + - $ref: "#/definitions/streams/sponsored_product_ads" + - $ref: "#/definitions/streams/sponsored_product_targetings" + - $ref: "#/definitions/streams/sponsored_product_ad_group_bid_recommendations" + - $ref: "#/definitions/streams/sponsored_product_ad_group_suggested_keywords" + - $ref: "#/definitions/streams/attribution_report_products" + - $ref: "#/definitions/streams/attribution_report_performance_adgroup" + - $ref: "#/definitions/streams/attribution_report_performance_campaign" + - $ref: "#/definitions/streams/attribution_report_performance_creative" + - $ref: "#/definitions/streams/sponsored_brands_v3_report_stream" + - $ref: "#/definitions/streams/sponsored_display_campaigns_report_stream" + - $ref: "#/definitions/streams/sponsored_display_adgroups_report_stream" + - $ref: "#/definitions/streams/sponsored_display_productads_report_stream" + - $ref: "#/definitions/streams/sponsored_display_targets_report_stream" + - $ref: "#/definitions/streams/sponsored_display_asins_report_stream" + - $ref: "#/definitions/streams/sponsored_products_campaigns_report_stream" + - $ref: "#/definitions/streams/sponsored_products_adgroups_report_stream" + - $ref: "#/definitions/streams/sponsored_products_keywords_report_stream" + - $ref: "#/definitions/streams/sponsored_products_targets_report_stream" + - $ref: "#/definitions/streams/sponsored_products_productads_report_stream" + - $ref: "#/definitions/streams/sponsored_products_asins_keywords_report_stream" + - $ref: "#/definitions/streams/sponsored_products_asins_targets_report_stream" + +spec: + type: Spec + connection_specification: + type: object + $schema: http://json-schema.org/draft-07/schema# + required: + - client_id + - client_secret + - refresh_token + properties: + auth_type: + type: string + const: oauth2.0 + order: 0 + title: Auth Type + default: oauth2.0 + client_id: + type: string + description: >- + The client ID of your Amazon Ads developer application. See the docs + for more information. + order: 1 + title: Client ID + airbyte_secret: true + client_secret: + type: string + description: >- + The client secret of your Amazon Ads developer application. See the docs + for more information. + order: 2 + title: Client Secret + airbyte_secret: true + refresh_token: + type: string + description: >- + Amazon Ads refresh token. See the docs + for more information on how to obtain this token. + order: 3 + title: Refresh Token + airbyte_secret: true + region: + type: string + description: >- + Region to pull data from (EU/NA/FE). See docs + for more details. + enum: + - NA + - EU + - FE + order: 4 + title: Region + default: NA + start_date: + type: string + description: >- + The Start date for collecting reports, should not be more than 60 days + in the past. In YYYY-MM-DD format + order: 5 + title: Start Date + format: date + pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ + examples: + - "2022-10-10" + - "2022-10-22" + profiles: + type: array + description: >- + Profile IDs you want to fetch data for. The Amazon Ads source + connector supports only profiles with seller and vendor type, profiles + with agency type will be ignored. See docs + for more details. Note: If Marketplace IDs are also selected, profiles + will be selected if they match the Profile ID OR the Marketplace ID. + items: + type: integer + order: 6 + title: Profile IDs + marketplace_ids: + type: array + description: >- + Marketplace IDs you want to fetch data for. Note: If Profile IDs are + also selected, profiles will be selected if they match the Profile ID + OR the Marketplace ID. + items: + type: string + order: 7 + title: Marketplace IDs + state_filter: + type: array + description: >- + Reflects the state of the Display, Product, and Brand Campaign streams + as enabled, paused, or archived. If you do not populate this field, it + will be ignored completely. + items: + type: string + description: An enumeration. + enum: + - enabled + - paused + - archived + title: StateFilterEnum + order: 8 + title: State Filter + default: [] + uniqueItems: true + look_back_window: + type: integer + description: >- + The amount of days to go back in time to get the updated data from + Amazon Ads + order: 9 + title: Look Back Window + default: 3 + examples: + - 3 + - 10 + report_record_types: + type: array + description: >- + Optional configuration which accepts an array of string of record + types. Leave blank for default behaviour to pull all report types. Use + this config option only if you want to pull specific report type(s). + See docs + for more details + items: + type: string + description: An enumeration. + enum: + - adGroups + - asins + - asins_keywords + - asins_targets + - campaigns + - keywords + - productAds + - targets + title: ReportRecordTypeEnum + order: 10 + title: Report Record Types + default: [] + uniqueItems: true + additionalProperties: true + +metadata: + autoImportSchema: + profiles: false + profiles_filtered: false + portfolios: false + sponsored_display_campaigns: false + sponsored_display_ad_groups: false + sponsored_display_product_ads: false + sponsored_display_targetings: false + sponsored_display_creatives: false + sponsored_display_budget_rules: false + sponsored_brands_keywords: false + sponsored_brands_campaigns: false + sponsored_brands_ad_groups: false + sponsored_product_campaigns: false + sponsored_product_ad_groups: false + sponsored_product_keywords: false + sponsored_product_negative_keywords: false + sponsored_product_campaign_negative_keywords: false + sponsored_product_ads: false + sponsored_product_targetings: false + sponsored_product_ad_group_bid_recommendations: false + sponsored_product_ad_group_suggested_keywords: false + attribution_report_products: false + attribution_report_performance_adgroup: false + attribution_report_performance_campaign: false + attribution_report_performance_creative: false + sponsored_brands_v3_report_stream: false + sponsored_display_campaigns_report_stream: false + sponsored_display_adgroups_report_stream: false + sponsored_display_productads_report_stream: false + sponsored_display_targets_report_stream: false + sponsored_display_asins_report_stream: false + sponsored_products_campaigns_report_stream: false + sponsored_products_adgroups_report_stream: false + sponsored_products_keywords_report_stream: false + sponsored_products_targets_report_stream: false + sponsored_products_productads_report_stream: false + sponsored_products_asins_keywords_report_stream: false + sponsored_products_asins_targets_report_stream: false + testedStreams: + profiles: + streamHash: 5bcf60ed019768f598ab1b41ab9ec59c46b6a564 + profiles_filtered: + streamHash: f36edccafcdcb6e617a94734070207ded09b1412 + portfolios: + streamHash: 6929d5fdf3aaea1ffc2054c34c5fd5efa7151d15 + sponsored_display_campaigns: + streamHash: 9525fc98e6021d19046251341303f0f27026c5cf + sponsored_display_ad_groups: + streamHash: ba3332cae7715610b7ee632d3949d7aef510ac53 + sponsored_display_product_ads: + streamHash: 0b3dd6db5bbe5574dcb174e7fa0682c885cda09e + sponsored_display_targetings: + streamHash: 54f769ad102f3fbfa6055342ae2f4c8747840f05 + sponsored_display_creatives: + streamHash: 1b0334337f98d9f263d33aaf1b71f41badfef4a7 + sponsored_display_budget_rules: + streamHash: 3ac844fc13eaa9d90a67b39975d2431d437735ce + sponsored_brands_keywords: + streamHash: 14b4ed1b1ad1a451bae8d1c43b02a8859e0c42c8 + sponsored_brands_campaigns: + streamHash: 04f7e67567e39a19f465d2b76521d96ccf348ef9 + sponsored_brands_ad_groups: + streamHash: a72c4119757e11e610cb20e7619ff563172ef6ef + sponsored_product_campaigns: + streamHash: bc0dea24e4e04881fe74b237b66987f784ed6d0d + sponsored_product_ad_groups: + streamHash: 28c5679bdabd8b820d7404ed9700da62739f7f80 + sponsored_product_keywords: + streamHash: 15d7b7f0898467b9db18dc9f61a4bae8a48c9cca + sponsored_product_negative_keywords: + streamHash: b25e0db45f9216c0415a569b7b6a9bbb7ddb1535 + sponsored_product_campaign_negative_keywords: + streamHash: 16393a47bb430b012e54a253957759d402ee9e3b + sponsored_product_ads: + streamHash: 51b955f8b0ab3b0183abc0ca37eed6804bc7cf0b + sponsored_product_targetings: + streamHash: e214c1af94bd8cf48f4ae29d5fec250cc93fac0a + sponsored_product_ad_group_bid_recommendations: + streamHash: 89688f14e1c90e0bb43474c68b9b4599e300e907 + sponsored_product_ad_group_suggested_keywords: + streamHash: 29cac8c857d756b15df482267fc5b199fb48c028 + attribution_report_products: + streamHash: edbc077da83e143715e1afea1231c6383010f50d + attribution_report_performance_adgroup: + streamHash: 8b75eac859f1ea75c58c8d9c09163cec6150eb4f + attribution_report_performance_campaign: + streamHash: f21a5aa58ffaec25215e72ceedeb8edb17009b26 + attribution_report_performance_creative: + streamHash: 580c55a93c8d3fa44f0416df25f4338453dc0dcc + sponsored_brands_v3_report_stream: + streamHash: a806e0abc725b846ef7c162f67e2b7af6f887e19 + sponsored_display_campaigns_report_stream: + streamHash: bda2dc46fd462735985103991b0e673959e26728 + sponsored_display_adgroups_report_stream: + streamHash: 596bbbe4ad3f1fa4e460bf3bd280b1304737f8f3 + sponsored_display_productads_report_stream: + streamHash: d2f39d0dde49210c69b1c44bdc0a5043bfed9afc + sponsored_display_targets_report_stream: + streamHash: 3f17c86a0bb91b806501c27810bd3a302b10cede + sponsored_display_asins_report_stream: + streamHash: ed8488a654e301e872c5c7af14457202a0d48a51 + sponsored_products_campaigns_report_stream: + streamHash: 3013aa89c6b0e67c4cc2694fd5a8e93273a89f8a + sponsored_products_adgroups_report_stream: + streamHash: 68fda129f91a98ceafd59488e613b2b63ac2c9ea + sponsored_products_keywords_report_stream: + streamHash: 02ffd1fa0714f0449e55b84f569293c9fbb7ec85 + sponsored_products_targets_report_stream: + streamHash: ecd756d03abdaab694c85db9a3b55a477e8ea679 + sponsored_products_productads_report_stream: + streamHash: 74a77264343ab57efb2558a4683d1d665d791525 + sponsored_products_asins_keywords_report_stream: + streamHash: b0d301d774876f7cc0190976ff539d35491f2930 + sponsored_products_asins_targets_report_stream: + streamHash: b43f5c301245d7afeb49032b8c1e3b80fae742b6 + assist: {} + +schemas: + profiles: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + profileId: + type: + - "null" + - integer + countryCode: + type: + - "null" + - string + currencyCode: + type: + - "null" + - string + dailyBudget: + type: + - "null" + - number + timezone: + type: + - "null" + - string + accountInfo: + type: + - object + - "null" + properties: + type: + type: + - "null" + - string + marketplaceStringId: + type: + - "null" + - string + id: + type: + - "null" + - string + name: + type: + - "null" + - string + subType: + type: + - "null" + - string + validPaymentMethod: + type: + - "null" + - boolean + title: profiles + additionalProperties: true + profiles_filtered: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: {} + portfolios: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + portfolioId: + type: + - "null" + - integer + name: + type: + - "null" + - string + budget: + type: + - object + - "null" + properties: + amount: + type: + - "null" + - number + currencyCode: + type: + - "null" + - string + policy: + type: + - "null" + - string + startDate: + type: + - "null" + - string + endDate: + type: + - "null" + - string + inBudget: + type: + - "null" + - boolean + state: + type: + - "null" + - string + creationDate: + type: + - "null" + - integer + lastUpdatedDate: + type: + - "null" + - integer + servingStatus: + type: + - "null" + - string + title: portfolios + additionalProperties: true + sponsored_display_campaigns: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + campaignId: + type: + - "null" + - number + name: + type: + - "null" + - string + budgetType: + type: + - "null" + - string + budget: + type: + - "null" + - number + startDate: + type: + - "null" + - string + endDate: + type: + - "null" + - string + costType: + type: + - "null" + - string + state: + type: + - "null" + - string + portfolioId: + type: + - "null" + - integer + tactic: + type: + - "null" + - string + deliveryProfile: + type: + - "null" + - string + title: sponsored_display_campaigns + additionalProperties: true + sponsored_display_ad_groups: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + name: + type: + - "null" + - string + campaignId: + type: + - "null" + - number + adGroupId: + type: + - "null" + - number + defaultBid: + type: + - "null" + - number + bidOptimization: + type: + - "null" + - string + state: + type: + - "null" + - string + tactic: + type: + - "null" + - string + creativeType: + type: + - "null" + - string + title: sponsored_display_ad_groups + additionalProperties: true + sponsored_display_product_ads: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + state: + type: + - "null" + - string + adId: + type: + - "null" + - number + campaignId: + type: + - "null" + - number + adGroupId: + type: + - "null" + - number + asin: + type: + - "null" + - string + sku: + type: + - "null" + - string + title: sponsored_display_product_ads + additionalProperties: true + sponsored_display_targetings: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + targetId: + type: + - "null" + - number + adGroupId: + type: + - "null" + - number + state: + type: + - "null" + - string + expressionType: + type: + - "null" + - string + bid: + type: + - "null" + - number + campaignId: + type: + - "null" + - number + expression: + type: array + items: + type: + - "null" + - object + additionalProperties: true + resolvedExpression: + type: array + items: + type: + - "null" + - object + additionalProperties: true + title: sponsored_display_targetings + additionalProperties: true + sponsored_display_creatives: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + adGroupId: + type: + - "null" + - number + creativeId: + type: + - "null" + - number + creativeType: + type: + - "null" + - string + properties: + type: + - "null" + - object + moderationStatus: + type: + - "null" + - string + title: sponsored_display_creatives + additionalProperties: true + sponsored_display_budget_rules: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + ruleId: + type: + - "null" + - string + ruleStatus: + type: + - "null" + - string + ruleState: + type: + - "null" + - string + lastUpdatedDate: + type: + - "null" + - number + createdDate: + type: + - "null" + - number + ruleDetails: + type: + - object + - "null" + properties: + name: + type: + - "null" + - string + ruleType: + type: + - "null" + - string + duration: + type: + - object + - "null" + properties: + eventTypeRuleDuration: + type: + - object + - "null" + properties: + eventId: + type: + - "null" + - string + endDate: + type: + - "null" + - string + eventName: + type: + - "null" + - string + startDate: + type: + - "null" + - string + dateRangeTypeRuleDuration: + type: + - object + - "null" + properties: + endDate: + type: + - "null" + - string + startDate: + type: + - "null" + - string + budgetIncreaseBy: + type: + - object + - "null" + properties: + type: + type: + - "null" + - string + value: + type: + - "null" + - number + recurrence: + type: + - object + - "null" + properties: + type: + type: + - "null" + - string + daysOfWeek: + type: + - "null" + - array + items: + type: + - "null" + - string + intraDaySchedule: + type: + - "null" + - array + items: + type: + - object + - "null" + properties: + startTime: + type: + - "null" + - string + endTime: + type: + - "null" + - string + threshold: + type: + - "null" + - number + performanceMeasureCondition: + type: + - object + - "null" + properties: + metricName: + type: + - "null" + - string + comparisonOperator: + type: + - "null" + - string + threshold: + type: + - "null" + - number + ruleStatusDetails: + type: + - "null" + - object + additionalProperties: true + title: sponsored_display_budget_rules + additionalProperties: true + sponsored_brands_keywords: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + campaignId: + type: + - "null" + - string + adGroupId: + type: + - "null" + - string + name: + type: + - "null" + - string + state: + type: + - "null" + - string + extendedData: + type: + - "null" + - object + title: sponsored_brands_keywords + additionalProperties: true + sponsored_brands_campaigns: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + campaignId: + type: + - "null" + - string + name: + type: + - "null" + - string + tags: + type: + - "null" + - object + additionalProperties: true + budget: + type: + - "null" + - number + budgetType: + type: + - "null" + - string + startDate: + type: + - "null" + - string + endDate: + type: + - "null" + - string + state: + type: + - "null" + - string + brandEntityId: + type: + - "null" + - string + portfolioId: + type: + - "null" + - string + ruleBasedBudget: + type: + - "null" + - object + bidding: + type: + - "null" + - object + productLocation: + type: + - "null" + - string + costType: + type: + - "null" + - string + smartDefault: + type: + - "null" + - array + items: + type: + - "null" + - string + extendedData: + type: + - "null" + - object + title: sponsored_brands_campaigns + additionalProperties: true + sponsored_brands_ad_groups: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + campaignId: + type: + - "null" + - string + adGroupId: + type: + - "null" + - string + name: + type: + - "null" + - string + state: + type: + - "null" + - string + extendedData: + type: + - "null" + - object + title: sponsored_brands_ad_groups + additionalProperties: true + sponsored_product_campaigns: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + portfolioId: + type: + - "null" + - string + campaignId: + type: + - "null" + - string + name: + type: + - "null" + - string + tags: + type: + - "null" + - object + additionalProperties: true + targetingType: + type: + - "null" + - string + state: + type: + - "null" + - string + dynamicBidding: + type: + - "null" + - object + startDate: + type: + - "null" + - string + endDate: + type: + - "null" + - string + budget: + type: + - "null" + - object + extendedData: + type: + - "null" + - object + title: sponsored_product_campaigns + additionalProperties: true + sponsored_product_ad_groups: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + adGroupId: + type: + - "null" + - string + name: + type: + - "null" + - string + campaignId: + type: + - "null" + - string + defaultBid: + type: + - "null" + - number + state: + type: + - "null" + - string + extendedData: + type: + - "null" + - object + title: sponsored_product_ad_groups + additionalProperties: true + sponsored_product_keywords: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + keywordId: + type: + - "null" + - string + campaignId: + type: + - "null" + - string + adGroupId: + type: + - "null" + - string + state: + type: + - "null" + - string + keywordText: + type: + - "null" + - string + nativeLanguageLocale: + type: + - "null" + - string + extendedData: + type: + - "null" + - object + title: sponsored_product_keywords + additionalProperties: true + sponsored_product_negative_keywords: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + keywordId: + type: + - "null" + - string + campaignId: + type: + - "null" + - string + adGroupId: + type: + - "null" + - string + state: + type: + - "null" + - string + keywordText: + type: + - "null" + - string + nativeLanguageLocale: + type: + - "null" + - string + extendedData: + type: + - "null" + - object + title: sponsored_product_negative_keywords + additionalProperties: true + sponsored_product_campaign_negative_keywords: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + keywordId: + type: + - "null" + - string + campaignId: + type: + - "null" + - string + adGroupId: + type: + - "null" + - number + state: + type: + - "null" + - string + keywordText: + type: + - "null" + - string + extendedData: + type: + - "null" + - object + title: sponsored_product_campaign_negative_keywords + additionalProperties: true + sponsored_product_ads: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + adId: + type: + - "null" + - string + campaignId: + type: + - "null" + - string + customText: + type: + - "null" + - string + asin: + type: + - "null" + - string + state: + type: + - "null" + - string + sku: + type: + - "null" + - string + adGroupId: + type: + - "null" + - string + extendedData: + type: + - "null" + - object + title: sponsored_product_ads + additionalProperties: true + sponsored_product_targetings: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + expression: + type: + - "null" + - array + items: + type: + - "null" + - object + additionalProperties: true + targetId: + type: + - "null" + - string + resolvedExpression: + type: array + items: + type: + - "null" + - object + additionalProperties: true + campaignId: + type: + - "null" + - string + expressionType: + type: + - "null" + - string + state: + type: + - "null" + - string + bid: + type: + - "null" + - number + adGroupId: + type: + - "null" + - string + extendedData: + type: + - "null" + - object + title: sponsored_product_targetings + additionalProperties: true + sponsored_product_ad_group_bid_recommendations: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + adGroupId: + type: + - "null" + - string + campaignId: + type: + - "null" + - string + theme: + type: + - "null" + - string + bidRecommendationsForTargetingExpressions: + type: array + items: + type: + - object + - "null" + properties: + bidValues: + type: array + items: + type: + - "null" + - object + additionalProperties: true + targetingExpression: + type: + - "null" + - object + additionalProperties: true + title: sponsored_product_ad_group_bid_recommendations + additionalProperties: true + sponsored_product_ad_group_suggested_keywords: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + adGroupId: + type: + - "null" + - integer + suggestedKeywords: + type: + - "null" + - array + items: + type: + - object + - "null" + properties: + keywordText: + type: + - "null" + - string + matchType: + type: + - "null" + - string + title: sponsored_product_ad_group_suggested_keywords + additionalProperties: true + attribution_report_products: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + date: + type: + - "null" + - string + brandName: + type: + - "null" + - string + marketplace: + type: + - "null" + - string + campaignId: + type: + - "null" + - string + productAsin: + type: + - "null" + - string + productConversionType: + type: + - "null" + - string + advertiserName: + type: + - "null" + - string + adGroupId: + type: + - "null" + - string + creativeId: + type: + - "null" + - string + productName: + type: + - "null" + - string + productCategory: + type: + - "null" + - string + productSubcategory: + type: + - "null" + - string + productGroup: + type: + - "null" + - string + publisher: + type: + - "null" + - string + Click-throughs: + type: + - "null" + - string + attributedDetailPageViewsClicks14d: + type: + - "null" + - string + attributedAddToCartClicks14d: + type: + - "null" + - string + attributedPurchases14d: + type: + - "null" + - string + unitsSold14d: + type: + - "null" + - string + attributedSales14d: + type: + - "null" + - string + attributedTotalDetailPageViewsClicks14d: + type: + - "null" + - string + attributedTotalAddToCartClicks14d: + type: + - "null" + - string + attributedTotalPurchases14d: + type: + - "null" + - string + totalUnitsSold14d: + type: + - "null" + - string + totalAttributedSales14d: + type: + - "null" + - string + brb_bonus_amount: + type: + - "null" + - string + brandHaloDetailPageViewsClicks14d: + type: + - "null" + - string + brandHaloAttributedAddToCartClicks14d: + type: + - "null" + - string + brandHaloAttributedPurchases14d: + type: + - "null" + - string + brandHaloUnitsSold14d: + type: + - "null" + - string + brandHaloAttributedSales14d: + type: + - "null" + - string + attributedNewToBrandPurchases14d: + type: + - "null" + - string + attributedNewToBrandUnitsSold14d: + type: + - "null" + - string + attributedNewToBrandSales14d: + type: + - "null" + - string + brandHaloNewToBrandPurchases14d: + type: + - "null" + - string + brandHaloNewToBrandUnitsSold14d: + type: + - "null" + - string + brandHaloNewToBrandSales14d: + type: + - "null" + - string + title: attribution_report_products + additionalProperties: true + attribution_report_performance_adgroup: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + date: + type: + - "null" + - string + brandName: + type: + - "null" + - string + marketplace: + type: + - "null" + - string + campaignId: + type: + - "null" + - string + productAsin: + type: + - "null" + - string + productConversionType: + type: + - "null" + - string + advertiserName: + type: + - "null" + - string + adGroupId: + type: + - "null" + - string + creativeId: + type: + - "null" + - string + productName: + type: + - "null" + - string + productCategory: + type: + - "null" + - string + productSubcategory: + type: + - "null" + - string + productGroup: + type: + - "null" + - string + publisher: + type: + - "null" + - string + Click-throughs: + type: + - "null" + - string + attributedDetailPageViewsClicks14d: + type: + - "null" + - string + attributedAddToCartClicks14d: + type: + - "null" + - string + attributedPurchases14d: + type: + - "null" + - string + unitsSold14d: + type: + - "null" + - string + attributedSales14d: + type: + - "null" + - string + attributedTotalDetailPageViewsClicks14d: + type: + - "null" + - string + attributedTotalAddToCartClicks14d: + type: + - "null" + - string + attributedTotalPurchases14d: + type: + - "null" + - string + totalUnitsSold14d: + type: + - "null" + - string + totalAttributedSales14d: + type: + - "null" + - string + brb_bonus_amount: + type: + - "null" + - string + brandHaloDetailPageViewsClicks14d: + type: + - "null" + - string + brandHaloAttributedAddToCartClicks14d: + type: + - "null" + - string + brandHaloAttributedPurchases14d: + type: + - "null" + - string + brandHaloUnitsSold14d: + type: + - "null" + - string + brandHaloAttributedSales14d: + type: + - "null" + - string + attributedNewToBrandPurchases14d: + type: + - "null" + - string + attributedNewToBrandUnitsSold14d: + type: + - "null" + - string + attributedNewToBrandSales14d: + type: + - "null" + - string + brandHaloNewToBrandPurchases14d: + type: + - "null" + - string + brandHaloNewToBrandUnitsSold14d: + type: + - "null" + - string + brandHaloNewToBrandSales14d: + type: + - "null" + - string + title: attribution_report_performance_adgroup + additionalProperties: true + attribution_report_performance_campaign: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + date: + type: + - "null" + - string + brandName: + type: + - "null" + - string + marketplace: + type: + - "null" + - string + campaignId: + type: + - "null" + - string + productAsin: + type: + - "null" + - string + productConversionType: + type: + - "null" + - string + advertiserName: + type: + - "null" + - string + adGroupId: + type: + - "null" + - string + creativeId: + type: + - "null" + - string + productName: + type: + - "null" + - string + productCategory: + type: + - "null" + - string + productSubcategory: + type: + - "null" + - string + productGroup: + type: + - "null" + - string + publisher: + type: + - "null" + - string + Click-throughs: + type: + - "null" + - string + attributedDetailPageViewsClicks14d: + type: + - "null" + - string + attributedAddToCartClicks14d: + type: + - "null" + - string + attributedPurchases14d: + type: + - "null" + - string + unitsSold14d: + type: + - "null" + - string + attributedSales14d: + type: + - "null" + - string + attributedTotalDetailPageViewsClicks14d: + type: + - "null" + - string + attributedTotalAddToCartClicks14d: + type: + - "null" + - string + attributedTotalPurchases14d: + type: + - "null" + - string + totalUnitsSold14d: + type: + - "null" + - string + totalAttributedSales14d: + type: + - "null" + - string + brb_bonus_amount: + type: + - "null" + - string + brandHaloDetailPageViewsClicks14d: + type: + - "null" + - string + brandHaloAttributedAddToCartClicks14d: + type: + - "null" + - string + brandHaloAttributedPurchases14d: + type: + - "null" + - string + brandHaloUnitsSold14d: + type: + - "null" + - string + brandHaloAttributedSales14d: + type: + - "null" + - string + attributedNewToBrandPurchases14d: + type: + - "null" + - string + attributedNewToBrandUnitsSold14d: + type: + - "null" + - string + attributedNewToBrandSales14d: + type: + - "null" + - string + brandHaloNewToBrandPurchases14d: + type: + - "null" + - string + brandHaloNewToBrandUnitsSold14d: + type: + - "null" + - string + brandHaloNewToBrandSales14d: + type: + - "null" + - string + title: attribution_report_performance_campaign + additionalProperties: true + attribution_report_performance_creative: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + date: + type: + - "null" + - string + brandName: + type: + - "null" + - string + marketplace: + type: + - "null" + - string + campaignId: + type: + - "null" + - string + productAsin: + type: + - "null" + - string + productConversionType: + type: + - "null" + - string + advertiserName: + type: + - "null" + - string + adGroupId: + type: + - "null" + - string + creativeId: + type: + - "null" + - string + productName: + type: + - "null" + - string + productCategory: + type: + - "null" + - string + productSubcategory: + type: + - "null" + - string + productGroup: + type: + - "null" + - string + publisher: + type: + - "null" + - string + Click-throughs: + type: + - "null" + - string + attributedDetailPageViewsClicks14d: + type: + - "null" + - string + attributedAddToCartClicks14d: + type: + - "null" + - string + attributedPurchases14d: + type: + - "null" + - string + unitsSold14d: + type: + - "null" + - string + attributedSales14d: + type: + - "null" + - string + attributedTotalDetailPageViewsClicks14d: + type: + - "null" + - string + attributedTotalAddToCartClicks14d: + type: + - "null" + - string + attributedTotalPurchases14d: + type: + - "null" + - string + totalUnitsSold14d: + type: + - "null" + - string + totalAttributedSales14d: + type: + - "null" + - string + brb_bonus_amount: + type: + - "null" + - string + brandHaloDetailPageViewsClicks14d: + type: + - "null" + - string + brandHaloAttributedAddToCartClicks14d: + type: + - "null" + - string + brandHaloAttributedPurchases14d: + type: + - "null" + - string + brandHaloUnitsSold14d: + type: + - "null" + - string + brandHaloAttributedSales14d: + type: + - "null" + - string + attributedNewToBrandPurchases14d: + type: + - "null" + - string + attributedNewToBrandUnitsSold14d: + type: + - "null" + - string + attributedNewToBrandSales14d: + type: + - "null" + - string + brandHaloNewToBrandPurchases14d: + type: + - "null" + - string + brandHaloNewToBrandUnitsSold14d: + type: + - "null" + - string + brandHaloNewToBrandSales14d: + type: + - "null" + - string + title: attribution_report_performance_creative + additionalProperties: true + sponsored_brands_v3_report_stream: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + profileId: + type: + - "null" + - integer + reportDate: + type: + - "null" + - string + attributionType: + type: + - "null" + - string + campaignName: + type: + - "null" + - string + newToBrandSales14d: + type: + - "null" + - number + orders14d: + type: + - "null" + - integer + productName: + type: + - "null" + - string + sales14d: + type: + - "null" + - number + newToBrandPurchasesPercentage14d: + type: + - "null" + - number + purchasedAsin: + type: + - "null" + - string + newToBrandSalesPercentage14d: + type: + - "null" + - number + productCategory: + type: + - "null" + - string + newToBrandPurchases14d: + type: + - "null" + - integer + newToBrandUnitsSoldPercentage14d: + type: + - "null" + - number + unitsSold14d: + type: + - "null" + - integer + adGroupName: + type: + - "null" + - string + newToBrandUnitsSold14d: + type: + - "null" + - integer + campaignBudgetCurrencyCode: + type: + - "null" + - string + title: sponsored_brands_v3_report_stream + additionalProperties: true + sponsored_display_campaigns_report_stream: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + profileId: + type: + - "null" + - integer + reportDate: + type: + - "null" + - string + campaignId: + type: + - "null" + - integer + addToCart: + type: + - "null" + - integer + addToCartClicks: + type: + - "null" + - integer + addToCartRate: + type: + - "null" + - number + addToCartViews: + type: + - "null" + - integer + addToList: + type: + - "null" + - integer + addToListFromClicks: + type: + - "null" + - integer + addToListFromViews: + type: + - "null" + - integer + qualifiedBorrows: + type: + - "null" + - integer + qualifiedBorrowsFromClicks: + type: + - "null" + - integer + qualifiedBorrowsFromViews: + type: + - "null" + - integer + royaltyQualifiedBorrows: + type: + - "null" + - integer + royaltyQualifiedBorrowsFromClicks: + type: + - "null" + - integer + royaltyQualifiedBorrowsFromViews: + type: + - "null" + - integer + brandedSearches: + type: + - "null" + - integer + brandedSearchesClicks: + type: + - "null" + - integer + brandedSearchesViews: + type: + - "null" + - integer + brandedSearchRate: + type: + - "null" + - number + campaignBudgetCurrencyCode: + type: + - "null" + - string + campaignName: + type: + - "null" + - string + clicks: + type: + - "null" + - integer + cost: + type: + - "null" + - number + detailPageViews: + type: + - "null" + - integer + detailPageViewsClicks: + type: + - "null" + - integer + eCPAddToCart: + type: + - "null" + - number + eCPBrandSearch: + type: + - "null" + - number + endDate: + type: + - "null" + - string + impressions: + type: + - "null" + - integer + impressionsViews: + type: + - "null" + - integer + leadFormOpens: + type: + - "null" + - integer + leads: + type: + - "null" + - integer + linkOuts: + type: + - "null" + - integer + newToBrandPurchases: + type: + - "null" + - integer + newToBrandPurchasesClicks: + type: + - "null" + - integer + newToBrandSalesClicks: + type: + - "null" + - number + newToBrandUnitsSold: + type: + - "null" + - integer + newToBrandUnitsSoldClicks: + type: + - "null" + - integer + purchases: + type: + - "null" + - integer + purchasesClicks: + type: + - "null" + - integer + purchasesPromotedClicks: + type: + - "null" + - integer + sales: + type: + - "null" + - number + salesClicks: + type: + - "null" + - number + salesPromotedClicks: + type: + - "null" + - number + startDate: + type: + - "null" + - string + unitsSold: + type: + - "null" + - integer + unitsSoldClicks: + type: + - "null" + - integer + videoCompleteViews: + type: + - "null" + - integer + videoFirstQuartileViews: + type: + - "null" + - integer + videoMidpointViews: + type: + - "null" + - integer + videoThirdQuartileViews: + type: + - "null" + - integer + videoUnmutes: + type: + - "null" + - integer + viewabilityRate: + type: + - "null" + - number + viewClickThroughRate: + type: + - "null" + - number + campaignBudgetAmount: + type: + - "null" + - number + campaignStatus: + type: + - "null" + - string + costType: + type: + - "null" + - string + cumulativeReach: + type: + - "null" + - string + impressionsFrequencyAverage: + type: + - "null" + - number + newToBrandDetailPageViewClicks: + type: + - "null" + - integer + newToBrandDetailPageViewRate: + type: + - "null" + - number + newToBrandDetailPageViews: + type: + - "null" + - integer + newToBrandDetailPageViewViews: + type: + - "null" + - integer + newToBrandECPDetailPageView: + type: + - "null" + - number + newToBrandSales: + type: + - "null" + - number + title: sponsored_display_campaigns_report_stream + additionalProperties: true + sponsored_display_adgroups_report_stream: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + profileId: + type: + - "null" + - integer + reportDate: + type: + - "null" + - string + adGroupId: + type: + - "null" + - integer + addToCart: + type: + - "null" + - integer + addToCartClicks: + type: + - "null" + - integer + addToCartRate: + type: + - "null" + - number + addToCartViews: + type: + - "null" + - integer + adGroupName: + type: + - "null" + - string + addToList: + type: + - "null" + - integer + addToListFromClicks: + type: + - "null" + - integer + addToListFromViews: + type: + - "null" + - integer + qualifiedBorrows: + type: + - "null" + - integer + qualifiedBorrowsFromClicks: + type: + - "null" + - integer + qualifiedBorrowsFromViews: + type: + - "null" + - integer + royaltyQualifiedBorrows: + type: + - "null" + - integer + royaltyQualifiedBorrowsFromClicks: + type: + - "null" + - integer + royaltyQualifiedBorrowsFromViews: + type: + - "null" + - integer + bidOptimization: + type: + - "null" + - string + brandedSearches: + type: + - "null" + - integer + brandedSearchesClicks: + type: + - "null" + - integer + brandedSearchesViews: + type: + - "null" + - integer + brandedSearchRate: + type: + - "null" + - number + campaignBudgetCurrencyCode: + type: + - "null" + - string + campaignId: + type: + - "null" + - integer + campaignName: + type: + - "null" + - string + clicks: + type: + - "null" + - integer + cost: + type: + - "null" + - number + detailPageViews: + type: + - "null" + - integer + detailPageViewsClicks: + type: + - "null" + - integer + eCPAddToCart: + type: + - "null" + - number + eCPBrandSearch: + type: + - "null" + - number + endDate: + type: + - "null" + - string + impressions: + type: + - "null" + - integer + impressionsViews: + type: + - "null" + - integer + leadFormOpens: + type: + - "null" + - integer + leads: + type: + - "null" + - integer + linkOuts: + type: + - "null" + - integer + newToBrandPurchases: + type: + - "null" + - integer + newToBrandPurchasesClicks: + type: + - "null" + - integer + newToBrandSales: + type: + - "null" + - number + newToBrandSalesClicks: + type: + - "null" + - number + newToBrandUnitsSold: + type: + - "null" + - integer + newToBrandUnitsSoldClicks: + type: + - "null" + - integer + purchases: + type: + - "null" + - integer + purchasesClicks: + type: + - "null" + - integer + purchasesPromotedClicks: + type: + - "null" + - integer + sales: + type: + - "null" + - number + salesClicks: + type: + - "null" + - number + salesPromotedClicks: + type: + - "null" + - number + startDate: + type: + - "null" + - string + unitsSold: + type: + - "null" + - integer + unitsSoldClicks: + type: + - "null" + - integer + videoCompleteViews: + type: + - "null" + - integer + videoFirstQuartileViews: + type: + - "null" + - integer + videoMidpointViews: + type: + - "null" + - integer + videoThirdQuartileViews: + type: + - "null" + - integer + videoUnmutes: + type: + - "null" + - integer + viewabilityRate: + type: + - "null" + - number + viewClickThroughRate: + type: + - "null" + - number + cumulativeReach: + type: + - "null" + - string + impressionsFrequencyAverage: + type: + - "null" + - number + newToBrandDetailPageViewClicks: + type: + - "null" + - integer + newToBrandDetailPageViewRate: + type: + - "null" + - number + newToBrandDetailPageViews: + type: + - "null" + - integer + newToBrandDetailPageViewViews: + type: + - "null" + - integer + newToBrandECPDetailPageView: + type: + - "null" + - number + title: sponsored_display_adgroups_report_stream + additionalProperties: true + sponsored_display_productads_report_stream: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + profileId: + type: + - "null" + - integer + reportDate: + type: + - "null" + - string + adId: + type: + - "null" + - integer + addToCart: + type: + - "null" + - integer + addToCartRate: + type: + - "null" + - number + addToCartViews: + type: + - "null" + - integer + addToCartClicks: + type: + - "null" + - integer + adGroupId: + type: + - "null" + - integer + adGroupName: + type: + - "null" + - string + addToList: + type: + - "null" + - integer + addToListFromClicks: + type: + - "null" + - integer + qualifiedBorrows: + type: + - "null" + - integer + royaltyQualifiedBorrows: + type: + - "null" + - integer + addToListFromViews: + type: + - "null" + - integer + qualifiedBorrowsFromClicks: + type: + - "null" + - integer + qualifiedBorrowsFromViews: + type: + - "null" + - integer + royaltyQualifiedBorrowsFromClicks: + type: + - "null" + - integer + royaltyQualifiedBorrowsFromViews: + type: + - "null" + - integer + bidOptimization: + type: + - "null" + - string + brandedSearches: + type: + - "null" + - integer + brandedSearchesClicks: + type: + - "null" + - integer + brandedSearchesViews: + type: + - "null" + - integer + brandedSearchRate: + type: + - "null" + - number + campaignBudgetCurrencyCode: + type: + - "null" + - string + campaignId: + type: + - "null" + - integer + campaignName: + type: + - "null" + - string + clicks: + type: + - "null" + - integer + cost: + type: + - "null" + - number + cumulativeReach: + type: + - "null" + - string + detailPageViews: + type: + - "null" + - integer + detailPageViewsClicks: + type: + - "null" + - integer + eCPAddToCart: + type: + - "null" + - number + eCPBrandSearch: + type: + - "null" + - number + endDate: + type: + - "null" + - string + impressions: + type: + - "null" + - integer + impressionsFrequencyAverage: + type: + - "null" + - number + impressionsViews: + type: + - "null" + - integer + leadFormOpens: + type: + - "null" + - integer + leads: + type: + - "null" + - integer + linkOuts: + type: + - "null" + - integer + newToBrandDetailPageViewClicks: + type: + - "null" + - integer + newToBrandDetailPageViewRate: + type: + - "null" + - number + newToBrandDetailPageViews: + type: + - "null" + - integer + newToBrandDetailPageViewViews: + type: + - "null" + - integer + newToBrandECPDetailPageView: + type: + - "null" + - number + newToBrandPurchases: + type: + - "null" + - integer + newToBrandPurchasesClicks: + type: + - "null" + - integer + newToBrandSales: + type: + - "null" + - number + newToBrandSalesClicks: + type: + - "null" + - number + newToBrandUnitsSold: + type: + - "null" + - integer + newToBrandUnitsSoldClicks: + type: + - "null" + - integer + promotedAsin: + type: + - "null" + - string + promotedSku: + type: + - "null" + - string + purchases: + type: + - "null" + - integer + purchasesClicks: + type: + - "null" + - integer + purchasesPromotedClicks: + type: + - "null" + - integer + sales: + type: + - "null" + - number + salesClicks: + type: + - "null" + - number + salesPromotedClicks: + type: + - "null" + - number + startDate: + type: + - "null" + - string + unitsSold: + type: + - "null" + - integer + unitsSoldClicks: + type: + - "null" + - integer + videoCompleteViews: + type: + - "null" + - integer + videoFirstQuartileViews: + type: + - "null" + - integer + videoMidpointViews: + type: + - "null" + - integer + videoThirdQuartileViews: + type: + - "null" + - integer + videoUnmutes: + type: + - "null" + - integer + viewabilityRate: + type: + - "null" + - number + viewClickThroughRate: + type: + - "null" + - number + title: sponsored_display_productads_report_stream + additionalProperties: true + sponsored_display_targets_report_stream: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + profileId: + type: + - "null" + - integer + reportDate: + type: + - "null" + - string + targetingId: + type: + - "null" + - integer + addToCart: + type: + - "null" + - integer + addToCartClicks: + type: + - "null" + - integer + addToCartRate: + type: + - "null" + - number + addToCartViews: + type: + - "null" + - integer + adGroupId: + type: + - "null" + - integer + adGroupName: + type: + - "null" + - string + addToList: + type: + - "null" + - integer + addToListFromClicks: + type: + - "null" + - integer + addToListFromViews: + type: + - "null" + - integer + qualifiedBorrows: + type: + - "null" + - integer + qualifiedBorrowsFromClicks: + type: + - "null" + - integer + qualifiedBorrowsFromViews: + type: + - "null" + - integer + royaltyQualifiedBorrows: + type: + - "null" + - integer + royaltyQualifiedBorrowsFromClicks: + type: + - "null" + - integer + royaltyQualifiedBorrowsFromViews: + type: + - "null" + - integer + brandedSearches: + type: + - "null" + - integer + brandedSearchesClicks: + type: + - "null" + - integer + brandedSearchesViews: + type: + - "null" + - integer + brandedSearchRate: + type: + - "null" + - number + campaignBudgetCurrencyCode: + type: + - "null" + - string + campaignId: + type: + - "null" + - integer + campaignName: + type: + - "null" + - string + clicks: + type: + - "null" + - integer + cost: + type: + - "null" + - number + detailPageViews: + type: + - "null" + - integer + detailPageViewsClicks: + type: + - "null" + - integer + eCPAddToCart: + type: + - "null" + - number + eCPBrandSearch: + type: + - "null" + - number + endDate: + type: + - "null" + - string + impressions: + type: + - "null" + - integer + impressionsViews: + type: + - "null" + - integer + leadFormOpens: + type: + - "null" + - integer + leads: + type: + - "null" + - integer + linkOuts: + type: + - "null" + - integer + newToBrandPurchases: + type: + - "null" + - integer + newToBrandPurchasesClicks: + type: + - "null" + - integer + newToBrandSales: + type: + - "null" + - number + newToBrandSalesClicks: + type: + - "null" + - number + newToBrandUnitsSold: + type: + - "null" + - integer + newToBrandUnitsSoldClicks: + type: + - "null" + - integer + purchases: + type: + - "null" + - integer + purchasesClicks: + type: + - "null" + - integer + purchasesPromotedClicks: + type: + - "null" + - integer + sales: + type: + - "null" + - number + salesClicks: + type: + - "null" + - number + salesPromotedClicks: + type: + - "null" + - number + startDate: + type: + - "null" + - string + targetingExpression: + type: + - "null" + - string + targetingText: + type: + - "null" + - string + unitsSold: + type: + - "null" + - integer + unitsSoldClicks: + type: + - "null" + - integer + videoCompleteViews: + type: + - "null" + - integer + videoFirstQuartileViews: + type: + - "null" + - integer + videoMidpointViews: + type: + - "null" + - integer + videoThirdQuartileViews: + type: + - "null" + - integer + videoUnmutes: + type: + - "null" + - integer + viewabilityRate: + type: + - "null" + - number + viewClickThroughRate: + type: + - "null" + - number + title: sponsored_display_targets_report_stream + additionalProperties: true + sponsored_display_asins_report_stream: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + profileId: + type: + - "null" + - integer + reportDate: + type: + - "null" + - string + promotedAsin: + type: + - "null" + - string + adGroupId: + type: + - "null" + - integer + adGroupName: + type: + - "null" + - string + asinBrandHalo: + type: + - "null" + - string + addToList: + type: + - "null" + - integer + addToListFromClicks: + type: + - "null" + - integer + qualifiedBorrowsFromClicks: + type: + - "null" + - integer + royaltyQualifiedBorrowsFromClicks: + type: + - "null" + - integer + addToListFromViews: + type: + - "null" + - integer + qualifiedBorrows: + type: + - "null" + - integer + qualifiedBorrowsFromViews: + type: + - "null" + - integer + royaltyQualifiedBorrows: + type: + - "null" + - integer + royaltyQualifiedBorrowsFromViews: + type: + - "null" + - integer + campaignBudgetCurrencyCode: + type: + - "null" + - string + campaignId: + type: + - "null" + - integer + campaignName: + type: + - "null" + - string + conversionsBrandHalo: + type: + - "null" + - integer + conversionsBrandHaloClicks: + type: + - "null" + - integer + endDate: + type: + - "null" + - string + promotedSku: + type: + - "null" + - string + salesBrandHalo: + type: + - "null" + - integer + salesBrandHaloClicks: + type: + - "null" + - integer + startDate: + type: + - "null" + - string + unitsSoldBrandHalo: + type: + - "null" + - integer + unitsSoldBrandHaloClicks: + type: + - "null" + - integer + title: sponsored_display_asins_report_stream + additionalProperties: true + sponsored_products_campaigns_report_stream: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + profileId: + type: + - "null" + - integer + reportDate: + type: + - "null" + - string + campaignId: + type: + - "null" + - integer + campaignName: + type: + - "null" + - string + campaignStatus: + type: + - "null" + - string + campaignBudgetAmount: + type: + - "null" + - number + campaignRuleBasedBudgetAmount: + type: + - "null" + - number + campaignApplicableBudgetRuleId: + type: + - "null" + - string + campaignApplicableBudgetRuleName: + type: + - "null" + - string + impressions: + type: + - "null" + - integer + clicks: + type: + - "null" + - integer + cost: + type: + - "null" + - number + purchases1d: + type: + - "null" + - integer + purchases7d: + type: + - "null" + - integer + purchases14d: + type: + - "null" + - integer + purchases30d: + type: + - "null" + - integer + purchasesSameSku1d: + type: + - "null" + - integer + purchasesSameSku7d: + type: + - "null" + - integer + purchasesSameSku14d: + type: + - "null" + - integer + purchasesSameSku30d: + type: + - "null" + - integer + unitsSoldClicks1d: + type: + - "null" + - integer + unitsSoldClicks7d: + type: + - "null" + - integer + unitsSoldClicks14d: + type: + - "null" + - integer + unitsSoldClicks30d: + type: + - "null" + - integer + sales1d: + type: + - "null" + - number + sales7d: + type: + - "null" + - number + sales14d: + type: + - "null" + - number + sales30d: + type: + - "null" + - number + attributedSalesSameSku1d: + type: + - "null" + - number + attributedSalesSameSku7d: + type: + - "null" + - number + attributedSalesSameSku14d: + type: + - "null" + - number + attributedSalesSameSku30d: + type: + - "null" + - number + unitsSoldSameSku1d: + type: + - "null" + - integer + unitsSoldSameSku7d: + type: + - "null" + - integer + unitsSoldSameSku14d: + type: + - "null" + - integer + unitsSoldSameSku30d: + type: + - "null" + - integer + title: sponsored_products_campaigns_report_stream + additionalProperties: true + sponsored_products_adgroups_report_stream: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + profileId: + type: + - "null" + - integer + reportDate: + type: + - "null" + - string + adGroupId: + type: + - "null" + - integer + campaignName: + type: + - "null" + - string + campaignId: + type: + - "null" + - integer + adGroupName: + type: + - "null" + - string + impressions: + type: + - "null" + - integer + clicks: + type: + - "null" + - integer + cost: + type: + - "null" + - number + purchases1d: + type: + - "null" + - integer + purchases7d: + type: + - "null" + - integer + purchases14d: + type: + - "null" + - integer + purchases30d: + type: + - "null" + - integer + purchasesSameSku1d: + type: + - "null" + - integer + purchasesSameSku7d: + type: + - "null" + - integer + purchasesSameSku14d: + type: + - "null" + - integer + purchasesSameSku30d: + type: + - "null" + - integer + unitsSoldClicks1d: + type: + - "null" + - integer + unitsSoldClicks7d: + type: + - "null" + - integer + unitsSoldClicks14d: + type: + - "null" + - integer + unitsSoldClicks30d: + type: + - "null" + - integer + sales1d: + type: + - "null" + - number + sales7d: + type: + - "null" + - number + sales14d: + type: + - "null" + - number + sales30d: + type: + - "null" + - number + attributedSalesSameSku1d: + type: + - "null" + - number + attributedSalesSameSku7d: + type: + - "null" + - number + attributedSalesSameSku14d: + type: + - "null" + - number + attributedSalesSameSku30d: + type: + - "null" + - number + unitsSoldSameSku1d: + type: + - "null" + - integer + unitsSoldSameSku7d: + type: + - "null" + - integer + unitsSoldSameSku14d: + type: + - "null" + - integer + unitsSoldSameSku30d: + type: + - "null" + - integer + title: sponsored_products_adgroups_report_stream + additionalProperties: true + sponsored_products_keywords_report_stream: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + profileId: + type: + - "null" + - integer + reportDate: + type: + - "null" + - string + keywordId: + type: + - "null" + - integer + campaignName: + type: + - "null" + - string + campaignId: + type: + - "null" + - integer + adGroupName: + type: + - "null" + - string + adGroupId: + type: + - "null" + - integer + keyword: + type: + - "null" + - string + matchType: + type: + - "null" + - string + impressions: + type: + - "null" + - integer + clicks: + type: + - "null" + - integer + cost: + type: + - "null" + - number + purchases1d: + type: + - "null" + - integer + purchases7d: + type: + - "null" + - integer + purchases14d: + type: + - "null" + - integer + purchases30d: + type: + - "null" + - integer + purchasesSameSku1d: + type: + - "null" + - integer + purchasesSameSku7d: + type: + - "null" + - integer + purchasesSameSku14d: + type: + - "null" + - integer + purchasesSameSku30d: + type: + - "null" + - integer + unitsSoldClicks1d: + type: + - "null" + - integer + unitsSoldClicks7d: + type: + - "null" + - integer + unitsSoldClicks14d: + type: + - "null" + - integer + unitsSoldClicks30d: + type: + - "null" + - integer + sales1d: + type: + - "null" + - number + sales7d: + type: + - "null" + - number + sales14d: + type: + - "null" + - number + sales30d: + type: + - "null" + - number + attributedSalesSameSku1d: + type: + - "null" + - number + attributedSalesSameSku7d: + type: + - "null" + - number + attributedSalesSameSku14d: + type: + - "null" + - number + attributedSalesSameSku30d: + type: + - "null" + - number + unitsSoldSameSku1d: + type: + - "null" + - integer + unitsSoldSameSku7d: + type: + - "null" + - integer + unitsSoldSameSku14d: + type: + - "null" + - integer + unitsSoldSameSku30d: + type: + - "null" + - integer + title: sponsored_products_keywords_report_stream + additionalProperties: true + sponsored_products_targets_report_stream: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + profileId: + type: + - "null" + - integer + reportDate: + type: + - "null" + - string + keywordId: + type: + - "null" + - integer + campaignName: + type: + - "null" + - string + campaignId: + type: + - "null" + - integer + adGroupName: + type: + - "null" + - string + adGroupId: + type: + - "null" + - integer + keyword: + type: + - "null" + - string + targeting: + type: + - "null" + - string + keywordType: + type: + - "null" + - string + impressions: + type: + - "null" + - integer + clicks: + type: + - "null" + - integer + cost: + type: + - "null" + - number + purchases1d: + type: + - "null" + - integer + purchases7d: + type: + - "null" + - integer + purchases14d: + type: + - "null" + - integer + purchases30d: + type: + - "null" + - integer + purchasesSameSku1d: + type: + - "null" + - integer + purchasesSameSku7d: + type: + - "null" + - integer + purchasesSameSku14d: + type: + - "null" + - integer + purchasesSameSku30d: + type: + - "null" + - integer + unitsSoldClicks1d: + type: + - "null" + - integer + unitsSoldClicks7d: + type: + - "null" + - integer + unitsSoldClicks14d: + type: + - "null" + - integer + unitsSoldClicks30d: + type: + - "null" + - integer + sales1d: + type: + - "null" + - number + sales7d: + type: + - "null" + - number + sales14d: + type: + - "null" + - number + sales30d: + type: + - "null" + - number + attributedSalesSameSku1d: + type: + - "null" + - number + attributedSalesSameSku7d: + type: + - "null" + - number + attributedSalesSameSku14d: + type: + - "null" + - number + attributedSalesSameSku30d: + type: + - "null" + - number + unitsSoldSameSku1d: + type: + - "null" + - integer + unitsSoldSameSku7d: + type: + - "null" + - integer + unitsSoldSameSku14d: + type: + - "null" + - integer + unitsSoldSameSku30d: + type: + - "null" + - integer + title: sponsored_products_targets_report_stream + additionalProperties: true + sponsored_products_productads_report_stream: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + profileId: + type: + - "null" + - integer + reportDate: + type: + - "null" + - string + adId: + type: + - "null" + - integer + campaignName: + type: + - "null" + - string + campaignId: + type: + - "null" + - integer + adGroupName: + type: + - "null" + - string + adGroupId: + type: + - "null" + - integer + impressions: + type: + - "null" + - integer + clicks: + type: + - "null" + - integer + cost: + type: + - "null" + - number + campaignBudgetCurrencyCode: + type: + - "null" + - string + advertisedAsin: + type: + - "null" + - string + purchases1d: + type: + - "null" + - integer + purchases7d: + type: + - "null" + - integer + purchases14d: + type: + - "null" + - integer + purchases30d: + type: + - "null" + - integer + purchasesSameSku1d: + type: + - "null" + - integer + purchasesSameSku7d: + type: + - "null" + - integer + purchasesSameSku14d: + type: + - "null" + - integer + purchasesSameSku30d: + type: + - "null" + - integer + unitsSoldClicks1d: + type: + - "null" + - integer + unitsSoldClicks7d: + type: + - "null" + - integer + unitsSoldClicks14d: + type: + - "null" + - integer + unitsSoldClicks30d: + type: + - "null" + - integer + sales1d: + type: + - "null" + - number + sales7d: + type: + - "null" + - number + sales14d: + type: + - "null" + - number + sales30d: + type: + - "null" + - number + attributedSalesSameSku1d: + type: + - "null" + - number + attributedSalesSameSku7d: + type: + - "null" + - number + attributedSalesSameSku14d: + type: + - "null" + - number + attributedSalesSameSku30d: + type: + - "null" + - number + unitsSoldSameSku1d: + type: + - "null" + - integer + unitsSoldSameSku7d: + type: + - "null" + - integer + unitsSoldSameSku14d: + type: + - "null" + - integer + unitsSoldSameSku30d: + type: + - "null" + - integer + title: sponsored_products_productads_report_stream + additionalProperties: true + sponsored_products_asins_keywords_report_stream: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + profileId: + type: + - "null" + - integer + reportDate: + type: + - "null" + - string + advertisedAsin: + type: + - "null" + - string + campaignName: + type: + - "null" + - string + campaignId: + type: + - "null" + - integer + adGroupName: + type: + - "null" + - string + adGroupId: + type: + - "null" + - integer + keywordId: + type: + - "null" + - integer + keyword: + type: + - "null" + - string + purchasedAsin: + type: + - "null" + - string + advertisedSku: + type: + - "null" + - string + campaignBudgetCurrencyCode: + type: + - "null" + - string + matchType: + type: + - "null" + - string + unitsSoldClicks1d: + type: + - "null" + - integer + unitsSoldClicks7d: + type: + - "null" + - integer + unitsSoldClicks14d: + type: + - "null" + - integer + unitsSoldClicks30d: + type: + - "null" + - integer + unitsSoldOtherSku1d: + type: + - "null" + - integer + unitsSoldOtherSku7d: + type: + - "null" + - integer + unitsSoldOtherSku14d: + type: + - "null" + - integer + unitsSoldOtherSku30d: + type: + - "null" + - integer + salesOtherSku1d: + type: + - "null" + - number + salesOtherSku7d: + type: + - "null" + - number + salesOtherSku14d: + type: + - "null" + - number + salesOtherSku30d: + type: + - "null" + - number + title: sponsored_products_asins_keywords_report_stream + additionalProperties: true + sponsored_products_asins_targets_report_stream: + type: + - "null" + - object + $schema: http://json-schema.org/draft-07/schema# + properties: + profileId: + type: + - "null" + - integer + reportDate: + type: + - "null" + - string + advertisedAsin: + type: + - "null" + - string + campaignName: + type: + - "null" + - string + campaignId: + type: + - "null" + - integer + adGroupName: + type: + - "null" + - string + adGroupId: + type: + - "null" + - integer + purchasedAsin: + type: + - "null" + - string + advertisedSku: + type: + - "null" + - string + campaignBudgetCurrencyCode: + type: + - "null" + - string + matchType: + type: + - "null" + - string + unitsSoldClicks1d: + type: + - "null" + - integer + unitsSoldClicks7d: + type: + - "null" + - integer + unitsSoldClicks14d: + type: + - "null" + - integer + unitsSoldClicks30d: + type: + - "null" + - integer + unitsSoldOtherSku1d: + type: + - "null" + - integer + unitsSoldOtherSku7d: + type: + - "null" + - integer + unitsSoldOtherSku14d: + type: + - "null" + - integer + unitsSoldOtherSku30d: + type: + - "null" + - integer + salesOtherSku1d: + type: + - "null" + - number + salesOtherSku7d: + type: + - "null" + - number + salesOtherSku14d: + type: + - "null" + - number + salesOtherSku30d: + type: + - "null" + - number + keywordId: + type: + - "null" + - integer + targeting: + type: + - "null" + - string + keywordType: + type: + - "null" + - string + title: sponsored_products_asins_targets_report_stream + additionalProperties: true diff --git a/airbyte-integrations/connectors/source-amazon-ads/metadata.yaml b/airbyte-integrations/connectors/source-amazon-ads/metadata.yaml index 331b2c043b99d..3dadaf6bed54f 100644 --- a/airbyte-integrations/connectors/source-amazon-ads/metadata.yaml +++ b/airbyte-integrations/connectors/source-amazon-ads/metadata.yaml @@ -9,7 +9,8 @@ data: - advertising-api-eu.amazon.com - advertising-api-fe.amazon.com connectorBuildOptions: - baseImage: docker.io/airbyte/python-connector-base:4.0.0@sha256:d9894b6895923b379f3006fa251147806919c62b7d9021b5cd125bb67d7bbe22 + baseImage: + docker.io/airbyte/source-declarative-manifest:6.41.1@sha256:f256b6f008ec07a37e3e6bce3ada17bec4197c1bc66c41c4b756980c8cb587ac connectorSubtype: api connectorType: source definitionId: c6b0a29e-1da9-4512-9002-7bfd0cba2246 @@ -25,7 +26,7 @@ data: name: Amazon Ads remoteRegistries: pypi: - enabled: true + enabled: false packageName: airbyte-source-amazon-ads registryOverrides: cloud: @@ -90,7 +91,7 @@ data: - sponsored_products_report_stream supportLevel: certified tags: - - language:python + - language:manifest-only - cdk:low-code connectorTestSuitesOptions: - suite: liveTests diff --git a/airbyte-integrations/connectors/source-amazon-ads/poetry.lock b/airbyte-integrations/connectors/source-amazon-ads/poetry.lock deleted file mode 100644 index ec0bc6ad7ff8a..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/poetry.lock +++ /dev/null @@ -1,2128 +0,0 @@ -# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. - -[[package]] -name = "airbyte-cdk" -version = "6.34.0" -description = "A framework for writing Airbyte Connectors." -optional = false -python-versions = "<3.13,>=3.10" -files = [ - {file = "airbyte_cdk-6.34.0-py3-none-any.whl", hash = "sha256:4740021a8c10cd808cbee096a4c11c69da811bc2a89dd9388702fd81b775b004"}, - {file = "airbyte_cdk-6.34.0.tar.gz", hash = "sha256:3208c23b41288e22f649d546b1f1346d37069e0194c69b83d07bbcf841cac715"}, -] - -[package.dependencies] -airbyte-protocol-models-dataclasses = ">=0.14,<0.15" -backoff = "*" -cachetools = "*" -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 = ">=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" -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 = ">=2.9.0,<3.0.0" -python-ulid = ">=3.0.0,<4.0.0" -pytz = "2024.2" -PyYAML = ">=6.0.1,<7.0.0" -rapidfuzz = ">=3.10.1,<4.0.0" -requests = "*" -requests_cache = "*" -serpyco-rs = ">=1.10.2,<2.0.0" -Unidecode = ">=1.3,<2.0" -wcmatch = "10.0" -whenever = ">=0.6.16,<0.7.0" -xmltodict = ">=0.13,<0.15" - -[package.extras] -file-based = ["avro (>=1.11.2,<1.13.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-dataclasses" -version = "0.14.2" -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_dataclasses-0.14.2-py3-none-any.whl", hash = "sha256:ae06a406df031afa42f1156bacc587958197e5c7d9bbaf11893480903d4ded8b"}, - {file = "airbyte_protocol_models_dataclasses-0.14.2.tar.gz", hash = "sha256:9279237156b722cdd54e7b9ec8f97d264bd96e3f3008bc5fc47c215288a2212a"}, -] - -[[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" -version = "4.8.0" -description = "High level compatibility layer for multiple asynchronous event loop implementations" -optional = false -python-versions = ">=3.9" -files = [ - {file = "anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a"}, - {file = "anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a"}, -] - -[package.dependencies] -exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} -idna = ">=2.8" -sniffio = ">=1.1" -typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""} - -[package.extras] -doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx_rtd_theme"] -test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21)"] -trio = ["trio (>=0.26.1)"] - -[[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 = "25.1.0" -description = "Classes Without Boilerplate" -optional = false -python-versions = ">=3.8" -files = [ - {file = "attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a"}, - {file = "attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e"}, -] - -[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-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"] - -[[package]] -name = "backoff" -version = "2.2.1" -description = "Function decoration for backoff and retry" -optional = false -python-versions = ">=3.7,<4.0" -files = [ - {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, - {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, -] - -[[package]] -name = "bracex" -version = "2.5.post1" -description = "Bash style brace expander." -optional = false -python-versions = ">=3.8" -files = [ - {file = "bracex-2.5.post1-py3-none-any.whl", hash = "sha256:13e5732fec27828d6af308628285ad358047cec36801598368cb28bc631dbaf6"}, - {file = "bracex-2.5.post1.tar.gz", hash = "sha256:12c50952415bfa773d2d9ccb8e79651b8cdb1f31a42f6091b804f6ba2b4a66b6"}, -] - -[[package]] -name = "cachetools" -version = "5.5.2" -description = "Extensible memoizing collections and decorators" -optional = false -python-versions = ">=3.7" -files = [ - {file = "cachetools-5.5.2-py3-none-any.whl", hash = "sha256:d26a22bcc62eb95c3beabd9f1ee5e820d3d2704fe2967cbe350e20c8ffcd3f0a"}, - {file = "cachetools-5.5.2.tar.gz", hash = "sha256:1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4"}, -] - -[[package]] -name = "cattrs" -version = "24.1.2" -description = "Composable complex class support for attrs and dataclasses." -optional = false -python-versions = ">=3.8" -files = [ - {file = "cattrs-24.1.2-py3-none-any.whl", hash = "sha256:67c7495b760168d931a10233f979b28dc04daf853b30752246f4f8471c6d68d0"}, - {file = "cattrs-24.1.2.tar.gz", hash = "sha256:8028cfe1ff5382df59dd36474a86e02d817b06eaf8af84555441bac915d2ef85"}, -] - -[package.dependencies] -attrs = ">=23.1.0" -exceptiongroup = {version = ">=1.1.1", markers = "python_version < \"3.11\""} -typing-extensions = {version = ">=4.1.0,<4.6.3 || >4.6.3", markers = "python_version < \"3.11\""} - -[package.extras] -bson = ["pymongo (>=4.4.0)"] -cbor2 = ["cbor2 (>=5.4.6)"] -msgpack = ["msgpack (>=1.0.5)"] -msgspec = ["msgspec (>=0.18.5)"] -orjson = ["orjson (>=3.9.2)"] -pyyaml = ["pyyaml (>=6.0)"] -tomlkit = ["tomlkit (>=0.11.8)"] -ujson = ["ujson (>=5.7.0)"] - -[[package]] -name = "certifi" -version = "2025.1.31" -description = "Python package for providing Mozilla's CA Bundle." -optional = false -python-versions = ">=3.6" -files = [ - {file = "certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe"}, - {file = "certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651"}, -] - -[[package]] -name = "cffi" -version = "1.17.1" -description = "Foreign Function Interface for Python calling C code." -optional = false -python-versions = ">=3.8" -files = [ - {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, - {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"}, - {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"}, - {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"}, - {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"}, - {file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"}, - {file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"}, - {file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"}, - {file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"}, - {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"}, - {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"}, - {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"}, - {file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"}, - {file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"}, - {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"}, - {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"}, - {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"}, - {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"}, - {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"}, - {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"}, - {file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"}, - {file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"}, - {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"}, - {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"}, - {file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"}, - {file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"}, - {file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"}, - {file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"}, - {file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"}, - {file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"}, - {file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"}, - {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"}, - {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"}, - {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"}, - {file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"}, - {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, - {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, -] - -[package.dependencies] -pycparser = "*" - -[[package]] -name = "charset-normalizer" -version = "3.4.1" -description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -optional = false -python-versions = ">=3.7" -files = [ - {file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-win32.whl", hash = "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765"}, - {file = "charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85"}, - {file = "charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"}, -] - -[[package]] -name = "click" -version = "8.1.8" -description = "Composable command line interface toolkit" -optional = false -python-versions = ">=3.7" -files = [ - {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, - {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - -[[package]] -name = "colorama" -version = "0.4.6" -description = "Cross-platform colored terminal text." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -files = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] - -[[package]] -name = "cryptography" -version = "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-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] -cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""} - -[package.extras] -docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] -docstest = ["pyenchant (>=1.6.11)", "readme-renderer", "sphinxcontrib-spelling (>=4.0.1)"] -nox = ["nox"] -pep8test = ["check-sdist", "click", "mypy", "ruff"] -sdist = ["build"] -ssh = ["bcrypt (>=3.1.5)"] -test = ["certifi", "cryptography-vectors (==43.0.3)", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] -test-randomorder = ["pytest-randomly"] - -[[package]] -name = "dpath" -version = "2.2.0" -description = "Filesystem-like pathing and searching for dictionaries" -optional = false -python-versions = ">=3.7" -files = [ - {file = "dpath-2.2.0-py3-none-any.whl", hash = "sha256:b330a375ded0a0d2ed404440f6c6a715deae5313af40bbb01c8a41d891900576"}, - {file = "dpath-2.2.0.tar.gz", hash = "sha256:34f7e630dc55ea3f219e555726f5da4b4b25f2200319c8e6902c394258dd6a3e"}, -] - -[[package]] -name = "dunamai" -version = "1.23.0" -description = "Dynamic version generation" -optional = false -python-versions = ">=3.5" -files = [ - {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" -description = "Backport of PEP 654 (exception groups)" -optional = false -python-versions = ">=3.7" -files = [ - {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, - {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, -] - -[package.extras] -test = ["pytest (>=6)"] - -[[package]] -name = "freezegun" -version = "1.5.1" -description = "Let your Python tests travel through time" -optional = false -python-versions = ">=3.7" -files = [ - {file = "freezegun-1.5.1-py3-none-any.whl", hash = "sha256:bf111d7138a8abe55ab48a71755673dbaa4ab87f4cff5634a4442dfec34c15f1"}, - {file = "freezegun-1.5.1.tar.gz", hash = "sha256:b29dedfcda6d5e8e083ce71b2b542753ad48cfec44037b3fc79702e2980a89e9"}, -] - -[package.dependencies] -python-dateutil = ">=2.7" - -[[package]] -name = "genson" -version = "1.3.0" -description = "GenSON is a powerful, user-friendly JSON Schema generator." -optional = false -python-versions = "*" -files = [ - {file = "genson-1.3.0-py3-none-any.whl", hash = "sha256:468feccd00274cc7e4c09e84b08704270ba8d95232aa280f65b986139cec67f7"}, - {file = "genson-1.3.0.tar.gz", hash = "sha256:e02db9ac2e3fd29e65b5286f7135762e2cd8a986537c075b06fc5f1517308e37"}, -] - -[[package]] -name = "h11" -version = "0.14.0" -description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" -optional = false -python-versions = ">=3.7" -files = [ - {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, - {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, -] - -[[package]] -name = "httpcore" -version = "1.0.7" -description = "A minimal low-level HTTP client." -optional = false -python-versions = ">=3.8" -files = [ - {file = "httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd"}, - {file = "httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c"}, -] - -[package.dependencies] -certifi = "*" -h11 = ">=0.13,<0.15" - -[package.extras] -asyncio = ["anyio (>=4.0,<5.0)"] -http2 = ["h2 (>=3,<5)"] -socks = ["socksio (==1.*)"] -trio = ["trio (>=0.22.0,<1.0)"] - -[[package]] -name = "httpx" -version = "0.28.1" -description = "The next generation HTTP client." -optional = false -python-versions = ">=3.8" -files = [ - {file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"}, - {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"}, -] - -[package.dependencies] -anyio = "*" -certifi = "*" -httpcore = "==1.*" -idna = "*" - -[package.extras] -brotli = ["brotli", "brotlicffi"] -cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] -http2 = ["h2 (>=3,<5)"] -socks = ["socksio (==1.*)"] -zstd = ["zstandard (>=0.18.0)"] - -[[package]] -name = "idna" -version = "3.10" -description = "Internationalized Domain Names in Applications (IDNA)" -optional = false -python-versions = ">=3.6" -files = [ - {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, - {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, -] - -[package.extras] -all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] - -[[package]] -name = "iniconfig" -version = "2.0.0" -description = "brain-dead simple config-ini parsing" -optional = false -python-versions = ">=3.7" -files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, -] - -[[package]] -name = "isodate" -version = "0.6.1" -description = "An ISO 8601 date/time/duration parser and formatter" -optional = false -python-versions = "*" -files = [ - {file = "isodate-0.6.1-py2.py3-none-any.whl", hash = "sha256:0751eece944162659049d35f4f549ed815792b38793f07cf73381c1c87cbed96"}, - {file = "isodate-0.6.1.tar.gz", hash = "sha256:48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9"}, -] - -[package.dependencies] -six = "*" - -[[package]] -name = "jinja2" -version = "3.1.6" -description = "A very fast and expressive template engine." -optional = false -python-versions = ">=3.7" -files = [ - {file = "jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"}, - {file = "jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d"}, -] - -[package.dependencies] -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" -description = "Apply JSON-Patches (RFC 6902)" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" -files = [ - {file = "jsonpatch-1.33-py2.py3-none-any.whl", hash = "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade"}, - {file = "jsonpatch-1.33.tar.gz", hash = "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c"}, -] - -[package.dependencies] -jsonpointer = ">=1.9" - -[[package]] -name = "jsonpointer" -version = "3.0.0" -description = "Identify specific nodes in a JSON document (RFC 6901)" -optional = false -python-versions = ">=3.7" -files = [ - {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"}, - {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"}, -] - -[[package]] -name = "jsonref" -version = "0.2" -description = "An implementation of JSON Reference for Python" -optional = false -python-versions = "*" -files = [ - {file = "jsonref-0.2-py3-none-any.whl", hash = "sha256:b1e82fa0b62e2c2796a13e5401fe51790b248f6d9bf9d7212a3e31a3501b291f"}, - {file = "jsonref-0.2.tar.gz", hash = "sha256:f3c45b121cf6257eafabdc3a8008763aed1cd7da06dbabc59a9e4d2a5e4e6697"}, -] - -[[package]] -name = "jsonschema" -version = "4.17.3" -description = "An implementation of JSON Schema validation for Python" -optional = false -python-versions = ">=3.7" -files = [ - {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,<0.17.0 || >0.17.0,<0.17.1 || >0.17.1,<0.17.2 || >0.17.2" - -[package.extras] -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" -version = "0.1.42" -description = "Building applications with LLMs through composability" -optional = false -python-versions = "<4.0,>=3.8.1" -files = [ - {file = "langchain_core-0.1.42-py3-none-any.whl", hash = "sha256:c5653ffa08a44f740295c157a24c0def4a753333f6a2c41f76bf431cd00be8b5"}, - {file = "langchain_core-0.1.42.tar.gz", hash = "sha256:40751bf60ea5d8e2b2efe65290db434717ee3834870c002e40e2811f09d814e6"}, -] - -[package.dependencies] -jsonpatch = ">=1.33,<2.0" -langsmith = ">=0.1.0,<0.2.0" -packaging = ">=23.2,<24.0" -pydantic = ">=1,<3" -PyYAML = ">=5.3" -tenacity = ">=8.1.0,<9.0.0" - -[package.extras] -extended-testing = ["jinja2 (>=3,<4)"] - -[[package]] -name = "langsmith" -version = "0.1.147" -description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform." -optional = false -python-versions = "<4.0,>=3.8.1" -files = [ - {file = "langsmith-0.1.147-py3-none-any.whl", hash = "sha256:7166fc23b965ccf839d64945a78e9f1157757add228b086141eb03a60d699a15"}, - {file = "langsmith-0.1.147.tar.gz", hash = "sha256:2e933220318a4e73034657103b3b1a3a6109cc5db3566a7e8e03be8d6d7def7a"}, -] - -[package.dependencies] -httpx = ">=0.23.0,<1" -orjson = {version = ">=3.9.14,<4.0.0", markers = "platform_python_implementation != \"PyPy\""} -pydantic = {version = ">=1,<3", markers = "python_full_version < \"3.12.4\""} -requests = ">=2,<3" -requests-toolbelt = ">=1.0.0,<2.0.0" - -[package.extras] -langsmith-pyo3 = ["langsmith-pyo3 (>=0.1.0rc2,<0.2.0)"] - -[[package]] -name = "markupsafe" -version = "3.0.2" -description = "Safely add untrusted strings to HTML/XML markup." -optional = false -python-versions = ">=3.9" -files = [ - {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a"}, - {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.15" -description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" -optional = false -python-versions = ">=3.8" -files = [ - {file = "orjson-3.10.15-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:552c883d03ad185f720d0c09583ebde257e41b9521b74ff40e08b7dec4559c04"}, - {file = "orjson-3.10.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:616e3e8d438d02e4854f70bfdc03a6bcdb697358dbaa6bcd19cbe24d24ece1f8"}, - {file = "orjson-3.10.15-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c2c79fa308e6edb0ffab0a31fd75a7841bf2a79a20ef08a3c6e3b26814c8ca8"}, - {file = "orjson-3.10.15-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73cb85490aa6bf98abd20607ab5c8324c0acb48d6da7863a51be48505646c814"}, - {file = "orjson-3.10.15-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:763dadac05e4e9d2bc14938a45a2d0560549561287d41c465d3c58aec818b164"}, - {file = "orjson-3.10.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a330b9b4734f09a623f74a7490db713695e13b67c959713b78369f26b3dee6bf"}, - {file = "orjson-3.10.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a61a4622b7ff861f019974f73d8165be1bd9a0855e1cad18ee167acacabeb061"}, - {file = "orjson-3.10.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:acd271247691574416b3228db667b84775c497b245fa275c6ab90dc1ffbbd2b3"}, - {file = "orjson-3.10.15-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:e4759b109c37f635aa5c5cc93a1b26927bfde24b254bcc0e1149a9fada253d2d"}, - {file = "orjson-3.10.15-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9e992fd5cfb8b9f00bfad2fd7a05a4299db2bbe92e6440d9dd2fab27655b3182"}, - {file = "orjson-3.10.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f95fb363d79366af56c3f26b71df40b9a583b07bbaaf5b317407c4d58497852e"}, - {file = "orjson-3.10.15-cp310-cp310-win32.whl", hash = "sha256:f9875f5fea7492da8ec2444839dcc439b0ef298978f311103d0b7dfd775898ab"}, - {file = "orjson-3.10.15-cp310-cp310-win_amd64.whl", hash = "sha256:17085a6aa91e1cd70ca8533989a18b5433e15d29c574582f76f821737c8d5806"}, - {file = "orjson-3.10.15-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c4cc83960ab79a4031f3119cc4b1a1c627a3dc09df125b27c4201dff2af7eaa6"}, - {file = "orjson-3.10.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddbeef2481d895ab8be5185f2432c334d6dec1f5d1933a9c83014d188e102cef"}, - {file = "orjson-3.10.15-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9e590a0477b23ecd5b0ac865b1b907b01b3c5535f5e8a8f6ab0e503efb896334"}, - {file = "orjson-3.10.15-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a6be38bd103d2fd9bdfa31c2720b23b5d47c6796bcb1d1b598e3924441b4298d"}, - {file = "orjson-3.10.15-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ff4f6edb1578960ed628a3b998fa54d78d9bb3e2eb2cfc5c2a09732431c678d0"}, - {file = "orjson-3.10.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b0482b21d0462eddd67e7fce10b89e0b6ac56570424662b685a0d6fccf581e13"}, - {file = "orjson-3.10.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bb5cc3527036ae3d98b65e37b7986a918955f85332c1ee07f9d3f82f3a6899b5"}, - {file = "orjson-3.10.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d569c1c462912acdd119ccbf719cf7102ea2c67dd03b99edcb1a3048651ac96b"}, - {file = "orjson-3.10.15-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:1e6d33efab6b71d67f22bf2962895d3dc6f82a6273a965fab762e64fa90dc399"}, - {file = "orjson-3.10.15-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:c33be3795e299f565681d69852ac8c1bc5c84863c0b0030b2b3468843be90388"}, - {file = "orjson-3.10.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:eea80037b9fae5339b214f59308ef0589fc06dc870578b7cce6d71eb2096764c"}, - {file = "orjson-3.10.15-cp311-cp311-win32.whl", hash = "sha256:d5ac11b659fd798228a7adba3e37c010e0152b78b1982897020a8e019a94882e"}, - {file = "orjson-3.10.15-cp311-cp311-win_amd64.whl", hash = "sha256:cf45e0214c593660339ef63e875f32ddd5aa3b4adc15e662cdb80dc49e194f8e"}, - {file = "orjson-3.10.15-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9d11c0714fc85bfcf36ada1179400862da3288fc785c30e8297844c867d7505a"}, - {file = "orjson-3.10.15-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dba5a1e85d554e3897fa9fe6fbcff2ed32d55008973ec9a2b992bd9a65d2352d"}, - {file = "orjson-3.10.15-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7723ad949a0ea502df656948ddd8b392780a5beaa4c3b5f97e525191b102fff0"}, - {file = "orjson-3.10.15-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6fd9bc64421e9fe9bd88039e7ce8e58d4fead67ca88e3a4014b143cec7684fd4"}, - {file = "orjson-3.10.15-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dadba0e7b6594216c214ef7894c4bd5f08d7c0135f4dd0145600be4fbcc16767"}, - {file = "orjson-3.10.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b48f59114fe318f33bbaee8ebeda696d8ccc94c9e90bc27dbe72153094e26f41"}, - {file = "orjson-3.10.15-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:035fb83585e0f15e076759b6fedaf0abb460d1765b6a36f48018a52858443514"}, - {file = "orjson-3.10.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d13b7fe322d75bf84464b075eafd8e7dd9eae05649aa2a5354cfa32f43c59f17"}, - {file = "orjson-3.10.15-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:7066b74f9f259849629e0d04db6609db4cf5b973248f455ba5d3bd58a4daaa5b"}, - {file = "orjson-3.10.15-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:88dc3f65a026bd3175eb157fea994fca6ac7c4c8579fc5a86fc2114ad05705b7"}, - {file = "orjson-3.10.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b342567e5465bd99faa559507fe45e33fc76b9fb868a63f1642c6bc0735ad02a"}, - {file = "orjson-3.10.15-cp312-cp312-win32.whl", hash = "sha256:0a4f27ea5617828e6b58922fdbec67b0aa4bb844e2d363b9244c47fa2180e665"}, - {file = "orjson-3.10.15-cp312-cp312-win_amd64.whl", hash = "sha256:ef5b87e7aa9545ddadd2309efe6824bd3dd64ac101c15dae0f2f597911d46eaa"}, - {file = "orjson-3.10.15-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:bae0e6ec2b7ba6895198cd981b7cca95d1487d0147c8ed751e5632ad16f031a6"}, - {file = "orjson-3.10.15-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f93ce145b2db1252dd86af37d4165b6faa83072b46e3995ecc95d4b2301b725a"}, - {file = "orjson-3.10.15-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c203f6f969210128af3acae0ef9ea6aab9782939f45f6fe02d05958fe761ef9"}, - {file = "orjson-3.10.15-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8918719572d662e18b8af66aef699d8c21072e54b6c82a3f8f6404c1f5ccd5e0"}, - {file = "orjson-3.10.15-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f71eae9651465dff70aa80db92586ad5b92df46a9373ee55252109bb6b703307"}, - {file = "orjson-3.10.15-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e117eb299a35f2634e25ed120c37c641398826c2f5a3d3cc39f5993b96171b9e"}, - {file = "orjson-3.10.15-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:13242f12d295e83c2955756a574ddd6741c81e5b99f2bef8ed8d53e47a01e4b7"}, - {file = "orjson-3.10.15-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7946922ada8f3e0b7b958cc3eb22cfcf6c0df83d1fe5521b4a100103e3fa84c8"}, - {file = "orjson-3.10.15-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:b7155eb1623347f0f22c38c9abdd738b287e39b9982e1da227503387b81b34ca"}, - {file = "orjson-3.10.15-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:208beedfa807c922da4e81061dafa9c8489c6328934ca2a562efa707e049e561"}, - {file = "orjson-3.10.15-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eca81f83b1b8c07449e1d6ff7074e82e3fd6777e588f1a6632127f286a968825"}, - {file = "orjson-3.10.15-cp313-cp313-win32.whl", hash = "sha256:c03cd6eea1bd3b949d0d007c8d57049aa2b39bd49f58b4b2af571a5d3833d890"}, - {file = "orjson-3.10.15-cp313-cp313-win_amd64.whl", hash = "sha256:fd56a26a04f6ba5fb2045b0acc487a63162a958ed837648c5781e1fe3316cfbf"}, - {file = "orjson-3.10.15-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:5e8afd6200e12771467a1a44e5ad780614b86abb4b11862ec54861a82d677746"}, - {file = "orjson-3.10.15-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da9a18c500f19273e9e104cca8c1f0b40a6470bcccfc33afcc088045d0bf5ea6"}, - {file = "orjson-3.10.15-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bb00b7bfbdf5d34a13180e4805d76b4567025da19a197645ca746fc2fb536586"}, - {file = "orjson-3.10.15-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:33aedc3d903378e257047fee506f11e0833146ca3e57a1a1fb0ddb789876c1e1"}, - {file = "orjson-3.10.15-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd0099ae6aed5eb1fc84c9eb72b95505a3df4267e6962eb93cdd5af03be71c98"}, - {file = "orjson-3.10.15-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c864a80a2d467d7786274fce0e4f93ef2a7ca4ff31f7fc5634225aaa4e9e98c"}, - {file = "orjson-3.10.15-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c25774c9e88a3e0013d7d1a6c8056926b607a61edd423b50eb5c88fd7f2823ae"}, - {file = "orjson-3.10.15-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:e78c211d0074e783d824ce7bb85bf459f93a233eb67a5b5003498232ddfb0e8a"}, - {file = "orjson-3.10.15-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:43e17289ffdbbac8f39243916c893d2ae41a2ea1a9cbb060a56a4d75286351ae"}, - {file = "orjson-3.10.15-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:781d54657063f361e89714293c095f506c533582ee40a426cb6489c48a637b81"}, - {file = "orjson-3.10.15-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:6875210307d36c94873f553786a808af2788e362bd0cf4c8e66d976791e7b528"}, - {file = "orjson-3.10.15-cp38-cp38-win32.whl", hash = "sha256:305b38b2b8f8083cc3d618927d7f424349afce5975b316d33075ef0f73576b60"}, - {file = "orjson-3.10.15-cp38-cp38-win_amd64.whl", hash = "sha256:5dd9ef1639878cc3efffed349543cbf9372bdbd79f478615a1c633fe4e4180d1"}, - {file = "orjson-3.10.15-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:ffe19f3e8d68111e8644d4f4e267a069ca427926855582ff01fc012496d19969"}, - {file = "orjson-3.10.15-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d433bf32a363823863a96561a555227c18a522a8217a6f9400f00ddc70139ae2"}, - {file = "orjson-3.10.15-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:da03392674f59a95d03fa5fb9fe3a160b0511ad84b7a3914699ea5a1b3a38da2"}, - {file = "orjson-3.10.15-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3a63bb41559b05360ded9132032239e47983a39b151af1201f07ec9370715c82"}, - {file = "orjson-3.10.15-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3766ac4702f8f795ff3fa067968e806b4344af257011858cc3d6d8721588b53f"}, - {file = "orjson-3.10.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a1c73dcc8fadbd7c55802d9aa093b36878d34a3b3222c41052ce6b0fc65f8e8"}, - {file = "orjson-3.10.15-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b299383825eafe642cbab34be762ccff9fd3408d72726a6b2a4506d410a71ab3"}, - {file = "orjson-3.10.15-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:abc7abecdbf67a173ef1316036ebbf54ce400ef2300b4e26a7b843bd446c2480"}, - {file = "orjson-3.10.15-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:3614ea508d522a621384c1d6639016a5a2e4f027f3e4a1c93a51867615d28829"}, - {file = "orjson-3.10.15-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:295c70f9dc154307777ba30fe29ff15c1bcc9dfc5c48632f37d20a607e9ba85a"}, - {file = "orjson-3.10.15-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:63309e3ff924c62404923c80b9e2048c1f74ba4b615e7584584389ada50ed428"}, - {file = "orjson-3.10.15-cp39-cp39-win32.whl", hash = "sha256:a2f708c62d026fb5340788ba94a55c23df4e1869fec74be455e0b2f5363b8507"}, - {file = "orjson-3.10.15-cp39-cp39-win_amd64.whl", hash = "sha256:efcf6c735c3d22ef60c4aa27a5238f1a477df85e9b15f2142f9d669beb2d13fd"}, - {file = "orjson-3.10.15.tar.gz", hash = "sha256:05ca7fe452a2e9d8d9d706a2984c95b9c2ebc5db417ce0b7a49b91d50642a23e"}, -] - -[[package]] -name = "packaging" -version = "23.2" -description = "Core utilities for Python packages" -optional = false -python-versions = ">=3.7" -files = [ - {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, - {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, -] - -[[package]] -name = "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" -description = "Python datetimes made easy" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "pendulum-2.1.2-cp27-cp27m-macosx_10_15_x86_64.whl", hash = "sha256:b6c352f4bd32dff1ea7066bd31ad0f71f8d8100b9ff709fb343f3b86cee43efe"}, - {file = "pendulum-2.1.2-cp27-cp27m-win_amd64.whl", hash = "sha256:318f72f62e8e23cd6660dbafe1e346950281a9aed144b5c596b2ddabc1d19739"}, - {file = "pendulum-2.1.2-cp35-cp35m-macosx_10_15_x86_64.whl", hash = "sha256:0731f0c661a3cb779d398803655494893c9f581f6488048b3fb629c2342b5394"}, - {file = "pendulum-2.1.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:3481fad1dc3f6f6738bd575a951d3c15d4b4ce7c82dce37cf8ac1483fde6e8b0"}, - {file = "pendulum-2.1.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9702069c694306297ed362ce7e3c1ef8404ac8ede39f9b28b7c1a7ad8c3959e3"}, - {file = "pendulum-2.1.2-cp35-cp35m-win_amd64.whl", hash = "sha256:fb53ffa0085002ddd43b6ca61a7b34f2d4d7c3ed66f931fe599e1a531b42af9b"}, - {file = "pendulum-2.1.2-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:c501749fdd3d6f9e726086bf0cd4437281ed47e7bca132ddb522f86a1645d360"}, - {file = "pendulum-2.1.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:c807a578a532eeb226150d5006f156632df2cc8c5693d778324b43ff8c515dd0"}, - {file = "pendulum-2.1.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:2d1619a721df661e506eff8db8614016f0720ac171fe80dda1333ee44e684087"}, - {file = "pendulum-2.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:f888f2d2909a414680a29ae74d0592758f2b9fcdee3549887779cd4055e975db"}, - {file = "pendulum-2.1.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:e95d329384717c7bf627bf27e204bc3b15c8238fa8d9d9781d93712776c14002"}, - {file = "pendulum-2.1.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:4c9c689747f39d0d02a9f94fcee737b34a5773803a64a5fdb046ee9cac7442c5"}, - {file = "pendulum-2.1.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:1245cd0075a3c6d889f581f6325dd8404aca5884dea7223a5566c38aab94642b"}, - {file = "pendulum-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:db0a40d8bcd27b4fb46676e8eb3c732c67a5a5e6bfab8927028224fbced0b40b"}, - {file = "pendulum-2.1.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:f5e236e7730cab1644e1b87aca3d2ff3e375a608542e90fe25685dae46310116"}, - {file = "pendulum-2.1.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:de42ea3e2943171a9e95141f2eecf972480636e8e484ccffaf1e833929e9e052"}, - {file = "pendulum-2.1.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7c5ec650cb4bec4c63a89a0242cc8c3cebcec92fcfe937c417ba18277d8560be"}, - {file = "pendulum-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:33fb61601083f3eb1d15edeb45274f73c63b3c44a8524703dc143f4212bf3269"}, - {file = "pendulum-2.1.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:29c40a6f2942376185728c9a0347d7c0f07905638c83007e1d262781f1e6953a"}, - {file = "pendulum-2.1.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:94b1fc947bfe38579b28e1cccb36f7e28a15e841f30384b5ad6c5e31055c85d7"}, - {file = "pendulum-2.1.2.tar.gz", hash = "sha256:b06a0ca1bfe41c990bbf0c029f0b6501a7f2ec4e38bfec730712015e8860f207"}, -] - -[package.dependencies] -python-dateutil = ">=2.6,<3.0" -pytzdata = ">=2020.1" - -[[package]] -name = "platformdirs" -version = "4.3.6" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." -optional = false -python-versions = ">=3.8" -files = [ - {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, - {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, -] - -[package.extras] -docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] -type = ["mypy (>=1.11.2)"] - -[[package]] -name = "pluggy" -version = "1.5.0" -description = "plugin and hook calling mechanisms for python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, - {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, -] - -[package.extras] -dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] - -[[package]] -name = "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 = "pycparser" -version = "2.22" -description = "C parser in Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, - {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, -] - -[[package]] -name = "pydantic" -version = "2.10.6" -description = "Data validation using Python type hints" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584"}, - {file = "pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236"}, -] - -[package.dependencies] -annotated-types = ">=0.6.0" -pydantic-core = "2.27.2" -typing-extensions = ">=4.12.2" - -[package.extras] -email = ["email-validator (>=2.0.0)"] -timezone = ["tzdata"] - -[[package]] -name = "pydantic-core" -version = "2.27.2" -description = "Core functionality for Pydantic validation and serialization" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pydantic_core-2.27.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2d367ca20b2f14095a8f4fa1210f5a7b78b8a20009ecced6b12818f455b1e9fa"}, - {file = "pydantic_core-2.27.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:491a2b73db93fab69731eaee494f320faa4e093dbed776be1a829c2eb222c34c"}, - {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7969e133a6f183be60e9f6f56bfae753585680f3b7307a8e555a948d443cc05a"}, - {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3de9961f2a346257caf0aa508a4da705467f53778e9ef6fe744c038119737ef5"}, - {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2bb4d3e5873c37bb3dd58714d4cd0b0e6238cebc4177ac8fe878f8b3aa8e74c"}, - {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:280d219beebb0752699480fe8f1dc61ab6615c2046d76b7ab7ee38858de0a4e7"}, - {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47956ae78b6422cbd46f772f1746799cbb862de838fd8d1fbd34a82e05b0983a"}, - {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:14d4a5c49d2f009d62a2a7140d3064f686d17a5d1a268bc641954ba181880236"}, - {file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:337b443af21d488716f8d0b6164de833e788aa6bd7e3a39c005febc1284f4962"}, - {file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:03d0f86ea3184a12f41a2d23f7ccb79cdb5a18e06993f8a45baa8dfec746f0e9"}, - {file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7041c36f5680c6e0f08d922aed302e98b3745d97fe1589db0a3eebf6624523af"}, - {file = "pydantic_core-2.27.2-cp310-cp310-win32.whl", hash = "sha256:50a68f3e3819077be2c98110c1f9dcb3817e93f267ba80a2c05bb4f8799e2ff4"}, - {file = "pydantic_core-2.27.2-cp310-cp310-win_amd64.whl", hash = "sha256:e0fd26b16394ead34a424eecf8a31a1f5137094cabe84a1bcb10fa6ba39d3d31"}, - {file = "pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc"}, - {file = "pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7"}, - {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15"}, - {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306"}, - {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99"}, - {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459"}, - {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048"}, - {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d"}, - {file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b"}, - {file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474"}, - {file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6"}, - {file = "pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c"}, - {file = "pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc"}, - {file = "pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4"}, - {file = "pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0"}, - {file = "pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef"}, - {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7"}, - {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934"}, - {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6"}, - {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c"}, - {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2"}, - {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4"}, - {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3"}, - {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4"}, - {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57"}, - {file = "pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc"}, - {file = "pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9"}, - {file = "pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b"}, - {file = "pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b"}, - {file = "pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154"}, - {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9"}, - {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9"}, - {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1"}, - {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a"}, - {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e"}, - {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4"}, - {file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27"}, - {file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee"}, - {file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1"}, - {file = "pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130"}, - {file = "pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee"}, - {file = "pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b"}, - {file = "pydantic_core-2.27.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d3e8d504bdd3f10835468f29008d72fc8359d95c9c415ce6e767203db6127506"}, - {file = "pydantic_core-2.27.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:521eb9b7f036c9b6187f0b47318ab0d7ca14bd87f776240b90b21c1f4f149320"}, - {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85210c4d99a0114f5a9481b44560d7d1e35e32cc5634c656bc48e590b669b145"}, - {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d716e2e30c6f140d7560ef1538953a5cd1a87264c737643d481f2779fc247fe1"}, - {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f66d89ba397d92f840f8654756196d93804278457b5fbede59598a1f9f90b228"}, - {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:669e193c1c576a58f132e3158f9dfa9662969edb1a250c54d8fa52590045f046"}, - {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdbe7629b996647b99c01b37f11170a57ae675375b14b8c13b8518b8320ced5"}, - {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d262606bf386a5ba0b0af3b97f37c83d7011439e3dc1a9298f21efb292e42f1a"}, - {file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:cabb9bcb7e0d97f74df8646f34fc76fbf793b7f6dc2438517d7a9e50eee4f14d"}, - {file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_armv7l.whl", hash = "sha256:d2d63f1215638d28221f664596b1ccb3944f6e25dd18cd3b86b0a4c408d5ebb9"}, - {file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bca101c00bff0adb45a833f8451b9105d9df18accb8743b08107d7ada14bd7da"}, - {file = "pydantic_core-2.27.2-cp38-cp38-win32.whl", hash = "sha256:f6f8e111843bbb0dee4cb6594cdc73e79b3329b526037ec242a3e49012495b3b"}, - {file = "pydantic_core-2.27.2-cp38-cp38-win_amd64.whl", hash = "sha256:fd1aea04935a508f62e0d0ef1f5ae968774a32afc306fb8545e06f5ff5cdf3ad"}, - {file = "pydantic_core-2.27.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c10eb4f1659290b523af58fa7cffb452a61ad6ae5613404519aee4bfbf1df993"}, - {file = "pydantic_core-2.27.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ef592d4bad47296fb11f96cd7dc898b92e795032b4894dfb4076cfccd43a9308"}, - {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c61709a844acc6bf0b7dce7daae75195a10aac96a596ea1b776996414791ede4"}, - {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c5f762659e47fdb7b16956c71598292f60a03aa92f8b6351504359dbdba6cf"}, - {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c9775e339e42e79ec99c441d9730fccf07414af63eac2f0e48e08fd38a64d76"}, - {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57762139821c31847cfb2df63c12f725788bd9f04bc2fb392790959b8f70f118"}, - {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d1e85068e818c73e048fe28cfc769040bb1f475524f4745a5dc621f75ac7630"}, - {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:097830ed52fd9e427942ff3b9bc17fab52913b2f50f2880dc4a5611446606a54"}, - {file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:044a50963a614ecfae59bb1eaf7ea7efc4bc62f49ed594e18fa1e5d953c40e9f"}, - {file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:4e0b4220ba5b40d727c7f879eac379b822eee5d8fff418e9d3381ee45b3b0362"}, - {file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5e4f4bb20d75e9325cc9696c6802657b58bc1dbbe3022f32cc2b2b632c3fbb96"}, - {file = "pydantic_core-2.27.2-cp39-cp39-win32.whl", hash = "sha256:cca63613e90d001b9f2f9a9ceb276c308bfa2a43fafb75c8031c4f66039e8c6e"}, - {file = "pydantic_core-2.27.2-cp39-cp39-win_amd64.whl", hash = "sha256:77d1bca19b0f7021b3a982e6f903dcd5b2b06076def36a652e3907f596e29f67"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2bf14caea37e91198329b828eae1618c068dfb8ef17bb33287a7ad4b61ac314e"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0cb791f5b45307caae8810c2023a184c74605ec3bcbb67d13846c28ff731ff8"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688d3fd9fcb71f41c4c015c023d12a79d1c4c0732ec9eb35d96e3388a120dcf3"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d591580c34f4d731592f0e9fe40f9cc1b430d297eecc70b962e93c5c668f15f"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82f986faf4e644ffc189a7f1aafc86e46ef70372bb153e7001e8afccc6e54133"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bec317a27290e2537f922639cafd54990551725fc844249e64c523301d0822fc"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:0296abcb83a797db256b773f45773da397da75a08f5fcaef41f2044adec05f50"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0d75070718e369e452075a6017fbf187f788e17ed67a3abd47fa934d001863d9"}, - {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7e17b560be3c98a8e3aa66ce828bdebb9e9ac6ad5466fba92eb74c4c95cb1151"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c33939a82924da9ed65dab5a65d427205a73181d8098e79b6b426bdf8ad4e656"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:00bad2484fa6bda1e216e7345a798bd37c68fb2d97558edd584942aa41b7d278"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c817e2b40aba42bac6f457498dacabc568c3b7a986fc9ba7c8d9d260b71485fb"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:251136cdad0cb722e93732cb45ca5299fb56e1344a833640bf93b2803f8d1bfd"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2088237af596f0a524d3afc39ab3b036e8adb054ee57cbb1dcf8e09da5b29cc"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d4041c0b966a84b4ae7a09832eb691a35aec90910cd2dbe7a208de59be77965b"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:8083d4e875ebe0b864ffef72a4304827015cff328a1be6e22cc850753bfb122b"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f141ee28a0ad2123b6611b6ceff018039df17f32ada8b534e6aa039545a3efb2"}, - {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7d0c8399fcc1848491f00e0314bd59fb34a9c008761bcb422a057670c3f65e35"}, - {file = "pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39"}, -] - -[package.dependencies] -typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" - -[[package]] -name = "pyjwt" -version = "2.10.1" -description = "JSON Web Token implementation in Python" -optional = false -python-versions = ">=3.9" -files = [ - {file = "PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb"}, - {file = "pyjwt-2.10.1.tar.gz", hash = "sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953"}, -] - -[package.extras] -crypto = ["cryptography (>=3.4.0)"] -dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx", "sphinx-rtd-theme", "zope.interface"] -docs = ["sphinx", "sphinx-rtd-theme", "zope.interface"] -tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] - -[[package]] -name = "pyrate-limiter" -version = "3.1.1" -description = "Python Rate-Limiter using Leaky-Bucket Algorithm" -optional = false -python-versions = ">=3.8,<4.0" -files = [ - {file = "pyrate_limiter-3.1.1-py3-none-any.whl", hash = "sha256:c51906f1d51d56dc992ff6c26e8300e32151bc6cfa3e6559792e31971dfd4e2b"}, - {file = "pyrate_limiter-3.1.1.tar.gz", hash = "sha256:2f57eda712687e6eccddf6afe8f8a15b409b97ed675fe64a626058f12863b7b7"}, -] - -[package.extras] -all = ["filelock (>=3.0)", "redis (>=5.0.0,<6.0.0)"] -docs = ["furo (>=2022.3.4,<2023.0.0)", "myst-parser (>=0.17)", "sphinx (>=4.3.0,<5.0.0)", "sphinx-autodoc-typehints (>=1.17,<2.0)", "sphinx-copybutton (>=0.5)", "sphinxcontrib-apidoc (>=0.3,<0.4)"] - -[[package]] -name = "pyrsistent" -version = "0.20.0" -description = "Persistent/Functional/Immutable data structures" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pyrsistent-0.20.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8c3aba3e01235221e5b229a6c05f585f344734bd1ad42a8ac51493d74722bbce"}, - {file = "pyrsistent-0.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1beb78af5423b879edaf23c5591ff292cf7c33979734c99aa66d5914ead880f"}, - {file = "pyrsistent-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21cc459636983764e692b9eba7144cdd54fdec23ccdb1e8ba392a63666c60c34"}, - {file = "pyrsistent-0.20.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f5ac696f02b3fc01a710427585c855f65cd9c640e14f52abe52020722bb4906b"}, - {file = "pyrsistent-0.20.0-cp310-cp310-win32.whl", hash = "sha256:0724c506cd8b63c69c7f883cc233aac948c1ea946ea95996ad8b1380c25e1d3f"}, - {file = "pyrsistent-0.20.0-cp310-cp310-win_amd64.whl", hash = "sha256:8441cf9616d642c475684d6cf2520dd24812e996ba9af15e606df5f6fd9d04a7"}, - {file = "pyrsistent-0.20.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0f3b1bcaa1f0629c978b355a7c37acd58907390149b7311b5db1b37648eb6958"}, - {file = "pyrsistent-0.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cdd7ef1ea7a491ae70d826b6cc64868de09a1d5ff9ef8d574250d0940e275b8"}, - {file = "pyrsistent-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cae40a9e3ce178415040a0383f00e8d68b569e97f31928a3a8ad37e3fde6df6a"}, - {file = "pyrsistent-0.20.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6288b3fa6622ad8a91e6eb759cfc48ff3089e7c17fb1d4c59a919769314af224"}, - {file = "pyrsistent-0.20.0-cp311-cp311-win32.whl", hash = "sha256:7d29c23bdf6e5438c755b941cef867ec2a4a172ceb9f50553b6ed70d50dfd656"}, - {file = "pyrsistent-0.20.0-cp311-cp311-win_amd64.whl", hash = "sha256:59a89bccd615551391f3237e00006a26bcf98a4d18623a19909a2c48b8e986ee"}, - {file = "pyrsistent-0.20.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:09848306523a3aba463c4b49493a760e7a6ca52e4826aa100ee99d8d39b7ad1e"}, - {file = "pyrsistent-0.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a14798c3005ec892bbada26485c2eea3b54109cb2533713e355c806891f63c5e"}, - {file = "pyrsistent-0.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b14decb628fac50db5e02ee5a35a9c0772d20277824cfe845c8a8b717c15daa3"}, - {file = "pyrsistent-0.20.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e2c116cc804d9b09ce9814d17df5edf1df0c624aba3b43bc1ad90411487036d"}, - {file = "pyrsistent-0.20.0-cp312-cp312-win32.whl", hash = "sha256:e78d0c7c1e99a4a45c99143900ea0546025e41bb59ebc10182e947cf1ece9174"}, - {file = "pyrsistent-0.20.0-cp312-cp312-win_amd64.whl", hash = "sha256:4021a7f963d88ccd15b523787d18ed5e5269ce57aa4037146a2377ff607ae87d"}, - {file = "pyrsistent-0.20.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:79ed12ba79935adaac1664fd7e0e585a22caa539dfc9b7c7c6d5ebf91fb89054"}, - {file = "pyrsistent-0.20.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f920385a11207dc372a028b3f1e1038bb244b3ec38d448e6d8e43c6b3ba20e98"}, - {file = "pyrsistent-0.20.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f5c2d012671b7391803263419e31b5c7c21e7c95c8760d7fc35602353dee714"}, - {file = "pyrsistent-0.20.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef3992833fbd686ee783590639f4b8343a57f1f75de8633749d984dc0eb16c86"}, - {file = "pyrsistent-0.20.0-cp38-cp38-win32.whl", hash = "sha256:881bbea27bbd32d37eb24dd320a5e745a2a5b092a17f6debc1349252fac85423"}, - {file = "pyrsistent-0.20.0-cp38-cp38-win_amd64.whl", hash = "sha256:6d270ec9dd33cdb13f4d62c95c1a5a50e6b7cdd86302b494217137f760495b9d"}, - {file = "pyrsistent-0.20.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ca52d1ceae015859d16aded12584c59eb3825f7b50c6cfd621d4231a6cc624ce"}, - {file = "pyrsistent-0.20.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b318ca24db0f0518630e8b6f3831e9cba78f099ed5c1d65ffe3e023003043ba0"}, - {file = "pyrsistent-0.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fed2c3216a605dc9a6ea50c7e84c82906e3684c4e80d2908208f662a6cbf9022"}, - {file = "pyrsistent-0.20.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e14c95c16211d166f59c6611533d0dacce2e25de0f76e4c140fde250997b3ca"}, - {file = "pyrsistent-0.20.0-cp39-cp39-win32.whl", hash = "sha256:f058a615031eea4ef94ead6456f5ec2026c19fb5bd6bfe86e9665c4158cf802f"}, - {file = "pyrsistent-0.20.0-cp39-cp39-win_amd64.whl", hash = "sha256:58b8f6366e152092194ae68fefe18b9f0b4f89227dfd86a07770c3d86097aebf"}, - {file = "pyrsistent-0.20.0-py3-none-any.whl", hash = "sha256:c55acc4733aad6560a7f5f818466631f07efc001fd023f34a6c203f8b6df0f0b"}, - {file = "pyrsistent-0.20.0.tar.gz", hash = "sha256:4c48f78f62ab596c679086084d0dd13254ae4f3d6c72a83ffdf5ebdef8f265a4"}, -] - -[[package]] -name = "pytest" -version = "8.3.5" -description = "pytest: simple powerful testing with Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820"}, - {file = "pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "sys_platform == \"win32\""} -exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} -iniconfig = "*" -packaging = "*" -pluggy = ">=1.5,<2" -tomli = {version = ">=1", markers = "python_version < \"3.11\""} - -[package.extras] -dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] - -[[package]] -name = "pytest-mock" -version = "3.14.0" -description = "Thin-wrapper around the mock package for easier use with pytest" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pytest-mock-3.14.0.tar.gz", hash = "sha256:2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0"}, - {file = "pytest_mock-3.14.0-py3-none-any.whl", hash = "sha256:0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f"}, -] - -[package.dependencies] -pytest = ">=6.2.5" - -[package.extras] -dev = ["pre-commit", "pytest-asyncio", "tox"] - -[[package]] -name = "python-dateutil" -version = "2.9.0.post0" -description = "Extensions to the standard Python datetime module" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -files = [ - {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, - {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, -] - -[package.dependencies] -six = ">=1.5" - -[[package]] -name = "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.2" -description = "World timezone definitions, modern and historical" -optional = false -python-versions = "*" -files = [ - {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, - {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, -] - -[[package]] -name = "pytzdata" -version = "2020.1" -description = "The Olson timezone database for Python." -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "pytzdata-2020.1-py2.py3-none-any.whl", hash = "sha256:e1e14750bcf95016381e4d472bad004eef710f2d6417240904070b3d6654485f"}, - {file = "pytzdata-2020.1.tar.gz", hash = "sha256:3efa13b335a00a8de1d345ae41ec78dd11c9f8807f522d39850f2dd828681540"}, -] - -[[package]] -name = "pyyaml" -version = "6.0.2" -description = "YAML parser and emitter for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, - {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, - {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, - {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, - {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, - {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, - {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, - {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, - {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, - {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, - {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, - {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, - {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, - {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, - {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, - {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, - {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, - {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, - {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, - {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, - {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, - {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, - {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, - {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, - {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, - {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, - {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, - {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, - {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, - {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, - {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, - {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, - {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, - {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, - {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, -] - -[[package]] -name = "rapidfuzz" -version = "3.12.2" -description = "rapid fuzzy string matching" -optional = false -python-versions = ">=3.9" -files = [ - {file = "rapidfuzz-3.12.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0b9a75e0385a861178adf59e86d6616cbd0d5adca7228dc9eeabf6f62cf5b0b1"}, - {file = "rapidfuzz-3.12.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6906a7eb458731e3dd2495af1d0410e23a21a2a2b7ced535e6d5cd15cb69afc5"}, - {file = "rapidfuzz-3.12.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4b3334a8958b689f292d5ce8a928140ac98919b51e084f04bf0c14276e4c6ba"}, - {file = "rapidfuzz-3.12.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:85a54ce30345cff2c79cbcffa063f270ad1daedd0d0c3ff6e541d3c3ba4288cf"}, - {file = "rapidfuzz-3.12.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:acb63c5072c08058f8995404201a52fc4e1ecac105548a4d03c6c6934bda45a3"}, - {file = "rapidfuzz-3.12.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5385398d390c6571f0f2a7837e6ddde0c8b912dac096dc8c87208ce9aaaa7570"}, - {file = "rapidfuzz-3.12.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5032cbffa245b4beba0067f8ed17392ef2501b346ae3c1f1d14b950edf4b6115"}, - {file = "rapidfuzz-3.12.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:195adbb384d89d6c55e2fd71e7fb262010f3196e459aa2f3f45f31dd7185fe72"}, - {file = "rapidfuzz-3.12.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:f43b773a4d4950606fb25568ecde5f25280daf8f97b87eb323e16ecd8177b328"}, - {file = "rapidfuzz-3.12.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:55a43be0e0fa956a919043c19d19bd988991d15c59f179d413fe5145ed9deb43"}, - {file = "rapidfuzz-3.12.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:71cf1ea16acdebe9e2fb62ee7a77f8f70e877bebcbb33b34e660af2eb6d341d9"}, - {file = "rapidfuzz-3.12.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a3692d4ab36d44685f61326dca539975a4eda49b2a76f0a3df177d8a2c0de9d2"}, - {file = "rapidfuzz-3.12.2-cp310-cp310-win32.whl", hash = "sha256:09227bd402caa4397ba1d6e239deea635703b042dd266a4092548661fb22b9c6"}, - {file = "rapidfuzz-3.12.2-cp310-cp310-win_amd64.whl", hash = "sha256:0f05b7b95f9f87254b53fa92048367a8232c26cee7fc8665e4337268c3919def"}, - {file = "rapidfuzz-3.12.2-cp310-cp310-win_arm64.whl", hash = "sha256:6938738e00d9eb6e04097b3f565097e20b0c398f9c58959a2bc64f7f6be3d9da"}, - {file = "rapidfuzz-3.12.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e9c4d984621ae17404c58f8d06ed8b025e167e52c0e6a511dfec83c37e9220cd"}, - {file = "rapidfuzz-3.12.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9f9132c55d330f0a1d34ce6730a76805323a6250d97468a1ca766a883d6a9a25"}, - {file = "rapidfuzz-3.12.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39b343b6cb4b2c3dbc8d2d4c5ee915b6088e3b144ddf8305a57eaab16cf9fc74"}, - {file = "rapidfuzz-3.12.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:24081077b571ec4ee6d5d7ea0e49bc6830bf05b50c1005028523b9cd356209f3"}, - {file = "rapidfuzz-3.12.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c988a4fc91856260355773bf9d32bebab2083d4c6df33fafeddf4330e5ae9139"}, - {file = "rapidfuzz-3.12.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:780b4469ee21cf62b1b2e8ada042941fd2525e45d5fb6a6901a9798a0e41153c"}, - {file = "rapidfuzz-3.12.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:edd84b0a323885493c893bad16098c5e3b3005d7caa995ae653da07373665d97"}, - {file = "rapidfuzz-3.12.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efa22059c765b3d8778083805b199deaaf643db070f65426f87d274565ddf36a"}, - {file = "rapidfuzz-3.12.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:095776b11bb45daf7c2973dd61cc472d7ea7f2eecfa454aef940b4675659b92f"}, - {file = "rapidfuzz-3.12.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:7e2574cf4aa86065600b664a1ac7b8b8499107d102ecde836aaaa403fc4f1784"}, - {file = "rapidfuzz-3.12.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:d5a3425a6c50fd8fbd991d8f085ddb504791dae6ef9cc3ab299fea2cb5374bef"}, - {file = "rapidfuzz-3.12.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:97fb05e1ddb7b71a054040af588b0634214ee87cea87900d309fafc16fd272a4"}, - {file = "rapidfuzz-3.12.2-cp311-cp311-win32.whl", hash = "sha256:b4c5a0413589aef936892fbfa94b7ff6f7dd09edf19b5a7b83896cc9d4e8c184"}, - {file = "rapidfuzz-3.12.2-cp311-cp311-win_amd64.whl", hash = "sha256:58d9ae5cf9246d102db2a2558b67fe7e73c533e5d769099747921232d88b9be2"}, - {file = "rapidfuzz-3.12.2-cp311-cp311-win_arm64.whl", hash = "sha256:7635fe34246cd241c8e35eb83084e978b01b83d5ef7e5bf72a704c637f270017"}, - {file = "rapidfuzz-3.12.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:1d982a651253ffe8434d9934ff0c1089111d60502228464721a2a4587435e159"}, - {file = "rapidfuzz-3.12.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:02e6466caa0222d5233b1f05640873671cd99549a5c5ba4c29151634a1e56080"}, - {file = "rapidfuzz-3.12.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e956b3f053e474abae69ac693a52742109d860ac2375fe88e9387d3277f4c96c"}, - {file = "rapidfuzz-3.12.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2dee7d740a2d5418d4f964f39ab8d89923e6b945850db833e798a1969b19542a"}, - {file = "rapidfuzz-3.12.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a057cdb0401e42c84b6516c9b1635f7aedd5e430c6e388bd5f6bcd1d6a0686bb"}, - {file = "rapidfuzz-3.12.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dccf8d4fb5b86d39c581a59463c596b1d09df976da26ff04ae219604223d502f"}, - {file = "rapidfuzz-3.12.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21d5b3793c6f5aecca595cd24164bf9d3c559e315ec684f912146fc4e769e367"}, - {file = "rapidfuzz-3.12.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:46a616c0e13cff2de1761b011e0b14bb73b110182f009223f1453d505c9a975c"}, - {file = "rapidfuzz-3.12.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:19fa5bc4301a1ee55400d4a38a8ecf9522b0391fc31e6da5f4d68513fe5c0026"}, - {file = "rapidfuzz-3.12.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:544a47190a0d25971658a9365dba7095397b4ce3e897f7dd0a77ca2cf6fa984e"}, - {file = "rapidfuzz-3.12.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:f21af27c5e001f0ba1b88c36a0936437dfe034c452548d998891c21125eb640f"}, - {file = "rapidfuzz-3.12.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b63170d9db00629b5b3f2862114d8d6ee19127eaba0eee43762d62a25817dbe0"}, - {file = "rapidfuzz-3.12.2-cp312-cp312-win32.whl", hash = "sha256:6c7152d77b2eb6bfac7baa11f2a9c45fd5a2d848dbb310acd0953b3b789d95c9"}, - {file = "rapidfuzz-3.12.2-cp312-cp312-win_amd64.whl", hash = "sha256:1a314d170ee272ac87579f25a6cf8d16a031e1f7a7b07663434b41a1473bc501"}, - {file = "rapidfuzz-3.12.2-cp312-cp312-win_arm64.whl", hash = "sha256:d41e8231326e94fd07c4d8f424f6bed08fead6f5e6688d1e6e787f1443ae7631"}, - {file = "rapidfuzz-3.12.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:941f31038dba5d3dedcfcceba81d61570ad457c873a24ceb13f4f44fcb574260"}, - {file = "rapidfuzz-3.12.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fe2dfc454ee51ba168a67b1e92b72aad251e45a074972cef13340bbad2fd9438"}, - {file = "rapidfuzz-3.12.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78fafaf7f5a48ee35ccd7928339080a0136e27cf97396de45259eca1d331b714"}, - {file = "rapidfuzz-3.12.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e0c7989ff32c077bb8fd53253fd6ca569d1bfebc80b17557e60750e6909ba4fe"}, - {file = "rapidfuzz-3.12.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:96fa00bc105caa34b6cd93dca14a29243a3a7f0c336e4dcd36348d38511e15ac"}, - {file = "rapidfuzz-3.12.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bccfb30c668620c5bc3490f2dc7d7da1cca0ead5a9da8b755e2e02e2ef0dff14"}, - {file = "rapidfuzz-3.12.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f9b0adc3d894beb51f5022f64717b6114a6fabaca83d77e93ac7675911c8cc5"}, - {file = "rapidfuzz-3.12.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:32691aa59577f42864d5535cb6225d0f47e2c7bff59cf4556e5171e96af68cc1"}, - {file = "rapidfuzz-3.12.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:758b10380ad34c1f51753a070d7bb278001b5e6fcf544121c6df93170952d705"}, - {file = "rapidfuzz-3.12.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:50a9c54c0147b468363119132d514c5024fbad1ed8af12bd8bd411b0119f9208"}, - {file = "rapidfuzz-3.12.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e3ceb87c11d2d0fbe8559bb795b0c0604b84cfc8bb7b8720b5c16e9e31e00f41"}, - {file = "rapidfuzz-3.12.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f7c9a003002434889255ff5676ca0f8934a478065ab5e702f75dc42639505bba"}, - {file = "rapidfuzz-3.12.2-cp313-cp313-win32.whl", hash = "sha256:cf165a76870cd875567941cf861dfd361a0a6e6a56b936c5d30042ddc9def090"}, - {file = "rapidfuzz-3.12.2-cp313-cp313-win_amd64.whl", hash = "sha256:55bcc003541f5f16ec0a73bf6de758161973f9e8d75161954380738dd147f9f2"}, - {file = "rapidfuzz-3.12.2-cp313-cp313-win_arm64.whl", hash = "sha256:69f6ecdf1452139f2b947d0c169a605de578efdb72cbb2373cb0a94edca1fd34"}, - {file = "rapidfuzz-3.12.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c4c852cd8bed1516a64fd6e2d4c6f270d4356196ee03fda2af1e5a9e13c34643"}, - {file = "rapidfuzz-3.12.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:42e7f747b55529a6d0d1588695d71025e884ab48664dca54b840413dea4588d8"}, - {file = "rapidfuzz-3.12.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a749fd2690f24ef256b264a781487746bbb95344364fe8fe356f0eef7ef206ba"}, - {file = "rapidfuzz-3.12.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9a11e1d036170bbafa43a9e63d8c309273564ec5bdfc5439062f439d1a16965a"}, - {file = "rapidfuzz-3.12.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dfb337f1832c1231e3d5621bd0ebebb854e46036aedae3e6a49c1fc08f16f249"}, - {file = "rapidfuzz-3.12.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e88c6e68fca301722fa3ab7fd3ca46998012c14ada577bc1e2c2fc04f2067ca6"}, - {file = "rapidfuzz-3.12.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17e1a3a8b4b5125cfb63a6990459b25b87ea769bdaf90d05bb143f8febef076a"}, - {file = "rapidfuzz-3.12.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:b9f8177b24ccc0a843e85932b1088c5e467a7dd7a181c13f84c684b796bea815"}, - {file = "rapidfuzz-3.12.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:6c506bdc2f304051592c0d3b0e82eed309248ec10cdf802f13220251358375ea"}, - {file = "rapidfuzz-3.12.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:30bf15c1ecec2798b713d551df17f23401a3e3653ad9ed4e83ad1c2b06e86100"}, - {file = "rapidfuzz-3.12.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:bd9a67cfc83e8453ef17ddd1c2c4ce4a74d448a197764efb54c29f29fb41f611"}, - {file = "rapidfuzz-3.12.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7a6eaec2ef658dd650c6eb9b36dff7a361ebd7d8bea990ce9d639b911673b2cb"}, - {file = "rapidfuzz-3.12.2-cp39-cp39-win32.whl", hash = "sha256:d7701769f110332cde45c41759cb2a497de8d2dca55e4c519a46aed5fbb19d1a"}, - {file = "rapidfuzz-3.12.2-cp39-cp39-win_amd64.whl", hash = "sha256:296bf0fd4f678488670e262c87a3e4f91900b942d73ae38caa42a417e53643b1"}, - {file = "rapidfuzz-3.12.2-cp39-cp39-win_arm64.whl", hash = "sha256:7957f5d768de14f6b2715303ccdf224b78416738ee95a028a2965c95f73afbfb"}, - {file = "rapidfuzz-3.12.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e5fd3ce849b27d063755829cda27a9dab6dbd63be3801f2a40c60ec563a4c90f"}, - {file = "rapidfuzz-3.12.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:54e53662d71ed660c83c5109127c8e30b9e607884b7c45d2aff7929bbbd00589"}, - {file = "rapidfuzz-3.12.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b9e43cf2213e524f3309d329f1ad8dbf658db004ed44f6ae1cd2919aa997da5"}, - {file = "rapidfuzz-3.12.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:29ca445e320e5a8df3bd1d75b4fa4ecfa7c681942b9ac65b55168070a1a1960e"}, - {file = "rapidfuzz-3.12.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83eb7ef732c2f8533c6b5fbe69858a722c218acc3e1fc190ab6924a8af7e7e0e"}, - {file = "rapidfuzz-3.12.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:648adc2dd2cf873efc23befcc6e75754e204a409dfa77efd0fea30d08f22ef9d"}, - {file = "rapidfuzz-3.12.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:9b1e6f48e1ffa0749261ee23a1c6462bdd0be5eac83093f4711de17a42ae78ad"}, - {file = "rapidfuzz-3.12.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:1ae9ded463f2ca4ba1eb762913c5f14c23d2e120739a62b7f4cc102eab32dc90"}, - {file = "rapidfuzz-3.12.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dda45f47b559be72ecbce45c7f71dc7c97b9772630ab0f3286d97d2c3025ab71"}, - {file = "rapidfuzz-3.12.2-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3745c6443890265513a3c8777f2de4cb897aeb906a406f97741019be8ad5bcc"}, - {file = "rapidfuzz-3.12.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36d3ef4f047ed1bc96fa29289f9e67a637ddca5e4f4d3dc7cb7f50eb33ec1664"}, - {file = "rapidfuzz-3.12.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:54bb69ebe5ca0bd7527357e348f16a4c0c52fe0c2fcc8a041010467dcb8385f7"}, - {file = "rapidfuzz-3.12.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:3f2ddd5b99b254039a8c82be5749d4d75943f62eb2c2918acf6ffd586852834f"}, - {file = "rapidfuzz-3.12.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:8117dab9b26a1aaffab59b4e30f80ac4d55e61ad4139a637c149365960933bee"}, - {file = "rapidfuzz-3.12.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40c0f16d62d6553527de3dab2fb69709c4383430ea44bce8fb4711ed4cbc6ae3"}, - {file = "rapidfuzz-3.12.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f177e1eb6e4f5261a89c475e21bce7a99064a8f217d2336fb897408f46f0ceaf"}, - {file = "rapidfuzz-3.12.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5df0cecc2852fcb078ed1b4482fac4fc2c2e7787f3edda8920d9a4c0f51b1c95"}, - {file = "rapidfuzz-3.12.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3b3c4df0321df6f8f0b61afbaa2ced9622750ee1e619128db57a18533d139820"}, - {file = "rapidfuzz-3.12.2.tar.gz", hash = "sha256:b0ba1ccc22fff782e7152a3d3d0caca44ec4e32dc48ba01c560b8593965b5aa3"}, -] - -[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" -description = "Python HTTP for Humans." -optional = false -python-versions = ">=3.8" -files = [ - {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, - {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, -] - -[package.dependencies] -certifi = ">=2017.4.17" -charset-normalizer = ">=2,<4" -idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<3" - -[package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7)"] -use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] - -[[package]] -name = "requests-cache" -version = "1.2.1" -description = "A persistent cache for python requests" -optional = false -python-versions = ">=3.8" -files = [ - {file = "requests_cache-1.2.1-py3-none-any.whl", hash = "sha256:1285151cddf5331067baa82598afe2d47c7495a1334bfe7a7d329b43e9fd3603"}, - {file = "requests_cache-1.2.1.tar.gz", hash = "sha256:68abc986fdc5b8d0911318fbb5f7c80eebcd4d01bfacc6685ecf8876052511d1"}, -] - -[package.dependencies] -attrs = ">=21.2" -cattrs = ">=22.2" -platformdirs = ">=2.5" -requests = ">=2.22" -url-normalize = ">=1.4" -urllib3 = ">=1.25.5" - -[package.extras] -all = ["boto3 (>=1.15)", "botocore (>=1.18)", "itsdangerous (>=2.0)", "pymongo (>=3)", "pyyaml (>=6.0.1)", "redis (>=3)", "ujson (>=5.4)"] -bson = ["bson (>=0.5)"] -docs = ["furo (>=2023.3,<2024.0)", "linkify-it-py (>=2.0,<3.0)", "myst-parser (>=1.0,<2.0)", "sphinx (>=5.0.2,<6.0.0)", "sphinx-autodoc-typehints (>=1.19)", "sphinx-automodapi (>=0.14)", "sphinx-copybutton (>=0.5)", "sphinx-design (>=0.2)", "sphinx-notfound-page (>=0.8)", "sphinxcontrib-apidoc (>=0.3)", "sphinxext-opengraph (>=0.9)"] -dynamodb = ["boto3 (>=1.15)", "botocore (>=1.18)"] -json = ["ujson (>=5.4)"] -mongodb = ["pymongo (>=3)"] -redis = ["redis (>=3)"] -security = ["itsdangerous (>=2.0)"] -yaml = ["pyyaml (>=6.0.1)"] - -[[package]] -name = "requests-mock" -version = "1.12.1" -description = "Mock out responses from the requests package" -optional = false -python-versions = ">=3.5" -files = [ - {file = "requests-mock-1.12.1.tar.gz", hash = "sha256:e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401"}, - {file = "requests_mock-1.12.1-py2.py3-none-any.whl", hash = "sha256:b1e37054004cdd5e56c84454cc7df12b25f90f382159087f4b6915aaeef39563"}, -] - -[package.dependencies] -requests = ">=2.22,<3" - -[package.extras] -fixture = ["fixtures"] - -[[package]] -name = "requests-toolbelt" -version = "1.0.0" -description = "A utility belt for advanced users of python-requests" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, - {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, -] - -[package.dependencies] -requests = ">=2.0.1,<3.0.0" - -[[package]] -name = "serpyco-rs" -version = "1.13.0" -description = "" -optional = false -python-versions = ">=3.9" -files = [ - {file = "serpyco_rs-1.13.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:e722b3053e627d8a304e462bce20cae1670a2c4b0ef875b84d0de0081bec4029"}, - {file = "serpyco_rs-1.13.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f10e89c752ff78d720a42e026b0a9ada70717ad6306a9356f794280167d62bf"}, - {file = "serpyco_rs-1.13.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:99db4ec6b36130d81f409e64759d9e26290138b1000b62f9f244117738aae652"}, - {file = "serpyco_rs-1.13.0-cp310-cp310-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:3265d4467a52540e7309d117c87a0fe97a9c942960159b37af55a164186e4885"}, - {file = "serpyco_rs-1.13.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb10e547491d960064e5d935770f503c425b4ab7fc8c81e05b3c4b13bef195b3"}, - {file = "serpyco_rs-1.13.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd38a763e9e23f69aad6ba78a8793b6eab9272b51ab01b36a9e3f6208f5c5525"}, - {file = "serpyco_rs-1.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:35d49d6d81739aa0b264e303e90bede58a6487cbc6a78019df5ab6059ea988cc"}, - {file = "serpyco_rs-1.13.0-cp310-cp310-win_amd64.whl", hash = "sha256:cad636c425d942a8de63b4f0e5a8ff91382f36956c129a629bcfd499d8450de2"}, - {file = "serpyco_rs-1.13.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:2b7ff9a0afc417958203bbb8f4f21ecc47307f6691542af27f61c086870d1c90"}, - {file = "serpyco_rs-1.13.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:657a765f588d23b02ba45b7d3fbe9d828f52eab30836408088abf08ebcbc1969"}, - {file = "serpyco_rs-1.13.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1c6ab6dfbb477745067871d896675d8c8d8d027d4b4bd36df8e6797caaaa169b"}, - {file = "serpyco_rs-1.13.0-cp311-cp311-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:bf3292411b63c89ca1273717cee374c03dd64da044f297166362b7e8d26bb440"}, - {file = "serpyco_rs-1.13.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e568e4bb6ffe51e7f428fe3aa37baa4a0cb52d27a64d7e9a5adfec56d3e8b1f"}, - {file = "serpyco_rs-1.13.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16e6b53056de511e3d211e04e0006924e45591c8f68f2aaae024accf28a6127d"}, - {file = "serpyco_rs-1.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34ffe84bb8b5fb361499e1cd9b93b06081e5230b80713341be81793d1d590d9b"}, - {file = "serpyco_rs-1.13.0-cp311-cp311-win_amd64.whl", hash = "sha256:5988d48f5df9558ea874e385b11b6cfc1dd434d5ed64eefb7762b203e74ce16c"}, - {file = "serpyco_rs-1.13.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:e7a9d3eb0494984066b6b4d3b8eb25f69a599f401e8ede487efdb035547381b1"}, - {file = "serpyco_rs-1.13.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47b519aaddc42b9d56a3a4760c74e4ef3a945e84eefbec96788f279efbd050d8"}, - {file = "serpyco_rs-1.13.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e2b463c6b9e307a5fda3579aacb96468c37d14314e3a0070eda2f5789e4b4c6"}, - {file = "serpyco_rs-1.13.0-cp312-cp312-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:f659d8c058f223711d475dcae47adb033e3902591cbb1e5e1b17687ca15cd0bb"}, - {file = "serpyco_rs-1.13.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b9edc243fdb67a6bd51ec13c9a17cb0d608cfde9beb171ab5200e24045ab123f"}, - {file = "serpyco_rs-1.13.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ad0b85f02f52ea93f8bf068f0e00c8980702be00375b8888090723a21f35e2bc"}, - {file = "serpyco_rs-1.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9e49a1a2d6eb9b855b34ce6f27dcbfb6e0dbfa675b3e3f760178c059c9c1100"}, - {file = "serpyco_rs-1.13.0-cp312-cp312-win_amd64.whl", hash = "sha256:915eb70006944a2819077bb706a1e5deb671f9ac0c963bb3b46073604837f7ff"}, - {file = "serpyco_rs-1.13.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:69502ad3c56e6fdb700a27059590cf548a5e1aa03519eef607fdf8f8b320eeed"}, - {file = "serpyco_rs-1.13.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:324c6e3eec175cd8aabef071bcef763836fee94012b0b0819952224f9c7b855c"}, - {file = "serpyco_rs-1.13.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2097cda3ccf641a3c05ff2aa1a0122f4c47ef4de8807fec816afb93cc6570ee5"}, - {file = "serpyco_rs-1.13.0-cp313-cp313-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:54fbcd983b50a5ee294ea6d5b1c99c3f8063206660baec96bb4ab5dc211abe3e"}, - {file = "serpyco_rs-1.13.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea9608615a24aae8e95f3ccb58aeec7767ad54e6b69edffc7a231b4d6236b83c"}, - {file = "serpyco_rs-1.13.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:12e4c07e35064a6827473d318e3f60bdf49d8cc2726e5283a51de5ab41a9cc25"}, - {file = "serpyco_rs-1.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fcbbe5c92d9517a2339a6c51f35c6eda8a0b5ed1a7e741feae960d07369459b"}, - {file = "serpyco_rs-1.13.0-cp313-cp313-win_amd64.whl", hash = "sha256:11d430b894a2c003f103e1584b7ceb799235e4dcf109bc74e9937982ab8e48d6"}, - {file = "serpyco_rs-1.13.0-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:323c8f2615236d16dcd7995712fe63a77e6362c791890ced8af13b3b205bdbc8"}, - {file = "serpyco_rs-1.13.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70527c919bb1560728340d62974beaa1ed050f9d33603270477e089fc90dcc53"}, - {file = "serpyco_rs-1.13.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3944a6527ebfa736fc0f5d1841b01fdf9838260aa0f92d9a43ed33b455f911dd"}, - {file = "serpyco_rs-1.13.0-cp39-cp39-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:2ce9f0592490eb87de2b91700c06c5fd7ab5112ae471b88ded9252af06b28f2b"}, - {file = "serpyco_rs-1.13.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d23a4b801abeb3494a4832250f8a41648914d0fdc8817bc010a2bbb190aa55ca"}, - {file = "serpyco_rs-1.13.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d57dd8dc10aa7a81d06c4eb2d523b5241047764a8fa65b94e716975b888d1d54"}, - {file = "serpyco_rs-1.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd96fc057c6cdc1336ab4e5072eb1710661464ae9b171950347c66c68e687d50"}, - {file = "serpyco_rs-1.13.0-cp39-cp39-win_amd64.whl", hash = "sha256:94314ed652545eebdc90e83b671cf961ade881fdd0e1aa5579182d13050f8405"}, - {file = "serpyco_rs-1.13.0.tar.gz", hash = "sha256:981232323d2f195a0281b9beb735d5facfc919de6c65abd764cf908c7ad887fe"}, -] - -[package.dependencies] -attributes-doc = "*" -typing-extensions = "*" - -[[package]] -name = "six" -version = "1.17.0" -description = "Python 2 and 3 compatibility utilities" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -files = [ - {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, - {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, -] - -[[package]] -name = "sniffio" -version = "1.3.1" -description = "Sniff out which async library your code is running under" -optional = false -python-versions = ">=3.7" -files = [ - {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, - {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, -] - -[[package]] -name = "tenacity" -version = "8.5.0" -description = "Retry code until it succeeds" -optional = false -python-versions = ">=3.8" -files = [ - {file = "tenacity-8.5.0-py3-none-any.whl", hash = "sha256:b594c2a5945830c267ce6b79a166228323ed52718f30302c1359836112346687"}, - {file = "tenacity-8.5.0.tar.gz", hash = "sha256:8bc6c0c8a09b31e6cad13c47afbed1a567518250a9a171418582ed8d9c20ca78"}, -] - -[package.extras] -doc = ["reno", "sphinx"] -test = ["pytest", "tornado (>=4.5)", "typeguard"] - -[[package]] -name = "tomli" -version = "2.2.1" -description = "A lil' TOML parser" -optional = false -python-versions = ">=3.8" -files = [ - {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, - {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8"}, - {file = "tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff"}, - {file = "tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b"}, - {file = "tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea"}, - {file = "tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e"}, - {file = "tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98"}, - {file = "tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4"}, - {file = "tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7"}, - {file = "tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744"}, - {file = "tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec"}, - {file = "tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69"}, - {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"}, - {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, -] - -[[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" -description = "Backported and Experimental Type Hints for Python 3.8+" -optional = false -python-versions = ">=3.8" -files = [ - {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, - {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, -] - -[[package]] -name = "tzdata" -version = "2025.1" -description = "Provider of IANA time zone data" -optional = false -python-versions = ">=2" -files = [ - {file = "tzdata-2025.1-py2.py3-none-any.whl", hash = "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639"}, - {file = "tzdata-2025.1.tar.gz", hash = "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694"}, -] - -[[package]] -name = "unidecode" -version = "1.3.8" -description = "ASCII transliterations of Unicode text" -optional = false -python-versions = ">=3.5" -files = [ - {file = "Unidecode-1.3.8-py3-none-any.whl", hash = "sha256:d130a61ce6696f8148a3bd8fe779c99adeb4b870584eeb9526584e9aa091fd39"}, - {file = "Unidecode-1.3.8.tar.gz", hash = "sha256:cfdb349d46ed3873ece4586b96aa75258726e2fa8ec21d6f00a591d98806c2f4"}, -] - -[[package]] -name = "url-normalize" -version = "1.4.3" -description = "URL normalization for Python" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" -files = [ - {file = "url-normalize-1.4.3.tar.gz", hash = "sha256:d23d3a070ac52a67b83a1c59a0e68f8608d1cd538783b401bc9de2c0fac999b2"}, - {file = "url_normalize-1.4.3-py2.py3-none-any.whl", hash = "sha256:ec3c301f04e5bb676d333a7fa162fa977ad2ca04b7e652bfc9fac4e405728eed"}, -] - -[package.dependencies] -six = "*" - -[[package]] -name = "urllib3" -version = "2.3.0" -description = "HTTP library with thread-safe connection pooling, file post, and more." -optional = false -python-versions = ">=3.9" -files = [ - {file = "urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df"}, - {file = "urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"}, -] - -[package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -h2 = ["h2 (>=4,<5)"] -socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] -zstd = ["zstandard (>=0.18.0)"] - -[[package]] -name = "wcmatch" -version = "10.0" -description = "Wildcard/glob file name matcher." -optional = false -python-versions = ">=3.8" -files = [ - {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 = "whenever" -version = "0.6.17" -description = "Modern datetime library for Python" -optional = false -python-versions = ">=3.9" -files = [ - {file = "whenever-0.6.17-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:8e9e905fd19b0679e5ab1a0d0110a1974b89bf4cbd1ff22c9e352db381e4ae4f"}, - {file = "whenever-0.6.17-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cd615e60f992fb9ae9d73fc3581ac63de981e51013b0fffbf8e2bd748c71e3df"}, - {file = "whenever-0.6.17-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd717faa660771bf6f2fda4f75f2693cd79f2a7e975029123284ea3859fb329c"}, - {file = "whenever-0.6.17-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2ea744d9666be8880062da0d6dee690e8f70a2bc2a42b96ee17e10e36b0b5266"}, - {file = "whenever-0.6.17-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f6b32593b44332660402c7e4c681cce6d7859b15a609d66ac3a28a6ad6357c2f"}, - {file = "whenever-0.6.17-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a01e4daaac24e0be48a6cb0bb03fa000a40126b1e9cb8d721ee116b2f44c1bb1"}, - {file = "whenever-0.6.17-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:53e88fe9fccb868ee88bb2ee8bfcbc55937d0b40747069f595f10b4832ff1545"}, - {file = "whenever-0.6.17-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2dce7b9faf23325b38ca713b2c7a150a8befc832995213a8ec46fe15af6a03e7"}, - {file = "whenever-0.6.17-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c0925f7bf3448ef4f8c9b93de2d1270b82450a81b5d025a89f486ea61aa94319"}, - {file = "whenever-0.6.17-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:82203a572049070d685499dd695ff1914fee62f32aefa9e9952a60762217aa9e"}, - {file = "whenever-0.6.17-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:c30e5b5b82783bc85169c8208ab3acf58648092515017b2a185a598160503dbb"}, - {file = "whenever-0.6.17-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:763e59062adc9adfbde45c3ad8b5f472b337cc5cebc70760627d004a4c286d33"}, - {file = "whenever-0.6.17-cp310-cp310-win32.whl", hash = "sha256:f71387bbe95cd98fc78653b942c6e02ff4245b6add012b3f11796220272984ce"}, - {file = "whenever-0.6.17-cp310-cp310-win_amd64.whl", hash = "sha256:996ab1f6f09bc9e0c699fa58937b5adc25e39e979ebbebfd77bae09221350f3d"}, - {file = "whenever-0.6.17-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:87e28378945182e822e211fcea9e89c7428749fd440b616d6d81365202cbed09"}, - {file = "whenever-0.6.17-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0cf4ee3e8d5a55d788e8a79aeff29482dd4facc38241901f18087c3e662d16ba"}, - {file = "whenever-0.6.17-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e97ffc43cd278f6f58732cd9d83c822faff3b1987c3b7b448b59b208cf6b6293"}, - {file = "whenever-0.6.17-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6ce99533865fd63029fa64aef1cfbd42be1d2ced33da38c82f8c763986583982"}, - {file = "whenever-0.6.17-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:68b88e023d64e8ccfabe04028738d8041eccd5a078843cd9b506e51df3375e84"}, - {file = "whenever-0.6.17-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9159bae31f2edaf5e70e4437d871e52f51e7e90f1b9faaac19a8c2bccba5170a"}, - {file = "whenever-0.6.17-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f9c4ee1f1e85f857507d146d56973db28d148f50883babf1da3d24a40bbcf60"}, - {file = "whenever-0.6.17-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0acd8b3238aa28a20d1f93c74fd84c9b59e2662e553a55650a0e663a81d2908d"}, - {file = "whenever-0.6.17-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ae238cd46567b5741806517d307a81cca45fd49902312a9bdde27db5226e8825"}, - {file = "whenever-0.6.17-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:99f72853e8292284c2a89a06ab826892216c04540a0ca84b3d3eaa9317dbe026"}, - {file = "whenever-0.6.17-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ccb6c77b497d651a283ef0f40ada326602b313ee71d22015f53d5496124dfc10"}, - {file = "whenever-0.6.17-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d0a1918c9836dc331cd9a39175806668b57b93d538d288469ad8bedb144ec11b"}, - {file = "whenever-0.6.17-cp311-cp311-win32.whl", hash = "sha256:72492f130a8c5b8abb2d7b16cec33b6d6ed9e294bb63c56ab1030623de4ae343"}, - {file = "whenever-0.6.17-cp311-cp311-win_amd64.whl", hash = "sha256:88dc4961f8f6cd16d9b70db022fd6c86193fad429f98daeb82c8e9ba0ca27e5c"}, - {file = "whenever-0.6.17-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:d72c2413e32e3f382f6def337961ea7f20e66d0452ebc02e2fa215e1c45df73e"}, - {file = "whenever-0.6.17-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d12b891d780d9c98585b507e9f85097085337552b75f160ce6930af96509faa1"}, - {file = "whenever-0.6.17-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:503aaf2acfd5a7926ca5c6dc6ec09fc6c2891f536ab9cbd26a072c94bda3927f"}, - {file = "whenever-0.6.17-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6de09bcddfeb61c822019e88d8abed9ccc1d4f9d1a3a5d62d28d94d2fb6daff5"}, - {file = "whenever-0.6.17-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fdfe430df7f336d8793b6b844f0d2552e1589e39e72b7414ba67139b9b402bed"}, - {file = "whenever-0.6.17-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:99776635ac174a3df4a372bfae7420b3de965044d69f2bee08a7486cabba0aaa"}, - {file = "whenever-0.6.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bdbb6d8dae94b492370949c8d8bf818f9ee0b4a08f304dadf9d6d892b7513676"}, - {file = "whenever-0.6.17-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:45d66e68cdca52ca3e6e4990515d32f6bc4eb6a24ff8cbcbe4df16401dd2d3c7"}, - {file = "whenever-0.6.17-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:73947bd633bc658f8a8e2ff2bff34ee7caabd6edd9951bb2d778e6071c772df4"}, - {file = "whenever-0.6.17-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:9f9d5b108f9abf39471e3d5ef22ff2fed09cc51a0cfa63c833c393b21b8bdb81"}, - {file = "whenever-0.6.17-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a42231e7623b50a60747a752a97499f6ad03e03ce128bf97ded84e12b0f4a77e"}, - {file = "whenever-0.6.17-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a6d9458d544006131e1210343bf660019abfa11d46f5be8ad2d7616dc82340f4"}, - {file = "whenever-0.6.17-cp312-cp312-win32.whl", hash = "sha256:ca1eda94ca2ef7ad1a1249ea80949be252e78a0f10463e12c81ad126ec6b99e5"}, - {file = "whenever-0.6.17-cp312-cp312-win_amd64.whl", hash = "sha256:fd7de20d6bbb74c6bad528c0346ef679957db21ce8a53f118e53b5f60f76495b"}, - {file = "whenever-0.6.17-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ca9ee5b2b04c5a65112f55ff4a4efcba185f45b95766b669723e8b9a28bdb50b"}, - {file = "whenever-0.6.17-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8bef0cf1cd4282044d98e4af9969239dc139e5b192896d4110d0d3f4139bdb30"}, - {file = "whenever-0.6.17-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:04ac4e1fc1bc0bfb35f2c6a05d52de9fec297ea84ee60c655dec258cca1e6eb7"}, - {file = "whenever-0.6.17-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2c792f96d021ba2883e6f4b70cc58b5d970f026eb156ff93866686e27a7cce93"}, - {file = "whenever-0.6.17-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e7a7f938b5533e751702de95a615b7903457a7618b94aef72c062fa871ad691b"}, - {file = "whenever-0.6.17-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:47d2dbb85c512e28c14eede36a148afbb90baa340e113b39b2b9f0e9a3b192dd"}, - {file = "whenever-0.6.17-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea2b49a91853c133e8954dffbf180adca539b3719fd269565bf085ba97b47f5f"}, - {file = "whenever-0.6.17-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:91fcb2f42381a8ad763fc7ee2259375b1ace1306a02266c195af27bd3696e0da"}, - {file = "whenever-0.6.17-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:32e4d5e3429015a5082cd171ceea633c6ea565d90491005cdcef49a7d6a17c99"}, - {file = "whenever-0.6.17-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:f05731f530e4af29582a70cf02f8441027a4534e67b7c484efdf210fc09d0421"}, - {file = "whenever-0.6.17-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0d417b7de29aea2cfa7ea47f344848491d44291f28c038df869017ae66a50b48"}, - {file = "whenever-0.6.17-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8208333ece7f2e0c232feeecbd21bde3888c6782d3b08372ae8b5269938645b3"}, - {file = "whenever-0.6.17-cp313-cp313-win32.whl", hash = "sha256:c4912104731fd2be89cd031d8d34227225f1fae5181f931b91f217e69ded48ff"}, - {file = "whenever-0.6.17-cp313-cp313-win_amd64.whl", hash = "sha256:4f46ad87fab336d7643e0c2248dcd27a0f4ae42ac2c5e864a9d06a8f5538efd0"}, - {file = "whenever-0.6.17-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:53f03ae8c54aa60f5f22c790eb63ad644e97f8fba4b22337572a4e16bc4abb73"}, - {file = "whenever-0.6.17-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:42fce832892578455d46870dc074521e627ba9272b839a8297784059170030f5"}, - {file = "whenever-0.6.17-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ac0786d6cb479275ea627d84536f38b6a408348961856e2e807d82d4dc768ed"}, - {file = "whenever-0.6.17-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3e2f490b5e90b314cf7615435e24effe2356b57fa907fedb98fe58d49c6109c5"}, - {file = "whenever-0.6.17-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c1f25ab893cfa724b319a838ef60b918bd35be8f3f6ded73e6fd6e508b5237e"}, - {file = "whenever-0.6.17-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ac5f644d0d3228e806b5129cebfb824a5e26553a0d47d89fc9e962cffa1b99ed"}, - {file = "whenever-0.6.17-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e185309314b1abcc14c18597dd0dfe7fd8b39670f63a7d9357544994cba0e251"}, - {file = "whenever-0.6.17-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cc78b8a73a71241bf356743dd76133ccf796616823d8bbe170701a51d10b9fd3"}, - {file = "whenever-0.6.17-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0ea05123a0b3673c7cf3ea1fe3d8aa9362571db59f8ea15d7a8fb05d885fd756"}, - {file = "whenever-0.6.17-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:9f0c874dbb49c3a733ce4dde86ffa243f166b9d1db4195e05127ec352b49d617"}, - {file = "whenever-0.6.17-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:86cfbd724b11e8a419056211381bde4c1d35ead4bea8d498c85bee3812cf4e7c"}, - {file = "whenever-0.6.17-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e1514f4a3094f11e1ad63b9defadf375d953709c7806cc1d2396634a7b00a009"}, - {file = "whenever-0.6.17-cp39-cp39-win32.whl", hash = "sha256:715ed172e929327c1b68e107f0dc9520237d92e11c26db95fd05869724f3e9d9"}, - {file = "whenever-0.6.17-cp39-cp39-win_amd64.whl", hash = "sha256:5fed15042b2b0ea44cafb8b7426e99170d3f4cd64dbeb966c77f14985e724d82"}, - {file = "whenever-0.6.17.tar.gz", hash = "sha256:9c4bfe755c8f06726c4031dbbecd0a7710e2058bc2f3b4e4e331755af015f55f"}, -] - -[package.dependencies] -tzdata = {version = ">=2020.1", markers = "sys_platform == \"win32\""} - -[[package]] -name = "xmltodict" -version = "0.14.2" -description = "Makes working with XML feel like you are working with JSON" -optional = false -python-versions = ">=3.6" -files = [ - {file = "xmltodict-0.14.2-py2.py3-none-any.whl", hash = "sha256:20cc7d723ed729276e808f26fb6b3599f786cbc37e06c65e192ba77c40f20aac"}, - {file = "xmltodict-0.14.2.tar.gz", hash = "sha256:201e7c28bb210e374999d1dde6382923ab0ed1a8a5faeece48ab525b7810a553"}, -] - -[metadata] -lock-version = "2.0" -python-versions = "^3.10,<3.12" -content-hash = "cb89a4e2e859995d8ddaef70f0c7e4916b7e98e3d0937e73ba9dbd4302428053" diff --git a/airbyte-integrations/connectors/source-amazon-ads/pyproject.toml b/airbyte-integrations/connectors/source-amazon-ads/pyproject.toml deleted file mode 100644 index 0d053c48f6752..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/pyproject.toml +++ /dev/null @@ -1,37 +0,0 @@ -[build-system] -requires = [ "poetry-core>=1.0.0",] -build-backend = "poetry.core.masonry.api" - -[tool.poetry] -version = "7.1.3" -name = "source-amazon-ads" -description = "Source implementation for Amazon Ads." -authors = [ "Airbyte ",] -license = "MIT" -readme = "README.md" -documentation = "https://docs.airbyte.com/integrations/sources/amazon-ads" -homepage = "https://airbyte.com" -repository = "https://github.com/airbytehq/airbyte" -[[tool.poetry.packages]] -include = "source_amazon_ads" - -[tool.poetry.dependencies] -python = "^3.10,<3.12" -airbyte-cdk = "==6.34.0" - -[tool.poetry.scripts] -source-amazon-ads = "source_amazon_ads.run:run" - -[tool.poetry.group.dev.dependencies] -freezegun = "*" -requests-mock = "*" -pytest-mock = "*" -pendulum = "<3.0.0" - - -[tool.poe] -include = [ - # Shared tasks definition file(s) can be imported here. - # Run `poe` or `poe --help` to see the list of available tasks. - "${POE_GIT_DIR}/poe-tasks/poetry-connector-tasks.toml", -] diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/__init__.py b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/__init__.py deleted file mode 100644 index e8c40cbed9364..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/__init__.py +++ /dev/null @@ -1,8 +0,0 @@ -# -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. -# - - -from .source import SourceAmazonAds - -__all__ = ["SourceAmazonAds"] diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/manifest.yaml b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/manifest.yaml deleted file mode 100644 index 77a5d5bd2e511..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/manifest.yaml +++ /dev/null @@ -1,2277 +0,0 @@ -version: 6.5.0 - -type: DeclarativeSource - -check: - type: CheckStream - stream_names: - - streams - -definitions: - sponsored_product_ad_group_error_handler: - type: DefaultErrorHandler - # max_retries: 5 - response_filters: - - http_codes: [400] - action: IGNORE - error_message: "Skip current AdGroup because it does not support request {response.request.url} for current profile" - - http_codes: [422] - action: IGNORE - error_message: "Skip current AdGroup because the ad group {json.loads(response.request.body)['adGroupId']} does not have any asins" - - http_codes: [404] - action: IGNORE - error_message: "Skip current AdGroup because the specified ad group has no associated bid" - - basic_error_handler: - type: DefaultErrorHandler - response_filters: - - predicate: "{{ 'message' in response }}" - action: FAIL - error_message: "{{ response.message }}" - - predicate: "{{ 'code' in response and 'details' in response }}" - action: IGNORE - error_message: "{{ response.code }}; {{ response.details }}" - - report_creation_error_handler: - type: DefaultErrorHandler - response_filters: - - predicate: "{{ 'KDP authors do not have access to Sponsored Brands functionality' in response.details }}" - action: FAIL - error_message: "{{ response.details }}" - - predicate: "{{ 'Not authorized to access scope' in response.details }}" - action: FAIL - error_message: "{{ response.details }}" - - predicate: "{{ 'Tactic T00020 is not supported for report API in marketplace' in response.details }}" - action: FAIL - error_message: "{{ response.details }}" - - predicate: "{{ 'Report date is too far in the past' in response.details }}" - action: FAIL - error_message: "{{ response.details }}" - - report_polling_error_handler: - type: DefaultErrorHandler - max_retries: 5 - response_filters: - - http_codes: [401] - action: RETRY - error_message: "Unauthorized error while report status checking. Known error. Please, retry the request or restart sync." - - oauth_authenticator: - type: OAuthAuthenticator - refresh_request_body: {} - token_refresh_endpoint: "https://api.amazon.com/auth/o2/token" - grant_type: refresh_token - client_id: '{{ config["client_id"] }}' - client_secret: '{{ config["client_secret"] }}' - refresh_token: '{{ config["refresh_token"] }}' - base_requester: - type: HttpRequester - url_base: >- - {%- set URL_MAPPING = { - "NA": "https://advertising-api.amazon.com/", - "EU": "https://advertising-api-eu.amazon.com/", - "FE": "https://advertising-api-fe.amazon.com/" - } -%} - {{ URL_MAPPING[config["region"]] }} - authenticator: "#/definitions/oauth_authenticator" - request_headers: - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - offset_paginator: - type: "DefaultPaginator" - pagination_strategy: - type: OffsetIncrement - page_size: 100 - page_size_option: - type: RequestOption - inject_into: request_parameter - field_name: count - page_token_option: - type: RequestOption - field_name: startIndex - inject_into: request_parameter - streams: - profiles: - type: DeclarativeStream - name: profiles - primary_key: - - profileId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: v2/profiles?profileTypeFilter=seller,vendor - http_method: GET - use_cache: true - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: [] - paginator: - type: NoPagination - - profiles_filtered: - type: DeclarativeStream - name: profiles - primary_key: - - profileId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: v2/profiles?profileTypeFilter=seller,vendor - http_method: GET - use_cache: true - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: [] - record_filter: - condition: >- - {%- set requested_profiles = config.get("profiles", []) -%} - {%- set requested_marketplace_ids = config.get("marketplace_ids", []) -%} - {{ record["profileId"] in requested_profiles or record["accountInfo"]["marketplaceStringId"] in requested_marketplace_ids if requested_profiles or requested_marketplace_ids else True }} - paginator: - type: NoPagination - portfolios: - type: DeclarativeStream - name: portfolios - primary_key: - - portfolioId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: portfolios/list - http_method: POST - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - request_body_json: - includeExtendedDataFields: "true" - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: - - portfolios - schema_normalization: Default - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: body_json - field_name: nextToken - pagination_strategy: - type: CursorPagination - cursor_value: '{{ response.get("nextToken", {}) }}' - stop_condition: '{{ not response.get("nextToken", {}) }}' - transformations: - - type: AddFields - fields: - - path: - - creationDate - value: "{{ (format_datetime(record['extendedData']['creationDateTime'], '%s') | int * 1000) + (format_datetime(record['extendedData']['creationDateTime'], '%f')[:3] | int) }}" - - type: AddFields - fields: - - path: - - lastUpdatedDate - value: "{{ (format_datetime(record['extendedData']['lastUpdateDateTime'], '%s') | int * 1000) + (format_datetime(record['extendedData']['lastUpdateDateTime'], '%f')[:3] | int) }}" - - type: AddFields - fields: - - path: - - servingStatus - value: "{{ record['extendedData']['servingStatus'] }}" - - type: AddFields - fields: - - path: - - statusReasons - value: "{{ record['extendedData']['statusReasons'] }}" - - type: RemoveFields - field_pointers: - - - extendedData - - sponsored_display_campaigns: - type: DeclarativeStream - name: sponsored_display_campaigns - primary_key: - - campaignId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - error_handler: - $ref: "#/definitions/basic_error_handler" - path: sd/campaigns - http_method: GET - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - request_params: - stateFilter: "{{ ','.join(config['state_filter']) }}" - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: [] - paginator: - $ref: "#/definitions/offset_paginator" - sponsored_display_ad_groups: - type: DeclarativeStream - name: sponsored_display_ad_groups - primary_key: - - adGroupId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: sd/adGroups - http_method: GET - error_handler: - $ref: "#/definitions/basic_error_handler" - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: [] - paginator: - $ref: "#/definitions/offset_paginator" - sponsored_display_product_ads: - type: DeclarativeStream - name: sponsored_display_product_ads - primary_key: - - adId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: sd/productAds - http_method: GET - error_handler: - $ref: "#/definitions/basic_error_handler" - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: [] - paginator: - $ref: "#/definitions/offset_paginator" - sponsored_display_targetings: - type: DeclarativeStream - name: sponsored_display_targetings - primary_key: - - targetId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: sd/targets - http_method: GET - error_handler: - $ref: "#/definitions/basic_error_handler" - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: [] - paginator: - $ref: "#/definitions/offset_paginator" - sponsored_display_creatives: - type: DeclarativeStream - name: sponsored_display_creatives - primary_key: - - creativeId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: sd/creatives - http_method: GET - error_handler: - $ref: "#/definitions/basic_error_handler" - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: [] - paginator: - $ref: "#/definitions/offset_paginator" - sponsored_display_budget_rules: - type: DeclarativeStream - name: sponsored_display_budget_rules - primary_key: - - ruleId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - # Important: API docs contains incorrect endpoint path: - # sd/budgetRules - endpoint from API docs which always returns empty results - # sp/budgetRules - working endpoint - path: sp/budgetRules # TODO: check/rename stream during next breaking changes - http_method: GET - error_handler: - $ref: "#/definitions/basic_error_handler" - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["budgetRulesForAdvertiserResponse"] - paginator: - type: "DefaultPaginator" - pagination_strategy: - type: OffsetIncrement - page_size: 30 - page_size_option: - type: RequestOption - inject_into: request_parameter - field_name: pageSize - page_token_option: - type: RequestOption - field_name: startIndex - inject_into: request_parameter - - sponsored_brands_keywords: - type: DeclarativeStream - name: sponsored_brands_keywords - primary_key: - - adGroupId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: sb/keywords - error_handler: - $ref: "#/definitions/basic_error_handler" - http_method: GET - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: [] - paginator: - $ref: "#/definitions/offset_paginator" - sponsored_brands_campaigns: - type: DeclarativeStream - name: sponsored_brands_campaigns - primary_key: - - campaignId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: sb/v4/campaigns/list - error_handler: - $ref: "#/definitions/basic_error_handler" - http_method: POST - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - Accept: application/vnd.sbcampaignresource.v4+json - Content-Type: application/vnd.sbcampaignresource.v4+json - request_body_json: - stateFilter: " {{ {'include': ','.join(config['state_filter'])} if config['state_filter'] else None }} " - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["campaigns"] - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: body_json - field_name: nextToken - page_size_option: - type: RequestOption - inject_into: body_json - field_name: maxResults - pagination_strategy: - type: CursorPagination - page_size: 100 - cursor_value: "{{ response.nextToken }}" - sponsored_brands_ad_groups: - type: DeclarativeStream - name: sponsored_brands_ad_groups - primary_key: - - adGroupId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - error_handler: - $ref: "#/definitions/basic_error_handler" - path: sb/v4/adGroups/list - http_method: POST - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - Accept: application/vnd.sbadgroupresource.v4+json - Content-Type: application/vnd.sbadgroupresource.v4+json - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["adGroups"] - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: body_json - field_name: nextToken - page_size_option: - type: RequestOption - inject_into: body_json - field_name: maxResults - pagination_strategy: - type: CursorPagination - page_size: 100 - cursor_value: "{{ response.nextToken }}" - - sponsored_product_campaigns: - type: DeclarativeStream - name: sponsored_product_campaigns - primary_key: - - campaignId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: sp/campaigns/list - http_method: POST - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - Accept: application/vnd.spCampaign.v3+json - Content-Type: application/vnd.spCampaign.v3+json - request_body_json: - stateFilter: " {{ {'include': ','.join(config['state_filter'])} if config['state_filter'] else None }} " - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["campaigns"] - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: body_json - field_name: nextToken - page_size_option: - type: RequestOption - inject_into: body_json - field_name: maxResults - pagination_strategy: - type: CursorPagination - page_size: 100 - cursor_value: "{{ response.nextToken }}" - sponsored_product_ad_groups: - type: DeclarativeStream - name: sponsored_product_ad_groups - primary_key: - - adGroupId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: /sp/adGroups/list - http_method: POST - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - Accept: application/vnd.spAdGroup.v3+json - Content-Type: application/vnd.spAdGroup.v3+json - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["adGroups"] - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: body_json - field_name: nextToken - page_size_option: - type: RequestOption - inject_into: body_json - field_name: maxResults - pagination_strategy: - type: CursorPagination - page_size: 100 - cursor_value: "{{ response.nextToken }}" - sponsored_product_keywords: - type: DeclarativeStream - name: sponsored_product_keywords - primary_key: - - keywordId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: sp/keywords/list - http_method: POST - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - Accept: application/vnd.spKeyword.v3+json - Content-Type: application/vnd.spKeyword.v3+json - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["keywords"] - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: body_json - field_name: nextToken - page_size_option: - type: RequestOption - inject_into: body_json - field_name: maxResults - pagination_strategy: - type: CursorPagination - page_size: 100 - cursor_value: "{{ response.nextToken }}" - sponsored_product_negative_keywords: - type: DeclarativeStream - name: sponsored_product_negative_keywords - primary_key: - - keywordId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: sp/negativeKeywords/list - http_method: POST - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - Accept: application/vnd.spNegativeKeyword.v3+json - Content-Type: application/vnd.spNegativeKeyword.v3+json - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["negativeKeywords"] - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: body_json - field_name: nextToken - page_size_option: - type: RequestOption - inject_into: body_json - field_name: maxResults - pagination_strategy: - type: CursorPagination - page_size: 100 - cursor_value: "{{ response.nextToken }}" - sponsored_product_campaign_negative_keywords: - type: DeclarativeStream - name: sponsored_product_campaign_negative_keywords - primary_key: - - keywordId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: sp/campaignNegativeKeywords/list - http_method: POST - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - Accept: application/vnd.spCampaignNegativeKeyword.v3+json - Content-Type: application/vnd.spCampaignNegativeKeyword.v3+json - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["campaignNegativeKeywords"] - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: body_json - field_name: nextToken - page_size_option: - type: RequestOption - inject_into: body_json - field_name: maxResults - pagination_strategy: - type: CursorPagination - page_size: 100 - cursor_value: "{{ response.nextToken }}" - sponsored_product_ads: - type: DeclarativeStream - name: sponsored_product_ads - primary_key: - - adId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: sp/productAds/list - http_method: POST - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - Accept: application/vnd.spProductAd.v3+json - Content-Type: application/vnd.spProductAd.v3+json - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["productAds"] - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: body_json - field_name: nextToken - page_size_option: - type: RequestOption - inject_into: body_json - field_name: maxResults - pagination_strategy: - type: CursorPagination - page_size: 100 - cursor_value: "{{ response.nextToken }}" - sponsored_product_targetings: - type: DeclarativeStream - name: sponsored_product_targetings - primary_key: - - targetId - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - path: sp/targets/list - http_method: POST - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - Accept: application/vnd.spTargetingClause.v3+json - Content-Type: application/vnd.spTargetingClause.v3+json - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["targetingClauses"] - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: body_json - field_name: nextToken - page_size_option: - type: RequestOption - inject_into: body_json - field_name: maxResults - pagination_strategy: - type: CursorPagination - page_size: 100 - cursor_value: "{{ response.nextToken }}" - - sponsored_product_ad_group_bid_recommendations: - type: DeclarativeStream - name: sponsored_product_ad_group_bid_recommendations - primary_key: [] - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - error_handler: "#/definitions/sponsored_product_ad_group_error_handler" - path: /sp/targets/bid/recommendations - http_method: POST - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_slice.parent_slice['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - Accept: application/vnd.spthemebasedbidrecommendation.v4+json - Content-Type: application/vnd.spthemebasedbidrecommendation.v4+json - request_body_json: - targetingExpressions: - - type: CLOSE_MATCH - - type: LOOSE_MATCH - - type: SUBSTITUTES - - type: COMPLEMENTS - adGroupId: '{{ stream_slice["adGroupId"] }}' - campaignId: '{{ stream_slice.extra_fields["campaignId"] }}' - recommendationType: BIDS_FOR_EXISTING_AD_GROUP - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "adGroupId" - stream: "#/definitions/streams/sponsored_product_ad_groups" - partition_field: "adGroupId" - extra_fields: - - ["campaignId"] - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: [] - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: body_json - field_name: nextToken - page_size_option: - type: RequestOption - inject_into: body_json - field_name: maxResults - pagination_strategy: - type: CursorPagination - page_size: 100 - cursor_value: "{{ response.nextToken }}" - transformations: - - type: AddFields - fields: - - path: ["adGroupId"] - value: '{{ stream_slice["adGroupId"] }}' - value_type: string - - path: ["campaignId"] - value: '{{ stream_slice.extra_fields["campaignId"] }}' - value_type: string - - sponsored_product_ad_group_suggested_keywords: - type: DeclarativeStream - name: sponsored_product_ad_group_suggested_keywords - primary_key: [] - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - error_handler: "#/definitions/sponsored_product_ad_group_error_handler" - path: "v2/sp/adGroups/{{ stream_slice['adGroupId'] }}/suggested/keywords" - http_method: GET - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_slice.parent_slice['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - request_params: - maxNumSuggestions: 100 - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "adGroupId" - stream: "#/definitions/streams/sponsored_product_ad_groups" - partition_field: "adGroupId" - extra_fields: - - ["campaignId"] - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: [] - paginator: - type: NoPagination - - attribution_report_products: - type: DeclarativeStream - name: attribution_report_products - primary_key: [] - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - error_handler: - type: DefaultErrorHandler - response_filters: - - predicate: '{{ response.message == "This profileID is not authorized to use Amazon Attribution" }}' - action: IGNORE - error_message: "{{ response }}" - - predicate: "{{ 'message' in response }}" - action: FAIL - error_message: "{{ response.message }}" - - predicate: "{{ 'code' in response and 'details' in response }}" - action: IGNORE - error_message: "{{ response.code }}; {{ response.details }}" - path: /attribution/report - http_method: POST - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - request_body_json: - reportType: "PRODUCTS" - metrics: | - {{ - ','.join([ - 'attributedDetailPageViewsClicks14d', - 'attributedAddToCartClicks14d', - 'attributedPurchases14d', - 'unitsSold14d', - 'attributedSales14d', - 'brandHaloDetailPageViewsClicks14d', - 'brandHaloAttributedAddToCartClicks14d', - 'brandHaloAttributedPurchases14d', - 'brandHaloUnitsSold14d', - 'brandHaloAttributedSales14d', - 'attributedNewToBrandPurchases14d', - 'attributedNewToBrandUnitsSold14d', - 'attributedNewToBrandSales14d', - 'brandHaloNewToBrandPurchases14d', - 'brandHaloNewToBrandUnitsSold14d', - 'brandHaloNewToBrandSales14d', - ]) - }} - startDate: >- - {%- set _start_date = config.get("start_date") -%} - {%- set start_date = today_with_timezone(stream_slice.extra_fields["timezone"]) -%} - {%- set end_date = today_with_timezone(stream_slice.extra_fields["timezone"]) -%} - "{{ start_date.strftime("%Y%m%d") if not config.get("start_date") else max(format_datetime(config['start_date'], "%Y%m%d"), (end_date - duration("P90D")).strftime("%Y%m%d")) | string }}" - endDate: >- - "{{ format_datetime(today_with_timezone(stream_slice.extra_fields['timezone']).strftime('%Y%m%d'), '%Y%m%d', '%Y%m%d') }}" - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - extra_fields: - - ["timezone"] - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["reports"] - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: body_json - field_name: cursorId - page_size_option: - type: RequestOption - inject_into: body_json - field_name: count - pagination_strategy: - type: CursorPagination - page_size: 300 - cursor_value: "{{ response.cursorId }}" - - attribution_report_performance_adgroup: - type: DeclarativeStream - name: attribution_report_performance_adgroup - primary_key: [] - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - error_handler: - type: DefaultErrorHandler - response_filters: - - http_codes: [400] - action: IGNORE - error_message: "{{ response }}" - - predicate: "{{ 'message' in response }}" - action: FAIL - error_message: "{{ response.message }}" - path: /attribution/report - http_method: POST - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - request_body_json: - reportType: "PERFORMANCE" - groupBy: "ADGROUP" - metrics: | - {{ - ','.join([ - 'Click-throughs', - 'attributedDetailPageViewsClicks14d', - 'attributedAddToCartClicks14d', - 'attributedPurchases14d', - 'unitsSold14d', - 'attributedSales14d', - 'attributedTotalDetailPageViewsClicks14d', - 'attributedTotalAddToCartClicks14d', - 'attributedTotalPurchases14d', - 'totalUnitsSold14d', - 'totalAttributedSales14d', - 'brb_bonus_amount' - ]) - }} - startDate: >- - {%- set _start_date = config.get("start_date") -%} - {%- set start_date = today_with_timezone(stream_slice.extra_fields["timezone"]) -%} - {%- set end_date = today_with_timezone(stream_slice.extra_fields["timezone"]) -%} - "{{ start_date.strftime("%Y%m%d") if not config.get("start_date") else max(format_datetime(config['start_date'], "%Y%m%d"), (end_date - duration("P90D")).strftime("%Y%m%d")) | string }}" - endDate: >- - "{{ format_datetime(today_with_timezone(stream_slice.extra_fields['timezone']).strftime('%Y%m%d'), '%Y%m%d', '%Y%m%d') }}" - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - extra_fields: - - ["timezone"] - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["reports"] - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: body_json - field_name: cursorId - page_size_option: - type: RequestOption - inject_into: body_json - field_name: count - pagination_strategy: - type: CursorPagination - page_size: 300 - cursor_value: "{{ response.cursorId }}" - - attribution_report_performance_campaign: - type: DeclarativeStream - name: attribution_report_performance_campaign - primary_key: [] - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - error_handler: - type: DefaultErrorHandler - response_filters: - - http_codes: [400] - action: IGNORE - error_message: "{{ response }}" - - predicate: "{{ 'message' in response }}" - action: FAIL - error_message: "{{ response.message }}" - path: /attribution/report - http_method: POST - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - request_body_json: - reportType: "PERFORMANCE" - groupBy: "CAMPAIGN" - metrics: | - {{ - ','.join([ - 'Click-throughs', - 'attributedDetailPageViewsClicks14d', - 'attributedAddToCartClicks14d', - 'attributedPurchases14d', - 'unitsSold14d', - 'attributedSales14d', - 'attributedTotalDetailPageViewsClicks14d', - 'attributedTotalAddToCartClicks14d', - 'attributedTotalPurchases14d', - 'totalUnitsSold14d', - 'totalAttributedSales14d', - 'brb_bonus_amount' - ]) - }} - startDate: >- - {%- set _start_date = config.get("start_date") -%} - {%- set start_date = today_with_timezone(stream_slice.extra_fields["timezone"]) -%} - {%- set end_date = today_with_timezone(stream_slice.extra_fields["timezone"]) -%} - "{{ start_date.strftime("%Y%m%d") if not config.get("start_date") else max(format_datetime(config['start_date'], "%Y%m%d"), (end_date - duration("P90D")).strftime("%Y%m%d")) | string }}" - endDate: >- - "{{ format_datetime(today_with_timezone(stream_slice.extra_fields['timezone']).strftime('%Y%m%d'), '%Y%m%d', '%Y%m%d') }}" - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - extra_fields: - - ["timezone"] - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["reports"] - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: body_json - field_name: cursorId - page_size_option: - type: RequestOption - inject_into: body_json - field_name: count - pagination_strategy: - type: CursorPagination - page_size: 300 - cursor_value: "{{ response.cursorId }}" - - attribution_report_performance_creative: - type: DeclarativeStream - name: attribution_report_performance_creative - primary_key: [] - retriever: - type: SimpleRetriever - requester: - $ref: "#/definitions/base_requester" - error_handler: - type: DefaultErrorHandler - response_filters: - - http_codes: [400] - action: IGNORE - error_message: "{{ response }}" - - predicate: "{{ 'message' in response }}" - action: FAIL - error_message: "{{ response.message }}" - path: /attribution/report - http_method: POST - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - request_body_json: - reportType: "PERFORMANCE" - groupBy: "CREATIVE" - metrics: | - {{ - ','.join([ - 'Click-throughs', - 'attributedDetailPageViewsClicks14d', - 'attributedAddToCartClicks14d', - 'attributedPurchases14d', - 'unitsSold14d', - 'attributedSales14d', - 'attributedTotalDetailPageViewsClicks14d', - 'attributedTotalAddToCartClicks14d', - 'attributedTotalPurchases14d', - 'totalUnitsSold14d', - 'totalAttributedSales14d', - ]) - }} - startDate: >- - {%- set _start_date = config.get("start_date") -%} - {%- set start_date = today_with_timezone(stream_slice.extra_fields["timezone"]) -%} - {%- set end_date = today_with_timezone(stream_slice.extra_fields["timezone"]) -%} - "{{ start_date.strftime("%Y%m%d") if not config.get("start_date") else max(format_datetime(config['start_date'], "%Y%m%d"), (end_date - duration("P90D")).strftime("%Y%m%d")) | string }}" - endDate: >- - "{{ format_datetime(today_with_timezone(stream_slice.extra_fields['timezone']).strftime('%Y%m%d'), '%Y%m%d', '%Y%m%d') }}" - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - extra_fields: - - ["timezone"] - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["reports"] - paginator: - type: DefaultPaginator - page_token_option: - type: RequestOption - inject_into: body_json - field_name: cursorId - page_size_option: - type: RequestOption - inject_into: body_json - field_name: count - pagination_strategy: - type: CursorPagination - page_size: 300 - cursor_value: "{{ response.cursorId }}" - - sponsored_brands_v3_report_stream: - type: DeclarativeStream - name: sponsored_brands_v3_report_stream - primary_key: ["profileId", "reportDate", "adGroupName", "purchasedAsin"] - incremental_sync: - $ref: "#/definitions/incremental_sync_report_datetime_cursor" - transformations: - $ref: "#/definitions/transformation_report_add_fields" - - retriever: - $ref: "#/definitions/basic_async_retriever" - creation_requester: - $ref: "#/definitions/basic_async_retriever/creation_requester" - request_body_json: - name: "purchasedAsin report {{ stream_interval.start_time }}" - startDate: "{{ stream_interval.start_time }}" - endDate: "{{ stream_interval.end_time }}" - configuration: - adProduct: SPONSORED_BRANDS - groupBy: ["purchasedAsin"] - columns: - [ - "campaignBudgetCurrencyCode", - "campaignName", - "adGroupName", - "attributionType", - "purchasedAsin", - "productName", - "productCategory", - "sales14d", - "orders14d", - "unitsSold14d", - "newToBrandSales14d", - "newToBrandPurchases14d", - "newToBrandUnitsSold14d", - "newToBrandSalesPercentage14d", - "newToBrandPurchasesPercentage14d", - "newToBrandUnitsSoldPercentage14d", - ] - reportTypeId: sbPurchasedProduct - filters: [] - timeUnit: SUMMARY - format: GZIP_JSON - - sponsored_display_campaigns_report_stream: - type: DeclarativeStream - name: sponsored_display_campaigns_report_stream - primary_key: ["profileId", "reportDate", "campaignId"] - incremental_sync: - $ref: "#/definitions/incremental_sync_report_datetime_cursor" - transformations: - $ref: "#/definitions/transformation_report_add_fields" - retriever: - $ref: "#/definitions/basic_async_retriever" - creation_requester: - $ref: "#/definitions/basic_async_retriever/creation_requester" - request_body_json: - name: "campaigns report {{ stream_interval.start_time }}" - startDate: "{{ stream_interval.start_time }}" - endDate: "{{ stream_interval.end_time }}" - configuration: - adProduct: SPONSORED_DISPLAY - groupBy: ["campaign"] - columns: - [ - "addToCart", - "addToCartClicks", - "addToCartRate", - "addToCartViews", - "addToList", - "addToListFromClicks", - "addToListFromViews", - "qualifiedBorrows", - "qualifiedBorrowsFromClicks", - "qualifiedBorrowsFromViews", - "royaltyQualifiedBorrows", - "royaltyQualifiedBorrowsFromClicks", - "royaltyQualifiedBorrowsFromViews", - "brandedSearches", - "brandedSearchesClicks", - "brandedSearchesViews", - "brandedSearchRate", - "campaignBudgetCurrencyCode", - "campaignId", - "campaignName", - "clicks", - "cost", - "detailPageViews", - "detailPageViewsClicks", - "eCPAddToCart", - "eCPBrandSearch", - "endDate", - "impressions", - "impressionsViews", - "leadFormOpens", - "leads", - "linkOuts", - "newToBrandPurchases", - "newToBrandPurchasesClicks", - "newToBrandSalesClicks", - "newToBrandUnitsSold", - "newToBrandUnitsSoldClicks", - "purchases", - "purchasesClicks", - "purchasesPromotedClicks", - "sales", - "salesClicks", - "salesPromotedClicks", - "startDate", - "unitsSold", - "unitsSoldClicks", - "videoCompleteViews", - "videoFirstQuartileViews", - "videoMidpointViews", - "videoThirdQuartileViews", - "videoUnmutes", - "viewabilityRate", - "viewClickThroughRate", - "campaignBudgetAmount", - "campaignStatus", - "costType", - "cumulativeReach", - "impressionsFrequencyAverage", - "newToBrandDetailPageViewClicks", - "newToBrandDetailPageViewRate", - "newToBrandDetailPageViews", - "newToBrandDetailPageViewViews", - "newToBrandECPDetailPageView", - "newToBrandSales", - ] - reportTypeId: sdCampaigns - filters: [] - timeUnit: SUMMARY - format: GZIP_JSON - sponsored_display_adgroups_report_stream: - type: DeclarativeStream - name: sponsored_display_adgroups_report_stream - primary_key: ["profileId", "reportDate", "adGroupName", "adGroupId"] - incremental_sync: - $ref: "#/definitions/incremental_sync_report_datetime_cursor" - transformations: - $ref: "#/definitions/transformation_report_add_fields" - retriever: - $ref: "#/definitions/basic_async_retriever" - creation_requester: - $ref: "#/definitions/basic_async_retriever/creation_requester" - request_body_json: - name: "adGroups report {{ stream_interval.start_time }}" - startDate: "{{ stream_interval.start_time }}" - endDate: "{{ stream_interval.end_time }}" - configuration: - adProduct: SPONSORED_DISPLAY - groupBy: ["adGroup"] - columns: - [ - "addToCart", - "addToCartClicks", - "addToCartRate", - "addToCartViews", - "adGroupId", - "adGroupName", - "addToList", - "addToListFromClicks", - "addToListFromViews", - "qualifiedBorrows", - "qualifiedBorrowsFromClicks", - "qualifiedBorrowsFromViews", - "royaltyQualifiedBorrows", - "royaltyQualifiedBorrowsFromClicks", - "royaltyQualifiedBorrowsFromViews", - "bidOptimization", - "brandedSearches", - "brandedSearchesClicks", - "brandedSearchesViews", - "brandedSearchRate", - "campaignBudgetCurrencyCode", - "campaignId", - "campaignName", - "clicks", - "cost", - "detailPageViews", - "detailPageViewsClicks", - "eCPAddToCart", - "eCPBrandSearch", - "endDate", - "impressions", - "impressionsViews", - "leadFormOpens", - "leads", - "linkOuts", - "newToBrandPurchases", - "newToBrandPurchasesClicks", - "newToBrandSales", - "newToBrandSalesClicks", - "newToBrandUnitsSold", - "newToBrandUnitsSoldClicks", - "purchases", - "purchasesClicks", - "purchasesPromotedClicks", - "sales", - "salesClicks", - "salesPromotedClicks", - "startDate", - "unitsSold", - "unitsSoldClicks", - "videoCompleteViews", - "videoFirstQuartileViews", - "videoMidpointViews", - "videoThirdQuartileViews", - "videoUnmutes", - "viewabilityRate", - "viewClickThroughRate", - "cumulativeReach", - "impressionsFrequencyAverage", - "newToBrandDetailPageViewClicks", - "newToBrandDetailPageViewRate", - "newToBrandDetailPageViews", - "newToBrandDetailPageViewViews", - "newToBrandECPDetailPageView", - ] - reportTypeId: sdAdGroup - filters: [] - timeUnit: SUMMARY - format: GZIP_JSON - sponsored_display_productads_report_stream: - type: DeclarativeStream - name: sponsored_display_productads_report_stream - primary_key: ["profileId", "reportDate", "adGroupName", "adId"] - incremental_sync: - $ref: "#/definitions/incremental_sync_report_datetime_cursor" - transformations: - $ref: "#/definitions/transformation_report_add_fields" - retriever: - $ref: "#/definitions/basic_async_retriever" - creation_requester: - $ref: "#/definitions/basic_async_retriever/creation_requester" - request_body_json: - name: "productAds report {{ stream_interval.start_time }}" - startDate: "{{ stream_interval.start_time }}" - endDate: "{{ stream_interval.end_time }}" - configuration: - adProduct: SPONSORED_DISPLAY - groupBy: ["advertiser"] - columns: - [ - "addToCart", - "addToCartRate", - "addToCartViews", - "addToCartClicks", - "adGroupId", - "adGroupName", - "adId", - "addToList", - "addToListFromClicks", - "qualifiedBorrows", - "royaltyQualifiedBorrows", - "addToListFromViews", - "qualifiedBorrowsFromClicks", - "qualifiedBorrowsFromViews", - "royaltyQualifiedBorrowsFromClicks", - "royaltyQualifiedBorrowsFromViews", - "bidOptimization", - "brandedSearches", - "brandedSearchesClicks", - "brandedSearchesViews", - "brandedSearchRate", - "campaignBudgetCurrencyCode", - "campaignId", - "campaignName", - "clicks", - "cost", - "cumulativeReach", - "detailPageViews", - "detailPageViewsClicks", - "eCPAddToCart", - "eCPBrandSearch", - "endDate", - "impressions", - "impressionsFrequencyAverage", - "impressionsViews", - "leadFormOpens", - "leads", - "linkOuts", - "newToBrandDetailPageViewClicks", - "newToBrandDetailPageViewRate", - "newToBrandDetailPageViews", - "newToBrandDetailPageViewViews", - "newToBrandECPDetailPageView", - "newToBrandPurchases", - "newToBrandPurchasesClicks", - "newToBrandSales", - "newToBrandSalesClicks", - "newToBrandUnitsSold", - "newToBrandUnitsSoldClicks", - "promotedAsin", - "promotedSku", - "purchases", - "purchasesClicks", - "purchasesPromotedClicks", - "sales", - "salesClicks", - "salesPromotedClicks", - "startDate", - "unitsSold", - "unitsSoldClicks", - "videoCompleteViews", - "videoFirstQuartileViews", - "videoMidpointViews", - "videoThirdQuartileViews", - "videoUnmutes", - "viewabilityRate", - "viewClickThroughRate", - ] - reportTypeId: sdAdvertisedProduct - filters: [] - timeUnit: SUMMARY - format: GZIP_JSON - sponsored_display_targets_report_stream: - type: DeclarativeStream - name: sponsored_display_targets_report_stream - primary_key: ["profileId", "reportDate", "adGroupName", "targetingId"] - incremental_sync: - $ref: "#/definitions/incremental_sync_report_datetime_cursor" - transformations: - $ref: "#/definitions/transformation_report_add_fields" - retriever: - $ref: "#/definitions/basic_async_retriever" - creation_requester: - $ref: "#/definitions/basic_async_retriever/creation_requester" - request_body_json: - name: "targets report {{ stream_interval.start_time }}" - startDate: "{{ stream_interval.start_time }}" - endDate: "{{ stream_interval.end_time }}" - configuration: - adProduct: SPONSORED_DISPLAY - groupBy: ["targeting"] - columns: - [ - "addToCart", - "addToCartClicks", - "addToCartRate", - "addToCartViews", - "adGroupId", - "adGroupName", - "addToList", - "addToListFromClicks", - "addToListFromViews", - "qualifiedBorrows", - "qualifiedBorrowsFromClicks", - "qualifiedBorrowsFromViews", - "royaltyQualifiedBorrows", - "royaltyQualifiedBorrowsFromClicks", - "royaltyQualifiedBorrowsFromViews", - "brandedSearches", - "brandedSearchesClicks", - "brandedSearchesViews", - "brandedSearchRate", - "campaignBudgetCurrencyCode", - "campaignId", - "campaignName", - "clicks", - "cost", - "detailPageViews", - "detailPageViewsClicks", - "eCPAddToCart", - "eCPBrandSearch", - "endDate", - "impressions", - "impressionsViews", - "leadFormOpens", - "leads", - "linkOuts", - "newToBrandPurchases", - "newToBrandPurchasesClicks", - "newToBrandSales", - "newToBrandSalesClicks", - "newToBrandUnitsSold", - "newToBrandUnitsSoldClicks", - "purchases", - "purchasesClicks", - "purchasesPromotedClicks", - "sales", - "salesClicks", - "salesPromotedClicks", - "startDate", - "targetingExpression", - "targetingId", - "targetingText", - "unitsSold", - "unitsSoldClicks", - "videoCompleteViews", - "videoFirstQuartileViews", - "videoMidpointViews", - "videoThirdQuartileViews", - "videoUnmutes", - "viewabilityRate", - "viewClickThroughRate", - ] - reportTypeId: sdTargeting - filters: [] - timeUnit: SUMMARY - format: GZIP_JSON - sponsored_display_asins_report_stream: - type: DeclarativeStream - name: sponsored_display_asins_report_stream - primary_key: ["profileId", "reportDate", "adGroupName", "promotedAsin"] - incremental_sync: - $ref: "#/definitions/incremental_sync_report_datetime_cursor" - transformations: - $ref: "#/definitions/transformation_report_add_fields" - retriever: - $ref: "#/definitions/basic_async_retriever" - creation_requester: - $ref: "#/definitions/basic_async_retriever/creation_requester" - request_body_json: - name: "asins report {{ stream_interval.start_time }}" - startDate: "{{ stream_interval.start_time }}" - endDate: "{{ stream_interval.end_time }}" - configuration: - adProduct: SPONSORED_DISPLAY - groupBy: ["asin"] - columns: - [ - "adGroupId", - "adGroupName", - "asinBrandHalo", - "addToList", - "addToListFromClicks", - "qualifiedBorrowsFromClicks", - "royaltyQualifiedBorrowsFromClicks", - "addToListFromViews", - "qualifiedBorrows", - "qualifiedBorrowsFromViews", - "royaltyQualifiedBorrows", - "royaltyQualifiedBorrowsFromViews", - "campaignBudgetCurrencyCode", - "campaignId", - "campaignName", - "conversionsBrandHalo", - "conversionsBrandHaloClicks", - "endDate", - "promotedAsin", - "promotedSku", - "salesBrandHalo", - "salesBrandHaloClicks", - "startDate", - "unitsSoldBrandHalo", - "unitsSoldBrandHaloClicks", - ] - reportTypeId: sdPurchasedProduct - filters: [] - timeUnit: SUMMARY - format: GZIP_JSON - - sponsored_products_campaigns_report_stream: - type: DeclarativeStream - name: sponsored_products_campaigns_report_stream - primary_key: ["profileId", "reportDate", "campaignId"] - incremental_sync: - $ref: "#/definitions/incremental_sync_report_datetime_cursor" - transformations: - $ref: "#/definitions/transformation_report_add_fields" - retriever: - $ref: "#/definitions/basic_async_retriever" - creation_requester: - $ref: "#/definitions/basic_async_retriever/creation_requester" - request_body_json: - name: "campaigns report {{ stream_interval.start_time }}" - startDate: "{{ stream_interval.start_time }}" - endDate: "{{ stream_interval.end_time }}" - configuration: - adProduct: SPONSORED_PRODUCTS - groupBy: ["campaign"] - columns: - [ - "campaignName", - "campaignId", - "campaignStatus", - "campaignBudgetAmount", - "campaignRuleBasedBudgetAmount", - "campaignApplicableBudgetRuleId", - "campaignApplicableBudgetRuleName", - "impressions", - "clicks", - "cost", - "purchases1d", - "purchases7d", - "purchases14d", - "purchases30d", - "purchasesSameSku1d", - "purchasesSameSku7d", - "purchasesSameSku14d", - "purchasesSameSku30d", - "unitsSoldClicks1d", - "unitsSoldClicks7d", - "unitsSoldClicks14d", - "unitsSoldClicks30d", - "sales1d", - "sales7d", - "sales14d", - "sales30d", - "attributedSalesSameSku1d", - "attributedSalesSameSku7d", - "attributedSalesSameSku14d", - "attributedSalesSameSku30d", - "unitsSoldSameSku1d", - "unitsSoldSameSku7d", - "unitsSoldSameSku14d", - "unitsSoldSameSku30d", - ] - reportTypeId: spCampaigns - filters: [] - timeUnit: SUMMARY - format: GZIP_JSON - sponsored_products_adgroups_report_stream: - type: DeclarativeStream - name: sponsored_products_adgroups_report_stream - primary_key: ["profileId", "reportDate", "adGroupName", "adGroupId"] - incremental_sync: - $ref: "#/definitions/incremental_sync_report_datetime_cursor" - transformations: - $ref: "#/definitions/transformation_report_add_fields" - retriever: - $ref: "#/definitions/basic_async_retriever" - creation_requester: - $ref: "#/definitions/basic_async_retriever/creation_requester" - request_body_json: - name: "adGroups report {{ stream_interval.start_time }}" - startDate: "{{ stream_interval.start_time }}" - endDate: "{{ stream_interval.end_time }}" - configuration: - adProduct: SPONSORED_PRODUCTS - groupBy: ["campaign", "adGroup"] - columns: - [ - "campaignName", - "campaignId", - "adGroupName", - "adGroupId", - "impressions", - "clicks", - "cost", - "purchases1d", - "purchases7d", - "purchases14d", - "purchases30d", - "purchasesSameSku1d", - "purchasesSameSku7d", - "purchasesSameSku14d", - "purchasesSameSku30d", - "unitsSoldClicks1d", - "unitsSoldClicks7d", - "unitsSoldClicks14d", - "unitsSoldClicks30d", - "sales1d", - "sales7d", - "sales14d", - "sales30d", - "attributedSalesSameSku1d", - "attributedSalesSameSku7d", - "attributedSalesSameSku14d", - "attributedSalesSameSku30d", - "unitsSoldSameSku1d", - "unitsSoldSameSku7d", - "unitsSoldSameSku14d", - "unitsSoldSameSku30d", - ] - reportTypeId: spCampaigns - filters: [] - timeUnit: SUMMARY - format: GZIP_JSON - sponsored_products_keywords_report_stream: - type: DeclarativeStream - name: sponsored_products_keywords_report_stream - primary_key: ["profileId", "reportDate", "adGroupName", "keywordId"] - incremental_sync: - $ref: "#/definitions/incremental_sync_report_datetime_cursor" - transformations: - $ref: "#/definitions/transformation_report_add_fields" - retriever: - $ref: "#/definitions/basic_async_retriever" - creation_requester: - $ref: "#/definitions/basic_async_retriever/creation_requester" - request_body_json: - name: "keywords report {{ stream_interval.start_time }}" - startDate: "{{ stream_interval.start_time }}" - endDate: "{{ stream_interval.end_time }}" - configuration: - adProduct: SPONSORED_PRODUCTS - groupBy: ["targeting"] - columns: - [ - "campaignName", - "campaignId", - "adGroupName", - "adGroupId", - "keywordId", - "keyword", - "matchType", - "impressions", - "clicks", - "cost", - "purchases1d", - "purchases7d", - "purchases14d", - "purchases30d", - "purchasesSameSku1d", - "purchasesSameSku7d", - "purchasesSameSku14d", - "purchasesSameSku30d", - "unitsSoldClicks1d", - "unitsSoldClicks7d", - "unitsSoldClicks14d", - "unitsSoldClicks30d", - "sales1d", - "sales7d", - "sales14d", - "sales30d", - "attributedSalesSameSku1d", - "attributedSalesSameSku7d", - "attributedSalesSameSku14d", - "attributedSalesSameSku30d", - "unitsSoldSameSku1d", - "unitsSoldSameSku7d", - "unitsSoldSameSku14d", - "unitsSoldSameSku30d", - ] - reportTypeId: spTargeting - filters: - [ - { - "field": "keywordType", - "values": ["BROAD", "PHRASE", "EXACT"], - }, - ] - timeUnit: SUMMARY - format: GZIP_JSON - sponsored_products_targets_report_stream: - type: DeclarativeStream - name: sponsored_products_targets_report_stream - primary_key: ["profileId", "reportDate", "adGroupName", "keywordId"] - incremental_sync: - $ref: "#/definitions/incremental_sync_report_datetime_cursor" - transformations: - $ref: "#/definitions/transformation_report_add_fields" - retriever: - $ref: "#/definitions/basic_async_retriever" - creation_requester: - $ref: "#/definitions/basic_async_retriever/creation_requester" - request_body_json: - name: "targets report {{ stream_interval.start_time }}" - startDate: "{{ stream_interval.start_time }}" - endDate: "{{ stream_interval.end_time }}" - configuration: - adProduct: SPONSORED_PRODUCTS - groupBy: ["targeting"] - columns: - [ - "campaignName", - "campaignId", - "adGroupName", - "adGroupId", - "keywordId", - "keyword", - "targeting", - "keywordType", - "impressions", - "clicks", - "cost", - "purchases1d", - "purchases7d", - "purchases14d", - "purchases30d", - "purchasesSameSku1d", - "purchasesSameSku7d", - "purchasesSameSku14d", - "purchasesSameSku30d", - "unitsSoldClicks1d", - "unitsSoldClicks7d", - "unitsSoldClicks14d", - "unitsSoldClicks30d", - "sales1d", - "sales7d", - "sales14d", - "sales30d", - "attributedSalesSameSku1d", - "attributedSalesSameSku7d", - "attributedSalesSameSku14d", - "attributedSalesSameSku30d", - "unitsSoldSameSku1d", - "unitsSoldSameSku7d", - "unitsSoldSameSku14d", - "unitsSoldSameSku30d", - ] - reportTypeId: spTargeting - filters: - [ - { - "field": "keywordType", - "values": - [ - "TARGETING_EXPRESSION", - "TARGETING_EXPRESSION_PREDEFINED", - ], - }, - ] - timeUnit: SUMMARY - format: GZIP_JSON - sponsored_products_productads_report_stream: - type: DeclarativeStream - name: sponsored_products_productads_report_stream - primary_key: ["profileId", "reportDate", "adGroupName", "adId"] - incremental_sync: - $ref: "#/definitions/incremental_sync_report_datetime_cursor" - transformations: - $ref: "#/definitions/transformation_report_add_fields" - retriever: - $ref: "#/definitions/basic_async_retriever" - creation_requester: - $ref: "#/definitions/basic_async_retriever/creation_requester" - request_body_json: - name: "productAds report {{ stream_interval.start_time }}" - startDate: "{{ stream_interval.start_time }}" - endDate: "{{ stream_interval.end_time }}" - configuration: - adProduct: SPONSORED_PRODUCTS - groupBy: ["advertiser"] - columns: - [ - "campaignName", - "campaignId", - "adGroupName", - "adGroupId", - "adId", - "impressions", - "clicks", - "cost", - "campaignBudgetCurrencyCode", - "advertisedAsin", - "purchases1d", - "purchases7d", - "purchases14d", - "purchases30d", - "purchasesSameSku1d", - "purchasesSameSku7d", - "purchasesSameSku14d", - "purchasesSameSku30d", - "unitsSoldClicks1d", - "unitsSoldClicks7d", - "unitsSoldClicks14d", - "unitsSoldClicks30d", - "sales1d", - "sales7d", - "sales14d", - "sales30d", - "attributedSalesSameSku1d", - "attributedSalesSameSku7d", - "attributedSalesSameSku14d", - "attributedSalesSameSku30d", - "unitsSoldSameSku1d", - "unitsSoldSameSku7d", - "unitsSoldSameSku14d", - "unitsSoldSameSku30d", - ] - reportTypeId: spAdvertisedProduct - filters: [] - timeUnit: SUMMARY - format: GZIP_JSON - sponsored_products_asins_keywords_report_stream: - type: DeclarativeStream - name: sponsored_products_asins_keywords_report_stream - primary_key: ["profileId", "reportDate", "adGroupName", "advertisedAsin"] - incremental_sync: - $ref: "#/definitions/incremental_sync_report_datetime_cursor" - transformations: - $ref: "#/definitions/transformation_report_add_fields" - retriever: - $ref: "#/definitions/basic_async_retriever" - creation_requester: - $ref: "#/definitions/basic_async_retriever/creation_requester" - request_body_json: - name: "asins_keywords report {{ stream_interval.start_time }}" - startDate: "{{ stream_interval.start_time }}" - endDate: "{{ stream_interval.end_time }}" - configuration: - adProduct: SPONSORED_PRODUCTS - groupBy: ["asin"] - columns: - [ - "campaignName", - "campaignId", - "adGroupName", - "adGroupId", - "keywordId", - "keyword", - "advertisedAsin", - "purchasedAsin", - "advertisedSku", - "campaignBudgetCurrencyCode", - "matchType", - "unitsSoldClicks1d", - "unitsSoldClicks7d", - "unitsSoldClicks14d", - "unitsSoldClicks30d", - "unitsSoldOtherSku1d", - "unitsSoldOtherSku7d", - "unitsSoldOtherSku14d", - "unitsSoldOtherSku30d", - "salesOtherSku1d", - "salesOtherSku7d", - "salesOtherSku14d", - "salesOtherSku30d", - ] - reportTypeId: spPurchasedProduct - filters: [] - timeUnit: SUMMARY - format: GZIP_JSON - sponsored_products_asins_targets_report_stream: - type: DeclarativeStream - name: sponsored_products_asins_targets_report_stream - primary_key: ["profileId", "reportDate", "adGroupName", "advertisedAsin"] - incremental_sync: - $ref: "#/definitions/incremental_sync_report_datetime_cursor" - transformations: - $ref: "#/definitions/transformation_report_add_fields" - retriever: - $ref: "#/definitions/basic_async_retriever" - creation_requester: - $ref: "#/definitions/basic_async_retriever/creation_requester" - request_body_json: - name: "asins_targets report {{ stream_interval.start_time }}" - startDate: "{{ stream_interval.start_time }}" - endDate: "{{ stream_interval.end_time }}" - configuration: - adProduct: SPONSORED_PRODUCTS - groupBy: ["asin"] - columns: - [ - "campaignName", - "campaignId", - "adGroupName", - "adGroupId", - "advertisedAsin", - "purchasedAsin", - "advertisedSku", - "campaignBudgetCurrencyCode", - "matchType", - "unitsSoldClicks1d", - "unitsSoldClicks7d", - "unitsSoldClicks14d", - "unitsSoldClicks30d", - "unitsSoldOtherSku1d", - "unitsSoldOtherSku7d", - "unitsSoldOtherSku14d", - "unitsSoldOtherSku30d", - "salesOtherSku1d", - "salesOtherSku7d", - "salesOtherSku14d", - "salesOtherSku30d", - "keywordId", - "targeting", - "keywordType", - ] - reportTypeId: spPurchasedProduct - filters: [] - timeUnit: SUMMARY - format: GZIP_JSON - - incremental_sync_report_datetime_cursor: - type: DatetimeBasedCursor - cursor_field: reportDate - cursor_datetime_formats: - - "%Y-%m-%d" - datetime_format: "%Y-%m-%d" - lookback_window: P{{ config.get('look_back_window', 3) }}D - start_datetime: - type: MinMaxDatetime - datetime: "{{ config.get('start_date', today_utc().strftime('%Y-%m-%d') ) }}" - datetime_format: "%Y-%m-%d" - end_datetime: - datetime: "{{ today_utc() }}" - datetime_format: "%Y-%m-%d" - cursor_granularity: "P1D" - step: "P{{ config.get('events_time_step', 30) }}D" - start_time_option: - field_name: startDate - inject_into: body_json - end_time_option: - field_name: endDate - inject_into: body_json - - transformation_report_add_fields: - - type: AddFields - fields: - - path: ["reportDate"] - value: "{{ stream_interval.end_time }}" - - type: AddFields - fields: - - path: ["profileId"] - value: "{{ stream_partition['profileId'] }}" - - basic_async_retriever: - type: AsyncRetriever - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - type: ParentStreamConfig - parent_key: "profileId" - stream: "#/definitions/streams/profiles_filtered" - partition_field: "profileId" - status_mapping: - failed: - - FAILED - running: - - PENDING - - PROCESSING - timeout: - - timeout - completed: - - COMPLETED - urls_extractor: - type: DpathExtractor - field_path: - - url - record_selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: [] - - status_extractor: - type: DpathExtractor - field_path: - - status - creation_requester: - type: HttpRequester - path: /reporting/reports - url_base: >- - {%- set URL_MAPPING = { - "NA": "https://advertising-api.amazon.com/", - "EU": "https://advertising-api-eu.amazon.com/", - "FE": "https://advertising-api-fe.amazon.com/" - } -%} - {{ URL_MAPPING[config["region"]] }} - authenticator: "#/definitions/oauth_authenticator" - http_method: POST - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_partition['profileId'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - request_body_json: - name: "purchasedAsin report {{ stream_interval.start_time }}" - startDate: "{{ stream_interval.start_time }}" - endDate: "{{ stream_interval.end_time }}" - configuration: - adProduct: OVERRIDDEN_REPORT_TYPE # Placeholder value. Each report stream overrides the adProduct value to the respective report name - groupBy: ["LIST_OF_GROUP_BY_METRICS"] - columns: ["LIST_OF_METRICS"] - reportTypeId: OVERRIDDEN_REPORT_TYPE # Placeholder value. Each report stream overrides the reportTypeId value to the respective report name - filters: [] - timeUnit: SUMMARY - format: GZIP_JSON - error_handler: - $ref: "#/definitions/report_creation_error_handler" - polling_requester: - type: HttpRequester - path: /reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} - url_base: >- - {%- set URL_MAPPING = { - "NA": "https://advertising-api.amazon.com/", - "EU": "https://advertising-api-eu.amazon.com/", - "FE": "https://advertising-api-fe.amazon.com/" - } -%} - {{ URL_MAPPING[config["region"]] }} - authenticator: "#/definitions/oauth_authenticator" - http_method: GET - request_headers: - Amazon-Advertising-API-Scope: "{{ stream_slice['create_job_response'].request.headers['Amazon-Advertising-API-Scope'] }}" - Amazon-Advertising-API-ClientId: '{{ config["client_id"] }}' - error_handler: - $ref: "#/definitions/report_polling_error_handler" - - download_requester: - type: HttpRequester - path: "{{stream_slice.extra_fields['url']}}" - url_base: "" - http_method: GET - authenticator: - type: NoAuth - download_decoder: - type: GzipDecoder - decoder: - type: JsonDecoder - encoding: utf - download_extractor: - type: DpathExtractor - field_path: [] - -streams: - - $ref: "#/definitions/streams/profiles" - - $ref: "#/definitions/streams/portfolios" - - - $ref: "#/definitions/streams/sponsored_display_campaigns" - - $ref: "#/definitions/streams/sponsored_display_ad_groups" - - $ref: "#/definitions/streams/sponsored_display_product_ads" - - $ref: "#/definitions/streams/sponsored_display_targetings" - - $ref: "#/definitions/streams/sponsored_display_creatives" - - $ref: "#/definitions/streams/sponsored_display_budget_rules" - - - $ref: "#/definitions/streams/sponsored_brands_keywords" - - $ref: "#/definitions/streams/sponsored_brands_campaigns" - - $ref: "#/definitions/streams/sponsored_brands_ad_groups" - - - $ref: "#/definitions/streams/sponsored_product_campaigns" - - $ref: "#/definitions/streams/sponsored_product_ad_groups" - - $ref: "#/definitions/streams/sponsored_product_keywords" - - $ref: "#/definitions/streams/sponsored_product_negative_keywords" - - $ref: "#/definitions/streams/sponsored_product_campaign_negative_keywords" - - $ref: "#/definitions/streams/sponsored_product_ads" - - $ref: "#/definitions/streams/sponsored_product_targetings" - - - $ref: "#/definitions/streams/sponsored_product_ad_group_bid_recommendations" - - $ref: "#/definitions/streams/sponsored_product_ad_group_suggested_keywords" - - - $ref: "#/definitions/streams/attribution_report_products" - - $ref: "#/definitions/streams/attribution_report_performance_adgroup" - - $ref: "#/definitions/streams/attribution_report_performance_campaign" - - $ref: "#/definitions/streams/attribution_report_performance_creative" - - - $ref: "#/definitions/streams/sponsored_brands_v3_report_stream" - - - $ref: "#/definitions/streams/sponsored_display_campaigns_report_stream" - - $ref: "#/definitions/streams/sponsored_display_adgroups_report_stream" - - $ref: "#/definitions/streams/sponsored_display_productads_report_stream" - - $ref: "#/definitions/streams/sponsored_display_targets_report_stream" - - $ref: "#/definitions/streams/sponsored_display_asins_report_stream" - - - $ref: "#/definitions/streams/sponsored_products_campaigns_report_stream" - - $ref: "#/definitions/streams/sponsored_products_adgroups_report_stream" - - $ref: "#/definitions/streams/sponsored_products_keywords_report_stream" - - $ref: "#/definitions/streams/sponsored_products_targets_report_stream" - - $ref: "#/definitions/streams/sponsored_products_productads_report_stream" - - $ref: "#/definitions/streams/sponsored_products_asins_keywords_report_stream" - - $ref: "#/definitions/streams/sponsored_products_asins_targets_report_stream" - -concurrency_level: - type: ConcurrencyLevel - default_concurrency: 10 - max_concurrency: 10 diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/run.py b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/run.py deleted file mode 100644 index dbddd24e5cc2c..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/run.py +++ /dev/null @@ -1,55 +0,0 @@ -# -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. -# - - -import sys -import time -import traceback -from typing import List - -from orjson import orjson - -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 source_amazon_ads import SourceAmazonAds - - -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 SourceAmazonAds( - SourceAmazonAds.read_catalog(catalog_path) if catalog_path else None, - SourceAmazonAds.read_config(config_path) if config_path else None, - SourceAmazonAds.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=time.time_ns() // 1_000_000, - 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(): - 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-amazon-ads/source_amazon_ads/schemas/attribution_report_performance_adgroup.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/attribution_report_performance_adgroup.json deleted file mode 100644 index 80422aa45cf32..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/attribution_report_performance_adgroup.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "date": { - "type": ["null", "string"] - }, - "brandName": { - "type": ["null", "string"] - }, - "marketplace": { - "type": ["null", "string"] - }, - "campaignId": { - "type": ["null", "string"] - }, - "productAsin": { - "type": ["null", "string"] - }, - "productConversionType": { - "type": ["null", "string"] - }, - "advertiserName": { - "type": ["null", "string"] - }, - "adGroupId": { - "type": ["null", "string"] - }, - "creativeId": { - "type": ["null", "string"] - }, - "productName": { - "type": ["null", "string"] - }, - "productCategory": { - "type": ["null", "string"] - }, - "productSubcategory": { - "type": ["null", "string"] - }, - "productGroup": { - "type": ["null", "string"] - }, - "publisher": { - "type": ["null", "string"] - }, - "Click-throughs": { - "type": ["null", "string"] - }, - "attributedDetailPageViewsClicks14d": { - "type": ["null", "string"] - }, - "attributedAddToCartClicks14d": { - "type": ["null", "string"] - }, - "attributedPurchases14d": { - "type": ["null", "string"] - }, - "unitsSold14d": { - "type": ["null", "string"] - }, - "attributedSales14d": { - "type": ["null", "string"] - }, - "attributedTotalDetailPageViewsClicks14d": { - "type": ["null", "string"] - }, - "attributedTotalAddToCartClicks14d": { - "type": ["null", "string"] - }, - "attributedTotalPurchases14d": { - "type": ["null", "string"] - }, - "totalUnitsSold14d": { - "type": ["null", "string"] - }, - "totalAttributedSales14d": { - "type": ["null", "string"] - }, - "brb_bonus_amount": { - "type": ["null", "string"] - }, - "brandHaloDetailPageViewsClicks14d": { - "type": ["null", "string"] - }, - "brandHaloAttributedAddToCartClicks14d": { - "type": ["null", "string"] - }, - "brandHaloAttributedPurchases14d": { - "type": ["null", "string"] - }, - "brandHaloUnitsSold14d": { - "type": ["null", "string"] - }, - "brandHaloAttributedSales14d": { - "type": ["null", "string"] - }, - "attributedNewToBrandPurchases14d": { - "type": ["null", "string"] - }, - "attributedNewToBrandUnitsSold14d": { - "type": ["null", "string"] - }, - "attributedNewToBrandSales14d": { - "type": ["null", "string"] - }, - "brandHaloNewToBrandPurchases14d": { - "type": ["null", "string"] - }, - "brandHaloNewToBrandUnitsSold14d": { - "type": ["null", "string"] - }, - "brandHaloNewToBrandSales14d": { - "type": ["null", "string"] - } - }, - "title": "attribution_report_performance_adgroup", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/attribution_report_performance_campaign.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/attribution_report_performance_campaign.json deleted file mode 100644 index 2dc5c6ef17a3b..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/attribution_report_performance_campaign.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "date": { "type": ["null", "string"] }, - "brandName": { "type": ["null", "string"] }, - "marketplace": { "type": ["null", "string"] }, - "campaignId": { "type": ["null", "string"] }, - "productAsin": { "type": ["null", "string"] }, - "productConversionType": { "type": ["null", "string"] }, - "advertiserName": { "type": ["null", "string"] }, - "adGroupId": { "type": ["null", "string"] }, - "creativeId": { "type": ["null", "string"] }, - "productName": { "type": ["null", "string"] }, - "productCategory": { "type": ["null", "string"] }, - "productSubcategory": { "type": ["null", "string"] }, - "productGroup": { "type": ["null", "string"] }, - "publisher": { "type": ["null", "string"] }, - "Click-throughs": { "type": ["null", "string"] }, - "attributedDetailPageViewsClicks14d": { "type": ["null", "string"] }, - "attributedAddToCartClicks14d": { "type": ["null", "string"] }, - "attributedPurchases14d": { "type": ["null", "string"] }, - "unitsSold14d": { "type": ["null", "string"] }, - "attributedSales14d": { "type": ["null", "string"] }, - "attributedTotalDetailPageViewsClicks14d": { "type": ["null", "string"] }, - "attributedTotalAddToCartClicks14d": { "type": ["null", "string"] }, - "attributedTotalPurchases14d": { "type": ["null", "string"] }, - "totalUnitsSold14d": { "type": ["null", "string"] }, - "totalAttributedSales14d": { "type": ["null", "string"] }, - "brb_bonus_amount": { "type": ["null", "string"] }, - "brandHaloDetailPageViewsClicks14d": { "type": ["null", "string"] }, - "brandHaloAttributedAddToCartClicks14d": { "type": ["null", "string"] }, - "brandHaloAttributedPurchases14d": { "type": ["null", "string"] }, - "brandHaloUnitsSold14d": { "type": ["null", "string"] }, - "brandHaloAttributedSales14d": { "type": ["null", "string"] }, - "attributedNewToBrandPurchases14d": { "type": ["null", "string"] }, - "attributedNewToBrandUnitsSold14d": { "type": ["null", "string"] }, - "attributedNewToBrandSales14d": { "type": ["null", "string"] }, - "brandHaloNewToBrandPurchases14d": { "type": ["null", "string"] }, - "brandHaloNewToBrandUnitsSold14d": { "type": ["null", "string"] }, - "brandHaloNewToBrandSales14d": { "type": ["null", "string"] } - }, - "title": "attribution_report_performance_campaign", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/attribution_report_performance_creative.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/attribution_report_performance_creative.json deleted file mode 100644 index 752537d60c06b..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/attribution_report_performance_creative.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "date": { "type": ["null", "string"] }, - "brandName": { "type": ["null", "string"] }, - "marketplace": { "type": ["null", "string"] }, - "campaignId": { "type": ["null", "string"] }, - "productAsin": { "type": ["null", "string"] }, - "productConversionType": { "type": ["null", "string"] }, - "advertiserName": { "type": ["null", "string"] }, - "adGroupId": { "type": ["null", "string"] }, - "creativeId": { "type": ["null", "string"] }, - "productName": { "type": ["null", "string"] }, - "productCategory": { "type": ["null", "string"] }, - "productSubcategory": { "type": ["null", "string"] }, - "productGroup": { "type": ["null", "string"] }, - "publisher": { "type": ["null", "string"] }, - "Click-throughs": { "type": ["null", "string"] }, - "attributedDetailPageViewsClicks14d": { "type": ["null", "string"] }, - "attributedAddToCartClicks14d": { "type": ["null", "string"] }, - "attributedPurchases14d": { "type": ["null", "string"] }, - "unitsSold14d": { "type": ["null", "string"] }, - "attributedSales14d": { "type": ["null", "string"] }, - "attributedTotalDetailPageViewsClicks14d": { "type": ["null", "string"] }, - "attributedTotalAddToCartClicks14d": { "type": ["null", "string"] }, - "attributedTotalPurchases14d": { "type": ["null", "string"] }, - "totalUnitsSold14d": { "type": ["null", "string"] }, - "totalAttributedSales14d": { "type": ["null", "string"] }, - "brb_bonus_amount": { "type": ["null", "string"] }, - "brandHaloDetailPageViewsClicks14d": { "type": ["null", "string"] }, - "brandHaloAttributedAddToCartClicks14d": { "type": ["null", "string"] }, - "brandHaloAttributedPurchases14d": { "type": ["null", "string"] }, - "brandHaloUnitsSold14d": { "type": ["null", "string"] }, - "brandHaloAttributedSales14d": { "type": ["null", "string"] }, - "attributedNewToBrandPurchases14d": { "type": ["null", "string"] }, - "attributedNewToBrandUnitsSold14d": { "type": ["null", "string"] }, - "attributedNewToBrandSales14d": { "type": ["null", "string"] }, - "brandHaloNewToBrandPurchases14d": { "type": ["null", "string"] }, - "brandHaloNewToBrandUnitsSold14d": { "type": ["null", "string"] }, - "brandHaloNewToBrandSales14d": { "type": ["null", "string"] } - }, - "title": "attribution_report_performance_creative", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/attribution_report_products.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/attribution_report_products.json deleted file mode 100644 index 9d367b04ac7ba..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/attribution_report_products.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "date": { "type": ["null", "string"] }, - "brandName": { "type": ["null", "string"] }, - "marketplace": { "type": ["null", "string"] }, - "campaignId": { "type": ["null", "string"] }, - "productAsin": { "type": ["null", "string"] }, - "productConversionType": { "type": ["null", "string"] }, - "advertiserName": { "type": ["null", "string"] }, - "adGroupId": { "type": ["null", "string"] }, - "creativeId": { "type": ["null", "string"] }, - "productName": { "type": ["null", "string"] }, - "productCategory": { "type": ["null", "string"] }, - "productSubcategory": { "type": ["null", "string"] }, - "productGroup": { "type": ["null", "string"] }, - "publisher": { "type": ["null", "string"] }, - "Click-throughs": { "type": ["null", "string"] }, - "attributedDetailPageViewsClicks14d": { "type": ["null", "string"] }, - "attributedAddToCartClicks14d": { "type": ["null", "string"] }, - "attributedPurchases14d": { "type": ["null", "string"] }, - "unitsSold14d": { "type": ["null", "string"] }, - "attributedSales14d": { "type": ["null", "string"] }, - "attributedTotalDetailPageViewsClicks14d": { "type": ["null", "string"] }, - "attributedTotalAddToCartClicks14d": { "type": ["null", "string"] }, - "attributedTotalPurchases14d": { "type": ["null", "string"] }, - "totalUnitsSold14d": { "type": ["null", "string"] }, - "totalAttributedSales14d": { "type": ["null", "string"] }, - "brb_bonus_amount": { "type": ["null", "string"] }, - "brandHaloDetailPageViewsClicks14d": { "type": ["null", "string"] }, - "brandHaloAttributedAddToCartClicks14d": { "type": ["null", "string"] }, - "brandHaloAttributedPurchases14d": { "type": ["null", "string"] }, - "brandHaloUnitsSold14d": { "type": ["null", "string"] }, - "brandHaloAttributedSales14d": { "type": ["null", "string"] }, - "attributedNewToBrandPurchases14d": { "type": ["null", "string"] }, - "attributedNewToBrandUnitsSold14d": { "type": ["null", "string"] }, - "attributedNewToBrandSales14d": { "type": ["null", "string"] }, - "brandHaloNewToBrandPurchases14d": { "type": ["null", "string"] }, - "brandHaloNewToBrandUnitsSold14d": { "type": ["null", "string"] }, - "brandHaloNewToBrandSales14d": { "type": ["null", "string"] } - }, - "title": "attribution_report_products", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/portfolios.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/portfolios.json deleted file mode 100644 index cf7539e2c60e5..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/portfolios.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "portfolioId": { "type": ["null", "integer"] }, - "name": { "type": ["null", "string"] }, - "budget": { - "type": ["object", "null"], - "properties": { - "amount": { "type": ["null", "number"] }, - "currencyCode": { "type": ["null", "string"] }, - "policy": { "type": ["null", "string"] }, - "startDate": { "type": ["null", "string"] }, - "endDate": { "type": ["null", "string"] } - } - }, - "inBudget": { "type": ["null", "boolean"] }, - "state": { "type": ["null", "string"] }, - "creationDate": { "type": ["null", "integer"] }, - "lastUpdatedDate": { "type": ["null", "integer"] }, - "servingStatus": { "type": ["null", "string"] } - }, - "title": "portfolios", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/profiles.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/profiles.json deleted file mode 100644 index 53ba437b6a4ba..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/profiles.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "profileId": { "type": ["null", "integer"] }, - "countryCode": { "type": ["null", "string"] }, - "currencyCode": { "type": ["null", "string"] }, - "dailyBudget": { "type": ["null", "number"] }, - "timezone": { "type": ["null", "string"] }, - "accountInfo": { - "type": ["object", "null"], - "properties": { - "marketplaceStringId": { "type": ["null", "string"] }, - "id": { "type": ["null", "string"] }, - "type": { "type": ["null", "string"] }, - "name": { "type": ["null", "string"] }, - "subType": { "type": ["null", "string"] }, - "validPaymentMethod": { "type": ["null", "boolean"] } - } - } - }, - "title": "profiles", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_brands_ad_groups.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_brands_ad_groups.json deleted file mode 100644 index 7b1232ba85181..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_brands_ad_groups.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "campaignId": { "type": ["null", "string"] }, - "adGroupId": { "type": ["null", "string"] }, - "name": { "type": ["null", "string"] }, - "state": { "type": ["null", "string"] }, - "extendedData": { "type": ["null", "object"] } - }, - "title": "sponsored_brands_ad_groups", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_brands_campaigns.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_brands_campaigns.json deleted file mode 100644 index 1c528e9c65353..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_brands_campaigns.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "campaignId": { "type": ["null", "string"] }, - "name": { "type": ["null", "string"] }, - "tags": { "type": ["null", "object"], "additionalProperties": true }, - "budget": { "type": ["null", "number"] }, - "budgetType": { "type": ["null", "string"] }, - "startDate": { "type": ["null", "string"] }, - "endDate": { "type": ["null", "string"] }, - "state": { "type": ["null", "string"] }, - "brandEntityId": { "type": ["null", "string"] }, - "portfolioId": { "type": ["null", "string"] }, - "ruleBasedBudget": { "type": ["null", "object"] }, - "bidding": { "type": ["null", "object"] }, - "productLocation": { "type": ["null", "string"] }, - "costType": { "type": ["null", "string"] }, - "smartDefault": { - "type": ["null", "array"], - "items": { "type": ["null", "string"] } - }, - "extendedData": { "type": ["null", "object"] } - }, - "title": "sponsored_brands_campaigns", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_brands_keywords.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_brands_keywords.json deleted file mode 100644 index 6a179f71d387d..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_brands_keywords.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "campaignId": { "type": ["null", "string"] }, - "adGroupId": { "type": ["null", "string"] }, - "name": { "type": ["null", "string"] }, - "state": { "type": ["null", "string"] }, - "extendedData": { "type": ["null", "object"] } - }, - "title": "sponsored_brands_keywords", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_brands_v3_report_stream.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_brands_v3_report_stream.json deleted file mode 100644 index 902f8f3f4d6e4..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_brands_v3_report_stream.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "profileId": { "type": ["null", "integer"] }, - "reportDate": { "type": ["null", "string"] }, - "attributionType": { "type": ["null", "string"] }, - "campaignName": { "type": ["null", "string"] }, - "newToBrandSales14d": { "type": ["null", "number"] }, - "orders14d": { "type": ["null", "integer"] }, - "productName": { "type": ["null", "string"] }, - "sales14d": { "type": ["null", "number"] }, - "newToBrandPurchasesPercentage14d": { "type": ["null", "number"] }, - "purchasedAsin": { "type": ["null", "string"] }, - "newToBrandSalesPercentage14d": { "type": ["null", "number"] }, - "productCategory": { "type": ["null", "string"] }, - "newToBrandPurchases14d": { "type": ["null", "integer"] }, - "newToBrandUnitsSoldPercentage14d": { "type": ["null", "number"] }, - "unitsSold14d": { "type": ["null", "integer"] }, - "adGroupName": { "type": ["null", "string"] }, - "newToBrandUnitsSold14d": { "type": ["null", "integer"] }, - "campaignBudgetCurrencyCode": { "type": ["null", "string"] } - }, - "title": "sponsored_brands_v3_report_stream", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_ad_groups.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_ad_groups.json deleted file mode 100644 index 504e5e24c5fc2..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_ad_groups.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "name": { "type": ["null", "string"] }, - "campaignId": { "type": ["null", "number"] }, - "adGroupId": { "type": ["null", "number"] }, - "defaultBid": { "type": ["null", "number"] }, - "bidOptimization": { "type": ["null", "string"] }, - "state": { "type": ["null", "string"] }, - "tactic": { "type": ["null", "string"] }, - "creativeType": { "type": ["null", "string"] } - }, - "title": "sponsored_display_ad_groups", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_adgroups_report_stream.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_adgroups_report_stream.json deleted file mode 100644 index d5bab09519da6..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_adgroups_report_stream.json +++ /dev/null @@ -1,205 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "profileId": { - "type": ["null", "integer"] - }, - "reportDate": { - "type": ["null", "string"] - }, - "adGroupId": { - "type": ["null", "integer"] - }, - "addToCart": { - "type": ["null", "integer"] - }, - "addToCartClicks": { - "type": ["null", "integer"] - }, - "addToCartRate": { - "type": ["null", "number"] - }, - "addToCartViews": { - "type": ["null", "integer"] - }, - "adGroupName": { - "type": ["null", "string"] - }, - "addToList": { - "type": ["null", "integer"] - }, - "addToListFromClicks": { - "type": ["null", "integer"] - }, - "addToListFromViews": { - "type": ["null", "integer"] - }, - "qualifiedBorrows": { - "type": ["null", "integer"] - }, - "qualifiedBorrowsFromClicks": { - "type": ["null", "integer"] - }, - "qualifiedBorrowsFromViews": { - "type": ["null", "integer"] - }, - "royaltyQualifiedBorrows": { - "type": ["null", "integer"] - }, - "royaltyQualifiedBorrowsFromClicks": { - "type": ["null", "integer"] - }, - "royaltyQualifiedBorrowsFromViews": { - "type": ["null", "integer"] - }, - "bidOptimization": { - "type": ["null", "string"] - }, - "brandedSearches": { - "type": ["null", "integer"] - }, - "brandedSearchesClicks": { - "type": ["null", "integer"] - }, - "brandedSearchesViews": { - "type": ["null", "integer"] - }, - "brandedSearchRate": { - "type": ["null", "number"] - }, - "campaignBudgetCurrencyCode": { - "type": ["null", "string"] - }, - "campaignId": { - "type": ["null", "integer"] - }, - "campaignName": { - "type": ["null", "string"] - }, - "clicks": { - "type": ["null", "integer"] - }, - "cost": { - "type": ["null", "number"] - }, - "detailPageViews": { - "type": ["null", "integer"] - }, - "detailPageViewsClicks": { - "type": ["null", "integer"] - }, - "eCPAddToCart": { - "type": ["null", "number"] - }, - "eCPBrandSearch": { - "type": ["null", "number"] - }, - "endDate": { - "type": ["null", "string"] - }, - "impressions": { - "type": ["null", "integer"] - }, - "impressionsViews": { - "type": ["null", "integer"] - }, - "leadFormOpens": { - "type": ["null", "integer"] - }, - "leads": { - "type": ["null", "integer"] - }, - "linkOuts": { - "type": ["null", "integer"] - }, - "newToBrandPurchases": { - "type": ["null", "integer"] - }, - "newToBrandPurchasesClicks": { - "type": ["null", "integer"] - }, - "newToBrandSales": { - "type": ["null", "number"] - }, - "newToBrandSalesClicks": { - "type": ["null", "number"] - }, - "newToBrandUnitsSold": { - "type": ["null", "integer"] - }, - "newToBrandUnitsSoldClicks": { - "type": ["null", "integer"] - }, - "purchases": { - "type": ["null", "integer"] - }, - "purchasesClicks": { - "type": ["null", "integer"] - }, - "purchasesPromotedClicks": { - "type": ["null", "integer"] - }, - "sales": { - "type": ["null", "number"] - }, - "salesClicks": { - "type": ["null", "number"] - }, - "salesPromotedClicks": { - "type": ["null", "number"] - }, - "startDate": { - "type": ["null", "string"] - }, - "unitsSold": { - "type": ["null", "integer"] - }, - "unitsSoldClicks": { - "type": ["null", "integer"] - }, - "videoCompleteViews": { - "type": ["null", "integer"] - }, - "videoFirstQuartileViews": { - "type": ["null", "integer"] - }, - "videoMidpointViews": { - "type": ["null", "integer"] - }, - "videoThirdQuartileViews": { - "type": ["null", "integer"] - }, - "videoUnmutes": { - "type": ["null", "integer"] - }, - "viewabilityRate": { - "type": ["null", "number"] - }, - "viewClickThroughRate": { - "type": ["null", "number"] - }, - "cumulativeReach": { - "type": ["null", "string"] - }, - "impressionsFrequencyAverage": { - "type": ["null", "number"] - }, - "newToBrandDetailPageViewClicks": { - "type": ["null", "integer"] - }, - "newToBrandDetailPageViewRate": { - "type": ["null", "number"] - }, - "newToBrandDetailPageViews": { - "type": ["null", "integer"] - }, - "newToBrandDetailPageViewViews": { - "type": ["null", "integer"] - }, - "newToBrandECPDetailPageView": { - "type": ["null", "number"] - } - }, - "title": "sponsored_display_adgroups_report_stream", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_asins_report_stream.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_asins_report_stream.json deleted file mode 100644 index 84c4d8d1605c3..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_asins_report_stream.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "profileId": { - "type": ["null", "integer"] - }, - "reportDate": { - "type": ["null", "string"] - }, - "promotedAsin": { - "type": ["null", "string"] - }, - - "adGroupId": { - "type": ["null", "integer"] - }, - "adGroupName": { - "type": ["null", "string"] - }, - "asinBrandHalo": { - "type": ["null", "string"] - }, - "addToList": { - "type": ["null", "integer"] - }, - "addToListFromClicks": { - "type": ["null", "integer"] - }, - "qualifiedBorrowsFromClicks": { - "type": ["null", "integer"] - }, - "royaltyQualifiedBorrowsFromClicks": { - "type": ["null", "integer"] - }, - "addToListFromViews": { - "type": ["null", "integer"] - }, - "qualifiedBorrows": { - "type": ["null", "integer"] - }, - "qualifiedBorrowsFromViews": { - "type": ["null", "integer"] - }, - "royaltyQualifiedBorrows": { - "type": ["null", "integer"] - }, - "royaltyQualifiedBorrowsFromViews": { - "type": ["null", "integer"] - }, - "campaignBudgetCurrencyCode": { - "type": ["null", "string"] - }, - "campaignId": { - "type": ["null", "integer"] - }, - "campaignName": { - "type": ["null", "string"] - }, - "conversionsBrandHalo": { - "type": ["null", "integer"] - }, - "conversionsBrandHaloClicks": { - "type": ["null", "integer"] - }, - "endDate": { - "type": ["null", "string"] - }, - "promotedSku": { - "type": ["null", "string"] - }, - "salesBrandHalo": { - "type": ["null", "integer"] - }, - "salesBrandHaloClicks": { - "type": ["null", "integer"] - }, - "startDate": { - "type": ["null", "string"] - }, - "unitsSoldBrandHalo": { - "type": ["null", "integer"] - }, - "unitsSoldBrandHaloClicks": { - "type": ["null", "integer"] - } - }, - "title": "sponsored_display_asins_report_stream", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_budget_rules.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_budget_rules.json deleted file mode 100644 index e52d1d6ff896c..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_budget_rules.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "ruleId": { "type": ["null", "string"] }, - "ruleStatus": { "type": ["null", "string"] }, - "ruleState": { "type": ["null", "string"] }, - "lastUpdatedDate": { "type": ["null", "number"] }, - "createdDate": { "type": ["null", "number"] }, - "ruleDetails": { - "type": ["object", "null"], - "properties": { - "name": { "type": ["null", "string"] }, - "ruleType": { "type": ["null", "string"] }, - "duration": { - "type": ["object", "null"], - "properties": { - "eventTypeRuleDuration": { - "type": ["object", "null"], - "properties": { - "eventId": { "type": ["null", "string"] }, - "endDate": { "type": ["null", "string"] }, - "eventName": { "type": ["null", "string"] }, - "startDate": { "type": ["null", "string"] } - } - }, - "dateRangeTypeRuleDuration": { - "type": ["object", "null"], - "properties": { - "endDate": { "type": ["null", "string"] }, - "startDate": { "type": ["null", "string"] } - } - } - } - }, - "budgetIncreaseBy": { - "type": ["object", "null"], - "properties": { - "type": { "type": ["null", "string"] }, - "value": { "type": ["null", "number"] } - } - }, - "recurrence": { - "type": ["object", "null"], - "properties": { - "type": { "type": ["null", "string"] }, - "daysOfWeek": { - "type": ["null", "array"], - "items": { "type": ["null", "string"] } - }, - "intraDaySchedule": { - "type": ["null", "array"], - "items": { - "type": ["object", "null"], - "properties": { - "startTime": { "type": ["null", "string"] }, - "endTime": { "type": ["null", "string"] } - } - } - }, - "threshold": { "type": ["null", "number"] } - } - }, - "performanceMeasureCondition": { - "type": ["object", "null"], - "properties": { - "metricName": { "type": ["null", "string"] }, - "comparisonOperator": { "type": ["null", "string"] }, - "threshold": { "type": ["null", "number"] } - } - } - } - }, - "ruleStatusDetails": { - "type": ["null", "object"], - "additionalProperties": true - } - }, - "title": "sponsored_display_budget_rules", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_campaigns.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_campaigns.json deleted file mode 100644 index f243730a264b7..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_campaigns.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "campaignId": { "type": ["null", "number"] }, - "name": { "type": ["null", "string"] }, - "budgetType": { "type": ["null", "string"] }, - "budget": { "type": ["null", "number"] }, - "startDate": { "type": ["null", "string"] }, - "endDate": { "type": ["null", "string"] }, - "costType": { "type": ["null", "string"] }, - "state": { "type": ["null", "string"] }, - "portfolioId": { "type": ["null", "integer"] }, - "tactic": { "type": ["null", "string"] }, - "deliveryProfile": { "type": ["null", "string"] } - }, - "title": "sponsored_display_campaigns", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_campaigns_report_stream.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_campaigns_report_stream.json deleted file mode 100644 index 972a19f37a0aa..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_campaigns_report_stream.json +++ /dev/null @@ -1,205 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "profileId": { - "type": ["null", "integer"] - }, - "reportDate": { - "type": ["null", "string"] - }, - "campaignId": { - "type": ["null", "integer"] - }, - "addToCart": { - "type": ["null", "integer"] - }, - "addToCartClicks": { - "type": ["null", "integer"] - }, - "addToCartRate": { - "type": ["null", "number"] - }, - "addToCartViews": { - "type": ["null", "integer"] - }, - "addToList": { - "type": ["null", "integer"] - }, - "addToListFromClicks": { - "type": ["null", "integer"] - }, - "addToListFromViews": { - "type": ["null", "integer"] - }, - "qualifiedBorrows": { - "type": ["null", "integer"] - }, - "qualifiedBorrowsFromClicks": { - "type": ["null", "integer"] - }, - "qualifiedBorrowsFromViews": { - "type": ["null", "integer"] - }, - "royaltyQualifiedBorrows": { - "type": ["null", "integer"] - }, - "royaltyQualifiedBorrowsFromClicks": { - "type": ["null", "integer"] - }, - "royaltyQualifiedBorrowsFromViews": { - "type": ["null", "integer"] - }, - "brandedSearches": { - "type": ["null", "integer"] - }, - "brandedSearchesClicks": { - "type": ["null", "integer"] - }, - "brandedSearchesViews": { - "type": ["null", "integer"] - }, - "brandedSearchRate": { - "type": ["null", "number"] - }, - "campaignBudgetCurrencyCode": { - "type": ["null", "string"] - }, - "campaignName": { - "type": ["null", "string"] - }, - "clicks": { - "type": ["null", "integer"] - }, - "cost": { - "type": ["null", "number"] - }, - "detailPageViews": { - "type": ["null", "integer"] - }, - "detailPageViewsClicks": { - "type": ["null", "integer"] - }, - "eCPAddToCart": { - "type": ["null", "number"] - }, - "eCPBrandSearch": { - "type": ["null", "number"] - }, - "endDate": { - "type": ["null", "string"] - }, - "impressions": { - "type": ["null", "integer"] - }, - "impressionsViews": { - "type": ["null", "integer"] - }, - "leadFormOpens": { - "type": ["null", "integer"] - }, - "leads": { - "type": ["null", "integer"] - }, - "linkOuts": { - "type": ["null", "integer"] - }, - "newToBrandPurchases": { - "type": ["null", "integer"] - }, - "newToBrandPurchasesClicks": { - "type": ["null", "integer"] - }, - "newToBrandSalesClicks": { - "type": ["null", "number"] - }, - "newToBrandUnitsSold": { - "type": ["null", "integer"] - }, - "newToBrandUnitsSoldClicks": { - "type": ["null", "integer"] - }, - "purchases": { - "type": ["null", "integer"] - }, - "purchasesClicks": { - "type": ["null", "integer"] - }, - "purchasesPromotedClicks": { - "type": ["null", "integer"] - }, - "sales": { - "type": ["null", "number"] - }, - "salesClicks": { - "type": ["null", "number"] - }, - "salesPromotedClicks": { - "type": ["null", "number"] - }, - "startDate": { - "type": ["null", "string"] - }, - "unitsSold": { - "type": ["null", "integer"] - }, - "unitsSoldClicks": { - "type": ["null", "integer"] - }, - "videoCompleteViews": { - "type": ["null", "integer"] - }, - "videoFirstQuartileViews": { - "type": ["null", "integer"] - }, - "videoMidpointViews": { - "type": ["null", "integer"] - }, - "videoThirdQuartileViews": { - "type": ["null", "integer"] - }, - "videoUnmutes": { - "type": ["null", "integer"] - }, - "viewabilityRate": { - "type": ["null", "number"] - }, - "viewClickThroughRate": { - "type": ["null", "number"] - }, - "campaignBudgetAmount": { - "type": ["null", "number"] - }, - "campaignStatus": { - "type": ["null", "string"] - }, - "costType": { - "type": ["null", "string"] - }, - "cumulativeReach": { - "type": ["null", "string"] - }, - "impressionsFrequencyAverage": { - "type": ["null", "number"] - }, - "newToBrandDetailPageViewClicks": { - "type": ["null", "integer"] - }, - "newToBrandDetailPageViewRate": { - "type": ["null", "number"] - }, - "newToBrandDetailPageViews": { - "type": ["null", "integer"] - }, - "newToBrandDetailPageViewViews": { - "type": ["null", "integer"] - }, - "newToBrandECPDetailPageView": { - "type": ["null", "number"] - }, - "newToBrandSales": { - "type": ["null", "number"] - } - }, - "title": "sponsored_display_campaigns_report_stream", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_creatives.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_creatives.json deleted file mode 100644 index e9e88d46bcc08..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_creatives.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "adGroupId": { "type": ["null", "number"] }, - "creativeId": { "type": ["null", "number"] }, - "creativeType": { "type": ["null", "string"] }, - "properties": { "type": ["null", "object"] }, - "moderationStatus": { "type": ["null", "string"] } - }, - "title": "sponsored_display_creatives", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_product_ads.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_product_ads.json deleted file mode 100644 index 3381bd7b65b3e..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_product_ads.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "state": { "type": ["null", "string"] }, - "adId": { "type": ["null", "number"] }, - "campaignId": { "type": ["null", "number"] }, - "adGroupId": { "type": ["null", "number"] }, - "asin": { "type": ["null", "string"] }, - "sku": { "type": ["null", "string"] } - }, - "title": "sponsored_display_product_ads", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_productads_report_stream.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_productads_report_stream.json deleted file mode 100644 index e65a23fd44474..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_productads_report_stream.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "profileId": { - "type": ["null", "integer"] - }, - "reportDate": { - "type": ["null", "string"] - }, - "adId": { - "type": ["null", "integer"] - }, - - "addToCart": { - "type": ["null", "integer"] - }, - "addToCartRate": { - "type": ["null", "number"] - }, - "addToCartViews": { - "type": ["null", "integer"] - }, - "addToCartClicks": { - "type": ["null", "integer"] - }, - "adGroupId": { - "type": ["null", "integer"] - }, - "adGroupName": { - "type": ["null", "string"] - }, - "addToList": { - "type": ["null", "integer"] - }, - "addToListFromClicks": { - "type": ["null", "integer"] - }, - "qualifiedBorrows": { - "type": ["null", "integer"] - }, - "royaltyQualifiedBorrows": { - "type": ["null", "integer"] - }, - "addToListFromViews": { - "type": ["null", "integer"] - }, - "qualifiedBorrowsFromClicks": { - "type": ["null", "integer"] - }, - "qualifiedBorrowsFromViews": { - "type": ["null", "integer"] - }, - "royaltyQualifiedBorrowsFromClicks": { - "type": ["null", "integer"] - }, - "royaltyQualifiedBorrowsFromViews": { - "type": ["null", "integer"] - }, - "bidOptimization": { - "type": ["null", "string"] - }, - "brandedSearches": { - "type": ["null", "integer"] - }, - "brandedSearchesClicks": { - "type": ["null", "integer"] - }, - "brandedSearchesViews": { - "type": ["null", "integer"] - }, - "brandedSearchRate": { - "type": ["null", "number"] - }, - "campaignBudgetCurrencyCode": { - "type": ["null", "string"] - }, - "campaignId": { - "type": ["null", "integer"] - }, - "campaignName": { - "type": ["null", "string"] - }, - "clicks": { - "type": ["null", "integer"] - }, - "cost": { - "type": ["null", "number"] - }, - "cumulativeReach": { - "type": ["null", "string"] - }, - "detailPageViews": { - "type": ["null", "integer"] - }, - "detailPageViewsClicks": { - "type": ["null", "integer"] - }, - "eCPAddToCart": { - "type": ["null", "number"] - }, - "eCPBrandSearch": { - "type": ["null", "number"] - }, - "endDate": { - "type": ["null", "string"] - }, - "impressions": { - "type": ["null", "integer"] - }, - "impressionsFrequencyAverage": { - "type": ["null", "number"] - }, - "impressionsViews": { - "type": ["null", "integer"] - }, - "leadFormOpens": { - "type": ["null", "integer"] - }, - "leads": { - "type": ["null", "integer"] - }, - "linkOuts": { - "type": ["null", "integer"] - }, - "newToBrandDetailPageViewClicks": { - "type": ["null", "integer"] - }, - "newToBrandDetailPageViewRate": { - "type": ["null", "number"] - }, - "newToBrandDetailPageViews": { - "type": ["null", "integer"] - }, - "newToBrandDetailPageViewViews": { - "type": ["null", "integer"] - }, - "newToBrandECPDetailPageView": { - "type": ["null", "number"] - }, - "newToBrandPurchases": { - "type": ["null", "integer"] - }, - "newToBrandPurchasesClicks": { - "type": ["null", "integer"] - }, - "newToBrandSales": { - "type": ["null", "number"] - }, - "newToBrandSalesClicks": { - "type": ["null", "number"] - }, - "newToBrandUnitsSold": { - "type": ["null", "integer"] - }, - "newToBrandUnitsSoldClicks": { - "type": ["null", "integer"] - }, - "promotedAsin": { - "type": ["null", "string"] - }, - "promotedSku": { - "type": ["null", "string"] - }, - "purchases": { - "type": ["null", "integer"] - }, - "purchasesClicks": { - "type": ["null", "integer"] - }, - "purchasesPromotedClicks": { - "type": ["null", "integer"] - }, - "sales": { - "type": ["null", "number"] - }, - "salesClicks": { - "type": ["null", "number"] - }, - "salesPromotedClicks": { - "type": ["null", "number"] - }, - "startDate": { - "type": ["null", "string"] - }, - "unitsSold": { - "type": ["null", "integer"] - }, - "unitsSoldClicks": { - "type": ["null", "integer"] - }, - "videoCompleteViews": { - "type": ["null", "integer"] - }, - "videoFirstQuartileViews": { - "type": ["null", "integer"] - }, - "videoMidpointViews": { - "type": ["null", "integer"] - }, - "videoThirdQuartileViews": { - "type": ["null", "integer"] - }, - "videoUnmutes": { - "type": ["null", "integer"] - }, - "viewabilityRate": { - "type": ["null", "number"] - }, - "viewClickThroughRate": { - "type": ["null", "number"] - } - }, - "title": "sponsored_display_productads_report_stream", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_targetings.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_targetings.json deleted file mode 100644 index 86a1ddf5f5a6d..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_targetings.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "targetId": { "type": ["null", "number"] }, - "adGroupId": { "type": ["null", "number"] }, - "state": { "type": ["null", "string"] }, - "expressionType": { "type": ["null", "string"] }, - "bid": { "type": ["null", "number"] }, - "campaignId": { "type": ["null", "number"] }, - "expression": { - "type": "array", - "items": { "type": ["null", "object"], "additionalProperties": true } - }, - "resolvedExpression": { - "type": "array", - "items": { "type": ["null", "object"], "additionalProperties": true } - } - }, - "title": "sponsored_display_targetings", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_targets_report_stream.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_targets_report_stream.json deleted file mode 100644 index 336082c4e527c..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_display_targets_report_stream.json +++ /dev/null @@ -1,190 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "profileId": { - "type": ["null", "integer"] - }, - "reportDate": { - "type": ["null", "string"] - }, - "targetingId": { - "type": ["null", "integer"] - }, - "addToCart": { - "type": ["null", "integer"] - }, - "addToCartClicks": { - "type": ["null", "integer"] - }, - "addToCartRate": { - "type": ["null", "number"] - }, - "addToCartViews": { - "type": ["null", "integer"] - }, - "adGroupId": { - "type": ["null", "integer"] - }, - "adGroupName": { - "type": ["null", "string"] - }, - "addToList": { - "type": ["null", "integer"] - }, - "addToListFromClicks": { - "type": ["null", "integer"] - }, - "addToListFromViews": { - "type": ["null", "integer"] - }, - "qualifiedBorrows": { - "type": ["null", "integer"] - }, - "qualifiedBorrowsFromClicks": { - "type": ["null", "integer"] - }, - "qualifiedBorrowsFromViews": { - "type": ["null", "integer"] - }, - "royaltyQualifiedBorrows": { - "type": ["null", "integer"] - }, - "royaltyQualifiedBorrowsFromClicks": { - "type": ["null", "integer"] - }, - "royaltyQualifiedBorrowsFromViews": { - "type": ["null", "integer"] - }, - "brandedSearches": { - "type": ["null", "integer"] - }, - "brandedSearchesClicks": { - "type": ["null", "integer"] - }, - "brandedSearchesViews": { - "type": ["null", "integer"] - }, - "brandedSearchRate": { - "type": ["null", "number"] - }, - "campaignBudgetCurrencyCode": { - "type": ["null", "string"] - }, - "campaignId": { - "type": ["null", "integer"] - }, - "campaignName": { - "type": ["null", "string"] - }, - "clicks": { - "type": ["null", "integer"] - }, - "cost": { - "type": ["null", "number"] - }, - "detailPageViews": { - "type": ["null", "integer"] - }, - "detailPageViewsClicks": { - "type": ["null", "integer"] - }, - "eCPAddToCart": { - "type": ["null", "number"] - }, - "eCPBrandSearch": { - "type": ["null", "number"] - }, - "endDate": { - "type": ["null", "string"] - }, - "impressions": { - "type": ["null", "integer"] - }, - "impressionsViews": { - "type": ["null", "integer"] - }, - "leadFormOpens": { - "type": ["null", "integer"] - }, - "leads": { - "type": ["null", "integer"] - }, - "linkOuts": { - "type": ["null", "integer"] - }, - "newToBrandPurchases": { - "type": ["null", "integer"] - }, - "newToBrandPurchasesClicks": { - "type": ["null", "integer"] - }, - "newToBrandSales": { - "type": ["null", "number"] - }, - "newToBrandSalesClicks": { - "type": ["null", "number"] - }, - "newToBrandUnitsSold": { - "type": ["null", "integer"] - }, - "newToBrandUnitsSoldClicks": { - "type": ["null", "integer"] - }, - "purchases": { - "type": ["null", "integer"] - }, - "purchasesClicks": { - "type": ["null", "integer"] - }, - "purchasesPromotedClicks": { - "type": ["null", "integer"] - }, - "sales": { - "type": ["null", "number"] - }, - "salesClicks": { - "type": ["null", "number"] - }, - "salesPromotedClicks": { - "type": ["null", "number"] - }, - "startDate": { - "type": ["null", "string"] - }, - "targetingExpression": { - "type": ["null", "string"] - }, - "targetingText": { - "type": ["null", "string"] - }, - "unitsSold": { - "type": ["null", "integer"] - }, - "unitsSoldClicks": { - "type": ["null", "integer"] - }, - "videoCompleteViews": { - "type": ["null", "integer"] - }, - "videoFirstQuartileViews": { - "type": ["null", "integer"] - }, - "videoMidpointViews": { - "type": ["null", "integer"] - }, - "videoThirdQuartileViews": { - "type": ["null", "integer"] - }, - "videoUnmutes": { - "type": ["null", "integer"] - }, - "viewabilityRate": { - "type": ["null", "number"] - }, - "viewClickThroughRate": { - "type": ["null", "number"] - } - }, - "title": "sponsored_display_targets_report_stream", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_ad_group_bid_recommendations.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_ad_group_bid_recommendations.json deleted file mode 100644 index cb895d6c08e23..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_ad_group_bid_recommendations.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "adGroupId": { "type": ["null", "string"] }, - "campaignId": { "type": ["null", "string"] }, - "theme": { "type": ["null", "string"] }, - "bidRecommendationsForTargetingExpressions": { - "type": "array", - "items": { - "type": ["object", "null"], - "properties": { - "bidValues": { - "type": "array", - "items": { - "type": ["null", "object"], - "additionalProperties": true - } - }, - "targetingExpression": { - "type": ["null", "object"], - "additionalProperties": true - } - } - } - } - }, - "title": "sponsored_product_ad_group_bid_recommendations", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_ad_group_suggested_keywords.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_ad_group_suggested_keywords.json deleted file mode 100644 index 6a5afdb755de7..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_ad_group_suggested_keywords.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "adGroupId": { "type": ["null", "integer"] }, - "suggestedKeywords": { - "type": ["null", "array"], - "items": { - "type": ["object", "null"], - "properties": { - "keywordText": { "type": ["null", "string"] }, - "matchType": { "type": ["null", "string"] } - } - } - } - }, - "title": "sponsored_product_ad_group_suggested_keywords", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_ad_groups.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_ad_groups.json deleted file mode 100644 index 902592a5567f6..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_ad_groups.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "adGroupId": { "type": ["null", "string"] }, - "name": { "type": ["null", "string"] }, - "campaignId": { "type": ["null", "string"] }, - "defaultBid": { "type": ["null", "number"] }, - "state": { "type": ["null", "string"] }, - "extendedData": { "type": ["null", "object"] } - }, - "title": "sponsored_product_ad_groups", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_ads.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_ads.json deleted file mode 100644 index 8719813651c22..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_ads.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "adId": { "type": ["null", "string"] }, - "campaignId": { "type": ["null", "string"] }, - "customText": { "type": ["null", "string"] }, - "asin": { "type": ["null", "string"] }, - "state": { "type": ["null", "string"] }, - "sku": { "type": ["null", "string"] }, - "adGroupId": { "type": ["null", "string"] }, - "extendedData": { "type": ["null", "object"] } - }, - "title": "sponsored_product_ads", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_campaign_negative_keywords.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_campaign_negative_keywords.json deleted file mode 100644 index f8a439d82ec7e..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_campaign_negative_keywords.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "keywordId": { "type": ["null", "string"] }, - "campaignId": { "type": ["null", "string"] }, - "adGroupId": { "type": ["null", "number"] }, - "state": { "type": ["null", "string"] }, - "keywordText": { "type": ["null", "string"] }, - "extendedData": { "type": ["null", "object"] } - }, - "title": "sponsored_product_campaign_negative_keywords", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_campaigns.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_campaigns.json deleted file mode 100644 index a5864bfb9c11b..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_campaigns.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "portfolioId": { "type": ["null", "string"] }, - "campaignId": { "type": ["null", "string"] }, - "name": { "type": ["null", "string"] }, - "tags": { "type": ["null", "object"], "additionalProperties": true }, - "targetingType": { "type": ["null", "string"] }, - "state": { "type": ["null", "string"] }, - "dynamicBidding": { "type": ["null", "object"] }, - "startDate": { "type": ["null", "string"] }, - "endDate": { "type": ["null", "string"] }, - "budget": { "type": ["null", "object"] }, - "extendedData": { "type": ["null", "object"] } - }, - "title": "sponsored_product_campaigns", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_keywords.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_keywords.json deleted file mode 100644 index 9c1e8b7551450..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_keywords.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "keywordId": { "type": ["null", "string"] }, - "campaignId": { "type": ["null", "string"] }, - "adGroupId": { "type": ["null", "string"] }, - "state": { "type": ["null", "string"] }, - "keywordText": { "type": ["null", "string"] }, - "nativeLanguageLocale": { "type": ["null", "string"] }, - "extendedData": { "type": ["null", "object"] } - }, - "title": "sponsored_product_keywords", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_negative_keywords.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_negative_keywords.json deleted file mode 100644 index c1b847949b249..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_negative_keywords.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "keywordId": { "type": ["null", "string"] }, - "campaignId": { "type": ["null", "string"] }, - "adGroupId": { "type": ["null", "string"] }, - "state": { "type": ["null", "string"] }, - "keywordText": { "type": ["null", "string"] }, - "nativeLanguageLocale": { "type": ["null", "string"] }, - "extendedData": { "type": ["null", "object"] } - }, - "title": "sponsored_product_negative_keywords", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_targetings.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_targetings.json deleted file mode 100644 index bb206b1fba359..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_product_targetings.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "expression": { - "type": ["null", "array"], - "items": { "type": ["null", "object"], "additionalProperties": true } - }, - "targetId": { "type": ["null", "string"] }, - "resolvedExpression": { - "type": "array", - "items": { "type": ["null", "object"], "additionalProperties": true } - }, - "campaignId": { "type": ["null", "string"] }, - "expressionType": { "type": ["null", "string"] }, - "state": { "type": ["null", "string"] }, - "bid": { "type": ["null", "number"] }, - "adGroupId": { "type": ["null", "string"] }, - "extendedData": { "type": ["null", "object"] } - }, - "title": "sponsored_product_targetings", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_adgroups_report_stream.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_adgroups_report_stream.json deleted file mode 100644 index 840dd6ae43495..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_adgroups_report_stream.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "profileId": { - "type": ["null", "integer"] - }, - "reportDate": { - "type": ["null", "string"] - }, - "adGroupId": { - "type": ["null", "integer"] - }, - "campaignName": { - "type": ["null", "string"] - }, - "campaignId": { - "type": ["null", "integer"] - }, - "adGroupName": { - "type": ["null", "string"] - }, - "impressions": { - "type": ["null", "integer"] - }, - "clicks": { - "type": ["null", "integer"] - }, - "cost": { - "type": ["null", "number"] - }, - "purchases1d": { - "type": ["null", "integer"] - }, - "purchases7d": { - "type": ["null", "integer"] - }, - "purchases14d": { - "type": ["null", "integer"] - }, - "purchases30d": { - "type": ["null", "integer"] - }, - "purchasesSameSku1d": { - "type": ["null", "integer"] - }, - "purchasesSameSku7d": { - "type": ["null", "integer"] - }, - "purchasesSameSku14d": { - "type": ["null", "integer"] - }, - "purchasesSameSku30d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks1d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks7d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks14d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks30d": { - "type": ["null", "integer"] - }, - "sales1d": { - "type": ["null", "number"] - }, - "sales7d": { - "type": ["null", "number"] - }, - "sales14d": { - "type": ["null", "number"] - }, - "sales30d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku1d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku7d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku14d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku30d": { - "type": ["null", "number"] - }, - "unitsSoldSameSku1d": { - "type": ["null", "integer"] - }, - "unitsSoldSameSku7d": { - "type": ["null", "integer"] - }, - "unitsSoldSameSku14d": { - "type": ["null", "integer"] - }, - "unitsSoldSameSku30d": { - "type": ["null", "integer"] - } - }, - "title": "sponsored_products_adgroups_report_stream", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_asins_keywords_report_stream.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_asins_keywords_report_stream.json deleted file mode 100644 index 1402f5974420d..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_asins_keywords_report_stream.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "profileId": { - "type": ["null", "integer"] - }, - "reportDate": { - "type": ["null", "string"] - }, - "advertisedAsin": { - "type": ["null", "string"] - }, - "campaignName": { - "type": ["null", "string"] - }, - "campaignId": { - "type": ["null", "integer"] - }, - "adGroupName": { - "type": ["null", "string"] - }, - "adGroupId": { - "type": ["null", "integer"] - }, - "keywordId": { - "type": ["null", "integer"] - }, - "keyword": { - "type": ["null", "string"] - }, - "purchasedAsin": { - "type": ["null", "string"] - }, - "advertisedSku": { - "type": ["null", "string"] - }, - "campaignBudgetCurrencyCode": { - "type": ["null", "string"] - }, - "matchType": { - "type": ["null", "string"] - }, - "unitsSoldClicks1d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks7d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks14d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks30d": { - "type": ["null", "integer"] - }, - "unitsSoldOtherSku1d": { - "type": ["null", "integer"] - }, - "unitsSoldOtherSku7d": { - "type": ["null", "integer"] - }, - "unitsSoldOtherSku14d": { - "type": ["null", "integer"] - }, - "unitsSoldOtherSku30d": { - "type": ["null", "integer"] - }, - "salesOtherSku1d": { - "type": ["null", "number"] - }, - "salesOtherSku7d": { - "type": ["null", "number"] - }, - "salesOtherSku14d": { - "type": ["null", "number"] - }, - "salesOtherSku30d": { - "type": ["null", "number"] - } - }, - "title": "sponsored_products_asins_keywords_report_stream", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_asins_targets_report_stream.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_asins_targets_report_stream.json deleted file mode 100644 index 0d0245a6ef209..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_asins_targets_report_stream.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "profileId": { - "type": ["null", "integer"] - }, - "reportDate": { - "type": ["null", "string"] - }, - "advertisedAsin": { - "type": ["null", "string"] - }, - - "campaignName": { - "type": ["null", "string"] - }, - "campaignId": { - "type": ["null", "integer"] - }, - "adGroupName": { - "type": ["null", "string"] - }, - "adGroupId": { - "type": ["null", "integer"] - }, - "purchasedAsin": { - "type": ["null", "string"] - }, - "advertisedSku": { - "type": ["null", "string"] - }, - "campaignBudgetCurrencyCode": { - "type": ["null", "string"] - }, - "matchType": { - "type": ["null", "string"] - }, - "unitsSoldClicks1d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks7d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks14d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks30d": { - "type": ["null", "integer"] - }, - "unitsSoldOtherSku1d": { - "type": ["null", "integer"] - }, - "unitsSoldOtherSku7d": { - "type": ["null", "integer"] - }, - "unitsSoldOtherSku14d": { - "type": ["null", "integer"] - }, - "unitsSoldOtherSku30d": { - "type": ["null", "integer"] - }, - "salesOtherSku1d": { - "type": ["null", "number"] - }, - "salesOtherSku7d": { - "type": ["null", "number"] - }, - "salesOtherSku14d": { - "type": ["null", "number"] - }, - "salesOtherSku30d": { - "type": ["null", "number"] - }, - "keywordId": { - "type": ["null", "integer"] - }, - "targeting": { - "type": ["null", "string"] - }, - "keywordType": { - "type": ["null", "string"] - } - }, - "title": "sponsored_products_asins_targets_report_stream", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_campaigns_report_stream.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_campaigns_report_stream.json deleted file mode 100644 index 2fdd4bb6bde7d..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_campaigns_report_stream.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "profileId": { - "type": ["null", "integer"] - }, - "reportDate": { - "type": ["null", "string"] - }, - "campaignId": { - "type": ["null", "integer"] - }, - "campaignName": { - "type": ["null", "string"] - }, - "campaignStatus": { - "type": ["null", "string"] - }, - "campaignBudgetAmount": { - "type": ["null", "number"] - }, - "campaignRuleBasedBudgetAmount": { - "type": ["null", "number"] - }, - "campaignApplicableBudgetRuleId": { - "type": ["null", "string"] - }, - "campaignApplicableBudgetRuleName": { - "type": ["null", "string"] - }, - "impressions": { - "type": ["null", "integer"] - }, - "clicks": { - "type": ["null", "integer"] - }, - "cost": { - "type": ["null", "number"] - }, - "purchases1d": { - "type": ["null", "integer"] - }, - "purchases7d": { - "type": ["null", "integer"] - }, - "purchases14d": { - "type": ["null", "integer"] - }, - "purchases30d": { - "type": ["null", "integer"] - }, - "purchasesSameSku1d": { - "type": ["null", "integer"] - }, - "purchasesSameSku7d": { - "type": ["null", "integer"] - }, - "purchasesSameSku14d": { - "type": ["null", "integer"] - }, - "purchasesSameSku30d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks1d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks7d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks14d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks30d": { - "type": ["null", "integer"] - }, - "sales1d": { - "type": ["null", "number"] - }, - "sales7d": { - "type": ["null", "number"] - }, - "sales14d": { - "type": ["null", "number"] - }, - "sales30d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku1d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku7d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku14d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku30d": { - "type": ["null", "number"] - }, - "unitsSoldSameSku1d": { - "type": ["null", "integer"] - }, - "unitsSoldSameSku7d": { - "type": ["null", "integer"] - }, - "unitsSoldSameSku14d": { - "type": ["null", "integer"] - }, - "unitsSoldSameSku30d": { - "type": ["null", "integer"] - } - }, - "title": "sponsored_products_campaigns_report_stream", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_keywords_report_stream.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_keywords_report_stream.json deleted file mode 100644 index 8b937f9dc465c..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_keywords_report_stream.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "profileId": { - "type": ["null", "integer"] - }, - "reportDate": { - "type": ["null", "string"] - }, - "keywordId": { - "type": ["null", "integer"] - }, - "campaignName": { - "type": ["null", "string"] - }, - "campaignId": { - "type": ["null", "integer"] - }, - "adGroupName": { - "type": ["null", "string"] - }, - "adGroupId": { - "type": ["null", "integer"] - }, - "keyword": { - "type": ["null", "string"] - }, - "matchType": { - "type": ["null", "string"] - }, - "impressions": { - "type": ["null", "integer"] - }, - "clicks": { - "type": ["null", "integer"] - }, - "cost": { - "type": ["null", "number"] - }, - "purchases1d": { - "type": ["null", "integer"] - }, - "purchases7d": { - "type": ["null", "integer"] - }, - "purchases14d": { - "type": ["null", "integer"] - }, - "purchases30d": { - "type": ["null", "integer"] - }, - "purchasesSameSku1d": { - "type": ["null", "integer"] - }, - "purchasesSameSku7d": { - "type": ["null", "integer"] - }, - "purchasesSameSku14d": { - "type": ["null", "integer"] - }, - "purchasesSameSku30d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks1d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks7d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks14d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks30d": { - "type": ["null", "integer"] - }, - "sales1d": { - "type": ["null", "number"] - }, - "sales7d": { - "type": ["null", "number"] - }, - "sales14d": { - "type": ["null", "number"] - }, - "sales30d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku1d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku7d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku14d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku30d": { - "type": ["null", "number"] - }, - "unitsSoldSameSku1d": { - "type": ["null", "integer"] - }, - "unitsSoldSameSku7d": { - "type": ["null", "integer"] - }, - "unitsSoldSameSku14d": { - "type": ["null", "integer"] - }, - "unitsSoldSameSku30d": { - "type": ["null", "integer"] - } - }, - "title": "sponsored_products_keywords_report_stream", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_productads_report_stream.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_productads_report_stream.json deleted file mode 100644 index e9297ffebeedb..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_productads_report_stream.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "profileId": { - "type": ["null", "integer"] - }, - "reportDate": { - "type": ["null", "string"] - }, - "adId": { - "type": ["null", "integer"] - }, - - "campaignName": { - "type": ["null", "string"] - }, - "campaignId": { - "type": ["null", "integer"] - }, - "adGroupName": { - "type": ["null", "string"] - }, - "adGroupId": { - "type": ["null", "integer"] - }, - "impressions": { - "type": ["null", "integer"] - }, - "clicks": { - "type": ["null", "integer"] - }, - "cost": { - "type": ["null", "number"] - }, - "campaignBudgetCurrencyCode": { - "type": ["null", "string"] - }, - "advertisedAsin": { - "type": ["null", "string"] - }, - "purchases1d": { - "type": ["null", "integer"] - }, - "purchases7d": { - "type": ["null", "integer"] - }, - "purchases14d": { - "type": ["null", "integer"] - }, - "purchases30d": { - "type": ["null", "integer"] - }, - "purchasesSameSku1d": { - "type": ["null", "integer"] - }, - "purchasesSameSku7d": { - "type": ["null", "integer"] - }, - "purchasesSameSku14d": { - "type": ["null", "integer"] - }, - "purchasesSameSku30d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks1d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks7d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks14d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks30d": { - "type": ["null", "integer"] - }, - "sales1d": { - "type": ["null", "number"] - }, - "sales7d": { - "type": ["null", "number"] - }, - "sales14d": { - "type": ["null", "number"] - }, - "sales30d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku1d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku7d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku14d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku30d": { - "type": ["null", "number"] - }, - "unitsSoldSameSku1d": { - "type": ["null", "integer"] - }, - "unitsSoldSameSku7d": { - "type": ["null", "integer"] - }, - "unitsSoldSameSku14d": { - "type": ["null", "integer"] - }, - "unitsSoldSameSku30d": { - "type": ["null", "integer"] - } - }, - "title": "sponsored_products_productads_report_stream", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_targets_report_stream.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_targets_report_stream.json deleted file mode 100644 index a5817e284a452..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/schemas/sponsored_products_targets_report_stream.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "profileId": { - "type": ["null", "integer"] - }, - "reportDate": { - "type": ["null", "string"] - }, - "keywordId": { - "type": ["null", "integer"] - }, - - "campaignName": { - "type": ["null", "string"] - }, - "campaignId": { - "type": ["null", "integer"] - }, - "adGroupName": { - "type": ["null", "string"] - }, - "adGroupId": { - "type": ["null", "integer"] - }, - "keyword": { - "type": ["null", "string"] - }, - "targeting": { - "type": ["null", "string"] - }, - "keywordType": { - "type": ["null", "string"] - }, - "impressions": { - "type": ["null", "integer"] - }, - "clicks": { - "type": ["null", "integer"] - }, - "cost": { - "type": ["null", "number"] - }, - "purchases1d": { - "type": ["null", "integer"] - }, - "purchases7d": { - "type": ["null", "integer"] - }, - "purchases14d": { - "type": ["null", "integer"] - }, - "purchases30d": { - "type": ["null", "integer"] - }, - "purchasesSameSku1d": { - "type": ["null", "integer"] - }, - "purchasesSameSku7d": { - "type": ["null", "integer"] - }, - "purchasesSameSku14d": { - "type": ["null", "integer"] - }, - "purchasesSameSku30d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks1d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks7d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks14d": { - "type": ["null", "integer"] - }, - "unitsSoldClicks30d": { - "type": ["null", "integer"] - }, - "sales1d": { - "type": ["null", "number"] - }, - "sales7d": { - "type": ["null", "number"] - }, - "sales14d": { - "type": ["null", "number"] - }, - "sales30d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku1d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku7d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku14d": { - "type": ["null", "number"] - }, - "attributedSalesSameSku30d": { - "type": ["null", "number"] - }, - "unitsSoldSameSku1d": { - "type": ["null", "integer"] - }, - "unitsSoldSameSku7d": { - "type": ["null", "integer"] - }, - "unitsSoldSameSku14d": { - "type": ["null", "integer"] - }, - "unitsSoldSameSku30d": { - "type": ["null", "integer"] - } - }, - "title": "sponsored_products_targets_report_stream", - "type": ["null", "object"] -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/source.py b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/source.py deleted file mode 100644 index fb176db15b53f..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/source.py +++ /dev/null @@ -1,113 +0,0 @@ -# -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. -# - - -import logging -from typing import Any, List, Mapping, Optional, Tuple - -from airbyte_cdk import TState -from airbyte_cdk.models import ( - AdvancedAuth, - AuthFlowType, - ConfiguredAirbyteCatalog, - ConnectorSpecification, - OAuthConfigSpecification, - SyncMode, -) -from airbyte_cdk.sources.declarative.yaml_declarative_source import YamlDeclarativeSource -from airbyte_cdk.sources.types import Record - -from .spec import SourceAmazonAdsSpec - - -class SourceAmazonAds(YamlDeclarativeSource): - 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"}) - - def _validate_and_transform(self, config: Mapping[str, Any]) -> Mapping[str, Any]: - if not config.get("region"): - source_spec = self.spec(logging.getLogger("airbyte")) - config["region"] = source_spec.connectionSpecification["properties"]["region"]["default"] - if not config.get("look_back_window"): - source_spec = self.spec(logging.getLogger("airbyte")) - config["look_back_window"] = source_spec.connectionSpecification["properties"]["look_back_window"]["default"] - config["report_record_types"] = config.get("report_record_types", []) - return config - - def check_connection(self, logger: logging.Logger, config: Mapping[str, Any]) -> Tuple[bool, Optional[Any]]: - """ - :param config: the user-input config object conforming to the connector's spec.json - :param logger: logger object - :return Tuple[bool, any]: (True, None) if the input config can be used to connect to the API successfully, - (False, error) otherwise. - """ - try: - config = self._validate_and_transform(config) - except Exception as e: - return False, str(e) - # Check connection by sending list of profiles request. Its most simple - # request, not require additional parameters and usually has few data - # in response body. - # It doesn't support pagination so there is no sense of reading single - # record, it would fetch all the data anyway. - # TODO: how to get declarative stream profiles_filtered ?? - profile_stream = [x for x in self.streams(config) if x.name == "profiles"][0] - profiles_list = [x.data for x in profile_stream.read_records(SyncMode.full_refresh) if isinstance(x, Record)] - - filtered_profiles = self._choose_profiles(config, profiles_list) - if not filtered_profiles: - return False, ( - "No profiles with seller or vendor type found after filtering by Profile ID and Marketplace ID." - " If you have only agency profile, please use accounts associated with the profile of seller/vendor type." - ) - return True, None - - @staticmethod - def _choose_profiles(config: Mapping[str, Any], available_profiles: List[Mapping[str, Any]]): - requested_profiles = config.get("profiles", []) - requested_marketplace_ids = config.get("marketplace_ids", []) - if requested_profiles or requested_marketplace_ids: - return [ - profile - for profile in available_profiles - if profile["profileId"] in requested_profiles or profile["accountInfo"]["marketplaceStringId"] in requested_marketplace_ids - ] - return available_profiles - - def spec(self, logger: logging.Logger) -> ConnectorSpecification: - return ConnectorSpecification( - documentationUrl="https://docs.airbyte.com/integrations/sources/amazon-ads", - connectionSpecification=SourceAmazonAdsSpec.schema(), - supportsDBT=False, - advanced_auth=AdvancedAuth( - auth_flow_type=AuthFlowType.oauth2_0, - predicate_key=["auth_type"], - predicate_value="oauth2.0", - oauth_config_specification=OAuthConfigSpecification( - oauth_user_input_from_connector_config_specification={ - "type": "object", - "additionalProperties": False, - "properties": {"region": {"type": "string", "path_in_connector_config": ["region"]}}, - }, - complete_oauth_output_specification={ - "type": "object", - "additionalProperties": True, - "properties": {"refresh_token": {"type": "string", "path_in_connector_config": ["refresh_token"]}}, - }, - complete_oauth_server_input_specification={ - "type": "object", - "additionalProperties": True, - "properties": {"client_id": {"type": "string"}, "client_secret": {"type": "string"}}, - }, - complete_oauth_server_output_specification={ - "type": "object", - "additionalProperties": True, - "properties": { - "client_id": {"type": "string", "path_in_connector_config": ["client_id"]}, - "client_secret": {"type": "string", "path_in_connector_config": ["client_secret"]}, - }, - }, - ), - ), - ) diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/spec.json b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/spec.json deleted file mode 100644 index f131594106f33..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/spec.json +++ /dev/null @@ -1,173 +0,0 @@ -{ - "connectionSpecification": { - "title": "Source Amazon Ads", - "type": "object", - "properties": { - "auth_type": { - "title": "Auth Type", - "default": "oauth2.0", - "const": "oauth2.0", - "order": 0, - "type": "string" - }, - "client_id": { - "title": "Client ID", - "description": "The client ID of your Amazon Ads developer application. See the docs for more information.", - "airbyte_secret": true, - "order": 1, - "type": "string" - }, - "client_secret": { - "title": "Client Secret", - "description": "The client secret of your Amazon Ads developer application. See the docs for more information.", - "airbyte_secret": true, - "order": 2, - "type": "string" - }, - "refresh_token": { - "title": "Refresh Token", - "description": "Amazon Ads refresh token. See the docs for more information on how to obtain this token.", - "airbyte_secret": true, - "order": 3, - "type": "string" - }, - "region": { - "title": "Region", - "description": "Region to pull data from (EU/NA/FE). See docs for more details.", - "default": "NA", - "enum": ["NA", "EU", "FE"], - "order": 4, - "type": "string" - }, - "start_date": { - "title": "Start Date", - "description": "The Start date for collecting reports, should not be more than 60 days in the past. In YYYY-MM-DD format", - "examples": ["2022-10-10", "2022-10-22"], - "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$", - "order": 5, - "type": "string", - "format": "date" - }, - "profiles": { - "title": "Profile IDs", - "description": "Profile IDs you want to fetch data for. The Amazon Ads source connector supports only profiles with seller and vendor type, profiles with agency type will be ignored. See docs for more details. Note: If Marketplace IDs are also selected, profiles will be selected if they match the Profile ID OR the Marketplace ID.", - "order": 6, - "type": "array", - "items": { - "type": "integer" - } - }, - "marketplace_ids": { - "title": "Marketplace IDs", - "description": "Marketplace IDs you want to fetch data for. Note: If Profile IDs are also selected, profiles will be selected if they match the Profile ID OR the Marketplace ID.", - "order": 7, - "type": "array", - "items": { - "type": "string" - } - }, - "state_filter": { - "title": "State Filter", - "description": "Reflects the state of the Display, Product, and Brand Campaign streams as enabled, paused, or archived. If you do not populate this field, it will be ignored completely.", - "default": [], - "order": 8, - "type": "array", - "items": { - "title": "StateFilterEnum", - "description": "An enumeration.", - "enum": ["enabled", "paused", "archived"], - "type": "string" - }, - "uniqueItems": true - }, - "look_back_window": { - "title": "Look Back Window", - "description": "The amount of days to go back in time to get the updated data from Amazon Ads", - "default": 3, - "examples": [3, 10], - "order": 9, - "type": "integer" - }, - "report_record_types": { - "title": "Report Record Types", - "description": "Optional configuration which accepts an array of string of record types. Leave blank for default behaviour to pull all report types. Use this config option only if you want to pull specific report type(s). See docs for more details", - "default": [], - "order": 10, - "type": "array", - "items": { - "title": "ReportRecordTypeEnum", - "description": "An enumeration.", - "enum": [ - "adGroups", - "asins", - "asins_keywords", - "asins_targets", - "campaigns", - "keywords", - "productAds", - "targets" - ], - "type": "string" - }, - "uniqueItems": true - } - }, - "required": ["client_id", "client_secret", "refresh_token"] - }, - "documentationUrl": "https://docs.airbyte.com/integrations/sources/amazon-ads", - "supportsNormalization": false, - "supportsDBT": false, - "advanced_auth": { - "auth_flow_type": "oauth2.0", - "predicate_key": ["auth_type"], - "predicate_value": "oauth2.0", - "oauth_config_specification": { - "oauth_user_input_from_connector_config_specification": { - "type": "object", - "additionalProperties": false, - "properties": { - "region": { - "type": "string", - "path_in_connector_config": ["region"] - } - } - }, - "complete_oauth_output_specification": { - "type": "object", - "additionalProperties": true, - "properties": { - "refresh_token": { - "type": "string", - "path_in_connector_config": ["refresh_token"] - } - } - }, - "complete_oauth_server_input_specification": { - "type": "object", - "additionalProperties": true, - "properties": { - "client_id": { - "type": "string" - }, - "client_secret": { - "type": "string" - } - } - }, - "complete_oauth_server_output_specification": { - "type": "object", - "additionalProperties": true, - "properties": { - "client_id": { - "type": "string", - "path_in_connector_config": ["client_id"] - }, - "client_secret": { - "type": "string", - "path_in_connector_config": ["client_secret"] - } - } - } - } - } -} diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/spec.py b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/spec.py deleted file mode 100644 index d1b5ab1a3f107..0000000000000 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/spec.py +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright (c) 2024 Airbyte, Inc., all rights reserved. - - -from datetime import date -from typing import List, Optional - -from pydantic.v1 import Field - -from airbyte_cdk.sources.config import BaseConfig - - -class SourceAmazonAdsSpec(BaseConfig): - class Config: - title = "Source Amazon Ads" - use_enum_values = True - - auth_type: str = Field("oauth2.0", const=True, title="Auth Type", order=0) - client_id: str = Field( - ..., - description='The client ID of your Amazon Ads developer application. See the docs for more information.', - title="Client ID", - airbyte_secret=True, - order=1, - ) - client_secret: str = Field( - ..., - description='The client secret of your Amazon Ads developer application. See the docs for more information.', - title="Client Secret", - airbyte_secret=True, - order=2, - ) - refresh_token: str = Field( - ..., - description='Amazon Ads refresh token. See the docs for more information on how to obtain this token.', - title="Refresh Token", - airbyte_secret=True, - order=3, - ) - region: Optional[str] = Field( - "NA", - description='Region to pull data from (EU/NA/FE). See docs for more details.', - title="Region", - enum=["NA", "EU", "FE"], - order=4, - ) - start_date: Optional[date] = Field( - None, - description="The Start date for collecting reports, should not be more than 60 days in the past. In YYYY-MM-DD format", - examples=["2022-10-10", "2022-10-22"], - pattern="^[0-9]{4}-[0-9]{2}-[0-9]{2}$", - title="Start Date", - order=5, - ) - profiles: Optional[List[int]] = Field( - None, - description='Profile IDs you want to fetch data for. The Amazon Ads source connector supports only profiles with seller and vendor type, profiles with agency type will be ignored. See docs for more details. Note: If Marketplace IDs are also selected, profiles will be selected if they match the Profile ID OR the Marketplace ID.', - title="Profile IDs", - order=6, - ) - marketplace_ids: Optional[List[str]] = Field( - None, - description="Marketplace IDs you want to fetch data for. Note: If Profile IDs are also selected, profiles will be selected if they match the Profile ID OR the Marketplace ID.", - title="Marketplace IDs", - order=7, - ) - look_back_window: Optional[int] = Field( - 3, - description="The amount of days to go back in time to get the updated data from Amazon Ads", - examples=[3, 10], - title="Look Back Window", - order=8, - ) From 589f5875950172ca3e75653b3afec0fdd4cd3ab6 Mon Sep 17 00:00:00 2001 From: Tope Folorunso Date: Tue, 18 Mar 2025 10:20:26 +0100 Subject: [PATCH 2/4] fix manifest --- .../source-amazon-ads/manifest.yaml | 101 +++++++++++++----- 1 file changed, 75 insertions(+), 26 deletions(-) diff --git a/airbyte-integrations/connectors/source-amazon-ads/manifest.yaml b/airbyte-integrations/connectors/source-amazon-ads/manifest.yaml index f4cb97007b2c9..c6b33b945a8ad 100644 --- a/airbyte-integrations/connectors/source-amazon-ads/manifest.yaml +++ b/airbyte-integrations/connectors/source-amazon-ads/manifest.yaml @@ -1629,7 +1629,7 @@ definitions: "EU": "https://advertising-api-eu.amazon.com/", "FE": "https://advertising-api-fe.amazon.com/" } -%} {{ URL_MAPPING[config["region"]] - }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + }}/reporting/reports/{{ creation_response['id'] }} authenticator: type: OAuthAuthenticator client_id: "{{ config[\"client_id\"] }}" @@ -1660,7 +1660,7 @@ definitions: error. Please, retry the request or restart sync. download_requester: type: HttpRequester - url_base: test_base/{{stream_slice.extra_fields['url']}} + url_base: test_base/{{ download_target }} http_method: GET primary_key: - profileId @@ -1873,7 +1873,7 @@ definitions: "EU": "https://advertising-api-eu.amazon.com/", "FE": "https://advertising-api-fe.amazon.com/" } -%} {{ URL_MAPPING[config["region"]] - }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + }}/reporting/reports/{{ creation_response['id'] }} authenticator: type: OAuthAuthenticator client_id: "{{ config[\"client_id\"] }}" @@ -1904,7 +1904,7 @@ definitions: error. Please, retry the request or restart sync. download_requester: type: HttpRequester - url_base: test_base/{{stream_slice.extra_fields['url']}} + url_base: test_base/{{ download_target }} http_method: GET primary_key: - profileId @@ -2116,7 +2116,7 @@ definitions: "EU": "https://advertising-api-eu.amazon.com/", "FE": "https://advertising-api-fe.amazon.com/" } -%} {{ URL_MAPPING[config["region"]] - }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + }}/reporting/reports/{{ creation_response['id'] }} authenticator: type: OAuthAuthenticator client_id: "{{ config[\"client_id\"] }}" @@ -2147,7 +2147,7 @@ definitions: error. Please, retry the request or restart sync. download_requester: type: HttpRequester - url_base: test_base/{{stream_slice.extra_fields['url']}} + url_base: test_base/{{ download_target }} http_method: GET primary_key: - profileId @@ -2363,7 +2363,7 @@ definitions: "EU": "https://advertising-api-eu.amazon.com/", "FE": "https://advertising-api-fe.amazon.com/" } -%} {{ URL_MAPPING[config["region"]] - }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + }}/reporting/reports/{{ creation_response['id'] }} authenticator: type: OAuthAuthenticator client_id: "{{ config[\"client_id\"] }}" @@ -2394,7 +2394,7 @@ definitions: error. Please, retry the request or restart sync. download_requester: type: HttpRequester - url_base: test_base/{{stream_slice.extra_fields['url']}} + url_base: test_base/{{ download_target }} http_method: GET primary_key: - profileId @@ -2602,7 +2602,7 @@ definitions: "EU": "https://advertising-api-eu.amazon.com/", "FE": "https://advertising-api-fe.amazon.com/" } -%} {{ URL_MAPPING[config["region"]] - }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + }}/reporting/reports/{{ creation_response['id'] }} authenticator: type: OAuthAuthenticator client_id: "{{ config[\"client_id\"] }}" @@ -2633,7 +2633,7 @@ definitions: error. Please, retry the request or restart sync. download_requester: type: HttpRequester - url_base: test_base/{{stream_slice.extra_fields['url']}} + url_base: test_base/{{ download_target }} http_method: GET primary_key: - profileId @@ -2807,7 +2807,7 @@ definitions: "EU": "https://advertising-api-eu.amazon.com/", "FE": "https://advertising-api-fe.amazon.com/" } -%} {{ URL_MAPPING[config["region"]] - }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + }}/reporting/reports/{{ creation_response['id'] }} authenticator: type: OAuthAuthenticator client_id: "{{ config[\"client_id\"] }}" @@ -2838,7 +2838,7 @@ definitions: error. Please, retry the request or restart sync. download_requester: type: HttpRequester - url_base: test_base/{{stream_slice.extra_fields['url']}} + url_base: test_base/{{ download_target }} http_method: GET primary_key: - profileId @@ -3021,7 +3021,7 @@ definitions: "EU": "https://advertising-api-eu.amazon.com/", "FE": "https://advertising-api-fe.amazon.com/" } -%} {{ URL_MAPPING[config["region"]] - }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + }}/reporting/reports/{{ creation_response['id'] }} authenticator: type: OAuthAuthenticator client_id: "{{ config[\"client_id\"] }}" @@ -3052,7 +3052,7 @@ definitions: error. Please, retry the request or restart sync. download_requester: type: HttpRequester - url_base: test_base/{{stream_slice.extra_fields['url']}} + url_base: test_base/{{ download_target }} http_method: GET primary_key: - profileId @@ -3232,7 +3232,7 @@ definitions: "EU": "https://advertising-api-eu.amazon.com/", "FE": "https://advertising-api-fe.amazon.com/" } -%} {{ URL_MAPPING[config["region"]] - }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + }}/reporting/reports/{{ creation_response['id'] }} authenticator: type: OAuthAuthenticator client_id: "{{ config[\"client_id\"] }}" @@ -3263,7 +3263,7 @@ definitions: error. Please, retry the request or restart sync. download_requester: type: HttpRequester - url_base: test_base/{{stream_slice.extra_fields['url']}} + url_base: test_base/{{ download_target }} http_method: GET primary_key: - profileId @@ -3451,7 +3451,7 @@ definitions: "EU": "https://advertising-api-eu.amazon.com/", "FE": "https://advertising-api-fe.amazon.com/" } -%} {{ URL_MAPPING[config["region"]] - }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + }}/reporting/reports/{{ creation_response['id'] }} authenticator: type: OAuthAuthenticator client_id: "{{ config[\"client_id\"] }}" @@ -3482,7 +3482,7 @@ definitions: error. Please, retry the request or restart sync. download_requester: type: HttpRequester - url_base: test_base/{{stream_slice.extra_fields['url']}} + url_base: test_base/{{ download_target }} http_method: GET primary_key: - profileId @@ -3670,7 +3670,7 @@ definitions: "EU": "https://advertising-api-eu.amazon.com/", "FE": "https://advertising-api-fe.amazon.com/" } -%} {{ URL_MAPPING[config["region"]] - }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + }}/reporting/reports/{{ creation_response['id'] }} authenticator: type: OAuthAuthenticator client_id: "{{ config[\"client_id\"] }}" @@ -3701,7 +3701,7 @@ definitions: error. Please, retry the request or restart sync. download_requester: type: HttpRequester - url_base: test_base/{{stream_slice.extra_fields['url']}} + url_base: test_base/{{ download_target }} http_method: GET primary_key: - profileId @@ -3884,7 +3884,7 @@ definitions: "EU": "https://advertising-api-eu.amazon.com/", "FE": "https://advertising-api-fe.amazon.com/" } -%} {{ URL_MAPPING[config["region"]] - }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + }}/reporting/reports/{{ creation_response['id'] }} authenticator: type: OAuthAuthenticator client_id: "{{ config[\"client_id\"] }}" @@ -3915,7 +3915,7 @@ definitions: error. Please, retry the request or restart sync. download_requester: type: HttpRequester - url_base: test_base/{{stream_slice.extra_fields['url']}} + url_base: test_base/{{ download_target }} http_method: GET primary_key: - profileId @@ -4087,7 +4087,7 @@ definitions: "EU": "https://advertising-api-eu.amazon.com/", "FE": "https://advertising-api-fe.amazon.com/" } -%} {{ URL_MAPPING[config["region"]] - }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + }}/reporting/reports/{{ creation_response['id'] }} authenticator: type: OAuthAuthenticator client_id: "{{ config[\"client_id\"] }}" @@ -4118,7 +4118,7 @@ definitions: error. Please, retry the request or restart sync. download_requester: type: HttpRequester - url_base: test_base/{{stream_slice.extra_fields['url']}} + url_base: test_base/{{ download_target }} http_method: GET primary_key: - profileId @@ -4291,7 +4291,7 @@ definitions: "EU": "https://advertising-api-eu.amazon.com/", "FE": "https://advertising-api-fe.amazon.com/" } -%} {{ URL_MAPPING[config["region"]] - }}/reporting/reports/{{stream_slice['create_job_response'].json()['reportId']}} + }}/reporting/reports/{{ creation_response['id'] }} authenticator: type: OAuthAuthenticator client_id: "{{ config[\"client_id\"] }}" @@ -4322,7 +4322,7 @@ definitions: error. Please, retry the request or restart sync. download_requester: type: HttpRequester - url_base: test_base/{{stream_slice.extra_fields['url']}} + url_base: test_base/{{ download_target }} http_method: GET primary_key: - profileId @@ -4574,6 +4574,50 @@ spec: default: [] uniqueItems: true additionalProperties: true + supportsNormalization: false + supportsDBT: false + advanced_auth: + auth_flow_type: oauth2.0 + predicate_key: + - auth_type + predicate_value: oauth2.0 + oauth_config_specification: + oauth_user_input_from_connector_config_specification: + type: object + additionalProperties: false + properties: + region: + type: string + path_in_connector_config: + - region + complete_oauth_output_specification: + type: object + additionalProperties: true + properties: + refresh_token: + type: string + path_in_connector_config: + - refresh_token + complete_oauth_server_input_specification: + type: object + additionalProperties: true + properties: + client_id: + type: string + client_secret: + type: string + complete_oauth_server_output_specification: + type: object + additionalProperties: true + properties: + client_id: + type: string + path_in_connector_config: + - client_id + client_secret: + type: string + path_in_connector_config: + - client_secret metadata: autoImportSchema: @@ -8523,3 +8567,8 @@ schemas: - string title: sponsored_products_asins_targets_report_stream additionalProperties: true + +concurrency_level: + type: ConcurrencyLevel + default_concurrency: 10 + max_concurrency: 10 From 223da884265d8a5deefe540c54d28854664c7b6f Mon Sep 17 00:00:00 2001 From: Tope Folorunso Date: Tue, 18 Mar 2025 10:25:15 +0100 Subject: [PATCH 3/4] bump version --- airbyte-integrations/connectors/source-amazon-ads/metadata.yaml | 2 +- docs/integrations/sources/amazon-ads.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/airbyte-integrations/connectors/source-amazon-ads/metadata.yaml b/airbyte-integrations/connectors/source-amazon-ads/metadata.yaml index 3dadaf6bed54f..b644e35437f43 100644 --- a/airbyte-integrations/connectors/source-amazon-ads/metadata.yaml +++ b/airbyte-integrations/connectors/source-amazon-ads/metadata.yaml @@ -14,7 +14,7 @@ data: connectorSubtype: api connectorType: source definitionId: c6b0a29e-1da9-4512-9002-7bfd0cba2246 - dockerImageTag: 7.1.3 + dockerImageTag: 7.2.0 dockerRepository: airbyte/source-amazon-ads documentationUrl: https://docs.airbyte.com/integrations/sources/amazon-ads githubIssueLabel: source-amazon-ads diff --git a/docs/integrations/sources/amazon-ads.md b/docs/integrations/sources/amazon-ads.md index cf7c332f7a9ff..d2c5b1cefacb5 100644 --- a/docs/integrations/sources/amazon-ads.md +++ b/docs/integrations/sources/amazon-ads.md @@ -153,6 +153,7 @@ Information about expected report generation waiting time can be found [here](ht | Version | Date | Pull Request | Subject | |:--------|:-----------|:---------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 7.2.0 | 2025-03-18 | [55814](https://github.com/airbytehq/airbyte/pull/55814) | Migrate to Manifest Only | | 7.1.3 | 2025-03-08 | [55352](https://github.com/airbytehq/airbyte/pull/55352) | Update dependencies | | 7.1.2 | 2025-02-24 | [53692](https://github.com/airbytehq/airbyte/pull/53692) | Added handling 401 error for Polling Requester | | 7.1.1 | 2025-03-01 | [54895](https://github.com/airbytehq/airbyte/pull/54895) | Update dependencies | From 0d0740cb2754cb102cf925f074ad82a7cdca6d0b Mon Sep 17 00:00:00 2001 From: Octavia Squidington III Date: Tue, 18 Mar 2025 09:27:26 +0000 Subject: [PATCH 4/4] chore: auto-fix lint and format issues --- .../connectors/source-amazon-ads/metadata.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/airbyte-integrations/connectors/source-amazon-ads/metadata.yaml b/airbyte-integrations/connectors/source-amazon-ads/metadata.yaml index b644e35437f43..de2d0ed001e78 100644 --- a/airbyte-integrations/connectors/source-amazon-ads/metadata.yaml +++ b/airbyte-integrations/connectors/source-amazon-ads/metadata.yaml @@ -9,8 +9,7 @@ data: - advertising-api-eu.amazon.com - advertising-api-fe.amazon.com connectorBuildOptions: - baseImage: - docker.io/airbyte/source-declarative-manifest:6.41.1@sha256:f256b6f008ec07a37e3e6bce3ada17bec4197c1bc66c41c4b756980c8cb587ac + baseImage: docker.io/airbyte/source-declarative-manifest:6.41.1@sha256:f256b6f008ec07a37e3e6bce3ada17bec4197c1bc66c41c4b756980c8cb587ac connectorSubtype: api connectorType: source definitionId: c6b0a29e-1da9-4512-9002-7bfd0cba2246