tinybird-cli 3.3.1.dev6__tar.gz → 3.3.1.dev8__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 (48) hide show
  1. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/PKG-INFO +11 -1
  2. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/__cli__.py +2 -2
  3. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/datafile.py +25 -1
  4. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/feedback_manager.py +3 -0
  5. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird_cli.egg-info/PKG-INFO +11 -1
  6. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/setup.cfg +0 -0
  7. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/ch_utils/constants.py +0 -0
  8. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/ch_utils/engine.py +0 -0
  9. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/check_pypi.py +0 -0
  10. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/client.py +0 -0
  11. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/config.py +0 -0
  12. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/connector_settings.py +0 -0
  13. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/connectors.py +0 -0
  14. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/context.py +0 -0
  15. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/data_connectors/credentials.py +0 -0
  16. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/datatypes.py +0 -0
  17. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/git_settings.py +0 -0
  18. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/sql.py +0 -0
  19. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/sql_template.py +0 -0
  20. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/sql_template_fmt.py +0 -0
  21. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/sql_toolset.py +0 -0
  22. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/syncasync.py +0 -0
  23. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli.py +0 -0
  24. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/auth.py +0 -0
  25. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/branch.py +0 -0
  26. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/cicd.py +0 -0
  27. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/cli.py +0 -0
  28. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/common.py +0 -0
  29. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/config.py +0 -0
  30. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/connection.py +0 -0
  31. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/datasource.py +0 -0
  32. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/exceptions.py +0 -0
  33. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/job.py +0 -0
  34. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/pipe.py +0 -0
  35. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/regions.py +0 -0
  36. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/telemetry.py +0 -0
  37. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/test.py +0 -0
  38. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/tinyunit/tinyunit.py +0 -0
  39. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/tinyunit/tinyunit_lib.py +0 -0
  40. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/token.py +0 -0
  41. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/workspace.py +0 -0
  42. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tb_cli_modules/workspace_members.py +0 -0
  43. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird/tornado_template.py +0 -0
  44. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird_cli.egg-info/SOURCES.txt +0 -0
  45. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird_cli.egg-info/dependency_links.txt +0 -0
  46. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird_cli.egg-info/entry_points.txt +0 -0
  47. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird_cli.egg-info/requires.txt +0 -0
  48. {tinybird-cli-3.3.1.dev6 → tinybird-cli-3.3.1.dev8}/tinybird_cli.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tinybird-cli
3
- Version: 3.3.1.dev6
3
+ Version: 3.3.1.dev8
4
4
  Summary: Tinybird Command Line Tool
5
5
  Home-page: https://docs.tinybird.co/cli.html
6
6
  Author: Tinybird
@@ -19,6 +19,16 @@ Changelog
19
19
 
20
20
  ---------
21
21
 
22
+ 3.3.1.dev8
23
+ ************
24
+
25
+ - `Changed` `tb deploy` to deploy the datasources from top to bottom to make sure that if we modified the column in some datasource in the top. It will be deployed before the datasources that depend on it.
26
+
27
+ 3.3.1.dev7
28
+ ************
29
+
30
+ - `Changed` Post-release required when deploying changes that include changing a Copy Pipe.
31
+
22
32
  3.3.1.dev6
23
33
  ************
24
34
 
@@ -4,5 +4,5 @@ __description__ = 'Tinybird Command Line Tool'
4
4
  __url__ = 'https://docs.tinybird.co/cli.html'
5
5
  __author__ = 'Tinybird'
6
6
  __author_email__ = 'support@tinybird.co'
7
- __version__ = '3.3.1.dev6'
8
- __revision__ = '133b9e9'
7
+ __version__ = '3.3.1.dev8'
8
+ __revision__ = 'ad8ec4e'
@@ -452,6 +452,26 @@ class Deployment:
452
452
  ]
453
453
  return filenames_from_changed
454
454
 
455
+ def check_changes(
456
+ self,
457
+ changed_resources,
458
+ pipes: List[Dict[str, Any]],
459
+ release_created: Optional[bool] = False,
460
+ ):
461
+ # If there are copy pipes changed and is not a post-release throws an exception
462
+ if changed_resources and pipes and self.cli_git_release and release_created:
463
+ copy_pipe_names = {pipe["name"] for pipe in pipes if pipe["type"] == PipeTypes.COPY}
464
+
465
+ copy_pipes_changed = {
466
+ key
467
+ for key in changed_resources
468
+ if key in copy_pipe_names
469
+ and self.cli_git_release.ChangeType(changed_resources[key]) == self.cli_git_release.ChangeType.MODIFIED
470
+ }
471
+
472
+ if copy_pipes_changed:
473
+ raise CLIGitReleaseException(FeedbackManager.error_copy_pipes_changed())
474
+
455
475
  async def detect_changes(
456
476
  self, filenames: List[str], only_changes: bool = False, config: Optional[Dict[str, Any]] = None
457
477
  ):
@@ -3768,6 +3788,8 @@ async def folder_push(
3768
3788
  # get the list of changes
3769
3789
  changed, deleted = await deployment.detect_changes(filenames, only_changes, config)
3770
3790
 
3791
+ deployment.check_changes(changed, pipes, release_created)
3792
+
3771
3793
  deployment.preparing_release()
3772
3794
 
3773
3795
  # build graph to get new versions for all the files involved in the query
@@ -4012,8 +4034,10 @@ async def folder_push(
4012
4034
  list(dependency_graph.dep_map.keys()),
4013
4035
  )
4014
4036
 
4015
- # First, we will deploy the datasources that have been changed
4037
+ # First, we will deploy the datasources that need to be deployed.
4038
+ # We need to deploy the datasources from left to right as some datasources might have MV that depend on the column types of previous datasources. Ex: `test_change_column_type_landing_datasource` test
4016
4039
  groups = [group for group in toposort(dependencies_graph_fork_downstream)]
4040
+ groups.reverse()
4017
4041
  for group in groups:
4018
4042
  for name in group:
4019
4043
  if name in processed or not is_datasource(resources_to_run_fork_downstream[name]):
@@ -110,6 +110,9 @@ class FeedbackManager:
110
110
  error_pushing_pipe = error_message("Failed pushing pipe {pipe}: {error}")
111
111
  error_creating_endpoint = error_message("Failed creating endpoint in node {node} on pipe {pipe}: {error}")
112
112
  error_setting_copy_node = error_message("Failed setting node to be used to copy {node} on pipe {pipe}\n** {error}")
113
+ error_copy_pipes_changed = error_message(
114
+ "Alter strategy is required to change copy pipes. Increment the post-release number of the semver (for example: 0.0.1 -> 0.0.1-1)"
115
+ )
113
116
  error_creating_copy_job_not_target_datasource = error_message(
114
117
  "Cannot create copy job. Destination Data Source is required."
115
118
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tinybird-cli
3
- Version: 3.3.1.dev6
3
+ Version: 3.3.1.dev8
4
4
  Summary: Tinybird Command Line Tool
5
5
  Home-page: https://docs.tinybird.co/cli.html
6
6
  Author: Tinybird
@@ -19,6 +19,16 @@ Changelog
19
19
 
20
20
  ---------
21
21
 
22
+ 3.3.1.dev8
23
+ ************
24
+
25
+ - `Changed` `tb deploy` to deploy the datasources from top to bottom to make sure that if we modified the column in some datasource in the top. It will be deployed before the datasources that depend on it.
26
+
27
+ 3.3.1.dev7
28
+ ************
29
+
30
+ - `Changed` Post-release required when deploying changes that include changing a Copy Pipe.
31
+
22
32
  3.3.1.dev6
23
33
  ************
24
34