tinybird 0.0.1.dev129__tar.gz → 0.0.1.dev131__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 (108) hide show
  1. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/PKG-INFO +1 -1
  2. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/feedback_manager.py +3 -0
  3. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/__cli__.py +2 -2
  4. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/cicd.py +2 -2
  5. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/connection.py +1 -1
  6. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/datafile/common.py +7 -5
  7. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/datasource.py +7 -0
  8. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/feedback_manager.py +4 -0
  9. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/local_common.py +1 -1
  10. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/test.py +11 -8
  11. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/datasource.py +7 -0
  12. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird.egg-info/PKG-INFO +1 -1
  13. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/setup.cfg +0 -0
  14. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/__cli__.py +0 -0
  15. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/ch_utils/constants.py +0 -0
  16. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/ch_utils/engine.py +0 -0
  17. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/check_pypi.py +0 -0
  18. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/client.py +0 -0
  19. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/config.py +0 -0
  20. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/connectors.py +0 -0
  21. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/context.py +0 -0
  22. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/datafile.py +0 -0
  23. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/datatypes.py +0 -0
  24. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/git_settings.py +0 -0
  25. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/prompts.py +0 -0
  26. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/sql.py +0 -0
  27. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/sql_template.py +0 -0
  28. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/sql_template_fmt.py +0 -0
  29. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/sql_toolset.py +0 -0
  30. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/syncasync.py +0 -0
  31. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/cli.py +0 -0
  32. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/client.py +0 -0
  33. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/config.py +0 -0
  34. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/auth.py +0 -0
  35. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/build.py +0 -0
  36. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/cli.py +0 -0
  37. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/common.py +0 -0
  38. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/config.py +0 -0
  39. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/copy.py +0 -0
  40. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/create.py +0 -0
  41. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/datafile/build.py +0 -0
  42. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/datafile/build_common.py +0 -0
  43. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/datafile/build_datasource.py +0 -0
  44. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/datafile/build_pipe.py +0 -0
  45. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/datafile/diff.py +0 -0
  46. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/datafile/exceptions.py +0 -0
  47. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/datafile/fixture.py +0 -0
  48. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/datafile/format_common.py +0 -0
  49. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/datafile/format_datasource.py +0 -0
  50. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/datafile/format_pipe.py +0 -0
  51. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/datafile/parse_datasource.py +0 -0
  52. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/datafile/parse_pipe.py +0 -0
  53. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/datafile/pipe_checker.py +0 -0
  54. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/datafile/playground.py +0 -0
  55. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/datafile/pull.py +0 -0
  56. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/deployment.py +0 -0
  57. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/endpoint.py +0 -0
  58. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/exceptions.py +0 -0
  59. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/infra.py +0 -0
  60. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/job.py +0 -0
  61. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/llm.py +0 -0
  62. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/llm_utils.py +0 -0
  63. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/local.py +0 -0
  64. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/login.py +0 -0
  65. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/logout.py +0 -0
  66. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/materialization.py +0 -0
  67. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/mock.py +0 -0
  68. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/open.py +0 -0
  69. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/pipe.py +0 -0
  70. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/project.py +0 -0
  71. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/regions.py +0 -0
  72. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/secret.py +0 -0
  73. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/shell.py +0 -0
  74. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/table.py +0 -0
  75. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/tag.py +0 -0
  76. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/telemetry.py +0 -0
  77. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/tinyunit/tinyunit.py +0 -0
  78. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/tinyunit/tinyunit_lib.py +0 -0
  79. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/token.py +0 -0
  80. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/watch.py +0 -0
  81. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/workspace.py +0 -0
  82. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb/modules/workspace_members.py +0 -0
  83. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli.py +0 -0
  84. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/auth.py +0 -0
  85. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/branch.py +0 -0
  86. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/cicd.py +0 -0
  87. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/cli.py +0 -0
  88. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/common.py +0 -0
  89. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/config.py +0 -0
  90. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/connection.py +0 -0
  91. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/exceptions.py +0 -0
  92. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/fmt.py +0 -0
  93. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/job.py +0 -0
  94. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/pipe.py +0 -0
  95. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/regions.py +0 -0
  96. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/tag.py +0 -0
  97. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/telemetry.py +0 -0
  98. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/test.py +0 -0
  99. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/tinyunit/tinyunit.py +0 -0
  100. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/tinyunit/tinyunit_lib.py +0 -0
  101. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/workspace.py +0 -0
  102. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tb_cli_modules/workspace_members.py +0 -0
  103. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird/tornado_template.py +0 -0
  104. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird.egg-info/SOURCES.txt +0 -0
  105. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird.egg-info/dependency_links.txt +0 -0
  106. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird.egg-info/entry_points.txt +0 -0
  107. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird.egg-info/requires.txt +0 -0
  108. {tinybird-0.0.1.dev129 → tinybird-0.0.1.dev131}/tinybird.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: tinybird
3
- Version: 0.0.1.dev129
3
+ Version: 0.0.1.dev131
4
4
  Summary: Tinybird Command Line Tool
5
5
  Home-page: https://www.tinybird.co/docs/cli/introduction.html
6
6
  Author: Tinybird
@@ -910,6 +910,9 @@ Ready? """
910
910
  success_delete_rows_datasource = success_message(
911
911
  "** Data Source '{datasource}' rows deleted matching condition \"{delete_condition}\""
912
912
  )
913
+ success_delete_rows_datasource_no_rows = success_message(
914
+ "** Data Source '{datasource}' no rows to delete matching condition \"{delete_condition}\""
915
+ )
913
916
  success_dry_run_delete_rows_datasource = success_message(
914
917
  "** [DRY RUN] Data Source '{datasource}' rows '{rows}' matching condition \"{delete_condition}\" to be deleted"
915
918
  )
@@ -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.dev129'
8
- __revision__ = 'dda2ada'
7
+ __version__ = '0.0.1.dev131'
8
+ __revision__ = 'aa5823b'
@@ -43,7 +43,7 @@ jobs:
43
43
  working-directory: '{{ data_project_dir }}'
44
44
  services:
45
45
  tinybird:
46
- image: tinybirdco/tinybird-local:beta
46
+ image: tinybirdco/tinybird-local:latest
47
47
  ports:
48
48
  - 7181:7181
49
49
  steps:
@@ -118,7 +118,7 @@ tinybird_ci_workflow:
118
118
  - tb test run
119
119
  - tb --cloud --host ${{! TINYBIRD_HOST }} --token ${{! TINYBIRD_TOKEN }} deploy --check
120
120
  services:
121
- - name: tinybirdco/tinybird-local:beta
121
+ - name: tinybirdco/tinybird-local:latest
122
122
  alias: tinybird-local
123
123
  """
124
124
 
@@ -86,7 +86,7 @@ SENSITIVE_CONNECTOR_SETTINGS = {
86
86
  "gcscheduler_region",
87
87
  ],
88
88
  DataConnectorType.GCLOUD_STORAGE_HMAC: ["gcs_hmac_secret"],
89
- DataConnectorType.AMAZON_S3: ["s3_secret_access_key"],
89
+ DataConnectorType.AMAZON_S3: ["s3_secret_access_key", "s3_secret"],
90
90
  DataConnectorType.AMAZON_S3_IAMROLE: ["s3_iamrole_arn"],
91
91
  DataConnectorType.AMAZON_DYNAMODB: ["dynamodb_iamrole_arn"],
92
92
  }
@@ -183,21 +183,21 @@ class DatafileKind(Enum):
183
183
  return extension_map[extension]
184
184
 
185
185
 
186
- KAFKA_PARAMS = {
186
+ REQUIRED_KAFKA_PARAMS = {
187
187
  "kafka_connection_name",
188
188
  "kafka_topic",
189
189
  "kafka_group_id",
190
190
  }
191
191
 
192
- REQUIRED_KAFKA_PARAMS = KAFKA_PARAMS
192
+ KAFKA_PARAMS = REQUIRED_KAFKA_PARAMS
193
193
 
194
- S3_PARAMS = {
194
+ REQUIRED_S3_PARAMS = {
195
195
  "import_connection_name",
196
196
  "import_schedule",
197
197
  "import_bucket_uri",
198
198
  }
199
199
 
200
- REQUIRED_S3_PARAMS = S3_PARAMS
200
+ S3_PARAMS = REQUIRED_S3_PARAMS.union({"import_from_timestamp"})
201
201
 
202
202
 
203
203
  class Datafile:
@@ -294,7 +294,7 @@ class Datafile:
294
294
  )
295
295
  # Validate S3 params
296
296
  if any(param in node for param in S3_PARAMS) and not all(param in node for param in REQUIRED_S3_PARAMS):
297
- missing = [param for param in S3_PARAMS if param not in node]
297
+ missing = [param for param in REQUIRED_S3_PARAMS if param not in node]
298
298
  raise DatafileValidationError(
299
299
  f"Some S3 params have been provided, but the following required ones are missing: {missing}"
300
300
  )
@@ -1544,6 +1544,8 @@ def parse(
1544
1544
  "import_service": assign_var("import_service"),
1545
1545
  "s3_region": assign_var("s3_region"),
1546
1546
  "s3_arn": assign_var("s3_arn"),
1547
+ "s3_access_key": assign_var("s3_access_key"),
1548
+ "s3_secret": assign_var("s3_secret"),
1547
1549
  "import_connection_name": assign_var("import_connection_name"),
1548
1550
  "import_schedule": assign_var("import_schedule"),
1549
1551
  "import_strategy": assign_var("import_strategy"),
@@ -322,6 +322,13 @@ async def datasource_delete_rows(ctx, datasource_name, sql_condition, yes, wait,
322
322
  )
323
323
  )
324
324
  return
325
+ if res is None: # 204,205
326
+ click.echo(
327
+ FeedbackManager.success_delete_rows_datasource_no_rows(
328
+ datasource=datasource_name, delete_condition=sql_condition
329
+ )
330
+ )
331
+ return
325
332
  job_id = res["job_id"]
326
333
  job_url = res["job_url"]
327
334
  click.echo(FeedbackManager.info_datasource_delete_rows_job_url(url=job_url))
@@ -686,6 +686,7 @@ Please enter the ARN of the role you just created"""
686
686
  warning_confirm_delete_rows_datasource = prompt_message(
687
687
  "Do you want to delete {datasource}'s rows matching condition \"{delete_condition}\"? Once deleted, they can't be recovered"
688
688
  )
689
+
689
690
  warning_confirm_delete_pipe = prompt_message('Do you want to remove the pipe "{pipe}"?')
690
691
  warning_confirm_copy_pipe = prompt_message('Do you want to run a copy job from the pipe "{pipe}"?')
691
692
  warning_confirm_sink_job = prompt_message('Do you want to run a sink job from the pipe "{pipe}"?')
@@ -1004,6 +1005,9 @@ Please enter the ARN of the role you just created"""
1004
1005
  success_delete_rows_datasource = success_message(
1005
1006
  "** Data Source '{datasource}' rows deleted matching condition \"{delete_condition}\""
1006
1007
  )
1008
+ success_delete_rows_datasource_no_rows = success_message(
1009
+ "** Data Source '{datasource}' no rows to delete matching condition \"{delete_condition}\""
1010
+ )
1007
1011
  success_dry_run_delete_rows_datasource = success_message(
1008
1012
  "** [DRY RUN] Data Source '{datasource}' rows '{rows}' matching condition \"{delete_condition}\" to be deleted"
1009
1013
  )
@@ -9,7 +9,7 @@ from tinybird.tb.client import AuthNoTokenException, TinyB
9
9
  from tinybird.tb.modules.config import CLIConfig
10
10
  from tinybird.tb.modules.exceptions import CLIException
11
11
 
12
- TB_IMAGE_NAME = "tinybirdco/tinybird-local:beta"
12
+ TB_IMAGE_NAME = "tinybirdco/tinybird-local:latest"
13
13
  TB_CONTAINER_NAME = "tinybird-local"
14
14
  TB_LOCAL_PORT = int(os.getenv("TB_LOCAL_PORT", 7181))
15
15
  TB_LOCAL_HOST = f"http://localhost:{TB_LOCAL_PORT}"
@@ -20,7 +20,6 @@ from tinybird.prompts import test_create_prompt
20
20
  from tinybird.tb.client import TinyB
21
21
  from tinybird.tb.modules.build import process
22
22
  from tinybird.tb.modules.cli import cli
23
- from tinybird.tb.modules.common import coro
24
23
  from tinybird.tb.modules.config import CLIConfig
25
24
  from tinybird.tb.modules.exceptions import CLIException
26
25
  from tinybird.tb.modules.feedback_manager import FeedbackManager
@@ -71,13 +70,15 @@ def test(ctx: click.Context) -> None:
71
70
  "--prompt", type=str, default="Create a test for the selected pipe", help="Prompt to be used to create the test"
72
71
  )
73
72
  @click.pass_context
74
- @coro
75
- async def test_create(ctx: click.Context, name_or_filename: str, prompt: str) -> None:
73
+ def test_create(ctx: click.Context, name_or_filename: str, prompt: str) -> None:
76
74
  """
77
75
  Create a test for an existing pipe
78
76
  """
79
77
  project: Project = ctx.ensure_object(dict)["project"]
80
78
  client: TinyB = ctx.ensure_object(dict)["client"]
79
+ click.echo(FeedbackManager.highlight(message="\n» Building project"))
80
+ process(project=project, tb_client=client, watch=False, silent=True)
81
+ click.echo(FeedbackManager.info(message="✓ Done!"))
81
82
  config = CLIConfig.get_project_config()
82
83
  root_path = project.path
83
84
  folder = project.folder
@@ -100,7 +101,7 @@ async def test_create(ctx: click.Context, name_or_filename: str, prompt: str) ->
100
101
  pipe_name = pipe_path.stem
101
102
  click.echo(FeedbackManager.highlight(message=f"\n» Creating tests for {pipe_name} endpoint..."))
102
103
  pipe_content = pipe_path.read_text()
103
- pipe = await client._req(f"/v0/pipes/{pipe_name}")
104
+ pipe = asyncio.run(client._req(f"/v0/pipes/{pipe_name}"))
104
105
  parameters = set([param["name"] for node in pipe["nodes"] for param in node["params"]])
105
106
 
106
107
  system_prompt = test_create_prompt.format(
@@ -129,7 +130,7 @@ async def test_create(ctx: click.Context, name_or_filename: str, prompt: str) ->
129
130
 
130
131
  response = None
131
132
  try:
132
- response = await get_pipe_data(client, pipe_name=pipe_name, test_params=test["parameters"])
133
+ response = asyncio.run(get_pipe_data(client, pipe_name=pipe_name, test_params=test["parameters"]))
133
134
  except Exception:
134
135
  pass
135
136
 
@@ -163,12 +164,14 @@ async def test_create(ctx: click.Context, name_or_filename: str, prompt: str) ->
163
164
  )
164
165
  @click.argument("pipe", type=str)
165
166
  @click.pass_context
166
- @coro
167
- async def test_update(ctx: click.Context, pipe: str) -> None:
167
+ def test_update(ctx: click.Context, pipe: str) -> None:
168
168
  try:
169
169
  client: TinyB = ctx.ensure_object(dict)["client"]
170
170
  project: Project = ctx.ensure_object(dict)["project"]
171
171
  folder = project.folder
172
+ click.echo(FeedbackManager.highlight(message="\n» Building project"))
173
+ process(project=project, tb_client=client, watch=False, silent=True)
174
+ click.echo(FeedbackManager.info(message="✓ Done!"))
172
175
  pipe_tests_path = Path(pipe)
173
176
  pipe_name = pipe
174
177
  if pipe_tests_path.suffix == ".yaml":
@@ -183,7 +186,7 @@ async def test_update(ctx: click.Context, pipe: str) -> None:
183
186
  test_params = test["parameters"].split("?")[1] if "?" in test["parameters"] else test["parameters"]
184
187
  response = None
185
188
  try:
186
- response = await get_pipe_data(client, pipe_name=pipe_name, test_params=test_params)
189
+ response = asyncio.run(get_pipe_data(client, pipe_name=pipe_name, test_params=test_params))
187
190
  except Exception:
188
191
  continue
189
192
 
@@ -466,6 +466,13 @@ async def datasource_delete_rows(ctx, datasource_name, sql_condition, yes, wait,
466
466
  )
467
467
  )
468
468
  return
469
+ if res is None: # 204,205
470
+ click.echo(
471
+ FeedbackManager.success_delete_rows_datasource_no_rows(
472
+ datasource=datasource_name, delete_condition=sql_condition
473
+ )
474
+ )
475
+ return
469
476
  job_id = res["job_id"]
470
477
  job_url = res["job_url"]
471
478
  click.echo(FeedbackManager.info_datasource_delete_rows_job_url(url=job_url))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: tinybird
3
- Version: 0.0.1.dev129
3
+ Version: 0.0.1.dev131
4
4
  Summary: Tinybird Command Line Tool
5
5
  Home-page: https://www.tinybird.co/docs/cli/introduction.html
6
6
  Author: Tinybird