tinybird-cli 3.3.1.dev13__tar.gz → 3.3.1.dev14__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.dev13 → tinybird-cli-3.3.1.dev14}/PKG-INFO +6 -1
  2. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/__cli__.py +2 -2
  3. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/ch_utils/engine.py +29 -2
  4. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird_cli.egg-info/PKG-INFO +6 -1
  5. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/setup.cfg +0 -0
  6. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/ch_utils/constants.py +0 -0
  7. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/check_pypi.py +0 -0
  8. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/client.py +0 -0
  9. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/config.py +0 -0
  10. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/connector_settings.py +0 -0
  11. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/connectors.py +0 -0
  12. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/context.py +0 -0
  13. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/data_connectors/credentials.py +0 -0
  14. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/datafile.py +0 -0
  15. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/datatypes.py +0 -0
  16. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/feedback_manager.py +0 -0
  17. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/git_settings.py +0 -0
  18. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/sql.py +0 -0
  19. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/sql_template.py +0 -0
  20. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/sql_template_fmt.py +0 -0
  21. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/sql_toolset.py +0 -0
  22. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/syncasync.py +0 -0
  23. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli.py +0 -0
  24. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/auth.py +0 -0
  25. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/branch.py +0 -0
  26. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/cicd.py +0 -0
  27. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/cli.py +0 -0
  28. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/common.py +0 -0
  29. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/config.py +0 -0
  30. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/connection.py +0 -0
  31. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/datasource.py +0 -0
  32. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/exceptions.py +0 -0
  33. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/job.py +0 -0
  34. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/pipe.py +0 -0
  35. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/regions.py +0 -0
  36. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/telemetry.py +0 -0
  37. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/test.py +0 -0
  38. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/tinyunit/tinyunit.py +0 -0
  39. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/tinyunit/tinyunit_lib.py +0 -0
  40. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/token.py +0 -0
  41. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/workspace.py +0 -0
  42. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tb_cli_modules/workspace_members.py +0 -0
  43. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird/tornado_template.py +0 -0
  44. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird_cli.egg-info/SOURCES.txt +0 -0
  45. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird_cli.egg-info/dependency_links.txt +0 -0
  46. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird_cli.egg-info/entry_points.txt +0 -0
  47. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/tinybird_cli.egg-info/requires.txt +0 -0
  48. {tinybird-cli-3.3.1.dev13 → tinybird-cli-3.3.1.dev14}/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.dev13
3
+ Version: 3.3.1.dev14
4
4
  Summary: Tinybird Command Line Tool
5
5
  Home-page: https://docs.tinybird.co/cli.html
6
6
  Author: Tinybird
@@ -19,6 +19,11 @@ Changelog
19
19
 
20
20
  ---------
21
21
 
22
+ 3.3.1.dev14
23
+ ************
24
+
25
+ - `Added` Support `tb deploy` .datasource with `INDICES`
26
+
22
27
  3.3.1.dev13
23
28
  ************
24
29
 
@@ -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.dev13'
8
- __revision__ = 'ab05577'
7
+ __version__ = '3.3.1.dev14'
8
+ __revision__ = '5fde94c'
@@ -1,9 +1,10 @@
1
1
  import logging
2
2
  import re
3
3
  from collections import defaultdict
4
+ from dataclasses import asdict
4
5
  from typing import Any, Callable, Dict, Iterable, List, Optional
5
6
 
6
- from ..sql import col_name, engine_replicated_to_local, parse_table_structure
7
+ from ..sql import TableIndex, col_name, engine_replicated_to_local, parse_indices_structure, parse_table_structure
7
8
 
8
9
  DEFAULT_EMPTY_PARAMETERS = ["ttl", "partition_key", "sorting_key"]
9
10
  DEFAULT_JOIN_EMPTY_PARAMETERS = ["join_strictness", "join_type", "key_columns"]
@@ -204,6 +205,10 @@ class TableDetails:
204
205
  "row_count": self.details.get("total_rows", None),
205
206
  }
206
207
 
208
+ @property
209
+ def indices(self) -> List[TableIndex]:
210
+ return _parse_indices(str(self.details.get("create_table_query", "")))
211
+
207
212
  def to_json(self, exclude: Optional[List[str]] = None, include_empty_details: bool = False):
208
213
  # name, database are not exported since they are not part of the engine
209
214
  d: Dict[str, Any] = {
@@ -234,6 +239,8 @@ class TableDetails:
234
239
  d["version"] = self.version
235
240
  if self.ttl:
236
241
  d["ttl"] = self.ttl.strip()
242
+ if self.indices:
243
+ d["indices"] = [asdict(index) for index in self.indices]
237
244
 
238
245
  if self.engine_full:
239
246
  engine_params = engine_params_from_engine_full(self.engine_full)
@@ -253,7 +260,9 @@ class TableDetails:
253
260
  return d
254
261
 
255
262
  def to_datafile(self, include_empty_details: bool = False) -> str:
256
- d: Dict[str, Any] = self.to_json(exclude=["engine", "engine_full"], include_empty_details=include_empty_details)
263
+ d: Dict[str, Any] = self.to_json(
264
+ exclude=["engine", "engine_full", "indices"], include_empty_details=include_empty_details
265
+ )
257
266
  engine: str = self.engine
258
267
 
259
268
  datafile: str = ""
@@ -774,3 +783,21 @@ def ttl_condition_from_engine_full(engine_full: Optional[str]) -> Optional[str]:
774
783
  except Exception as e:
775
784
  logging.error(str(e))
776
785
  return None
786
+
787
+
788
+ def _parse_indices(create_table_query_expr: str) -> List[TableIndex]:
789
+ if create_table_query_expr == "":
790
+ return []
791
+ try:
792
+ from tinybird.sql_toolset import format_sql
793
+
794
+ indices = [
795
+ line.strip()
796
+ for line in format_sql(create_table_query_expr).splitlines()
797
+ if line.strip().startswith("INDEX")
798
+ ]
799
+ except ModuleNotFoundError:
800
+ # this is not needed from CLI
801
+ return []
802
+
803
+ return parse_indices_structure(indices)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tinybird-cli
3
- Version: 3.3.1.dev13
3
+ Version: 3.3.1.dev14
4
4
  Summary: Tinybird Command Line Tool
5
5
  Home-page: https://docs.tinybird.co/cli.html
6
6
  Author: Tinybird
@@ -19,6 +19,11 @@ Changelog
19
19
 
20
20
  ---------
21
21
 
22
+ 3.3.1.dev14
23
+ ************
24
+
25
+ - `Added` Support `tb deploy` .datasource with `INDICES`
26
+
22
27
  3.3.1.dev13
23
28
  ************
24
29