ingestr 0.13.93__tar.gz → 0.13.94__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 (339) hide show
  1. {ingestr-0.13.93 → ingestr-0.13.94}/PKG-INFO +1 -1
  2. {ingestr-0.13.93 → ingestr-0.13.94}/docs/.vitepress/config.mjs +1 -0
  3. ingestr-0.13.94/docs/supported-sources/docebo.md +75 -0
  4. ingestr-0.13.94/docs/supported-sources/fluxx.md +305 -0
  5. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/applovin/__init__.py +1 -1
  6. ingestr-0.13.94/ingestr/src/buildinfo.py +1 -0
  7. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/destinations.py +3 -7
  8. ingestr-0.13.94/ingestr/src/docebo/__init__.py +607 -0
  9. ingestr-0.13.94/ingestr/src/docebo/client.py +435 -0
  10. ingestr-0.13.94/ingestr/src/docebo/helpers.py +97 -0
  11. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/facebook_ads/__init__.py +5 -5
  12. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/factory.py +2 -0
  13. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/fluxx/__init__.py +11385 -0
  14. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/mongodb/helpers.py +32 -78
  15. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/sources.py +71 -4
  16. ingestr-0.13.93/docs/supported-sources/fluxx.md +0 -119
  17. ingestr-0.13.93/ingestr/src/buildinfo.py +0 -1
  18. {ingestr-0.13.93 → ingestr-0.13.94}/.dlt/config.toml +0 -0
  19. {ingestr-0.13.93 → ingestr-0.13.94}/.dockerignore +0 -0
  20. {ingestr-0.13.93 → ingestr-0.13.94}/.githooks/pre-commit-hook.sh +0 -0
  21. {ingestr-0.13.93 → ingestr-0.13.94}/.github/workflows/deploy-docs.yml +0 -0
  22. {ingestr-0.13.93 → ingestr-0.13.94}/.github/workflows/release.yml +0 -0
  23. {ingestr-0.13.93 → ingestr-0.13.94}/.github/workflows/secrets-scan.yml +0 -0
  24. {ingestr-0.13.93 → ingestr-0.13.94}/.github/workflows/tests.yml +0 -0
  25. {ingestr-0.13.93 → ingestr-0.13.94}/.gitignore +0 -0
  26. {ingestr-0.13.93 → ingestr-0.13.94}/.gitleaksignore +0 -0
  27. {ingestr-0.13.93 → ingestr-0.13.94}/.python-version +0 -0
  28. {ingestr-0.13.93 → ingestr-0.13.94}/.vale.ini +0 -0
  29. {ingestr-0.13.93 → ingestr-0.13.94}/Dockerfile +0 -0
  30. {ingestr-0.13.93 → ingestr-0.13.94}/LICENSE.md +0 -0
  31. {ingestr-0.13.93 → ingestr-0.13.94}/Makefile +0 -0
  32. {ingestr-0.13.93 → ingestr-0.13.94}/README.md +0 -0
  33. {ingestr-0.13.93 → ingestr-0.13.94}/docs/.vitepress/theme/custom.css +0 -0
  34. {ingestr-0.13.93 → ingestr-0.13.94}/docs/.vitepress/theme/index.js +0 -0
  35. {ingestr-0.13.93 → ingestr-0.13.94}/docs/commands/example-uris.md +0 -0
  36. {ingestr-0.13.93 → ingestr-0.13.94}/docs/commands/ingest.md +0 -0
  37. {ingestr-0.13.93 → ingestr-0.13.94}/docs/getting-started/core-concepts.md +0 -0
  38. {ingestr-0.13.93 → ingestr-0.13.94}/docs/getting-started/data-masking.md +0 -0
  39. {ingestr-0.13.93 → ingestr-0.13.94}/docs/getting-started/incremental-loading.md +0 -0
  40. {ingestr-0.13.93 → ingestr-0.13.94}/docs/getting-started/quickstart.md +0 -0
  41. {ingestr-0.13.93 → ingestr-0.13.94}/docs/getting-started/telemetry.md +0 -0
  42. {ingestr-0.13.93 → ingestr-0.13.94}/docs/index.md +0 -0
  43. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/applovin_max.png +0 -0
  44. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/athena.png +0 -0
  45. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/clickhouse_img.png +0 -0
  46. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/clickup_ingestion.png +0 -0
  47. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/cratedb-destination.png +0 -0
  48. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/cratedb-source.png +0 -0
  49. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/freshdesk_ingestion.png +0 -0
  50. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/gcp_spanner_ingestion.png +0 -0
  51. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/github.png +0 -0
  52. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/google_analytics_realtime_report.png +0 -0
  53. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/googleanalytics.png +0 -0
  54. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/ingestion_elasticsearch_img.png +0 -0
  55. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/kinesis.bigquery.png +0 -0
  56. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/linear.png +0 -0
  57. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/linkedin_ads.png +0 -0
  58. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/mixpanel_ingestion.png +0 -0
  59. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/personio.png +0 -0
  60. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/personio_duckdb.png +0 -0
  61. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/phantombuster.png +0 -0
  62. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/pipedrive.png +0 -0
  63. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/quickbook_ingestion.png +0 -0
  64. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/sftp.png +0 -0
  65. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/stripe_postgres.png +0 -0
  66. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/tiktok.png +0 -0
  67. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/wise_ingestion.png +0 -0
  68. {ingestr-0.13.93 → ingestr-0.13.94}/docs/media/zoom_ingestion.png +0 -0
  69. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/adjust.md +0 -0
  70. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/airtable.md +0 -0
  71. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/applovin.md +0 -0
  72. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/applovin_max.md +0 -0
  73. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/appsflyer.md +0 -0
  74. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/appstore.md +0 -0
  75. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/asana.md +0 -0
  76. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/athena.md +0 -0
  77. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/attio.md +0 -0
  78. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/bigquery.md +0 -0
  79. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/chess.md +0 -0
  80. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/clickhouse.md +0 -0
  81. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/clickup.md +0 -0
  82. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/cratedb.md +0 -0
  83. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/csv.md +0 -0
  84. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/custom_queries.md +0 -0
  85. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/databricks.md +0 -0
  86. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/db2.md +0 -0
  87. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/duckdb.md +0 -0
  88. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/dynamodb.md +0 -0
  89. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/elasticsearch.md +0 -0
  90. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/facebook-ads.md +0 -0
  91. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/frankfurter.md +0 -0
  92. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/freshdesk.md +0 -0
  93. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/gcs.md +0 -0
  94. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/github.md +0 -0
  95. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/google-ads.md +0 -0
  96. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/google_analytics.md +0 -0
  97. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/gorgias.md +0 -0
  98. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/gsheets.md +0 -0
  99. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/hubspot.md +0 -0
  100. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/influxdb.md +0 -0
  101. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/isoc-pulse.md +0 -0
  102. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/kafka.md +0 -0
  103. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/kinesis.md +0 -0
  104. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/klaviyo.md +0 -0
  105. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/linear.md +0 -0
  106. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/linkedin_ads.md +0 -0
  107. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/mixpanel.md +0 -0
  108. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/mongodb.md +0 -0
  109. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/motherduck.md +0 -0
  110. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/mssql.md +0 -0
  111. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/mysql.md +0 -0
  112. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/notion.md +0 -0
  113. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/oracle.md +0 -0
  114. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/personio.md +0 -0
  115. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/phantombuster.md +0 -0
  116. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/pinterest.md +0 -0
  117. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/pipedrive.md +0 -0
  118. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/postgres.md +0 -0
  119. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/quickbooks.md +0 -0
  120. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/redshift.md +0 -0
  121. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/revenuecat.md +0 -0
  122. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/s3.md +0 -0
  123. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/salesforce.md +0 -0
  124. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/sap-hana.md +0 -0
  125. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/sftp.md +0 -0
  126. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/shopify.md +0 -0
  127. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/slack.md +0 -0
  128. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/smartsheets.md +0 -0
  129. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/snowflake.md +0 -0
  130. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/solidgate.md +0 -0
  131. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/spanner.md +0 -0
  132. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/sqlite.md +0 -0
  133. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/stripe.md +0 -0
  134. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/tiktok-ads.md +0 -0
  135. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/trustpilot.md +0 -0
  136. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/wise.md +0 -0
  137. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/zendesk.md +0 -0
  138. {ingestr-0.13.93 → ingestr-0.13.94}/docs/supported-sources/zoom.md +0 -0
  139. {ingestr-0.13.93 → ingestr-0.13.94}/docs/tutorials/load-kinesis-bigquery.md +0 -0
  140. {ingestr-0.13.93 → ingestr-0.13.94}/docs/tutorials/load-personio-duckdb.md +0 -0
  141. {ingestr-0.13.93 → ingestr-0.13.94}/docs/tutorials/load-stripe-postgres.md +0 -0
  142. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/conftest.py +0 -0
  143. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/main.py +0 -0
  144. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/.gitignore +0 -0
  145. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/adjust/__init__.py +0 -0
  146. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/adjust/adjust_helpers.py +0 -0
  147. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/airtable/__init__.py +0 -0
  148. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/applovin_max/__init__.py +0 -0
  149. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/appsflyer/__init__.py +0 -0
  150. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/appsflyer/client.py +0 -0
  151. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/appstore/__init__.py +0 -0
  152. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/appstore/client.py +0 -0
  153. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/appstore/errors.py +0 -0
  154. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/appstore/models.py +0 -0
  155. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/appstore/resources.py +0 -0
  156. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/arrow/__init__.py +0 -0
  157. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/asana_source/__init__.py +0 -0
  158. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/asana_source/helpers.py +0 -0
  159. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/asana_source/settings.py +0 -0
  160. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/attio/__init__.py +0 -0
  161. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/attio/helpers.py +0 -0
  162. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/blob.py +0 -0
  163. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/chess/__init__.py +0 -0
  164. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/chess/helpers.py +0 -0
  165. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/chess/settings.py +0 -0
  166. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/clickup/__init__.py +0 -0
  167. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/clickup/helpers.py +0 -0
  168. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/collector/spinner.py +0 -0
  169. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/dynamodb/__init__.py +0 -0
  170. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/elasticsearch/__init__.py +0 -0
  171. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/errors.py +0 -0
  172. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/facebook_ads/exceptions.py +0 -0
  173. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/facebook_ads/helpers.py +0 -0
  174. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/facebook_ads/settings.py +0 -0
  175. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/facebook_ads/utils.py +0 -0
  176. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/filesystem/__init__.py +0 -0
  177. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/filesystem/helpers.py +0 -0
  178. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/filesystem/readers.py +0 -0
  179. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/filters.py +0 -0
  180. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/fluxx/helpers.py +0 -0
  181. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/frankfurter/__init__.py +0 -0
  182. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/frankfurter/helpers.py +0 -0
  183. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/freshdesk/__init__.py +0 -0
  184. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/freshdesk/freshdesk_client.py +0 -0
  185. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/freshdesk/settings.py +0 -0
  186. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/github/__init__.py +0 -0
  187. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/github/helpers.py +0 -0
  188. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/github/queries.py +0 -0
  189. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/github/settings.py +0 -0
  190. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/google_ads/__init__.py +0 -0
  191. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/google_ads/field.py +0 -0
  192. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/google_ads/metrics.py +0 -0
  193. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/google_ads/predicates.py +0 -0
  194. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/google_ads/reports.py +0 -0
  195. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/google_analytics/__init__.py +0 -0
  196. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/google_analytics/helpers.py +0 -0
  197. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/google_sheets/README.md +0 -0
  198. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/google_sheets/__init__.py +0 -0
  199. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/google_sheets/helpers/__init__.py +0 -0
  200. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/google_sheets/helpers/api_calls.py +0 -0
  201. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/google_sheets/helpers/data_processing.py +0 -0
  202. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/gorgias/__init__.py +0 -0
  203. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/gorgias/helpers.py +0 -0
  204. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/http_client.py +0 -0
  205. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/hubspot/__init__.py +0 -0
  206. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/hubspot/helpers.py +0 -0
  207. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/hubspot/settings.py +0 -0
  208. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/influxdb/__init__.py +0 -0
  209. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/influxdb/client.py +0 -0
  210. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/isoc_pulse/__init__.py +0 -0
  211. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/kafka/__init__.py +0 -0
  212. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/kafka/helpers.py +0 -0
  213. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/kinesis/__init__.py +0 -0
  214. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/kinesis/helpers.py +0 -0
  215. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/klaviyo/__init__.py +0 -0
  216. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/klaviyo/client.py +0 -0
  217. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/klaviyo/helpers.py +0 -0
  218. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/linear/__init__.py +0 -0
  219. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/linear/helpers.py +0 -0
  220. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/linkedin_ads/__init__.py +0 -0
  221. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/linkedin_ads/dimension_time_enum.py +0 -0
  222. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/linkedin_ads/helpers.py +0 -0
  223. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/loader.py +0 -0
  224. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/masking.py +0 -0
  225. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/mixpanel/__init__.py +0 -0
  226. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/mixpanel/client.py +0 -0
  227. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/mongodb/__init__.py +0 -0
  228. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/notion/__init__.py +0 -0
  229. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/notion/helpers/__init__.py +0 -0
  230. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/notion/helpers/client.py +0 -0
  231. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/notion/helpers/database.py +0 -0
  232. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/notion/settings.py +0 -0
  233. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/partition.py +0 -0
  234. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/personio/__init__.py +0 -0
  235. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/personio/helpers.py +0 -0
  236. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/phantombuster/__init__.py +0 -0
  237. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/phantombuster/client.py +0 -0
  238. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/pinterest/__init__.py +0 -0
  239. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/pipedrive/__init__.py +0 -0
  240. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/pipedrive/helpers/__init__.py +0 -0
  241. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/pipedrive/helpers/custom_fields_munger.py +0 -0
  242. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/pipedrive/helpers/pages.py +0 -0
  243. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/pipedrive/settings.py +0 -0
  244. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/pipedrive/typing.py +0 -0
  245. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/quickbooks/__init__.py +0 -0
  246. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/resource.py +0 -0
  247. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/revenuecat/__init__.py +0 -0
  248. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/revenuecat/helpers.py +0 -0
  249. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/salesforce/__init__.py +0 -0
  250. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/salesforce/helpers.py +0 -0
  251. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/shopify/__init__.py +0 -0
  252. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/shopify/exceptions.py +0 -0
  253. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/shopify/helpers.py +0 -0
  254. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/shopify/settings.py +0 -0
  255. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/slack/__init__.py +0 -0
  256. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/slack/helpers.py +0 -0
  257. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/slack/settings.py +0 -0
  258. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/smartsheets/__init__.py +0 -0
  259. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/solidgate/__init__.py +0 -0
  260. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/solidgate/helpers.py +0 -0
  261. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/sql_database/__init__.py +0 -0
  262. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/sql_database/callbacks.py +0 -0
  263. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/stripe_analytics/__init__.py +0 -0
  264. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/stripe_analytics/helpers.py +0 -0
  265. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/stripe_analytics/settings.py +0 -0
  266. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/table_definition.py +0 -0
  267. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/telemetry/event.py +0 -0
  268. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/testdata/fakebqcredentials.json +0 -0
  269. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/tiktok_ads/__init__.py +0 -0
  270. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/tiktok_ads/tiktok_helpers.py +0 -0
  271. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/time.py +0 -0
  272. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/trustpilot/__init__.py +0 -0
  273. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/trustpilot/client.py +0 -0
  274. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/version.py +0 -0
  275. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/wise/__init__.py +0 -0
  276. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/wise/client.py +0 -0
  277. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/zendesk/__init__.py +0 -0
  278. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/zendesk/helpers/__init__.py +0 -0
  279. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/zendesk/helpers/api_helpers.py +0 -0
  280. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/zendesk/helpers/credentials.py +0 -0
  281. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/zendesk/helpers/talk_api.py +0 -0
  282. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/zendesk/settings.py +0 -0
  283. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/zoom/__init__.py +0 -0
  284. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/src/zoom/helpers.py +0 -0
  285. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/testdata/.gitignore +0 -0
  286. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/testdata/create_replace.csv +0 -0
  287. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/testdata/delete_insert_expected.csv +0 -0
  288. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/testdata/delete_insert_part1.csv +0 -0
  289. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/testdata/delete_insert_part2.csv +0 -0
  290. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/testdata/merge_expected.csv +0 -0
  291. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/testdata/merge_part1.csv +0 -0
  292. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/testdata/merge_part2.csv +0 -0
  293. {ingestr-0.13.93 → ingestr-0.13.94}/ingestr/tests/unit/test_smartsheets.py +0 -0
  294. {ingestr-0.13.93 → ingestr-0.13.94}/package-lock.json +0 -0
  295. {ingestr-0.13.93 → ingestr-0.13.94}/package.json +0 -0
  296. {ingestr-0.13.93 → ingestr-0.13.94}/pyproject.toml +0 -0
  297. {ingestr-0.13.93 → ingestr-0.13.94}/requirements-dev.txt +0 -0
  298. {ingestr-0.13.93 → ingestr-0.13.94}/requirements.in +0 -0
  299. {ingestr-0.13.93 → ingestr-0.13.94}/requirements.txt +0 -0
  300. {ingestr-0.13.93 → ingestr-0.13.94}/requirements_arm64.txt +0 -0
  301. {ingestr-0.13.93 → ingestr-0.13.94}/resources/demo.gif +0 -0
  302. {ingestr-0.13.93 → ingestr-0.13.94}/resources/demo.tape +0 -0
  303. {ingestr-0.13.93 → ingestr-0.13.94}/resources/ingestr.svg +0 -0
  304. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/AMPM.yml +0 -0
  305. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Acronyms.yml +0 -0
  306. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Colons.yml +0 -0
  307. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Contractions.yml +0 -0
  308. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/DateFormat.yml +0 -0
  309. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Ellipses.yml +0 -0
  310. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/EmDash.yml +0 -0
  311. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Exclamation.yml +0 -0
  312. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/FirstPerson.yml +0 -0
  313. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Gender.yml +0 -0
  314. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/GenderBias.yml +0 -0
  315. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/HeadingPunctuation.yml +0 -0
  316. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Headings.yml +0 -0
  317. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Latin.yml +0 -0
  318. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/LyHyphens.yml +0 -0
  319. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/OptionalPlurals.yml +0 -0
  320. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Ordinal.yml +0 -0
  321. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/OxfordComma.yml +0 -0
  322. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Parens.yml +0 -0
  323. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Passive.yml +0 -0
  324. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Periods.yml +0 -0
  325. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Quotes.yml +0 -0
  326. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Ranges.yml +0 -0
  327. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Semicolons.yml +0 -0
  328. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Slang.yml +0 -0
  329. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Spacing.yml +0 -0
  330. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Spelling.yml +0 -0
  331. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Units.yml +0 -0
  332. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/We.yml +0 -0
  333. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/Will.yml +0 -0
  334. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/WordList.yml +0 -0
  335. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/meta.json +0 -0
  336. {ingestr-0.13.93 → ingestr-0.13.94}/styles/Google/vocab.txt +0 -0
  337. {ingestr-0.13.93 → ingestr-0.13.94}/styles/bruin/Ingestr.yml +0 -0
  338. {ingestr-0.13.93 → ingestr-0.13.94}/styles/config/vocabularies/bruin/accept.txt +0 -0
  339. {ingestr-0.13.93 → ingestr-0.13.94}/test.env.template +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ingestr
3
- Version: 0.13.93
3
+ Version: 0.13.94
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
@@ -122,6 +122,7 @@ export default defineConfig({
122
122
  { text: "Attio", link: "/supported-sources/attio.md" },
123
123
  { text: "Chess.com", link: "/supported-sources/chess.md" },
124
124
  { text: "ClickUp", link: "/supported-sources/clickup.md" },
125
+ { text: "Docebo", link: "/supported-sources/docebo.md" },
125
126
  {
126
127
  text: "Facebook Ads",
127
128
  link: "/supported-sources/facebook-ads.md",
@@ -0,0 +1,75 @@
1
+ # Docebo
2
+
3
+ [Docebo](https://www.docebo.com/) is a cloud-based Learning Management System (LMS) platform that provides enterprise learning solutions for employee training, customer education, and partner enablement.
4
+
5
+ ingestr supports Docebo as a source.
6
+
7
+ ## URI format
8
+
9
+ The URI format for Docebo is as follows:
10
+
11
+ ```plaintext
12
+ docebo://?base_url=<base_url>&client_id=<client_id>&client_secret=<client_secret>&username=<username>&password=<password>
13
+ ```
14
+
15
+ URI parameters:
16
+ - `base_url`: the base URL of your Docebo instance (e.g., `https://yourcompany.docebosaas.com`)
17
+ - `client_id`: OAuth2 client ID for API authentication
18
+ - `client_secret`: OAuth2 client secret for API authentication
19
+ - `username`: (optional) username for password grant type authentication
20
+ - `password`: (optional) password for password grant type authentication
21
+
22
+ ## Setting up a Docebo Integration
23
+
24
+ To obtain your Docebo API credentials:
25
+
26
+ 1. Log in to your Docebo platform as a Super Admin
27
+ 2. Navigate to **Settings** → **API and SSO**
28
+ 3. Create a new OAuth2 application
29
+ 4. Note the Client ID and Client Secret
30
+ 5. Configure the appropriate scopes for your integration needs
31
+
32
+ You can use either:
33
+ - **Client Credentials Grant**: Use only `client_id` and `client_secret` (recommended for server-to-server integrations)
34
+ - **Password Grant**: Include `username` and `password` along with client credentials (for user-specific access)
35
+
36
+ Here's a sample command that will copy data from Docebo into a DuckDB database:
37
+
38
+ ```bash
39
+ ingestr ingest \
40
+ --source-uri 'docebo://?base_url=https://yourcompany.docebosaas.com&client_id=your_client_id&client_secret=your_client_secret' \
41
+ --source-table 'users' \
42
+ --dest-uri duckdb:///docebo.duckdb \
43
+ --dest-table 'dest.users'
44
+ ```
45
+
46
+ ## Tables
47
+
48
+ Docebo source supports ingesting the following sources into separate tables:
49
+
50
+ | Table | PK | Inc Key | Inc Strategy | Details |
51
+ |-------|----|---------|--------------|---------|
52
+ | [branches](https://help.docebo.com/hc/en-us/articles/360019499600) | - | - | replace | Organizational units/branches in the org chart. Full reload on each run. |
53
+ | [categories](https://help.docebo.com/hc/en-us/articles/360019499600) | - | - | replace | Course categories for organizing content. Full reload on each run. |
54
+ | [certifications](https://help.docebo.com/hc/en-us/articles/360019499600) | - | - | replace | Certification programs and their configurations. Full reload on each run. |
55
+ | [course_enrollments](https://help.docebo.com/hc/en-us/articles/360019499600) | - | - | replace | All course enrollment records with completion status. Full reload on each run. |
56
+ | [course_fields](https://help.docebo.com/hc/en-us/articles/360019499600) | - | - | replace | Custom course field definitions. Full reload on each run. |
57
+ | [course_learning_objects](https://help.docebo.com/hc/en-us/articles/360019499600) | - | - | replace | Learning objects (modules) within all courses. Full reload on each run. |
58
+ | [courses](https://help.docebo.com/hc/en-us/articles/360019499600) | - | - | replace | All courses in the platform including e-learning, ILT, and webinars. Full reload on each run. |
59
+ | [external_training](https://help.docebo.com/hc/en-us/articles/360019499600) | - | - | replace | External training records tracked in Docebo. Full reload on each run. |
60
+ | [group_members](https://help.docebo.com/hc/en-us/articles/360019499600) | - | - | replace | Membership records for all groups. Full reload on each run. |
61
+ | [groups](https://help.docebo.com/hc/en-us/articles/360019499600) | - | - | replace | User groups/audiences for organizing learners. Full reload on each run. |
62
+ | [learning_plan_course_enrollments](https://help.docebo.com/hc/en-us/articles/360019499600) | - | - | replace | Course enrollments within learning plans. Full reload on each run. |
63
+ | [learning_plan_enrollments](https://help.docebo.com/hc/en-us/articles/360019499600) | - | - | replace | User enrollments in learning plans. Full reload on each run. |
64
+ | [learning_plans](https://help.docebo.com/hc/en-us/articles/360019499600) | - | - | replace | Learning plans (learning paths) that group courses. Full reload on each run. |
65
+ | [sessions](https://help.docebo.com/hc/en-us/articles/360019499600) | - | - | replace | ILT/classroom sessions for instructor-led courses. Full reload on each run. |
66
+ | [user_fields](https://help.docebo.com/hc/en-us/articles/360019499600) | - | - | replace | Custom user field definitions. Full reload on each run. |
67
+ | [users](https://help.docebo.com/hc/en-us/articles/360019499600) | - | - | replace | All platform users including learners, instructors, and administrators. Full reload on each run. |
68
+
69
+ Use the table name as the `--source-table` parameter in the `ingestr ingest` command.
70
+
71
+ > [!WARNING]
72
+ > Docebo does not currently support incremental loading, which means ingestr will do a full-refresh on each run.
73
+
74
+ > [!NOTE]
75
+ > Date fields containing invalid dates (e.g., '0000-00-00') are automatically normalized to Unix epoch (1970-01-01) for compatibility.
@@ -0,0 +1,305 @@
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 allows ingesting the following sources into separate tables:
50
+
51
+ | Table | PK | Inc Key | Inc Strategy | Details |
52
+ | ----- | -- | ------- | ------------ | ------- |
53
+ | `adhoc_report` | id | - | replace | Ad-hoc reports with SQL queries, filters, columns configuration, and report metadata |
54
+ | `affiliate` | id | - | replace | User affiliations with organizations including contact information, roles, and membership details |
55
+ | `claim` | id | - | replace | Grant claims and payment requests with approval status, amounts, and dates |
56
+ | `claim_expense` | id | - | replace | Claim expense forms and templates for financial tracking |
57
+ | `claim_expense_datum` | id | - | replace | Individual data entries within claim expense forms with budget category details |
58
+ | `claim_expense_row` | id | - | replace | Specific line items or rows within claim expense forms |
59
+ | `concept_initiative` | id | - | replace | Concept initiatives linking programs, initiatives, and sub-programs/sub-initiatives |
60
+ | `dashboard_theme` | id | - | replace | Dashboard theme configurations for UI customization |
61
+ | `etl_claim_expense_datum` | id | - | replace | ETL data for claim expense items with comprehensive budget tracking details |
62
+ | `etl_grantee_budget_tracker_actual` | id | - | replace | ETL data for actual grantee budget tracker amounts and expenses |
63
+ | `etl_grantee_budget_tracker_period_datum` | id | - | replace | ETL data for grantee budget tracker period information with detailed financial tracking |
64
+ | `etl_relationship` | id | - | replace | ETL data for entity relationships tracking connections between users, organizations, requests, and other entities |
65
+ | `etl_request_budget` | id | - | replace | ETL budget data for request funding sources with comprehensive financial details |
66
+ | `etl_request_transaction_budget` | id | - | replace | ETL budget data for request transaction funding sources including payment tracking |
67
+ | `exempt_organization` | id | - | replace | Tax-exempt organization data including EIN, classification, and financial information |
68
+ | `geo_city` | id | - | replace | City geographic data with coordinates and postal codes |
69
+ | `geo_county` | id | - | replace | County geographic data with FIPS codes |
70
+ | `geo_place` | id | - | replace | Geographic places with ancestry and location data |
71
+ | `geo_region` | id | - | replace | Geographic regions |
72
+ | `geo_state` | id | - | replace | State geographic data with abbreviations and FIPS codes |
73
+ | `grant_request` | id | - | replace | Grant applications and requests with comprehensive details (300+ fields) |
74
+ | `grantee_budget_category` | id | - | replace | Budget category definitions used by grantees for expense tracking |
75
+ | `grantee_budget_tracker` | id | - | replace | Budget tracking documents for grantee financial management |
76
+ | `grantee_budget_tracker_period` | id | - | replace | Time periods for budget tracking with start and end dates |
77
+ | `grantee_budget_tracker_period_datum` | id | - | replace | Budget data entries for specific tracking periods |
78
+ | `grantee_budget_tracker_period_datum_actual` | id | - | replace | Actual expenses and amounts recorded for budget tracking periods |
79
+ | `grantee_budget_tracker_row` | id | - | replace | Individual budget line items and categories within budget trackers |
80
+ | `integration_log` | id | - | replace | Integration and system logs for tracking data processing and errors |
81
+ | `mac_model_type_dyn_financial_audit` | id | - | replace | Dynamic financial audit models with audit tracking, compliance status, and financial variance analysis |
82
+ | `mac_model_type_dyn_mel` | id | - | replace | Dynamic Monitoring, Evaluation & Learning (MEL) models with performance indicators, baseline tracking, and evaluation metrics |
83
+ | `mac_model_type_dyn_tool` | id | - | replace | Dynamic tool management models for tracking deployment status, usage metrics, and tool effectiveness |
84
+ | `machine_category` | id | - | replace | Machine category definitions for workflow state management |
85
+ | `model_attribute_value` | id | - | replace | Model attribute values with hierarchical data and dependencies |
86
+ | `model_document` | id | - | replace | Document metadata including file information, storage details, and document relationships |
87
+ | `model_document_sub_type` | id | - | replace | Document sub-type definitions and categories |
88
+ | `model_document_type` | id | - | replace | Document type configurations including DocuSign integration and permissions |
89
+ | `model_theme` | id | - | replace | Model themes for categorization and program hierarchy organization |
90
+ | `organization` | id | - | replace | Organizations (grantees, fiscal sponsors, etc.) with contact information and tax details |
91
+ | `population_estimate` | id | - | replace | Population estimates by geographic area with demographic data |
92
+ | `population_estimate_year` | id | - | replace | Yearly population estimates with income and demographic breakdowns |
93
+ | `program` | id | - | replace | Funding programs and initiatives |
94
+ | `request_report` | id | - | replace | Reports submitted for grants |
95
+ | `request_transaction` | id | - | replace | Financial transactions and payments |
96
+ | `request_transaction_funding_source` | id | - | replace | Funding source details for specific request transactions |
97
+ | `request_user` | id | - | replace | Relationships between requests and users with roles and descriptions |
98
+ | `salesforce_authentication` | id | - | replace | Salesforce authentication configurations with OAuth tokens, connection management, and API usage tracking |
99
+ | `sub_initiative` | id | - | replace | Sub-initiatives for detailed planning |
100
+ | `sub_program` | id | - | replace | Sub-programs under main programs |
101
+ | `ui_version` | id | - | replace | User interface version information and system configuration |
102
+ | `user` | id | - | replace | User accounts and profiles |
103
+ | `user_organization` | id | - | replace | Relationships between users and organizations with roles, departments, and contact details |
104
+ | `affiliate_type` | id | - | replace | Affiliate Type management and tracking |
105
+ | `aha_requirements_tickets` | id | - | replace | Aha Requirements Tickets management and tracking |
106
+ | `alert` | id | - | replace | Alert management and tracking |
107
+ | `alert_email_user` | id | - | replace | Alert Email User management and tracking |
108
+ | `alert_model_log` | id | - | replace | Alert Model Log management and tracking |
109
+ | `alert_recipient` | id | - | replace | Alert Recipient management and tracking |
110
+ | `alert_transition_state` | id | - | replace | Alert Transition State management and tracking |
111
+ | `bank_account` | id | - | replace | Bank Account management and tracking |
112
+ | `budget_request` | id | - | replace | Budget Request management and tracking |
113
+ | `card_configuration` | id | - | replace | Card Configuration management and tracking |
114
+ | `census_code_result` | id | - | replace | Census Code Result management and tracking |
115
+ | `census_config` | id | - | replace | Census Config management and tracking |
116
+ | `claim_expense_row_document` | id | - | replace | Claim Expense Row Document management and tracking |
117
+ | `clean_calculation` | id | - | replace | Clean Calculation management and tracking |
118
+ | `client_configuration` | id | - | replace | Client Configuration management and tracking |
119
+ | `client_store` | id | - | replace | Client Store management and tracking |
120
+ | `client_store_dashboard_group` | id | - | replace | Client Store Dashboard Group management and tracking |
121
+ | `clone_ancestry` | id | - | replace | Clone Ancestry management and tracking |
122
+ | `code_block_conversion` | id | - | replace | Code Block Conversion management and tracking |
123
+ | `coi` | id | - | replace | Coi management and tracking |
124
+ | `compliance_checklist_item` | id | - | replace | Compliance Checklist Item management and tracking |
125
+ | `config_model_document` | id | - | replace | Config Model Document management and tracking |
126
+ | `configuration_value` | id | - | replace | Configuration Value management and tracking |
127
+ | `cpi` | id | - | replace | Cpi management and tracking |
128
+ | `dashboard_group` | id | - | replace | Dashboard Group management and tracking |
129
+ | `dashboard_template` | id | - | replace | Dashboard Template management and tracking |
130
+ | `demographic_category` | id | - | replace | Demographic Category management and tracking |
131
+ | `demographic_item` | id | - | replace | Demographic Item management and tracking |
132
+ | `document` | id | - | replace | Document management and tracking |
133
+ | `docusign_token` | id | - | replace | Docusign Token management and tracking |
134
+ | `email_user` | id | - | replace | Email User management and tracking |
135
+ | `expirable_token` | id | - | replace | Expirable Token management and tracking |
136
+ | `extract_format` | id | - | replace | Extract Format management and tracking |
137
+ | `favorite` | id | - | replace | Favorite management and tracking |
138
+ | `field_list` | id | - | replace | Field List management and tracking |
139
+ | `filter` | id | - | replace | Filter management and tracking |
140
+ | `form` | id | - | replace | Form management and tracking |
141
+ | `form_element` | id | - | replace | Form Element management and tracking |
142
+ | `fund` | id | - | replace | Fund management and tracking |
143
+ | `fund_docket` | id | - | replace | Fund Docket management and tracking |
144
+ | `fund_line_item` | id | - | replace | Fund Line Item management and tracking |
145
+ | `funding_source` | id | - | replace | Funding Source management and tracking |
146
+ | `funding_source_allocation` | id | - | replace | Funding Source Allocation management and tracking |
147
+ | `funding_source_allocation_authority` | id | - | replace | Funding Source Allocation Authority management and tracking |
148
+ | `funding_source_forecast` | id | - | replace | Funding Source Forecast management and tracking |
149
+ | `fx_conversion` | id | - | replace | Fx Conversion management and tracking |
150
+ | `fx_type` | id | - | replace | Fx Type management and tracking |
151
+ | `generic_template` | id | - | replace | Generic Template management and tracking |
152
+ | `geo_country` | id | - | replace | Geo Country management and tracking |
153
+ | `geo_place_relationship` | id | - | replace | Geo Place Relationship management and tracking |
154
+ | `grant_outcome` | id | - | replace | Grant Outcome management and tracking |
155
+ | `grant_outcome_progress_report` | id | - | replace | Grant Outcome Progress Report management and tracking |
156
+ | `grant_outcome_progress_report_row` | id | - | replace | Grant Outcome Progress Report Row management and tracking |
157
+ | `grant_outcome_row` | id | - | replace | Grant Outcome Row management and tracking |
158
+ | `grant_output` | id | - | replace | Grant Output management and tracking |
159
+ | `grant_output_period` | id | - | replace | Grant Output Period management and tracking |
160
+ | `grant_output_period_datum` | id | - | replace | Grant Output Period Datum management and tracking |
161
+ | `grant_output_progress_report` | id | - | replace | Grant Output Progress Report management and tracking |
162
+ | `grant_output_progress_report_datum` | id | - | replace | Grant Output Progress Report Datum management and tracking |
163
+ | `grant_output_row` | id | - | replace | Grant Output Row management and tracking |
164
+ | `grantee_budget` | id | - | replace | Grantee Budget management and tracking |
165
+ | `grantee_budget_category_group` | id | - | replace | Grantee Budget Category Group management and tracking |
166
+ | `grantee_budget_category_group_relationship` | id | - | replace | Grantee Budget Category Group Relationship management and tracking |
167
+ | `grantee_budget_tracker_period_amendment` | id | - | replace | Grantee Budget Tracker Period Amendment management and tracking |
168
+ | `grantee_whitelist` | id | - | replace | Grantee Whitelist management and tracking |
169
+ | `group` | id | - | replace | Group management and tracking |
170
+ | `group_member` | id | - | replace | Group Member management and tracking |
171
+ | `gs_stream` | id | - | replace | Gs Stream management and tracking |
172
+ | `gs_stream_document` | id | - | replace | Gs Stream Document management and tracking |
173
+ | `gs_stream_gs_tag` | id | - | replace | Gs Stream Gs Tag management and tracking |
174
+ | `gs_stream_request` | id | - | replace | Gs Stream Request management and tracking |
175
+ | `gs_tag` | id | - | replace | Gs Tag management and tracking |
176
+ | `indicator` | id | - | replace | Indicator management and tracking |
177
+ | `integration_filter` | id | - | replace | Integration Filter management and tracking |
178
+ | `job` | id | - | replace | Job management and tracking |
179
+ | `language` | id | - | replace | Language management and tracking |
180
+ | `login_attempt` | id | - | replace | Login Attempt management and tracking |
181
+ | `loi` | id | - | replace | Loi management and tracking |
182
+ | `machine_event` | id | - | replace | Machine Event management and tracking |
183
+ | `machine_event_from_state` | id | - | replace | Machine Event From State management and tracking |
184
+ | `machine_event_role` | id | - | replace | Machine Event Role management and tracking |
185
+ | `machine_model_type` | id | - | replace | Machine Model Type management and tracking |
186
+ | `machine_state` | id | - | replace | Machine State management and tracking |
187
+ | `machine_state_category` | id | - | replace | Machine State Category management and tracking |
188
+ | `machine_state_group` | id | - | replace | Machine State Group management and tracking |
189
+ | `machine_workflow` | id | - | replace | Machine Workflow management and tracking |
190
+ | `machine_workflow_fork` | id | - | replace | Machine Workflow Fork management and tracking |
191
+ | `matching_gift_profile` | id | - | replace | Matching Gift Profile management and tracking |
192
+ | `mention` | id | - | replace | Mention management and tracking |
193
+ | `migrate_row` | id | - | replace | Migrate Row management and tracking |
194
+ | `migration` | id | - | replace | Migration management and tracking |
195
+ | `migration_config` | id | - | replace | Migration Config management and tracking |
196
+ | `migration_config_column` | id | - | replace | Migration Config Column management and tracking |
197
+ | `migration_config_model` | id | - | replace | Migration Config Model management and tracking |
198
+ | `migration_config_model_link` | id | - | replace | Migration Config Model Link management and tracking |
199
+ | `migration_file` | id | - | replace | Migration File management and tracking |
200
+ | `model_attribute` | id | - | replace | Model Attribute management and tracking |
201
+ | `model_attribute_choice` | id | - | replace | Model Attribute Choice management and tracking |
202
+ | `model_clone_configuration` | id | - | replace | Model Clone Configuration management and tracking |
203
+ | `model_document_dynamic_recipient` | id | - | replace | Model Document Dynamic Recipient management and tracking |
204
+ | `model_document_master` | id | - | replace | Model Document Master management and tracking |
205
+ | `model_document_sign` | id | - | replace | Model Document Sign management and tracking |
206
+ | `model_document_sign_envelope` | id | - | replace | Model Document Sign Envelope management and tracking |
207
+ | `model_document_template` | id | - | replace | Model Document Template management and tracking |
208
+ | `model_email` | id | - | replace | Model Email management and tracking |
209
+ | `model_method` | id | - | replace | Model Method management and tracking |
210
+ | `model_summary` | id | - | replace | Model Summary management and tracking |
211
+ | `model_validation` | id | - | replace | Model Validation management and tracking |
212
+ | `model_validation_field` | id | - | replace | Model Validation Field management and tracking |
213
+ | `modification` | id | - | replace | Modification management and tracking |
214
+ | `multi_element_choice` | id | - | replace | Multi Element Choice management and tracking |
215
+ | `multi_element_group` | id | - | replace | Multi Element Group management and tracking |
216
+ | `multi_element_value` | id | - | replace | Multi Element Value management and tracking |
217
+ | `note` | id | - | replace | Note management and tracking |
218
+ | `ofac_person` | id | - | replace | Ofac Person management and tracking |
219
+ | `organization_connection_request` | id | - | replace | Organization Connection Request management and tracking |
220
+ | `outcome` | id | - | replace | Outcome management and tracking |
221
+ | `periodic_sync` | id | - | replace | Periodic Sync management and tracking |
222
+ | `perishable_token` | id | - | replace | Perishable Token management and tracking |
223
+ | `permission_delegator` | id | - | replace | Permission Delegator management and tracking |
224
+ | `persona` | id | - | replace | Persona management and tracking |
225
+ | `post` | id | - | replace | Post management and tracking |
226
+ | `post_relationship` | id | - | replace | Post Relationship management and tracking |
227
+ | `post_view` | id | - | replace | Post View management and tracking |
228
+ | `primary_contact_tenure` | id | - | replace | Primary Contact Tenure management and tracking |
229
+ | `program_budget` | id | - | replace | Program Budget management and tracking |
230
+ | `project` | id | - | replace | Project management and tracking |
231
+ | `project_list` | id | - | replace | Project List management and tracking |
232
+ | `project_list_item` | id | - | replace | Project List Item management and tracking |
233
+ | `project_organization` | id | - | replace | Project Organization management and tracking |
234
+ | `project_request` | id | - | replace | Project Request management and tracking |
235
+ | `project_user` | id | - | replace | Project User management and tracking |
236
+ | `real_me_invitation` | id | - | replace | Real Me Invitation management and tracking |
237
+ | `realtime_update` | id | - | replace | Realtime Update management and tracking |
238
+ | `recommendation_email` | id | - | replace | Recommendation Email management and tracking |
239
+ | `reduce_indexing_record` | id | - | replace | Reduce Indexing Record management and tracking |
240
+ | `relationship` | id | - | replace | Relationship management and tracking |
241
+ | `relationship_schema_mapping` | id | - | replace | Relationship Schema Mapping management and tracking |
242
+ | `request_amendment` | id | - | replace | Request Amendment management and tracking |
243
+ | `request_amendment_model_themes` | id | - | replace | Request Amendment Model Themes management and tracking |
244
+ | `request_evaluation_metric` | id | - | replace | Request Evaluation Metric management and tracking |
245
+ | `request_funding_source` | id | - | replace | Request Funding Source management and tracking |
246
+ | `request_geo_state` | id | - | replace | Request Geo State management and tracking |
247
+ | `request_organization` | id | - | replace | Request Organization management and tracking |
248
+ | `request_outcome` | id | - | replace | Request Outcome management and tracking |
249
+ | `request_program` | id | - | replace | Request Program management and tracking |
250
+ | `request_recommendation` | id | - | replace | Request Recommendation management and tracking |
251
+ | `request_recommender` | id | - | replace | Request Recommender management and tracking |
252
+ | `request_regrant` | id | - | replace | Request Regrant management and tracking |
253
+ | `request_review` | id | - | replace | Request Review management and tracking |
254
+ | `request_review_set` | id | - | replace | Request Review Set management and tracking |
255
+ | `request_reviewer_assignment` | id | - | replace | Request Reviewer Assignment management and tracking |
256
+ | `role` | id | - | replace | Role management and tracking |
257
+ | `role_user` | id | - | replace | Role User management and tracking |
258
+ | `section` | id | - | replace | Section management and tracking |
259
+ | `segment` | id | - | replace | Segment management and tracking |
260
+ | `segment_tag` | id | - | replace | Segment Tag management and tracking |
261
+ | `shared_card` | id | - | replace | Shared Card management and tracking |
262
+ | `sms_log` | id | - | replace | Sms Log management and tracking |
263
+ | `spending_forecast` | id | - | replace | Spending Forecast management and tracking |
264
+ | `sphinx_check` | id | - | replace | Sphinx Check management and tracking |
265
+ | `stencil` | id | - | replace | Stencil management and tracking |
266
+ | `stencil_book` | id | - | replace | Stencil Book management and tracking |
267
+ | `stencil_book_page` | id | - | replace | Stencil Book Page management and tracking |
268
+ | `stencil_form` | id | - | replace | Stencil Form management and tracking |
269
+ | `sub_model` | id | - | replace | Sub Model management and tracking |
270
+ | `table_view` | id | - | replace | Table View management and tracking |
271
+ | `table_view_favorite` | id | - | replace | Table View Favorite management and tracking |
272
+ | `tag` | id | - | replace | Tag management and tracking |
273
+ | `tagging` | id | - | replace | Tagging management and tracking |
274
+ | `transaction_report_dependency` | id | - | replace | Transaction Report Dependency management and tracking |
275
+ | `translator_assignment` | id | - | replace | Translator Assignment management and tracking |
276
+ | `translator_language` | id | - | replace | Translator Language management and tracking |
277
+ | `user_email` | id | - | replace | User Email management and tracking |
278
+ | `user_permission` | id | - | replace | User Permission management and tracking |
279
+ | `user_profile` | id | - | replace | User Profile management and tracking |
280
+ | `user_profile_rule` | id | - | replace | User Profile Rule management and tracking |
281
+ | `user_segment_tag` | id | - | replace | User Segment Tag management and tracking |
282
+ | `webhook_subscription` | id | - | replace | Webhook Subscription management and tracking |
283
+ | `wiki_document` | id | - | replace | Wiki Document management and tracking |
284
+ | `wiki_document_template` | id | - | replace | Wiki Document Template management and tracking |
285
+ | `work_task` | id | - | replace | Work Task management and tracking |
286
+ | `workflow_event` | id | - | replace | Workflow Event management and tracking |
287
+ | `zenith_user_configuration` | id | - | replace | Zenith User Configuration management and tracking |
288
+
289
+ Use these as `--source-table` parameter in the `ingestr ingest` command.
290
+
291
+ ### Field Selection
292
+
293
+ Each resource contains numerous fields. You can:
294
+ 1. **Ingest all fields**: Use the resource name directly (e.g., `grant_request`)
295
+ 2. **Select specific fields**: Use colon syntax (e.g., `grant_request:id,name,amount_requested`)
296
+
297
+ The field selection feature is particularly useful for large resources like `grant_request` which has over 300 fields.
298
+
299
+ ## Authentication
300
+
301
+ Fluxx uses OAuth 2.0 with client credentials flow. To obtain credentials:
302
+
303
+ 1. Contact your Fluxx administrator to create an API client
304
+ 2. You'll receive a `client_id` and `client_secret`
305
+ 3. Note your Fluxx instance subdomain (the part before `.fluxxlabs.com`)
@@ -224,7 +224,7 @@ def resource(
224
224
  def custom_report_from_spec(spec: str) -> EndpointResource:
225
225
  parts = spec.split(":")
226
226
  if len(parts) != 4:
227
- raise InvalidCustomReportError()
227
+ raise InvalidCustomReportError()
228
228
 
229
229
  _, endpoint, report, dims = parts
230
230
  report_type = ReportType(report.strip())
@@ -0,0 +1 @@
1
+ version = "v0.13.94"
@@ -25,7 +25,6 @@ from ingestr.src.loader import load_dlt_file
25
25
 
26
26
  class GenericSqlDestination:
27
27
  def dlt_run_params(self, uri: str, table: str, **kwargs) -> dict:
28
-
29
28
  if uri.startswith("databricks://"):
30
29
  p = urlparse(uri)
31
30
  q = parse_qs(p.query)
@@ -37,8 +36,8 @@ class GenericSqlDestination:
37
36
  "table_name": table,
38
37
  }
39
38
  return res
40
-
41
- table_fields = table.split(".")
39
+
40
+ table_fields = table.split(".")
42
41
  if len(table_fields) != 2:
43
42
  raise ValueError("Table name must be in the format <schema>.<table>")
44
43
 
@@ -290,7 +289,6 @@ class DatabricksDestination(GenericSqlDestination):
290
289
  http_path = q.get("http_path", [None])[0]
291
290
  catalog = q.get("catalog", [None])[0]
292
291
  schema = q.get("schema", [None])[0]
293
-
294
292
 
295
293
  creds = {
296
294
  "access_token": access_token,
@@ -299,14 +297,12 @@ class DatabricksDestination(GenericSqlDestination):
299
297
  "catalog": catalog,
300
298
  "schema": schema,
301
299
  }
302
-
300
+
303
301
  return dlt.destinations.databricks(
304
302
  credentials=creds,
305
303
  **kwargs,
306
304
  )
307
-
308
305
 
309
-
310
306
 
311
307
  class SynapseDestination(GenericSqlDestination):
312
308
  def dlt_dest(self, uri: str, **kwargs):