mage-ai 0.8.4__tar.gz → 0.8.5__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 mage-ai might be problematic. Click here for more details.
- {mage-ai-0.8.4/mage_ai.egg-info → mage-ai-0.8.5}/PKG-INFO +1 -1
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/BlockPolicy.py +2 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/PipelinePolicy.py +1 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/BlockPresenter.py +1 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/PipelinePresenter.py +6 -1
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/__init__.py +12 -3
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/dbt/__init__.py +46 -1
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/dbt/utils/__init__.py +83 -24
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/pipeline.py +5 -3
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/repo_manager.py +1 -1
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/storage/local_storage.py +1 -1
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/custom/python/default.jinja +1 -1
- {mage-ai-0.8.4/mage_ai/data_preparation/templates/data_exporters/pyspark → mage-ai-0.8.5/mage_ai/data_preparation/templates/data_exporters}/default.jinja +2 -2
- {mage-ai-0.8.4/mage_ai/data_preparation/templates/data_exporters → mage-ai-0.8.5/mage_ai/data_preparation/templates/data_exporters/pyspark}/default.jinja +2 -4
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_loaders/default.jinja +1 -1
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_loaders/file.py +1 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_loaders/pyspark/default.jinja +1 -1
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/testable.jinja +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/data_warehouse_transformer.jinja +2 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/default.jinja +4 -6
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/default_pyspark.jinja +4 -4
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/action.jinja +2 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/io/base.py +11 -1
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/constants.py +1 -1
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/404.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/404.html.html +2 -2
- {mage-ai-0.8.4/mage_ai/server/frontend_dist/_next/static/0jln56azuIZflrR1CXt9U → mage-ai-0.8.5/mage_ai/server/frontend_dist/_next/static/K0IzhmyaFuEHbzvE39__f}/_buildManifest.js +1 -1
- mage-ai-0.8.5/mage_ai/server/frontend_dist/_next/static/chunks/4846-0096ccafbe28a868.js +1 -0
- mage-ai-0.8.5/mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/edit-3b2d760d97cec235.js +1 -0
- mage-ai-0.8.5/mage_ai/server/frontend_dist/_next/static/chunks/pages/terminal-5d7c45bb058a3f20.js +1 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/index.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/manage.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/pipeline-runs.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/pipelines/[pipeline]/backfills/[...slug].html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/pipelines/[pipeline]/backfills.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/pipelines/[pipeline]/edit.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/pipelines/[pipeline]/logs.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/pipelines/[pipeline]/monitors/block-runs.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/pipelines/[pipeline]/monitors/block-runtime.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/pipelines/[pipeline]/monitors.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/pipelines/[pipeline]/runs/[run].html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/pipelines/[pipeline]/runs.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/pipelines/[pipeline]/syncs.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/pipelines/[pipeline]/triggers/[...slug].html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/pipelines/[pipeline]/triggers.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/pipelines/[pipeline].html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/pipelines.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/settings/account/profile.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/settings/workspace/preferences.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/settings/workspace/users.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/settings.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/sign-in.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/terminal.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/test.html +3 -3
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/triggers.html +2 -2
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/server.py +1 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_preparation/test_templates.py +34 -86
- {mage-ai-0.8.4 → mage-ai-0.8.5/mage_ai.egg-info}/PKG-INFO +1 -1
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai.egg-info/SOURCES.txt +6 -6
- {mage-ai-0.8.4 → mage-ai-0.8.5}/setup.py +1 -1
- mage-ai-0.8.4/mage_ai/server/frontend_dist/_next/static/chunks/4846-64f9afc02d45293c.js +0 -1
- mage-ai-0.8.4/mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/edit-c6dfcc4f231cfa5a.js +0 -1
- mage-ai-0.8.4/mage_ai/server/frontend_dist/_next/static/chunks/pages/terminal-1734d248ec2b6c24.js +0 -1
- {mage-ai-0.8.4 → mage-ai-0.8.5}/LICENSE +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/MANIFEST.in +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/README.md +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/api_context.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/errors.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/logging.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/middleware.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/monitors/BaseMonitor.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/monitors/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/oauth_scope.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/operations/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/operations/base.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/operations/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/AutocompleteItemPolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/BackfillPolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/BasePolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/BlockRunPolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/ClusterPolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/DataProviderPolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/EventRulePolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/FileContentPolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/FilePolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/IntegrationDestinationPolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/IntegrationSourcePolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/IntegrationSourceStreamPolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/KernelPolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/LogPolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/MonitorStatPolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/OutputPolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/PipelineRunPolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/PipelineSchedulePolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/ProjectPolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/SecretPolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/SessionPolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/UserPolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/VariablePolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/WidgetPolicy.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/policies/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/AutocompleteItemPresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/BackfillPresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/BasePresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/BlockRunPresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/ClusterPresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/DataProviderPresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/EventRulePresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/FileContentPresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/FilePresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/IntegrationDestinationPresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/IntegrationSourcePresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/IntegrationSourceStreamPresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/KernelPresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/LogPresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/MonitorStatPresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/OutputPresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/PipelineRunPresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/PipelineSchedulePresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/ProjectPresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/SecretPresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/SessionPresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/UserPresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/VariablePresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/WidgetPresenter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/mixins/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/presenters/mixins/users.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/AutocompleteItemResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/BackfillResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/BaseResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/BlockResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/BlockRunResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/ClusterResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/DataProviderResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/DatabaseResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/EventRuleResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/FileContentResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/FileResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/GenericResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/IntegrationDestinationResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/IntegrationSourceResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/IntegrationSourceStreamResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/KernelResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/LogResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/MonitorStatResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/OutputResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/PipelineResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/PipelineRunResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/PipelineScheduleResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/ProjectResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/Resource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/SecretResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/SessionResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/UserResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/VariableResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/WidgetResource.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/mixins/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/shared/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/shared/collections.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/resources/shared/collective_loaders.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/result_set.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/utils.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/api/views.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/authentication/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/authentication/oauth2.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/authentication/passwords.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/autocomplete/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/autocomplete/utils.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/cli/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/cli/main.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/cli/utils.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/cluster_manager/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/cluster_manager/aws/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/cluster_manager/aws/ecs_task_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/cluster_manager/aws/emr_cluster_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/cluster_manager/cluster_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/cluster_manager/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/cluster_manager/gcp/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/cluster_manager/gcp/cloud_run_service_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/cluster_manager/kubernetes/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/cluster_manager/kubernetes/workload_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/analysis/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/analysis/calculator.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/analysis/charts.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/analysis/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/cleaning_rules/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/cleaning_rules/base.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/cleaning_rules/clean_column_names.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/cleaning_rules/fix_syntax_errors.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/cleaning_rules/impute_values.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/cleaning_rules/reformat_values.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/cleaning_rules/remove_collinear_columns.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/cleaning_rules/remove_columns_with_high_empty_rate.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/cleaning_rules/remove_columns_with_single_value.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/cleaning_rules/remove_duplicate_rows.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/cleaning_rules/remove_outliers.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/column_types/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/column_types/column_type_detector.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/column_types/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/data_cleaner.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/estimators/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/estimators/base.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/estimators/encoders.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/estimators/outlier_removal.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/pipelines/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/pipelines/base.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/shared/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/shared/utils.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/statistics/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/statistics/calculator.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/action_code.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/base.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/column.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/custom_action.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/dependency_resolution.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/helpers.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/row.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/shared.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/spark/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/spark/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/spark/transformers.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/udf/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/udf/addition.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/udf/base.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/udf/constant.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/udf/date_trunc.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/udf/difference.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/udf/distance_between.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/udf/divide.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/udf/formatted_date.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/udf/if_else.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/udf/multiply.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/udf/string_replace.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/udf/string_split.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/udf/substring.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/utils.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_cleaner/transformer_actions/variable_replacer.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_integrations/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_integrations/destinations/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_integrations/destinations/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_integrations/logger/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_integrations/logger/utils.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_integrations/sources/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_integrations/sources/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_integrations/utils/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_integrations/utils/config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_integrations/utils/parsers.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_integrations/utils/scheduler.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/decorators.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/executors/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/executors/block_executor.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/executors/ecs_block_executor.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/executors/executor_factory.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/executors/gcp_cloud_run_block_executor.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/executors/k8s_block_executor.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/executors/pipeline_executor.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/executors/pyspark_block_executor.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/executors/pyspark_pipeline_executor.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/executors/streaming_pipeline_executor.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/logging/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/logging/gcs_logger_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/logging/logger.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/logging/logger_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/logging/logger_manager_factory.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/logging/s3_logger_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/errors.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/integration/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/r/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/r/templates/data_exporter.jinja +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/r/templates/data_loader.jinja +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/r/templates/transformer.jinja +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/sql/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/sql/bigquery.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/sql/mysql.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/sql/postgres.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/sql/redshift.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/sql/snowflake.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/sql/trino.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/sql/utils/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/sql/utils/shared.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/block/utils.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/errors.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/file.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/pipelines/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/pipelines/integration_pipeline.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/pipelines/utils.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/utils.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/variable.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/widget/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/widget/charts.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/widget/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/models/widget/utils.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/shared/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/shared/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/shared/secrets.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/shared/stream.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/shared/utils.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/storage/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/storage/base_storage.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/storage/s3_storage.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/storage/utils.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_exporters/azure_blob_storage.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_exporters/bigquery.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_exporters/file.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_exporters/google_cloud_storage.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_exporters/mysql.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_exporters/postgres.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_exporters/pyspark/s3.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_exporters/r/default.jinja +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_exporters/redshift.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_exporters/s3.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_exporters/snowflake.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_exporters/streaming/kinesis.yaml +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_exporters/streaming/opensearch.yaml +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_loaders/api.py +1 -1
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_loaders/azure_blob_storage.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_loaders/bigquery.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_loaders/google_cloud_storage.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_loaders/mysql.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_loaders/postgres.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_loaders/pyspark/s3.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_loaders/r/default.jinja +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_loaders/redshift.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_loaders/s3.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_loaders/snowflake.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_loaders/streaming/azure_event_hub.yaml +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_loaders/streaming/kafka.yaml +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_loaders/streaming/kinesis.yaml +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/data_loaders/streaming/rabbitmq.yaml +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/pipeline/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/pipeline/metadata.yaml +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/pipeline_execution/emr_bootstrap.sh +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/pipeline_execution/spark_script.jinja +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/repo/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/repo/charts/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/repo/data_exporters/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/repo/data_exporters/export_titanic_clean.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/repo/data_loaders/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/repo/data_loaders/load_titanic.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/repo/dbt/profiles.yml +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/repo/io_config.yaml +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/repo/metadata.yaml +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/repo/pipelines/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/repo/pipelines/example_pipeline/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/repo/pipelines/example_pipeline/metadata.yaml +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/repo/requirements.txt +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/repo/scratchpads/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/repo/transformers/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/repo/transformers/fill_in_missing_values.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/repo/utils/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/sensors/default.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/sensors/s3.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/template.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/default_streaming.jinja +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/r/default.r +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/suggestion_fmt.jinja +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/average.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/clean_column_name.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/count.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/count_distinct.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/diff.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/first.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/fix_syntax_errors.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/impute.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/last.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/max.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/median.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/min.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/normalize.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/reformat.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/remove.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/remove_outliers.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/select.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/shift_down.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/shift_up.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/standardize.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/column/sum.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/row/drop_duplicate.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/row/filter.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/row/remove.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/transformer_actions/row/sort.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/utils.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/utils/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/utils/block/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/utils/block/convert_content.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/variable_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/errors/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/errors/base.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/io/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/io/azure_blob_storage.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/io/bigquery.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/io/config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/io/export_utils.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/io/file.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/io/google_cloud_storage.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/io/io_config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/io/mysql.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/io/postgres.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/io/redshift.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/io/s3.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/io/snowflake.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/io/sql.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/io/trino.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/io/utils.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/airflow.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/backfills/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/backfills/service.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/alembic.ini +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/database_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/errors.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/README.md +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/env.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/script.py.mako +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/versions/053ee2c10d85_add_completed_at.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/versions/067326f43bc3_add_variables_to_pipelinerun.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/versions/1d8e65aeefdd_add_settings_to_pipeline_schedule.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/versions/1f9353eddbc6_add_secrets_table.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/versions/2266370f589b_add_indexes_to_pipeline_run.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/versions/26305e46df52_create_backfills_table.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/versions/3fafd217efa7_add_event_matcher_model.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/versions/52ab80005742_add_variables_to_pipeline_schedule.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/versions/5cd59ec4cf1d_add_passed_sla_to_pipeline_run.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/versions/643b6e65e814_add_unique_indexes_on_authentication_.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/versions/6aecc9bc451c_update_schedule_type_enum.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/versions/7ac6fed06918_add_token_column_to_pipeline_schedule_.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/versions/84de4cdd6126_add_sla_to_pipeline_schedule.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/versions/8971d4cd5b39_add_event_variables_and_metadata_to_.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/versions/97ff9f55a3c0_create_users_oauth2_applications_and_.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/versions/b01be687e537_add_started_at_to_block_run.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/versions/c07a23ff782b_add_initial_tables.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/migrations/versions/ec5df57a1c60_add_metrics_to_block_runs.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/models.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/db/process.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/execution_process_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/job_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/metrics/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/metrics/pipeline_run.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/monitor/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/monitor/monitor_stats.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/notification/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/notification/config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/notification/sender.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/pipeline_scheduler.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/queue/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/queue/celery_queue.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/queue/config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/queue/process_queue.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/queue/queue.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/queue/queue_factory.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/run_status_checker.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/triggers/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/triggers/event_trigger.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/triggers/loop_time_trigger.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/triggers/time_trigger.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/utils/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/orchestration/utils/resources.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/sample_datasets/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/sample_datasets/product_purchases.csv +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/sample_datasets/salary_survey.csv +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/sample_datasets/titanic_survival.csv +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/sample_datasets/user_emails.csv +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/active_kernel.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/api/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/api/base.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/api/blocks.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/api/clusters.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/api/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/api/errors.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/api/events.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/api/integration_sources.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/api/projects.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/api/triggers.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/api/v1.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/app.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/client/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/client/mage.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/data/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/data/base.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/data/models.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/docs_server.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/execution_manager.py +0 -0
- {mage-ai-0.8.4/mage_ai/server/frontend_dist/_next/static/0jln56azuIZflrR1CXt9U → mage-ai-0.8.5/mage_ai/server/frontend_dist/_next/static/K0IzhmyaFuEHbzvE39__f}/_middlewareManifest.js +0 -0
- {mage-ai-0.8.4/mage_ai/server/frontend_dist/_next/static/0jln56azuIZflrR1CXt9U → mage-ai-0.8.5/mage_ai/server/frontend_dist/_next/static/K0IzhmyaFuEHbzvE39__f}/_ssgManifest.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/1150.1378afaa474df64a.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/1240.0819f45820d22263.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/1286-a62050b3f897c6be.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/1450.d383f64c169d4278.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/1774-aa51ef1da7217ff9.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/1830-cb1bbbf9a9c54649.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/2083-78a438dbdc57d1e4.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/2125-0b537dc53fe71b18.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/2249-84de2142241f4925.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/2426-004ebe7d53484174.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/2481.0454a0e25dc7e027.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/2508.724531e7f9cf5f36.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/2524-6aeb9419acf5d1b4.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/2545.8371b39c898ae92b.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/261.0a24b4ece1d29aa1.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/266.e301071d22592682.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/2714-1e79e9f2e998b544.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/29107295-989a0767a635d9d5.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/3453.992f4b1667e9882c.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/3467.38cd0654ba6f788f.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/3835.df296b4e4078e985.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/3850-6395783d820def1c.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/3873.4b3eace753998412.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/3898.880191695bb05845.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/4042.5e16d36209052351.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/4092.536ee541241f4538.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/434-69ddfacd3e93f2db.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/4388.04098706f32e69e7.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/440.3ab77942f659ea0c.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/4450.79f14f763d55c63e.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/4454.13a2404adecaa39e.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/4463-1b9ce74c6e1bb14e.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/4495-4f0340aa82e0c623.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/4776.753ad29fa0a29a4a.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/4804-01a10103ebe26ca8.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/4883.a5bb0edbf8f3cc8f.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/5008.29c2662ecc2b04c7.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/5104.1edcf4437c471dd4.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/5164.857023e800905b6f.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/5729.0f2748e9e6dab951.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/5824.628653557e904674.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/5872-103815a4a043489b.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/5896-f84e336fb8877027.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/5944-9488f2ddf3543b08.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/6042.c59010de9e699437.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/6085-692d2f784c0504f2.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/6115.0c85e507543394ea.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/6116.871a682ddf535aca.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/6434.10380ee0968636ba.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/6443.7b6d2b4e51018184.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/6507.d3a17777d2c294e6.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/6532-0439f38fc89e0a96.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/6579-0bf2380344587a96.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/6641-fb7a8be8444f2dd4.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/6958.8f39c585d36737a7.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/7011-81dd8269c4806d26.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/704-4de8946d753a578a.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/72fdc299.2d5ec188af5d0049.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/739.3d24945544b37e52.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/7400-1430ec3874c1fdee.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/792.010ca00d79b2112f.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/7947.77be4bec4d47774e.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/7951.fee8b6c27c9ef777.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/8018.968bf87c390e3312.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/8097.b0345f30a7390c1d.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/8256.290ceb269b1ffe26.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/826.75268ee34f93393a.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/8277.5003e1d94bb85156.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/8762.dff300f86bef8573.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/8789-4f858e520d46973b.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/8807.a68c69c8fe0a8c01.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/8849.db0d50b4d84b09a6.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/8901.21d26d5a1ee473fe.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/8920.5700e380a2999098.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/8961-e25997bc088e0d19.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/9140-836abb2721055e82.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/9258.6c6ef544c701a011.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/9307.d4baf7aebbcef1f0.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/9361.a0820e3069f5ef74.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/9363.6b811b4c86277e07.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/9437.a3c32f45cf9ef69b.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/9565-28e1c30511c95c2d.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/9566.f8bd24768ed14ecb.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/9633.40e5056ca1e2b22a.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/9767-599ba5464d0bf65a.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/9785.5ff26cb26d84d6a1.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/9832-c8b8970bb522f302.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/9855.c4394a68322be9f8.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/9898-91c6384c9bd33ca7.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/9927.e82a3e1e21990d77.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/bd1a647f.6050372acaa5cc3c.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/framework-7c365855dab1bf41.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/main-bb0dd5375146d7fd.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/_app-0aed65f2e085822e.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/_error-235304e5badb19eb.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/index-e34a68d2f6fe16f2.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/manage-d82bfa6f3e761f4c.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/pipeline-runs-21fe37061bdaaaea.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/backfills/[...slug]-949a1d5a8ddc652d.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/backfills-688184bd8b4d4f5c.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/logs-abce05c25bee218d.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/monitors/block-runs-a6dbd67285ecc5a5.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/monitors/block-runtime-f83ab9de4094e1b0.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/monitors-8b08ec1aef4af4f2.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/runs/[run]-73ced07cc98a4968.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/runs-2eb8b1a432f84d75.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/syncs-a056c0e384d39c9b.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/triggers/[...slug]-ae970171cfe98c51.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/triggers-6a8545f96cc7b8f2.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]-ca9457e1a6bced4b.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines-12dc02ae431a6305.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/account/profile-acd7ee47219fee3d.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/preferences-07bda506f68974fb.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/users-c128672e053a4c30.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/settings-d594a66a568306da.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/sign-in-b4e1eb529a184c60.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/test-f567bdfcc1276249.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/pages/triggers-dbce4f85a95ea336.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/polyfills-5cd94c89d3acac5f.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/chunks/webpack-bc5e4eb2c1ff587c.js +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/_next/static/css/d1e8e64d0b07af2f.css +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/favicon.ico +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Fira_Code/ttf/FiraCode-Bold.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Fira_Code/ttf/FiraCode-Light.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Fira_Code/ttf/FiraCode-Medium.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Fira_Code/ttf/FiraCode-Regular.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Fira_Code/ttf/FiraCode-Retina.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Fira_Code/ttf/FiraCode-SemiBold.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto/LICENSE.txt +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto/Roboto-Black.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto/Roboto-BlackItalic.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto/Roboto-Bold.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto/Roboto-BoldItalic.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto/Roboto-Italic.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto/Roboto-Light.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto/Roboto-LightItalic.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto/Roboto-Medium.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto/Roboto-MediumItalic.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto/Roboto-Regular.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto/Roboto-Thin.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto/Roboto-ThinItalic.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto_Mono/LICENSE.txt +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto_Mono/README.txt +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto_Mono/RobotoMono-Italic-VariableFont_wght.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto_Mono/RobotoMono-VariableFont_wght.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto_Mono/static/RobotoMono-Bold.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto_Mono/static/RobotoMono-BoldItalic.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto_Mono/static/RobotoMono-ExtraLight.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto_Mono/static/RobotoMono-ExtraLightItalic.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto_Mono/static/RobotoMono-Italic.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto_Mono/static/RobotoMono-Light.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto_Mono/static/RobotoMono-LightItalic.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto_Mono/static/RobotoMono-Medium.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto_Mono/static/RobotoMono-MediumItalic.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto_Mono/static/RobotoMono-Regular.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto_Mono/static/RobotoMono-SemiBold.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto_Mono/static/RobotoMono-SemiBoldItalic.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto_Mono/static/RobotoMono-Thin.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/fonts/Roboto_Mono/static/RobotoMono-ThinItalic.ttf +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/images/backfill.jpg +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/images/banner-shape-purple-peach.jpg +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/images/dashboard-api-key.webp +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/images/extra.jpg +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/images/monitor.jpg +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/images/run B.jpg +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/images/sessions/abstract.png +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/frontend_dist/vercel.svg +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/kernel_output_parser.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/kernels.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/scheduler_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/subscriber.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/utils/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/utils/frontend_renderer.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/utils/output_display.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/server/websocket_server.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/airbyte/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/airbyte/client.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/airbyte/config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/airbyte/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/airbyte/exceptions.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/airbyte/server.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/aws/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/aws/ecs/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/aws/ecs/config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/aws/ecs/ecs.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/aws/emr/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/aws/emr/config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/aws/emr/emr.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/aws/emr/emr_basics.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/aws/emr/launcher.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/aws/emr/resource_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/aws/events/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/aws/events/events.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/aws/s3/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/aws/s3/s3.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/aws/secrets_manager/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/aws/secrets_manager/secrets_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/dbt/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/dbt/config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/dbt/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/dbt/dbt.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/email/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/email/config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/email/email.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/gcp/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/gcp/cloud_run/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/gcp/cloud_run/cloud_run.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/gcp/cloud_run/config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/hightouch/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/hightouch/config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/hightouch/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/hightouch/hightouch.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/k8s/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/k8s/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/k8s/job_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/metaplane/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/metaplane/config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/metaplane/metaplane.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/slack/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/slack/config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/slack/slack.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/stitch/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/stitch/config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/stitch/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/stitch/stitch.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/teams/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/teams/config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/teams/teams.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/tracking/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/services/tracking/metrics.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/settings/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/array.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/code.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/conversions.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/custom_types.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/dates.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/environments.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/hash.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/http_client.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/io.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/logger.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/multi.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/parsers.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/retry.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/strings.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/urls.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/shared/utils.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/streaming/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/streaming/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/streaming/sinks/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/streaming/sinks/base.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/streaming/sinks/kinesis.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/streaming/sinks/opensearch.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/streaming/sinks/sink_factory.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/streaming/sources/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/streaming/sources/azure_event_hub.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/streaming/sources/base.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/streaming/sources/kafka.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/streaming/sources/kinesis.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/streaming/sources/rabbitmq.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/streaming/sources/source_factory.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/api/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/api/operations/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/api/operations/base.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/api/operations/test_sessions.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/api/operations/test_users.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/base_test.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/cleaning_rules/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/cleaning_rules/test_clean_column_names.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/cleaning_rules/test_fix_syntax_error.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/cleaning_rules/test_impute_values.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/cleaning_rules/test_reformat_values.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/cleaning_rules/test_remove_collinear_columns.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/cleaning_rules/test_remove_columns_with_high_empty_rate.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/cleaning_rules/test_remove_columns_with_single_value.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/cleaning_rules/test_remove_duplicate_rows.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/cleaning_rules/test_remove_outliers.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/statistics/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/statistics/test_calculator.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/test_column_type_detector.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/transformer_actions/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/transformer_actions/shared.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/transformer_actions/test_base.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/transformer_actions/test_column.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/transformer_actions/test_custom_actions.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/transformer_actions/test_helpers.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/transformer_actions/test_row.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/transformer_actions/test_utils.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_cleaner/transformer_actions/test_variable_replacer.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_preparation/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_preparation/models/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_preparation/models/test_block.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_preparation/models/test_pipeline.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_preparation/models/test_variable.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/data_preparation/test_variable_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/factory.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/io/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/io/test_config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/io/test_export_utils.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/orchestration/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/orchestration/db/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/orchestration/db/test_models.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/orchestration/notification/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/orchestration/notification/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/orchestration/notification/test_config.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/orchestration/notification/test_sender.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/orchestration/queue/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/orchestration/queue/test_process_queue.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/orchestration/test_execution_process_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/orchestration/test_job_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/orchestration/test_pipeline_scheduler.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/orchestration/triggers/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/orchestration/triggers/test_event_trigger.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/orchestration/triggers/test_loop_time_trigger.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/services/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/services/aws/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/services/aws/s3/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/services/aws/s3/test_s3.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/services/k8s/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/services/k8s/test_job_manager.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/shared/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/shared/test_io.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/shared/test_retry.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/streaming/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/streaming/sinks/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/streaming/sinks/test_kinesis.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/streaming/sinks/test_opensearch.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/streaming/sinks/test_sink_factory.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/streaming/sources/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/streaming/sources/test_azure_event_hub.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/streaming/sources/test_kafka.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/streaming/sources/test_kinesis.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/streaming/sources/test_rabbitmq.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/streaming/sources/test_source_factory.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/tests/test_shared.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/utils/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/utils/code.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/utils/logger/__init__.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/utils/logger/constants.py +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai.egg-info/dependency_links.txt +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai.egg-info/entry_points.txt +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai.egg-info/requires.txt +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai.egg-info/top_level.txt +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/pyproject.toml +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/requirements.txt +0 -0
- {mage-ai-0.8.4 → mage-ai-0.8.5}/setup.cfg +0 -0
|
@@ -53,6 +53,7 @@ BlockPolicy.allow_write([
|
|
|
53
53
|
'content',
|
|
54
54
|
'converted_from',
|
|
55
55
|
'language',
|
|
56
|
+
'metadata',
|
|
56
57
|
'name',
|
|
57
58
|
'priority',
|
|
58
59
|
'type',
|
|
@@ -73,6 +74,7 @@ BlockPolicy.allow_write([
|
|
|
73
74
|
'executor_config',
|
|
74
75
|
'executor_type',
|
|
75
76
|
'language',
|
|
77
|
+
'metadata',
|
|
76
78
|
'name',
|
|
77
79
|
'outputs',
|
|
78
80
|
'status',
|
|
@@ -21,13 +21,18 @@ class PipelinePresenter(BasePresenter):
|
|
|
21
21
|
include_content = query.get('includes_content', [True])
|
|
22
22
|
if include_content:
|
|
23
23
|
include_content = include_content[0]
|
|
24
|
+
|
|
24
25
|
include_outputs = query.get('includes_outputs', [True])
|
|
25
26
|
if include_outputs:
|
|
26
27
|
include_outputs = include_outputs[0]
|
|
27
28
|
|
|
29
|
+
include_block_metadata = query.get('includes_block_metadata', [True])
|
|
30
|
+
if include_block_metadata:
|
|
31
|
+
include_block_metadata = include_block_metadata[0]
|
|
32
|
+
|
|
28
33
|
return await self.model.to_dict_async(
|
|
34
|
+
include_block_metadata=include_block_metadata,
|
|
29
35
|
include_content=include_content,
|
|
30
|
-
include_outputs=include_outputs,
|
|
31
36
|
sample_count=DATAFRAME_SAMPLE_COUNT_PREVIEW,
|
|
32
37
|
)
|
|
33
38
|
|
|
@@ -267,6 +267,9 @@ class Block:
|
|
|
267
267
|
self._content = await self.file.content_async()
|
|
268
268
|
return self._content
|
|
269
269
|
|
|
270
|
+
async def metadata_async(self):
|
|
271
|
+
return {}
|
|
272
|
+
|
|
270
273
|
@property
|
|
271
274
|
def executable(self):
|
|
272
275
|
return (
|
|
@@ -1219,15 +1222,17 @@ df = get_variable('{self.pipeline.uuid}', '{block_uuid}', 'df')
|
|
|
1219
1222
|
|
|
1220
1223
|
async def to_dict_async(
|
|
1221
1224
|
self,
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
+
include_block_metadata: bool = False,
|
|
1226
|
+
include_content: bool = False,
|
|
1227
|
+
include_outputs: bool = False,
|
|
1228
|
+
sample_count: int = None,
|
|
1225
1229
|
check_if_file_exists: bool = False,
|
|
1226
1230
|
):
|
|
1227
1231
|
data = self.to_dict_base()
|
|
1228
1232
|
|
|
1229
1233
|
if include_content:
|
|
1230
1234
|
data['content'] = await self.content_async()
|
|
1235
|
+
|
|
1231
1236
|
if include_outputs:
|
|
1232
1237
|
data['outputs'] = await self.outputs_async()
|
|
1233
1238
|
if check_if_file_exists:
|
|
@@ -1239,6 +1244,10 @@ df = get_variable('{self.pipeline.uuid}', '{block_uuid}', 'df')
|
|
|
1239
1244
|
'Delete the current block to remove it from the pipeline or write code ' +
|
|
1240
1245
|
f'and save the pipeline to create a new file at {file_path}.',
|
|
1241
1246
|
)
|
|
1247
|
+
|
|
1248
|
+
if include_block_metadata:
|
|
1249
|
+
data['metadata'] = await self.metadata_async()
|
|
1250
|
+
|
|
1242
1251
|
return data
|
|
1243
1252
|
|
|
1244
1253
|
def update(self, data):
|
|
@@ -2,6 +2,8 @@ from mage_ai.data_preparation.models.block import Block
|
|
|
2
2
|
from mage_ai.data_preparation.models.block.dbt.utils import (
|
|
3
3
|
build_command_line_arguments,
|
|
4
4
|
create_upstream_tables,
|
|
5
|
+
load_profiles_async,
|
|
6
|
+
parse_attributes,
|
|
5
7
|
query_from_compiled_sql,
|
|
6
8
|
run_dbt_tests,
|
|
7
9
|
update_model_settings,
|
|
@@ -10,7 +12,6 @@ from mage_ai.data_preparation.models.constants import BlockLanguage
|
|
|
10
12
|
from mage_ai.data_preparation.repo_manager import get_repo_path
|
|
11
13
|
from mage_ai.shared.hash import merge_dict
|
|
12
14
|
from typing import Any, Dict, List
|
|
13
|
-
|
|
14
15
|
import json
|
|
15
16
|
import os
|
|
16
17
|
import subprocess
|
|
@@ -31,6 +32,49 @@ class DBTBlock(Block):
|
|
|
31
32
|
|
|
32
33
|
return super().file_path
|
|
33
34
|
|
|
35
|
+
async def metadata_async(self) -> Dict:
|
|
36
|
+
project = None
|
|
37
|
+
projects = {}
|
|
38
|
+
|
|
39
|
+
if self.configuration.get('file_path'):
|
|
40
|
+
attributes_dict = parse_attributes(self)
|
|
41
|
+
profiles_full_path = attributes_dict['profiles_full_path']
|
|
42
|
+
project_name = attributes_dict['project_name']
|
|
43
|
+
project = project_name
|
|
44
|
+
|
|
45
|
+
targets = []
|
|
46
|
+
profiles = await load_profiles_async(project_name, profiles_full_path)
|
|
47
|
+
outputs = profiles.get('outputs')
|
|
48
|
+
if outputs:
|
|
49
|
+
targets += sorted(list(outputs.keys()))
|
|
50
|
+
|
|
51
|
+
projects[project_name] = dict(
|
|
52
|
+
target=profiles.get('target'),
|
|
53
|
+
targets=targets,
|
|
54
|
+
)
|
|
55
|
+
else:
|
|
56
|
+
dbt_dir = f'{get_repo_path()}/dbt'
|
|
57
|
+
project_names = [
|
|
58
|
+
name for name in os.listdir(dbt_dir) if os.path.isdir(f'{dbt_dir}/{name}')
|
|
59
|
+
]
|
|
60
|
+
for project_name in project_names:
|
|
61
|
+
profiles_full_path = f'{dbt_dir}/{project_name}/profiles.yml'
|
|
62
|
+
targets = []
|
|
63
|
+
profiles = await load_profiles_async(project_name, profiles_full_path)
|
|
64
|
+
outputs = profiles.get('outputs')
|
|
65
|
+
if outputs:
|
|
66
|
+
targets += sorted(list(outputs.keys()))
|
|
67
|
+
|
|
68
|
+
projects[project_name] = dict(
|
|
69
|
+
target=profiles.get('target'),
|
|
70
|
+
targets=targets,
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
return dict(dbt=dict(
|
|
74
|
+
project=project,
|
|
75
|
+
projects=projects,
|
|
76
|
+
))
|
|
77
|
+
|
|
34
78
|
def run_tests(
|
|
35
79
|
self,
|
|
36
80
|
build_block_output_stdout=None,
|
|
@@ -95,6 +139,7 @@ class DBTBlock(Block):
|
|
|
95
139
|
df = query_from_compiled_sql(
|
|
96
140
|
self,
|
|
97
141
|
dbt_profile_target,
|
|
142
|
+
limit=self.configuration.get('limit'),
|
|
98
143
|
)
|
|
99
144
|
self.store_variables(
|
|
100
145
|
dict(df=df),
|
|
@@ -24,6 +24,7 @@ from mage_ai.shared.parsers import encode_complex
|
|
|
24
24
|
from mage_ai.shared.utils import clean_name, files_in_path
|
|
25
25
|
from pandas import DataFrame
|
|
26
26
|
from typing import Callable, Dict, List, Tuple
|
|
27
|
+
import aiofiles
|
|
27
28
|
import os
|
|
28
29
|
import re
|
|
29
30
|
import simplejson
|
|
@@ -252,11 +253,65 @@ def add_table_to_source(block: 'Block', settings: Dict, source_name: str, table_
|
|
|
252
253
|
return settings
|
|
253
254
|
|
|
254
255
|
|
|
255
|
-
def
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
256
|
+
def load_profiles_file(profiles_full_path: str) -> Dict:
|
|
257
|
+
try:
|
|
258
|
+
with open(profiles_full_path, 'r') as f:
|
|
259
|
+
try:
|
|
260
|
+
text = Template(f.read()).render(
|
|
261
|
+
**get_template_vars(),
|
|
262
|
+
)
|
|
263
|
+
return yaml.safe_load(text)
|
|
264
|
+
except Exception as err:
|
|
265
|
+
print(
|
|
266
|
+
f'Error loading file {profiles_full_path}, check file content syntax: {err}.',
|
|
267
|
+
)
|
|
268
|
+
return {}
|
|
269
|
+
except OSError as err:
|
|
270
|
+
print(
|
|
271
|
+
f'Error loading file {profiles_full_path}, check file content syntax: {err}.',
|
|
272
|
+
)
|
|
273
|
+
return {}
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
async def load_profiles_file_async(profiles_full_path: str) -> Dict:
|
|
277
|
+
try:
|
|
278
|
+
async with aiofiles.open(profiles_full_path, mode='r') as fp:
|
|
279
|
+
try:
|
|
280
|
+
file_content = await fp.read()
|
|
281
|
+
text = Template(file_content).render(
|
|
282
|
+
**get_template_vars(),
|
|
283
|
+
)
|
|
284
|
+
return yaml.safe_load(text)
|
|
285
|
+
except Exception as err:
|
|
286
|
+
print(
|
|
287
|
+
f'Error loading file {profiles_full_path}, check file content syntax: {err}.',
|
|
288
|
+
)
|
|
289
|
+
return {}
|
|
290
|
+
except OSError as err:
|
|
291
|
+
print(
|
|
292
|
+
f'Error loading file {profiles_full_path}, check file content syntax: {err}.',
|
|
293
|
+
)
|
|
294
|
+
return {}
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
def load_profiles(project_name: str, profiles_full_path: str) -> Dict:
|
|
298
|
+
profiles = load_profiles_file(profiles_full_path)
|
|
299
|
+
|
|
300
|
+
if not profiles or project_name not in profiles:
|
|
301
|
+
print(f'Project name {project_name} does not exist in profile file {profiles_full_path}.')
|
|
302
|
+
return {}
|
|
303
|
+
|
|
304
|
+
return profiles[project_name]
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
async def load_profiles_async(project_name: str, profiles_full_path: str) -> Dict:
|
|
308
|
+
profiles = await load_profiles_file_async(profiles_full_path)
|
|
309
|
+
|
|
310
|
+
if not profiles or project_name not in profiles:
|
|
311
|
+
print(f'Project name {project_name} does not exist in profile file {profiles_full_path}.')
|
|
312
|
+
return {}
|
|
313
|
+
|
|
314
|
+
return profiles[project_name]
|
|
260
315
|
|
|
261
316
|
|
|
262
317
|
def load_profile(
|
|
@@ -264,19 +319,19 @@ def load_profile(
|
|
|
264
319
|
profiles_full_path: str,
|
|
265
320
|
profile_target: str = None,
|
|
266
321
|
) -> Dict:
|
|
267
|
-
with open(profiles_full_path, 'r') as f:
|
|
268
|
-
try:
|
|
269
|
-
text = Template(f.read()).render(
|
|
270
|
-
**get_template_vars(),
|
|
271
|
-
)
|
|
272
|
-
profile = yaml.safe_load(text)[project_name]
|
|
273
|
-
outputs = profile['outputs']
|
|
274
|
-
target = profile.get('target')
|
|
275
322
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
323
|
+
profile = load_profiles(project_name, profiles_full_path)
|
|
324
|
+
outputs = profile.get('outputs', {})
|
|
325
|
+
target = profile.get('target', None)
|
|
326
|
+
|
|
327
|
+
return outputs.get(profile_target or target)
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
def get_profile(block, profile_target: str = None) -> Dict:
|
|
331
|
+
attr = parse_attributes(block)
|
|
332
|
+
project_name = attr['project_name']
|
|
333
|
+
profiles_full_path = attr['profiles_full_path']
|
|
334
|
+
return load_profile(project_name, profiles_full_path, profile_target)
|
|
280
335
|
|
|
281
336
|
|
|
282
337
|
def config_file_loader_and_configuration(block, profile_target: str) -> Dict:
|
|
@@ -565,7 +620,7 @@ def interpolate_input(
|
|
|
565
620
|
return query
|
|
566
621
|
|
|
567
622
|
|
|
568
|
-
def query_from_compiled_sql(block, profile_target: str) -> DataFrame:
|
|
623
|
+
def query_from_compiled_sql(block, profile_target: str, limit: int = None) -> DataFrame:
|
|
569
624
|
attr = parse_attributes(block)
|
|
570
625
|
|
|
571
626
|
config_file_loader, configuration = config_file_loader_and_configuration(
|
|
@@ -618,36 +673,40 @@ def query_from_compiled_sql(block, profile_target: str) -> DataFrame:
|
|
|
618
673
|
quote_str=quote_str,
|
|
619
674
|
)
|
|
620
675
|
|
|
676
|
+
shared_kwargs = {}
|
|
677
|
+
if limit is not None:
|
|
678
|
+
shared_kwargs['limit'] = limit
|
|
679
|
+
|
|
621
680
|
if DataSource.POSTGRES == data_provider:
|
|
622
681
|
from mage_ai.io.postgres import Postgres
|
|
623
682
|
|
|
624
683
|
with Postgres.with_config(config_file_loader) as loader:
|
|
625
|
-
return loader.load(query_string)
|
|
684
|
+
return loader.load(query_string, **shared_kwargs)
|
|
626
685
|
elif DataSource.MYSQL == data_provider:
|
|
627
686
|
from mage_ai.io.mysql import MySQL
|
|
628
687
|
|
|
629
688
|
with MySQL.with_config(config_file_loader) as loader:
|
|
630
|
-
return loader.load(query_string)
|
|
689
|
+
return loader.load(query_string, **shared_kwargs)
|
|
631
690
|
elif DataSource.BIGQUERY == data_provider:
|
|
632
691
|
from mage_ai.io.bigquery import BigQuery
|
|
633
692
|
|
|
634
693
|
loader = BigQuery.with_config(config_file_loader)
|
|
635
|
-
return loader.load(query_string)
|
|
694
|
+
return loader.load(query_string, **shared_kwargs)
|
|
636
695
|
elif DataSource.REDSHIFT == data_provider:
|
|
637
696
|
from mage_ai.io.redshift import Redshift
|
|
638
697
|
|
|
639
698
|
with Redshift.with_config(config_file_loader) as loader:
|
|
640
|
-
return loader.load(query_string)
|
|
699
|
+
return loader.load(query_string, **shared_kwargs)
|
|
641
700
|
elif DataSource.SNOWFLAKE == data_provider:
|
|
642
701
|
from mage_ai.io.snowflake import Snowflake
|
|
643
702
|
|
|
644
703
|
with Snowflake.with_config(config_file_loader) as loader:
|
|
645
|
-
return loader.load(query_string)
|
|
704
|
+
return loader.load(query_string, **shared_kwargs)
|
|
646
705
|
elif DataSource.TRINO == data_provider:
|
|
647
706
|
from mage_ai.io.trino import Trino
|
|
648
707
|
|
|
649
708
|
with Trino.with_config(config_file_loader) as loader:
|
|
650
|
-
return loader.load(query_string)
|
|
709
|
+
return loader.load(query_string, **shared_kwargs)
|
|
651
710
|
|
|
652
711
|
|
|
653
712
|
def build_command_line_arguments(
|
|
@@ -470,12 +470,14 @@ class Pipeline:
|
|
|
470
470
|
|
|
471
471
|
async def to_dict_async(
|
|
472
472
|
self,
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
473
|
+
include_block_metadata: bool = False,
|
|
474
|
+
include_content: bool = False,
|
|
475
|
+
include_outputs: bool = False,
|
|
476
|
+
sample_count: int = None,
|
|
476
477
|
):
|
|
477
478
|
blocks_data = await asyncio.gather(
|
|
478
479
|
*[b.to_dict_async(
|
|
480
|
+
include_block_metadata=include_block_metadata,
|
|
479
481
|
include_content=include_content,
|
|
480
482
|
include_outputs=include_outputs,
|
|
481
483
|
sample_count=sample_count,
|
|
@@ -37,7 +37,7 @@ class RepoConfig:
|
|
|
37
37
|
# Priority:
|
|
38
38
|
# 1. 'variables_dir' from config_dict
|
|
39
39
|
# 1. os.getenv(MAGE_DATA_DIR_ENV_VAR)
|
|
40
|
-
# 2. 'variables_dir' from
|
|
40
|
+
# 2. 'variables_dir' from project's metadata.yaml file
|
|
41
41
|
# 3. DEFAULT_MAGE_DATA_DIR
|
|
42
42
|
if config_dict is not None and config_dict.get('variables_dir'):
|
|
43
43
|
self.variables_dir = config_dict.get('variables_dir')
|
|
@@ -31,7 +31,7 @@ class LocalStorage(BaseStorage):
|
|
|
31
31
|
os.remove(path)
|
|
32
32
|
|
|
33
33
|
def remove_dir(self, path: str) -> None:
|
|
34
|
-
shutil.rmtree(path)
|
|
34
|
+
shutil.rmtree(path, ignore_errors=True)
|
|
35
35
|
|
|
36
36
|
def read_json_file(self, file_path: str, default_value={}) -> Dict:
|
|
37
37
|
if not self.path_exists(file_path):
|
|
@@ -3,12 +3,12 @@ if 'data_exporter' not in globals():
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
@data_exporter
|
|
6
|
-
def export_data(
|
|
6
|
+
def export_data(*args, **kwargs):
|
|
7
7
|
"""
|
|
8
8
|
Exports data to some source
|
|
9
9
|
|
|
10
10
|
Args:
|
|
11
|
-
|
|
11
|
+
args: The input variables from upstream blocks
|
|
12
12
|
|
|
13
13
|
Output (optional):
|
|
14
14
|
Optionally return any object and it'll be logged and
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
from pandas import DataFrame
|
|
2
|
-
|
|
3
1
|
if 'data_exporter' not in globals():
|
|
4
2
|
from mage_ai.data_preparation.decorators import data_exporter
|
|
5
3
|
|
|
6
4
|
|
|
7
5
|
@data_exporter
|
|
8
|
-
def export_data(
|
|
6
|
+
def export_data(*args, **kwargs):
|
|
9
7
|
"""
|
|
10
8
|
Exports data to some source
|
|
11
9
|
|
|
12
10
|
Args:
|
|
13
|
-
|
|
11
|
+
args: The input variables from upstream blocks
|
|
14
12
|
|
|
15
13
|
Output (optional):
|
|
16
14
|
Optionally return any object and it'll be logged and
|
|
@@ -11,7 +11,7 @@ def load_data(**kwargs):
|
|
|
11
11
|
Template code for loading data from any source.
|
|
12
12
|
|
|
13
13
|
Returns:
|
|
14
|
-
|
|
14
|
+
Anything (e.g. data frame, dictionary, array, int, str, etc.)
|
|
15
15
|
"""
|
|
16
16
|
# Specify your data loading logic here
|
|
17
17
|
{{ code }}
|
|
@@ -9,8 +9,8 @@ if 'test' not in globals():
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
@test
|
|
12
|
-
def test_output(
|
|
12
|
+
def test_output(output, *args) -> None:
|
|
13
13
|
"""
|
|
14
14
|
Template code for testing the output of the block.
|
|
15
15
|
"""
|
|
16
|
-
assert
|
|
16
|
+
assert output is not None, 'The output is undefined'
|
|
@@ -4,6 +4,8 @@ from mage_ai.data_preparation.repo_manager import get_repo_path
|
|
|
4
4
|
from mage_ai.io.config import ConfigFileLoader
|
|
5
5
|
from mage_ai.io.{{ data_source }} import {{ data_source_handler }}
|
|
6
6
|
from os import path
|
|
7
|
+
from pandas import DataFrame
|
|
8
|
+
|
|
7
9
|
{{ super() -}}
|
|
8
10
|
{% endblock %}
|
|
9
11
|
|
{mage-ai-0.8.4 → mage-ai-0.8.5}/mage_ai/data_preparation/templates/transformers/default.jinja
RENAMED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
{% extends "testable.jinja" %}
|
|
2
2
|
{% block imports %}
|
|
3
|
-
from pandas import DataFrame
|
|
4
|
-
|
|
5
3
|
if 'transformer' not in globals():
|
|
6
4
|
from mage_ai.data_preparation.decorators import transformer
|
|
7
5
|
{% endblock %}
|
|
8
6
|
|
|
9
7
|
{% block content %}
|
|
10
8
|
@transformer
|
|
11
|
-
def
|
|
9
|
+
def transform(*args, **kwargs):
|
|
12
10
|
"""
|
|
13
11
|
Template code for a transformer block.
|
|
14
12
|
|
|
@@ -16,12 +14,12 @@ def transform_df(df: DataFrame, *args, **kwargs) -> DataFrame:
|
|
|
16
14
|
There should be one parameter for each output variable from each parent block.
|
|
17
15
|
|
|
18
16
|
Args:
|
|
19
|
-
|
|
17
|
+
args: The input variables from upstream blocks
|
|
20
18
|
|
|
21
19
|
Returns:
|
|
22
|
-
|
|
20
|
+
Anything (e.g. data frame, dictionary, array, int, str, etc.)
|
|
23
21
|
"""
|
|
24
22
|
# Specify your transformation logic here
|
|
25
23
|
{{ code }}
|
|
26
|
-
return
|
|
24
|
+
return {}
|
|
27
25
|
{% endblock %}
|
|
@@ -6,7 +6,7 @@ if 'transformer' not in globals():
|
|
|
6
6
|
|
|
7
7
|
{% block content %}
|
|
8
8
|
@transformer
|
|
9
|
-
def
|
|
9
|
+
def transform(*args, **kwargs):
|
|
10
10
|
"""
|
|
11
11
|
Template code for a transformer block.
|
|
12
12
|
|
|
@@ -14,12 +14,12 @@ def transform_df(df, *args, **kwargs):
|
|
|
14
14
|
There should be one parameter for each output variable from each parent block.
|
|
15
15
|
|
|
16
16
|
Args:
|
|
17
|
-
|
|
17
|
+
args: The input variables from upstream blocks
|
|
18
18
|
|
|
19
19
|
Returns:
|
|
20
|
-
|
|
20
|
+
Anything (e.g. data frame, dictionary, array, int, str, etc.)
|
|
21
21
|
"""
|
|
22
22
|
# Specify your transformation logic here
|
|
23
23
|
{{ code }}
|
|
24
|
-
return
|
|
24
|
+
return {}
|
|
25
25
|
{% endblock %}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
from mage_ai.data_cleaner.transformer_actions.base import BaseAction
|
|
4
4
|
from mage_ai.data_cleaner.transformer_actions.constants import ActionType, Axis
|
|
5
5
|
from mage_ai.data_cleaner.transformer_actions.utils import build_transformer_action
|
|
6
|
+
from pandas import DataFrame
|
|
7
|
+
|
|
6
8
|
{{ super() -}}
|
|
7
9
|
{% endblock %}
|
|
8
10
|
|
|
@@ -60,7 +60,17 @@ class BaseIO(ABC):
|
|
|
60
60
|
Returns:
|
|
61
61
|
str: Modified query with limit on row count returned.
|
|
62
62
|
"""
|
|
63
|
-
|
|
63
|
+
query = query.strip(';')
|
|
64
|
+
|
|
65
|
+
return f"""
|
|
66
|
+
WITH subquery AS (
|
|
67
|
+
{query}
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
SELECT *
|
|
71
|
+
FROM subquery
|
|
72
|
+
LIMIT {limit}
|
|
73
|
+
"""
|
|
64
74
|
|
|
65
75
|
@abstractmethod
|
|
66
76
|
def load(self, *args, **kwargs) -> DataFrame:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=0" name="viewport"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link href="/favicon.ico" rel="icon"/><link rel="preload" href="/_next/static/css/d1e8e64d0b07af2f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d1e8e64d0b07af2f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-bc5e4eb2c1ff587c.js" defer=""></script><script src="/_next/static/chunks/framework-7c365855dab1bf41.js" defer=""></script><script src="/_next/static/chunks/main-bb0dd5375146d7fd.js" defer=""></script><script src="/_next/static/chunks/pages/_app-0aed65f2e085822e.js" defer=""></script><script src="/_next/static/chunks/pages/_error-235304e5badb19eb.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=0" name="viewport"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link href="/favicon.ico" rel="icon"/><link rel="preload" href="/_next/static/css/d1e8e64d0b07af2f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d1e8e64d0b07af2f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-bc5e4eb2c1ff587c.js" defer=""></script><script src="/_next/static/chunks/framework-7c365855dab1bf41.js" defer=""></script><script src="/_next/static/chunks/main-bb0dd5375146d7fd.js" defer=""></script><script src="/_next/static/chunks/pages/_app-0aed65f2e085822e.js" defer=""></script><script src="/_next/static/chunks/pages/_error-235304e5badb19eb.js" defer=""></script><script src="/_next/static/K0IzhmyaFuEHbzvE39__f/_buildManifest.js" defer=""></script><script src="/_next/static/K0IzhmyaFuEHbzvE39__f/_ssgManifest.js" defer=""></script><script src="/_next/static/K0IzhmyaFuEHbzvE39__f/_middlewareManifest.js" defer=""></script><style data-styled="" data-styled-version="5.3.6">html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar;}/*!sc*/
|
|
2
2
|
*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit;}/*!sc*/
|
|
3
3
|
data-styled.g4[id="sc-global-czSCUT1"]{content:"sc-global-czSCUT1,"}/*!sc*/
|
|
4
4
|
.kOVcuR .Toastify__toast-container{margin-top:24px;padding:0 !important;width:500px !important;}/*!sc*/
|
|
@@ -19,4 +19,4 @@ data-styled.g5[id="ToastWrapper-sc-1a33ph1-0"]{content:"kOVcuR,"}/*!sc*/
|
|
|
19
19
|
.next-error-h1 {
|
|
20
20
|
border-right: 1px solid rgba(255, 255, 255, .3);
|
|
21
21
|
}
|
|
22
|
-
}</style><h1 class="next-error-h1" style="display:inline-block;margin:0;margin-right:20px;padding:10px 23px 10px 0;font-size:24px;font-weight:500;vertical-align:top">404<!-- --></h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:inherit;margin:0;padding:0">This page could not be found<!-- -->.<!-- --></h2></div></div></div><div></div><div></div><div class="ToastWrapper-sc-1a33ph1-0 kOVcuR"><div class="Toastify"></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404},"currentTheme":{"accent":{"alert":"#F6540B","blue":"#4877FF","blueLight":"rgba(72, 119, 255, 0.5)","contentDefaultTransparent":"rgba(174, 174, 174, 0.5)","cyan":"#65E3FF","cyanTransparent":"rgba(101, 227, 255, 0.12)","dbt":"#fc6949","dbtLight":"rgba(252, 105, 73, 0.5)","info":"#00ABFF","infoTransparent":"rgba(0, 171, 255, 0.5)","negative":"#FF1E59","negativeTransparent":"rgba(255, 30, 89, 0.3)","pink":"#FF4FF8","pinkLight":"#FFB9FC","positive":"#00A81A","primaryTransparent":"rgba(155, 108, 167, 0.5)","purple":"#7D55EC","purpleLight":"rgba(125, 85, 236, 0.5)","teal":"#00B4CC","tealLight":"rgba(0, 180, 204, 0.5)","warning":"#DD9900","warningTransparent":"rgba(221, 153, 0, 0.5)","yellow":"#FFCC19","yellowLight":"rgba(255, 204, 25, 0.5)"},"background":{"chartBlock":"#2E3036","codeArea":"#1E1F24","codeTextarea":"#000000","content":"#1B1C20","danger":"#FFD0DB","dark":"#B1B8C3","header":"#1B1B1B","menu":"#0F4CFF","muted":"#F9FAFC","navigation":"#EDEDED","output":"#2E3036","page":"#1E1F24","panel":"#232429","popup":"#27292E","row":"#2C2C2C","row2":"#51535C","scrollbarThumb":"rgba(100, 100, 100, 0.5)","scrollbarThumbHover":"rgba(255, 255, 255, 0.3)","scrollbarTrack":"#2E3036","success":"#8ADE00","table":"#292A2F"},"borders":{"contrast":"#FFFFFF","danger":"#FF144D","dark":"#000000","info":"#FFCC19","light":"#2F3034","medium":"#1C1C1C","success":"#2FCB52"},"brand":{"earth100":"#C6EEDB","earth200":"#9DDFBF","earth300":"#6BBF96","earth400":"#37A46F","earth400Transparent":"rgba(55, 164, 111, 0.4)","earth500":"#00954C","energy100":"#FFF4BA","energy200":"#FFED92","energy300":"#FFE662","energy400":"#FFDA19","energy400Transparent":"rgba(255, 218, 25, 0.04)","energy500":"#F6C000","fire100":"#FFD7E0","fire200":"#FFA3B9","fire300":"#FF547D","fire400":"#FF144D","fire400Transparent":"rgba(255, 20, 77, 0.4)","fire500":"#EB0032","stone100":"#F3E6D7","stone200":"#E3D4C2","stone400":"#BFA78B","stone500":"#AF8859","water100":"#BDCEFF","water200":"#81A1FF","water300":"#517DFF","water400":"#2A60FE","water400Transparent":"rgba(42, 96, 254, 0.4)","water500":"#0F4CFF","wind100":"#EEEAFF","wind200":"#CCC1F4","wind300":"#A698DD","wind400":"#6B50D7","wind400SuperTransparent":"rgba(107, 80, 215, 0.12)","wind400Transparent":"rgba(107, 80, 215, 0.4)","wind500":"#4E32BC"},"chart":{"backgroundPrimary":"#7D55EC","backgroundSecondary":"#FF144D","backgroundTertiary":"#86E2FF","button1":"#4877FF","button2":"#FFCC19","button3":"#8ADE00","button4":"#FF4FF8","button5":"#B98D95","lines":"#9B6CA7","primary":"#6B50D7","secondary":"#FF144D","tertiary":"#2A60FE"},"content":{"active":"#FFFFFF","default":"#AEAEAE","disabled":"rgba(255, 255, 255, 0.3)","inverted":"#2C2C2C","muted":"#787A85"},"elevation":{"visualizationAccent":"#996CFF","visualizationAccentAlt":"#C1ACF7"},"feature":{"active":"rgba(250, 248, 254, 0.14)","disabled":"rgba(201, 206, 218, 0.12)"},"icons":{"neutral":"#787878"},"interactive":{"activeBorder":"#060606","checked":"#060606","dangerBorder":"#FF144D","defaultBackground":"#36383F","defaultBorder":"#1C1C1C","disabledBorder":"#B1B8C3","focusBackground":"#B1B8C3","focusBorder":"#86E2FF","hoverBackground":"#4E4E4E","hoverBorder":"#B9BFCA","hoverOverlay":"rgba(255, 255, 255, 0.1)","linkPrimary":"#1752FF","linkPrimaryHover":"#4877FF","linkSecondary":"#6B50D7","linkSecondaryDisabled":"#C4B9EF","rowHoverBackground":"rgba(0, 0, 0, 0.1)"},"loader":{"color":"#EB0032","colorInverted":"#8ADE00"},"logo":{"color":"#FFFFFF"},"monotone":{"black":"#060606","blackTransparent":"rgba(0, 0, 0, 0.6)","gray":"#B1B8C3","grey100":"#F2F2F2","grey200":"#D5D7DC","grey300":"#B4B8C0","grey400":"#70747C","grey500":"#51535C","purple":"#6B50D7","white":"#FFFFFF"},"neutral":{"n100":"#E7E8EA","n200":"#D8DADE","n300":"#CBCCD0","n400":"#BCBEC4","n500":"#AEB0B6"},"progress":{"negative":"#FF144D","positive":"#6B50D7"},"shadow":{"base":"12px 40px 120px rgba(106, 117, 139, 0.4)","menu":"4px 10px 20px rgba(6, 6, 6, 0.12)","popup":"10px 20px 40px rgba(0, 0, 0, 0.2)","small":"0px, 4px, rgba(0, 0, 0, 0.25)","window":"0px 10px 60px rgba(0, 0, 0, 0.7)"},"status":{"negative":"#FF144D","positive":"#24B400"},"text":{"fileBrowser":"#787A85"}}},"page":"/_error","query":{},"buildId":"
|
|
22
|
+
}</style><h1 class="next-error-h1" style="display:inline-block;margin:0;margin-right:20px;padding:10px 23px 10px 0;font-size:24px;font-weight:500;vertical-align:top">404<!-- --></h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:inherit;margin:0;padding:0">This page could not be found<!-- -->.<!-- --></h2></div></div></div><div></div><div></div><div class="ToastWrapper-sc-1a33ph1-0 kOVcuR"><div class="Toastify"></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404},"currentTheme":{"accent":{"alert":"#F6540B","blue":"#4877FF","blueLight":"rgba(72, 119, 255, 0.5)","contentDefaultTransparent":"rgba(174, 174, 174, 0.5)","cyan":"#65E3FF","cyanTransparent":"rgba(101, 227, 255, 0.12)","dbt":"#fc6949","dbtLight":"rgba(252, 105, 73, 0.5)","info":"#00ABFF","infoTransparent":"rgba(0, 171, 255, 0.5)","negative":"#FF1E59","negativeTransparent":"rgba(255, 30, 89, 0.3)","pink":"#FF4FF8","pinkLight":"#FFB9FC","positive":"#00A81A","primaryTransparent":"rgba(155, 108, 167, 0.5)","purple":"#7D55EC","purpleLight":"rgba(125, 85, 236, 0.5)","teal":"#00B4CC","tealLight":"rgba(0, 180, 204, 0.5)","warning":"#DD9900","warningTransparent":"rgba(221, 153, 0, 0.5)","yellow":"#FFCC19","yellowLight":"rgba(255, 204, 25, 0.5)"},"background":{"chartBlock":"#2E3036","codeArea":"#1E1F24","codeTextarea":"#000000","content":"#1B1C20","danger":"#FFD0DB","dark":"#B1B8C3","header":"#1B1B1B","menu":"#0F4CFF","muted":"#F9FAFC","navigation":"#EDEDED","output":"#2E3036","page":"#1E1F24","panel":"#232429","popup":"#27292E","row":"#2C2C2C","row2":"#51535C","scrollbarThumb":"rgba(100, 100, 100, 0.5)","scrollbarThumbHover":"rgba(255, 255, 255, 0.3)","scrollbarTrack":"#2E3036","success":"#8ADE00","table":"#292A2F"},"borders":{"contrast":"#FFFFFF","danger":"#FF144D","dark":"#000000","info":"#FFCC19","light":"#2F3034","medium":"#1C1C1C","success":"#2FCB52"},"brand":{"earth100":"#C6EEDB","earth200":"#9DDFBF","earth300":"#6BBF96","earth400":"#37A46F","earth400Transparent":"rgba(55, 164, 111, 0.4)","earth500":"#00954C","energy100":"#FFF4BA","energy200":"#FFED92","energy300":"#FFE662","energy400":"#FFDA19","energy400Transparent":"rgba(255, 218, 25, 0.04)","energy500":"#F6C000","fire100":"#FFD7E0","fire200":"#FFA3B9","fire300":"#FF547D","fire400":"#FF144D","fire400Transparent":"rgba(255, 20, 77, 0.4)","fire500":"#EB0032","stone100":"#F3E6D7","stone200":"#E3D4C2","stone400":"#BFA78B","stone500":"#AF8859","water100":"#BDCEFF","water200":"#81A1FF","water300":"#517DFF","water400":"#2A60FE","water400Transparent":"rgba(42, 96, 254, 0.4)","water500":"#0F4CFF","wind100":"#EEEAFF","wind200":"#CCC1F4","wind300":"#A698DD","wind400":"#6B50D7","wind400SuperTransparent":"rgba(107, 80, 215, 0.12)","wind400Transparent":"rgba(107, 80, 215, 0.4)","wind500":"#4E32BC"},"chart":{"backgroundPrimary":"#7D55EC","backgroundSecondary":"#FF144D","backgroundTertiary":"#86E2FF","button1":"#4877FF","button2":"#FFCC19","button3":"#8ADE00","button4":"#FF4FF8","button5":"#B98D95","lines":"#9B6CA7","primary":"#6B50D7","secondary":"#FF144D","tertiary":"#2A60FE"},"content":{"active":"#FFFFFF","default":"#AEAEAE","disabled":"rgba(255, 255, 255, 0.3)","inverted":"#2C2C2C","muted":"#787A85"},"elevation":{"visualizationAccent":"#996CFF","visualizationAccentAlt":"#C1ACF7"},"feature":{"active":"rgba(250, 248, 254, 0.14)","disabled":"rgba(201, 206, 218, 0.12)"},"icons":{"neutral":"#787878"},"interactive":{"activeBorder":"#060606","checked":"#060606","dangerBorder":"#FF144D","defaultBackground":"#36383F","defaultBorder":"#1C1C1C","disabledBorder":"#B1B8C3","focusBackground":"#B1B8C3","focusBorder":"#86E2FF","hoverBackground":"#4E4E4E","hoverBorder":"#B9BFCA","hoverOverlay":"rgba(255, 255, 255, 0.1)","linkPrimary":"#1752FF","linkPrimaryHover":"#4877FF","linkSecondary":"#6B50D7","linkSecondaryDisabled":"#C4B9EF","rowHoverBackground":"rgba(0, 0, 0, 0.1)"},"loader":{"color":"#EB0032","colorInverted":"#8ADE00"},"logo":{"color":"#FFFFFF"},"monotone":{"black":"#060606","blackTransparent":"rgba(0, 0, 0, 0.6)","gray":"#B1B8C3","grey100":"#F2F2F2","grey200":"#D5D7DC","grey300":"#B4B8C0","grey400":"#70747C","grey500":"#51535C","purple":"#6B50D7","white":"#FFFFFF"},"neutral":{"n100":"#E7E8EA","n200":"#D8DADE","n300":"#CBCCD0","n400":"#BCBEC4","n500":"#AEB0B6"},"progress":{"negative":"#FF144D","positive":"#6B50D7"},"shadow":{"base":"12px 40px 120px rgba(106, 117, 139, 0.4)","menu":"4px 10px 20px rgba(6, 6, 6, 0.12)","popup":"10px 20px 40px rgba(0, 0, 0, 0.2)","small":"0px, 4px, rgba(0, 0, 0, 0.25)","window":"0px 10px 60px rgba(0, 0, 0, 0.7)"},"status":{"negative":"#FF144D","positive":"#24B400"},"text":{"fileBrowser":"#787A85"}}},"page":"/_error","query":{},"buildId":"K0IzhmyaFuEHbzvE39__f","nextExport":true,"isFallback":false,"gip":true,"appGip":true,"scriptLoader":[]}</script></body></html>
|