vibedasher 2.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vibedasher-2.2.0/.gitignore +5 -0
- vibedasher-2.2.0/PKG-INFO +149 -0
- vibedasher-2.2.0/README.md +133 -0
- vibedasher-2.2.0/_query.py +577 -0
- vibedasher-2.2.0/factory.py +133 -0
- vibedasher-2.2.0/openapi-python-client.config.yaml +10 -0
- vibedasher-2.2.0/pyproject.toml +26 -0
- vibedasher-2.2.0/tests/test_datasets.py +228 -0
- vibedasher-2.2.0/tests/test_query.py +147 -0
- vibedasher-2.2.0/tests/test_region.py +105 -0
- vibedasher-2.2.0/vibedasher/__init__.py +36 -0
- vibedasher-2.2.0/vibedasher/_facade.py +948 -0
- vibedasher-2.2.0/vibedasher/_query.py +577 -0
- vibedasher-2.2.0/vibedasher/api/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/accounts/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/accounts/check_account_slug_exists.py +169 -0
- vibedasher-2.2.0/vibedasher/api/accounts/create_account.py +198 -0
- vibedasher-2.2.0/vibedasher/api/accounts/delete_account_logo.py +128 -0
- vibedasher-2.2.0/vibedasher/api/accounts/get_account.py +136 -0
- vibedasher-2.2.0/vibedasher/api/accounts/get_account_logo.py +136 -0
- vibedasher-2.2.0/vibedasher/api/accounts/put_account_logo.py +171 -0
- vibedasher-2.2.0/vibedasher/api/accounts/update_account.py +206 -0
- vibedasher-2.2.0/vibedasher/api/ai_providers/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/ai_providers/create_credential.py +178 -0
- vibedasher-2.2.0/vibedasher/api/ai_providers/create_user_provider.py +178 -0
- vibedasher-2.2.0/vibedasher/api/ai_providers/delete_credential.py +173 -0
- vibedasher-2.2.0/vibedasher/api/ai_providers/delete_user_provider.py +173 -0
- vibedasher-2.2.0/vibedasher/api/ai_providers/get_provider.py +173 -0
- vibedasher-2.2.0/vibedasher/api/ai_providers/get_system_provider_setting.py +175 -0
- vibedasher-2.2.0/vibedasher/api/ai_providers/get_user_provider.py +173 -0
- vibedasher-2.2.0/vibedasher/api/ai_providers/list_all_providers.py +140 -0
- vibedasher-2.2.0/vibedasher/api/ai_providers/list_credentials.py +140 -0
- vibedasher-2.2.0/vibedasher/api/ai_providers/list_user_providers.py +198 -0
- vibedasher-2.2.0/vibedasher/api/ai_providers/test_credential.py +173 -0
- vibedasher-2.2.0/vibedasher/api/ai_providers/test_provider_connection.py +178 -0
- vibedasher-2.2.0/vibedasher/api/ai_providers/update_credential.py +194 -0
- vibedasher-2.2.0/vibedasher/api/ai_providers/update_system_provider_setting.py +198 -0
- vibedasher-2.2.0/vibedasher/api/ai_providers/update_user_provider.py +194 -0
- vibedasher-2.2.0/vibedasher/api/api_keys/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/api_keys/create_api_key.py +178 -0
- vibedasher-2.2.0/vibedasher/api/api_keys/delete_api_key.py +173 -0
- vibedasher-2.2.0/vibedasher/api/api_keys/get_api_key.py +173 -0
- vibedasher-2.2.0/vibedasher/api/api_keys/get_api_keys.py +198 -0
- vibedasher-2.2.0/vibedasher/api/api_keys/update_api_key.py +194 -0
- vibedasher-2.2.0/vibedasher/api/chats/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/chats/delete_chat.py +173 -0
- vibedasher-2.2.0/vibedasher/api/chats/get_chat.py +173 -0
- vibedasher-2.2.0/vibedasher/api/chats/list_chats.py +246 -0
- vibedasher-2.2.0/vibedasher/api/chats/track_chat_location.py +218 -0
- vibedasher-2.2.0/vibedasher/api/chats/upload_chat_image.py +262 -0
- vibedasher-2.2.0/vibedasher/api/connections/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/connections/create_connection.py +170 -0
- vibedasher-2.2.0/vibedasher/api/connections/delete_connection.py +165 -0
- vibedasher-2.2.0/vibedasher/api/connections/exchange_google_analytics_oauth_code.py +182 -0
- vibedasher-2.2.0/vibedasher/api/connections/get_connection_schema.py +225 -0
- vibedasher-2.2.0/vibedasher/api/connections/get_connection_tables.py +245 -0
- vibedasher-2.2.0/vibedasher/api/connections/get_table_schema.py +264 -0
- vibedasher-2.2.0/vibedasher/api/connections/read_connection.py +165 -0
- vibedasher-2.2.0/vibedasher/api/connections/read_connections.py +190 -0
- vibedasher-2.2.0/vibedasher/api/connections/test_connection.py +195 -0
- vibedasher-2.2.0/vibedasher/api/connections/update_connection.py +186 -0
- vibedasher-2.2.0/vibedasher/api/connections/update_connection_metadata.py +254 -0
- vibedasher-2.2.0/vibedasher/api/dashboard_subscriptions/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/dashboard_subscriptions/create_subscription.py +186 -0
- vibedasher-2.2.0/vibedasher/api/dashboard_subscriptions/delete_subscription.py +165 -0
- vibedasher-2.2.0/vibedasher/api/dashboard_subscriptions/get_subscription.py +165 -0
- vibedasher-2.2.0/vibedasher/api/dashboard_subscriptions/list_viz_subscriptions.py +208 -0
- vibedasher-2.2.0/vibedasher/api/dashboard_subscriptions/test_subscription.py +185 -0
- vibedasher-2.2.0/vibedasher/api/dashboard_subscriptions/update_subscription.py +186 -0
- vibedasher-2.2.0/vibedasher/api/datasets/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/datasets/create_dataset.py +170 -0
- vibedasher-2.2.0/vibedasher/api/datasets/create_dataset_upload.py +186 -0
- vibedasher-2.2.0/vibedasher/api/datasets/delete_dataset.py +165 -0
- vibedasher-2.2.0/vibedasher/api/datasets/download_public_dataset.py +178 -0
- vibedasher-2.2.0/vibedasher/api/datasets/get_dataset_iceberg_metadata.py +219 -0
- vibedasher-2.2.0/vibedasher/api/datasets/get_dataset_lineage.py +185 -0
- vibedasher-2.2.0/vibedasher/api/datasets/get_dataset_upload.py +179 -0
- vibedasher-2.2.0/vibedasher/api/datasets/get_dataset_upload_download_url.py +181 -0
- vibedasher-2.2.0/vibedasher/api/datasets/get_dataset_upload_sizes.py +165 -0
- vibedasher-2.2.0/vibedasher/api/datasets/get_datasets_catalog.py +156 -0
- vibedasher-2.2.0/vibedasher/api/datasets/get_enabled_public_dataset_sources.py +142 -0
- vibedasher-2.2.0/vibedasher/api/datasets/get_public_dataset_suggestions.py +192 -0
- vibedasher-2.2.0/vibedasher/api/datasets/list_dataset_uploads.py +206 -0
- vibedasher-2.2.0/vibedasher/api/datasets/load_dataset_upload.py +179 -0
- vibedasher-2.2.0/vibedasher/api/datasets/read_dataset.py +165 -0
- vibedasher-2.2.0/vibedasher/api/datasets/read_datasets.py +230 -0
- vibedasher-2.2.0/vibedasher/api/datasets/read_folder_datasets.py +206 -0
- vibedasher-2.2.0/vibedasher/api/datasets/refresh_dataset.py +205 -0
- vibedasher-2.2.0/vibedasher/api/datasets/repartition_dataset.py +194 -0
- vibedasher-2.2.0/vibedasher/api/datasets/reset_checkpoint.py +173 -0
- vibedasher-2.2.0/vibedasher/api/datasets/retry_public_dataset_download.py +175 -0
- vibedasher-2.2.0/vibedasher/api/datasets/search_public_datasets.py +208 -0
- vibedasher-2.2.0/vibedasher/api/datasets/set_primary_keys.py +234 -0
- vibedasher-2.2.0/vibedasher/api/datasets/transfer_dataset_ownership.py +196 -0
- vibedasher-2.2.0/vibedasher/api/datasets/update_dataset.py +186 -0
- vibedasher-2.2.0/vibedasher/api/datasets/validate_sql_query.py +182 -0
- vibedasher-2.2.0/vibedasher/api/dbt/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/dbt/cleanup_stale_sources.py +152 -0
- vibedasher-2.2.0/vibedasher/api/dbt/compile_project.py +173 -0
- vibedasher-2.2.0/vibedasher/api/dbt/create_model.py +194 -0
- vibedasher-2.2.0/vibedasher/api/dbt/create_project.py +178 -0
- vibedasher-2.2.0/vibedasher/api/dbt/create_project_refresh.py +206 -0
- vibedasher-2.2.0/vibedasher/api/dbt/delete_model.py +185 -0
- vibedasher-2.2.0/vibedasher/api/dbt/delete_model_flat.py +171 -0
- vibedasher-2.2.0/vibedasher/api/dbt/delete_project.py +171 -0
- vibedasher-2.2.0/vibedasher/api/dbt/get_lineage.py +173 -0
- vibedasher-2.2.0/vibedasher/api/dbt/get_model_flat.py +173 -0
- vibedasher-2.2.0/vibedasher/api/dbt/get_project.py +173 -0
- vibedasher-2.2.0/vibedasher/api/dbt/get_run.py +187 -0
- vibedasher-2.2.0/vibedasher/api/dbt/list_models.py +173 -0
- vibedasher-2.2.0/vibedasher/api/dbt/list_project_refreshes.py +234 -0
- vibedasher-2.2.0/vibedasher/api/dbt/list_projects.py +140 -0
- vibedasher-2.2.0/vibedasher/api/dbt/list_runs.py +194 -0
- vibedasher-2.2.0/vibedasher/api/dbt/sync_model_sources.py +189 -0
- vibedasher-2.2.0/vibedasher/api/dbt/transfer_dbt_project_ownership.py +198 -0
- vibedasher-2.2.0/vibedasher/api/dbt/update_model_flat.py +194 -0
- vibedasher-2.2.0/vibedasher/api/dbt/update_project.py +194 -0
- vibedasher-2.2.0/vibedasher/api/folders/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/folders/check_folder_image_exists.py +173 -0
- vibedasher-2.2.0/vibedasher/api/folders/create_folder.py +170 -0
- vibedasher-2.2.0/vibedasher/api/folders/delete_folder.py +165 -0
- vibedasher-2.2.0/vibedasher/api/folders/delete_folder_image.py +173 -0
- vibedasher-2.2.0/vibedasher/api/folders/get_folder_image.py +171 -0
- vibedasher-2.2.0/vibedasher/api/folders/put_folder_image.py +173 -0
- vibedasher-2.2.0/vibedasher/api/folders/read_folder.py +165 -0
- vibedasher-2.2.0/vibedasher/api/folders/read_folders.py +190 -0
- vibedasher-2.2.0/vibedasher/api/folders/transfer_folder_ownership.py +194 -0
- vibedasher-2.2.0/vibedasher/api/folders/update_folder.py +186 -0
- vibedasher-2.2.0/vibedasher/api/groups/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/groups/create_group.py +170 -0
- vibedasher-2.2.0/vibedasher/api/groups/delete_group.py +165 -0
- vibedasher-2.2.0/vibedasher/api/groups/read_group.py +165 -0
- vibedasher-2.2.0/vibedasher/api/groups/read_groups.py +190 -0
- vibedasher-2.2.0/vibedasher/api/groups/update_group.py +186 -0
- vibedasher-2.2.0/vibedasher/api/images/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/images/create_image.py +170 -0
- vibedasher-2.2.0/vibedasher/api/images/delete_image.py +165 -0
- vibedasher-2.2.0/vibedasher/api/images/read_image.py +165 -0
- vibedasher-2.2.0/vibedasher/api/images/read_images.py +190 -0
- vibedasher-2.2.0/vibedasher/api/images/update_image.py +186 -0
- vibedasher-2.2.0/vibedasher/api/questions/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/questions/create_question.py +170 -0
- vibedasher-2.2.0/vibedasher/api/questions/delete_question.py +165 -0
- vibedasher-2.2.0/vibedasher/api/questions/execute_question.py +195 -0
- vibedasher-2.2.0/vibedasher/api/questions/get_question_bundle.py +217 -0
- vibedasher-2.2.0/vibedasher/api/questions/read_folder_questions.py +206 -0
- vibedasher-2.2.0/vibedasher/api/questions/read_question.py +165 -0
- vibedasher-2.2.0/vibedasher/api/questions/read_questions.py +230 -0
- vibedasher-2.2.0/vibedasher/api/questions/update_question.py +186 -0
- vibedasher-2.2.0/vibedasher/api/questions/validate_question_sql.py +186 -0
- vibedasher-2.2.0/vibedasher/api/refreshes/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/refreshes/create_refresh.py +170 -0
- vibedasher-2.2.0/vibedasher/api/refreshes/delete_refresh.py +165 -0
- vibedasher-2.2.0/vibedasher/api/refreshes/read_refresh.py +165 -0
- vibedasher-2.2.0/vibedasher/api/refreshes/read_refreshes.py +210 -0
- vibedasher-2.2.0/vibedasher/api/refreshes/update_refresh.py +186 -0
- vibedasher-2.2.0/vibedasher/api/sql/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/sql/cleanup_expired_sql_queries.py +142 -0
- vibedasher-2.2.0/vibedasher/api/sql/create_sql_query.py +214 -0
- vibedasher-2.2.0/vibedasher/api/sql/create_sql_query_batch.py +214 -0
- vibedasher-2.2.0/vibedasher/api/sql/delete_sql_query.py +165 -0
- vibedasher-2.2.0/vibedasher/api/sql/get_sql_query_result.py +165 -0
- vibedasher-2.2.0/vibedasher/api/sql/read_sql_queries.py +190 -0
- vibedasher-2.2.0/vibedasher/api/sql/read_sql_query.py +165 -0
- vibedasher-2.2.0/vibedasher/api/sql/update_sql_query.py +186 -0
- vibedasher-2.2.0/vibedasher/api/sql/warmup_worker.py +210 -0
- vibedasher-2.2.0/vibedasher/api/subscriptions/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/subscriptions/get_current_subscription.py +136 -0
- vibedasher-2.2.0/vibedasher/api/subscriptions/list_subscriptions.py +174 -0
- vibedasher-2.2.0/vibedasher/api/tasks/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/tasks/delete_task.py +165 -0
- vibedasher-2.2.0/vibedasher/api/tasks/read_task.py +165 -0
- vibedasher-2.2.0/vibedasher/api/tasks/read_tasks.py +210 -0
- vibedasher-2.2.0/vibedasher/api/tasks/read_viz_tasks.py +226 -0
- vibedasher-2.2.0/vibedasher/api/tasks/update_task.py +186 -0
- vibedasher-2.2.0/vibedasher/api/templates/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/templates/clone_template.py +173 -0
- vibedasher-2.2.0/vibedasher/api/templates/create_template.py +178 -0
- vibedasher-2.2.0/vibedasher/api/templates/delete_template.py +173 -0
- vibedasher-2.2.0/vibedasher/api/templates/get_template.py +173 -0
- vibedasher-2.2.0/vibedasher/api/templates/increment_template_usage.py +173 -0
- vibedasher-2.2.0/vibedasher/api/templates/list_public_templates.py +238 -0
- vibedasher-2.2.0/vibedasher/api/templates/list_templates.py +273 -0
- vibedasher-2.2.0/vibedasher/api/templates/match_templates.py +178 -0
- vibedasher-2.2.0/vibedasher/api/templates/update_template.py +194 -0
- vibedasher-2.2.0/vibedasher/api/tools/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/tools/get_tool_result.py +185 -0
- vibedasher-2.2.0/vibedasher/api/tools/update_tool_result.py +187 -0
- vibedasher-2.2.0/vibedasher/api/upload/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/upload/upload_file.py +201 -0
- vibedasher-2.2.0/vibedasher/api/users/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/users/analytics_endpoint.py +85 -0
- vibedasher-2.2.0/vibedasher/api/users/check_email_availability.py +169 -0
- vibedasher-2.2.0/vibedasher/api/users/create_user.py +174 -0
- vibedasher-2.2.0/vibedasher/api/users/delete_user.py +159 -0
- vibedasher-2.2.0/vibedasher/api/users/get_me.py +142 -0
- vibedasher-2.2.0/vibedasher/api/users/get_user.py +161 -0
- vibedasher-2.2.0/vibedasher/api/users/get_user_by_email.py +169 -0
- vibedasher-2.2.0/vibedasher/api/users/heatup_lambdas.py +209 -0
- vibedasher-2.2.0/vibedasher/api/users/list_users.py +186 -0
- vibedasher-2.2.0/vibedasher/api/users/resend_email_verification.py +190 -0
- vibedasher-2.2.0/vibedasher/api/users/update_user.py +210 -0
- vibedasher-2.2.0/vibedasher/api/viz/__init__.py +1 -0
- vibedasher-2.2.0/vibedasher/api/viz/batch_write_files.py +208 -0
- vibedasher-2.2.0/vibedasher/api/viz/check_slug_available.py +199 -0
- vibedasher-2.2.0/vibedasher/api/viz/confirm_screenshot.py +173 -0
- vibedasher-2.2.0/vibedasher/api/viz/create_branch.py +195 -0
- vibedasher-2.2.0/vibedasher/api/viz/create_viz.py +178 -0
- vibedasher-2.2.0/vibedasher/api/viz/delete_branch.py +185 -0
- vibedasher-2.2.0/vibedasher/api/viz/delete_file.py +201 -0
- vibedasher-2.2.0/vibedasher/api/viz/delete_screenshot.py +171 -0
- vibedasher-2.2.0/vibedasher/api/viz/delete_viz.py +171 -0
- vibedasher-2.2.0/vibedasher/api/viz/duplicate_viz.py +173 -0
- vibedasher-2.2.0/vibedasher/api/viz/get_branch.py +187 -0
- vibedasher-2.2.0/vibedasher/api/viz/get_branch_files.py +187 -0
- vibedasher-2.2.0/vibedasher/api/viz/get_commit_log.py +208 -0
- vibedasher-2.2.0/vibedasher/api/viz/get_file.py +201 -0
- vibedasher-2.2.0/vibedasher/api/viz/get_public_cached_result.py +243 -0
- vibedasher-2.2.0/vibedasher/api/viz/get_public_viz.py +187 -0
- vibedasher-2.2.0/vibedasher/api/viz/get_public_viz_by_global_slug.py +187 -0
- vibedasher-2.2.0/vibedasher/api/viz/get_public_viz_sql_query_result.py +203 -0
- vibedasher-2.2.0/vibedasher/api/viz/get_public_viz_sql_query_status.py +203 -0
- vibedasher-2.2.0/vibedasher/api/viz/get_public_viz_sql_query_status_batch.py +214 -0
- vibedasher-2.2.0/vibedasher/api/viz/get_screenshot.py +173 -0
- vibedasher-2.2.0/vibedasher/api/viz/get_viz.py +222 -0
- vibedasher-2.2.0/vibedasher/api/viz/get_viz_by_slug.py +199 -0
- vibedasher-2.2.0/vibedasher/api/viz/list_branches.py +173 -0
- vibedasher-2.2.0/vibedasher/api/viz/list_tags.py +173 -0
- vibedasher-2.2.0/vibedasher/api/viz/list_viz.py +253 -0
- vibedasher-2.2.0/vibedasher/api/viz/preview_publish.py +173 -0
- vibedasher-2.2.0/vibedasher/api/viz/publish_viz.py +257 -0
- vibedasher-2.2.0/vibedasher/api/viz/put_screenshot.py +173 -0
- vibedasher-2.2.0/vibedasher/api/viz/run_viz_query_batch.py +220 -0
- vibedasher-2.2.0/vibedasher/api/viz/set_bundle_state.py +242 -0
- vibedasher-2.2.0/vibedasher/api/viz/squash_branch.py +209 -0
- vibedasher-2.2.0/vibedasher/api/viz/transfer_ownership.py +194 -0
- vibedasher-2.2.0/vibedasher/api/viz/unpublish_viz.py +173 -0
- vibedasher-2.2.0/vibedasher/api/viz/update_viz.py +234 -0
- vibedasher-2.2.0/vibedasher/api/viz/write_file.py +222 -0
- vibedasher-2.2.0/vibedasher/client.py +282 -0
- vibedasher-2.2.0/vibedasher/errors.py +16 -0
- vibedasher-2.2.0/vibedasher/factory.py +133 -0
- vibedasher-2.2.0/vibedasher/models/__init__.py +953 -0
- vibedasher-2.2.0/vibedasher/models/access_right_create.py +126 -0
- vibedasher-2.2.0/vibedasher/models/access_right_list_response.py +97 -0
- vibedasher-2.2.0/vibedasher/models/access_right_response.py +67 -0
- vibedasher-2.2.0/vibedasher/models/access_right_update.py +86 -0
- vibedasher-2.2.0/vibedasher/models/access_right_view.py +193 -0
- vibedasher-2.2.0/vibedasher/models/access_type.py +16 -0
- vibedasher-2.2.0/vibedasher/models/account.py +396 -0
- vibedasher-2.2.0/vibedasher/models/account_create.py +133 -0
- vibedasher-2.2.0/vibedasher/models/account_logo_create.py +81 -0
- vibedasher-2.2.0/vibedasher/models/account_logo_create_response.py +90 -0
- vibedasher-2.2.0/vibedasher/models/account_logo_list_response.py +76 -0
- vibedasher-2.2.0/vibedasher/models/account_logo_response.py +68 -0
- vibedasher-2.2.0/vibedasher/models/account_logo_update.py +93 -0
- vibedasher-2.2.0/vibedasher/models/account_logo_view.py +153 -0
- vibedasher-2.2.0/vibedasher/models/account_payment_methods_item.py +47 -0
- vibedasher-2.2.0/vibedasher/models/account_theme.py +158 -0
- vibedasher-2.2.0/vibedasher/models/account_update.py +328 -0
- vibedasher-2.2.0/vibedasher/models/ai_provider_card_info.py +103 -0
- vibedasher-2.2.0/vibedasher/models/ai_provider_card_info_type.py +16 -0
- vibedasher-2.2.0/vibedasher/models/ai_provider_model_config.py +207 -0
- vibedasher-2.2.0/vibedasher/models/ai_provider_model_config_user_suggestions_template_mode.py +21 -0
- vibedasher-2.2.0/vibedasher/models/ai_token_price.py +69 -0
- vibedasher-2.2.0/vibedasher/models/api_key_create.py +94 -0
- vibedasher-2.2.0/vibedasher/models/api_key_create_response.py +90 -0
- vibedasher-2.2.0/vibedasher/models/api_key_list_response.py +98 -0
- vibedasher-2.2.0/vibedasher/models/api_key_response.py +68 -0
- vibedasher-2.2.0/vibedasher/models/api_key_update.py +154 -0
- vibedasher-2.2.0/vibedasher/models/api_key_view.py +213 -0
- vibedasher-2.2.0/vibedasher/models/athena_connection_info.py +310 -0
- vibedasher-2.2.0/vibedasher/models/athena_query.py +61 -0
- vibedasher-2.2.0/vibedasher/models/auto_topup_config.py +100 -0
- vibedasher-2.2.0/vibedasher/models/azure_data_lake_connection_info.py +302 -0
- vibedasher-2.2.0/vibedasher/models/azure_data_lake_query.py +69 -0
- vibedasher-2.2.0/vibedasher/models/big_query_connection_info.py +121 -0
- vibedasher-2.2.0/vibedasher/models/big_query_connection_info_credentials_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/big_query_query.py +61 -0
- vibedasher-2.2.0/vibedasher/models/body.py +47 -0
- vibedasher-2.2.0/vibedasher/models/body_batch_write_files.py +78 -0
- vibedasher-2.2.0/vibedasher/models/body_create_branch.py +61 -0
- vibedasher-2.2.0/vibedasher/models/body_create_dataset_upload.py +69 -0
- vibedasher-2.2.0/vibedasher/models/body_create_sql_query.py +183 -0
- vibedasher-2.2.0/vibedasher/models/body_create_sql_query_batch.py +81 -0
- vibedasher-2.2.0/vibedasher/models/body_create_sql_query_batch_queries_item.py +47 -0
- vibedasher-2.2.0/vibedasher/models/body_create_sql_query_context_type_type_0.py +20 -0
- vibedasher-2.2.0/vibedasher/models/body_create_sql_query_mode.py +16 -0
- vibedasher-2.2.0/vibedasher/models/body_download_public_dataset.py +156 -0
- vibedasher-2.2.0/vibedasher/models/body_get_public_viz_sql_query_status_batch.py +61 -0
- vibedasher-2.2.0/vibedasher/models/body_run_viz_query_batch.py +79 -0
- vibedasher-2.2.0/vibedasher/models/body_run_viz_query_batch_queries_item.py +47 -0
- vibedasher-2.2.0/vibedasher/models/body_squash_branch.py +61 -0
- vibedasher-2.2.0/vibedasher/models/body_test_default_email_provider_config.py +61 -0
- vibedasher-2.2.0/vibedasher/models/body_test_email_provider_config.py +61 -0
- vibedasher-2.2.0/vibedasher/models/body_transfer_dataset_ownership.py +61 -0
- vibedasher-2.2.0/vibedasher/models/body_transfer_dbt_project_ownership.py +61 -0
- vibedasher-2.2.0/vibedasher/models/body_transfer_folder_ownership.py +61 -0
- vibedasher-2.2.0/vibedasher/models/body_transfer_ownership.py +61 -0
- vibedasher-2.2.0/vibedasher/models/body_update_system_provider_setting.py +61 -0
- vibedasher-2.2.0/vibedasher/models/body_upload_chat_image.py +73 -0
- vibedasher-2.2.0/vibedasher/models/body_validate_sql_query.py +69 -0
- vibedasher-2.2.0/vibedasher/models/body_warmup_worker.py +61 -0
- vibedasher-2.2.0/vibedasher/models/body_write_file.py +61 -0
- vibedasher-2.2.0/vibedasher/models/build_complete.py +177 -0
- vibedasher-2.2.0/vibedasher/models/build_create.py +122 -0
- vibedasher-2.2.0/vibedasher/models/bundle_state.py +290 -0
- vibedasher-2.2.0/vibedasher/models/bundle_state_file_hashes_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/bundle_state_status.py +19 -0
- vibedasher-2.2.0/vibedasher/models/bundle_state_update.py +291 -0
- vibedasher-2.2.0/vibedasher/models/bundle_state_update_file_hashes_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/cassandra_connection_info.py +131 -0
- vibedasher-2.2.0/vibedasher/models/cassandra_query.py +61 -0
- vibedasher-2.2.0/vibedasher/models/chat_debug_event.py +103 -0
- vibedasher-2.2.0/vibedasher/models/chat_debug_events_response.py +135 -0
- vibedasher-2.2.0/vibedasher/models/chat_debug_events_response_source.py +18 -0
- vibedasher-2.2.0/vibedasher/models/column.py +130 -0
- vibedasher-2.2.0/vibedasher/models/column_type.py +19 -0
- vibedasher-2.2.0/vibedasher/models/column_view.py +187 -0
- vibedasher-2.2.0/vibedasher/models/config_error.py +128 -0
- vibedasher-2.2.0/vibedasher/models/config_error_errortype.py +61 -0
- vibedasher-2.2.0/vibedasher/models/connection_config.py +741 -0
- vibedasher-2.2.0/vibedasher/models/connection_create.py +93 -0
- vibedasher-2.2.0/vibedasher/models/connection_dataset_config.py +414 -0
- vibedasher-2.2.0/vibedasher/models/connection_list_response.py +99 -0
- vibedasher-2.2.0/vibedasher/models/connection_metadata_update.py +104 -0
- vibedasher-2.2.0/vibedasher/models/connection_response.py +68 -0
- vibedasher-2.2.0/vibedasher/models/connection_type.py +55 -0
- vibedasher-2.2.0/vibedasher/models/connection_update.py +162 -0
- vibedasher-2.2.0/vibedasher/models/connection_view.py +183 -0
- vibedasher-2.2.0/vibedasher/models/connection_view_config_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/contact_form_request.py +120 -0
- vibedasher-2.2.0/vibedasher/models/context.py +47 -0
- vibedasher-2.2.0/vibedasher/models/credit_deduction.py +84 -0
- vibedasher-2.2.0/vibedasher/models/csv_dataset_config.py +137 -0
- vibedasher-2.2.0/vibedasher/models/csv_dataset_config_updatemode.py +16 -0
- vibedasher-2.2.0/vibedasher/models/dashboard_subscription_create.py +173 -0
- vibedasher-2.2.0/vibedasher/models/dashboard_subscription_list_response.py +100 -0
- vibedasher-2.2.0/vibedasher/models/dashboard_subscription_response.py +68 -0
- vibedasher-2.2.0/vibedasher/models/dashboard_subscription_update.py +280 -0
- vibedasher-2.2.0/vibedasher/models/dashboard_subscription_update_filter_state_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/dashboard_subscription_view.py +332 -0
- vibedasher-2.2.0/vibedasher/models/dashboard_subscription_view_filter_state_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/dataset_config.py +258 -0
- vibedasher-2.2.0/vibedasher/models/dataset_create.py +273 -0
- vibedasher-2.2.0/vibedasher/models/dataset_full_list_response.py +99 -0
- vibedasher-2.2.0/vibedasher/models/dataset_list_response.py +98 -0
- vibedasher-2.2.0/vibedasher/models/dataset_processing_status.py +21 -0
- vibedasher-2.2.0/vibedasher/models/dataset_response.py +68 -0
- vibedasher-2.2.0/vibedasher/models/dataset_schema_change.py +119 -0
- vibedasher-2.2.0/vibedasher/models/dataset_schema_retype.py +78 -0
- vibedasher-2.2.0/vibedasher/models/dataset_summary_view.py +439 -0
- vibedasher-2.2.0/vibedasher/models/dataset_type.py +71 -0
- vibedasher-2.2.0/vibedasher/models/dataset_update.py +409 -0
- vibedasher-2.2.0/vibedasher/models/dataset_view.py +548 -0
- vibedasher-2.2.0/vibedasher/models/dataset_view_config_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/dbt_column_metadata.py +82 -0
- vibedasher-2.2.0/vibedasher/models/dbt_materialization_type.py +21 -0
- vibedasher-2.2.0/vibedasher/models/dbt_model.py +297 -0
- vibedasher-2.2.0/vibedasher/models/dbt_model_config.py +327 -0
- vibedasher-2.2.0/vibedasher/models/dbt_project.py +357 -0
- vibedasher-2.2.0/vibedasher/models/dbt_project_config.py +164 -0
- vibedasher-2.2.0/vibedasher/models/dbt_project_list_response.py +76 -0
- vibedasher-2.2.0/vibedasher/models/dbt_project_response.py +68 -0
- vibedasher-2.2.0/vibedasher/models/dbt_project_view.py +331 -0
- vibedasher-2.2.0/vibedasher/models/dbt_project_view_config_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/dbt_run_status.py +22 -0
- vibedasher-2.2.0/vibedasher/models/dynamo_db_connection_info.py +146 -0
- vibedasher-2.2.0/vibedasher/models/dynamo_db_query.py +183 -0
- vibedasher-2.2.0/vibedasher/models/dynamo_db_query_expression_attribute_values_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/email_attachment_model.py +100 -0
- vibedasher-2.2.0/vibedasher/models/email_data.py +47 -0
- vibedasher-2.2.0/vibedasher/models/email_priority.py +18 -0
- vibedasher-2.2.0/vibedasher/models/email_provider_config_create.py +153 -0
- vibedasher-2.2.0/vibedasher/models/email_provider_config_update.py +200 -0
- vibedasher-2.2.0/vibedasher/models/email_provider_config_update_config_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/email_provider_config_view.py +279 -0
- vibedasher-2.2.0/vibedasher/models/email_provider_config_view_config_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/email_provider_list_response.py +98 -0
- vibedasher-2.2.0/vibedasher/models/email_provider_response.py +68 -0
- vibedasher-2.2.0/vibedasher/models/email_provider_type.py +24 -0
- vibedasher-2.2.0/vibedasher/models/email_send_request.py +426 -0
- vibedasher-2.2.0/vibedasher/models/email_send_request_custom_headers_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/email_status.py +20 -0
- vibedasher-2.2.0/vibedasher/models/excel_dataset_config.py +141 -0
- vibedasher-2.2.0/vibedasher/models/excel_dataset_config_updatemode.py +16 -0
- vibedasher-2.2.0/vibedasher/models/feedback_context.py +119 -0
- vibedasher-2.2.0/vibedasher/models/feedback_create.py +166 -0
- vibedasher-2.2.0/vibedasher/models/feedback_list_response.py +84 -0
- vibedasher-2.2.0/vibedasher/models/feedback_response.py +67 -0
- vibedasher-2.2.0/vibedasher/models/feedback_view.py +231 -0
- vibedasher-2.2.0/vibedasher/models/feedback_view_context_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/fields.py +47 -0
- vibedasher-2.2.0/vibedasher/models/files.py +47 -0
- vibedasher-2.2.0/vibedasher/models/filterstate.py +47 -0
- vibedasher-2.2.0/vibedasher/models/folder_create.py +100 -0
- vibedasher-2.2.0/vibedasher/models/folder_list_response.py +97 -0
- vibedasher-2.2.0/vibedasher/models/folder_response.py +67 -0
- vibedasher-2.2.0/vibedasher/models/folder_update.py +113 -0
- vibedasher-2.2.0/vibedasher/models/folder_view.py +213 -0
- vibedasher-2.2.0/vibedasher/models/ga_date_range.py +69 -0
- vibedasher-2.2.0/vibedasher/models/ga_dimension.py +61 -0
- vibedasher-2.2.0/vibedasher/models/ga_metric.py +83 -0
- vibedasher-2.2.0/vibedasher/models/ga_report_request.py +154 -0
- vibedasher-2.2.0/vibedasher/models/get_me_response_200_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/google_analytics_connection_info.py +106 -0
- vibedasher-2.2.0/vibedasher/models/google_analytics_query.py +75 -0
- vibedasher-2.2.0/vibedasher/models/google_cloud_storage_connection_info.py +125 -0
- vibedasher-2.2.0/vibedasher/models/google_cloud_storage_connection_info_credentials_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/google_cloud_storage_query.py +69 -0
- vibedasher-2.2.0/vibedasher/models/google_sheets_query.py +69 -0
- vibedasher-2.2.0/vibedasher/models/group_create.py +83 -0
- vibedasher-2.2.0/vibedasher/models/group_list_response.py +97 -0
- vibedasher-2.2.0/vibedasher/models/group_response.py +67 -0
- vibedasher-2.2.0/vibedasher/models/group_update.py +156 -0
- vibedasher-2.2.0/vibedasher/models/group_view.py +164 -0
- vibedasher-2.2.0/vibedasher/models/heatup_lambdas_body_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/http_validation_error.py +79 -0
- vibedasher-2.2.0/vibedasher/models/hubspot_connection_info.py +61 -0
- vibedasher-2.2.0/vibedasher/models/hubspot_params.py +156 -0
- vibedasher-2.2.0/vibedasher/models/hubspot_query.py +101 -0
- vibedasher-2.2.0/vibedasher/models/image_create.py +135 -0
- vibedasher-2.2.0/vibedasher/models/image_list_response.py +97 -0
- vibedasher-2.2.0/vibedasher/models/image_response.py +67 -0
- vibedasher-2.2.0/vibedasher/models/image_update.py +165 -0
- vibedasher-2.2.0/vibedasher/models/image_view.py +184 -0
- vibedasher-2.2.0/vibedasher/models/incremental_config.py +170 -0
- vibedasher-2.2.0/vibedasher/models/incremental_config_rolling_window_unit_type_0.py +22 -0
- vibedasher-2.2.0/vibedasher/models/incremental_config_strategy.py +17 -0
- vibedasher-2.2.0/vibedasher/models/invoke_request.py +76 -0
- vibedasher-2.2.0/vibedasher/models/invoke_response.py +104 -0
- vibedasher-2.2.0/vibedasher/models/lang.py +15 -0
- vibedasher-2.2.0/vibedasher/models/mailchimp_connection_info.py +69 -0
- vibedasher-2.2.0/vibedasher/models/mailchimp_params.py +155 -0
- vibedasher-2.2.0/vibedasher/models/mailchimp_query.py +101 -0
- vibedasher-2.2.0/vibedasher/models/marketo_connection_info.py +99 -0
- vibedasher-2.2.0/vibedasher/models/marketo_params.py +142 -0
- vibedasher-2.2.0/vibedasher/models/marketo_query.py +101 -0
- vibedasher-2.2.0/vibedasher/models/metadata.py +183 -0
- vibedasher-2.2.0/vibedasher/models/models.py +47 -0
- vibedasher-2.2.0/vibedasher/models/mongo_db_connection_info.py +61 -0
- vibedasher-2.2.0/vibedasher/models/mongo_db_query.py +168 -0
- vibedasher-2.2.0/vibedasher/models/mongo_db_query_filter_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/mongo_db_query_projection_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/mssql_connection_info.py +181 -0
- vibedasher-2.2.0/vibedasher/models/mssql_query.py +61 -0
- vibedasher-2.2.0/vibedasher/models/my_sql_connection_info.py +268 -0
- vibedasher-2.2.0/vibedasher/models/my_sql_query.py +61 -0
- vibedasher-2.2.0/vibedasher/models/needs_review.py +129 -0
- vibedasher-2.2.0/vibedasher/models/needs_review_confidence.py +16 -0
- vibedasher-2.2.0/vibedasher/models/newsletter_subscribe_request.py +84 -0
- vibedasher-2.2.0/vibedasher/models/notification_list_response.py +97 -0
- vibedasher-2.2.0/vibedasher/models/notification_response.py +67 -0
- vibedasher-2.2.0/vibedasher/models/notification_view.py +215 -0
- vibedasher-2.2.0/vibedasher/models/oracle_connection_info.py +201 -0
- vibedasher-2.2.0/vibedasher/models/oracle_query.py +61 -0
- vibedasher-2.2.0/vibedasher/models/payload.py +47 -0
- vibedasher-2.2.0/vibedasher/models/permission_type.py +18 -0
- vibedasher-2.2.0/vibedasher/models/pk_compaction_request.py +62 -0
- vibedasher-2.2.0/vibedasher/models/postgres_connection_info.py +279 -0
- vibedasher-2.2.0/vibedasher/models/postgres_query.py +61 -0
- vibedasher-2.2.0/vibedasher/models/principal_type.py +16 -0
- vibedasher-2.2.0/vibedasher/models/provider_data.py +47 -0
- vibedasher-2.2.0/vibedasher/models/public_dataset_config.py +163 -0
- vibedasher-2.2.0/vibedasher/models/publish_body.py +232 -0
- vibedasher-2.2.0/vibedasher/models/publish_status.py +18 -0
- vibedasher-2.2.0/vibedasher/models/question_create.py +234 -0
- vibedasher-2.2.0/vibedasher/models/question_default_viz.py +156 -0
- vibedasher-2.2.0/vibedasher/models/question_default_viz_config_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/question_execute_body.py +108 -0
- vibedasher-2.2.0/vibedasher/models/question_execute_body_params_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/question_list_response.py +98 -0
- vibedasher-2.2.0/vibedasher/models/question_parameter.py +125 -0
- vibedasher-2.2.0/vibedasher/models/question_parameter_type.py +20 -0
- vibedasher-2.2.0/vibedasher/models/question_response.py +68 -0
- vibedasher-2.2.0/vibedasher/models/question_summary_view.py +334 -0
- vibedasher-2.2.0/vibedasher/models/question_update.py +287 -0
- vibedasher-2.2.0/vibedasher/models/question_validate_sql_body.py +102 -0
- vibedasher-2.2.0/vibedasher/models/question_view.py +420 -0
- vibedasher-2.2.0/vibedasher/models/question_viz_dimension.py +70 -0
- vibedasher-2.2.0/vibedasher/models/question_viz_measure.py +92 -0
- vibedasher-2.2.0/vibedasher/models/redshift_connection_info.py +181 -0
- vibedasher-2.2.0/vibedasher/models/redshift_query.py +61 -0
- vibedasher-2.2.0/vibedasher/models/refresh_checkpoint.py +163 -0
- vibedasher-2.2.0/vibedasher/models/refresh_checkpoint_watermarktype.py +19 -0
- vibedasher-2.2.0/vibedasher/models/refresh_create.py +119 -0
- vibedasher-2.2.0/vibedasher/models/refresh_list_response.py +97 -0
- vibedasher-2.2.0/vibedasher/models/refresh_request.py +87 -0
- vibedasher-2.2.0/vibedasher/models/refresh_request_mode_type_0.py +16 -0
- vibedasher-2.2.0/vibedasher/models/refresh_response.py +67 -0
- vibedasher-2.2.0/vibedasher/models/refresh_update.py +164 -0
- vibedasher-2.2.0/vibedasher/models/refresh_view.py +253 -0
- vibedasher-2.2.0/vibedasher/models/repartition_mode.py +16 -0
- vibedasher-2.2.0/vibedasher/models/repartition_request.py +93 -0
- vibedasher-2.2.0/vibedasher/models/request_body.py +47 -0
- vibedasher-2.2.0/vibedasher/models/resource_type.py +19 -0
- vibedasher-2.2.0/vibedasher/models/response_batch_write_files.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_check_account_slug_exists.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_check_email_availability.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_check_folder_image_exists.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_check_slug_available.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_cleanup_expired_sql_queries.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_cleanup_stale_sources.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_clone_template.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_compile_project.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_confirm_screenshot.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_create_account.py +60 -0
- vibedasher-2.2.0/vibedasher/models/response_create_branch.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_create_dataset_upload.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_create_model.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_create_project_refresh.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_create_sql_query.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_create_sql_query_batch.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_create_task.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_create_template.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_create_user_provider.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_delete_account_logo.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_delete_api_key.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_delete_chat.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_delete_connection.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_delete_credential.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_delete_dataset.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_delete_file.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_delete_folder.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_delete_folder_image.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_delete_group.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_delete_image.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_delete_question.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_delete_refresh.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_delete_sql_query.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_delete_subscription.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_delete_task.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_delete_template.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_delete_user_provider.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_exchange_google_analytics_oauth_code.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_execute_question.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_account.py +60 -0
- vibedasher-2.2.0/vibedasher/models/response_get_account_logo.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_branch.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_branch_files.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_chat.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_commit_log.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_connection_schema.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_connection_tables.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_current_subscription.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_dataset_iceberg_metadata.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_dataset_lineage.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_dataset_upload.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_dataset_upload_download_url.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_dataset_upload_sizes.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_datasets_catalog.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_enabled_public_dataset_sources.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_file.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_lineage.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_model_flat.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_provider.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_public_dataset_suggestions.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_public_viz.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_public_viz_by_global_slug.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_public_viz_sql_query_result.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_public_viz_sql_query_status.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_public_viz_sql_query_status_batch.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_question_bundle.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_run.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_screenshot.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_sql_query_result.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_system_provider_setting.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_table_schema.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_template.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_get_user_provider.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_heatup_lambdas.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_increment_template_usage.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_list_all_providers.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_list_branches.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_list_chats.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_list_dataset_uploads.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_list_models.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_list_project_refreshes.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_list_public_templates.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_list_runs.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_list_subscriptions.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_list_tags.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_list_templates.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_list_user_providers.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_load_dataset_upload.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_match_templates.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_preview_publish.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_publish_viz.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_put_account_logo.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_put_folder_image.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_put_screenshot.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_read_task.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_read_tasks.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_read_viz_tasks.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_refresh_dataset.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_repartition_dataset.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_resend_email_verification.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_reset_checkpoint.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_retry_public_dataset_download.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_run_project.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_run_viz_query.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_run_viz_query_batch.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_search_public_datasets.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_send_email_verification_code.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_set_bundle_state.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_set_primary_keys.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_squash_branch.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_sync_model_sources.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_test_connection.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_test_credential.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_test_provider_connection.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_test_subscription.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_track_chat_location.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_transfer_dataset_ownership.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_transfer_dbt_project_ownership.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_transfer_folder_ownership.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_transfer_ownership.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_trigger_project_refresh.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_unpublish_viz.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_update_account.py +60 -0
- vibedasher-2.2.0/vibedasher/models/response_update_model_flat.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_update_system_provider_setting.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_update_task.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_update_template.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_update_tool_result.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_update_user_provider.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_upload_chat_image.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_validate_connection_query.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_validate_question_sql.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_validate_sql_query.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_warmup_worker.py +47 -0
- vibedasher-2.2.0/vibedasher/models/response_write_file.py +47 -0
- vibedasher-2.2.0/vibedasher/models/salesforce_connection_info.py +111 -0
- vibedasher-2.2.0/vibedasher/models/salesforce_query.py +61 -0
- vibedasher-2.2.0/vibedasher/models/sap_connection_info.py +93 -0
- vibedasher-2.2.0/vibedasher/models/sap_params.py +52 -0
- vibedasher-2.2.0/vibedasher/models/sap_query.py +101 -0
- vibedasher-2.2.0/vibedasher/models/setup_session_request.py +74 -0
- vibedasher-2.2.0/vibedasher/models/snowflake_connection_info.py +267 -0
- vibedasher-2.2.0/vibedasher/models/snowflake_connection_info_session_parameters_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/snowflake_query.py +61 -0
- vibedasher-2.2.0/vibedasher/models/sql_dataset_config.py +130 -0
- vibedasher-2.2.0/vibedasher/models/sql_dataset_config_refreshmode.py +16 -0
- vibedasher-2.2.0/vibedasher/models/sql_query_list_response.py +98 -0
- vibedasher-2.2.0/vibedasher/models/sql_query_response.py +68 -0
- vibedasher-2.2.0/vibedasher/models/sql_query_update.py +128 -0
- vibedasher-2.2.0/vibedasher/models/sql_query_update_status_type_0.py +18 -0
- vibedasher-2.2.0/vibedasher/models/sql_query_view.py +312 -0
- vibedasher-2.2.0/vibedasher/models/sql_query_view_args_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/subscription_channel.py +16 -0
- vibedasher-2.2.0/vibedasher/models/subscription_format.py +16 -0
- vibedasher-2.2.0/vibedasher/models/task_update.py +151 -0
- vibedasher-2.2.0/vibedasher/models/task_update_config_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/template_create.py +532 -0
- vibedasher-2.2.0/vibedasher/models/template_create_component_config_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/template_create_dashboard_config_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/template_create_layout_config_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/template_create_layout_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/template_match_request.py +164 -0
- vibedasher-2.2.0/vibedasher/models/template_update.py +722 -0
- vibedasher-2.2.0/vibedasher/models/template_update_component_config_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/template_update_dashboard_config_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/template_update_layout_config_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/template_update_layout_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/theme_colors.py +89 -0
- vibedasher-2.2.0/vibedasher/models/topup_amount_request.py +84 -0
- vibedasher-2.2.0/vibedasher/models/topup_request.py +104 -0
- vibedasher-2.2.0/vibedasher/models/upload_file_folder.py +16 -0
- vibedasher-2.2.0/vibedasher/models/usage_type.py +31 -0
- vibedasher-2.2.0/vibedasher/models/user_ai_config.py +158 -0
- vibedasher-2.2.0/vibedasher/models/user_ai_credential_create.py +146 -0
- vibedasher-2.2.0/vibedasher/models/user_ai_credential_create_headers_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/user_ai_credential_list_response.py +76 -0
- vibedasher-2.2.0/vibedasher/models/user_ai_credential_response.py +68 -0
- vibedasher-2.2.0/vibedasher/models/user_ai_credential_update.py +180 -0
- vibedasher-2.2.0/vibedasher/models/user_ai_credential_update_headers_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/user_ai_credential_view.py +239 -0
- vibedasher-2.2.0/vibedasher/models/user_ai_credential_view_headers_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/user_ai_model.py +156 -0
- vibedasher-2.2.0/vibedasher/models/user_ai_provider_create.py +220 -0
- vibedasher-2.2.0/vibedasher/models/user_ai_provider_update.py +275 -0
- vibedasher-2.2.0/vibedasher/models/user_create.py +517 -0
- vibedasher-2.2.0/vibedasher/models/user_list_response.py +98 -0
- vibedasher-2.2.0/vibedasher/models/user_response.py +68 -0
- vibedasher-2.2.0/vibedasher/models/user_role.py +15 -0
- vibedasher-2.2.0/vibedasher/models/user_update.py +462 -0
- vibedasher-2.2.0/vibedasher/models/user_view.py +449 -0
- vibedasher-2.2.0/vibedasher/models/validation_error.py +123 -0
- vibedasher-2.2.0/vibedasher/models/view_mode.py +15 -0
- vibedasher-2.2.0/vibedasher/models/viz_create.py +439 -0
- vibedasher-2.2.0/vibedasher/models/viz_create_component_config_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/viz_create_dashboard_config_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/models/viz_create_date_configs_item.py +47 -0
- vibedasher-2.2.0/vibedasher/models/viz_create_dimension_configs_item.py +47 -0
- vibedasher-2.2.0/vibedasher/models/viz_create_filter_configs_item.py +47 -0
- vibedasher-2.2.0/vibedasher/models/viz_create_measure_configs_item.py +47 -0
- vibedasher-2.2.0/vibedasher/models/viz_list_response.py +98 -0
- vibedasher-2.2.0/vibedasher/models/viz_response.py +68 -0
- vibedasher-2.2.0/vibedasher/models/viz_summary_view.py +462 -0
- vibedasher-2.2.0/vibedasher/models/viz_update.py +227 -0
- vibedasher-2.2.0/vibedasher/models/viz_view.py +656 -0
- vibedasher-2.2.0/vibedasher/models/viz_view_files_type_0.py +47 -0
- vibedasher-2.2.0/vibedasher/types.py +54 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: vibedasher
|
|
3
|
+
Version: 2.2.0
|
|
4
|
+
Summary: Official Python SDK for the Vibedasher API.
|
|
5
|
+
Project-URL: Homepage, https://vibedasher.com
|
|
6
|
+
Project-URL: Source, https://github.com/JulienGdnr/vibedasher
|
|
7
|
+
Author: Vibedasher
|
|
8
|
+
License: MIT
|
|
9
|
+
Keywords: analytics,api,bi,dashboards,sdk,vibedasher
|
|
10
|
+
Requires-Python: >=3.9
|
|
11
|
+
Requires-Dist: attrs>=22.2.0
|
|
12
|
+
Requires-Dist: httpx<0.29.0,>=0.23.0
|
|
13
|
+
Requires-Dist: msgpack>=1.0.0
|
|
14
|
+
Requires-Dist: python-dateutil>=2.8.0
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
|
|
17
|
+
# vibedasher — Python SDK
|
|
18
|
+
|
|
19
|
+
Official Python SDK for the [Vibedasher](https://vibedasher.com) headless data
|
|
20
|
+
engine. The method you'll use most is `client.query(...)` — it runs SQL across your
|
|
21
|
+
**managed datasets** and returns **typed rows**, so you can render a dashboard
|
|
22
|
+
natively from your own backend.
|
|
23
|
+
|
|
24
|
+
## Install
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
pip install vibedasher
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Headless / eject — start here
|
|
31
|
+
|
|
32
|
+
Vibedasher hosts the data engine (ETL, datasets, query); **you own the frontend/app**.
|
|
33
|
+
You author a dashboard in Vibedasher, eject its code, and wire it to the engine with
|
|
34
|
+
a single call:
|
|
35
|
+
|
|
36
|
+
```python
|
|
37
|
+
from vibedasher import Vibedasher
|
|
38
|
+
|
|
39
|
+
# Server-side (API key held on your server, never shipped to a browser).
|
|
40
|
+
client = Vibedasher(api_key="sk_...", region="eu-central-1")
|
|
41
|
+
|
|
42
|
+
result = client.query(
|
|
43
|
+
sql="SELECT region, AVG(lead_price_usd) AS avg_price FROM sales GROUP BY region",
|
|
44
|
+
params={"region": "Caribe"}, # bound/escaped server-side, never interpolated
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
for col in result.columns:
|
|
48
|
+
print(col.name, col.type) # e.g. region string / avg_price number
|
|
49
|
+
for row in result.rows:
|
|
50
|
+
print(row["region"], row["avg_price"])
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
- **`dataset_ids` is optional (plural).** Omit it and the server infers the dataset
|
|
54
|
+
set from the aliases your `sql` references. Pass it to pin an exact set explicitly:
|
|
55
|
+
`client.query(sql=..., dataset_ids=[12, 47], params=...)` — each id resolves
|
|
56
|
+
server-side to that dataset's alias under RLS, and a dataset not in the set is
|
|
57
|
+
rejected (deny-don't-drop). A mistyped/unknown alias raises
|
|
58
|
+
`400 query_dataset_unresolved`.
|
|
59
|
+
- **`sql` is inline and alias-only** — it references dataset aliases, never a
|
|
60
|
+
physical table.
|
|
61
|
+
- **Results are typed columnar** — `result.columns` are `QueryColumn(name, type)`
|
|
62
|
+
with `type` ∈ `string | number | boolean | date | timestamp | json`, and
|
|
63
|
+
`result.rows` are dicts keyed by column name.
|
|
64
|
+
- **Transport is hidden** — inline vs presigned object storage, MessagePack
|
|
65
|
+
decoding, and transient retries all happen inside `query()`. One call in, typed
|
|
66
|
+
rows out.
|
|
67
|
+
|
|
68
|
+
> `query()` is the one hand-written method (`_query.py`); everything else is
|
|
69
|
+
> generated (see below).
|
|
70
|
+
|
|
71
|
+
### Where the query runs: `type="wasm"`
|
|
72
|
+
|
|
73
|
+
By default the server executes your SQL and returns rows. Pass `type="wasm"` to
|
|
74
|
+
get a **plan** instead — the injected SQL plus one presigned Parquet per dataset —
|
|
75
|
+
and execute it yourself (in DuckDB-WASM in a browser, or plain DuckDB locally):
|
|
76
|
+
|
|
77
|
+
```python
|
|
78
|
+
result = client.query(sql="SELECT region, COUNT(*) FROM sales GROUP BY region", type="wasm")
|
|
79
|
+
|
|
80
|
+
if result.mode == "wasm":
|
|
81
|
+
for src in result.plan.sources:
|
|
82
|
+
print(src.alias, src.url, src.bytes) # register each under `alias`
|
|
83
|
+
print(result.plan.sql) # then run this
|
|
84
|
+
else:
|
|
85
|
+
print(result.rows, result.fallback_reason) # ran server-side, and why
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Authorization does not move.** The server still authorizes, validates
|
|
89
|
+
alias-only SQL, and injects row filters — in that order, *before* the capability
|
|
90
|
+
check. Asking for wasm skips no gate; you get a plan only for data you were
|
|
91
|
+
already allowed to read.
|
|
92
|
+
|
|
93
|
+
**Asking for wasm does not guarantee getting it.** If any participating dataset
|
|
94
|
+
isn't wasm-capable — no current extract, an extract over the size cap, or a
|
|
95
|
+
mandatory row-level filter — the query runs server-side and the response says so
|
|
96
|
+
via `mode: "backend"` and a `fallback_reason`. It is never a silent downgrade, so
|
|
97
|
+
**always branch on `result.mode`, never on what you requested.**
|
|
98
|
+
|
|
99
|
+
`VibedasherEmbedClient` (scoped-token) has no wasm lane and raises `ValueError`
|
|
100
|
+
rather than quietly serving rows.
|
|
101
|
+
|
|
102
|
+
### Embed vs eject
|
|
103
|
+
|
|
104
|
+
- **Embed (iframe, zero-code):** paste a snippet; we host and render. Nothing to build.
|
|
105
|
+
- **Eject (this SDK, own-your-code):** pull the dashboard's code into your stack and
|
|
106
|
+
feed it data via `client.query(...)`. Your app owns the rendering; only the data
|
|
107
|
+
crosses the wire. See a runnable host app in `examples/nextjs-embed` (TS), the
|
|
108
|
+
same contract as here.
|
|
109
|
+
|
|
110
|
+
### Client-side (no backend) auth
|
|
111
|
+
|
|
112
|
+
For a pure-frontend app, mint a short-TTL **scoped token** and use the same method
|
|
113
|
+
via the token-pinned client:
|
|
114
|
+
|
|
115
|
+
```python
|
|
116
|
+
from vibedasher import VibedasherEmbedClient
|
|
117
|
+
|
|
118
|
+
client = VibedasherEmbedClient(token=scoped_token, region="eu-central-1")
|
|
119
|
+
result = client.query(sql=sql, params=params)
|
|
120
|
+
# The token pins the viz + datasets — dataset_ids are accepted for symmetry but the
|
|
121
|
+
# server enforces the token's bound set.
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Everything else: resource operations (generated)
|
|
125
|
+
|
|
126
|
+
Datasets, uploads, viz metadata, API keys, etc. are generated from the OpenAPI spec:
|
|
127
|
+
|
|
128
|
+
```python
|
|
129
|
+
from vibedasher.factory import create_client
|
|
130
|
+
from vibedasher.api.datasets import read_datasets_v1_datasets_get
|
|
131
|
+
|
|
132
|
+
client = create_client(api_key="sk_...", region="eu-central-1")
|
|
133
|
+
# Each operation lives under vibedasher.api.<tag>.<operation_id> and exposes
|
|
134
|
+
# .sync(), .sync_detailed(), .asyncio(), .asyncio_detailed().
|
|
135
|
+
datasets = read_datasets_v1_datasets_get.sync(client=client)
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Auth is an API key sent as `X-Api-Key` (mint one via `POST /v1/api-keys`).
|
|
139
|
+
|
|
140
|
+
## Layout
|
|
141
|
+
|
|
142
|
+
- `vibedasher/_query.py` — the hand-written `query()` (transport, decode, retry, typed rows).
|
|
143
|
+
- `vibedasher/api/<tag>/<operation>.py` — one module per API operation.
|
|
144
|
+
- `vibedasher/models/` — request/response models (attrs classes).
|
|
145
|
+
- `vibedasher/factory.py` — `create_client(api_key, region=..., base_url=...)`.
|
|
146
|
+
|
|
147
|
+
> **Generated code** — do not edit `vibedasher/` by hand. Regenerate with `make py`
|
|
148
|
+
> from `packages/sdk/`. Source of truth: `../openapi.json`. `query()` is the
|
|
149
|
+
> deliberate exception — hand-written and re-copied after each generation.
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# vibedasher — Python SDK
|
|
2
|
+
|
|
3
|
+
Official Python SDK for the [Vibedasher](https://vibedasher.com) headless data
|
|
4
|
+
engine. The method you'll use most is `client.query(...)` — it runs SQL across your
|
|
5
|
+
**managed datasets** and returns **typed rows**, so you can render a dashboard
|
|
6
|
+
natively from your own backend.
|
|
7
|
+
|
|
8
|
+
## Install
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
pip install vibedasher
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Headless / eject — start here
|
|
15
|
+
|
|
16
|
+
Vibedasher hosts the data engine (ETL, datasets, query); **you own the frontend/app**.
|
|
17
|
+
You author a dashboard in Vibedasher, eject its code, and wire it to the engine with
|
|
18
|
+
a single call:
|
|
19
|
+
|
|
20
|
+
```python
|
|
21
|
+
from vibedasher import Vibedasher
|
|
22
|
+
|
|
23
|
+
# Server-side (API key held on your server, never shipped to a browser).
|
|
24
|
+
client = Vibedasher(api_key="sk_...", region="eu-central-1")
|
|
25
|
+
|
|
26
|
+
result = client.query(
|
|
27
|
+
sql="SELECT region, AVG(lead_price_usd) AS avg_price FROM sales GROUP BY region",
|
|
28
|
+
params={"region": "Caribe"}, # bound/escaped server-side, never interpolated
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
for col in result.columns:
|
|
32
|
+
print(col.name, col.type) # e.g. region string / avg_price number
|
|
33
|
+
for row in result.rows:
|
|
34
|
+
print(row["region"], row["avg_price"])
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
- **`dataset_ids` is optional (plural).** Omit it and the server infers the dataset
|
|
38
|
+
set from the aliases your `sql` references. Pass it to pin an exact set explicitly:
|
|
39
|
+
`client.query(sql=..., dataset_ids=[12, 47], params=...)` — each id resolves
|
|
40
|
+
server-side to that dataset's alias under RLS, and a dataset not in the set is
|
|
41
|
+
rejected (deny-don't-drop). A mistyped/unknown alias raises
|
|
42
|
+
`400 query_dataset_unresolved`.
|
|
43
|
+
- **`sql` is inline and alias-only** — it references dataset aliases, never a
|
|
44
|
+
physical table.
|
|
45
|
+
- **Results are typed columnar** — `result.columns` are `QueryColumn(name, type)`
|
|
46
|
+
with `type` ∈ `string | number | boolean | date | timestamp | json`, and
|
|
47
|
+
`result.rows` are dicts keyed by column name.
|
|
48
|
+
- **Transport is hidden** — inline vs presigned object storage, MessagePack
|
|
49
|
+
decoding, and transient retries all happen inside `query()`. One call in, typed
|
|
50
|
+
rows out.
|
|
51
|
+
|
|
52
|
+
> `query()` is the one hand-written method (`_query.py`); everything else is
|
|
53
|
+
> generated (see below).
|
|
54
|
+
|
|
55
|
+
### Where the query runs: `type="wasm"`
|
|
56
|
+
|
|
57
|
+
By default the server executes your SQL and returns rows. Pass `type="wasm"` to
|
|
58
|
+
get a **plan** instead — the injected SQL plus one presigned Parquet per dataset —
|
|
59
|
+
and execute it yourself (in DuckDB-WASM in a browser, or plain DuckDB locally):
|
|
60
|
+
|
|
61
|
+
```python
|
|
62
|
+
result = client.query(sql="SELECT region, COUNT(*) FROM sales GROUP BY region", type="wasm")
|
|
63
|
+
|
|
64
|
+
if result.mode == "wasm":
|
|
65
|
+
for src in result.plan.sources:
|
|
66
|
+
print(src.alias, src.url, src.bytes) # register each under `alias`
|
|
67
|
+
print(result.plan.sql) # then run this
|
|
68
|
+
else:
|
|
69
|
+
print(result.rows, result.fallback_reason) # ran server-side, and why
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Authorization does not move.** The server still authorizes, validates
|
|
73
|
+
alias-only SQL, and injects row filters — in that order, *before* the capability
|
|
74
|
+
check. Asking for wasm skips no gate; you get a plan only for data you were
|
|
75
|
+
already allowed to read.
|
|
76
|
+
|
|
77
|
+
**Asking for wasm does not guarantee getting it.** If any participating dataset
|
|
78
|
+
isn't wasm-capable — no current extract, an extract over the size cap, or a
|
|
79
|
+
mandatory row-level filter — the query runs server-side and the response says so
|
|
80
|
+
via `mode: "backend"` and a `fallback_reason`. It is never a silent downgrade, so
|
|
81
|
+
**always branch on `result.mode`, never on what you requested.**
|
|
82
|
+
|
|
83
|
+
`VibedasherEmbedClient` (scoped-token) has no wasm lane and raises `ValueError`
|
|
84
|
+
rather than quietly serving rows.
|
|
85
|
+
|
|
86
|
+
### Embed vs eject
|
|
87
|
+
|
|
88
|
+
- **Embed (iframe, zero-code):** paste a snippet; we host and render. Nothing to build.
|
|
89
|
+
- **Eject (this SDK, own-your-code):** pull the dashboard's code into your stack and
|
|
90
|
+
feed it data via `client.query(...)`. Your app owns the rendering; only the data
|
|
91
|
+
crosses the wire. See a runnable host app in `examples/nextjs-embed` (TS), the
|
|
92
|
+
same contract as here.
|
|
93
|
+
|
|
94
|
+
### Client-side (no backend) auth
|
|
95
|
+
|
|
96
|
+
For a pure-frontend app, mint a short-TTL **scoped token** and use the same method
|
|
97
|
+
via the token-pinned client:
|
|
98
|
+
|
|
99
|
+
```python
|
|
100
|
+
from vibedasher import VibedasherEmbedClient
|
|
101
|
+
|
|
102
|
+
client = VibedasherEmbedClient(token=scoped_token, region="eu-central-1")
|
|
103
|
+
result = client.query(sql=sql, params=params)
|
|
104
|
+
# The token pins the viz + datasets — dataset_ids are accepted for symmetry but the
|
|
105
|
+
# server enforces the token's bound set.
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Everything else: resource operations (generated)
|
|
109
|
+
|
|
110
|
+
Datasets, uploads, viz metadata, API keys, etc. are generated from the OpenAPI spec:
|
|
111
|
+
|
|
112
|
+
```python
|
|
113
|
+
from vibedasher.factory import create_client
|
|
114
|
+
from vibedasher.api.datasets import read_datasets_v1_datasets_get
|
|
115
|
+
|
|
116
|
+
client = create_client(api_key="sk_...", region="eu-central-1")
|
|
117
|
+
# Each operation lives under vibedasher.api.<tag>.<operation_id> and exposes
|
|
118
|
+
# .sync(), .sync_detailed(), .asyncio(), .asyncio_detailed().
|
|
119
|
+
datasets = read_datasets_v1_datasets_get.sync(client=client)
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Auth is an API key sent as `X-Api-Key` (mint one via `POST /v1/api-keys`).
|
|
123
|
+
|
|
124
|
+
## Layout
|
|
125
|
+
|
|
126
|
+
- `vibedasher/_query.py` — the hand-written `query()` (transport, decode, retry, typed rows).
|
|
127
|
+
- `vibedasher/api/<tag>/<operation>.py` — one module per API operation.
|
|
128
|
+
- `vibedasher/models/` — request/response models (attrs classes).
|
|
129
|
+
- `vibedasher/factory.py` — `create_client(api_key, region=..., base_url=...)`.
|
|
130
|
+
|
|
131
|
+
> **Generated code** — do not edit `vibedasher/` by hand. Regenerate with `make py`
|
|
132
|
+
> from `packages/sdk/`. Source of truth: `../openapi.json`. `query()` is the
|
|
133
|
+
> deliberate exception — hand-written and re-copied after each generation.
|