ingestr 0.10.0rc4__tar.gz → 0.10.0rc5__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.
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/.gitignore +1 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/PKG-INFO +1 -1
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/main.py +15 -3
- ingestr-0.10.0rc5/ingestr/src/filters.py +21 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/sources.py +4 -0
- ingestr-0.10.0rc5/ingestr/src/version.py +1 -0
- ingestr-0.10.0rc4/ingestr/src/filters.py +0 -7
- ingestr-0.10.0rc4/ingestr/src/version.py +0 -1
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/.dockerignore +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/.github/workflows/deploy-docs.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/.github/workflows/tests.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/.python-version +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/.vale.ini +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/Dockerfile +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/LICENSE.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/Makefile +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/README.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/.vitepress/config.mjs +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/.vitepress/theme/custom.css +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/.vitepress/theme/index.js +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/commands/example-uris.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/commands/ingest.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/getting-started/core-concepts.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/getting-started/incremental-loading.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/getting-started/quickstart.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/getting-started/telemetry.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/index.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/adjust.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/airtable.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/appsflyer.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/bigquery.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/chess.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/csv.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/databricks.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/duckdb.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/facebook-ads.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/gorgias.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/gsheets.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/hubspot.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/kafka.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/klaviyo.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/mongodb.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/mssql.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/mysql.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/notion.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/oracle.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/postgres.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/redshift.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/s3.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/sap-hana.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/shopify.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/slack.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/snowflake.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/sqlite.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/stripe.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/docs/supported-sources/zendesk.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/.gitignore +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/adjust/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/adjust/adjust_helpers.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/airtable/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/appsflyer/_init_.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/appsflyer/client.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/arrow/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/chess/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/chess/helpers.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/chess/settings.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/destinations.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/facebook_ads/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/facebook_ads/exceptions.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/facebook_ads/helpers.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/facebook_ads/settings.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/factory.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/filesystem/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/filesystem/helpers.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/filesystem/readers.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/google_sheets/README.md +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/google_sheets/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/google_sheets/helpers/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/google_sheets/helpers/api_calls.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/google_sheets/helpers/data_processing.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/gorgias/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/gorgias/helpers.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/hubspot/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/hubspot/helpers.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/hubspot/settings.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/kafka/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/kafka/helpers.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/klaviyo/_init_.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/klaviyo/client.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/klaviyo/helpers.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/mongodb/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/mongodb/helpers.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/notion/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/notion/helpers/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/notion/helpers/client.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/notion/helpers/database.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/notion/settings.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/shopify/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/shopify/exceptions.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/shopify/helpers.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/shopify/settings.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/slack/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/slack/helpers.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/slack/settings.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/stripe_analytics/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/stripe_analytics/helpers.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/stripe_analytics/settings.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/table_definition.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/telemetry/event.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/testdata/fakebqcredentials.json +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/zendesk/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/zendesk/helpers/__init__.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/zendesk/helpers/api_helpers.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/zendesk/helpers/credentials.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/zendesk/helpers/talk_api.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/zendesk/settings.py +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/testdata/.gitignore +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/testdata/create_replace.csv +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/testdata/delete_insert_expected.csv +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/testdata/delete_insert_part1.csv +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/testdata/delete_insert_part2.csv +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/testdata/merge_expected.csv +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/testdata/merge_part1.csv +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/testdata/merge_part2.csv +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/package-lock.json +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/package.json +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/pyproject.toml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/requirements-dev.txt +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/requirements.txt +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/resources/demo.gif +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/resources/demo.tape +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/resources/ingestr.svg +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/AMPM.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Acronyms.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Colons.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Contractions.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/DateFormat.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Ellipses.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/EmDash.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Exclamation.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/FirstPerson.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Gender.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/GenderBias.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/HeadingPunctuation.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Headings.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Latin.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/LyHyphens.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/OptionalPlurals.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Ordinal.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/OxfordComma.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Parens.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Passive.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Periods.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Quotes.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Ranges.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Semicolons.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Slang.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Spacing.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Spelling.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Units.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/We.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/Will.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/WordList.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/meta.json +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/Google/vocab.txt +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/styles/bruin/Ingestr.yml +0 -0
- {ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/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.0rc5
|
|
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
|
|
@@ -280,6 +280,13 @@ def ingest(
|
|
|
280
280
|
envvar="SQL_LIMIT",
|
|
281
281
|
),
|
|
282
282
|
] = None, # type: ignore
|
|
283
|
+
sql_exclude_columns: Annotated[
|
|
284
|
+
Optional[list[str]],
|
|
285
|
+
typer.Option(
|
|
286
|
+
help="The columns to exclude from the source table",
|
|
287
|
+
envvar="SQL_EXCLUDE_COLUMNS",
|
|
288
|
+
),
|
|
289
|
+
] = [], # type: ignore
|
|
283
290
|
):
|
|
284
291
|
import hashlib
|
|
285
292
|
import tempfile
|
|
@@ -348,6 +355,13 @@ def ingest(
|
|
|
348
355
|
},
|
|
349
356
|
)
|
|
350
357
|
|
|
358
|
+
clean_sql_exclude_columns = []
|
|
359
|
+
if sql_exclude_columns:
|
|
360
|
+
for col in sql_exclude_columns:
|
|
361
|
+
for possible_col in col.split(","):
|
|
362
|
+
clean_sql_exclude_columns.append(possible_col.strip())
|
|
363
|
+
sql_exclude_columns = clean_sql_exclude_columns
|
|
364
|
+
|
|
351
365
|
dlt.config["data_writer.buffer_max_items"] = page_size
|
|
352
366
|
dlt.config["data_writer.file_max_items"] = loader_file_size
|
|
353
367
|
dlt.config["extract.workers"] = extract_parallelism
|
|
@@ -459,9 +473,6 @@ def ingest(
|
|
|
459
473
|
if factory.source_scheme == "sqlite":
|
|
460
474
|
source_table = "main." + source_table.split(".")[-1]
|
|
461
475
|
|
|
462
|
-
if factory.destination_scheme == "bigquery" and loader_file_format is LoaderFileFormat.parquet:
|
|
463
|
-
dlt.config["destination.bigquery.autodetect_schema"] = True
|
|
464
|
-
|
|
465
476
|
dlt_source = source.dlt_source(
|
|
466
477
|
uri=source_uri,
|
|
467
478
|
table=source_table,
|
|
@@ -473,6 +484,7 @@ def ingest(
|
|
|
473
484
|
page_size=page_size,
|
|
474
485
|
sql_reflection_level=sql_reflection_level.value,
|
|
475
486
|
sql_limit=sql_limit,
|
|
487
|
+
sql_exclude_columns=sql_exclude_columns,
|
|
476
488
|
)
|
|
477
489
|
|
|
478
490
|
dlt_source.add_map(cast_set_to_list)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from dlt.common.libs.sql_alchemy import Table
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
def cast_set_to_list(row):
|
|
5
|
+
# this handles just the sqlalchemy backend for now
|
|
6
|
+
if isinstance(row, dict):
|
|
7
|
+
for key in row.keys():
|
|
8
|
+
if isinstance(row[key], set):
|
|
9
|
+
row[key] = list(row[key])
|
|
10
|
+
return row
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def table_adapter_exclude_columns(cols: list[str]):
|
|
14
|
+
print("given cols", cols)
|
|
15
|
+
|
|
16
|
+
def excluder(table: Table):
|
|
17
|
+
cols_to_remove = [col for col in table._columns if col.name in cols] # type: ignore
|
|
18
|
+
for col in cols_to_remove:
|
|
19
|
+
table._columns.remove(col) # type: ignore
|
|
20
|
+
|
|
21
|
+
return excluder
|
|
@@ -23,6 +23,7 @@ from ingestr.src.arrow import memory_mapped_arrow
|
|
|
23
23
|
from ingestr.src.chess import source
|
|
24
24
|
from ingestr.src.facebook_ads import facebook_ads_source, facebook_insights_source
|
|
25
25
|
from ingestr.src.filesystem import readers
|
|
26
|
+
from ingestr.src.filters import table_adapter_exclude_columns
|
|
26
27
|
from ingestr.src.google_sheets import google_spreadsheet
|
|
27
28
|
from ingestr.src.gorgias import gorgias_source
|
|
28
29
|
from ingestr.src.hubspot import hubspot
|
|
@@ -92,6 +93,9 @@ class SqlSource:
|
|
|
92
93
|
reflection_level=reflection_level,
|
|
93
94
|
query_adapter_callback=query_adapter_callback,
|
|
94
95
|
type_adapter_callback=type_adapter_callback,
|
|
96
|
+
table_adapter_callback=table_adapter_exclude_columns(
|
|
97
|
+
kwargs.get("sql_exclude_columns", [])
|
|
98
|
+
),
|
|
95
99
|
)
|
|
96
100
|
|
|
97
101
|
return table_instance
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.10.0rc5"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.10.0rc4"
|
|
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
|
{ingestr-0.10.0rc4 → ingestr-0.10.0rc5}/ingestr/src/google_sheets/helpers/data_processing.py
RENAMED
|
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
|