ingestr 0.13.75__tar.gz → 0.13.77__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.75 → ingestr-0.13.77}/.gitignore +2 -1
- {ingestr-0.13.75 → ingestr-0.13.77}/PKG-INFO +1 -1
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/github.md +6 -7
- ingestr-0.13.77/ingestr/src/buildinfo.py +1 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/facebook_ads/__init__.py +1 -1
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/github/__init__.py +6 -6
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/github/helpers.py +0 -1
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/sources.py +1 -1
- ingestr-0.13.75/ingestr/src/buildinfo.py +0 -1
- {ingestr-0.13.75 → ingestr-0.13.77}/.dlt/config.toml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/.dockerignore +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/.githooks/pre-commit-hook.sh +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/.github/workflows/deploy-docs.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/.github/workflows/release.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/.github/workflows/secrets-scan.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/.github/workflows/tests.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/.gitleaksignore +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/.python-version +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/.vale.ini +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/Dockerfile +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/LICENSE.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/Makefile +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/README.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/.vitepress/config.mjs +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/.vitepress/theme/custom.css +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/.vitepress/theme/index.js +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/commands/example-uris.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/commands/ingest.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/getting-started/core-concepts.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/getting-started/incremental-loading.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/getting-started/quickstart.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/getting-started/telemetry.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/index.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/applovin_max.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/athena.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/clickhouse_img.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/clickup_ingestion.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/cratedb-destination.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/cratedb-source.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/freshdesk_ingestion.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/gcp_spanner_ingestion.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/github.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/google_analytics_realtime_report.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/googleanalytics.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/ingestion_elasticsearch_img.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/kinesis.bigquery.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/linear.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/linkedin_ads.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/mixpanel_ingestion.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/personio.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/personio_duckdb.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/phantombuster.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/pipedrive.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/quickbook_ingestion.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/sftp.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/stripe_postgres.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/tiktok.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/media/zoom_ingestion.png +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/adjust.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/airtable.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/applovin.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/applovin_max.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/appsflyer.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/appstore.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/asana.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/athena.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/attio.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/bigquery.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/chess.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/clickhouse.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/clickup.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/cratedb.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/csv.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/custom_queries.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/databricks.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/db2.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/duckdb.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/dynamodb.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/elasticsearch.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/facebook-ads.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/frankfurter.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/freshdesk.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/gcs.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/google-ads.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/google_analytics.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/gorgias.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/gsheets.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/hubspot.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/influxdb.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/isoc-pulse.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/kafka.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/kinesis.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/klaviyo.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/linear.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/linkedin_ads.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/mixpanel.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/mongodb.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/mssql.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/mysql.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/notion.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/oracle.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/personio.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/phantombuster.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/pinterest.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/pipedrive.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/postgres.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/quickbooks.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/redshift.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/s3.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/salesforce.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/sap-hana.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/sftp.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/shopify.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/slack.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/smartsheets.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/snowflake.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/solidgate.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/spanner.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/sqlite.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/stripe.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/tiktok-ads.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/trustpilot.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/zendesk.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/supported-sources/zoom.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/tutorials/load-kinesis-bigquery.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/tutorials/load-personio-duckdb.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/docs/tutorials/load-stripe-postgres.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/conftest.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/main.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/.gitignore +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/adjust/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/adjust/adjust_helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/airtable/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/applovin/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/applovin_max/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/appsflyer/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/appsflyer/client.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/appstore/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/appstore/client.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/appstore/errors.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/appstore/models.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/appstore/resources.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/arrow/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/asana_source/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/asana_source/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/asana_source/settings.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/attio/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/attio/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/blob.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/chess/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/chess/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/chess/settings.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/clickup/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/clickup/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/collector/spinner.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/destinations.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/dynamodb/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/elasticsearch/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/errors.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/facebook_ads/exceptions.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/facebook_ads/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/facebook_ads/settings.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/facebook_ads/utils.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/factory.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/filesystem/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/filesystem/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/filesystem/readers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/filters.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/frankfurter/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/frankfurter/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/freshdesk/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/freshdesk/freshdesk_client.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/freshdesk/settings.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/github/queries.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/github/settings.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/google_ads/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/google_ads/field.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/google_ads/metrics.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/google_ads/predicates.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/google_ads/reports.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/google_analytics/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/google_analytics/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/google_sheets/README.md +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/google_sheets/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/google_sheets/helpers/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/google_sheets/helpers/api_calls.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/google_sheets/helpers/data_processing.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/gorgias/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/gorgias/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/http_client.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/hubspot/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/hubspot/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/hubspot/settings.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/influxdb/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/influxdb/client.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/isoc_pulse/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/kafka/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/kafka/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/kinesis/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/kinesis/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/klaviyo/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/klaviyo/client.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/klaviyo/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/linear/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/linear/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/linkedin_ads/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/linkedin_ads/dimension_time_enum.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/linkedin_ads/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/loader.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/mixpanel/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/mixpanel/client.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/mongodb/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/mongodb/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/notion/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/notion/helpers/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/notion/helpers/client.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/notion/helpers/database.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/notion/settings.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/partition.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/personio/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/personio/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/phantombuster/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/phantombuster/client.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/pinterest/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/pipedrive/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/pipedrive/helpers/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/pipedrive/helpers/custom_fields_munger.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/pipedrive/helpers/pages.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/pipedrive/settings.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/pipedrive/typing.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/quickbooks/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/resource.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/salesforce/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/salesforce/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/shopify/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/shopify/exceptions.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/shopify/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/shopify/settings.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/slack/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/slack/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/slack/settings.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/smartsheets/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/solidgate/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/solidgate/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/sql_database/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/sql_database/callbacks.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/stripe_analytics/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/stripe_analytics/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/stripe_analytics/settings.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/table_definition.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/telemetry/event.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/testdata/fakebqcredentials.json +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/tiktok_ads/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/tiktok_ads/tiktok_helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/time.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/trustpilot/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/trustpilot/client.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/version.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/zendesk/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/zendesk/helpers/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/zendesk/helpers/api_helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/zendesk/helpers/credentials.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/zendesk/helpers/talk_api.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/zendesk/settings.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/zoom/__init__.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/src/zoom/helpers.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/testdata/.gitignore +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/testdata/create_replace.csv +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/testdata/delete_insert_expected.csv +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/testdata/delete_insert_part1.csv +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/testdata/delete_insert_part2.csv +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/testdata/merge_expected.csv +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/testdata/merge_part1.csv +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/testdata/merge_part2.csv +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/ingestr/tests/unit/test_smartsheets.py +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/package-lock.json +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/package.json +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/pyproject.toml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/requirements-dev.txt +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/requirements.in +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/requirements.txt +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/requirements_arm64.txt +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/resources/demo.gif +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/resources/demo.tape +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/resources/ingestr.svg +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/AMPM.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Acronyms.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Colons.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Contractions.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/DateFormat.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Ellipses.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/EmDash.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Exclamation.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/FirstPerson.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Gender.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/GenderBias.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/HeadingPunctuation.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Headings.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Latin.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/LyHyphens.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/OptionalPlurals.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Ordinal.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/OxfordComma.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Parens.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Passive.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Periods.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Quotes.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Ranges.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Semicolons.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Slang.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Spacing.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Spelling.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Units.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/We.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/Will.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/WordList.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/meta.json +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/Google/vocab.txt +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/bruin/Ingestr.yml +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/styles/config/vocabularies/bruin/accept.txt +0 -0
- {ingestr-0.13.75 → ingestr-0.13.77}/test.env.template +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ingestr
|
|
3
|
-
Version: 0.13.
|
|
3
|
+
Version: 0.13.77
|
|
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
|
|
@@ -36,14 +36,13 @@ This is a sample command that will copy the data from the GitHub source to DuckD
|
|
|
36
36
|
## Tables
|
|
37
37
|
|
|
38
38
|
GitHub source allows ingesting the following sources into separate tables:
|
|
39
|
+
| Table | PK | Inc Key | Inc Strategy | Details |
|
|
40
|
+
| --------------- | ----------- | --------------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
41
|
+
| `issues` | - | – | replace | Retrieves GitHub issues along with their comments and reactions. Full reload on each run. |
|
|
42
|
+
| `pull_requests` | - | – | replace | Retrieves pull requests with comments and reactions. Full reload on each run. |
|
|
43
|
+
| `repo_events` | `id` | `created_at` | merge | Retrieves recent repository events. Appends only new events using `created_at` filter. Only events from the past 30 days allowed. |
|
|
44
|
+
| `stargazers` | - | – | replace | Retrieves stargazers. Full reload on each run. |
|
|
39
45
|
|
|
40
|
-
- `issues`: Retrieves data about issues, their associated comments, and subsequent reactions
|
|
41
|
-
- `pull_requests`: Retrieves all pull requests
|
|
42
|
-
- `repo_events`: Retrieves all the repo events associated with the repository
|
|
43
|
-
- `stargazers`: Retrieves all stargazers
|
|
44
46
|
|
|
45
47
|
Use these as `--source-table` parameter in the `ingestr ingest` command.
|
|
46
|
-
|
|
47
|
-
> [!WARNING]
|
|
48
|
-
> GitHub does not support incremental loading for many endpoints in its APIs, which means ingestr will load endpoints incrementally if they support it, and do a full-refresh if not.
|
|
49
48
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
version = "v0.13.77"
|
|
@@ -159,8 +159,8 @@ def facebook_insights_source(
|
|
|
159
159
|
columns[field] = INSIGHT_FIELDS_TYPES[field]
|
|
160
160
|
|
|
161
161
|
@dlt.resource(
|
|
162
|
-
primary_key=INSIGHTS_PRIMARY_KEY,
|
|
163
162
|
write_disposition="merge",
|
|
163
|
+
merge_key="date_start",
|
|
164
164
|
columns=columns,
|
|
165
165
|
)
|
|
166
166
|
def facebook_insights(
|
|
@@ -72,7 +72,7 @@ def github_repo_events(
|
|
|
72
72
|
name: str,
|
|
73
73
|
access_token: str,
|
|
74
74
|
start_date: pendulum.DateTime,
|
|
75
|
-
end_date: pendulum.DateTime,
|
|
75
|
+
end_date: Optional[pendulum.DateTime] = None,
|
|
76
76
|
) -> DltResource:
|
|
77
77
|
"""Gets events for repository `name` with owner `owner` incrementally.
|
|
78
78
|
|
|
@@ -91,12 +91,12 @@ def github_repo_events(
|
|
|
91
91
|
"""
|
|
92
92
|
|
|
93
93
|
# use naming function in table name to generate separate tables for each event
|
|
94
|
-
@dlt.resource(primary_key="id", table_name=lambda i: i["type"])
|
|
94
|
+
@dlt.resource(primary_key= "id", table_name=lambda i: i["type"], write_disposition="merge")
|
|
95
95
|
def repo_events(
|
|
96
96
|
last_created_at: dlt.sources.incremental[str] = dlt.sources.incremental(
|
|
97
97
|
"created_at",
|
|
98
98
|
initial_value=start_date.isoformat(),
|
|
99
|
-
end_value=end_date.isoformat(),
|
|
99
|
+
end_value=end_date.isoformat() if end_date else None,
|
|
100
100
|
last_value_func=max,
|
|
101
101
|
range_end="closed",
|
|
102
102
|
range_start="closed",
|
|
@@ -105,7 +105,7 @@ def github_repo_events(
|
|
|
105
105
|
repos_path = (
|
|
106
106
|
f"/repos/{urllib.parse.quote(owner)}/{urllib.parse.quote(name)}/events"
|
|
107
107
|
)
|
|
108
|
-
|
|
108
|
+
|
|
109
109
|
# Get the date range from the incremental state
|
|
110
110
|
start_filter = pendulum.parse(
|
|
111
111
|
last_created_at.last_value or last_created_at.initial_value
|
|
@@ -113,9 +113,9 @@ def github_repo_events(
|
|
|
113
113
|
end_filter = (
|
|
114
114
|
pendulum.parse(last_created_at.end_value)
|
|
115
115
|
if last_created_at.end_value
|
|
116
|
-
else
|
|
116
|
+
else pendulum.now()
|
|
117
117
|
)
|
|
118
|
-
|
|
118
|
+
|
|
119
119
|
for page in get_rest_pages(access_token, repos_path + "?per_page=100"):
|
|
120
120
|
# Filter events by date range
|
|
121
121
|
filtered_events = []
|
|
@@ -1817,7 +1817,7 @@ class GitHubSource:
|
|
|
1817
1817
|
start_date = kwargs.get("interval_start") or pendulum.now().subtract(
|
|
1818
1818
|
days=30
|
|
1819
1819
|
)
|
|
1820
|
-
end_date = kwargs.get("interval_end") or
|
|
1820
|
+
end_date = kwargs.get("interval_end") or None
|
|
1821
1821
|
|
|
1822
1822
|
if isinstance(start_date, str):
|
|
1823
1823
|
start_date = pendulum.parse(start_date)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
version = "v0.13.75"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|