omniload 0.2.0__tar.gz → 0.3.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.2.0 → omniload-0.3.0}/PKG-INFO +55 -17
- {omniload-0.2.0 → omniload-0.3.0}/README.md +50 -13
- {omniload-0.2.0 → omniload-0.3.0}/docs/conf.py +1 -0
- omniload-0.3.0/omniload/__init__.py +37 -0
- omniload-0.3.0/omniload/api.py +564 -0
- omniload-0.3.0/omniload/main.py +372 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/clickup/helpers.py +1 -1
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/errors.py +23 -1
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/frankfurter/__init__.py +5 -10
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/frankfurter/helpers.py +1 -1
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/freshdesk/__init__.py +5 -11
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/sources.py +4 -1
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/table_definition.py +1 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload.egg-info/PKG-INFO +55 -17
- {omniload-0.2.0 → omniload-0.3.0}/omniload.egg-info/SOURCES.txt +1 -34
- {omniload-0.2.0 → omniload-0.3.0}/omniload.egg-info/requires.txt +4 -3
- {omniload-0.2.0 → omniload-0.3.0}/omniload.egg-info/top_level.txt +1 -0
- {omniload-0.2.0 → omniload-0.3.0}/pyproject.toml +6 -5
- omniload-0.2.0/omniload/__init__.py +0 -13
- omniload-0.2.0/omniload/conftest.py +0 -73
- omniload-0.2.0/omniload/main.py +0 -808
- omniload-0.2.0/omniload/main_test.py +0 -6691
- omniload-0.2.0/omniload/src/adjust/adjust_helpers_test.py +0 -15
- omniload-0.2.0/omniload/src/anthropic/helpers_test.py +0 -524
- omniload-0.2.0/omniload/src/appsflyer/client_test.py +0 -58
- omniload-0.2.0/omniload/src/blob_test.py +0 -36
- omniload-0.2.0/omniload/src/couchbase_source/helpers_test.py +0 -170
- omniload-0.2.0/omniload/src/destinations_test.py +0 -243
- omniload-0.2.0/omniload/src/docebo/helpers_test.py +0 -190
- omniload-0.2.0/omniload/src/facebook_ads/helpers_test.py +0 -208
- omniload-0.2.0/omniload/src/factory_test.py +0 -13
- omniload-0.2.0/omniload/src/fireflies/helpers_test.py +0 -515
- omniload-0.2.0/omniload/src/fluxx/helpers_test.py +0 -287
- omniload-0.2.0/omniload/src/fundraiseup/client_test.py +0 -463
- omniload-0.2.0/omniload/src/google_ads/reports_test.py +0 -212
- omniload-0.2.0/omniload/src/google_ads/test_google_ads.py +0 -184
- omniload-0.2.0/omniload/src/google_analytics/helpers_test.py +0 -78
- omniload-0.2.0/omniload/src/gorgias/helpers_test.py +0 -45
- omniload-0.2.0/omniload/src/intercom/helpers_test.py +0 -249
- omniload-0.2.0/omniload/src/klaviyo/helpers_test.py +0 -36
- omniload-0.2.0/omniload/src/linkedin_ads/helpers_test.py +0 -141
- omniload-0.2.0/omniload/src/loader_test.py +0 -73
- omniload-0.2.0/omniload/src/mailchimp/helpers_test.py +0 -303
- omniload-0.2.0/omniload/src/masking_test.py +0 -386
- omniload-0.2.0/omniload/src/mongodb/helpers_test.py +0 -455
- omniload-0.2.0/omniload/src/primer/helpers_test.py +0 -81
- omniload-0.2.0/omniload/src/reddit_ads/helpers_test.py +0 -181
- omniload-0.2.0/omniload/src/revenuecat/helpers_test.py +0 -158
- omniload-0.2.0/omniload/src/shopify/helpers_test.py +0 -49
- omniload-0.2.0/omniload/src/smartsheets/test_smartsheets.py +0 -134
- omniload-0.2.0/omniload/src/snapchat_ads/helpers_test.py +0 -248
- omniload-0.2.0/omniload/src/sources_test.py +0 -314
- omniload-0.2.0/omniload/src/stripe_analytics/helpers_test.py +0 -130
- omniload-0.2.0/omniload/src/tiktok_ads/tiktok_helpers_test.py +0 -56
- {omniload-0.2.0 → omniload-0.3.0}/LICENSE +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/LICENSE.Apache-2.0 +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/MANIFEST.in +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/NOTICE +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/py.typed +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/adjust/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/adjust/adjust_helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/airtable/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/allium/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/anthropic/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/anthropic/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/applovin/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/applovin_max/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/appsflyer/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/appsflyer/client.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/appstore/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/appstore/client.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/appstore/errors.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/appstore/models.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/appstore/resources.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/arrow/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/asana_source/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/asana_source/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/asana_source/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/attio/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/attio/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/blob.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/bruin/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/chess/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/chess/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/chess/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/clickup/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/collector/spinner.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/couchbase_source/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/couchbase_source/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/cursor/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/cursor/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/customer_io/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/customer_io/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/destinations.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/docebo/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/docebo/client.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/docebo/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/dune/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/dune/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/dynamodb/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/elasticsearch/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/elasticsearch/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/facebook_ads/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/facebook_ads/exceptions.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/facebook_ads/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/facebook_ads/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/facebook_ads/utils.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/factory.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/filesystem/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/filesystem/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/filesystem/readers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/filters.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/fireflies/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/fireflies/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/fluxx/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/fluxx/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/freshdesk/freshdesk_client.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/freshdesk/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/fundraiseup/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/fundraiseup/client.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/github/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/github/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/github/queries.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/github/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/google_ads/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/google_ads/field.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/google_ads/metrics.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/google_ads/predicates.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/google_ads/reports.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/google_analytics/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/google_analytics/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/google_sheets/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/google_sheets/helpers/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/google_sheets/helpers/api_calls.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/google_sheets/helpers/data_processing.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/gorgias/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/gorgias/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/hostaway/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/hostaway/client.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/http/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/http/readers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/http_client.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/hubspot/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/hubspot/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/hubspot/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/indeed/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/indeed/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/influxdb/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/influxdb/client.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/intercom/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/intercom/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/intercom/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/isoc_pulse/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/jira_source/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/jira_source/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/jira_source/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/kafka/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/kafka/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/kafka/model.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/kinesis/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/kinesis/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/klaviyo/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/klaviyo/client.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/klaviyo/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/linear/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/linear/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/linkedin_ads/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/linkedin_ads/dimension_time_enum.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/linkedin_ads/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/loader.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/mailchimp/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/mailchimp/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/mailchimp/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/masking.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/mixpanel/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/mixpanel/client.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/monday/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/monday/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/monday/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/mongodb/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/mongodb/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/notion/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/notion/helpers/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/notion/helpers/client.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/notion/helpers/database.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/notion/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/partition.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/personio/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/personio/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/phantombuster/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/phantombuster/client.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/pinterest/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/pipedrive/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/pipedrive/helpers/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/pipedrive/helpers/custom_fields_munger.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/pipedrive/helpers/pages.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/pipedrive/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/pipedrive/typing.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/plusvibeai/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/plusvibeai/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/plusvibeai/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/primer/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/primer/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/quickbooks/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/reddit_ads/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/reddit_ads/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/resource.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/revenuecat/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/revenuecat/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/salesforce/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/salesforce/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/shopify/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/shopify/exceptions.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/shopify/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/shopify/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/slack/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/slack/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/slack/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/smartsheets/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/snapchat_ads/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/snapchat_ads/client.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/snapchat_ads/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/snapchat_ads/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/socrata_source/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/socrata_source/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/socrata_source/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/solidgate/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/solidgate/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/sql_database/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/sql_database/callbacks.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/stripe_analytics/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/stripe_analytics/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/stripe_analytics/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/tiktok_ads/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/tiktok_ads/tiktok_helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/time.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/trustpilot/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/trustpilot/client.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/wise/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/wise/client.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/zendesk/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/zendesk/helpers/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/zendesk/helpers/api_helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/zendesk/helpers/credentials.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/zendesk/helpers/talk_api.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/zendesk/settings.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/zoom/__init__.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload/src/zoom/helpers.py +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload.egg-info/dependency_links.txt +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/omniload.egg-info/entry_points.txt +0 -0
- {omniload-0.2.0 → omniload-0.3.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: omniload
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: omniload is a polyglot data loader based on dlt. Copy data between any source and any destination.
|
|
5
5
|
Author: Mustafa Ersan, Sanju Shah Gupta, Saravjeet 'Aman' Singh
|
|
6
6
|
Author-email: Burak Karakan <burak.karakan@getbruin.com>
|
|
@@ -65,7 +65,7 @@ License-File: NOTICE
|
|
|
65
65
|
Requires-Dist: aiohttp<4
|
|
66
66
|
Requires-Dist: asana<3.3
|
|
67
67
|
Requires-Dist: click<8.5
|
|
68
|
-
Requires-Dist: clickhouse-connect<
|
|
68
|
+
Requires-Dist: clickhouse-connect<2,>=0.8
|
|
69
69
|
Requires-Dist: clickhouse-driver<0.3
|
|
70
70
|
Requires-Dist: clickhouse-sqlalchemy<0.4
|
|
71
71
|
Requires-Dist: confluent-kafka<2.15
|
|
@@ -73,7 +73,7 @@ Requires-Dist: couchbase<5,>=4
|
|
|
73
73
|
Requires-Dist: databricks-sql-connector<5
|
|
74
74
|
Requires-Dist: databricks-sqlalchemy<3
|
|
75
75
|
Requires-Dist: dataclasses-json<0.7
|
|
76
|
-
Requires-Dist: dlt<1.
|
|
76
|
+
Requires-Dist: dlt<1.29
|
|
77
77
|
Requires-Dist: dlt-cratedb<0.2
|
|
78
78
|
Requires-Dist: duckdb<1.6
|
|
79
79
|
Requires-Dist: duckdb-engine<0.18
|
|
@@ -128,7 +128,7 @@ Requires-Dist: poethepoet<1; extra == "develop"
|
|
|
128
128
|
Requires-Dist: pyproject-fmt<3; extra == "develop"
|
|
129
129
|
Requires-Dist: pytest-repeat<1; extra == "develop"
|
|
130
130
|
Requires-Dist: ruff<0.16; extra == "develop"
|
|
131
|
-
Requires-Dist: ty==0.0.
|
|
131
|
+
Requires-Dist: ty==0.0.52; extra == "develop"
|
|
132
132
|
Requires-Dist: validate-pyproject<1; extra == "develop"
|
|
133
133
|
Provides-Extra: full
|
|
134
134
|
Requires-Dist: omniload[ibm-db,odbc,oracle]; extra == "full"
|
|
@@ -143,6 +143,7 @@ Provides-Extra: release
|
|
|
143
143
|
Requires-Dist: build<2; extra == "release"
|
|
144
144
|
Requires-Dist: twine<7; extra == "release"
|
|
145
145
|
Provides-Extra: test
|
|
146
|
+
Requires-Dist: boto3<2; extra == "test"
|
|
146
147
|
Requires-Dist: pendulum[test]<4,>=3; extra == "test"
|
|
147
148
|
Requires-Dist: pytest<10; extra == "test"
|
|
148
149
|
Requires-Dist: pytest-asyncio<2; extra == "test"
|
|
@@ -167,34 +168,49 @@ Dynamic: license-file
|
|
|
167
168
|
|
|
168
169
|
## About
|
|
169
170
|
|
|
170
|
-
omniload is a polyglot data loader framework based on dlt
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
171
|
+
omniload is a polyglot data loader framework based on [dlt], the
|
|
172
|
+
open-source Python library for building data pipelines. dlt does the
|
|
173
|
+
heavy lifting (schema inference, normalization, and incremental load
|
|
174
|
+
state); omniload wraps it behind a single CLI and a URI scheme, so you
|
|
175
|
+
can copy data between any source and any destination without writing
|
|
176
|
+
pipeline code, either from your shell or the Python API.
|
|
174
177
|
|
|
175
178
|
omniload provides the same efficient incremental data loading modes
|
|
176
|
-
inherited by
|
|
179
|
+
inherited by dlt: `append`, `merge`, and `delete+insert`.
|
|
177
180
|
|
|
178
181
|
## Install
|
|
179
|
-
|
|
182
|
+
|
|
183
|
+
### Container
|
|
184
|
+
|
|
185
|
+
For running `omniload` in a container environment, use the provided OCI
|
|
186
|
+
images.
|
|
180
187
|
|
|
181
188
|
```shell
|
|
182
|
-
|
|
189
|
+
docker run --rm ghcr.io/panodata/omniload:latest version
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Package
|
|
193
|
+
|
|
194
|
+
For running or installing the `omniload` Python package,
|
|
195
|
+
we are recommending to use [uv]. [^1][^2]
|
|
196
|
+
```shell
|
|
183
197
|
uvx omniload
|
|
184
198
|
```
|
|
185
199
|
|
|
186
|
-
Alternatively, if you
|
|
200
|
+
Alternatively, if you like to install it account-wide on your system:
|
|
187
201
|
```shell
|
|
188
|
-
uv
|
|
202
|
+
uv tool install omniload
|
|
189
203
|
```
|
|
190
204
|
|
|
191
|
-
|
|
205
|
+
[^1]: You can install `uv` using `pip install uv`, or another method that matches your operating system.
|
|
206
|
+
[^2]: While installing `omniload` with vanilla `pip` is possible, it is an order of magnitude slower.
|
|
192
207
|
|
|
193
208
|
## Synopsis
|
|
194
209
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
210
|
+
### CLI
|
|
211
|
+
|
|
212
|
+
Instruct omniload to read from the PostgreSQL table `public.some_data`,
|
|
213
|
+
and write to the BigQuery warehouse table `omniload.some_data`.
|
|
198
214
|
|
|
199
215
|
```shell
|
|
200
216
|
omniload ingest \
|
|
@@ -204,6 +220,27 @@ omniload ingest \
|
|
|
204
220
|
--dest-table 'omniload.some_data'
|
|
205
221
|
```
|
|
206
222
|
|
|
223
|
+
### Python API
|
|
224
|
+
|
|
225
|
+
Using `omniload.run_ingest`, you can run the same
|
|
226
|
+
ingestion from your own application. The keyword arguments map one-to-one to the
|
|
227
|
+
CLI options, and it returns the dlt `LoadInfo` for the run (or `None` for a dry run).
|
|
228
|
+
|
|
229
|
+
```python
|
|
230
|
+
from omniload import run_ingest
|
|
231
|
+
|
|
232
|
+
info = run_ingest(
|
|
233
|
+
source_uri="sqlite:///./source.db",
|
|
234
|
+
dest_uri="duckdb:///./warehouse.duckdb",
|
|
235
|
+
source_table="main.some_table",
|
|
236
|
+
dest_table="public.some_table",
|
|
237
|
+
)
|
|
238
|
+
print(info)
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
See the [Python API documentation] for dry runs, error handling, and passing
|
|
242
|
+
enum options as strings.
|
|
243
|
+
|
|
207
244
|
## Handbook
|
|
208
245
|
|
|
209
246
|
Please visit the [quickstart documentation], or inspect the
|
|
@@ -240,6 +277,7 @@ the way down. Kudos.
|
|
|
240
277
|
|
|
241
278
|
[dlt]: https://github.com/dlt-hub/dlt
|
|
242
279
|
[quickstart documentation]: https://omniload.readthedocs.io/getting-started/quickstart.html
|
|
280
|
+
[Python API documentation]: https://omniload.readthedocs.io/getting-started/python-api.html
|
|
243
281
|
[ingestr]: https://bruin-data.github.io/ingestr/
|
|
244
282
|
[Issues]: https://github.com/panodata/omniload/issues
|
|
245
283
|
[LICENSE]: https://github.com/panodata/omniload/blob/main/LICENSE
|
|
@@ -12,34 +12,49 @@
|
|
|
12
12
|
|
|
13
13
|
## About
|
|
14
14
|
|
|
15
|
-
omniload is a polyglot data loader framework based on dlt
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
omniload is a polyglot data loader framework based on [dlt], the
|
|
16
|
+
open-source Python library for building data pipelines. dlt does the
|
|
17
|
+
heavy lifting (schema inference, normalization, and incremental load
|
|
18
|
+
state); omniload wraps it behind a single CLI and a URI scheme, so you
|
|
19
|
+
can copy data between any source and any destination without writing
|
|
20
|
+
pipeline code, either from your shell or the Python API.
|
|
19
21
|
|
|
20
22
|
omniload provides the same efficient incremental data loading modes
|
|
21
|
-
inherited by
|
|
23
|
+
inherited by dlt: `append`, `merge`, and `delete+insert`.
|
|
22
24
|
|
|
23
25
|
## Install
|
|
24
|
-
|
|
26
|
+
|
|
27
|
+
### Container
|
|
28
|
+
|
|
29
|
+
For running `omniload` in a container environment, use the provided OCI
|
|
30
|
+
images.
|
|
25
31
|
|
|
26
32
|
```shell
|
|
27
|
-
|
|
33
|
+
docker run --rm ghcr.io/panodata/omniload:latest version
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Package
|
|
37
|
+
|
|
38
|
+
For running or installing the `omniload` Python package,
|
|
39
|
+
we are recommending to use [uv]. [^1][^2]
|
|
40
|
+
```shell
|
|
28
41
|
uvx omniload
|
|
29
42
|
```
|
|
30
43
|
|
|
31
|
-
Alternatively, if you
|
|
44
|
+
Alternatively, if you like to install it account-wide on your system:
|
|
32
45
|
```shell
|
|
33
|
-
uv
|
|
46
|
+
uv tool install omniload
|
|
34
47
|
```
|
|
35
48
|
|
|
36
|
-
|
|
49
|
+
[^1]: You can install `uv` using `pip install uv`, or another method that matches your operating system.
|
|
50
|
+
[^2]: While installing `omniload` with vanilla `pip` is possible, it is an order of magnitude slower.
|
|
37
51
|
|
|
38
52
|
## Synopsis
|
|
39
53
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
54
|
+
### CLI
|
|
55
|
+
|
|
56
|
+
Instruct omniload to read from the PostgreSQL table `public.some_data`,
|
|
57
|
+
and write to the BigQuery warehouse table `omniload.some_data`.
|
|
43
58
|
|
|
44
59
|
```shell
|
|
45
60
|
omniload ingest \
|
|
@@ -49,6 +64,27 @@ omniload ingest \
|
|
|
49
64
|
--dest-table 'omniload.some_data'
|
|
50
65
|
```
|
|
51
66
|
|
|
67
|
+
### Python API
|
|
68
|
+
|
|
69
|
+
Using `omniload.run_ingest`, you can run the same
|
|
70
|
+
ingestion from your own application. The keyword arguments map one-to-one to the
|
|
71
|
+
CLI options, and it returns the dlt `LoadInfo` for the run (or `None` for a dry run).
|
|
72
|
+
|
|
73
|
+
```python
|
|
74
|
+
from omniload import run_ingest
|
|
75
|
+
|
|
76
|
+
info = run_ingest(
|
|
77
|
+
source_uri="sqlite:///./source.db",
|
|
78
|
+
dest_uri="duckdb:///./warehouse.duckdb",
|
|
79
|
+
source_table="main.some_table",
|
|
80
|
+
dest_table="public.some_table",
|
|
81
|
+
)
|
|
82
|
+
print(info)
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
See the [Python API documentation] for dry runs, error handling, and passing
|
|
86
|
+
enum options as strings.
|
|
87
|
+
|
|
52
88
|
## Handbook
|
|
53
89
|
|
|
54
90
|
Please visit the [quickstart documentation], or inspect the
|
|
@@ -85,6 +121,7 @@ the way down. Kudos.
|
|
|
85
121
|
|
|
86
122
|
[dlt]: https://github.com/dlt-hub/dlt
|
|
87
123
|
[quickstart documentation]: https://omniload.readthedocs.io/getting-started/quickstart.html
|
|
124
|
+
[Python API documentation]: https://omniload.readthedocs.io/getting-started/python-api.html
|
|
88
125
|
[ingestr]: https://bruin-data.github.io/ingestr/
|
|
89
126
|
[Issues]: https://github.com/panodata/omniload/issues
|
|
90
127
|
[LICENSE]: https://github.com/panodata/omniload/blob/main/LICENSE
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
from importlib.metadata import PackageNotFoundError, version
|
|
2
|
+
from unittest import mock
|
|
3
|
+
|
|
4
|
+
from omniload.api import (
|
|
5
|
+
IncrementalStrategy,
|
|
6
|
+
LoaderFileFormat,
|
|
7
|
+
Progress,
|
|
8
|
+
SchemaNaming,
|
|
9
|
+
SqlBackend,
|
|
10
|
+
SqlReflectionLevel,
|
|
11
|
+
run_ingest,
|
|
12
|
+
)
|
|
13
|
+
from omniload.src.errors import IngestJobError, ValidationError
|
|
14
|
+
|
|
15
|
+
__appname__ = "omniload"
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
try:
|
|
19
|
+
__version__ = version(__appname__)
|
|
20
|
+
except PackageNotFoundError: # pragma: no cover
|
|
21
|
+
__version__ = "0.0.0-dev"
|
|
22
|
+
|
|
23
|
+
# Turn off dlt's telemetry to tame three more requests per invocation.
|
|
24
|
+
mock.patch("dlt.common.runtime.telemetry._TELEMETRY_STARTED", True)
|
|
25
|
+
|
|
26
|
+
__all__ = [
|
|
27
|
+
"IncrementalStrategy",
|
|
28
|
+
"IngestJobError",
|
|
29
|
+
"LoaderFileFormat",
|
|
30
|
+
"Progress",
|
|
31
|
+
"SchemaNaming",
|
|
32
|
+
"SqlBackend",
|
|
33
|
+
"SqlReflectionLevel",
|
|
34
|
+
"ValidationError",
|
|
35
|
+
"__version__",
|
|
36
|
+
"run_ingest",
|
|
37
|
+
]
|