ingestr 0.10.0rc5__tar.gz → 0.10.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ingestr might be problematic. Click here for more details.
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/PKG-INFO +1 -1
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/main.py +20 -3
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/adjust/__init__.py +1 -1
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/filters.py +0 -2
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/sources.py +11 -6
- ingestr-0.10.1/ingestr/src/version.py +1 -0
- ingestr-0.10.0rc5/ingestr/src/version.py +0 -1
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/.dockerignore +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/.github/workflows/deploy-docs.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/.github/workflows/tests.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/.gitignore +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/.python-version +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/.vale.ini +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/Dockerfile +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/LICENSE.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/Makefile +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/README.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/.vitepress/config.mjs +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/.vitepress/theme/custom.css +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/.vitepress/theme/index.js +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/commands/example-uris.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/commands/ingest.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/getting-started/core-concepts.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/getting-started/incremental-loading.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/getting-started/quickstart.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/getting-started/telemetry.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/index.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/adjust.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/airtable.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/appsflyer.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/bigquery.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/chess.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/csv.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/databricks.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/duckdb.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/facebook-ads.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/gorgias.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/gsheets.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/hubspot.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/kafka.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/klaviyo.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/mongodb.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/mssql.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/mysql.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/notion.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/oracle.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/postgres.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/redshift.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/s3.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/sap-hana.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/shopify.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/slack.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/snowflake.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/sqlite.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/stripe.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/docs/supported-sources/zendesk.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/.gitignore +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/adjust/adjust_helpers.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/airtable/__init__.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/appsflyer/_init_.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/appsflyer/client.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/arrow/__init__.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/chess/__init__.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/chess/helpers.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/chess/settings.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/destinations.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/facebook_ads/__init__.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/facebook_ads/exceptions.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/facebook_ads/helpers.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/facebook_ads/settings.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/factory.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/filesystem/__init__.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/filesystem/helpers.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/filesystem/readers.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/google_sheets/README.md +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/google_sheets/__init__.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/google_sheets/helpers/__init__.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/google_sheets/helpers/api_calls.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/google_sheets/helpers/data_processing.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/gorgias/__init__.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/gorgias/helpers.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/hubspot/__init__.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/hubspot/helpers.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/hubspot/settings.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/kafka/__init__.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/kafka/helpers.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/klaviyo/_init_.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/klaviyo/client.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/klaviyo/helpers.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/mongodb/__init__.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/mongodb/helpers.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/notion/__init__.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/notion/helpers/__init__.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/notion/helpers/client.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/notion/helpers/database.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/notion/settings.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/shopify/__init__.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/shopify/exceptions.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/shopify/helpers.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/shopify/settings.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/slack/__init__.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/slack/helpers.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/slack/settings.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/stripe_analytics/__init__.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/stripe_analytics/helpers.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/stripe_analytics/settings.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/table_definition.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/telemetry/event.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/testdata/fakebqcredentials.json +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/zendesk/__init__.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/zendesk/helpers/__init__.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/zendesk/helpers/api_helpers.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/zendesk/helpers/credentials.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/zendesk/helpers/talk_api.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/src/zendesk/settings.py +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/testdata/.gitignore +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/testdata/create_replace.csv +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/testdata/delete_insert_expected.csv +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/testdata/delete_insert_part1.csv +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/testdata/delete_insert_part2.csv +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/testdata/merge_expected.csv +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/testdata/merge_part1.csv +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/ingestr/testdata/merge_part2.csv +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/package-lock.json +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/package.json +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/pyproject.toml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/requirements-dev.txt +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/requirements.txt +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/resources/demo.gif +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/resources/demo.tape +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/resources/ingestr.svg +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/AMPM.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Acronyms.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Colons.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Contractions.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/DateFormat.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Ellipses.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/EmDash.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Exclamation.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/FirstPerson.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Gender.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/GenderBias.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/HeadingPunctuation.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Headings.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Latin.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/LyHyphens.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/OptionalPlurals.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Ordinal.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/OxfordComma.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Parens.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Passive.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Periods.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Quotes.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Ranges.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Semicolons.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Slang.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Spacing.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Spelling.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Units.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/We.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/Will.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/WordList.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/meta.json +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/Google/vocab.txt +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/bruin/Ingestr.yml +0 -0
- {ingestr-0.10.0rc5 → ingestr-0.10.1}/styles/config/vocabularies/bruin/accept.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: ingestr
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.1
|
|
4
4
|
Summary: ingestr is a command-line application that ingests data from various sources and stores them in any database.
|
|
5
5
|
Project-URL: Homepage, https://github.com/bruin-data/ingestr
|
|
6
6
|
Project-URL: Issues, https://github.com/bruin-data/ingestr/issues
|
|
@@ -348,6 +348,14 @@ def ingest(
|
|
|
348
348
|
)
|
|
349
349
|
raise typer.Abort()
|
|
350
350
|
|
|
351
|
+
def run_on_resource(source, executable):
|
|
352
|
+
if hasattr(source, "selected_resources") and source.selected_resources:
|
|
353
|
+
resource_names = list(source.selected_resources.keys())
|
|
354
|
+
for res in resource_names:
|
|
355
|
+
executable(source.resources[res])
|
|
356
|
+
else:
|
|
357
|
+
executable(source)
|
|
358
|
+
|
|
351
359
|
track(
|
|
352
360
|
"command_triggered",
|
|
353
361
|
{
|
|
@@ -487,10 +495,20 @@ def ingest(
|
|
|
487
495
|
sql_exclude_columns=sql_exclude_columns,
|
|
488
496
|
)
|
|
489
497
|
|
|
490
|
-
dlt_source.add_map(cast_set_to_list)
|
|
498
|
+
run_on_resource(dlt_source, lambda x: x.add_map(cast_set_to_list))
|
|
499
|
+
|
|
500
|
+
def col_h(x):
|
|
501
|
+
if column_hints:
|
|
502
|
+
x.apply_hints(columns=column_hints)
|
|
503
|
+
|
|
504
|
+
run_on_resource(dlt_source, col_h)
|
|
491
505
|
|
|
492
506
|
if original_incremental_strategy == IncrementalStrategy.delete_insert:
|
|
493
|
-
|
|
507
|
+
|
|
508
|
+
def set_primary_key(x):
|
|
509
|
+
x.incremental.primary_key = ()
|
|
510
|
+
|
|
511
|
+
run_on_resource(dlt_source, set_primary_key)
|
|
494
512
|
|
|
495
513
|
if (
|
|
496
514
|
factory.destination_scheme in PARQUET_SUPPORTED_DESTINATIONS
|
|
@@ -522,7 +540,6 @@ def ingest(
|
|
|
522
540
|
loader_file_format=(
|
|
523
541
|
loader_file_format.value if loader_file_format is not None else None # type: ignore
|
|
524
542
|
), # type: ignore
|
|
525
|
-
columns=column_hints,
|
|
526
543
|
)
|
|
527
544
|
|
|
528
545
|
report_errors(run_info)
|
|
@@ -82,7 +82,7 @@ def adjust_source(
|
|
|
82
82
|
type_hints[metric] = KNOWN_TYPE_HINTS[metric]
|
|
83
83
|
|
|
84
84
|
@dlt.resource(
|
|
85
|
-
write_disposition={"disposition": "merge", "strategy": "delete
|
|
85
|
+
write_disposition={"disposition": "merge", "strategy": "delete-insert"},
|
|
86
86
|
merge_key=merge_key,
|
|
87
87
|
primary_key=dimensions,
|
|
88
88
|
columns=type_hints,
|
|
@@ -11,8 +11,6 @@ def cast_set_to_list(row):
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def table_adapter_exclude_columns(cols: list[str]):
|
|
14
|
-
print("given cols", cols)
|
|
15
|
-
|
|
16
14
|
def excluder(table: Table):
|
|
17
15
|
cols_to_remove = [col for col in table._columns if col.name in cols] # type: ignore
|
|
18
16
|
for col in cols_to_remove:
|
|
@@ -76,14 +76,17 @@ class SqlSource:
|
|
|
76
76
|
if kwargs.get("sql_limit"):
|
|
77
77
|
|
|
78
78
|
def query_adapter_callback(query, table):
|
|
79
|
-
|
|
79
|
+
query = query.limit(kwargs.get("sql_limit"))
|
|
80
|
+
if kwargs.get("incremental_key"):
|
|
81
|
+
query = query.order_by(kwargs.get("incremental_key"))
|
|
82
|
+
return query
|
|
80
83
|
|
|
81
84
|
def type_adapter_callback(sql_type):
|
|
82
85
|
if isinstance(sql_type, mysql.SET):
|
|
83
86
|
return sa.JSON
|
|
84
87
|
return sql_type
|
|
85
88
|
|
|
86
|
-
|
|
89
|
+
builder_res = self.table_builder(
|
|
87
90
|
credentials=ConnectionStringCredentials(uri),
|
|
88
91
|
schema=table_fields.dataset,
|
|
89
92
|
table=table_fields.table,
|
|
@@ -98,7 +101,7 @@ class SqlSource:
|
|
|
98
101
|
),
|
|
99
102
|
)
|
|
100
103
|
|
|
101
|
-
return
|
|
104
|
+
return builder_res
|
|
102
105
|
|
|
103
106
|
|
|
104
107
|
class ArrowMemoryMappedSource:
|
|
@@ -744,7 +747,7 @@ class KafkaSource:
|
|
|
744
747
|
|
|
745
748
|
class AdjustSource:
|
|
746
749
|
def handles_incrementality(self) -> bool:
|
|
747
|
-
return
|
|
750
|
+
return True
|
|
748
751
|
|
|
749
752
|
def dlt_source(self, uri: str, table: str, **kwargs):
|
|
750
753
|
if kwargs.get("incremental_key") and not table.startswith("custom:"):
|
|
@@ -806,7 +809,7 @@ class AdjustSource:
|
|
|
806
809
|
filters_raw = fields[3]
|
|
807
810
|
filters = parse_filters(filters_raw)
|
|
808
811
|
|
|
809
|
-
|
|
812
|
+
src = adjust_source(
|
|
810
813
|
start_date=start_date,
|
|
811
814
|
end_date=end_date,
|
|
812
815
|
api_key=api_key[0],
|
|
@@ -814,7 +817,9 @@ class AdjustSource:
|
|
|
814
817
|
metrics=metrics,
|
|
815
818
|
merge_key=kwargs.get("merge_key"),
|
|
816
819
|
filters=filters,
|
|
817
|
-
)
|
|
820
|
+
)
|
|
821
|
+
|
|
822
|
+
return src.with_resources(table)
|
|
818
823
|
|
|
819
824
|
|
|
820
825
|
class AppsflyerSource:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.10.1"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.10.0rc5"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|