ingestr 0.13.26__tar.gz → 0.13.27__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.13.26 → ingestr-0.13.27}/PKG-INFO +2 -2
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/google_analytics.md +6 -1
- ingestr-0.13.27/ingestr/src/buildinfo.py +1 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/sources.py +11 -5
- {ingestr-0.13.26 → ingestr-0.13.27}/requirements.txt +1 -1
- ingestr-0.13.26/ingestr/src/buildinfo.py +0 -1
- {ingestr-0.13.26 → ingestr-0.13.27}/.dockerignore +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/.githooks/pre-commit-hook.sh +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/.github/workflows/deploy-docs.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/.github/workflows/release.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/.github/workflows/secrets-scan.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/.github/workflows/tests.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/.gitignore +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/.gitleaksignore +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/.python-version +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/.vale.ini +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/Dockerfile +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/LICENSE.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/Makefile +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/README.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/.vitepress/config.mjs +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/.vitepress/theme/custom.css +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/.vitepress/theme/index.js +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/commands/example-uris.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/commands/ingest.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/getting-started/core-concepts.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/getting-started/incremental-loading.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/getting-started/quickstart.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/getting-started/telemetry.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/index.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/media/applovin_max.png +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/media/athena.png +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/media/clickhouse_img.png +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/media/github.png +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/media/googleanalytics.png +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/media/kinesis.bigquery.png +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/media/linkedin_ads.png +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/media/personio.png +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/media/personio_duckdb.png +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/media/pipedrive.png +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/media/stripe_postgres.png +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/media/tiktok.png +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/adjust.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/airtable.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/applovin.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/applovin_max.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/appsflyer.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/appstore.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/asana.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/athena.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/bigquery.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/chess.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/clickhouse.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/csv.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/custom_queries.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/databricks.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/db2.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/duckdb.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/dynamodb.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/facebook-ads.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/frankfurter.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/gcs.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/github.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/google-ads.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/gorgias.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/gsheets.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/hubspot.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/kafka.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/kinesis.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/klaviyo.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/linkedin_ads.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/mongodb.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/mssql.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/mysql.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/notion.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/oracle.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/personio.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/pipedrive.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/postgres.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/redshift.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/s3.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/salesforce.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/sap-hana.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/shopify.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/slack.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/snowflake.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/sqlite.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/stripe.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/tiktok-ads.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/supported-sources/zendesk.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/tutorials/load-kinesis-bigquery.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/tutorials/load-personio-duckdb.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/docs/tutorials/load-stripe-postgres.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/conftest.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/main.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/.gitignore +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/adjust/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/adjust/adjust_helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/airtable/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/applovin/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/applovin_max/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/appsflyer/_init_.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/appsflyer/client.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/appstore/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/appstore/client.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/appstore/errors.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/appstore/models.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/appstore/resources.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/arrow/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/asana_source/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/asana_source/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/asana_source/settings.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/blob.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/chess/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/chess/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/chess/settings.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/destinations.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/dynamodb/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/errors.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/facebook_ads/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/facebook_ads/exceptions.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/facebook_ads/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/facebook_ads/settings.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/factory.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/filesystem/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/filesystem/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/filesystem/readers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/filters.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/frankfurter/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/frankfurter/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/github/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/github/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/github/queries.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/github/settings.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/google_ads/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/google_ads/field.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/google_ads/metrics.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/google_ads/predicates.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/google_ads/reports.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/google_analytics/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/google_analytics/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/google_sheets/README.md +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/google_sheets/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/google_sheets/helpers/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/google_sheets/helpers/api_calls.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/google_sheets/helpers/data_processing.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/gorgias/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/gorgias/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/hubspot/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/hubspot/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/hubspot/settings.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/kafka/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/kafka/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/kinesis/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/kinesis/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/klaviyo/_init_.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/klaviyo/client.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/klaviyo/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/linkedin_ads/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/linkedin_ads/dimension_time_enum.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/linkedin_ads/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/loader.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/mongodb/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/mongodb/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/notion/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/notion/helpers/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/notion/helpers/client.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/notion/helpers/database.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/notion/settings.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/partition.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/personio/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/personio/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/pipedrive/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/pipedrive/helpers/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/pipedrive/helpers/custom_fields_munger.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/pipedrive/helpers/pages.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/pipedrive/settings.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/pipedrive/typing.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/resource.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/salesforce/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/salesforce/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/shopify/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/shopify/exceptions.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/shopify/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/shopify/settings.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/slack/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/slack/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/slack/settings.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/sql_database/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/sql_database/callbacks.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/stripe_analytics/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/stripe_analytics/helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/stripe_analytics/settings.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/table_definition.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/telemetry/event.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/testdata/fakebqcredentials.json +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/tiktok_ads/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/tiktok_ads/tiktok_helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/time.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/version.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/zendesk/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/zendesk/helpers/__init__.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/zendesk/helpers/api_helpers.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/zendesk/helpers/credentials.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/zendesk/helpers/talk_api.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/src/zendesk/settings.py +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/testdata/.gitignore +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/testdata/create_replace.csv +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/testdata/delete_insert_expected.csv +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/testdata/delete_insert_part1.csv +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/testdata/delete_insert_part2.csv +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/testdata/merge_expected.csv +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/testdata/merge_part1.csv +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/ingestr/testdata/merge_part2.csv +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/package-lock.json +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/package.json +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/pyproject.toml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/requirements-dev.txt +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/requirements.in +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/requirements_arm64.txt +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/resources/demo.gif +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/resources/demo.tape +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/resources/ingestr.svg +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/AMPM.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Acronyms.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Colons.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Contractions.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/DateFormat.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Ellipses.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/EmDash.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Exclamation.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/FirstPerson.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Gender.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/GenderBias.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/HeadingPunctuation.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Headings.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Latin.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/LyHyphens.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/OptionalPlurals.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Ordinal.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/OxfordComma.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Parens.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Passive.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Periods.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Quotes.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Ranges.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Semicolons.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Slang.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Spacing.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Spelling.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Units.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/We.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/Will.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/WordList.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/meta.json +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/Google/vocab.txt +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/bruin/Ingestr.yml +0 -0
- {ingestr-0.13.26 → ingestr-0.13.27}/styles/config/vocabularies/bruin/accept.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ingestr
|
|
3
|
-
Version: 0.13.
|
|
3
|
+
Version: 0.13.27
|
|
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
|
|
@@ -74,7 +74,7 @@ Requires-Dist: google-cloud-storage==3.1.0
|
|
|
74
74
|
Requires-Dist: google-crc32c==1.6.0
|
|
75
75
|
Requires-Dist: google-resumable-media==2.7.2
|
|
76
76
|
Requires-Dist: googleapis-common-protos==1.69.0
|
|
77
|
-
Requires-Dist: greenlet==3.
|
|
77
|
+
Requires-Dist: greenlet==3.2.0
|
|
78
78
|
Requires-Dist: grpcio-status==1.62.3
|
|
79
79
|
Requires-Dist: grpcio==1.70.0
|
|
80
80
|
Requires-Dist: hdbcli==2.23.27
|
|
@@ -9,10 +9,15 @@ The URI format for Google Analytics is as follows:
|
|
|
9
9
|
```plaintext
|
|
10
10
|
googleanalytics://?credentials_path=/path/to/service/account.json&property_id=<property_id>
|
|
11
11
|
```
|
|
12
|
+
Alternatively, you can use base64 encoded credentials:
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
googleanalytics://?credentials_base64=<base64_encoded_credentials>&property_id=<property_id>
|
|
16
|
+
```
|
|
12
17
|
|
|
13
18
|
URI parameters:
|
|
14
19
|
- `credentials_path`: The path to the service account JSON file.
|
|
15
|
-
- `property_id`: It is a unique number that identifies a particular property on Google Analytics. [Follow this guide](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id#what_is_my_property_id)
|
|
20
|
+
- `property_id`: It is a unique number that identifies a particular property on Google Analytics. [Follow this guide](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id#what_is_my_property_id) to know more about property ID.
|
|
16
21
|
|
|
17
22
|
## Setting up an Google Analytics Integration
|
|
18
23
|
Google Analytics requires a few steps to set up an integration, please follow the guide dltHub [has built here](https://dlthub.com/docs/dlt-ecosystem/verified-sources/google_analytics#grab-google-service-account-credentials). Once you complete the guide, you should have an `.json` file and `project_id`.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
version = "v0.13.27"
|
|
@@ -1398,13 +1398,19 @@ class GoogleAnalyticsSource:
|
|
|
1398
1398
|
parse_uri = urlparse(uri)
|
|
1399
1399
|
source_fields = parse_qs(parse_uri.query)
|
|
1400
1400
|
cred_path = source_fields.get("credentials_path")
|
|
1401
|
+
cred_base64 = source_fields.get("credentials_base64")
|
|
1401
1402
|
|
|
1402
|
-
if not cred_path:
|
|
1403
|
-
raise ValueError("credentials_path is required to connect Google Analytics")
|
|
1404
|
-
credentials = {}
|
|
1403
|
+
if not cred_path and not cred_base64:
|
|
1404
|
+
raise ValueError("credentials_path or credentials_base64 is required to connect Google Analytics")
|
|
1405
1405
|
|
|
1406
|
-
|
|
1407
|
-
|
|
1406
|
+
credentials = {}
|
|
1407
|
+
if cred_path:
|
|
1408
|
+
with open(cred_path[0], "r") as f:
|
|
1409
|
+
credentials = json.load(f)
|
|
1410
|
+
elif cred_base64:
|
|
1411
|
+
credentials = json.loads(
|
|
1412
|
+
base64.b64decode(cred_base64[0]).decode("utf-8")
|
|
1413
|
+
)
|
|
1408
1414
|
|
|
1409
1415
|
property_id = source_fields.get("property_id")
|
|
1410
1416
|
if not property_id:
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
version = "v0.13.26"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|