tinybird 3.2.1.dev0__tar.gz → 3.3.1.dev0__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.
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/PKG-INFO +8 -1
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/service_datasources.py +26 -97
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/sql_toolset.py +1 -1
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/__cli__.py +2 -2
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/client.py +24 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/build.py +0 -2
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/datasource.py +149 -1
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/feedback_manager.py +6 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/tinyunit/tinyunit.py +1 -1
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/tinyunit/tinyunit.py +1 -1
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird.egg-info/PKG-INFO +8 -1
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/setup.cfg +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/__cli__.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/ch_utils/constants.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/ch_utils/engine.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/check_pypi.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/client.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/config.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/context.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/datafile/common.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/datafile/exceptions.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/datafile/parse_connection.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/datafile/parse_datasource.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/datafile/parse_pipe.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/datatypes.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/feedback_manager.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/git_settings.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/prompts.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/sql.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/sql_template.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/sql_template_fmt.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/syncasync.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/check_pypi.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/cli.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/config.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/__init__.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/agent.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/animations.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/banner.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/command_agent.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/compactor.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/explore_agent.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/file_agent.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/memory.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/mock_agent.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/models.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/prompts.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/testing_agent.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/__init__.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/analyze.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/append.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/build.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/datafile.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/deploy.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/deploy_check.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/diff_resource.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/execute_query.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/file.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/get_endpoint_stats.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/get_openapi_definition.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/mock.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/plan.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/request_endpoint.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/run_command.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/secret.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/test.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/utils.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/branch.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/build_common.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/cicd.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/cli.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/common.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/config.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/connection.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/connection_kafka.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/connection_s3.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/copy.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/create.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/datafile/build.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/datafile/build_common.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/datafile/build_datasource.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/datafile/build_pipe.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/datafile/diff.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/datafile/fixture.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/datafile/format_common.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/datafile/format_connection.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/datafile/format_datasource.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/datafile/format_pipe.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/datafile/pipe_checker.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/datafile/playground.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/datafile/pull.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/deployment.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/deployment_common.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/deprecations.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/dev_server.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/endpoint.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/exceptions.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/fmt.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/info.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/infra.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/job.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/job_common.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/llm.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/llm_utils.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/local.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/local_common.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/local_logs.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/login.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/login_common.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/logout.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/materialization.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/mock.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/mock_common.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/open.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/pipe.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/project.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/project_commands.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/regions.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/secret.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/secret_common.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/shell.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/sink.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/table.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/telemetry.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/test.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/test_common.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/tinyunit/tinyunit_lib.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/token.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/watch.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/workspace.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/workspace_members.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/auth.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/branch.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/cicd.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/cli.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/common.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/config.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/connection.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/datasource.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/exceptions.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/fmt.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/job.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/pipe.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/regions.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/tag.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/telemetry.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/test.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/tinyunit/tinyunit_lib.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/workspace.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/workspace_members.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tornado_template.py +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird.egg-info/SOURCES.txt +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird.egg-info/dependency_links.txt +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird.egg-info/entry_points.txt +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird.egg-info/requires.txt +0 -0
- {tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: tinybird
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.3.1.dev0
|
|
4
4
|
Summary: Tinybird Command Line Tool
|
|
5
5
|
Home-page: https://www.tinybird.co/docs/forward/commands
|
|
6
6
|
Author: Tinybird
|
|
@@ -57,6 +57,13 @@ The Tinybird command-line tool allows you to use all the Tinybird functionality
|
|
|
57
57
|
Changelog
|
|
58
58
|
----------
|
|
59
59
|
|
|
60
|
+
3.3.0
|
|
61
|
+
*******
|
|
62
|
+
|
|
63
|
+
- `Added` ``tb datasource stop`` and ``tb datasource start`` commands to pause/resume Kafka ingestion in forward branches
|
|
64
|
+
- `Added` ``POST /v0/datasources/{name}/sample`` API endpoint to import sample data from S3/GCS connections in forward branches
|
|
65
|
+
- `Changed` ``--with-connections`` flag for ``tb build`` and ``tb deploy`` is now stable (previously experimental)
|
|
66
|
+
|
|
60
67
|
3.0.2
|
|
61
68
|
*******
|
|
62
69
|
|
|
@@ -483,54 +483,6 @@ def get_tinybird_service_datasources() -> List[Dict[str, Any]]:
|
|
|
483
483
|
{"name": "feature", "type": "String"},
|
|
484
484
|
],
|
|
485
485
|
},
|
|
486
|
-
{
|
|
487
|
-
"name": "tinybird.query_metrics",
|
|
488
|
-
"description": "Query stats metrics from your workspace.",
|
|
489
|
-
"dateColumn": "event_time",
|
|
490
|
-
"engine": {
|
|
491
|
-
"engine": "ReplacingMergeTree",
|
|
492
|
-
"sorting_key": "event_time, organization_id, query_id",
|
|
493
|
-
"partition_key": "toStartOfDay(event_time)",
|
|
494
|
-
"ttl": "toDate(event_time) + INTERVAL 30 DAY",
|
|
495
|
-
},
|
|
496
|
-
"columns": [
|
|
497
|
-
{"name": "event_time", "type": "DateTime"},
|
|
498
|
-
{"name": "organization_id", "type": "String"},
|
|
499
|
-
{"name": "workspace_id", "type": "String"},
|
|
500
|
-
{"name": "query", "type": "String"},
|
|
501
|
-
{"name": "query_id", "type": "String"},
|
|
502
|
-
{"name": "query_type", "type": "String"},
|
|
503
|
-
{"name": "query_start_time", "type": "DateTime"},
|
|
504
|
-
{"name": "query_duration_ms", "type": "Int32"},
|
|
505
|
-
{"name": "pipe_id", "type": "String"},
|
|
506
|
-
{"name": "job_id", "type": "String"},
|
|
507
|
-
{"name": "job_kind", "type": "String"},
|
|
508
|
-
{"name": "read_rows", "type": "Int32"},
|
|
509
|
-
{"name": "read_bytes", "type": "Int32"},
|
|
510
|
-
{"name": "written_rows", "type": "Int32"},
|
|
511
|
-
{"name": "written_bytes", "type": "Int32"},
|
|
512
|
-
{"name": "memory_usage", "type": "Int32"},
|
|
513
|
-
{"name": "vcpu_time", "type": "Float32"},
|
|
514
|
-
{"name": "exception_code", "type": "Int32"},
|
|
515
|
-
{"name": "exception", "type": "String"},
|
|
516
|
-
],
|
|
517
|
-
},
|
|
518
|
-
{
|
|
519
|
-
"name": "tinybird.vcpu_time",
|
|
520
|
-
"description": "vCPU time metrics from your workspace.",
|
|
521
|
-
"dateColumn": "second_slot",
|
|
522
|
-
"engine": {
|
|
523
|
-
"engine": "AggregatingMergeTree",
|
|
524
|
-
"sorting_key": "organization_id, second_slot",
|
|
525
|
-
"partition_key": "toStartOfDay(second_slot)",
|
|
526
|
-
"ttl": "toDate(second_slot) + INTERVAL 30 DAY",
|
|
527
|
-
},
|
|
528
|
-
"columns": [
|
|
529
|
-
{"name": "second_slot", "type": "DateTime"},
|
|
530
|
-
{"name": "organization_id", "type": "String"},
|
|
531
|
-
{"name": "vcpu_time", "type": "Float64"},
|
|
532
|
-
],
|
|
533
|
-
},
|
|
534
486
|
{
|
|
535
487
|
"name": "tinybird.query_validator_log",
|
|
536
488
|
"description": "Log of failed queries executions in the next available ClickHouse version and their results.",
|
|
@@ -559,6 +511,32 @@ def get_tinybird_service_datasources() -> List[Dict[str, Any]]:
|
|
|
559
511
|
{"name": "run_validation", "type": "DateTime"},
|
|
560
512
|
],
|
|
561
513
|
},
|
|
514
|
+
{
|
|
515
|
+
"name": "tinybird.hfi_requests",
|
|
516
|
+
"description": "HFI requests telemetry from your workspace.",
|
|
517
|
+
"dateColumn": "event_time",
|
|
518
|
+
"engine": {
|
|
519
|
+
"engine": "SummingMergeTree",
|
|
520
|
+
"sorting_key": "workspace_id, datasource_id, event_time",
|
|
521
|
+
"partition_key": "toYYYYMM(event_time)",
|
|
522
|
+
},
|
|
523
|
+
"columns": [
|
|
524
|
+
{"name": "event_time", "type": "DateTime"},
|
|
525
|
+
{"name": "workspace_id", "type": "String"},
|
|
526
|
+
{"name": "datasource_id", "type": "String"},
|
|
527
|
+
{"name": "successful_requests", "type": "UInt64"},
|
|
528
|
+
{"name": "error_requests", "type": "UInt64"},
|
|
529
|
+
{"name": "rows_total", "type": "UInt64"},
|
|
530
|
+
{"name": "rows_successful", "type": "UInt64"},
|
|
531
|
+
{"name": "rows_quarantined", "type": "UInt64"},
|
|
532
|
+
{"name": "bytes_received", "type": "UInt64"},
|
|
533
|
+
{"name": "bytes_decompressed", "type": "UInt64"},
|
|
534
|
+
{"name": "ch_written_rows", "type": "UInt64"},
|
|
535
|
+
{"name": "ch_written_bytes", "type": "UInt64"},
|
|
536
|
+
{"name": "ch_cpu_time", "type": "Float32"},
|
|
537
|
+
{"name": "rate_limited", "type": "UInt8"},
|
|
538
|
+
],
|
|
539
|
+
},
|
|
562
540
|
]
|
|
563
541
|
|
|
564
542
|
|
|
@@ -1055,55 +1033,6 @@ def get_organization_service_datasources() -> List[Dict[str, Any]]:
|
|
|
1055
1033
|
{"name": "feature", "type": "String"},
|
|
1056
1034
|
],
|
|
1057
1035
|
},
|
|
1058
|
-
{
|
|
1059
|
-
"name": "organization.query_metrics",
|
|
1060
|
-
"description": "Query stats metrics from your workspace.",
|
|
1061
|
-
"dateColumn": "event_time",
|
|
1062
|
-
"engine": {
|
|
1063
|
-
"engine": "ReplacingMergeTree",
|
|
1064
|
-
"sorting_key": "event_time, organization_id, query_id",
|
|
1065
|
-
"partition_key": "toStartOfDay(event_time)",
|
|
1066
|
-
"ttl": "toDate(event_time) + INTERVAL 30 DAY",
|
|
1067
|
-
},
|
|
1068
|
-
"columns": [
|
|
1069
|
-
{"name": "event_time", "type": "DateTime"},
|
|
1070
|
-
{"name": "organization_id", "type": "String"},
|
|
1071
|
-
{"name": "workspace_id", "type": "String"},
|
|
1072
|
-
{"name": "query", "type": "String"},
|
|
1073
|
-
{"name": "query_id", "type": "String"},
|
|
1074
|
-
{"name": "query_type", "type": "String"},
|
|
1075
|
-
{"name": "query_start_time", "type": "DateTime"},
|
|
1076
|
-
{"name": "query_duration_ms", "type": "Int32"},
|
|
1077
|
-
{"name": "pipe_id", "type": "String"},
|
|
1078
|
-
{"name": "job_id", "type": "String"},
|
|
1079
|
-
{"name": "job_kind", "type": "String"},
|
|
1080
|
-
{"name": "read_rows", "type": "Int32"},
|
|
1081
|
-
{"name": "read_bytes", "type": "Int32"},
|
|
1082
|
-
{"name": "written_rows", "type": "Int32"},
|
|
1083
|
-
{"name": "written_bytes", "type": "Int32"},
|
|
1084
|
-
{"name": "memory_usage", "type": "Int32"},
|
|
1085
|
-
{"name": "vcpu_time", "type": "Float32"},
|
|
1086
|
-
{"name": "exception_code", "type": "Int32"},
|
|
1087
|
-
{"name": "exception", "type": "String"},
|
|
1088
|
-
],
|
|
1089
|
-
},
|
|
1090
|
-
{
|
|
1091
|
-
"name": "organization.vcpu_time",
|
|
1092
|
-
"description": "vCPU time metrics from your workspace.",
|
|
1093
|
-
"dateColumn": "second_slot",
|
|
1094
|
-
"engine": {
|
|
1095
|
-
"engine": "AggregatingMergeTree",
|
|
1096
|
-
"sorting_key": "organization_id, second_slot",
|
|
1097
|
-
"partition_key": "toStartOfDay(second_slot)",
|
|
1098
|
-
"ttl": "toDate(second_slot) + INTERVAL 30 DAY",
|
|
1099
|
-
},
|
|
1100
|
-
"columns": [
|
|
1101
|
-
{"name": "second_slot", "type": "DateTime"},
|
|
1102
|
-
{"name": "organization_id", "type": "String"},
|
|
1103
|
-
{"name": "workspace_id", "type": "String"},
|
|
1104
|
-
{"name": "vcpu_time", "type": "Float64"},
|
|
1105
|
-
],
|
|
1106
|
-
},
|
|
1107
1036
|
]
|
|
1108
1037
|
|
|
1109
1038
|
|
|
@@ -539,7 +539,7 @@ def replace_tables(
|
|
|
539
539
|
if (
|
|
540
540
|
dependent_table[2]
|
|
541
541
|
and dependent_table[2] not in _enabled_table_functions
|
|
542
|
-
and not (dependent_table[2]
|
|
542
|
+
and not (dependent_table[2] == "cluster" and replacement[0] == VALID_REMOTE)
|
|
543
543
|
):
|
|
544
544
|
raise InvalidFunction(table_function_name=dependent_table[2])
|
|
545
545
|
if dependent_table[0] or dependent_table[1]:
|
|
@@ -4,5 +4,5 @@ __description__ = 'Tinybird Command Line Tool'
|
|
|
4
4
|
__url__ = 'https://www.tinybird.co/docs/forward/commands'
|
|
5
5
|
__author__ = 'Tinybird'
|
|
6
6
|
__author_email__ = 'support@tinybird.co'
|
|
7
|
-
__version__ = '3.
|
|
8
|
-
__revision__ = '
|
|
7
|
+
__version__ = '3.3.1.dev0'
|
|
8
|
+
__revision__ = '6508f3b'
|
|
@@ -449,6 +449,14 @@ class TinyB:
|
|
|
449
449
|
def datasource_truncate(self, datasource_name: str):
|
|
450
450
|
return self._req(f"/v0/datasources/{datasource_name}/truncate", method="POST", data="")
|
|
451
451
|
|
|
452
|
+
def datasource_stop(self, datasource_name: str) -> dict:
|
|
453
|
+
"""Stop Kafka ingestion for a datasource in a forward branch."""
|
|
454
|
+
return self._req(f"/v0/datasources/{datasource_name}/stop", method="POST", data="")
|
|
455
|
+
|
|
456
|
+
def datasource_start(self, datasource_name: str) -> dict:
|
|
457
|
+
"""Start Kafka ingestion for a datasource in a forward branch."""
|
|
458
|
+
return self._req(f"/v0/datasources/{datasource_name}/start", method="POST", data="")
|
|
459
|
+
|
|
452
460
|
def datasource_delete_rows(self, datasource_name: str, delete_condition: str, dry_run: bool = False):
|
|
453
461
|
params = {"delete_condition": delete_condition}
|
|
454
462
|
if dry_run:
|
|
@@ -483,6 +491,22 @@ class TinyB:
|
|
|
483
491
|
def datasource_sync(self, datasource_id: str):
|
|
484
492
|
return self._req(f"/v0/datasources/{datasource_id}/scheduling/runs", method="POST", data="")
|
|
485
493
|
|
|
494
|
+
def datasource_sample(self, datasource_name: str, max_files: int = 1) -> Dict[str, Any]:
|
|
495
|
+
"""Start a sample import job for an S3/GCS connected datasource.
|
|
496
|
+
|
|
497
|
+
Args:
|
|
498
|
+
datasource_name: Name of the datasource to import sample data into
|
|
499
|
+
max_files: Maximum number of files to import (default 1, max 10)
|
|
500
|
+
|
|
501
|
+
Returns:
|
|
502
|
+
dict with job info including id, job_id, job_url, job, status
|
|
503
|
+
"""
|
|
504
|
+
return self._req(
|
|
505
|
+
f"/v0/datasources/{datasource_name}/sample",
|
|
506
|
+
method="POST",
|
|
507
|
+
data=json.dumps({"max_files": max_files}),
|
|
508
|
+
)
|
|
509
|
+
|
|
486
510
|
def datasource_scheduling_state(self, datasource_id: str):
|
|
487
511
|
response = self._req(f"/v0/datasources/{datasource_id}/scheduling/state", method="GET")
|
|
488
512
|
return response["state"]
|
|
@@ -30,7 +30,6 @@ from tinybird.tb.modules.watch import watch_files, watch_project
|
|
|
30
30
|
"--with-connections",
|
|
31
31
|
is_flag=True,
|
|
32
32
|
default=False,
|
|
33
|
-
hidden=True,
|
|
34
33
|
help="Create data linkers for connection datasources (S3, Kafka, GCS) during build",
|
|
35
34
|
)
|
|
36
35
|
@click.pass_context
|
|
@@ -89,7 +88,6 @@ def build(ctx: click.Context, watch: bool, with_connections: bool) -> None:
|
|
|
89
88
|
@click.option(
|
|
90
89
|
"--with-connections/--no-connections",
|
|
91
90
|
default=None,
|
|
92
|
-
hidden=True,
|
|
93
91
|
help="Create data linkers for connection datasources (S3, Kafka, GCS). Defaults to true for branches.",
|
|
94
92
|
)
|
|
95
93
|
@click.pass_context
|
|
@@ -19,7 +19,13 @@ from click import Context
|
|
|
19
19
|
|
|
20
20
|
from tinybird.datafile.common import get_name_version
|
|
21
21
|
from tinybird.prompts import quarantine_prompt
|
|
22
|
-
from tinybird.tb.client import
|
|
22
|
+
from tinybird.tb.client import (
|
|
23
|
+
AuthException,
|
|
24
|
+
AuthNoTokenException,
|
|
25
|
+
DoesNotExistException,
|
|
26
|
+
OperationCanNotBePerformed,
|
|
27
|
+
TinyB,
|
|
28
|
+
)
|
|
23
29
|
from tinybird.tb.modules.agent.utils import (
|
|
24
30
|
create_terminal_box,
|
|
25
31
|
)
|
|
@@ -459,6 +465,64 @@ def datasource_truncate(ctx, datasource_name, yes, cascade):
|
|
|
459
465
|
click.echo(FeedbackManager.info(message="Operation cancelled by user"))
|
|
460
466
|
|
|
461
467
|
|
|
468
|
+
@datasource.command(name="stop")
|
|
469
|
+
@click.argument("datasource_name", required=True)
|
|
470
|
+
@click.pass_context
|
|
471
|
+
def datasource_stop(ctx: Context, datasource_name: str) -> None:
|
|
472
|
+
"""Stop Kafka ingestion for a datasource.
|
|
473
|
+
|
|
474
|
+
This command is only available for Kafka-connected datasources in forward branches
|
|
475
|
+
or tinybird local environments. Once stopped, no new data will be ingested from
|
|
476
|
+
the Kafka topic until the datasource is started again.
|
|
477
|
+
|
|
478
|
+
Example: tb datasource stop my_kafka_datasource
|
|
479
|
+
"""
|
|
480
|
+
client: TinyB = ctx.obj["client"]
|
|
481
|
+
try:
|
|
482
|
+
client.datasource_stop(datasource_name)
|
|
483
|
+
except AuthNoTokenException:
|
|
484
|
+
raise
|
|
485
|
+
except DoesNotExistException:
|
|
486
|
+
raise CLIDatasourceException(FeedbackManager.error_datasource_does_not_exist(datasource=datasource_name))
|
|
487
|
+
except AuthException as e:
|
|
488
|
+
raise CLIDatasourceException(FeedbackManager.error_exception(error=e))
|
|
489
|
+
except OperationCanNotBePerformed as e:
|
|
490
|
+
raise CLIDatasourceException(FeedbackManager.error_exception(error=e))
|
|
491
|
+
except Exception as e:
|
|
492
|
+
raise CLIDatasourceException(FeedbackManager.error_exception(error=e))
|
|
493
|
+
|
|
494
|
+
click.echo(FeedbackManager.success_stop_datasource(datasource=datasource_name))
|
|
495
|
+
|
|
496
|
+
|
|
497
|
+
@datasource.command(name="start")
|
|
498
|
+
@click.argument("datasource_name", required=True)
|
|
499
|
+
@click.pass_context
|
|
500
|
+
def datasource_start(ctx: Context, datasource_name: str) -> None:
|
|
501
|
+
"""Start Kafka ingestion for a datasource.
|
|
502
|
+
|
|
503
|
+
This command is only available for Kafka-connected datasources in forward branches
|
|
504
|
+
or tinybird local environments. Once started, data will be ingested from the Kafka
|
|
505
|
+
topic, resuming from the last committed offset.
|
|
506
|
+
|
|
507
|
+
Example: tb datasource start my_kafka_datasource
|
|
508
|
+
"""
|
|
509
|
+
client: TinyB = ctx.obj["client"]
|
|
510
|
+
try:
|
|
511
|
+
client.datasource_start(datasource_name)
|
|
512
|
+
except AuthNoTokenException:
|
|
513
|
+
raise
|
|
514
|
+
except DoesNotExistException:
|
|
515
|
+
raise CLIDatasourceException(FeedbackManager.error_datasource_does_not_exist(datasource=datasource_name))
|
|
516
|
+
except AuthException as e:
|
|
517
|
+
raise CLIDatasourceException(FeedbackManager.error_exception(error=e))
|
|
518
|
+
except OperationCanNotBePerformed as e:
|
|
519
|
+
raise CLIDatasourceException(FeedbackManager.error_exception(error=e))
|
|
520
|
+
except Exception as e:
|
|
521
|
+
raise CLIDatasourceException(FeedbackManager.error_exception(error=e))
|
|
522
|
+
|
|
523
|
+
click.echo(FeedbackManager.success_start_datasource(datasource=datasource_name))
|
|
524
|
+
|
|
525
|
+
|
|
462
526
|
@datasource.command(name="delete")
|
|
463
527
|
@click.argument("datasource_name")
|
|
464
528
|
@click.option("--sql-condition", default=None, help="SQL WHERE condition to remove rows", hidden=True, required=True)
|
|
@@ -646,6 +710,90 @@ def datasource_sync(ctx: Context, datasource_name: str, yes: bool):
|
|
|
646
710
|
raise CLIDatasourceException(FeedbackManager.error_syncing_datasource(datasource=datasource_name, error=str(e)))
|
|
647
711
|
|
|
648
712
|
|
|
713
|
+
@datasource.command(name="sample")
|
|
714
|
+
@click.argument("datasource_name")
|
|
715
|
+
@click.option(
|
|
716
|
+
"--max-files",
|
|
717
|
+
default=1,
|
|
718
|
+
type=int,
|
|
719
|
+
help="Maximum number of files to import (default 1, max 10)",
|
|
720
|
+
)
|
|
721
|
+
@click.option(
|
|
722
|
+
"--wait",
|
|
723
|
+
is_flag=True,
|
|
724
|
+
default=False,
|
|
725
|
+
help="Wait for the import job to finish",
|
|
726
|
+
)
|
|
727
|
+
@click.pass_context
|
|
728
|
+
def datasource_sample(ctx: Context, datasource_name: str, max_files: int, wait: bool) -> None:
|
|
729
|
+
"""Import sample data from a datasource connected to an S3 or GCS bucket.
|
|
730
|
+
|
|
731
|
+
This command only works with datasources that have IMPORT_CONNECTION_NAME and
|
|
732
|
+
IMPORT_BUCKET_URI configured (i.e., datasources ingesting from S3 or GCS).
|
|
733
|
+
It imports a limited number of files from the bucket URI pattern, useful for
|
|
734
|
+
testing data pipelines in branches without importing the entire dataset.
|
|
735
|
+
|
|
736
|
+
By default, returns immediately with job info. Use --wait to block until complete.
|
|
737
|
+
|
|
738
|
+
Examples:
|
|
739
|
+
tb --branch=my_branch datasource sample my_s3_ds
|
|
740
|
+
tb --branch=my_branch datasource sample my_s3_ds --max-files 3 --wait
|
|
741
|
+
"""
|
|
742
|
+
from tinybird.tb.modules.common import wait_job
|
|
743
|
+
from tinybird.tb.modules.job_common import echo_job_url
|
|
744
|
+
|
|
745
|
+
try:
|
|
746
|
+
client: TinyB = ctx.obj["client"]
|
|
747
|
+
config = ctx.obj.get("config", {})
|
|
748
|
+
|
|
749
|
+
click.echo(FeedbackManager.info(message=f"Starting sample import for {datasource_name}..."))
|
|
750
|
+
|
|
751
|
+
# Start the job
|
|
752
|
+
result = client.datasource_sample(datasource_name, max_files=max_files)
|
|
753
|
+
|
|
754
|
+
job_id = result.get("job_id") or result.get("id")
|
|
755
|
+
if not job_id:
|
|
756
|
+
raise CLIDatasourceException(
|
|
757
|
+
FeedbackManager.error_sample_import_datasource(
|
|
758
|
+
datasource=datasource_name, error="No job ID returned from server"
|
|
759
|
+
)
|
|
760
|
+
)
|
|
761
|
+
job_url = result.get("job_url", f"/v0/jobs/{job_id}")
|
|
762
|
+
|
|
763
|
+
# Show job URL
|
|
764
|
+
echo_job_url(client.token, client.host, config.get("name", ""), job_url)
|
|
765
|
+
|
|
766
|
+
if not wait:
|
|
767
|
+
# Return immediately with job info
|
|
768
|
+
click.echo(FeedbackManager.success(message=f"Job started: {job_id}"))
|
|
769
|
+
click.echo(FeedbackManager.gray(message=f"Check status: tb job get {job_id}"))
|
|
770
|
+
return
|
|
771
|
+
|
|
772
|
+
# Wait for job completion using existing wait_job utility
|
|
773
|
+
# wait_job raises CLIException on failure, so we only reach here on success
|
|
774
|
+
job_result = wait_job(client, job_id, job_url, "Importing sample")
|
|
775
|
+
|
|
776
|
+
stats = job_result.get("stats", {})
|
|
777
|
+
found_files = stats.get("found_files", max_files)
|
|
778
|
+
click.echo(
|
|
779
|
+
FeedbackManager.success_sample_import_datasource(
|
|
780
|
+
datasource=datasource_name,
|
|
781
|
+
file=f"{found_files} file(s)",
|
|
782
|
+
rows="see job details",
|
|
783
|
+
size="see job details",
|
|
784
|
+
)
|
|
785
|
+
)
|
|
786
|
+
|
|
787
|
+
except AuthNoTokenException:
|
|
788
|
+
raise
|
|
789
|
+
except CLIDatasourceException:
|
|
790
|
+
raise
|
|
791
|
+
except Exception as e:
|
|
792
|
+
raise CLIDatasourceException(
|
|
793
|
+
FeedbackManager.error_sample_import_datasource(datasource=datasource_name, error=str(e))
|
|
794
|
+
)
|
|
795
|
+
|
|
796
|
+
|
|
649
797
|
@datasource.command(name="create")
|
|
650
798
|
@click.option("--name", type=str, help="Name of the data source")
|
|
651
799
|
@click.option("--blank", is_flag=True, default=False, help="Create a blank data source")
|
|
@@ -223,6 +223,7 @@ class FeedbackManager:
|
|
|
223
223
|
"The --incremental parameter is only supported when the `--connector` parameter is passed"
|
|
224
224
|
)
|
|
225
225
|
error_syncing_datasource = error_message("Failed syncing Data Source {datasource}: {error}")
|
|
226
|
+
error_sample_import_datasource = error_message("Failed importing sample for Data Source {datasource}: {error}")
|
|
226
227
|
error_sync_not_supported = error_message("The --sync parameter is only supported for {valid_datasources}")
|
|
227
228
|
error_invalid_connector = error_message("Invalid connector parameter: Use one of {connectors}")
|
|
228
229
|
error_connector_not_configured = error_message(
|
|
@@ -1037,7 +1038,12 @@ STEP 3: ADD KEY TO SERVICE ACCOUNT
|
|
|
1037
1038
|
success_update_datasource = success_message("** Data Source '{datasource}' updated:\n {params}")
|
|
1038
1039
|
success_promoting_datasource = success_message("** Data Source '{datasource}' connection settings updated")
|
|
1039
1040
|
success_truncate_datasource = success_message("** Data Source '{datasource}' truncated")
|
|
1041
|
+
success_stop_datasource = success_message("** Data Source '{datasource}' Kafka ingestion stopped")
|
|
1042
|
+
success_start_datasource = success_message("** Data Source '{datasource}' Kafka ingestion started")
|
|
1040
1043
|
success_sync_datasource = success_message("** Data Source '{datasource}' syncing in progress")
|
|
1044
|
+
success_sample_import_datasource = success_message(
|
|
1045
|
+
"** Sample imported into Data Source '{datasource}'\n File: {file}\n Rows: {rows}\n Size: {size}"
|
|
1046
|
+
)
|
|
1041
1047
|
success_exchange_datasources = success_message("** Data Sources '{datasource_a}' and '{datasource_b}' exchanged")
|
|
1042
1048
|
|
|
1043
1049
|
success_delete_rows_datasource = success_message(
|
|
@@ -263,7 +263,7 @@ def test_run_summary(results: List[TestSummaryResults], only_fail: bool = False,
|
|
|
263
263
|
total_counts[test.status] = total_counts.get(test.status, 0) + 1
|
|
264
264
|
|
|
265
265
|
# Skip the PASS tests if we only want the failed ones
|
|
266
|
-
if only_fail and test.status
|
|
266
|
+
if only_fail and test.status == PASS:
|
|
267
267
|
continue
|
|
268
268
|
|
|
269
269
|
summary.append(
|
|
@@ -263,7 +263,7 @@ def test_run_summary(results: List[TestSummaryResults], only_fail: bool = False,
|
|
|
263
263
|
total_counts[test.status] = total_counts.get(test.status, 0) + 1
|
|
264
264
|
|
|
265
265
|
# Skip the PASS tests if we only want the failed ones
|
|
266
|
-
if only_fail and test.status
|
|
266
|
+
if only_fail and test.status == PASS:
|
|
267
267
|
continue
|
|
268
268
|
|
|
269
269
|
summary.append(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: tinybird
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.3.1.dev0
|
|
4
4
|
Summary: Tinybird Command Line Tool
|
|
5
5
|
Home-page: https://www.tinybird.co/docs/forward/commands
|
|
6
6
|
Author: Tinybird
|
|
@@ -57,6 +57,13 @@ The Tinybird command-line tool allows you to use all the Tinybird functionality
|
|
|
57
57
|
Changelog
|
|
58
58
|
----------
|
|
59
59
|
|
|
60
|
+
3.3.0
|
|
61
|
+
*******
|
|
62
|
+
|
|
63
|
+
- `Added` ``tb datasource stop`` and ``tb datasource start`` commands to pause/resume Kafka ingestion in forward branches
|
|
64
|
+
- `Added` ``POST /v0/datasources/{name}/sample`` API endpoint to import sample data from S3/GCS connections in forward branches
|
|
65
|
+
- `Changed` ``--with-connections`` flag for ``tb build`` and ``tb deploy`` is now stable (previously experimental)
|
|
66
|
+
|
|
60
67
|
3.0.2
|
|
61
68
|
*******
|
|
62
69
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/diff_resource.py
RENAMED
|
File without changes
|
{tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/execute_query.py
RENAMED
|
File without changes
|
|
File without changes
|
{tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/get_endpoint_stats.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/agent/tools/request_endpoint.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/datafile/build_datasource.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/datafile/format_connection.py
RENAMED
|
File without changes
|
{tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb/modules/datafile/format_datasource.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tinybird-3.2.1.dev0 → tinybird-3.3.1.dev0}/tinybird/tb_cli_modules/tinyunit/tinyunit_lib.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|