tinybird 0.0.1.dev53__tar.gz → 0.0.1.dev55__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of tinybird might be problematic. Click here for more details.

Files changed (101) hide show
  1. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/PKG-INFO +1 -1
  2. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/__cli__.py +2 -2
  3. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/cli.py +6 -4
  4. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/copy.py +24 -29
  5. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/deployment.py +4 -0
  6. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/login.py +2 -2
  7. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird.egg-info/PKG-INFO +1 -1
  8. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/setup.cfg +0 -0
  9. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/__cli__.py +0 -0
  10. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/ch_utils/constants.py +0 -0
  11. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/ch_utils/engine.py +0 -0
  12. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/check_pypi.py +0 -0
  13. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/client.py +0 -0
  14. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/config.py +0 -0
  15. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/connectors.py +0 -0
  16. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/context.py +0 -0
  17. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/datafile.py +0 -0
  18. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/datatypes.py +0 -0
  19. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/feedback_manager.py +0 -0
  20. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/git_settings.py +0 -0
  21. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/prompts.py +0 -0
  22. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/sql.py +0 -0
  23. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/sql_template.py +0 -0
  24. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/sql_template_fmt.py +0 -0
  25. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/sql_toolset.py +0 -0
  26. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/syncasync.py +0 -0
  27. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/cli.py +0 -0
  28. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/auth.py +0 -0
  29. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/build.py +0 -0
  30. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/cicd.py +0 -0
  31. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/common.py +0 -0
  32. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/config.py +0 -0
  33. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/create.py +0 -0
  34. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/datafile/build.py +0 -0
  35. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/datafile/build_common.py +0 -0
  36. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/datafile/build_datasource.py +0 -0
  37. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/datafile/build_pipe.py +0 -0
  38. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/datafile/common.py +0 -0
  39. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/datafile/diff.py +0 -0
  40. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/datafile/exceptions.py +0 -0
  41. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/datafile/fixture.py +0 -0
  42. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/datafile/format_common.py +0 -0
  43. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/datafile/format_datasource.py +0 -0
  44. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/datafile/format_pipe.py +0 -0
  45. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/datafile/parse_datasource.py +0 -0
  46. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/datafile/parse_pipe.py +0 -0
  47. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/datafile/pipe_checker.py +0 -0
  48. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/datafile/pull.py +0 -0
  49. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/datasource.py +0 -0
  50. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/endpoint.py +0 -0
  51. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/exceptions.py +0 -0
  52. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/feedback_manager.py +0 -0
  53. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/fmt.py +0 -0
  54. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/job.py +0 -0
  55. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/llm.py +0 -0
  56. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/llm_utils.py +0 -0
  57. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/local.py +0 -0
  58. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/local_common.py +0 -0
  59. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/materialization.py +0 -0
  60. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/mock.py +0 -0
  61. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/pipe.py +0 -0
  62. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/project.py +0 -0
  63. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/regions.py +0 -0
  64. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/shell.py +0 -0
  65. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/table.py +0 -0
  66. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/tag.py +0 -0
  67. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/telemetry.py +0 -0
  68. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/test.py +0 -0
  69. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/tinyunit/tinyunit.py +0 -0
  70. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/tinyunit/tinyunit_lib.py +0 -0
  71. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/token.py +0 -0
  72. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/watch.py +0 -0
  73. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/workspace.py +0 -0
  74. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb/modules/workspace_members.py +0 -0
  75. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli.py +0 -0
  76. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/auth.py +0 -0
  77. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/branch.py +0 -0
  78. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/cicd.py +0 -0
  79. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/cli.py +0 -0
  80. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/common.py +0 -0
  81. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/config.py +0 -0
  82. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/connection.py +0 -0
  83. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/datasource.py +0 -0
  84. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/exceptions.py +0 -0
  85. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/fmt.py +0 -0
  86. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/job.py +0 -0
  87. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/pipe.py +0 -0
  88. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/regions.py +0 -0
  89. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/tag.py +0 -0
  90. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/telemetry.py +0 -0
  91. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/test.py +0 -0
  92. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/tinyunit/tinyunit.py +0 -0
  93. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/tinyunit/tinyunit_lib.py +0 -0
  94. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/workspace.py +0 -0
  95. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tb_cli_modules/workspace_members.py +0 -0
  96. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird/tornado_template.py +0 -0
  97. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird.egg-info/SOURCES.txt +0 -0
  98. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird.egg-info/dependency_links.txt +0 -0
  99. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird.egg-info/entry_points.txt +0 -0
  100. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird.egg-info/requires.txt +0 -0
  101. {tinybird-0.0.1.dev53 → tinybird-0.0.1.dev55}/tinybird.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tinybird
3
- Version: 0.0.1.dev53
3
+ Version: 0.0.1.dev55
4
4
  Summary: Tinybird Command Line Tool
5
5
  Home-page: https://www.tinybird.co/docs/cli/introduction.html
6
6
  Author: Tinybird
@@ -4,5 +4,5 @@ __description__ = 'Tinybird Command Line Tool'
4
4
  __url__ = 'https://www.tinybird.co/docs/cli/introduction.html'
5
5
  __author__ = 'Tinybird'
6
6
  __author_email__ = 'support@tinybird.co'
7
- __version__ = '0.0.1.dev53'
8
- __revision__ = '883fa46'
7
+ __version__ = '0.0.1.dev55'
8
+ __revision__ = 'cc01364'
@@ -123,7 +123,7 @@ async def cli(
123
123
 
124
124
  logging.debug("debug enabled")
125
125
 
126
- client = await create_ctx_client(ctx, config, cloud, build, project)
126
+ client = await create_ctx_client(ctx, config, cloud, build)
127
127
 
128
128
  if client:
129
129
  ctx.ensure_object(dict)["client"] = client
@@ -390,7 +390,7 @@ def __unpatch_click_output():
390
390
  click.secho = __old_click_secho
391
391
 
392
392
 
393
- async def create_ctx_client(ctx: Context, config: Dict[str, Any], cloud: bool, build: bool, project: Project):
393
+ async def create_ctx_client(ctx: Context, config: Dict[str, Any], cloud: bool, build: bool):
394
394
  commands_without_ctx_client = ["auth", "check", "login", "local", "upgrade"]
395
395
  command = ctx.invoked_subcommand
396
396
  if command in commands_without_ctx_client:
@@ -404,9 +404,11 @@ async def create_ctx_client(ctx: Context, config: Dict[str, Any], cloud: bool, b
404
404
  and command not in commands_always_build
405
405
  and command not in commands_always_local
406
406
  ):
407
- click.echo(FeedbackManager.gray(message=f"Running against {config.get('name') or 'cloud'}"))
407
+ click.echo(
408
+ FeedbackManager.gray(message=f"Running against Tinybird Cloud: Workspace {config.get('name', 'default')}")
409
+ )
408
410
  return _get_tb_client(config.get("token", None), config["host"])
409
411
  build = command in commands_always_build or build
410
412
  if not build and command not in commands_always_local and command not in commands_always_build:
411
- click.echo(FeedbackManager.gray(message="Running against Tinybird local\n"))
413
+ click.echo(FeedbackManager.gray(message="Running against Tinybird Local\n"))
412
414
  return await get_tinybird_local_client(config, build=build)
@@ -75,7 +75,6 @@ async def copy_ls(ctx: Context, match: str, format_: str):
75
75
  @click.option(
76
76
  "--mode", type=click.Choice(["append", "replace"], case_sensitive=True), default=None, help="Copy strategy"
77
77
  )
78
- @click.option("--yes", is_flag=True, default=False, help="Do not ask for confirmation")
79
78
  @click.option(
80
79
  "--param",
81
80
  nargs=1,
@@ -86,37 +85,33 @@ async def copy_ls(ctx: Context, match: str, format_: str):
86
85
  )
87
86
  @click.pass_context
88
87
  @coro
89
- async def copy_run(
90
- ctx: click.Context, pipe_name_or_id: str, wait: bool, mode: str, yes: bool, param: Optional[Tuple[str]]
91
- ):
92
- """Run an on-demand copy job"""
88
+ async def copy_run(ctx: click.Context, pipe_name_or_id: str, wait: bool, mode: str, param: Optional[Tuple[str]]):
89
+ """Run an on-demand copy pipe"""
93
90
 
94
91
  params = dict(key_value.split("=") for key_value in param) if param else {}
92
+ click.echo(FeedbackManager.highlight(message=f"\n» Running on-demand copy '{pipe_name_or_id}'"))
93
+ client: TinyB = ctx.ensure_object(dict)["client"]
94
+
95
+ try:
96
+ response = await client.pipe_run_copy(pipe_name_or_id, params, mode)
97
+
98
+ job_id = response["job"]["job_id"]
99
+ job_url = response["job"]["job_url"]
100
+ target_datasource_id = response["tags"]["copy_target_datasource"]
101
+ target_datasource = await client.get_datasource(target_datasource_id)
102
+ target_datasource_name = target_datasource["name"]
103
+ click.echo(FeedbackManager.gray(message="Job URL: ") + FeedbackManager.info(message=f"{job_url}"))
104
+ click.echo(FeedbackManager.success(message=f"✓ Copy to '{target_datasource_name}' job created"))
95
105
 
96
- if yes or click.confirm(FeedbackManager.warning_confirm_copy_pipe(pipe=pipe_name_or_id)):
97
- click.echo(FeedbackManager.info_copy_job_running(pipe=pipe_name_or_id))
98
- client: TinyB = ctx.ensure_object(dict)["client"]
99
-
100
- try:
101
- response = await client.pipe_run_copy(pipe_name_or_id, params, mode)
102
-
103
- job_id = response["job"]["job_id"]
104
- job_url = response["job"]["job_url"]
105
- target_datasource_id = response["tags"]["copy_target_datasource"]
106
- target_datasource = await client.get_datasource(target_datasource_id)
107
- target_datasource_name = target_datasource["name"]
108
- click.echo(
109
- FeedbackManager.success_copy_job_created(target_datasource=target_datasource_name, job_url=job_url)
110
- )
111
-
112
- if wait:
113
- await wait_job(client, job_id, job_url, "** Copying data")
114
- click.echo(FeedbackManager.success_data_copied_to_ds(target_datasource=target_datasource_name))
115
-
116
- except AuthNoTokenException:
117
- raise
118
- except Exception as e:
119
- raise CLIPipeException(FeedbackManager.error_creating_copy_job(error=e))
106
+ if wait:
107
+ click.echo("\n")
108
+ await wait_job(client, job_id, job_url, FeedbackManager.highlight(message="» Copying data"))
109
+ click.echo(FeedbackManager.success(message=f"✓ Data copied to '{target_datasource_name}'"))
110
+
111
+ except AuthNoTokenException:
112
+ raise
113
+ except Exception as e:
114
+ raise CLIPipeException(FeedbackManager.error_creating_copy_job(error=e))
120
115
 
121
116
 
122
117
  @copy.command(name="resume", short_help="Resume a paused copy pipe")
@@ -15,6 +15,8 @@ from tinybird.tb.modules.feedback_manager import FeedbackManager
15
15
  from tinybird.tb.modules.project import Project
16
16
 
17
17
 
18
+ # TODO(eclbg): This logic should be in the server, and there should be a dedicated endpoint for promoting a deployment
19
+ # potato
18
20
  def promote_deployment(host: Optional[str], headers: dict, wait: bool) -> None:
19
21
  TINYBIRD_API_URL = f"{host}/v1/deployments"
20
22
  r = requests.get(TINYBIRD_API_URL, headers=headers)
@@ -72,6 +74,8 @@ def promote_deployment(host: Optional[str], headers: dict, wait: bool) -> None:
72
74
  click.echo(FeedbackManager.success(message="Deployment promoted successfully"))
73
75
 
74
76
 
77
+ # TODO(eclbg): This logic should be in the server, and there should be a dedicated endpoint for rolling back a
78
+ # deployment
75
79
  def rollback_deployment(host: Optional[str], headers: dict, wait: bool) -> None:
76
80
  TINYBIRD_API_URL = f"{host}/v1/deployments"
77
81
  r = requests.get(TINYBIRD_API_URL, headers=headers)
@@ -91,6 +91,7 @@ def start_server(auth_callback):
91
91
  @cli.command()
92
92
  @click.option(
93
93
  "--host",
94
+ default="https://api.europe-west2.gcp.tinybird.co",
94
95
  help="Set custom host if it's different than https://api.tinybird.co. See https://www.tinybird.co/docs/api-reference/overview#regions-and-endpoints for the available list of regions.",
95
96
  )
96
97
  @click.option(
@@ -107,10 +108,9 @@ async def login(host: str, auth_host: str, workspace: str):
107
108
  """Authenticate using the browser."""
108
109
  auth_event = threading.Event()
109
110
  auth_code: list[str] = [] # Using a list to store the code, as it's mutable
110
- host = host or "https://api.wadus2.gcp.tinybird.co"
111
111
 
112
112
  def auth_callback(code):
113
- auth_code[0] = code
113
+ auth_code.append(code)
114
114
  auth_event.set()
115
115
 
116
116
  click.echo(FeedbackManager.highlight(message="» Opening browser for authentication..."))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tinybird
3
- Version: 0.0.1.dev53
3
+ Version: 0.0.1.dev55
4
4
  Summary: Tinybird Command Line Tool
5
5
  Home-page: https://www.tinybird.co/docs/cli/introduction.html
6
6
  Author: Tinybird
File without changes