omniload 0.0.0.dev0__tar.gz → 0.2.0__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.
- {omniload-0.0.0.dev0 → omniload-0.2.0}/LICENSE.Apache-2.0 +0 -25
- omniload-0.2.0/MANIFEST.in +9 -0
- omniload-0.2.0/PKG-INFO +250 -0
- omniload-0.2.0/README.md +95 -0
- omniload-0.2.0/docs/conf.py +164 -0
- omniload-0.2.0/omniload/__init__.py +13 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/conftest.py +3 -2
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/main.py +51 -53
- omniload-0.2.0/omniload/main_test.py +6691 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/adjust/__init__.py +14 -11
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/adjust/adjust_helpers.py +1 -1
- omniload-0.2.0/omniload/src/adjust/adjust_helpers_test.py +15 -0
- omniload-0.2.0/omniload/src/anthropic/helpers_test.py +524 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/applovin_max/__init__.py +6 -1
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/appsflyer/client.py +12 -4
- omniload-0.2.0/omniload/src/appsflyer/client_test.py +58 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/appstore/__init__.py +10 -6
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/appstore/models.py +8 -8
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/arrow/__init__.py +2 -2
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/asana_source/__init__.py +8 -8
- omniload-0.2.0/omniload/src/blob_test.py +36 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/chess/__init__.py +8 -4
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/chess/helpers.py +4 -2
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/clickup/__init__.py +17 -9
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/collector/spinner.py +7 -6
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/couchbase_source/__init__.py +5 -5
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/couchbase_source/helpers.py +2 -2
- omniload-0.2.0/omniload/src/couchbase_source/helpers_test.py +170 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/customer_io/__init__.py +4 -4
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/destinations.py +10 -4
- omniload-0.2.0/omniload/src/destinations_test.py +243 -0
- omniload-0.2.0/omniload/src/docebo/helpers_test.py +190 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/dynamodb/__init__.py +1 -1
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/elasticsearch/__init__.py +2 -2
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/errors.py +5 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/facebook_ads/__init__.py +30 -20
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/facebook_ads/helpers.py +15 -12
- omniload-0.2.0/omniload/src/facebook_ads/helpers_test.py +208 -0
- omniload-0.2.0/omniload/src/factory_test.py +13 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/filesystem/__init__.py +4 -3
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/filesystem/helpers.py +18 -9
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/filesystem/readers.py +5 -5
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/filters.py +2 -2
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/fireflies/__init__.py +3 -3
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/fireflies/helpers.py +4 -6
- omniload-0.2.0/omniload/src/fireflies/helpers_test.py +515 -0
- omniload-0.2.0/omniload/src/fluxx/helpers_test.py +287 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/frankfurter/__init__.py +9 -4
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/frankfurter/helpers.py +1 -1
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/freshdesk/__init__.py +9 -4
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/freshdesk/freshdesk_client.py +3 -2
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/fundraiseup/__init__.py +3 -3
- omniload-0.2.0/omniload/src/fundraiseup/client_test.py +463 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/github/__init__.py +16 -9
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/github/helpers.py +9 -5
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/google_ads/__init__.py +5 -6
- omniload-0.2.0/omniload/src/google_ads/reports_test.py +212 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/google_analytics/helpers.py +8 -2
- omniload-0.2.0/omniload/src/google_analytics/helpers_test.py +78 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/google_sheets/helpers/api_calls.py +6 -6
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/google_sheets/helpers/data_processing.py +12 -9
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/gorgias/__init__.py +5 -5
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/gorgias/helpers.py +29 -13
- omniload-0.2.0/omniload/src/gorgias/helpers_test.py +45 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/hostaway/__init__.py +5 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/http/readers.py +5 -5
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/hubspot/__init__.py +27 -20
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/hubspot/helpers.py +2 -2
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/influxdb/client.py +1 -1
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/intercom/__init__.py +4 -4
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/intercom/helpers.py +2 -1
- omniload-0.2.0/omniload/src/intercom/helpers_test.py +249 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/jira_source/helpers.py +3 -3
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/kafka/__init__.py +21 -17
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/kafka/helpers.py +76 -43
- omniload-0.2.0/omniload/src/kafka/model.py +169 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/kinesis/__init__.py +8 -8
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/klaviyo/__init__.py +15 -11
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/klaviyo/client.py +10 -9
- omniload-0.2.0/omniload/src/klaviyo/helpers_test.py +36 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/linkedin_ads/__init__.py +5 -0
- omniload-0.2.0/omniload/src/linkedin_ads/helpers_test.py +141 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/loader.py +1 -1
- omniload-0.2.0/omniload/src/loader_test.py +73 -0
- omniload-0.2.0/omniload/src/mailchimp/helpers_test.py +303 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/masking.py +2 -2
- omniload-0.2.0/omniload/src/masking_test.py +386 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/mixpanel/__init__.py +6 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/mongodb/__init__.py +2 -2
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/mongodb/helpers.py +36 -31
- omniload-0.2.0/omniload/src/mongodb/helpers_test.py +455 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/partition.py +1 -1
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/personio/__init__.py +11 -11
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/phantombuster/__init__.py +11 -1
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/pinterest/__init__.py +8 -2
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/pipedrive/__init__.py +7 -4
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/pipedrive/helpers/pages.py +5 -1
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/primer/__init__.py +3 -3
- omniload-0.2.0/omniload/src/primer/helpers_test.py +81 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/quickbooks/__init__.py +9 -8
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/reddit_ads/__init__.py +6 -0
- omniload-0.2.0/omniload/src/reddit_ads/helpers_test.py +181 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/resource.py +17 -4
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/revenuecat/__init__.py +7 -3
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/revenuecat/helpers.py +2 -2
- omniload-0.2.0/omniload/src/revenuecat/helpers_test.py +158 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/salesforce/__init__.py +1 -1
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/shopify/__init__.py +23 -4
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/shopify/helpers.py +2 -2
- omniload-0.2.0/omniload/src/shopify/helpers_test.py +49 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/slack/helpers.py +14 -10
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/smartsheets/__init__.py +11 -3
- {omniload-0.0.0.dev0/omniload/tests/unit → omniload-0.2.0/omniload/src/smartsheets}/test_smartsheets.py +3 -2
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/snapchat_ads/__init__.py +7 -7
- omniload-0.2.0/omniload/src/snapchat_ads/helpers_test.py +248 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/socrata_source/__init__.py +5 -7
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/solidgate/__init__.py +4 -4
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/solidgate/helpers.py +17 -3
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/sources.py +156 -130
- omniload-0.2.0/omniload/src/sources_test.py +314 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/sql_database/callbacks.py +2 -1
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/stripe_analytics/__init__.py +4 -3
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/stripe_analytics/helpers.py +4 -4
- omniload-0.2.0/omniload/src/stripe_analytics/helpers_test.py +130 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/tiktok_ads/__init__.py +13 -9
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/tiktok_ads/tiktok_helpers.py +5 -5
- omniload-0.2.0/omniload/src/tiktok_ads/tiktok_helpers_test.py +56 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/trustpilot/__init__.py +5 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/wise/__init__.py +11 -2
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/wise/client.py +8 -2
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/zendesk/__init__.py +38 -16
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/zendesk/helpers/api_helpers.py +2 -2
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/zoom/__init__.py +16 -10
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/zoom/helpers.py +15 -3
- omniload-0.2.0/omniload.egg-info/PKG-INFO +250 -0
- omniload-0.2.0/omniload.egg-info/SOURCES.txt +246 -0
- omniload-0.2.0/omniload.egg-info/dependency_links.txt +1 -0
- omniload-0.2.0/omniload.egg-info/entry_points.txt +2 -0
- omniload-0.2.0/omniload.egg-info/requires.txt +98 -0
- omniload-0.2.0/omniload.egg-info/top_level.txt +6 -0
- omniload-0.2.0/pyproject.toml +298 -0
- omniload-0.2.0/setup.cfg +4 -0
- omniload-0.0.0.dev0/.dlt/config.toml +0 -3
- omniload-0.0.0.dev0/.dockerignore +0 -137
- omniload-0.0.0.dev0/.githooks/pre-commit-hook.sh +0 -23
- omniload-0.0.0.dev0/.github/workflows/deploy-docs.yml +0 -62
- omniload-0.0.0.dev0/.github/workflows/release.yml +0 -149
- omniload-0.0.0.dev0/.github/workflows/secrets-scan.yml +0 -12
- omniload-0.0.0.dev0/.github/workflows/tests.yml +0 -94
- omniload-0.0.0.dev0/.gitignore +0 -29
- omniload-0.0.0.dev0/.gitleaksignore +0 -7
- omniload-0.0.0.dev0/.npmrc +0 -1
- omniload-0.0.0.dev0/.vale.ini +0 -16
- omniload-0.0.0.dev0/Dockerfile +0 -61
- omniload-0.0.0.dev0/Makefile +0 -68
- omniload-0.0.0.dev0/PKG-INFO +0 -439
- omniload-0.0.0.dev0/README.md +0 -347
- omniload-0.0.0.dev0/docs/.vitepress/config.mjs +0 -223
- omniload-0.0.0.dev0/docs/.vitepress/theme/CopyPageButton.vue +0 -176
- omniload-0.0.0.dev0/docs/.vitepress/theme/Layout.vue +0 -27
- omniload-0.0.0.dev0/docs/.vitepress/theme/custom.css +0 -34
- omniload-0.0.0.dev0/docs/.vitepress/theme/index.js +0 -9
- omniload-0.0.0.dev0/docs/commands/example-uris.md +0 -5
- omniload-0.0.0.dev0/docs/commands/ingest.md +0 -132
- omniload-0.0.0.dev0/docs/getting-started/core-concepts.md +0 -41
- omniload-0.0.0.dev0/docs/getting-started/data-masking.md +0 -377
- omniload-0.0.0.dev0/docs/getting-started/incremental-loading.md +0 -228
- omniload-0.0.0.dev0/docs/getting-started/quickstart.md +0 -61
- omniload-0.0.0.dev0/docs/index.md +0 -39
- omniload-0.0.0.dev0/docs/media/applovin_max.png +0 -0
- omniload-0.0.0.dev0/docs/media/athena.png +0 -0
- omniload-0.0.0.dev0/docs/media/clickhouse_img.png +0 -0
- omniload-0.0.0.dev0/docs/media/clickup_ingestion.png +0 -0
- omniload-0.0.0.dev0/docs/media/cratedb-destination.png +0 -0
- omniload-0.0.0.dev0/docs/media/cratedb-source.png +0 -0
- omniload-0.0.0.dev0/docs/media/freshdesk_ingestion.png +0 -0
- omniload-0.0.0.dev0/docs/media/gcp_spanner_ingestion.png +0 -0
- omniload-0.0.0.dev0/docs/media/github.png +0 -0
- omniload-0.0.0.dev0/docs/media/google_analytics_realtime_report.png +0 -0
- omniload-0.0.0.dev0/docs/media/googleanalytics.png +0 -0
- omniload-0.0.0.dev0/docs/media/ingestion_elasticsearch_img.png +0 -0
- omniload-0.0.0.dev0/docs/media/kinesis.bigquery.png +0 -0
- omniload-0.0.0.dev0/docs/media/linear.png +0 -0
- omniload-0.0.0.dev0/docs/media/linkedin_ads.png +0 -0
- omniload-0.0.0.dev0/docs/media/mixpanel_ingestion.png +0 -0
- omniload-0.0.0.dev0/docs/media/personio.png +0 -0
- omniload-0.0.0.dev0/docs/media/personio_duckdb.png +0 -0
- omniload-0.0.0.dev0/docs/media/phantombuster.png +0 -0
- omniload-0.0.0.dev0/docs/media/pipedrive.png +0 -0
- omniload-0.0.0.dev0/docs/media/quickbook_ingestion.png +0 -0
- omniload-0.0.0.dev0/docs/media/sftp.png +0 -0
- omniload-0.0.0.dev0/docs/media/stripe_postgres.png +0 -0
- omniload-0.0.0.dev0/docs/media/tiktok.png +0 -0
- omniload-0.0.0.dev0/docs/media/wise_ingestion.png +0 -0
- omniload-0.0.0.dev0/docs/media/zoom_ingestion.png +0 -0
- omniload-0.0.0.dev0/docs/public/demo.gif +0 -0
- omniload-0.0.0.dev0/docs/supported-sources/adjust.md +0 -118
- omniload-0.0.0.dev0/docs/supported-sources/airtable.md +0 -57
- omniload-0.0.0.dev0/docs/supported-sources/allium.md +0 -164
- omniload-0.0.0.dev0/docs/supported-sources/anthropic.md +0 -356
- omniload-0.0.0.dev0/docs/supported-sources/appleads.md +0 -196
- omniload-0.0.0.dev0/docs/supported-sources/applovin.md +0 -144
- omniload-0.0.0.dev0/docs/supported-sources/applovin_max.md +0 -52
- omniload-0.0.0.dev0/docs/supported-sources/appsflyer.md +0 -93
- omniload-0.0.0.dev0/docs/supported-sources/appstore.md +0 -263
- omniload-0.0.0.dev0/docs/supported-sources/asana.md +0 -59
- omniload-0.0.0.dev0/docs/supported-sources/athena.md +0 -42
- omniload-0.0.0.dev0/docs/supported-sources/attio.md +0 -47
- omniload-0.0.0.dev0/docs/supported-sources/bigquery.md +0 -52
- omniload-0.0.0.dev0/docs/supported-sources/bruin.md +0 -48
- omniload-0.0.0.dev0/docs/supported-sources/chess.md +0 -38
- omniload-0.0.0.dev0/docs/supported-sources/clickhouse.md +0 -58
- omniload-0.0.0.dev0/docs/supported-sources/clickup.md +0 -45
- omniload-0.0.0.dev0/docs/supported-sources/couchbase.md +0 -136
- omniload-0.0.0.dev0/docs/supported-sources/cratedb.md +0 -147
- omniload-0.0.0.dev0/docs/supported-sources/csv.md +0 -9
- omniload-0.0.0.dev0/docs/supported-sources/cursor.md +0 -148
- omniload-0.0.0.dev0/docs/supported-sources/custom_queries.md +0 -50
- omniload-0.0.0.dev0/docs/supported-sources/customerio.md +0 -134
- omniload-0.0.0.dev0/docs/supported-sources/databricks.md +0 -44
- omniload-0.0.0.dev0/docs/supported-sources/db2.md +0 -28
- omniload-0.0.0.dev0/docs/supported-sources/docebo.md +0 -75
- omniload-0.0.0.dev0/docs/supported-sources/duckdb.md +0 -16
- omniload-0.0.0.dev0/docs/supported-sources/dune.md +0 -125
- omniload-0.0.0.dev0/docs/supported-sources/dynamodb.md +0 -114
- omniload-0.0.0.dev0/docs/supported-sources/elasticsearch.md +0 -80
- omniload-0.0.0.dev0/docs/supported-sources/facebook-ads.md +0 -249
- omniload-0.0.0.dev0/docs/supported-sources/fireflies.md +0 -108
- omniload-0.0.0.dev0/docs/supported-sources/fluxx.md +0 -307
- omniload-0.0.0.dev0/docs/supported-sources/frankfurter.md +0 -52
- omniload-0.0.0.dev0/docs/supported-sources/freshdesk.md +0 -49
- omniload-0.0.0.dev0/docs/supported-sources/fundraiseup.md +0 -83
- omniload-0.0.0.dev0/docs/supported-sources/g2.md +0 -55
- omniload-0.0.0.dev0/docs/supported-sources/gcs.md +0 -196
- omniload-0.0.0.dev0/docs/supported-sources/github.md +0 -48
- omniload-0.0.0.dev0/docs/supported-sources/google-ads.md +0 -266
- omniload-0.0.0.dev0/docs/supported-sources/google_analytics.md +0 -89
- omniload-0.0.0.dev0/docs/supported-sources/gorgias.md +0 -42
- omniload-0.0.0.dev0/docs/supported-sources/gsheets.md +0 -46
- omniload-0.0.0.dev0/docs/supported-sources/hostaway.md +0 -104
- omniload-0.0.0.dev0/docs/supported-sources/http.md +0 -123
- omniload-0.0.0.dev0/docs/supported-sources/hubspot.md +0 -208
- omniload-0.0.0.dev0/docs/supported-sources/indeed.md +0 -115
- omniload-0.0.0.dev0/docs/supported-sources/influxdb.md +0 -39
- omniload-0.0.0.dev0/docs/supported-sources/intercom.md +0 -57
- omniload-0.0.0.dev0/docs/supported-sources/isoc-pulse.md +0 -150
- omniload-0.0.0.dev0/docs/supported-sources/jira.md +0 -77
- omniload-0.0.0.dev0/docs/supported-sources/jobtread.md +0 -69
- omniload-0.0.0.dev0/docs/supported-sources/kafka.md +0 -38
- omniload-0.0.0.dev0/docs/supported-sources/kinesis.md +0 -43
- omniload-0.0.0.dev0/docs/supported-sources/klaviyo.md +0 -57
- omniload-0.0.0.dev0/docs/supported-sources/linear.md +0 -57
- omniload-0.0.0.dev0/docs/supported-sources/linkedin_ads.md +0 -170
- omniload-0.0.0.dev0/docs/supported-sources/mailchimp.md +0 -99
- omniload-0.0.0.dev0/docs/supported-sources/mixpanel.md +0 -50
- omniload-0.0.0.dev0/docs/supported-sources/monday.md +0 -59
- omniload-0.0.0.dev0/docs/supported-sources/mongodb.md +0 -226
- omniload-0.0.0.dev0/docs/supported-sources/motherduck.md +0 -46
- omniload-0.0.0.dev0/docs/supported-sources/mssql.md +0 -48
- omniload-0.0.0.dev0/docs/supported-sources/mysql.md +0 -20
- omniload-0.0.0.dev0/docs/supported-sources/notion.md +0 -32
- omniload-0.0.0.dev0/docs/supported-sources/oracle.md +0 -20
- omniload-0.0.0.dev0/docs/supported-sources/personio.md +0 -58
- omniload-0.0.0.dev0/docs/supported-sources/phantombuster.md +0 -42
- omniload-0.0.0.dev0/docs/supported-sources/pinterest.md +0 -30
- omniload-0.0.0.dev0/docs/supported-sources/pipedrive.md +0 -45
- omniload-0.0.0.dev0/docs/supported-sources/plusvibeai.md +0 -93
- omniload-0.0.0.dev0/docs/supported-sources/postgres.md +0 -21
- omniload-0.0.0.dev0/docs/supported-sources/posthog.md +0 -70
- omniload-0.0.0.dev0/docs/supported-sources/primer.md +0 -59
- omniload-0.0.0.dev0/docs/supported-sources/quickbooks.md +0 -51
- omniload-0.0.0.dev0/docs/supported-sources/rabbitmq.md +0 -49
- omniload-0.0.0.dev0/docs/supported-sources/reddit_ads.md +0 -150
- omniload-0.0.0.dev0/docs/supported-sources/redshift.md +0 -21
- omniload-0.0.0.dev0/docs/supported-sources/revenuecat.md +0 -62
- omniload-0.0.0.dev0/docs/supported-sources/s3.md +0 -213
- omniload-0.0.0.dev0/docs/supported-sources/salesforce.md +0 -90
- omniload-0.0.0.dev0/docs/supported-sources/sap-hana.md +0 -20
- omniload-0.0.0.dev0/docs/supported-sources/sftp.md +0 -43
- omniload-0.0.0.dev0/docs/supported-sources/shopify.md +0 -58
- omniload-0.0.0.dev0/docs/supported-sources/slack.md +0 -46
- omniload-0.0.0.dev0/docs/supported-sources/smartsheets.md +0 -47
- omniload-0.0.0.dev0/docs/supported-sources/snapchat-ads.md +0 -200
- omniload-0.0.0.dev0/docs/supported-sources/snowflake.md +0 -79
- omniload-0.0.0.dev0/docs/supported-sources/socrata.md +0 -128
- omniload-0.0.0.dev0/docs/supported-sources/solidgate.md +0 -50
- omniload-0.0.0.dev0/docs/supported-sources/spanner.md +0 -41
- omniload-0.0.0.dev0/docs/supported-sources/sqlite.md +0 -16
- omniload-0.0.0.dev0/docs/supported-sources/stripe.md +0 -146
- omniload-0.0.0.dev0/docs/supported-sources/surveymonkey.md +0 -62
- omniload-0.0.0.dev0/docs/supported-sources/tiktok-ads.md +0 -63
- omniload-0.0.0.dev0/docs/supported-sources/trino.md +0 -96
- omniload-0.0.0.dev0/docs/supported-sources/trustpilot.md +0 -36
- omniload-0.0.0.dev0/docs/supported-sources/wise.md +0 -49
- omniload-0.0.0.dev0/docs/supported-sources/zendesk.md +0 -87
- omniload-0.0.0.dev0/docs/supported-sources/zoom.md +0 -51
- omniload-0.0.0.dev0/docs/tutorials/load-kinesis-bigquery.md +0 -130
- omniload-0.0.0.dev0/docs/tutorials/load-personio-duckdb.md +0 -94
- omniload-0.0.0.dev0/docs/tutorials/load-stripe-postgres.md +0 -101
- omniload-0.0.0.dev0/omniload/src/.gitignore +0 -10
- omniload-0.0.0.dev0/omniload/src/google_sheets/README.md +0 -95
- omniload-0.0.0.dev0/omniload/src/testdata/fakebqcredentials.json +0 -14
- omniload-0.0.0.dev0/omniload/src/version.py +0 -6
- omniload-0.0.0.dev0/omniload/testdata/.gitignore +0 -2
- omniload-0.0.0.dev0/omniload/testdata/create_replace.csv +0 -21
- omniload-0.0.0.dev0/omniload/testdata/delete_insert_expected.csv +0 -6
- omniload-0.0.0.dev0/omniload/testdata/delete_insert_part1.csv +0 -5
- omniload-0.0.0.dev0/omniload/testdata/delete_insert_part2.csv +0 -6
- omniload-0.0.0.dev0/omniload/testdata/merge_expected.csv +0 -5
- omniload-0.0.0.dev0/omniload/testdata/merge_part1.csv +0 -4
- omniload-0.0.0.dev0/omniload/testdata/merge_part2.csv +0 -5
- omniload-0.0.0.dev0/package-lock.json +0 -2499
- omniload-0.0.0.dev0/package.json +0 -11
- omniload-0.0.0.dev0/pyproject.toml +0 -200
- omniload-0.0.0.dev0/requirements-dev.txt +0 -13
- omniload-0.0.0.dev0/requirements.txt +0 -66
- omniload-0.0.0.dev0/requirements_arm64.txt +0 -674
- omniload-0.0.0.dev0/resources/demo.gif +0 -0
- omniload-0.0.0.dev0/resources/demo.tape +0 -18
- omniload-0.0.0.dev0/styles/Google/AMPM.yml +0 -9
- omniload-0.0.0.dev0/styles/Google/Acronyms.yml +0 -64
- omniload-0.0.0.dev0/styles/Google/Colons.yml +0 -8
- omniload-0.0.0.dev0/styles/Google/Contractions.yml +0 -30
- omniload-0.0.0.dev0/styles/Google/DateFormat.yml +0 -9
- omniload-0.0.0.dev0/styles/Google/Ellipses.yml +0 -9
- omniload-0.0.0.dev0/styles/Google/EmDash.yml +0 -13
- omniload-0.0.0.dev0/styles/Google/Exclamation.yml +0 -12
- omniload-0.0.0.dev0/styles/Google/FirstPerson.yml +0 -13
- omniload-0.0.0.dev0/styles/Google/Gender.yml +0 -9
- omniload-0.0.0.dev0/styles/Google/GenderBias.yml +0 -43
- omniload-0.0.0.dev0/styles/Google/HeadingPunctuation.yml +0 -13
- omniload-0.0.0.dev0/styles/Google/Headings.yml +0 -29
- omniload-0.0.0.dev0/styles/Google/Latin.yml +0 -11
- omniload-0.0.0.dev0/styles/Google/LyHyphens.yml +0 -14
- omniload-0.0.0.dev0/styles/Google/OptionalPlurals.yml +0 -12
- omniload-0.0.0.dev0/styles/Google/Ordinal.yml +0 -7
- omniload-0.0.0.dev0/styles/Google/OxfordComma.yml +0 -7
- omniload-0.0.0.dev0/styles/Google/Parens.yml +0 -7
- omniload-0.0.0.dev0/styles/Google/Passive.yml +0 -184
- omniload-0.0.0.dev0/styles/Google/Periods.yml +0 -7
- omniload-0.0.0.dev0/styles/Google/Quotes.yml +0 -7
- omniload-0.0.0.dev0/styles/Google/Ranges.yml +0 -7
- omniload-0.0.0.dev0/styles/Google/Semicolons.yml +0 -8
- omniload-0.0.0.dev0/styles/Google/Slang.yml +0 -11
- omniload-0.0.0.dev0/styles/Google/Spacing.yml +0 -10
- omniload-0.0.0.dev0/styles/Google/Spelling.yml +0 -10
- omniload-0.0.0.dev0/styles/Google/Units.yml +0 -8
- omniload-0.0.0.dev0/styles/Google/We.yml +0 -11
- omniload-0.0.0.dev0/styles/Google/Will.yml +0 -7
- omniload-0.0.0.dev0/styles/Google/WordList.yml +0 -80
- omniload-0.0.0.dev0/styles/Google/meta.json +0 -4
- omniload-0.0.0.dev0/styles/config/vocabularies/omniload/accept.txt +0 -52
- omniload-0.0.0.dev0/test.env.template +0 -4
- /omniload-0.0.0.dev0/LICENSE.md → /omniload-0.2.0/LICENSE +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/NOTICE +0 -0
- /omniload-0.0.0.dev0/omniload/src/sql_database/__init__.py → /omniload-0.2.0/omniload/py.typed +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/airtable/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/allium/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/anthropic/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/anthropic/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/applovin/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/appsflyer/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/appstore/client.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/appstore/errors.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/appstore/resources.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/asana_source/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/asana_source/settings.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/attio/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/attio/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/blob.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/bruin/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/chess/settings.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/clickup/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/cursor/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/cursor/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/customer_io/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/docebo/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/docebo/client.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/docebo/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/dune/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/dune/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/elasticsearch/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/facebook_ads/exceptions.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/facebook_ads/settings.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/facebook_ads/utils.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/factory.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/fluxx/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/fluxx/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/freshdesk/settings.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/fundraiseup/client.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/github/queries.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/github/settings.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/google_ads/field.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/google_ads/metrics.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/google_ads/predicates.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/google_ads/reports.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/google_ads/test_google_ads.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/google_analytics/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/google_sheets/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/google_sheets/helpers/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/hostaway/client.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/http/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/http_client.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/hubspot/settings.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/indeed/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/indeed/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/influxdb/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/intercom/settings.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/isoc_pulse/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/jira_source/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/jira_source/settings.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/kinesis/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/klaviyo/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/linear/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/linear/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/linkedin_ads/dimension_time_enum.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/linkedin_ads/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/mailchimp/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/mailchimp/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/mailchimp/settings.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/mixpanel/client.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/monday/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/monday/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/monday/settings.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/notion/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/notion/helpers/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/notion/helpers/client.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/notion/helpers/database.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/notion/settings.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/personio/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/phantombuster/client.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/pipedrive/helpers/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/pipedrive/helpers/custom_fields_munger.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/pipedrive/settings.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/pipedrive/typing.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/plusvibeai/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/plusvibeai/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/plusvibeai/settings.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/primer/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/reddit_ads/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/salesforce/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/shopify/exceptions.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/shopify/settings.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/slack/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/slack/settings.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/snapchat_ads/client.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/snapchat_ads/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/snapchat_ads/settings.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/socrata_source/helpers.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/socrata_source/settings.py +0 -0
- /omniload-0.0.0.dev0/styles/Google/vocab.txt → /omniload-0.2.0/omniload/src/sql_database/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/stripe_analytics/settings.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/table_definition.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/time.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/trustpilot/client.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/zendesk/helpers/__init__.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/zendesk/helpers/credentials.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/zendesk/helpers/talk_api.py +0 -0
- {omniload-0.0.0.dev0 → omniload-0.2.0}/omniload/src/zendesk/settings.py +0 -0
|
@@ -174,28 +174,3 @@
|
|
|
174
174
|
of your accepting any such warranty or additional liability.
|
|
175
175
|
|
|
176
176
|
END OF TERMS AND CONDITIONS
|
|
177
|
-
|
|
178
|
-
APPENDIX: How to apply the Apache License to your work.
|
|
179
|
-
|
|
180
|
-
To apply the Apache License to your work, attach the following
|
|
181
|
-
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
182
|
-
replaced with your own identifying information. (Don't include
|
|
183
|
-
the brackets!) The text should be enclosed in the appropriate
|
|
184
|
-
comment syntax for the file format. We also recommend that a
|
|
185
|
-
file or class name and description of purpose be included on the
|
|
186
|
-
same "printed page" as the copyright notice for easier
|
|
187
|
-
identification within third-party archives.
|
|
188
|
-
|
|
189
|
-
Copyright 2023 The Contributors
|
|
190
|
-
|
|
191
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
|
-
you may not use this file except in compliance with the License.
|
|
193
|
-
You may obtain a copy of the License at
|
|
194
|
-
|
|
195
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
196
|
-
|
|
197
|
-
Unless required by applicable law or agreed to in writing, software
|
|
198
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
199
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
200
|
-
See the License for the specific language governing permissions and
|
|
201
|
-
limitations under the License.
|
omniload-0.2.0/PKG-INFO
ADDED
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: omniload
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: omniload is a polyglot data loader based on dlt. Copy data between any source and any destination.
|
|
5
|
+
Author: Mustafa Ersan, Sanju Shah Gupta, Saravjeet 'Aman' Singh
|
|
6
|
+
Author-email: Burak Karakan <burak.karakan@getbruin.com>
|
|
7
|
+
Maintainer-email: Andreas Motl <andreas.motl@panodata.org>
|
|
8
|
+
License-Expression: MIT
|
|
9
|
+
Project-URL: Changelog, https://omniload.readthedocs.io/changelog.html
|
|
10
|
+
Project-URL: Documentation, https://omniload.readthedocs.io/
|
|
11
|
+
Project-URL: Issues, https://github.com/panodata/omniload/issues
|
|
12
|
+
Project-URL: Repository, https://github.com/panodata/omniload
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Environment :: Console
|
|
15
|
+
Classifier: Intended Audience :: Customer Service
|
|
16
|
+
Classifier: Intended Audience :: Developers
|
|
17
|
+
Classifier: Intended Audience :: Education
|
|
18
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
19
|
+
Classifier: Intended Audience :: Information Technology
|
|
20
|
+
Classifier: Intended Audience :: Manufacturing
|
|
21
|
+
Classifier: Intended Audience :: Science/Research
|
|
22
|
+
Classifier: Intended Audience :: System Administrators
|
|
23
|
+
Classifier: Intended Audience :: Telecommunications Industry
|
|
24
|
+
Classifier: Operating System :: MacOS :: MacOS X
|
|
25
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
26
|
+
Classifier: Operating System :: OS Independent
|
|
27
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
28
|
+
Classifier: Operating System :: Unix
|
|
29
|
+
Classifier: Programming Language :: Python
|
|
30
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
31
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
32
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
33
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
34
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
35
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
36
|
+
Classifier: Topic :: Adaptive Technologies
|
|
37
|
+
Classifier: Topic :: Communications
|
|
38
|
+
Classifier: Topic :: Database
|
|
39
|
+
Classifier: Topic :: Documentation
|
|
40
|
+
Classifier: Topic :: Education
|
|
41
|
+
Classifier: Topic :: Internet
|
|
42
|
+
Classifier: Topic :: Internet :: WWW/HTTP
|
|
43
|
+
Classifier: Topic :: Office/Business
|
|
44
|
+
Classifier: Topic :: Scientific/Engineering
|
|
45
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
46
|
+
Classifier: Topic :: Software Development :: Object Brokering
|
|
47
|
+
Classifier: Topic :: Software Development :: Pre-processors
|
|
48
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
49
|
+
Classifier: Topic :: Software Development :: Testing
|
|
50
|
+
Classifier: Topic :: Software Development :: Version Control
|
|
51
|
+
Classifier: Topic :: System :: Archiving
|
|
52
|
+
Classifier: Topic :: System :: Clustering
|
|
53
|
+
Classifier: Topic :: System :: Distributed Computing
|
|
54
|
+
Classifier: Topic :: System :: Logging
|
|
55
|
+
Classifier: Topic :: System :: Monitoring
|
|
56
|
+
Classifier: Topic :: System :: Networking
|
|
57
|
+
Classifier: Topic :: System :: Systems Administration
|
|
58
|
+
Classifier: Topic :: Text Processing
|
|
59
|
+
Classifier: Topic :: Utilities
|
|
60
|
+
Requires-Python: >=3.10
|
|
61
|
+
Description-Content-Type: text/markdown
|
|
62
|
+
License-File: LICENSE
|
|
63
|
+
License-File: LICENSE.Apache-2.0
|
|
64
|
+
License-File: NOTICE
|
|
65
|
+
Requires-Dist: aiohttp<4
|
|
66
|
+
Requires-Dist: asana<3.3
|
|
67
|
+
Requires-Dist: click<8.5
|
|
68
|
+
Requires-Dist: clickhouse-connect<1,>=0.8
|
|
69
|
+
Requires-Dist: clickhouse-driver<0.3
|
|
70
|
+
Requires-Dist: clickhouse-sqlalchemy<0.4
|
|
71
|
+
Requires-Dist: confluent-kafka<2.15
|
|
72
|
+
Requires-Dist: couchbase<5,>=4
|
|
73
|
+
Requires-Dist: databricks-sql-connector<5
|
|
74
|
+
Requires-Dist: databricks-sqlalchemy<3
|
|
75
|
+
Requires-Dist: dataclasses-json<0.7
|
|
76
|
+
Requires-Dist: dlt<1.22
|
|
77
|
+
Requires-Dist: dlt-cratedb<0.2
|
|
78
|
+
Requires-Dist: duckdb<1.6
|
|
79
|
+
Requires-Dist: duckdb-engine<0.18
|
|
80
|
+
Requires-Dist: elasticsearch<10
|
|
81
|
+
Requires-Dist: facebook-business<26
|
|
82
|
+
Requires-Dist: flatten-json<0.2
|
|
83
|
+
Requires-Dist: gcsfs
|
|
84
|
+
Requires-Dist: google-ads<32
|
|
85
|
+
Requires-Dist: google-analytics-data<0.24
|
|
86
|
+
Requires-Dist: google-api-python-client<3
|
|
87
|
+
Requires-Dist: google-auth<3
|
|
88
|
+
Requires-Dist: google-cloud-bigquery-storage<3
|
|
89
|
+
Requires-Dist: google-cloud-spanner<4
|
|
90
|
+
Requires-Dist: influxdb-client<2
|
|
91
|
+
Requires-Dist: mysql-connector-python<10
|
|
92
|
+
Requires-Dist: oracledb<4
|
|
93
|
+
Requires-Dist: orjson<4
|
|
94
|
+
Requires-Dist: pendulum<4,>=3
|
|
95
|
+
Requires-Dist: psycopg2-binary<3
|
|
96
|
+
Requires-Dist: py-machineid<2
|
|
97
|
+
Requires-Dist: pyairtable<4
|
|
98
|
+
Requires-Dist: pyarrow<25,>=18
|
|
99
|
+
Requires-Dist: pyathena<4
|
|
100
|
+
Requires-Dist: pymongo<5
|
|
101
|
+
Requires-Dist: pymongoarrow<2
|
|
102
|
+
Requires-Dist: pymysql<2
|
|
103
|
+
Requires-Dist: pyrate-limiter<4
|
|
104
|
+
Requires-Dist: python-quickbooks<0.10
|
|
105
|
+
Requires-Dist: requests<3
|
|
106
|
+
Requires-Dist: rudder-sdk-python<2.2
|
|
107
|
+
Requires-Dist: s3fs
|
|
108
|
+
Requires-Dist: simple-salesforce<2
|
|
109
|
+
Requires-Dist: smartsheet-python-sdk<5
|
|
110
|
+
Requires-Dist: snowflake-connector-python<5,>=3.18
|
|
111
|
+
Requires-Dist: snowflake-sqlalchemy<2
|
|
112
|
+
Requires-Dist: sqlalchemy<2.1
|
|
113
|
+
Requires-Dist: sqlalchemy-bigquery<2
|
|
114
|
+
Requires-Dist: sqlalchemy-cratedb<1
|
|
115
|
+
Requires-Dist: sqlalchemy-hana<5
|
|
116
|
+
Requires-Dist: sqlalchemy-redshift<2
|
|
117
|
+
Requires-Dist: sqlalchemy-spanner<2
|
|
118
|
+
Requires-Dist: stripe<16
|
|
119
|
+
Requires-Dist: tldextract<6
|
|
120
|
+
Requires-Dist: toolz<2
|
|
121
|
+
Requires-Dist: tqdm<5
|
|
122
|
+
Requires-Dist: trino[sqlalchemy]==0.337.0
|
|
123
|
+
Requires-Dist: typer<0.27
|
|
124
|
+
Requires-Dist: urllib3<2.8
|
|
125
|
+
Provides-Extra: develop
|
|
126
|
+
Requires-Dist: pkginfo<2; extra == "develop"
|
|
127
|
+
Requires-Dist: poethepoet<1; extra == "develop"
|
|
128
|
+
Requires-Dist: pyproject-fmt<3; extra == "develop"
|
|
129
|
+
Requires-Dist: pytest-repeat<1; extra == "develop"
|
|
130
|
+
Requires-Dist: ruff<0.16; extra == "develop"
|
|
131
|
+
Requires-Dist: ty==0.0.51; extra == "develop"
|
|
132
|
+
Requires-Dist: validate-pyproject<1; extra == "develop"
|
|
133
|
+
Provides-Extra: full
|
|
134
|
+
Requires-Dist: omniload[ibm-db,odbc,oracle]; extra == "full"
|
|
135
|
+
Provides-Extra: ibm-db
|
|
136
|
+
Requires-Dist: ibm-db<4; platform_machine != "aarch64" and extra == "ibm-db"
|
|
137
|
+
Requires-Dist: ibm-db-sa<0.5; platform_machine != "aarch64" and extra == "ibm-db"
|
|
138
|
+
Provides-Extra: odbc
|
|
139
|
+
Requires-Dist: pyodbc<5.4; extra == "odbc"
|
|
140
|
+
Provides-Extra: oracle
|
|
141
|
+
Requires-Dist: oracledb>=2.0.0; extra == "oracle"
|
|
142
|
+
Provides-Extra: release
|
|
143
|
+
Requires-Dist: build<2; extra == "release"
|
|
144
|
+
Requires-Dist: twine<7; extra == "release"
|
|
145
|
+
Provides-Extra: test
|
|
146
|
+
Requires-Dist: pendulum[test]<4,>=3; extra == "test"
|
|
147
|
+
Requires-Dist: pytest<10; extra == "test"
|
|
148
|
+
Requires-Dist: pytest-asyncio<2; extra == "test"
|
|
149
|
+
Requires-Dist: pytest-cov<8; extra == "test"
|
|
150
|
+
Requires-Dist: pytest-xdist[psutil]<4; extra == "test"
|
|
151
|
+
Requires-Dist: testcontainers[mysql,postgres]<4.15,>=4.9.1; extra == "test"
|
|
152
|
+
Requires-Dist: types-requests<3; extra == "test"
|
|
153
|
+
Requires-Dist: verlib2; extra == "test"
|
|
154
|
+
Dynamic: license-file
|
|
155
|
+
|
|
156
|
+
<div align="center">
|
|
157
|
+
|
|
158
|
+
# omniload
|
|
159
|
+
<p>Copy data between any source and any destination.</p>
|
|
160
|
+
<img src="https://github.com/panodata/omniload/blob/main/resources/demo.gif?raw=true" width="750" />
|
|
161
|
+
|
|
162
|
+
[](https://github.com/panodata/omniload/blob/main/LICENSE)
|
|
163
|
+
[](https://pepy.tech/project/omniload/)
|
|
164
|
+
[](https://pypi.org/project/omniload/)
|
|
165
|
+
|
|
166
|
+
</div>
|
|
167
|
+
|
|
168
|
+
## About
|
|
169
|
+
|
|
170
|
+
omniload is a polyglot data loader framework based on dlt.
|
|
171
|
+
It allows you to load data from any source into any destination,
|
|
172
|
+
either using a concise CLI from your shell,
|
|
173
|
+
or the Python API from your own applications.
|
|
174
|
+
|
|
175
|
+
omniload provides the same efficient incremental data loading modes
|
|
176
|
+
inherited by [dlt]: `append`, `merge`, and `delete+insert`.
|
|
177
|
+
|
|
178
|
+
## Install
|
|
179
|
+
We recommend using [uv] to install or run `omniload`.
|
|
180
|
+
|
|
181
|
+
```shell
|
|
182
|
+
pip install uv
|
|
183
|
+
uvx omniload
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Alternatively, if you'd like to install it globally:
|
|
187
|
+
```shell
|
|
188
|
+
uv pip install --system omniload
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
While installation with vanilla `pip` is possible, it's an order of magnitude slower.
|
|
192
|
+
|
|
193
|
+
## Synopsis
|
|
194
|
+
|
|
195
|
+
The next command instructs omniload to read the table `public.some_data` from
|
|
196
|
+
your PostgreSQL instance, and to write the data to your BigQuery warehouse
|
|
197
|
+
under the schema `omniload` and table `some_data`.
|
|
198
|
+
|
|
199
|
+
```shell
|
|
200
|
+
omniload ingest \
|
|
201
|
+
--source-uri 'postgresql://admin:admin@localhost:8837/web?sslmode=disable' \
|
|
202
|
+
--source-table 'public.some_data' \
|
|
203
|
+
--dest-uri 'bigquery://<your-project-name>?credentials_path=/path/to/service/account.json' \
|
|
204
|
+
--dest-table 'omniload.some_data'
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## Handbook
|
|
208
|
+
|
|
209
|
+
Please visit the [quickstart documentation], or inspect the
|
|
210
|
+
list of supported [sources and destinations].
|
|
211
|
+
|
|
212
|
+
## Project
|
|
213
|
+
|
|
214
|
+
### Contribute
|
|
215
|
+
|
|
216
|
+
Contributions are very much welcome. Please visit the [sandbox documentation]
|
|
217
|
+
to learn how to spin up a development environment on your workstation and submit
|
|
218
|
+
patches, or create a [ticket][Issues] to report a bug or propose a feature.
|
|
219
|
+
|
|
220
|
+
### Status
|
|
221
|
+
|
|
222
|
+
Breaking changes should be expected until a 1.0 release, so version pinning is
|
|
223
|
+
strongly recommended, especially when using this software as a library.
|
|
224
|
+
For example:
|
|
225
|
+
```shell
|
|
226
|
+
pip install 'omniload[full]==0.0.42'
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### License
|
|
230
|
+
|
|
231
|
+
The project is licensed under the MIT License, see the [LICENSE] file for details.
|
|
232
|
+
Some components are licensed under the Apache 2.0 license, see the [NOTICE] file for details.
|
|
233
|
+
|
|
234
|
+
### Acknowledgements
|
|
235
|
+
|
|
236
|
+
This project would not have been possible without the amazing work by the
|
|
237
|
+
authors and contributors to [SQLAlchemy], [dlt], and [ingestr], turtles all
|
|
238
|
+
the way down. Kudos.
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
[dlt]: https://github.com/dlt-hub/dlt
|
|
242
|
+
[quickstart documentation]: https://omniload.readthedocs.io/getting-started/quickstart.html
|
|
243
|
+
[ingestr]: https://bruin-data.github.io/ingestr/
|
|
244
|
+
[Issues]: https://github.com/panodata/omniload/issues
|
|
245
|
+
[LICENSE]: https://github.com/panodata/omniload/blob/main/LICENSE
|
|
246
|
+
[NOTICE]: https://github.com/panodata/omniload/blob/main/NOTICE
|
|
247
|
+
[sandbox documentation]: https://omniload.readthedocs.io/sandbox.html
|
|
248
|
+
[sources and destinations]: https://omniload.readthedocs.io/supported-sources/
|
|
249
|
+
[SQLAlchemy]: https://www.sqlalchemy.org/
|
|
250
|
+
[uv]: https://docs.astral.sh/uv/
|
omniload-0.2.0/README.md
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# omniload
|
|
4
|
+
<p>Copy data between any source and any destination.</p>
|
|
5
|
+
<img src="https://github.com/panodata/omniload/blob/main/resources/demo.gif?raw=true" width="750" />
|
|
6
|
+
|
|
7
|
+
[](https://github.com/panodata/omniload/blob/main/LICENSE)
|
|
8
|
+
[](https://pepy.tech/project/omniload/)
|
|
9
|
+
[](https://pypi.org/project/omniload/)
|
|
10
|
+
|
|
11
|
+
</div>
|
|
12
|
+
|
|
13
|
+
## About
|
|
14
|
+
|
|
15
|
+
omniload is a polyglot data loader framework based on dlt.
|
|
16
|
+
It allows you to load data from any source into any destination,
|
|
17
|
+
either using a concise CLI from your shell,
|
|
18
|
+
or the Python API from your own applications.
|
|
19
|
+
|
|
20
|
+
omniload provides the same efficient incremental data loading modes
|
|
21
|
+
inherited by [dlt]: `append`, `merge`, and `delete+insert`.
|
|
22
|
+
|
|
23
|
+
## Install
|
|
24
|
+
We recommend using [uv] to install or run `omniload`.
|
|
25
|
+
|
|
26
|
+
```shell
|
|
27
|
+
pip install uv
|
|
28
|
+
uvx omniload
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Alternatively, if you'd like to install it globally:
|
|
32
|
+
```shell
|
|
33
|
+
uv pip install --system omniload
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
While installation with vanilla `pip` is possible, it's an order of magnitude slower.
|
|
37
|
+
|
|
38
|
+
## Synopsis
|
|
39
|
+
|
|
40
|
+
The next command instructs omniload to read the table `public.some_data` from
|
|
41
|
+
your PostgreSQL instance, and to write the data to your BigQuery warehouse
|
|
42
|
+
under the schema `omniload` and table `some_data`.
|
|
43
|
+
|
|
44
|
+
```shell
|
|
45
|
+
omniload ingest \
|
|
46
|
+
--source-uri 'postgresql://admin:admin@localhost:8837/web?sslmode=disable' \
|
|
47
|
+
--source-table 'public.some_data' \
|
|
48
|
+
--dest-uri 'bigquery://<your-project-name>?credentials_path=/path/to/service/account.json' \
|
|
49
|
+
--dest-table 'omniload.some_data'
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Handbook
|
|
53
|
+
|
|
54
|
+
Please visit the [quickstart documentation], or inspect the
|
|
55
|
+
list of supported [sources and destinations].
|
|
56
|
+
|
|
57
|
+
## Project
|
|
58
|
+
|
|
59
|
+
### Contribute
|
|
60
|
+
|
|
61
|
+
Contributions are very much welcome. Please visit the [sandbox documentation]
|
|
62
|
+
to learn how to spin up a development environment on your workstation and submit
|
|
63
|
+
patches, or create a [ticket][Issues] to report a bug or propose a feature.
|
|
64
|
+
|
|
65
|
+
### Status
|
|
66
|
+
|
|
67
|
+
Breaking changes should be expected until a 1.0 release, so version pinning is
|
|
68
|
+
strongly recommended, especially when using this software as a library.
|
|
69
|
+
For example:
|
|
70
|
+
```shell
|
|
71
|
+
pip install 'omniload[full]==0.0.42'
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### License
|
|
75
|
+
|
|
76
|
+
The project is licensed under the MIT License, see the [LICENSE] file for details.
|
|
77
|
+
Some components are licensed under the Apache 2.0 license, see the [NOTICE] file for details.
|
|
78
|
+
|
|
79
|
+
### Acknowledgements
|
|
80
|
+
|
|
81
|
+
This project would not have been possible without the amazing work by the
|
|
82
|
+
authors and contributors to [SQLAlchemy], [dlt], and [ingestr], turtles all
|
|
83
|
+
the way down. Kudos.
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
[dlt]: https://github.com/dlt-hub/dlt
|
|
87
|
+
[quickstart documentation]: https://omniload.readthedocs.io/getting-started/quickstart.html
|
|
88
|
+
[ingestr]: https://bruin-data.github.io/ingestr/
|
|
89
|
+
[Issues]: https://github.com/panodata/omniload/issues
|
|
90
|
+
[LICENSE]: https://github.com/panodata/omniload/blob/main/LICENSE
|
|
91
|
+
[NOTICE]: https://github.com/panodata/omniload/blob/main/NOTICE
|
|
92
|
+
[sandbox documentation]: https://omniload.readthedocs.io/sandbox.html
|
|
93
|
+
[sources and destinations]: https://omniload.readthedocs.io/supported-sources/
|
|
94
|
+
[SQLAlchemy]: https://www.sqlalchemy.org/
|
|
95
|
+
[uv]: https://docs.astral.sh/uv/
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# Configuration file for the Sphinx documentation builder.
|
|
2
|
+
#
|
|
3
|
+
# For the full list of built-in configuration values, see the documentation:
|
|
4
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html
|
|
5
|
+
|
|
6
|
+
# -- Project information -----------------------------------------------------
|
|
7
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
|
|
8
|
+
|
|
9
|
+
project = "omniload"
|
|
10
|
+
copyright = "2024-2026, The omniload developers" # noqa: A001
|
|
11
|
+
author = "The omniload developers"
|
|
12
|
+
|
|
13
|
+
# -- General configuration ---------------------------------------------------
|
|
14
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
|
15
|
+
|
|
16
|
+
extensions = [
|
|
17
|
+
"myst_parser",
|
|
18
|
+
"sphinx_copybutton",
|
|
19
|
+
"sphinx_design",
|
|
20
|
+
"sphinx_sitemap",
|
|
21
|
+
"sphinx.ext.intersphinx",
|
|
22
|
+
"sphinx.ext.todo",
|
|
23
|
+
"sphinx.ext.ifconfig",
|
|
24
|
+
"sphinxcontrib.mermaid",
|
|
25
|
+
"sphinxext.opengraph",
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
templates_path = ["_templates"]
|
|
29
|
+
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
|
|
30
|
+
suppress_warnings = [
|
|
31
|
+
"myst.header",
|
|
32
|
+
]
|
|
33
|
+
|
|
34
|
+
# -- Options for HTML output -------------------------------------------------
|
|
35
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
|
|
36
|
+
|
|
37
|
+
# Where the documentation is published to. Needed for sphinx-sitemap.
|
|
38
|
+
html_baseurl = "https://omniload.readthedocs.io/"
|
|
39
|
+
|
|
40
|
+
# The theme to use for HTML and HTML Help pages. See the documentation for
|
|
41
|
+
# a list of builtin themes.
|
|
42
|
+
#
|
|
43
|
+
html_theme = "furo"
|
|
44
|
+
|
|
45
|
+
# Theme options are theme-specific and customize the look and feel of a theme
|
|
46
|
+
# further. For a list of options available for each theme, see the
|
|
47
|
+
# documentation.
|
|
48
|
+
|
|
49
|
+
html_title = "omniload"
|
|
50
|
+
|
|
51
|
+
html_theme_options = {
|
|
52
|
+
"sidebar_hide_name": False,
|
|
53
|
+
# https://github.com/pradyunsg/furo/blob/main/src/furo/assets/styles/variables/_colors.scss
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
# Add any paths that contain custom static files (such as style sheets) here,
|
|
57
|
+
# relative to this directory. They are copied after the builtin static files,
|
|
58
|
+
# so a file named "default.css" will overwrite the builtin "default.css".
|
|
59
|
+
html_static_path = ["_static"]
|
|
60
|
+
|
|
61
|
+
# Custom sidebar templates, must be a dictionary that maps document names
|
|
62
|
+
# to template names.
|
|
63
|
+
#
|
|
64
|
+
# The default sidebars (for documents that don't match any pattern) are
|
|
65
|
+
# defined by theme itself. Builtin themes are using these templates by
|
|
66
|
+
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
|
|
67
|
+
# 'searchbox.html']``.
|
|
68
|
+
#
|
|
69
|
+
# html_sidebars = {}
|
|
70
|
+
|
|
71
|
+
html_show_sourcelink = True
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
# -- Intersphinx ----------------------------------------------------------
|
|
75
|
+
|
|
76
|
+
intersphinx_mapping = {
|
|
77
|
+
"crash": ("https://cratedb.com/docs/crate/crash/en/latest/", None),
|
|
78
|
+
"cloud": ("https://cratedb.com/docs/cloud/en/latest/", None),
|
|
79
|
+
"croud": ("https://cratedb.com/docs/cloud/cli/en/latest/", None),
|
|
80
|
+
"guide": ("https://cratedb.com/docs/guide/", None),
|
|
81
|
+
"influxio": ("https://influxio.readthedocs.io/", None),
|
|
82
|
+
}
|
|
83
|
+
linkcheck_ignore = [
|
|
84
|
+
r"https://pulse.internetsociety.org/",
|
|
85
|
+
r"https://www.g2.com/",
|
|
86
|
+
r"https://www.trustpilot.com/",
|
|
87
|
+
r"https://developer.eu.surveymonkey.com/",
|
|
88
|
+
r"https://developer.salesforce.com/",
|
|
89
|
+
r"https://developers.facebook.com/",
|
|
90
|
+
r"https://docs.indeed.com/",
|
|
91
|
+
r"https://quickbooks.intuit.com/",
|
|
92
|
+
r"https://app.asana.com/",
|
|
93
|
+
r"https://developer.ca.surveymonkey.com/",
|
|
94
|
+
r"https://docs.customer.io/",
|
|
95
|
+
r"https://personio.de/",
|
|
96
|
+
r"https://www.adjust.com/",
|
|
97
|
+
r"https://support.appsflyer.com/",
|
|
98
|
+
r"https://help.docebo.com/",
|
|
99
|
+
r"https://www.reddit.com/",
|
|
100
|
+
]
|
|
101
|
+
linkcheck_anchors_ignore_for_url = [
|
|
102
|
+
r"https://developers.zoom.us/",
|
|
103
|
+
r"https://docs.customer.io/",
|
|
104
|
+
r"https://github.com/",
|
|
105
|
+
r"https://support.appsflyer.com/",
|
|
106
|
+
r"https://support.axon.ai/",
|
|
107
|
+
r"https://developers.zoom.us/",
|
|
108
|
+
r"https://docs.customer.io/",
|
|
109
|
+
]
|
|
110
|
+
|
|
111
|
+
# Disable caching remote inventories completely.
|
|
112
|
+
# http://www.sphinx-doc.org/en/stable/ext/intersphinx.html#confval-intersphinx_cache_limit
|
|
113
|
+
# intersphinx_cache_limit = 0
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
# -- Extension configuration -------------------------------------------------
|
|
117
|
+
|
|
118
|
+
sphinx_tabs_valid_builders = ["linkcheck"]
|
|
119
|
+
todo_include_todos = True
|
|
120
|
+
|
|
121
|
+
# Configure sphinx-copybutton
|
|
122
|
+
copybutton_remove_prompts = True
|
|
123
|
+
copybutton_line_continuation_character = "\\"
|
|
124
|
+
copybutton_prompt_text = (
|
|
125
|
+
r">>> |\.\.\. |\$ |sh\$ |PS> |cr> |mysql> |In \[\d*\]: | {2,5}\.\.\.: | {5,8}: "
|
|
126
|
+
)
|
|
127
|
+
copybutton_prompt_is_regexp = True
|
|
128
|
+
|
|
129
|
+
# Configure sphinxext-opengraph
|
|
130
|
+
ogp_site_url = "https://omniload.readthedocs.io/"
|
|
131
|
+
ogp_enable_meta_description = True
|
|
132
|
+
# ogp_image = "http://example.org/image.png"
|
|
133
|
+
# ogp_description_length = 300
|
|
134
|
+
|
|
135
|
+
# Configure sphinx-sitemap
|
|
136
|
+
sitemap_url_scheme = "{link}"
|
|
137
|
+
sitemap_excludes = [
|
|
138
|
+
"search.html",
|
|
139
|
+
"genindex.html",
|
|
140
|
+
"_snippet/*",
|
|
141
|
+
]
|
|
142
|
+
|
|
143
|
+
# -- Options for MyST -------------------------------------------------
|
|
144
|
+
|
|
145
|
+
myst_heading_anchors = 3
|
|
146
|
+
myst_enable_extensions = [
|
|
147
|
+
"attrs_block",
|
|
148
|
+
"attrs_inline",
|
|
149
|
+
"colon_fence",
|
|
150
|
+
"deflist",
|
|
151
|
+
"fieldlist",
|
|
152
|
+
"html_admonition",
|
|
153
|
+
"html_image",
|
|
154
|
+
"linkify",
|
|
155
|
+
"replacements",
|
|
156
|
+
"strikethrough",
|
|
157
|
+
"substitution",
|
|
158
|
+
"tasklist",
|
|
159
|
+
]
|
|
160
|
+
myst_substitutions = {}
|
|
161
|
+
myst_html_meta = {
|
|
162
|
+
"google-site-verification": "kDH2Ws762oLwf5V3l-fGrYR9-lgLF6S_Bpd4Dairh7A",
|
|
163
|
+
"msvalidate.01": "E9B1983DD903904FDB7F4E5612962EE7",
|
|
164
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from importlib.metadata import PackageNotFoundError, version
|
|
2
|
+
from unittest import mock
|
|
3
|
+
|
|
4
|
+
__appname__ = "omniload"
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
try:
|
|
8
|
+
__version__ = version(__appname__)
|
|
9
|
+
except PackageNotFoundError: # pragma: no cover
|
|
10
|
+
__version__ = "0.0.0-dev"
|
|
11
|
+
|
|
12
|
+
# Turn off dlt's telemetry to tame three more requests per invocation.
|
|
13
|
+
mock.patch("dlt.common.runtime.telemetry._TELEMETRY_STARTED", True)
|
|
@@ -3,7 +3,8 @@ import tempfile
|
|
|
3
3
|
from concurrent.futures import ThreadPoolExecutor
|
|
4
4
|
|
|
5
5
|
import pytest
|
|
6
|
-
|
|
6
|
+
|
|
7
|
+
from .main_test import DESTINATIONS, SOURCES
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
def pytest_configure(config):
|
|
@@ -37,7 +38,7 @@ def start_containers(config):
|
|
|
37
38
|
|
|
38
39
|
unique_containers = set(SOURCES.values()) | set(DESTINATIONS.values())
|
|
39
40
|
for container in unique_containers:
|
|
40
|
-
container.container_lock_dir = config.shared_directory
|
|
41
|
+
container.container_lock_dir = config.shared_directory # ty: ignore[invalid-assignment]
|
|
41
42
|
|
|
42
43
|
with ThreadPoolExecutor() as executor:
|
|
43
44
|
for container in unique_containers:
|