ingestr 0.13.25__tar.gz → 0.13.26__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.25 → ingestr-0.13.26}/PKG-INFO +1 -1
- ingestr-0.13.26/ingestr/src/buildinfo.py +1 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/hubspot/__init__.py +9 -1
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/hubspot/helpers.py +22 -11
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/hubspot/settings.py +1 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/sources.py +6 -1
- ingestr-0.13.25/ingestr/src/buildinfo.py +0 -1
- {ingestr-0.13.25 → ingestr-0.13.26}/.dockerignore +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/.githooks/pre-commit-hook.sh +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/.github/workflows/deploy-docs.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/.github/workflows/release.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/.github/workflows/secrets-scan.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/.github/workflows/tests.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/.gitignore +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/.gitleaksignore +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/.python-version +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/.vale.ini +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/Dockerfile +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/LICENSE.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/Makefile +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/README.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/.vitepress/config.mjs +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/.vitepress/theme/custom.css +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/.vitepress/theme/index.js +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/commands/example-uris.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/commands/ingest.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/getting-started/core-concepts.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/getting-started/incremental-loading.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/getting-started/quickstart.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/getting-started/telemetry.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/index.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/media/applovin_max.png +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/media/athena.png +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/media/clickhouse_img.png +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/media/github.png +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/media/googleanalytics.png +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/media/kinesis.bigquery.png +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/media/linkedin_ads.png +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/media/personio.png +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/media/personio_duckdb.png +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/media/pipedrive.png +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/media/stripe_postgres.png +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/media/tiktok.png +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/adjust.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/airtable.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/applovin.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/applovin_max.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/appsflyer.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/appstore.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/asana.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/athena.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/bigquery.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/chess.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/clickhouse.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/csv.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/custom_queries.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/databricks.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/db2.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/duckdb.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/dynamodb.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/facebook-ads.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/frankfurter.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/gcs.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/github.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/google-ads.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/google_analytics.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/gorgias.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/gsheets.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/hubspot.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/kafka.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/kinesis.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/klaviyo.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/linkedin_ads.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/mongodb.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/mssql.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/mysql.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/notion.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/oracle.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/personio.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/pipedrive.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/postgres.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/redshift.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/s3.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/salesforce.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/sap-hana.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/shopify.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/slack.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/snowflake.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/sqlite.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/stripe.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/tiktok-ads.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/supported-sources/zendesk.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/tutorials/load-kinesis-bigquery.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/tutorials/load-personio-duckdb.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/docs/tutorials/load-stripe-postgres.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/conftest.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/main.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/.gitignore +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/adjust/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/adjust/adjust_helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/airtable/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/applovin/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/applovin_max/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/appsflyer/_init_.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/appsflyer/client.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/appstore/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/appstore/client.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/appstore/errors.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/appstore/models.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/appstore/resources.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/arrow/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/asana_source/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/asana_source/helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/asana_source/settings.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/blob.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/chess/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/chess/helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/chess/settings.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/destinations.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/dynamodb/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/errors.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/facebook_ads/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/facebook_ads/exceptions.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/facebook_ads/helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/facebook_ads/settings.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/factory.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/filesystem/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/filesystem/helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/filesystem/readers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/filters.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/frankfurter/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/frankfurter/helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/github/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/github/helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/github/queries.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/github/settings.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/google_ads/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/google_ads/field.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/google_ads/metrics.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/google_ads/predicates.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/google_ads/reports.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/google_analytics/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/google_analytics/helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/google_sheets/README.md +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/google_sheets/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/google_sheets/helpers/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/google_sheets/helpers/api_calls.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/google_sheets/helpers/data_processing.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/gorgias/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/gorgias/helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/kafka/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/kafka/helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/kinesis/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/kinesis/helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/klaviyo/_init_.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/klaviyo/client.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/klaviyo/helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/linkedin_ads/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/linkedin_ads/dimension_time_enum.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/linkedin_ads/helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/loader.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/mongodb/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/mongodb/helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/notion/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/notion/helpers/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/notion/helpers/client.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/notion/helpers/database.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/notion/settings.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/partition.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/personio/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/personio/helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/pipedrive/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/pipedrive/helpers/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/pipedrive/helpers/custom_fields_munger.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/pipedrive/helpers/pages.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/pipedrive/settings.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/pipedrive/typing.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/resource.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/salesforce/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/salesforce/helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/shopify/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/shopify/exceptions.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/shopify/helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/shopify/settings.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/slack/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/slack/helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/slack/settings.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/sql_database/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/sql_database/callbacks.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/stripe_analytics/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/stripe_analytics/helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/stripe_analytics/settings.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/table_definition.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/telemetry/event.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/testdata/fakebqcredentials.json +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/tiktok_ads/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/tiktok_ads/tiktok_helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/time.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/version.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/zendesk/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/zendesk/helpers/__init__.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/zendesk/helpers/api_helpers.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/zendesk/helpers/credentials.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/zendesk/helpers/talk_api.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/src/zendesk/settings.py +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/testdata/.gitignore +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/testdata/create_replace.csv +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/testdata/delete_insert_expected.csv +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/testdata/delete_insert_part1.csv +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/testdata/delete_insert_part2.csv +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/testdata/merge_expected.csv +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/testdata/merge_part1.csv +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/ingestr/testdata/merge_part2.csv +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/package-lock.json +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/package.json +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/pyproject.toml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/requirements-dev.txt +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/requirements.in +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/requirements.txt +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/requirements_arm64.txt +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/resources/demo.gif +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/resources/demo.tape +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/resources/ingestr.svg +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/AMPM.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Acronyms.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Colons.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Contractions.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/DateFormat.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Ellipses.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/EmDash.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Exclamation.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/FirstPerson.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Gender.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/GenderBias.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/HeadingPunctuation.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Headings.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Latin.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/LyHyphens.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/OptionalPlurals.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Ordinal.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/OxfordComma.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Parens.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Passive.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Periods.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Quotes.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Ranges.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Semicolons.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Slang.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Spacing.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Spelling.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Units.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/We.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/Will.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/WordList.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/meta.json +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/Google/vocab.txt +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/styles/bruin/Ingestr.yml +0 -0
- {ingestr-0.13.25 → ingestr-0.13.26}/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.26
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
version = "v0.13.26"
|
|
@@ -36,6 +36,7 @@ from .helpers import _get_property_names, fetch_data, fetch_property_history
|
|
|
36
36
|
from .settings import (
|
|
37
37
|
ALL,
|
|
38
38
|
CRM_OBJECT_ENDPOINTS,
|
|
39
|
+
CRM_SCHEMAS_ENDPOINT,
|
|
39
40
|
DEFAULT_COMPANY_PROPS,
|
|
40
41
|
DEFAULT_CONTACT_PROPS,
|
|
41
42
|
DEFAULT_DEAL_PROPS,
|
|
@@ -161,6 +162,13 @@ def hubspot(
|
|
|
161
162
|
props,
|
|
162
163
|
include_custom_props,
|
|
163
164
|
)
|
|
165
|
+
|
|
166
|
+
@dlt.resource(name="schemas", write_disposition="merge", primary_key="id")
|
|
167
|
+
def schemas(
|
|
168
|
+
api_key: str = api_key,
|
|
169
|
+
) -> Iterator[TDataItems]:
|
|
170
|
+
"""Hubspot schemas resource"""
|
|
171
|
+
yield from fetch_data(CRM_SCHEMAS_ENDPOINT, api_key)
|
|
164
172
|
|
|
165
173
|
@dlt.resource(name="quotes", write_disposition="replace")
|
|
166
174
|
def quotes(
|
|
@@ -178,7 +186,7 @@ def hubspot(
|
|
|
178
186
|
include_custom_props,
|
|
179
187
|
)
|
|
180
188
|
|
|
181
|
-
return companies, contacts, deals, tickets, products, quotes
|
|
189
|
+
return companies, contacts, deals, tickets, products, quotes, schemas
|
|
182
190
|
|
|
183
191
|
|
|
184
192
|
def crm_objects(
|
|
@@ -132,16 +132,27 @@ def fetch_data(
|
|
|
132
132
|
if "results" in _data:
|
|
133
133
|
_objects: List[Dict[str, Any]] = []
|
|
134
134
|
for _result in _data["results"]:
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
135
|
+
if endpoint == "/crm/v3/schemas":
|
|
136
|
+
_objects.append({
|
|
137
|
+
"name": _result["labels"].get("singular", ""),
|
|
138
|
+
"objectTypeId": _result.get("objectTypeId", ""),
|
|
139
|
+
"id": _result.get("id", ""),
|
|
140
|
+
"fullyQualifiedName": _result.get("fullyQualifiedName", ""),
|
|
141
|
+
"properties": _result.get("properties", ""),
|
|
142
|
+
"createdAt": _result.get("createdAt", ""),
|
|
143
|
+
"updatedAt": _result.get("updatedAt", "")
|
|
144
|
+
})
|
|
145
|
+
else:
|
|
146
|
+
_obj = _result.get("properties", _result)
|
|
147
|
+
if "id" not in _obj and "id" in _result:
|
|
148
|
+
# Move id from properties to top level
|
|
149
|
+
_obj["id"] = _result["id"]
|
|
150
|
+
if "associations" in _result:
|
|
151
|
+
for association in _result["associations"]:
|
|
152
|
+
__values = [
|
|
153
|
+
{
|
|
154
|
+
"value": _obj["hs_object_id"],
|
|
155
|
+
f"{association}_id": __r["id"],
|
|
145
156
|
}
|
|
146
157
|
for __r in _result["associations"][association]["results"]
|
|
147
158
|
]
|
|
@@ -152,7 +163,7 @@ def fetch_data(
|
|
|
152
163
|
]
|
|
153
164
|
|
|
154
165
|
_obj[association] = __values
|
|
155
|
-
|
|
166
|
+
_objects.append(_obj)
|
|
156
167
|
yield _objects
|
|
157
168
|
|
|
158
169
|
# Follow pagination links if they exist
|
|
@@ -14,6 +14,7 @@ CRM_DEALS_ENDPOINT = "/crm/v3/objects/deals"
|
|
|
14
14
|
CRM_PRODUCTS_ENDPOINT = "/crm/v3/objects/products"
|
|
15
15
|
CRM_TICKETS_ENDPOINT = "/crm/v3/objects/tickets"
|
|
16
16
|
CRM_QUOTES_ENDPOINT = "/crm/v3/objects/quotes"
|
|
17
|
+
CRM_SCHEMAS_ENDPOINT = "/crm/v3/schemas"
|
|
17
18
|
|
|
18
19
|
CRM_OBJECT_ENDPOINTS = {
|
|
19
20
|
"contact": CRM_CONTACTS_ENDPOINT,
|
|
@@ -803,7 +803,7 @@ class HubspotSource:
|
|
|
803
803
|
raise ValueError("api_key in the URI is required to connect to Hubspot")
|
|
804
804
|
|
|
805
805
|
endpoint = None
|
|
806
|
-
if table in ["contacts", "companies", "deals", "tickets", "products", "quotes"]:
|
|
806
|
+
if table in ["contacts", "companies", "deals", "tickets", "products", "quotes", "schemas"]:
|
|
807
807
|
endpoint = table
|
|
808
808
|
else:
|
|
809
809
|
raise ValueError(
|
|
@@ -2064,6 +2064,11 @@ class FrankfurterSource:
|
|
|
2064
2064
|
end_date = pendulum.now()
|
|
2065
2065
|
validate_dates(start_date=start_date, end_date=end_date)
|
|
2066
2066
|
|
|
2067
|
+
# For currencies and latest tables, set start and end dates to current date
|
|
2068
|
+
else:
|
|
2069
|
+
start_date = pendulum.now()
|
|
2070
|
+
end_date = pendulum.now()
|
|
2071
|
+
|
|
2067
2072
|
# Validate table
|
|
2068
2073
|
if table not in ["currencies", "latest", "exchange_rates"]:
|
|
2069
2074
|
raise ValueError(
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
version = "v0.13.25"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|