tinybird 4.5.10.dev0__tar.gz → 4.5.11.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.
Files changed (126) hide show
  1. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/PKG-INFO +6 -1
  2. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/client.py +29 -5
  3. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/service_datasources.py +2 -0
  4. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/__cli__.py +2 -2
  5. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/create.py +6 -7
  6. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird.egg-info/PKG-INFO +6 -1
  7. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/setup.cfg +0 -0
  8. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/__cli__.py +0 -0
  9. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/ch_utils/constants.py +0 -0
  10. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/ch_utils/engine.py +0 -0
  11. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/check_pypi.py +0 -0
  12. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/config.py +0 -0
  13. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/context.py +0 -0
  14. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/datafile/common.py +0 -0
  15. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/datafile/exceptions.py +0 -0
  16. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/datafile/parse_connection.py +0 -0
  17. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/datafile/parse_datasource.py +0 -0
  18. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/datafile/parse_pipe.py +0 -0
  19. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/datatypes.py +0 -0
  20. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/feedback_manager.py +0 -0
  21. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/git_settings.py +0 -0
  22. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/prompts.py +0 -0
  23. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/sql.py +0 -0
  24. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/sql_template.py +0 -0
  25. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/sql_template_fmt.py +0 -0
  26. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/sql_toolset.py +0 -0
  27. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/syncasync.py +0 -0
  28. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/check_pypi.py +0 -0
  29. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/cli.py +0 -0
  30. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/client.py +0 -0
  31. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/config.py +0 -0
  32. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/branch.py +0 -0
  33. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/build.py +0 -0
  34. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/build_common.py +0 -0
  35. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/cicd.py +0 -0
  36. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/cli.py +0 -0
  37. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/common.py +0 -0
  38. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/config.py +0 -0
  39. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/connection.py +0 -0
  40. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/connection_kafka.py +0 -0
  41. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/connection_s3.py +0 -0
  42. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/copy.py +0 -0
  43. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/datafile/build.py +0 -0
  44. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/datafile/build_common.py +0 -0
  45. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/datafile/build_datasource.py +0 -0
  46. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/datafile/build_pipe.py +0 -0
  47. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/datafile/diff.py +0 -0
  48. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/datafile/fixture.py +0 -0
  49. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/datafile/format_common.py +0 -0
  50. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/datafile/format_connection.py +0 -0
  51. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/datafile/format_datasource.py +0 -0
  52. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/datafile/format_pipe.py +0 -0
  53. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/datafile/pipe_checker.py +0 -0
  54. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/datafile/playground.py +0 -0
  55. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/datafile/pull.py +0 -0
  56. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/datasource.py +0 -0
  57. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/deployment.py +0 -0
  58. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/deployment_common.py +0 -0
  59. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/deprecations.py +0 -0
  60. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/endpoint.py +0 -0
  61. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/exceptions.py +0 -0
  62. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/feedback_manager.py +0 -0
  63. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/fmt.py +0 -0
  64. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/info.py +0 -0
  65. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/infra.py +0 -0
  66. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/job.py +0 -0
  67. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/job_common.py +0 -0
  68. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/llm.py +0 -0
  69. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/llm_utils.py +0 -0
  70. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/local.py +0 -0
  71. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/local_common.py +0 -0
  72. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/local_logs.py +0 -0
  73. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/login.py +0 -0
  74. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/login_common.py +0 -0
  75. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/logout.py +0 -0
  76. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/logs.py +0 -0
  77. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/materialization.py +0 -0
  78. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/open.py +0 -0
  79. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/pipe.py +0 -0
  80. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/preview.py +0 -0
  81. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/project.py +0 -0
  82. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/project_commands.py +0 -0
  83. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/py_project.py +0 -0
  84. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/query_output.py +0 -0
  85. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/regions.py +0 -0
  86. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/secret.py +0 -0
  87. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/secret_common.py +0 -0
  88. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/sink.py +0 -0
  89. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/table.py +0 -0
  90. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/telemetry.py +0 -0
  91. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/test.py +0 -0
  92. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/test_common.py +0 -0
  93. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/tinyunit/tinyunit.py +0 -0
  94. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/tinyunit/tinyunit_lib.py +0 -0
  95. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/token.py +0 -0
  96. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/ts_project.py +0 -0
  97. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/watch.py +0 -0
  98. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/workspace.py +0 -0
  99. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb/modules/workspace_members.py +0 -0
  100. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli.py +0 -0
  101. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/auth.py +0 -0
  102. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/branch.py +0 -0
  103. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/cicd.py +0 -0
  104. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/cli.py +0 -0
  105. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/common.py +0 -0
  106. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/config.py +0 -0
  107. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/connection.py +0 -0
  108. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/datasource.py +0 -0
  109. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/exceptions.py +0 -0
  110. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/fmt.py +0 -0
  111. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/job.py +0 -0
  112. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/pipe.py +0 -0
  113. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/regions.py +0 -0
  114. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/tag.py +0 -0
  115. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/telemetry.py +0 -0
  116. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/test.py +0 -0
  117. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/tinyunit/tinyunit.py +0 -0
  118. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/tinyunit/tinyunit_lib.py +0 -0
  119. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/workspace.py +0 -0
  120. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tb_cli_modules/workspace_members.py +0 -0
  121. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird/tornado_template.py +0 -0
  122. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird.egg-info/SOURCES.txt +0 -0
  123. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird.egg-info/dependency_links.txt +0 -0
  124. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird.egg-info/entry_points.txt +0 -0
  125. {tinybird-4.5.10.dev0 → tinybird-4.5.11.dev0}/tinybird.egg-info/requires.txt +0 -0
  126. {tinybird-4.5.10.dev0 → tinybird-4.5.11.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: 4.5.10.dev0
3
+ Version: 4.5.11.dev0
4
4
  Summary: Tinybird Command Line Tool
5
5
  Home-page: https://www.tinybird.co/docs/forward/commands
6
6
  Author: Tinybird
@@ -52,6 +52,11 @@ The Tinybird command-line tool allows you to use all the Tinybird functionality
52
52
  Changelog
53
53
  ----------
54
54
 
55
+ 4.5.10
56
+ *******
57
+
58
+ - `Fixed` `tb init` now persists `folder` in `tinybird.config.json`, so subsequent resource creation targets the configured project folder instead of the repository root.
59
+
55
60
  4.5.9
56
61
  *******
57
62
 
@@ -340,10 +340,14 @@ class TinyB:
340
340
  for c in connectors
341
341
  ]
342
342
 
343
- async def get_datasource(self, ds_name: str, used_by: bool = False) -> Dict[str, Any]:
343
+ async def get_datasource(
344
+ self, ds_name: str, used_by: bool = False, include_workspace_names: bool = False
345
+ ) -> Dict[str, Any]:
344
346
  params = {
345
347
  "attrs": "used_by" if used_by else "",
346
348
  }
349
+ if include_workspace_names:
350
+ params["include_workspace_names"] = "true"
347
351
  return await self._req(f"/v0/datasources/{ds_name}?{urlencode(params)}")
348
352
 
349
353
  async def alter_datasource(
@@ -489,12 +493,32 @@ class TinyB:
489
493
 
490
494
  return await self._req(f"/v0/dependencies?{urlencode(params)}", timeout=60)
491
495
 
492
- async def datasource_share(self, datasource_id: str, current_workspace_id: str, destination_workspace_id: str):
493
- params = {"origin_workspace_id": current_workspace_id, "destination_workspace_id": destination_workspace_id}
496
+ async def datasource_share(
497
+ self,
498
+ datasource_id: str,
499
+ current_workspace_id: str,
500
+ destination_workspace_id: Optional[str] = None,
501
+ destination_workspace_name: Optional[str] = None,
502
+ ) -> Dict[str, Any]:
503
+ params = {"origin_workspace_id": current_workspace_id}
504
+ if destination_workspace_id:
505
+ params["destination_workspace_id"] = destination_workspace_id
506
+ if destination_workspace_name:
507
+ params["destination_workspace_name"] = destination_workspace_name
494
508
  return await self._req(f"/v0/datasources/{datasource_id}/share", method="POST", data=params)
495
509
 
496
- async def datasource_unshare(self, datasource_id: str, current_workspace_id: str, destination_workspace_id: str):
497
- params = {"origin_workspace_id": current_workspace_id, "destination_workspace_id": destination_workspace_id}
510
+ async def datasource_unshare(
511
+ self,
512
+ datasource_id: str,
513
+ current_workspace_id: str,
514
+ destination_workspace_id: Optional[str] = None,
515
+ destination_workspace_name: Optional[str] = None,
516
+ ) -> Dict[str, Any]:
517
+ params = {"origin_workspace_id": current_workspace_id}
518
+ if destination_workspace_id:
519
+ params["destination_workspace_id"] = destination_workspace_id
520
+ if destination_workspace_name:
521
+ params["destination_workspace_name"] = destination_workspace_name
498
522
  return await self._req(f"/v0/datasources/{datasource_id}/share", method="DELETE", data=params)
499
523
 
500
524
  async def datasource_sync(self, datasource_id: str):
@@ -219,6 +219,7 @@ def get_tinybird_service_datasources() -> List[Dict[str, Any]]:
219
219
  {"name": "processed_messages", "type": "Int32"},
220
220
  {"name": "processed_bytes", "type": "Int32"},
221
221
  {"name": "committed_messages", "type": "Int32"},
222
+ {"name": "time_process", "type": "Float32"},
222
223
  {"name": "msg", "type": "String"},
223
224
  ],
224
225
  },
@@ -879,6 +880,7 @@ def get_organization_service_datasources() -> List[Dict[str, Any]]:
879
880
  {"name": "processed_messages", "type": "Int32"},
880
881
  {"name": "processed_bytes", "type": "Int32"},
881
882
  {"name": "committed_messages", "type": "Int32"},
883
+ {"name": "time_process", "type": "Float32"},
882
884
  {"name": "msg", "type": "String"},
883
885
  ],
884
886
  },
@@ -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__ = '4.5.10.dev0'
8
- __revision__ = 'f7f4fc9'
7
+ __version__ = '4.5.11.dev0'
8
+ __revision__ = 'e0b2a62'
@@ -503,7 +503,6 @@ def persist_tinybird_config(root_folder: str, project_type: str, dev_mode: str,
503
503
  config_path = Path(root_folder) / "tinybird.config.json"
504
504
  config_data: Dict[str, Any] = {}
505
505
  created = not config_path.exists()
506
- include = [folder]
507
506
 
508
507
  if config_path.exists():
509
508
  try:
@@ -516,17 +515,17 @@ def persist_tinybird_config(root_folder: str, project_type: str, dev_mode: str,
516
515
  if project_type == "typescript":
517
516
  updates = {
518
517
  "devMode": dev_mode,
519
- "include": include,
518
+ "folder": folder,
520
519
  }
521
- keys_to_remove = ("type", "projectType", "project_type", "dev_mode", "sdk", "folder")
522
- preferred_order = ("devMode", "include")
520
+ keys_to_remove = ("type", "projectType", "project_type", "dev_mode", "sdk", "include")
521
+ preferred_order = ("devMode", "folder")
523
522
  else:
524
523
  updates = {
525
524
  "dev_mode": dev_mode,
526
- "include": include,
525
+ "folder": folder,
527
526
  }
528
- keys_to_remove = ("type", "projectType", "project_type", "devMode", "sdk", "folder")
529
- preferred_order = ("dev_mode", "include")
527
+ keys_to_remove = ("type", "projectType", "project_type", "devMode", "sdk", "include")
528
+ preferred_order = ("dev_mode", "folder")
530
529
 
531
530
  changed = False
532
531
  for key in keys_to_remove:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: tinybird
3
- Version: 4.5.10.dev0
3
+ Version: 4.5.11.dev0
4
4
  Summary: Tinybird Command Line Tool
5
5
  Home-page: https://www.tinybird.co/docs/forward/commands
6
6
  Author: Tinybird
@@ -52,6 +52,11 @@ The Tinybird command-line tool allows you to use all the Tinybird functionality
52
52
  Changelog
53
53
  ----------
54
54
 
55
+ 4.5.10
56
+ *******
57
+
58
+ - `Fixed` `tb init` now persists `folder` in `tinybird.config.json`, so subsequent resource creation targets the configured project folder instead of the repository root.
59
+
55
60
  4.5.9
56
61
  *******
57
62
 
File without changes