tinybird 0.0.1.dev153__tar.gz → 0.0.1.dev155__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 (110) hide show
  1. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/PKG-INFO +2 -2
  2. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/__cli__.py +3 -3
  3. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/build.py +1 -1
  4. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/local.py +71 -8
  5. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/local_common.py +18 -0
  6. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird.egg-info/PKG-INFO +2 -2
  7. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/setup.cfg +0 -0
  8. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/__cli__.py +0 -0
  9. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/ch_utils/constants.py +0 -0
  10. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/ch_utils/engine.py +0 -0
  11. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/check_pypi.py +0 -0
  12. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/client.py +0 -0
  13. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/config.py +0 -0
  14. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/connectors.py +0 -0
  15. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/context.py +0 -0
  16. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/datafile.py +0 -0
  17. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/datatypes.py +0 -0
  18. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/feedback_manager.py +0 -0
  19. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/git_settings.py +0 -0
  20. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/prompts.py +0 -0
  21. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/sql.py +0 -0
  22. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/sql_template.py +0 -0
  23. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/sql_template_fmt.py +0 -0
  24. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/sql_toolset.py +0 -0
  25. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/syncasync.py +0 -0
  26. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/check_pypi.py +0 -0
  27. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/cli.py +0 -0
  28. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/client.py +0 -0
  29. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/config.py +0 -0
  30. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/auth.py +0 -0
  31. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/cicd.py +0 -0
  32. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/cli.py +0 -0
  33. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/common.py +0 -0
  34. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/config.py +0 -0
  35. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/connection.py +0 -0
  36. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/copy.py +0 -0
  37. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/create.py +0 -0
  38. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/datafile/build.py +0 -0
  39. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/datafile/build_common.py +0 -0
  40. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/datafile/build_datasource.py +0 -0
  41. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/datafile/build_pipe.py +0 -0
  42. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/datafile/common.py +0 -0
  43. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/datafile/diff.py +0 -0
  44. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/datafile/exceptions.py +0 -0
  45. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/datafile/fixture.py +0 -0
  46. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/datafile/format_common.py +0 -0
  47. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/datafile/format_datasource.py +0 -0
  48. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/datafile/format_pipe.py +0 -0
  49. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/datafile/parse_datasource.py +0 -0
  50. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/datafile/parse_pipe.py +0 -0
  51. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/datafile/pipe_checker.py +0 -0
  52. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/datafile/playground.py +0 -0
  53. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/datafile/pull.py +0 -0
  54. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/datasource.py +0 -0
  55. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/deployment.py +0 -0
  56. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/deprecations.py +0 -0
  57. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/dev_server.py +0 -0
  58. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/endpoint.py +0 -0
  59. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/exceptions.py +0 -0
  60. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/feedback_manager.py +0 -0
  61. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/infra.py +0 -0
  62. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/job.py +0 -0
  63. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/llm.py +0 -0
  64. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/llm_utils.py +0 -0
  65. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/login.py +0 -0
  66. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/logout.py +0 -0
  67. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/materialization.py +0 -0
  68. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/mock.py +0 -0
  69. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/open.py +0 -0
  70. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/pipe.py +0 -0
  71. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/project.py +0 -0
  72. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/regions.py +0 -0
  73. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/secret.py +0 -0
  74. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/shell.py +0 -0
  75. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/table.py +0 -0
  76. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/telemetry.py +0 -0
  77. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/test.py +0 -0
  78. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/tinyunit/tinyunit.py +0 -0
  79. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/tinyunit/tinyunit_lib.py +0 -0
  80. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/token.py +0 -0
  81. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/watch.py +0 -0
  82. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/workspace.py +0 -0
  83. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb/modules/workspace_members.py +0 -0
  84. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli.py +0 -0
  85. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/auth.py +0 -0
  86. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/branch.py +0 -0
  87. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/cicd.py +0 -0
  88. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/cli.py +0 -0
  89. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/common.py +0 -0
  90. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/config.py +0 -0
  91. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/connection.py +0 -0
  92. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/datasource.py +0 -0
  93. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/exceptions.py +0 -0
  94. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/fmt.py +0 -0
  95. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/job.py +0 -0
  96. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/pipe.py +0 -0
  97. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/regions.py +0 -0
  98. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/tag.py +0 -0
  99. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/telemetry.py +0 -0
  100. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/test.py +0 -0
  101. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/tinyunit/tinyunit.py +0 -0
  102. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/tinyunit/tinyunit_lib.py +0 -0
  103. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/workspace.py +0 -0
  104. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tb_cli_modules/workspace_members.py +0 -0
  105. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird/tornado_template.py +0 -0
  106. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird.egg-info/SOURCES.txt +0 -0
  107. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird.egg-info/dependency_links.txt +0 -0
  108. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird.egg-info/entry_points.txt +0 -0
  109. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird.egg-info/requires.txt +0 -0
  110. {tinybird-0.0.1.dev153 → tinybird-0.0.1.dev155}/tinybird.egg-info/top_level.txt +0 -0
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: tinybird
3
- Version: 0.0.1.dev153
3
+ Version: 0.0.1.dev155
4
4
  Summary: Tinybird Command Line Tool
5
- Home-page: https://www.tinybird.co/docs/cli/introduction.html
5
+ Home-page: https://www.tinybird.co/docs/forward/commands
6
6
  Author: Tinybird
7
7
  Author-email: support@tinybird.co
8
8
  Requires-Python: >=3.9, <3.14
@@ -1,8 +1,8 @@
1
1
 
2
2
  __name__ = 'tinybird'
3
3
  __description__ = 'Tinybird Command Line Tool'
4
- __url__ = 'https://www.tinybird.co/docs/cli/introduction.html'
4
+ __url__ = 'https://www.tinybird.co/docs/forward/commands'
5
5
  __author__ = 'Tinybird'
6
6
  __author_email__ = 'support@tinybird.co'
7
- __version__ = '0.0.1.dev153'
8
- __revision__ = '24d7d4a'
7
+ __version__ = '0.0.1.dev155'
8
+ __revision__ = '4d0ff0d'
@@ -184,7 +184,7 @@ def build_project(project: Project, tb_client: TinyB, file_changed: Optional[str
184
184
  build_errors = result.get("errors")
185
185
  full_error_msg = ""
186
186
  for build_error in build_errors:
187
- filename_bit = build_error.get("filename", "")
187
+ filename_bit = build_error.get("filename", build_error.get("resource", ""))
188
188
  error_bit = build_error.get("error") or build_error.get("message") or ""
189
189
  error_msg = ((filename_bit + "\n") if filename_bit else "") + error_bit
190
190
  full_error_msg += error_msg + "\n\n"
@@ -7,6 +7,7 @@ from typing import Optional
7
7
 
8
8
  import boto3
9
9
  import click
10
+ import requests
10
11
 
11
12
  import docker
12
13
  from docker.client import DockerClient
@@ -15,7 +16,8 @@ from tinybird.tb.modules.cli import cli
15
16
  from tinybird.tb.modules.common import coro
16
17
  from tinybird.tb.modules.exceptions import CLIException, CLILocalException
17
18
  from tinybird.tb.modules.feedback_manager import FeedbackManager
18
- from tinybird.tb.modules.local_common import TB_CONTAINER_NAME, TB_IMAGE_NAME, TB_LOCAL_PORT
19
+ from tinybird.tb.modules.local_common import TB_CONTAINER_NAME, TB_IMAGE_NAME, TB_LOCAL_ADDRESS, TB_LOCAL_PORT
20
+ from tinybird.tb.modules.telemetry import add_telemetry_event
19
21
 
20
22
 
21
23
  def start_tinybird_local(
@@ -131,16 +133,70 @@ def get_docker_client() -> DockerClient:
131
133
  if not docker_host:
132
134
  # Try to get docker host from docker context
133
135
  try:
134
- output = subprocess.check_output(["docker", "context", "inspect"], text=True)
135
- context = json.loads(output)
136
+ try:
137
+ output = subprocess.check_output(["docker", "context", "inspect"], text=True)
138
+ except Exception as e:
139
+ add_telemetry_event(
140
+ "docker_error",
141
+ data={
142
+ "error_kind": "docker_context_inspect_error",
143
+ "exception": str(e),
144
+ },
145
+ )
146
+ raise e
147
+ try:
148
+ context = json.loads(output)
149
+ except Exception as e:
150
+ add_telemetry_event(
151
+ "docker_error",
152
+ data={
153
+ "error_kind": "docker_context_inspect_parse_output_error",
154
+ "exception": str(e),
155
+ "docker_context_inspect_output": output,
156
+ },
157
+ )
158
+ raise e
136
159
  if context and len(context) > 0:
137
- docker_host = context[0].get("Endpoints", {}).get("docker", {}).get("Host")
138
- if docker_host:
139
- os.environ["DOCKER_HOST"] = docker_host
160
+ try:
161
+ docker_host = context[0].get("Endpoints", {}).get("docker", {}).get("Host")
162
+ if docker_host:
163
+ os.environ["DOCKER_HOST"] = docker_host
164
+ except Exception as e:
165
+ add_telemetry_event(
166
+ "docker_error",
167
+ data={
168
+ "error_kind": "docker_context_parse_host_error",
169
+ "exception": str(e),
170
+ "context": json.dumps(context),
171
+ },
172
+ )
173
+ raise e
140
174
  except Exception:
141
175
  pass
142
- client = docker.from_env() # type: ignore
143
- client.ping()
176
+ try:
177
+ client = docker.from_env() # type: ignore
178
+ except Exception as e:
179
+ add_telemetry_event(
180
+ "docker_error",
181
+ data={
182
+ "error_kind": "docker_get_client_from_env_error",
183
+ "exception": str(e),
184
+ },
185
+ )
186
+ raise e
187
+ try:
188
+ client.ping()
189
+ except Exception as e:
190
+ client_dict_non_sensitive = {k: v for k, v in client.api.__dict__.items() if "auth" not in k}
191
+ add_telemetry_event(
192
+ "docker_error",
193
+ data={
194
+ "error_kind": "docker_ping_error",
195
+ "exception": str(e),
196
+ "client": repr(client_dict_non_sensitive),
197
+ },
198
+ )
199
+ raise e
144
200
  return client
145
201
  except Exception:
146
202
  raise CLILocalException(
@@ -342,3 +398,10 @@ async def restart(use_aws_creds: bool) -> None:
342
398
  click.echo(FeedbackManager.info(message="✓ Tinybird Local stopped"))
343
399
  start_tinybird_local(docker_client, use_aws_creds)
344
400
  click.echo(FeedbackManager.success(message="✓ Tinybird Local is ready!"))
401
+
402
+
403
+ @local.command()
404
+ def version() -> None:
405
+ """Show Tinybird Local version"""
406
+ response = requests.get(f"{TB_LOCAL_ADDRESS}/version")
407
+ click.echo(FeedbackManager.success(message=f"✓ Tinybird Local version: {response.text}"))
@@ -2,6 +2,7 @@ import hashlib
2
2
  import logging
3
3
  import os
4
4
  import re
5
+ import subprocess
5
6
  from typing import Any, Dict
6
7
 
7
8
  import requests
@@ -10,6 +11,7 @@ from tinybird.tb.client import AuthNoTokenException, TinyB
10
11
  from tinybird.tb.modules.config import CLIConfig
11
12
  from tinybird.tb.modules.exceptions import CLILocalException
12
13
  from tinybird.tb.modules.feedback_manager import FeedbackManager
14
+ from tinybird.tb.modules.telemetry import add_telemetry_event
13
15
 
14
16
  TB_IMAGE_NAME = "tinybirdco/tinybird-local:latest"
15
17
  TB_CONTAINER_NAME = "tinybird-local"
@@ -37,6 +39,22 @@ async def get_tinybird_local_config(config_obj: Dict[str, Any], test: bool = Fal
37
39
  # ruff: noqa: ASYNC210
38
40
  tokens = requests.get(f"{TB_LOCAL_ADDRESS}/tokens").json()
39
41
  except Exception:
42
+ try:
43
+ # Check if tinybird-local is running with docker, in case it's a config issue
44
+ output = subprocess.check_output(["docker", "ps"], text=True) # noqa: ASYNC221
45
+ header_row = next((line for line in output.splitlines() if "CONTAINER ID" in line), "")
46
+ tb_local_row = next(
47
+ (line for line in output.splitlines() if TB_CONTAINER_NAME in line),
48
+ f"{TB_CONTAINER_NAME} not found in output",
49
+ )
50
+ add_telemetry_event(
51
+ "docker_debug",
52
+ data={
53
+ "docker_ps_output": header_row + tb_local_row,
54
+ },
55
+ )
56
+ except Exception:
57
+ pass
40
58
  raise CLILocalException(
41
59
  FeedbackManager.error(message="Tinybird local is not running. Please run `tb local start` first.")
42
60
  )
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: tinybird
3
- Version: 0.0.1.dev153
3
+ Version: 0.0.1.dev155
4
4
  Summary: Tinybird Command Line Tool
5
- Home-page: https://www.tinybird.co/docs/cli/introduction.html
5
+ Home-page: https://www.tinybird.co/docs/forward/commands
6
6
  Author: Tinybird
7
7
  Author-email: support@tinybird.co
8
8
  Requires-Python: >=3.9, <3.14