tinybird 0.0.1.dev285__tar.gz → 0.0.1.dev286__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 (147) hide show
  1. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/PKG-INFO +2 -1
  2. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/datafile/common.py +7 -0
  3. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/sql_template.py +16 -2
  4. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/__cli__.py +2 -2
  5. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/workspace.py +1 -1
  6. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird.egg-info/PKG-INFO +2 -1
  7. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird.egg-info/requires.txt +1 -0
  8. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/setup.cfg +0 -0
  9. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/__cli__.py +0 -0
  10. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/ch_utils/constants.py +0 -0
  11. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/ch_utils/engine.py +0 -0
  12. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/check_pypi.py +0 -0
  13. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/client.py +0 -0
  14. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/config.py +0 -0
  15. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/connectors.py +0 -0
  16. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/context.py +0 -0
  17. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/datafile/exceptions.py +0 -0
  18. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/datafile/parse_connection.py +0 -0
  19. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/datafile/parse_datasource.py +0 -0
  20. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/datafile/parse_pipe.py +0 -0
  21. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/datatypes.py +0 -0
  22. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/feedback_manager.py +0 -0
  23. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/git_settings.py +0 -0
  24. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/prompts.py +0 -0
  25. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/sql.py +0 -0
  26. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/sql_template_fmt.py +0 -0
  27. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/sql_toolset.py +0 -0
  28. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/syncasync.py +0 -0
  29. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/check_pypi.py +0 -0
  30. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/cli.py +0 -0
  31. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/client.py +0 -0
  32. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/config.py +0 -0
  33. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/__init__.py +0 -0
  34. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/agent.py +0 -0
  35. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/animations.py +0 -0
  36. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/banner.py +0 -0
  37. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/command_agent.py +0 -0
  38. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/compactor.py +0 -0
  39. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/explore_agent.py +0 -0
  40. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/memory.py +0 -0
  41. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/mock_agent.py +0 -0
  42. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/models.py +0 -0
  43. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/prompts.py +0 -0
  44. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/testing_agent.py +0 -0
  45. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/tools/__init__.py +0 -0
  46. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/tools/analyze.py +0 -0
  47. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/tools/append.py +0 -0
  48. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/tools/build.py +0 -0
  49. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/tools/datafile.py +0 -0
  50. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/tools/deploy.py +0 -0
  51. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/tools/deploy_check.py +0 -0
  52. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/tools/diff_resource.py +0 -0
  53. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/tools/execute_query.py +0 -0
  54. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/tools/get_endpoint_stats.py +0 -0
  55. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/tools/get_openapi_definition.py +0 -0
  56. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/tools/mock.py +0 -0
  57. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/tools/plan.py +0 -0
  58. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/tools/request_endpoint.py +0 -0
  59. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/tools/run_command.py +0 -0
  60. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/tools/secret.py +0 -0
  61. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/tools/test.py +0 -0
  62. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/agent/utils.py +0 -0
  63. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/build.py +0 -0
  64. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/build_common.py +0 -0
  65. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/cicd.py +0 -0
  66. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/cli.py +0 -0
  67. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/common.py +0 -0
  68. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/config.py +0 -0
  69. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/connection.py +0 -0
  70. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/copy.py +0 -0
  71. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/create.py +0 -0
  72. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/datafile/build.py +0 -0
  73. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/datafile/build_common.py +0 -0
  74. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/datafile/build_datasource.py +0 -0
  75. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/datafile/build_pipe.py +0 -0
  76. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/datafile/diff.py +0 -0
  77. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/datafile/fixture.py +0 -0
  78. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/datafile/format_common.py +0 -0
  79. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/datafile/format_datasource.py +0 -0
  80. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/datafile/format_pipe.py +0 -0
  81. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/datafile/pipe_checker.py +0 -0
  82. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/datafile/playground.py +0 -0
  83. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/datafile/pull.py +0 -0
  84. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/datasource.py +0 -0
  85. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/deployment.py +0 -0
  86. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/deployment_common.py +0 -0
  87. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/deprecations.py +0 -0
  88. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/dev_server.py +0 -0
  89. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/endpoint.py +0 -0
  90. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/exceptions.py +0 -0
  91. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/feedback_manager.py +0 -0
  92. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/info.py +0 -0
  93. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/infra.py +0 -0
  94. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/job.py +0 -0
  95. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/llm.py +0 -0
  96. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/llm_utils.py +0 -0
  97. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/local.py +0 -0
  98. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/local_common.py +0 -0
  99. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/login.py +0 -0
  100. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/login_common.py +0 -0
  101. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/logout.py +0 -0
  102. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/materialization.py +0 -0
  103. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/mock.py +0 -0
  104. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/mock_common.py +0 -0
  105. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/open.py +0 -0
  106. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/pipe.py +0 -0
  107. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/project.py +0 -0
  108. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/regions.py +0 -0
  109. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/secret.py +0 -0
  110. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/secret_common.py +0 -0
  111. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/shell.py +0 -0
  112. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/sink.py +0 -0
  113. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/table.py +0 -0
  114. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/telemetry.py +0 -0
  115. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/test.py +0 -0
  116. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/test_common.py +0 -0
  117. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/tinyunit/tinyunit.py +0 -0
  118. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/tinyunit/tinyunit_lib.py +0 -0
  119. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/token.py +0 -0
  120. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/watch.py +0 -0
  121. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb/modules/workspace_members.py +0 -0
  122. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli.py +0 -0
  123. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/auth.py +0 -0
  124. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/branch.py +0 -0
  125. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/cicd.py +0 -0
  126. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/cli.py +0 -0
  127. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/common.py +0 -0
  128. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/config.py +0 -0
  129. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/connection.py +0 -0
  130. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/datasource.py +0 -0
  131. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/exceptions.py +0 -0
  132. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/fmt.py +0 -0
  133. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/job.py +0 -0
  134. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/pipe.py +0 -0
  135. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/regions.py +0 -0
  136. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/tag.py +0 -0
  137. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/telemetry.py +0 -0
  138. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/test.py +0 -0
  139. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/tinyunit/tinyunit.py +0 -0
  140. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/tinyunit/tinyunit_lib.py +0 -0
  141. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/workspace.py +0 -0
  142. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tb_cli_modules/workspace_members.py +0 -0
  143. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird/tornado_template.py +0 -0
  144. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird.egg-info/SOURCES.txt +0 -0
  145. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird.egg-info/dependency_links.txt +0 -0
  146. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/tinybird.egg-info/entry_points.txt +0 -0
  147. {tinybird-0.0.1.dev285 → tinybird-0.0.1.dev286}/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.dev285
3
+ Version: 0.0.1.dev286
4
4
  Summary: Tinybird Command Line Tool
5
5
  Home-page: https://www.tinybird.co/docs/forward/commands
6
6
  Author: Tinybird
@@ -21,6 +21,7 @@ Requires-Dist: GitPython~=3.1.32
21
21
  Requires-Dist: humanfriendly~=8.2
22
22
  Requires-Dist: plotext==5.3.2
23
23
  Requires-Dist: prompt_toolkit==3.0.48
24
+ Requires-Dist: logfire-api==4.2.0
24
25
  Requires-Dist: pydantic~=2.11.7
25
26
  Requires-Dist: pydantic-ai-slim[anthropic]~=0.5.0
26
27
  Requires-Dist: pydantic-ai-slim[retries]~=0.5.0
@@ -419,6 +419,9 @@ class Datafile:
419
419
 
420
420
  def validate(self):
421
421
  if self.kind == DatafileKind.pipe:
422
+ if len(self.nodes) == 0:
423
+ raise DatafileValidationError("Pipe data file must have at least one node")
424
+
422
425
  non_standard_nodes_count = 0
423
426
  for node in self.nodes:
424
427
  node_type = node.get("type", "").lower()
@@ -2007,6 +2010,10 @@ def parse(
2007
2010
  "kafka_ssl_ca_pem": kafka_ssl_ca_pem,
2008
2011
  "kafka_security_protocol": assign_var("kafka_security_protocol"),
2009
2012
  "kafka_sasl_mechanism": assign_var("kafka_sasl_mechanism"),
2013
+ "kafka_sasl_oauthbearer_provider": assign_var("kafka_sasl_oauthbearer_provider"),
2014
+ "kafka_sasl_oauthbearer_aws_region": assign_var("kafka_sasl_oauthbearer_aws_region"),
2015
+ "kafka_sasl_oauthbearer_aws_role_arn": assign_var("kafka_sasl_oauthbearer_aws_role_arn"),
2016
+ "kafka_sasl_oauthbearer_aws_external_id": assign_var("kafka_sasl_oauthbearer_aws_external_id"),
2010
2017
  "kafka_key_avro_deserialization": kafka_key_avro_deserialization_deprecated,
2011
2018
  "s3_region": assign_var("s3_region"),
2012
2019
  "s3_arn": assign_var("s3_arn"),
@@ -1411,7 +1411,7 @@ def generate(self, **kwargs) -> Tuple[str, TemplateExecutionResults]:
1411
1411
  if TB_SECRET_IN_TEST_MODE in kwargs:
1412
1412
  template_execution_results[TB_SECRET_IN_TEST_MODE] = None
1413
1413
 
1414
- def set_tb_secret(x):
1414
+ def set_tb_secret(x, default=None):
1415
1415
  try:
1416
1416
  key = secret_template_key(x)
1417
1417
  if key in template_execution_results.template_params:
@@ -1419,8 +1419,10 @@ def generate(self, **kwargs) -> Tuple[str, TemplateExecutionResults]:
1419
1419
  return Symbol("{" + sqlescape(x) + ": String}")
1420
1420
  else:
1421
1421
  is_test_mode = TB_SECRET_IN_TEST_MODE in template_execution_results
1422
- if is_test_mode:
1422
+ if is_test_mode and default is None:
1423
1423
  return Symbol("{" + sqlescape(x) + ": String}")
1424
+ elif default is not None:
1425
+ return default
1424
1426
  else:
1425
1427
  raise SQLTemplateException(
1426
1428
  f"Cannot access secret '{x}'. Check the secret exists in the Workspace and the token has the required scope."
@@ -2266,6 +2268,18 @@ def render_sql_template(
2266
2268
  Traceback (most recent call last):
2267
2269
  ...
2268
2270
  tinybird.sql_template.SQLTemplateException: Template Syntax Error: Cannot access secret 'test'. Check the secret exists in the Workspace and the token has the required scope.
2271
+ >>> render_sql_template("select * from table where str = {{tb_secret('test', 'default_value')}}", secrets = [])
2272
+ ("select * from table where str = 'default_value'", {}, [])
2273
+ >>> render_sql_template("select * from table where str = {{tb_secret('test', 'default_value')}}", secrets = [ 'tb_secret_test' ])
2274
+ ('select * from table where str = {test: String}', {}, [])
2275
+ >>> render_sql_template("select * from table where str = {{tb_secret('test', '')}}")
2276
+ ("select * from table where str = ''", {}, [])
2277
+ >>> render_sql_template("select * from table where str = {{tb_secret('test', 'default_value')}}", test_mode=True)
2278
+ ("select * from table where str = 'default_value'", {}, [])
2279
+ >>> render_sql_template("select * from table where str = {{tb_secret('test', '')}}", test_mode=True)
2280
+ ("select * from table where str = ''", {}, [])
2281
+ >>> render_sql_template("select * from table where str = {{tb_secret('test', 'default_value')}}", secrets = [ 'tb_secret_test' ], test_mode=True)
2282
+ ('select * from table where str = {test: String}', {}, [])
2269
2283
  >>> render_sql_template("select * from table where str = {{String(test)}} and category = {{String(category, 'shirts')}} and color = {{ Int32(color)}}", test_mode=False)
2270
2284
  Traceback (most recent call last):
2271
2285
  ...
@@ -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__ = '0.0.1.dev285'
8
- __revision__ = '0a30a28'
7
+ __version__ = '0.0.1.dev286'
8
+ __revision__ = '3e1e6a3'
@@ -157,7 +157,7 @@ def create_workspace(
157
157
  )
158
158
 
159
159
  config = CLIConfig.get_project_config()
160
- user_token = config.get_user_token()
160
+ user_token = get_user_token(config)
161
161
  fork = False
162
162
 
163
163
  if not user_token:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: tinybird
3
- Version: 0.0.1.dev285
3
+ Version: 0.0.1.dev286
4
4
  Summary: Tinybird Command Line Tool
5
5
  Home-page: https://www.tinybird.co/docs/forward/commands
6
6
  Author: Tinybird
@@ -21,6 +21,7 @@ Requires-Dist: GitPython~=3.1.32
21
21
  Requires-Dist: humanfriendly~=8.2
22
22
  Requires-Dist: plotext==5.3.2
23
23
  Requires-Dist: prompt_toolkit==3.0.48
24
+ Requires-Dist: logfire-api==4.2.0
24
25
  Requires-Dist: pydantic~=2.11.7
25
26
  Requires-Dist: pydantic-ai-slim[anthropic]~=0.5.0
26
27
  Requires-Dist: pydantic-ai-slim[retries]~=0.5.0
@@ -12,6 +12,7 @@ GitPython~=3.1.32
12
12
  humanfriendly~=8.2
13
13
  plotext==5.3.2
14
14
  prompt_toolkit==3.0.48
15
+ logfire-api==4.2.0
15
16
  pydantic~=2.11.7
16
17
  pydantic-ai-slim[anthropic]~=0.5.0
17
18
  pydantic-ai-slim[retries]~=0.5.0