ingestr 0.13.85__tar.gz → 0.13.86__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.85 → ingestr-0.13.86}/PKG-INFO +1 -1
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/.vitepress/config.mjs +1 -0
- ingestr-0.13.86/docs/supported-sources/fluxx.md +116 -0
- ingestr-0.13.86/docs/supported-sources/revenuecat.md +57 -0
- ingestr-0.13.86/ingestr/src/buildinfo.py +1 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/factory.py +4 -0
- ingestr-0.13.86/ingestr/src/fluxx/__init__.py +5725 -0
- ingestr-0.13.86/ingestr/src/fluxx/helpers.py +216 -0
- ingestr-0.13.86/ingestr/src/frankfurter/__init__.py +161 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/frankfurter/helpers.py +4 -4
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/linear/__init__.py +10 -9
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/linear/helpers.py +20 -10
- ingestr-0.13.86/ingestr/src/revenuecat/__init__.py +103 -0
- ingestr-0.13.86/ingestr/src/revenuecat/helpers.py +262 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/sources.py +132 -13
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/stripe_analytics/__init__.py +1 -18
- {ingestr-0.13.85 → ingestr-0.13.86}/pyproject.toml +3 -2
- ingestr-0.13.85/ingestr/src/buildinfo.py +0 -1
- ingestr-0.13.85/ingestr/src/frankfurter/__init__.py +0 -163
- {ingestr-0.13.85 → ingestr-0.13.86}/.dlt/config.toml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/.dockerignore +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/.githooks/pre-commit-hook.sh +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/.github/workflows/deploy-docs.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/.github/workflows/release.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/.github/workflows/secrets-scan.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/.github/workflows/tests.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/.gitignore +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/.gitleaksignore +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/.python-version +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/.vale.ini +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/Dockerfile +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/LICENSE.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/Makefile +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/README.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/.vitepress/theme/custom.css +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/.vitepress/theme/index.js +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/commands/example-uris.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/commands/ingest.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/getting-started/core-concepts.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/getting-started/incremental-loading.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/getting-started/quickstart.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/getting-started/telemetry.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/index.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/applovin_max.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/athena.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/clickhouse_img.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/clickup_ingestion.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/cratedb-destination.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/cratedb-source.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/freshdesk_ingestion.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/gcp_spanner_ingestion.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/github.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/google_analytics_realtime_report.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/googleanalytics.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/ingestion_elasticsearch_img.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/kinesis.bigquery.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/linear.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/linkedin_ads.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/mixpanel_ingestion.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/personio.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/personio_duckdb.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/phantombuster.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/pipedrive.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/quickbook_ingestion.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/sftp.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/stripe_postgres.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/tiktok.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/wise_ingestion.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/zoom_ingestion.png +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/adjust.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/airtable.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/applovin.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/applovin_max.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/appsflyer.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/appstore.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/asana.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/athena.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/attio.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/bigquery.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/chess.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/clickhouse.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/clickup.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/cratedb.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/csv.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/custom_queries.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/databricks.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/db2.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/duckdb.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/dynamodb.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/elasticsearch.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/facebook-ads.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/frankfurter.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/freshdesk.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/gcs.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/github.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/google-ads.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/google_analytics.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/gorgias.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/gsheets.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/hubspot.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/influxdb.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/isoc-pulse.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/kafka.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/kinesis.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/klaviyo.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/linear.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/linkedin_ads.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/mixpanel.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/mongodb.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/motherduck.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/mssql.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/mysql.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/notion.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/oracle.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/personio.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/phantombuster.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/pinterest.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/pipedrive.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/postgres.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/quickbooks.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/redshift.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/s3.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/salesforce.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/sap-hana.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/sftp.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/shopify.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/slack.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/smartsheets.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/snowflake.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/solidgate.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/spanner.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/sqlite.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/stripe.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/tiktok-ads.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/trustpilot.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/wise.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/zendesk.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/zoom.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/tutorials/load-kinesis-bigquery.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/tutorials/load-personio-duckdb.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/docs/tutorials/load-stripe-postgres.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/conftest.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/main.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/.gitignore +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/adjust/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/adjust/adjust_helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/airtable/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/applovin/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/applovin_max/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/appsflyer/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/appsflyer/client.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/appstore/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/appstore/client.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/appstore/errors.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/appstore/models.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/appstore/resources.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/arrow/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/asana_source/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/asana_source/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/asana_source/settings.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/attio/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/attio/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/blob.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/chess/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/chess/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/chess/settings.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/clickup/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/clickup/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/collector/spinner.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/destinations.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/dynamodb/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/elasticsearch/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/errors.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/facebook_ads/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/facebook_ads/exceptions.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/facebook_ads/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/facebook_ads/settings.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/facebook_ads/utils.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/filesystem/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/filesystem/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/filesystem/readers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/filters.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/freshdesk/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/freshdesk/freshdesk_client.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/freshdesk/settings.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/github/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/github/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/github/queries.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/github/settings.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_ads/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_ads/field.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_ads/metrics.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_ads/predicates.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_ads/reports.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_analytics/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_analytics/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_sheets/README.md +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_sheets/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_sheets/helpers/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_sheets/helpers/api_calls.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_sheets/helpers/data_processing.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/gorgias/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/gorgias/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/http_client.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/hubspot/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/hubspot/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/hubspot/settings.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/influxdb/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/influxdb/client.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/isoc_pulse/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/kafka/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/kafka/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/kinesis/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/kinesis/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/klaviyo/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/klaviyo/client.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/klaviyo/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/linkedin_ads/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/linkedin_ads/dimension_time_enum.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/linkedin_ads/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/loader.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/mixpanel/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/mixpanel/client.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/mongodb/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/mongodb/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/notion/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/notion/helpers/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/notion/helpers/client.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/notion/helpers/database.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/notion/settings.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/partition.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/personio/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/personio/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/phantombuster/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/phantombuster/client.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/pinterest/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/pipedrive/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/pipedrive/helpers/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/pipedrive/helpers/custom_fields_munger.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/pipedrive/helpers/pages.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/pipedrive/settings.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/pipedrive/typing.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/quickbooks/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/resource.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/salesforce/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/salesforce/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/shopify/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/shopify/exceptions.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/shopify/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/shopify/settings.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/slack/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/slack/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/slack/settings.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/smartsheets/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/solidgate/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/solidgate/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/sql_database/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/sql_database/callbacks.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/stripe_analytics/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/stripe_analytics/settings.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/table_definition.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/telemetry/event.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/testdata/fakebqcredentials.json +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/tiktok_ads/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/tiktok_ads/tiktok_helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/time.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/trustpilot/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/trustpilot/client.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/version.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/wise/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/wise/client.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/zendesk/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/zendesk/helpers/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/zendesk/helpers/api_helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/zendesk/helpers/credentials.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/zendesk/helpers/talk_api.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/zendesk/settings.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/zoom/__init__.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/zoom/helpers.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/testdata/.gitignore +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/testdata/create_replace.csv +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/testdata/delete_insert_expected.csv +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/testdata/delete_insert_part1.csv +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/testdata/delete_insert_part2.csv +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/testdata/merge_expected.csv +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/testdata/merge_part1.csv +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/testdata/merge_part2.csv +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/tests/unit/test_smartsheets.py +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/package-lock.json +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/package.json +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/requirements-dev.txt +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/requirements.in +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/requirements.txt +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/requirements_arm64.txt +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/resources/demo.gif +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/resources/demo.tape +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/resources/ingestr.svg +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/AMPM.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Acronyms.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Colons.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Contractions.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/DateFormat.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Ellipses.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/EmDash.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Exclamation.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/FirstPerson.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Gender.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/GenderBias.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/HeadingPunctuation.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Headings.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Latin.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/LyHyphens.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/OptionalPlurals.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Ordinal.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/OxfordComma.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Parens.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Passive.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Periods.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Quotes.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Ranges.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Semicolons.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Slang.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Spacing.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Spelling.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Units.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/We.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Will.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/WordList.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/meta.json +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/vocab.txt +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/bruin/Ingestr.yml +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/styles/config/vocabularies/bruin/accept.txt +0 -0
- {ingestr-0.13.85 → ingestr-0.13.86}/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.86
|
|
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
|
|
@@ -125,6 +125,7 @@ export default defineConfig({
|
|
|
125
125
|
text: "Facebook Ads",
|
|
126
126
|
link: "/supported-sources/facebook-ads.md",
|
|
127
127
|
},
|
|
128
|
+
{ text: "Fluxx", link: "/supported-sources/fluxx.md" },
|
|
128
129
|
{ text: "Frankfurter", link: "/supported-sources/frankfurter.md" },
|
|
129
130
|
{ text: "Freshdesk", link: "/supported-sources/freshdesk.md" },
|
|
130
131
|
{ text: "Trustpilot", link: "/supported-sources/trustpilot.md" },
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# Fluxx
|
|
2
|
+
|
|
3
|
+
[Fluxx](https://www.fluxx.io/) is a cloud-based grants management platform designed to streamline and automate the entire grantmaking process for foundations, corporations, governments, and other funding organizations.
|
|
4
|
+
|
|
5
|
+
ingestr supports Fluxx as a source.
|
|
6
|
+
|
|
7
|
+
## URI format
|
|
8
|
+
|
|
9
|
+
The URI format for Fluxx is:
|
|
10
|
+
|
|
11
|
+
```plaintext
|
|
12
|
+
fluxx://<instance>?client_id=<client_id>&client_secret=<client_secret>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
URI parameters:
|
|
16
|
+
|
|
17
|
+
- `instance`: Your Fluxx instance subdomain (e.g., `mycompany.preprod` for `https://mycompany.preprod.fluxxlabs.com`)
|
|
18
|
+
- `client_id`: OAuth 2.0 client ID for authentication
|
|
19
|
+
- `client_secret`: OAuth 2.0 client secret for authentication
|
|
20
|
+
|
|
21
|
+
## Example usage
|
|
22
|
+
|
|
23
|
+
### Basic usage - all fields
|
|
24
|
+
|
|
25
|
+
Assuming your instance is `myorg.preprod`, you can ingest grant requests into DuckDB using:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
ingestr ingest \
|
|
29
|
+
--source-uri 'fluxx://myorg.preprod?client_id=your_client_id&client_secret=your_client_secret' \
|
|
30
|
+
--source-table 'grant_request' \
|
|
31
|
+
--dest-uri duckdb:///fluxx.duckdb \
|
|
32
|
+
--dest-table 'raw.grant_request'
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Custom field selection
|
|
36
|
+
|
|
37
|
+
You can select specific fields to ingest using the colon syntax:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
ingestr ingest \
|
|
41
|
+
--source-uri 'fluxx://myorg.preprod?client_id=your_client_id&client_secret=your_client_secret' \
|
|
42
|
+
--source-table 'grant_request:id,amount_requested,amount_recommended,granted' \
|
|
43
|
+
--dest-uri duckdb:///fluxx.duckdb \
|
|
44
|
+
--dest-table 'raw.grant_request'
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Tables
|
|
48
|
+
|
|
49
|
+
Fluxx source currently supports the following 50 tables:
|
|
50
|
+
|
|
51
|
+
### Core Resources
|
|
52
|
+
- `claim_expense_datum`: Individual data entries within claim expense forms with budget category details
|
|
53
|
+
- `claim_expense_row`: Specific line items or rows within claim expense forms
|
|
54
|
+
- `claim_expense`: Claim expense forms and templates for financial tracking
|
|
55
|
+
- `claim`: Grant claims and payment requests
|
|
56
|
+
- `concept_initiative`: Concept initiatives linking programs, initiatives, and sub-programs/sub-initiatives
|
|
57
|
+
- `dashboard_theme`: Dashboard theme configurations for UI customization
|
|
58
|
+
- `etl_claim_expense_datum`: ETL data for claim expense items with comprehensive budget tracking details
|
|
59
|
+
- `etl_grantee_budget_tracker_actual`: ETL data for actual grantee budget tracker amounts and expenses
|
|
60
|
+
- `etl_grantee_budget_tracker_period_datum`: ETL data for grantee budget tracker period information with detailed financial tracking
|
|
61
|
+
- `etl_relationship`: ETL data for entity relationships tracking connections between users, organizations, requests, and other entities
|
|
62
|
+
- `etl_request_budget`: ETL budget data for request funding sources with comprehensive financial details
|
|
63
|
+
- `etl_request_transaction_budget`: ETL budget data for request transaction funding sources including payment tracking
|
|
64
|
+
- `exempt_organization`: Tax-exempt organization data including EIN, classification, and financial information
|
|
65
|
+
- `geo_city`: City geographic data with coordinates and postal codes
|
|
66
|
+
- `geo_county`: County geographic data with FIPS codes
|
|
67
|
+
- `geo_place`: Geographic places with ancestry and location data
|
|
68
|
+
- `geo_region`: Geographic regions
|
|
69
|
+
- `geo_state`: State geographic data with abbreviations and FIPS codes
|
|
70
|
+
- `grant_request`: Grant applications and requests (300+ fields)
|
|
71
|
+
- `grantee_budget_category`: Budget category definitions used by grantees for expense tracking
|
|
72
|
+
- `grantee_budget_tracker_period_datum_actual`: Actual expenses and amounts recorded for budget tracking periods
|
|
73
|
+
- `grantee_budget_tracker_period_datum`: Budget data entries for specific tracking periods
|
|
74
|
+
- `grantee_budget_tracker_period`: Time periods for budget tracking with start and end dates
|
|
75
|
+
- `grantee_budget_tracker_row`: Individual budget line items and categories within budget trackers
|
|
76
|
+
- `grantee_budget_tracker`: Budget tracking documents for grantee financial management
|
|
77
|
+
- `integration_log`: Integration and system logs for tracking data processing and errors
|
|
78
|
+
- `mac_model_type_dyn_financial_audit`: Dynamic financial audit models with audit tracking, compliance status, and financial variance analysis
|
|
79
|
+
- `mac_model_type_dyn_mel`: Dynamic Monitoring, Evaluation & Learning (MEL) models with performance indicators, baseline tracking, and evaluation metrics
|
|
80
|
+
- `mac_model_type_dyn_tool`: Dynamic tool management models for tracking deployment status, usage metrics, and tool effectiveness
|
|
81
|
+
- `machine_category`: Machine category definitions for workflow state management
|
|
82
|
+
- `model_attribute_value`: Model attribute values with hierarchical data and dependencies
|
|
83
|
+
- `model_document_sub_type`: Document sub-type definitions and categories
|
|
84
|
+
- `model_document_type`: Document type configurations including DocuSign integration and permissions
|
|
85
|
+
- `model_document`: Document metadata including file information, storage details, and document relationships
|
|
86
|
+
- `model_theme`: Model themes for categorization and program hierarchy organization
|
|
87
|
+
- `organization`: Organizations (grantees, fiscal sponsors, etc.)
|
|
88
|
+
- `population_estimate_year`: Yearly population estimates with income and demographic breakdowns
|
|
89
|
+
- `population_estimate`: Population estimates by geographic area with demographic data
|
|
90
|
+
- `program`: Funding programs and initiatives
|
|
91
|
+
- `request_report`: Reports submitted for grants
|
|
92
|
+
- `request_transaction_funding_source`: Funding source details for specific request transactions
|
|
93
|
+
- `request_transaction`: Financial transactions and payments
|
|
94
|
+
- `request_user`: Relationships between requests and users with roles and descriptions
|
|
95
|
+
- `salesforce_authentication`: Salesforce authentication configurations with OAuth tokens, connection management, and API usage tracking
|
|
96
|
+
- `sub_initiative`: Sub-initiatives for detailed planning
|
|
97
|
+
- `sub_program`: Sub-programs under main programs
|
|
98
|
+
- `ui_version`: User interface version information and system configuration
|
|
99
|
+
- `user_organization`: Relationships between users and organizations with roles, departments, and contact details
|
|
100
|
+
- `user`: User accounts and profiles
|
|
101
|
+
|
|
102
|
+
### Field Selection
|
|
103
|
+
|
|
104
|
+
Each resource contains numerous fields. You can:
|
|
105
|
+
1. **Ingest all fields**: Use the resource name directly (e.g., `grant_request`)
|
|
106
|
+
2. **Select specific fields**: Use colon syntax (e.g., `grant_request:id,name,amount_requested`)
|
|
107
|
+
|
|
108
|
+
The field selection feature is particularly useful for large resources like `grant_request` which has over 300 fields.
|
|
109
|
+
|
|
110
|
+
## Authentication
|
|
111
|
+
|
|
112
|
+
Fluxx uses OAuth 2.0 with client credentials flow. To obtain credentials:
|
|
113
|
+
|
|
114
|
+
1. Contact your Fluxx administrator to create an API client
|
|
115
|
+
2. You'll receive a `client_id` and `client_secret`
|
|
116
|
+
3. Note your Fluxx instance subdomain (the part before `.fluxxlabs.com`)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# RevenueCat
|
|
2
|
+
|
|
3
|
+
[RevenueCat](https://www.revenuecat.com/) is a complete solution for implementing in-app subscriptions and purchases across all platforms, with real-time analytics and infrastructure for scaling subscription businesses.
|
|
4
|
+
|
|
5
|
+
ingestr supports RevenueCat as a source.
|
|
6
|
+
|
|
7
|
+
## URI format
|
|
8
|
+
|
|
9
|
+
The URI format for RevenueCat is:
|
|
10
|
+
|
|
11
|
+
```plaintext
|
|
12
|
+
revenuecat://?api_key=<api_key>&project_id=<project_id>
|
|
13
|
+
# or without project_id for projects table only
|
|
14
|
+
revenuecat://?api_key=<api_key>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
URI parameters:
|
|
18
|
+
|
|
19
|
+
- `api_key`: The API v2 secret key with Bearer token format used for authentication with the RevenueCat API.
|
|
20
|
+
- `project_id`: The RevenueCat project ID (required for customers, products, and related resources).
|
|
21
|
+
|
|
22
|
+
## Example usage
|
|
23
|
+
|
|
24
|
+
Assuming your API key is `rcat_v2_abc123` and project ID is `proj_abc123`, you can ingest customers into DuckDB using:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
ingestr ingest \
|
|
28
|
+
--source-uri 'revenuecat://?api_key=rcat_v2_abc123&project_id=proj_abc123' \
|
|
29
|
+
--source-table 'customers' \
|
|
30
|
+
--dest-uri duckdb:///revenuecat.duckdb \
|
|
31
|
+
--dest-table 'dest.customers'
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
To ingest projects (no project_id required):
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
ingestr ingest \
|
|
38
|
+
--source-uri 'revenuecat://?api_key=rcat_v2_abc123' \
|
|
39
|
+
--source-table 'projects' \
|
|
40
|
+
--dest-uri duckdb:///revenuecat.duckdb \
|
|
41
|
+
--dest-table 'dest.projects'
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## Tables
|
|
47
|
+
|
|
48
|
+
RevenueCat source allows ingesting the following tables:
|
|
49
|
+
|
|
50
|
+
- `projects`: Fetches all projects from your RevenueCat account.
|
|
51
|
+
- `customers`: Fetches all customers with nested purchases and subscriptions data.
|
|
52
|
+
- `products`: Fetches all products configured in your RevenueCat project.
|
|
53
|
+
|
|
54
|
+
Use these as the `--source-table` parameter in the `ingestr ingest` command.
|
|
55
|
+
|
|
56
|
+
## Notes
|
|
57
|
+
- The `project_id` parameter is required for customers and products tables but not for projects.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
version = "v0.13.86"
|
|
@@ -37,6 +37,7 @@ from ingestr.src.sources import (
|
|
|
37
37
|
DynamoDBSource,
|
|
38
38
|
ElasticsearchSource,
|
|
39
39
|
FacebookAdsSource,
|
|
40
|
+
FluxxSource,
|
|
40
41
|
FrankfurterSource,
|
|
41
42
|
FreshdeskSource,
|
|
42
43
|
GCSSource,
|
|
@@ -62,6 +63,7 @@ from ingestr.src.sources import (
|
|
|
62
63
|
PinterestSource,
|
|
63
64
|
PipedriveSource,
|
|
64
65
|
QuickBooksSource,
|
|
66
|
+
RevenueCatSource,
|
|
65
67
|
S3Source,
|
|
66
68
|
SalesforceSource,
|
|
67
69
|
SFTPSource,
|
|
@@ -152,6 +154,7 @@ class SourceDestinationFactory:
|
|
|
152
154
|
"chess": ChessSource,
|
|
153
155
|
"stripe": StripeAnalyticsSource,
|
|
154
156
|
"facebookads": FacebookAdsSource,
|
|
157
|
+
"fluxx": FluxxSource,
|
|
155
158
|
"slack": SlackSource,
|
|
156
159
|
"hubspot": HubspotSource,
|
|
157
160
|
"airtable": AirtableSource,
|
|
@@ -190,6 +193,7 @@ class SourceDestinationFactory:
|
|
|
190
193
|
"smartsheet": SmartsheetSource,
|
|
191
194
|
"sftp": SFTPSource,
|
|
192
195
|
"pinterest": PinterestSource,
|
|
196
|
+
"revenuecat": RevenueCatSource,
|
|
193
197
|
"zoom": ZoomSource,
|
|
194
198
|
"clickup": ClickupSource,
|
|
195
199
|
"influxdb": InfluxDBSource,
|