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.

Files changed (333) hide show
  1. {ingestr-0.13.85 → ingestr-0.13.86}/PKG-INFO +1 -1
  2. {ingestr-0.13.85 → ingestr-0.13.86}/docs/.vitepress/config.mjs +1 -0
  3. ingestr-0.13.86/docs/supported-sources/fluxx.md +116 -0
  4. ingestr-0.13.86/docs/supported-sources/revenuecat.md +57 -0
  5. ingestr-0.13.86/ingestr/src/buildinfo.py +1 -0
  6. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/factory.py +4 -0
  7. ingestr-0.13.86/ingestr/src/fluxx/__init__.py +5725 -0
  8. ingestr-0.13.86/ingestr/src/fluxx/helpers.py +216 -0
  9. ingestr-0.13.86/ingestr/src/frankfurter/__init__.py +161 -0
  10. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/frankfurter/helpers.py +4 -4
  11. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/linear/__init__.py +10 -9
  12. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/linear/helpers.py +20 -10
  13. ingestr-0.13.86/ingestr/src/revenuecat/__init__.py +103 -0
  14. ingestr-0.13.86/ingestr/src/revenuecat/helpers.py +262 -0
  15. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/sources.py +132 -13
  16. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/stripe_analytics/__init__.py +1 -18
  17. {ingestr-0.13.85 → ingestr-0.13.86}/pyproject.toml +3 -2
  18. ingestr-0.13.85/ingestr/src/buildinfo.py +0 -1
  19. ingestr-0.13.85/ingestr/src/frankfurter/__init__.py +0 -163
  20. {ingestr-0.13.85 → ingestr-0.13.86}/.dlt/config.toml +0 -0
  21. {ingestr-0.13.85 → ingestr-0.13.86}/.dockerignore +0 -0
  22. {ingestr-0.13.85 → ingestr-0.13.86}/.githooks/pre-commit-hook.sh +0 -0
  23. {ingestr-0.13.85 → ingestr-0.13.86}/.github/workflows/deploy-docs.yml +0 -0
  24. {ingestr-0.13.85 → ingestr-0.13.86}/.github/workflows/release.yml +0 -0
  25. {ingestr-0.13.85 → ingestr-0.13.86}/.github/workflows/secrets-scan.yml +0 -0
  26. {ingestr-0.13.85 → ingestr-0.13.86}/.github/workflows/tests.yml +0 -0
  27. {ingestr-0.13.85 → ingestr-0.13.86}/.gitignore +0 -0
  28. {ingestr-0.13.85 → ingestr-0.13.86}/.gitleaksignore +0 -0
  29. {ingestr-0.13.85 → ingestr-0.13.86}/.python-version +0 -0
  30. {ingestr-0.13.85 → ingestr-0.13.86}/.vale.ini +0 -0
  31. {ingestr-0.13.85 → ingestr-0.13.86}/Dockerfile +0 -0
  32. {ingestr-0.13.85 → ingestr-0.13.86}/LICENSE.md +0 -0
  33. {ingestr-0.13.85 → ingestr-0.13.86}/Makefile +0 -0
  34. {ingestr-0.13.85 → ingestr-0.13.86}/README.md +0 -0
  35. {ingestr-0.13.85 → ingestr-0.13.86}/docs/.vitepress/theme/custom.css +0 -0
  36. {ingestr-0.13.85 → ingestr-0.13.86}/docs/.vitepress/theme/index.js +0 -0
  37. {ingestr-0.13.85 → ingestr-0.13.86}/docs/commands/example-uris.md +0 -0
  38. {ingestr-0.13.85 → ingestr-0.13.86}/docs/commands/ingest.md +0 -0
  39. {ingestr-0.13.85 → ingestr-0.13.86}/docs/getting-started/core-concepts.md +0 -0
  40. {ingestr-0.13.85 → ingestr-0.13.86}/docs/getting-started/incremental-loading.md +0 -0
  41. {ingestr-0.13.85 → ingestr-0.13.86}/docs/getting-started/quickstart.md +0 -0
  42. {ingestr-0.13.85 → ingestr-0.13.86}/docs/getting-started/telemetry.md +0 -0
  43. {ingestr-0.13.85 → ingestr-0.13.86}/docs/index.md +0 -0
  44. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/applovin_max.png +0 -0
  45. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/athena.png +0 -0
  46. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/clickhouse_img.png +0 -0
  47. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/clickup_ingestion.png +0 -0
  48. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/cratedb-destination.png +0 -0
  49. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/cratedb-source.png +0 -0
  50. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/freshdesk_ingestion.png +0 -0
  51. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/gcp_spanner_ingestion.png +0 -0
  52. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/github.png +0 -0
  53. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/google_analytics_realtime_report.png +0 -0
  54. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/googleanalytics.png +0 -0
  55. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/ingestion_elasticsearch_img.png +0 -0
  56. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/kinesis.bigquery.png +0 -0
  57. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/linear.png +0 -0
  58. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/linkedin_ads.png +0 -0
  59. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/mixpanel_ingestion.png +0 -0
  60. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/personio.png +0 -0
  61. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/personio_duckdb.png +0 -0
  62. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/phantombuster.png +0 -0
  63. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/pipedrive.png +0 -0
  64. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/quickbook_ingestion.png +0 -0
  65. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/sftp.png +0 -0
  66. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/stripe_postgres.png +0 -0
  67. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/tiktok.png +0 -0
  68. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/wise_ingestion.png +0 -0
  69. {ingestr-0.13.85 → ingestr-0.13.86}/docs/media/zoom_ingestion.png +0 -0
  70. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/adjust.md +0 -0
  71. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/airtable.md +0 -0
  72. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/applovin.md +0 -0
  73. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/applovin_max.md +0 -0
  74. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/appsflyer.md +0 -0
  75. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/appstore.md +0 -0
  76. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/asana.md +0 -0
  77. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/athena.md +0 -0
  78. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/attio.md +0 -0
  79. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/bigquery.md +0 -0
  80. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/chess.md +0 -0
  81. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/clickhouse.md +0 -0
  82. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/clickup.md +0 -0
  83. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/cratedb.md +0 -0
  84. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/csv.md +0 -0
  85. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/custom_queries.md +0 -0
  86. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/databricks.md +0 -0
  87. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/db2.md +0 -0
  88. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/duckdb.md +0 -0
  89. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/dynamodb.md +0 -0
  90. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/elasticsearch.md +0 -0
  91. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/facebook-ads.md +0 -0
  92. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/frankfurter.md +0 -0
  93. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/freshdesk.md +0 -0
  94. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/gcs.md +0 -0
  95. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/github.md +0 -0
  96. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/google-ads.md +0 -0
  97. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/google_analytics.md +0 -0
  98. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/gorgias.md +0 -0
  99. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/gsheets.md +0 -0
  100. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/hubspot.md +0 -0
  101. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/influxdb.md +0 -0
  102. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/isoc-pulse.md +0 -0
  103. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/kafka.md +0 -0
  104. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/kinesis.md +0 -0
  105. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/klaviyo.md +0 -0
  106. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/linear.md +0 -0
  107. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/linkedin_ads.md +0 -0
  108. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/mixpanel.md +0 -0
  109. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/mongodb.md +0 -0
  110. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/motherduck.md +0 -0
  111. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/mssql.md +0 -0
  112. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/mysql.md +0 -0
  113. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/notion.md +0 -0
  114. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/oracle.md +0 -0
  115. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/personio.md +0 -0
  116. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/phantombuster.md +0 -0
  117. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/pinterest.md +0 -0
  118. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/pipedrive.md +0 -0
  119. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/postgres.md +0 -0
  120. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/quickbooks.md +0 -0
  121. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/redshift.md +0 -0
  122. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/s3.md +0 -0
  123. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/salesforce.md +0 -0
  124. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/sap-hana.md +0 -0
  125. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/sftp.md +0 -0
  126. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/shopify.md +0 -0
  127. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/slack.md +0 -0
  128. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/smartsheets.md +0 -0
  129. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/snowflake.md +0 -0
  130. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/solidgate.md +0 -0
  131. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/spanner.md +0 -0
  132. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/sqlite.md +0 -0
  133. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/stripe.md +0 -0
  134. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/tiktok-ads.md +0 -0
  135. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/trustpilot.md +0 -0
  136. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/wise.md +0 -0
  137. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/zendesk.md +0 -0
  138. {ingestr-0.13.85 → ingestr-0.13.86}/docs/supported-sources/zoom.md +0 -0
  139. {ingestr-0.13.85 → ingestr-0.13.86}/docs/tutorials/load-kinesis-bigquery.md +0 -0
  140. {ingestr-0.13.85 → ingestr-0.13.86}/docs/tutorials/load-personio-duckdb.md +0 -0
  141. {ingestr-0.13.85 → ingestr-0.13.86}/docs/tutorials/load-stripe-postgres.md +0 -0
  142. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/conftest.py +0 -0
  143. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/main.py +0 -0
  144. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/.gitignore +0 -0
  145. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/adjust/__init__.py +0 -0
  146. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/adjust/adjust_helpers.py +0 -0
  147. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/airtable/__init__.py +0 -0
  148. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/applovin/__init__.py +0 -0
  149. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/applovin_max/__init__.py +0 -0
  150. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/appsflyer/__init__.py +0 -0
  151. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/appsflyer/client.py +0 -0
  152. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/appstore/__init__.py +0 -0
  153. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/appstore/client.py +0 -0
  154. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/appstore/errors.py +0 -0
  155. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/appstore/models.py +0 -0
  156. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/appstore/resources.py +0 -0
  157. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/arrow/__init__.py +0 -0
  158. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/asana_source/__init__.py +0 -0
  159. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/asana_source/helpers.py +0 -0
  160. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/asana_source/settings.py +0 -0
  161. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/attio/__init__.py +0 -0
  162. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/attio/helpers.py +0 -0
  163. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/blob.py +0 -0
  164. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/chess/__init__.py +0 -0
  165. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/chess/helpers.py +0 -0
  166. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/chess/settings.py +0 -0
  167. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/clickup/__init__.py +0 -0
  168. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/clickup/helpers.py +0 -0
  169. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/collector/spinner.py +0 -0
  170. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/destinations.py +0 -0
  171. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/dynamodb/__init__.py +0 -0
  172. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/elasticsearch/__init__.py +0 -0
  173. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/errors.py +0 -0
  174. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/facebook_ads/__init__.py +0 -0
  175. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/facebook_ads/exceptions.py +0 -0
  176. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/facebook_ads/helpers.py +0 -0
  177. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/facebook_ads/settings.py +0 -0
  178. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/facebook_ads/utils.py +0 -0
  179. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/filesystem/__init__.py +0 -0
  180. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/filesystem/helpers.py +0 -0
  181. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/filesystem/readers.py +0 -0
  182. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/filters.py +0 -0
  183. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/freshdesk/__init__.py +0 -0
  184. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/freshdesk/freshdesk_client.py +0 -0
  185. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/freshdesk/settings.py +0 -0
  186. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/github/__init__.py +0 -0
  187. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/github/helpers.py +0 -0
  188. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/github/queries.py +0 -0
  189. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/github/settings.py +0 -0
  190. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_ads/__init__.py +0 -0
  191. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_ads/field.py +0 -0
  192. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_ads/metrics.py +0 -0
  193. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_ads/predicates.py +0 -0
  194. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_ads/reports.py +0 -0
  195. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_analytics/__init__.py +0 -0
  196. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_analytics/helpers.py +0 -0
  197. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_sheets/README.md +0 -0
  198. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_sheets/__init__.py +0 -0
  199. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_sheets/helpers/__init__.py +0 -0
  200. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_sheets/helpers/api_calls.py +0 -0
  201. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/google_sheets/helpers/data_processing.py +0 -0
  202. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/gorgias/__init__.py +0 -0
  203. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/gorgias/helpers.py +0 -0
  204. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/http_client.py +0 -0
  205. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/hubspot/__init__.py +0 -0
  206. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/hubspot/helpers.py +0 -0
  207. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/hubspot/settings.py +0 -0
  208. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/influxdb/__init__.py +0 -0
  209. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/influxdb/client.py +0 -0
  210. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/isoc_pulse/__init__.py +0 -0
  211. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/kafka/__init__.py +0 -0
  212. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/kafka/helpers.py +0 -0
  213. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/kinesis/__init__.py +0 -0
  214. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/kinesis/helpers.py +0 -0
  215. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/klaviyo/__init__.py +0 -0
  216. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/klaviyo/client.py +0 -0
  217. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/klaviyo/helpers.py +0 -0
  218. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/linkedin_ads/__init__.py +0 -0
  219. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/linkedin_ads/dimension_time_enum.py +0 -0
  220. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/linkedin_ads/helpers.py +0 -0
  221. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/loader.py +0 -0
  222. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/mixpanel/__init__.py +0 -0
  223. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/mixpanel/client.py +0 -0
  224. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/mongodb/__init__.py +0 -0
  225. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/mongodb/helpers.py +0 -0
  226. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/notion/__init__.py +0 -0
  227. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/notion/helpers/__init__.py +0 -0
  228. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/notion/helpers/client.py +0 -0
  229. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/notion/helpers/database.py +0 -0
  230. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/notion/settings.py +0 -0
  231. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/partition.py +0 -0
  232. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/personio/__init__.py +0 -0
  233. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/personio/helpers.py +0 -0
  234. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/phantombuster/__init__.py +0 -0
  235. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/phantombuster/client.py +0 -0
  236. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/pinterest/__init__.py +0 -0
  237. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/pipedrive/__init__.py +0 -0
  238. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/pipedrive/helpers/__init__.py +0 -0
  239. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/pipedrive/helpers/custom_fields_munger.py +0 -0
  240. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/pipedrive/helpers/pages.py +0 -0
  241. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/pipedrive/settings.py +0 -0
  242. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/pipedrive/typing.py +0 -0
  243. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/quickbooks/__init__.py +0 -0
  244. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/resource.py +0 -0
  245. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/salesforce/__init__.py +0 -0
  246. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/salesforce/helpers.py +0 -0
  247. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/shopify/__init__.py +0 -0
  248. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/shopify/exceptions.py +0 -0
  249. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/shopify/helpers.py +0 -0
  250. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/shopify/settings.py +0 -0
  251. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/slack/__init__.py +0 -0
  252. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/slack/helpers.py +0 -0
  253. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/slack/settings.py +0 -0
  254. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/smartsheets/__init__.py +0 -0
  255. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/solidgate/__init__.py +0 -0
  256. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/solidgate/helpers.py +0 -0
  257. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/sql_database/__init__.py +0 -0
  258. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/sql_database/callbacks.py +0 -0
  259. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/stripe_analytics/helpers.py +0 -0
  260. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/stripe_analytics/settings.py +0 -0
  261. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/table_definition.py +0 -0
  262. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/telemetry/event.py +0 -0
  263. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/testdata/fakebqcredentials.json +0 -0
  264. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/tiktok_ads/__init__.py +0 -0
  265. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/tiktok_ads/tiktok_helpers.py +0 -0
  266. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/time.py +0 -0
  267. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/trustpilot/__init__.py +0 -0
  268. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/trustpilot/client.py +0 -0
  269. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/version.py +0 -0
  270. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/wise/__init__.py +0 -0
  271. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/wise/client.py +0 -0
  272. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/zendesk/__init__.py +0 -0
  273. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/zendesk/helpers/__init__.py +0 -0
  274. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/zendesk/helpers/api_helpers.py +0 -0
  275. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/zendesk/helpers/credentials.py +0 -0
  276. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/zendesk/helpers/talk_api.py +0 -0
  277. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/zendesk/settings.py +0 -0
  278. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/zoom/__init__.py +0 -0
  279. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/src/zoom/helpers.py +0 -0
  280. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/testdata/.gitignore +0 -0
  281. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/testdata/create_replace.csv +0 -0
  282. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/testdata/delete_insert_expected.csv +0 -0
  283. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/testdata/delete_insert_part1.csv +0 -0
  284. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/testdata/delete_insert_part2.csv +0 -0
  285. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/testdata/merge_expected.csv +0 -0
  286. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/testdata/merge_part1.csv +0 -0
  287. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/testdata/merge_part2.csv +0 -0
  288. {ingestr-0.13.85 → ingestr-0.13.86}/ingestr/tests/unit/test_smartsheets.py +0 -0
  289. {ingestr-0.13.85 → ingestr-0.13.86}/package-lock.json +0 -0
  290. {ingestr-0.13.85 → ingestr-0.13.86}/package.json +0 -0
  291. {ingestr-0.13.85 → ingestr-0.13.86}/requirements-dev.txt +0 -0
  292. {ingestr-0.13.85 → ingestr-0.13.86}/requirements.in +0 -0
  293. {ingestr-0.13.85 → ingestr-0.13.86}/requirements.txt +0 -0
  294. {ingestr-0.13.85 → ingestr-0.13.86}/requirements_arm64.txt +0 -0
  295. {ingestr-0.13.85 → ingestr-0.13.86}/resources/demo.gif +0 -0
  296. {ingestr-0.13.85 → ingestr-0.13.86}/resources/demo.tape +0 -0
  297. {ingestr-0.13.85 → ingestr-0.13.86}/resources/ingestr.svg +0 -0
  298. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/AMPM.yml +0 -0
  299. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Acronyms.yml +0 -0
  300. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Colons.yml +0 -0
  301. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Contractions.yml +0 -0
  302. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/DateFormat.yml +0 -0
  303. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Ellipses.yml +0 -0
  304. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/EmDash.yml +0 -0
  305. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Exclamation.yml +0 -0
  306. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/FirstPerson.yml +0 -0
  307. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Gender.yml +0 -0
  308. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/GenderBias.yml +0 -0
  309. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/HeadingPunctuation.yml +0 -0
  310. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Headings.yml +0 -0
  311. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Latin.yml +0 -0
  312. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/LyHyphens.yml +0 -0
  313. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/OptionalPlurals.yml +0 -0
  314. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Ordinal.yml +0 -0
  315. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/OxfordComma.yml +0 -0
  316. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Parens.yml +0 -0
  317. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Passive.yml +0 -0
  318. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Periods.yml +0 -0
  319. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Quotes.yml +0 -0
  320. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Ranges.yml +0 -0
  321. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Semicolons.yml +0 -0
  322. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Slang.yml +0 -0
  323. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Spacing.yml +0 -0
  324. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Spelling.yml +0 -0
  325. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Units.yml +0 -0
  326. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/We.yml +0 -0
  327. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/Will.yml +0 -0
  328. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/WordList.yml +0 -0
  329. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/meta.json +0 -0
  330. {ingestr-0.13.85 → ingestr-0.13.86}/styles/Google/vocab.txt +0 -0
  331. {ingestr-0.13.85 → ingestr-0.13.86}/styles/bruin/Ingestr.yml +0 -0
  332. {ingestr-0.13.85 → ingestr-0.13.86}/styles/config/vocabularies/bruin/accept.txt +0 -0
  333. {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.85
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,