tinybird-cli 3.9.1.dev3__tar.gz → 3.9.1.dev5__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 (46) hide show
  1. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/PKG-INFO +13 -2
  2. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/__cli__.py +2 -2
  3. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/datafile.py +12 -14
  4. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/feedback_manager.py +6 -1
  5. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/connection.py +22 -4
  6. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird_cli.egg-info/PKG-INFO +13 -2
  7. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/setup.cfg +0 -0
  8. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/ch_utils/constants.py +0 -0
  9. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/ch_utils/engine.py +0 -0
  10. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/check_pypi.py +0 -0
  11. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/client.py +0 -0
  12. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/config.py +0 -0
  13. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/connectors.py +0 -0
  14. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/context.py +0 -0
  15. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/datatypes.py +0 -0
  16. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/git_settings.py +0 -0
  17. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/sql.py +0 -0
  18. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/sql_template.py +0 -0
  19. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/sql_template_fmt.py +0 -0
  20. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/sql_toolset.py +0 -0
  21. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/syncasync.py +0 -0
  22. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli.py +0 -0
  23. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/auth.py +0 -0
  24. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/branch.py +0 -0
  25. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/cicd.py +0 -0
  26. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/cli.py +0 -0
  27. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/common.py +0 -0
  28. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/config.py +0 -0
  29. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/datasource.py +0 -0
  30. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/exceptions.py +0 -0
  31. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/job.py +0 -0
  32. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/pipe.py +0 -0
  33. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/regions.py +0 -0
  34. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/telemetry.py +0 -0
  35. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/test.py +0 -0
  36. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/tinyunit/tinyunit.py +0 -0
  37. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/tinyunit/tinyunit_lib.py +0 -0
  38. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/token.py +0 -0
  39. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/workspace.py +0 -0
  40. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tb_cli_modules/workspace_members.py +0 -0
  41. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird/tornado_template.py +0 -0
  42. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird_cli.egg-info/SOURCES.txt +0 -0
  43. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird_cli.egg-info/dependency_links.txt +0 -0
  44. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird_cli.egg-info/entry_points.txt +0 -0
  45. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/tinybird_cli.egg-info/requires.txt +0 -0
  46. {tinybird-cli-3.9.1.dev3 → tinybird-cli-3.9.1.dev5}/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.9.1.dev3
3
+ Version: 3.9.1.dev5
4
4
  Summary: Tinybird Command Line Tool
5
5
  Home-page: https://www.tinybird.co/docs/cli/introduction.html
6
6
  Author: Tinybird
@@ -16,7 +16,18 @@ Tinybird CLI
16
16
  The Tinybird command-line tool allows you to use all the Tinybird functionality directly from the command line. Additionally, it includes several functions to create and manage data projects easily.
17
17
 
18
18
  Changelog
19
- ---------
19
+ ----------
20
+
21
+ 3.9.1.dev5
22
+ ************
23
+
24
+ - `Added` support for adding multiple tokens when pushing a `.datasource` file
25
+
26
+
27
+ 3.9.1.dev4
28
+ ************
29
+
30
+ - `Fixed` s3 iamrole connection creation will not fail when `pbcopy` dependency is not available
20
31
 
21
32
  3.9.1.dev3
22
33
  ************
@@ -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__ = '3.9.1.dev3'
8
- __revision__ = '0a0da3f'
7
+ __version__ = '3.9.1.dev5'
8
+ __revision__ = 'af5d9ca'
@@ -2943,20 +2943,18 @@ async def new_ds(
2943
2943
  for tk in ds["tokens"]:
2944
2944
  token_name = tk["token_name"]
2945
2945
  t = await client.get_token_by_name(token_name)
2946
- if t:
2947
- break
2948
- if not t:
2949
- token_name = tk["token_name"]
2950
- click.echo(FeedbackManager.info_create_not_found_token(token=token_name))
2951
- # DS == token_origin.Origins.DATASOURCE
2952
- await client.create_token(token_name, f"DATASOURCES:{tk['permissions']}:{ds_name}", "DS", ds_name)
2953
- else:
2954
- click.echo(FeedbackManager.info_create_found_token(token=token_name))
2955
- scopes = [f"DATASOURCES:{tk['permissions']}:{ds_name}"]
2956
- for x in t["scopes"]:
2957
- sc = x["type"] if "resource" not in x else f"{x['type']}:{x['resource']}"
2958
- scopes.append(sc)
2959
- await client.alter_tokens(token_name, scopes)
2946
+ if not t:
2947
+ token_name = tk["token_name"]
2948
+ click.echo(FeedbackManager.info_create_not_found_token(token=token_name))
2949
+ # DS == token_origin.Origins.DATASOURCE
2950
+ await client.create_token(token_name, f"DATASOURCES:{tk['permissions']}:{ds_name}", "DS", ds_name)
2951
+ else:
2952
+ click.echo(FeedbackManager.info_create_found_token(token=token_name))
2953
+ scopes = [f"DATASOURCES:{tk['permissions']}:{ds_name}"]
2954
+ for x in t["scopes"]:
2955
+ sc = x["type"] if "resource" not in x else f"{x['type']}:{x['resource']}"
2956
+ scopes.append(sc)
2957
+ await client.alter_tokens(token_name, scopes)
2960
2958
 
2961
2959
  try:
2962
2960
  existing_ds = await client.get_datasource(ds_name)
@@ -405,10 +405,15 @@ Ready? """
405
405
  prompt_s3_iamrole_connection_policy = prompt_message(
406
406
  """\n[2] Go to IAM > Policies. Create a new policy with the following permissions. Please, replace <bucket> with your bucket name:\n\n{access_policy}\n\n(The policy has been copied to your clipboard)\n\n"""
407
407
  )
408
+ prompt_s3_iamrole_connection_policy_not_copied = prompt_message(
409
+ """\n[2] Go to IAM > Policies. Create a new policy with the following permissions. Please, copy this policy and replace <bucket> with your bucket name:\n\n{access_policy}\n\n"""
410
+ )
408
411
  prompt_s3_iamrole_connection_role = prompt_message(
409
412
  """\n[3] Go to IAM > Roles. Create a new IAM Role using the following custom trust policy and attach the access policy you just created in the previous step:\n\n{trust_policy}\n\n(The policy has been copied to your clipboard)\n\n"""
410
413
  )
411
-
414
+ prompt_s3_iamrole_connection_role_not_copied = prompt_message(
415
+ """\n[3] Go to IAM > Roles. Create a new IAM Role using the following custom trust policy and attach the access policy you just created in the previous step:\n\n{trust_policy}\n\n"""
416
+ )
412
417
  prompt_init_git_release_pull = prompt_message(
413
418
  "❓ Download the Data Project to continue, otherwise you can't initialize Workspace with Git. Execute '{pull_command}'?"
414
419
  )
@@ -772,17 +772,35 @@ async def connection_create_s3_iamrole(
772
772
  ):
773
773
  sys.exit(1)
774
774
 
775
- pyperclip.copy(access_policy)
775
+ access_policy_copied = True
776
+ try:
777
+ pyperclip.copy(access_policy)
778
+ except Exception:
779
+ access_policy_copied = False
780
+
776
781
  if not click.confirm(
777
- FeedbackManager.prompt_s3_iamrole_connection_policy(access_policy=access_policy),
782
+ (
783
+ FeedbackManager.prompt_s3_iamrole_connection_policy(access_policy=access_policy)
784
+ if access_policy_copied
785
+ else FeedbackManager.prompt_s3_iamrole_connection_policy_not_copied(access_policy=access_policy)
786
+ ),
778
787
  show_default=False,
779
788
  prompt_suffix="Press y to continue:",
780
789
  ):
781
790
  sys.exit(1)
782
791
 
783
- pyperclip.copy(trust_policy)
792
+ trust_policy_copied = True
793
+ try:
794
+ pyperclip.copy(trust_policy)
795
+ except Exception:
796
+ trust_policy_copied = False
797
+
784
798
  if not click.confirm(
785
- FeedbackManager.prompt_s3_iamrole_connection_role(trust_policy=trust_policy),
799
+ (
800
+ FeedbackManager.prompt_s3_iamrole_connection_role(trust_policy=trust_policy)
801
+ if trust_policy_copied
802
+ else FeedbackManager.prompt_s3_iamrole_connection_role_not_copied(trust_policy=trust_policy)
803
+ ),
786
804
  show_default=False,
787
805
  prompt_suffix="Press y to continue:",
788
806
  ):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tinybird-cli
3
- Version: 3.9.1.dev3
3
+ Version: 3.9.1.dev5
4
4
  Summary: Tinybird Command Line Tool
5
5
  Home-page: https://www.tinybird.co/docs/cli/introduction.html
6
6
  Author: Tinybird
@@ -16,7 +16,18 @@ Tinybird CLI
16
16
  The Tinybird command-line tool allows you to use all the Tinybird functionality directly from the command line. Additionally, it includes several functions to create and manage data projects easily.
17
17
 
18
18
  Changelog
19
- ---------
19
+ ----------
20
+
21
+ 3.9.1.dev5
22
+ ************
23
+
24
+ - `Added` support for adding multiple tokens when pushing a `.datasource` file
25
+
26
+
27
+ 3.9.1.dev4
28
+ ************
29
+
30
+ - `Fixed` s3 iamrole connection creation will not fail when `pbcopy` dependency is not available
20
31
 
21
32
  3.9.1.dev3
22
33
  ************