tinybird 0.0.1.dev117__py3-none-any.whl → 0.0.1.dev119__py3-none-any.whl

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 (45) hide show
  1. tinybird/tb/__cli__.py +2 -2
  2. tinybird/{client.py → tb/client.py} +1 -1
  3. tinybird/tb/config.py +96 -0
  4. tinybird/tb/modules/auth.py +1 -1
  5. tinybird/tb/modules/build.py +1 -1
  6. tinybird/tb/modules/cli.py +2 -73
  7. tinybird/tb/modules/common.py +114 -43
  8. tinybird/tb/modules/config.py +2 -2
  9. tinybird/tb/modules/connection.py +45 -13
  10. tinybird/tb/modules/copy.py +1 -1
  11. tinybird/tb/modules/create.py +10 -9
  12. tinybird/tb/modules/datafile/build.py +1 -1
  13. tinybird/tb/modules/datafile/build_common.py +1 -1
  14. tinybird/tb/modules/datafile/build_datasource.py +1 -1
  15. tinybird/tb/modules/datafile/build_pipe.py +1 -1
  16. tinybird/tb/modules/datafile/diff.py +1 -1
  17. tinybird/tb/modules/datafile/format_datasource.py +1 -1
  18. tinybird/tb/modules/datafile/playground.py +1 -1
  19. tinybird/tb/modules/datafile/pull.py +1 -1
  20. tinybird/tb/modules/datasource.py +1 -1
  21. tinybird/tb/modules/deployment.py +19 -15
  22. tinybird/tb/modules/endpoint.py +1 -1
  23. tinybird/tb/modules/feedback_manager.py +92 -5
  24. tinybird/tb/modules/infra.py +1 -1
  25. tinybird/tb/modules/job.py +1 -1
  26. tinybird/tb/modules/local_common.py +1 -1
  27. tinybird/tb/modules/login.py +10 -0
  28. tinybird/tb/modules/materialization.py +1 -1
  29. tinybird/tb/modules/mock.py +1 -1
  30. tinybird/tb/modules/pipe.py +1 -1
  31. tinybird/tb/modules/secret.py +1 -1
  32. tinybird/tb/modules/shell.py +1 -1
  33. tinybird/tb/modules/telemetry.py +1 -1
  34. tinybird/tb/modules/test.py +1 -1
  35. tinybird/tb/modules/tinyunit/tinyunit.py +1 -1
  36. tinybird/tb/modules/token.py +1 -1
  37. tinybird/tb/modules/workspace.py +1 -1
  38. tinybird/tb/modules/workspace_members.py +2 -2
  39. {tinybird-0.0.1.dev117.dist-info → tinybird-0.0.1.dev119.dist-info}/METADATA +1 -1
  40. {tinybird-0.0.1.dev117.dist-info → tinybird-0.0.1.dev119.dist-info}/RECORD +43 -44
  41. tinybird/__cli__.py +0 -7
  42. tinybird/config.py +0 -142
  43. {tinybird-0.0.1.dev117.dist-info → tinybird-0.0.1.dev119.dist-info}/WHEEL +0 -0
  44. {tinybird-0.0.1.dev117.dist-info → tinybird-0.0.1.dev119.dist-info}/entry_points.txt +0 -0
  45. {tinybird-0.0.1.dev117.dist-info → tinybird-0.0.1.dev119.dist-info}/top_level.txt +0 -0
@@ -6,7 +6,7 @@ from urllib.parse import urlencode
6
6
  import click
7
7
  import requests
8
8
 
9
- from tinybird.client import TinyB
9
+ from tinybird.tb.client import TinyB
10
10
  from tinybird.tb.modules.common import requests_get
11
11
  from tinybird.tb.modules.config import CLIConfig
12
12
  from tinybird.tb.modules.datafile.common import PipeNodeTypes
@@ -22,8 +22,8 @@ import sys
22
22
 
23
23
  import click
24
24
 
25
- from tinybird.client import TinyB
26
25
  from tinybird.sql_template_fmt import DEFAULT_FMT_LINE_LENGTH
26
+ from tinybird.tb.client import TinyB
27
27
  from tinybird.tb.modules.datafile.common import get_name_version, get_project_filenames, is_file_a_datasource, peek
28
28
  from tinybird.tb.modules.datafile.format_datasource import format_datasource
29
29
  from tinybird.tb.modules.datafile.format_pipe import format_pipe
@@ -1,7 +1,7 @@
1
1
  from typing import Any, Dict, List, Optional
2
2
 
3
- from tinybird.client import TinyB
4
3
  from tinybird.sql import schema_to_sql_columns
4
+ from tinybird.tb.client import TinyB
5
5
  from tinybird.tb.modules.datafile.common import Datafile
6
6
  from tinybird.tb.modules.datafile.format_common import (
7
7
  DATAFILE_INDENT,
@@ -11,9 +11,9 @@ from typing import Any, Dict, Iterable, List, Optional, Set, Tuple, Union
11
11
  import click
12
12
  from toposort import toposort
13
13
 
14
- from tinybird.client import TinyB
15
14
  from tinybird.sql import parse_table_structure, schema_to_sql_columns
16
15
  from tinybird.sql_template import get_used_tables_in_template, render_sql_template
16
+ from tinybird.tb.client import TinyB
17
17
  from tinybird.tb.modules.common import get_ca_pem_content
18
18
  from tinybird.tb.modules.config import CLIConfig
19
19
  from tinybird.tb.modules.datafile.build_datasource import is_datasource
@@ -6,7 +6,7 @@ from typing import Any, Dict, List, Optional, Tuple
6
6
  import aiofiles
7
7
  import click
8
8
 
9
- from tinybird.client import AuthNoTokenException, TinyB
9
+ from tinybird.tb.client import AuthNoTokenException, TinyB
10
10
  from tinybird.tb.modules.datafile.common import get_name_version
11
11
  from tinybird.tb.modules.datafile.format_datasource import format_datasource
12
12
  from tinybird.tb.modules.datafile.format_pipe import format_pipe
@@ -13,7 +13,7 @@ import click
13
13
  import humanfriendly
14
14
  from click import Context
15
15
 
16
- from tinybird.client import AuthNoTokenException, DoesNotExistException, TinyB
16
+ from tinybird.tb.client import AuthNoTokenException, DoesNotExistException, TinyB
17
17
  from tinybird.tb.modules.cli import cli
18
18
  from tinybird.tb.modules.common import (
19
19
  _analyze,
@@ -10,7 +10,7 @@ import click
10
10
  import requests
11
11
 
12
12
  from tinybird.tb.modules.cli import cli
13
- from tinybird.tb.modules.common import echo_safe_humanfriendly_tables_format_smart_table
13
+ from tinybird.tb.modules.common import echo_safe_humanfriendly_tables_format_smart_table, get_display_cloud_host
14
14
  from tinybird.tb.modules.feedback_manager import FeedbackManager
15
15
  from tinybird.tb.modules.project import Project
16
16
 
@@ -214,8 +214,14 @@ def deployment_create(
214
214
 
215
215
 
216
216
  @deployment_group.command(name="ls")
217
+ @click.option(
218
+ "--include-deleted",
219
+ is_flag=True,
220
+ default=False,
221
+ help="Include deleted deployments. Disabled by default.",
222
+ )
217
223
  @click.pass_context
218
- def deployment_ls(ctx: click.Context) -> None:
224
+ def deployment_ls(ctx: click.Context, include_deleted: bool) -> None:
219
225
  """
220
226
  List all the deployments you have in the project.
221
227
  """
@@ -224,11 +230,12 @@ def deployment_ls(ctx: click.Context) -> None:
224
230
  TINYBIRD_API_KEY = client.token
225
231
  HEADERS = {"Authorization": f"Bearer {TINYBIRD_API_KEY}"}
226
232
  url = f"{client.host}/v1/deployments"
233
+ if include_deleted:
234
+ url += "?include_deleted=true"
227
235
 
228
236
  result = api_fetch(url, HEADERS)
229
-
230
- status_map = {"data_ready": "Ready", "failed": "Failed"}
231
- columns = ["ID", "Status", "Created at", "Live"]
237
+ status_map = {"data_ready": "Staging", "failed": "Failed", "deleted": "Deleted"}
238
+ columns = ["ID", "Status", "Created at"]
232
239
  table = []
233
240
  for deployment in result.get("deployments", []):
234
241
  if deployment.get("id") == "0":
@@ -237,12 +244,12 @@ def deployment_ls(ctx: click.Context) -> None:
237
244
  table.append(
238
245
  [
239
246
  deployment.get("id"),
240
- status_map.get(deployment.get("status"), "In progress"),
247
+ "Live" if deployment.get("live") else status_map.get(deployment.get("status", "In progress")),
241
248
  datetime.fromisoformat(deployment.get("created_at")).strftime("%Y-%m-%d %H:%M:%S"),
242
- deployment.get("live"),
243
249
  ]
244
250
  )
245
251
 
252
+ table.reverse()
246
253
  echo_safe_humanfriendly_tables_format_smart_table(table, column_names=columns)
247
254
 
248
255
 
@@ -401,14 +408,11 @@ def create_deployment(
401
408
 
402
409
  status = result.get("result")
403
410
  if status == "success":
404
- # TODO: This is a hack to show the url in the case of region is public. The URL should be returned by the API
405
- if client.host == "https://api.europe-west2.gcp.tinybird.co":
406
- click.echo(
407
- FeedbackManager.gray(message="Deployment URL: ")
408
- + FeedbackManager.info(
409
- message=f"https://cloud.tinybird.co/gcp/europe-west2/{config.get('name')}/deployments/{deployment.get('id')}"
410
- )
411
- )
411
+ host = get_display_cloud_host(client.host)
412
+ click.echo(
413
+ FeedbackManager.gray(message="Deployment URL: ")
414
+ + FeedbackManager.info(message=f"{host}/{config.get('name')}/deployments/{deployment.get('id')}")
415
+ )
412
416
 
413
417
  if wait:
414
418
  click.echo(FeedbackManager.info(message="\n✓ Deployment submitted successfully"))
@@ -14,7 +14,7 @@ import pyperclip
14
14
  import requests
15
15
  from click import Context
16
16
 
17
- from tinybird.client import AuthNoTokenException, DoesNotExistException, TinyB
17
+ from tinybird.tb.client import AuthNoTokenException, DoesNotExistException, TinyB
18
18
  from tinybird.tb.modules.cli import cli
19
19
  from tinybird.tb.modules.common import coro, echo_safe_humanfriendly_tables_format_smart_table
20
20
  from tinybird.tb.modules.datafile.common import get_name_version
@@ -496,19 +496,106 @@ class FeedbackManager:
496
496
  Ready? """
497
497
  )
498
498
 
499
- prompt_s3_iamrole_connection_login_aws = prompt_message("""[1] Log into your AWS Console\n\n""")
499
+ # S3 IAM Role Connection Messages
500
+ prompt_s3_connection_header = info_highlight_message("""
501
+ ──────────────────────────────────────────────────────────────
502
+ S3 CONNECTION SETUP
503
+ ──────────────────────────────────────────────────────────────""")
504
+
505
+ prompt_s3_iamrole_connection_login_aws = prompt_message("""
506
+ ──────────────────────────────────────────────────────────────
507
+ STEP 1: AWS AUTHENTICATION
508
+ ──────────────────────────────────────────────────────────────
509
+
510
+ Please log into your \033]8;;https://console.aws.amazon.com/\033\\AWS Console\033]8;;\033\\. We'll guide you through creating the necessary permissions.
511
+
512
+ You'll be creating a single IAM Policy and Roles (you will need one per environment, Local and Cloud) to access your S3 data. Using IAM Roles improves security by providing temporary credentials and following least privilege principles.""")
513
+
500
514
  prompt_s3_iamrole_connection_policy = prompt_message(
501
- """\n[2] Go to IAM > Policies. Create a new policy with the following permissions:\n\n{access_policy}\n\n(The policy has been copied to your clipboard)\n\n"""
515
+ """
516
+ ──────────────────────────────────────────────────────────────
517
+ STEP 2: CREATE IAM POLICY
518
+ ──────────────────────────────────────────────────────────────
519
+
520
+ 1. Go to \033]8;;https://console.aws.amazon.com/iamv2/home?region={aws_region}#/policies/create\033\\AWS IAM > Create Policy\033]8;;\033\\
521
+ 2. Select the JSON tab
522
+ 3. Paste the following policy (already copied to clipboard):
523
+
524
+ {access_policy}
525
+
526
+ 4. Name the policy something meaningful (e.g., TinybirdS3Access-{bucket})
527
+ 5. Click "Create policy"
528
+ """
502
529
  )
530
+ click_enter_to_continue = prompt_message("\nPress Enter to continue...")
531
+
503
532
  prompt_s3_iamrole_connection_policy_not_copied = prompt_message(
504
- """\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"""
533
+ """
534
+ ──────────────────────────────────────────────────────────────
535
+ STEP 2: CREATE IAM POLICY
536
+ ──────────────────────────────────────────────────────────────
537
+
538
+ 1. Go to \033]8;;https://console.aws.amazon.com/iamv2/home?region={aws_region}#/policies/create\033\\AWS IAM > Create Policy\033]8;;\033\\
539
+ 2. Select the JSON tab
540
+ 3. Copy and paste the following policy (replace <bucket> with your bucket name):
541
+
542
+ {access_policy}
543
+
544
+ 4. Name the policy something meaningful (e.g., TinybirdS3Access-{bucket})
545
+ 5. Click "Create policy"
546
+ """
505
547
  )
548
+
506
549
  prompt_s3_iamrole_connection_role = prompt_message(
507
- """\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"""
550
+ """
551
+ ──────────────────────────────────────────────────────────────
552
+ STEP {step}: CREATE IAM ROLE FOR {environment} ENVIRONMENT
553
+ ──────────────────────────────────────────────────────────────
554
+
555
+ 1. Go to \033]8;;https://console.aws.amazon.com/iamv2/home?region={aws_region}#/roles/create\033\\AWS IAM > Create Role\033]8;;\033\\
556
+ 2. Choose "Custom trust policy" and paste the following (already copied to clipboard):
557
+
558
+ {trust_policy}
559
+
560
+ 3. Click Next, search for and select the policy you just created
561
+ 4. Name the role something meaningful (e.g., TinybirdS3Role-{bucket}-{environment})
562
+ 5. Click "Create role"
563
+ 6. Copy the Role ARN from the role details page
564
+
565
+ Please enter the ARN of the role you just created"""
508
566
  )
567
+
568
+ prompt_s3_iamrole_success_cloud = prompt_message(
569
+ "Would you like to create this connection in the cloud environment as well?"
570
+ )
571
+
509
572
  prompt_s3_iamrole_connection_role_not_copied = prompt_message(
510
- """\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"""
573
+ """
574
+ ──────────────────────────────────────────────────────────────
575
+ STEP {step}: CREATE IAM ROLE FOR {environment} ENVIRONMENT
576
+ ──────────────────────────────────────────────────────────────
577
+
578
+ 1. Go to \033]8;;https://console.aws.amazon.com/iamv2/home?region={aws_region}#/roles/create\033\\AWS IAM > Create Role\033]8;;\033\\
579
+ 2. Choose "Custom trust policy" and paste the following:
580
+
581
+ {trust_policy}
582
+
583
+ 3. Click Next, search for and select the policy you just created
584
+ 4. Name the role something meaningful (e.g., TinybirdS3Role-{bucket}-{environment})
585
+ 5. Click "Create role"
586
+ 6. Copy the Role ARN from the role details page
587
+
588
+ Please enter the ARN of the role you just created"""
511
589
  )
590
+
591
+ prompt_s3_iamrole_success = success_message("""
592
+ ✅ S3 CONNECTION CONFIGURED SUCCESSFULLY
593
+
594
+ • File created at: {connection_path}
595
+ • You can now use this connection in your Data Sources with: IMPORT_CONNECTION_NAME '{connection_name}'
596
+ • \033]8;;https://www.tinybird.co/docs/forward/get-data-in/connectors/s3\033\\Learn more about our S3 Connector\033]8;;\033\\
597
+ """)
598
+
512
599
  prompt_init_git_release_pull = prompt_message(
513
600
  "❓ Download the Data Project to continue, otherwise you can't initialize Workspace with Git. Execute '{pull_command}'?"
514
601
  )
@@ -11,7 +11,7 @@ import click
11
11
  import requests
12
12
  from click import Context
13
13
 
14
- from tinybird.client import TinyB
14
+ from tinybird.tb.client import TinyB
15
15
  from tinybird.tb.modules.cli import CLIException, cli
16
16
  from tinybird.tb.modules.common import coro, echo_safe_humanfriendly_tables_format_smart_table
17
17
  from tinybird.tb.modules.config import CLIConfig
@@ -6,7 +6,7 @@
6
6
  import click
7
7
  from click import Context
8
8
 
9
- from tinybird.client import DoesNotExistException, TinyB
9
+ from tinybird.tb.client import DoesNotExistException, TinyB
10
10
  from tinybird.tb.modules.cli import cli
11
11
  from tinybird.tb.modules.common import coro, echo_safe_humanfriendly_tables_format_smart_table
12
12
  from tinybird.tb.modules.exceptions import CLIException
@@ -5,7 +5,7 @@ from typing import Any, Dict
5
5
 
6
6
  import requests
7
7
 
8
- from tinybird.client import AuthNoTokenException, TinyB
8
+ from tinybird.tb.client import AuthNoTokenException, TinyB
9
9
  from tinybird.tb.modules.config import CLIConfig
10
10
  from tinybird.tb.modules.exceptions import CLIException
11
11
 
@@ -5,6 +5,7 @@ import threading
5
5
  import time
6
6
  import urllib.parse
7
7
  import webbrowser
8
+ from typing import Any, Dict
8
9
  from urllib.parse import urlencode
9
10
 
10
11
  import click
@@ -12,6 +13,7 @@ import requests
12
13
 
13
14
  from tinybird.tb.modules.cli import CLIConfig, cli
14
15
  from tinybird.tb.modules.common import coro
16
+ from tinybird.tb.modules.exceptions import CLIAuthException
15
17
  from tinybird.tb.modules.feedback_manager import FeedbackManager
16
18
 
17
19
 
@@ -165,6 +167,14 @@ async def login(host: str, auth_host: str, workspace: str):
165
167
 
166
168
  path = os.path.join(os.getcwd(), ".tinyb")
167
169
  cli_config.persist_to_file(override_with_path=path)
170
+
171
+ auth_info: Dict[str, Any] = await cli_config.get_user_client().check_auth_login()
172
+ if not auth_info.get("is_valid", False):
173
+ raise CLIAuthException(FeedbackManager.error_auth_login_not_valid(host=cli_config.get_host()))
174
+
175
+ if not auth_info.get("is_user", False):
176
+ raise CLIAuthException(FeedbackManager.error_auth_login_not_user(host=cli_config.get_host()))
177
+
168
178
  click.echo(FeedbackManager.gray(message="\nWorkspace: ") + FeedbackManager.info(message=ws["name"]))
169
179
  click.echo(FeedbackManager.gray(message="User: ") + FeedbackManager.info(message=ws["user_email"]))
170
180
  click.echo(FeedbackManager.gray(message="Host: ") + FeedbackManager.info(message=host))
@@ -3,7 +3,7 @@ import re
3
3
 
4
4
  import click
5
5
 
6
- from tinybird.client import TinyB
6
+ from tinybird.tb.client import TinyB
7
7
  from tinybird.tb.modules.cli import cli
8
8
  from tinybird.tb.modules.common import (
9
9
  coro,
@@ -3,8 +3,8 @@ from pathlib import Path
3
3
 
4
4
  import click
5
5
 
6
- from tinybird.client import TinyB
7
6
  from tinybird.prompts import mock_prompt
7
+ from tinybird.tb.client import TinyB
8
8
  from tinybird.tb.modules.cli import cli
9
9
  from tinybird.tb.modules.common import CLIException, coro, push_data
10
10
  from tinybird.tb.modules.config import CLIConfig
@@ -9,7 +9,7 @@ import re
9
9
  import click
10
10
  from click import Context
11
11
 
12
- from tinybird.client import TinyB
12
+ from tinybird.tb.client import TinyB
13
13
  from tinybird.tb.modules.cli import cli
14
14
  from tinybird.tb.modules.common import (
15
15
  coro,
@@ -3,7 +3,7 @@ from typing import Optional
3
3
 
4
4
  import click
5
5
 
6
- from tinybird.client import TinyB
6
+ from tinybird.tb.client import TinyB
7
7
  from tinybird.tb.modules.cli import cli
8
8
  from tinybird.tb.modules.common import coro, echo_safe_humanfriendly_tables_format_smart_table
9
9
  from tinybird.tb.modules.feedback_manager import FeedbackManager
@@ -14,7 +14,7 @@ from prompt_toolkit.key_binding import KeyBindings
14
14
  from prompt_toolkit.shortcuts import CompleteStyle
15
15
  from prompt_toolkit.styles import Style
16
16
 
17
- from tinybird.client import TinyB
17
+ from tinybird.tb.client import TinyB
18
18
  from tinybird.tb.modules.exceptions import CLIException
19
19
  from tinybird.tb.modules.feedback_manager import FeedbackManager, bcolors
20
20
  from tinybird.tb.modules.project import Project
@@ -13,7 +13,7 @@ from urllib.parse import urlencode
13
13
 
14
14
  import requests
15
15
 
16
- from tinybird.config import CURRENT_VERSION
16
+ from tinybird.tb.config import CURRENT_VERSION
17
17
 
18
18
  TELEMETRY_TIMEOUT: int = 1
19
19
  TELEMETRY_DATASOURCE: str = "tb_cli_telemetry"
@@ -15,8 +15,8 @@ import click
15
15
  import yaml
16
16
  from requests import Response
17
17
 
18
- from tinybird.client import TinyB
19
18
  from tinybird.prompts import test_create_prompt
19
+ from tinybird.tb.client import TinyB
20
20
  from tinybird.tb.modules.cli import cli
21
21
  from tinybird.tb.modules.common import coro
22
22
  from tinybird.tb.modules.config import CLIConfig
@@ -7,7 +7,7 @@ import yaml
7
7
  from humanfriendly.tables import format_smart_table
8
8
  from typing_extensions import override
9
9
 
10
- from tinybird.client import TinyB
10
+ from tinybird.tb.client import TinyB
11
11
  from tinybird.tb.modules.common import CLIException
12
12
  from tinybird.tb.modules.feedback_manager import FeedbackManager
13
13
 
@@ -6,7 +6,7 @@ import pyperclip
6
6
  from click import Context
7
7
  from humanfriendly import parse_timespan
8
8
 
9
- from tinybird.client import AuthNoTokenException, TinyB
9
+ from tinybird.tb.client import AuthNoTokenException, TinyB
10
10
  from tinybird.tb.modules.cli import cli
11
11
  from tinybird.tb.modules.common import (
12
12
  DoesNotExistException,
@@ -8,7 +8,7 @@ from typing import Optional
8
8
  import click
9
9
  from click import Context
10
10
 
11
- from tinybird.client import TinyB
11
+ from tinybird.tb.client import TinyB
12
12
  from tinybird.tb.modules.cli import cli
13
13
  from tinybird.tb.modules.common import (
14
14
  _get_workspace_plan_name,
@@ -10,8 +10,8 @@ from typing import Any, Dict, Optional, Tuple
10
10
  import click
11
11
  from click import Context
12
12
 
13
- from tinybird.client import TinyB
14
- from tinybird.config import get_display_cloud_host
13
+ from tinybird.tb.client import TinyB
14
+ from tinybird.tb.config import get_display_cloud_host
15
15
  from tinybird.tb.modules.common import (
16
16
  ask_for_user_token,
17
17
  check_user_token,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: tinybird
3
- Version: 0.0.1.dev117
3
+ Version: 0.0.1.dev119
4
4
  Summary: Tinybird Command Line Tool
5
5
  Home-page: https://www.tinybird.co/docs/cli/introduction.html
6
6
  Author: Tinybird
@@ -1,6 +1,3 @@
1
- tinybird/__cli__.py,sha256=esPl5QDTzuQgHe5FuxWLm-fURFigGGwjnYLh9GuWUw4,232
2
- tinybird/client.py,sha256=yc2BP2HiQhaUjU-t7nBuZEiJsb2nQMH3vBfOhKCciyU,55468
3
- tinybird/config.py,sha256=Rz2WNJaMDRjAIhRmUM-1jkwiSyi5xQ4N302sB1o0_FE,7396
4
1
  tinybird/connectors.py,sha256=7Gjms7b5MAaBFGi3xytsJurCylprONpFcYrzp4Fw2Rc,15241
5
2
  tinybird/context.py,sha256=FfqYfrGX_I7PKGTQo93utaKPDNVYWelg4Hsp3evX5wM,1291
6
3
  tinybird/datatypes.py,sha256=XNypumfqNjsvLJ5iNXnbVHRvAJe0aQwI3lS6Cxox-e0,10979
@@ -15,64 +12,66 @@ tinybird/syncasync.py,sha256=IPnOx6lMbf9SNddN1eBtssg8vCLHMt76SuZ6YNYm-Yk,27761
15
12
  tinybird/tornado_template.py,sha256=jjNVDMnkYFWXflmT8KU_Ssbo5vR8KQq3EJMk5vYgXRw,41959
16
13
  tinybird/ch_utils/constants.py,sha256=aYvg2C_WxYWsnqPdZB1ZFoIr8ZY-XjUXYyHKE9Ansj0,3890
17
14
  tinybird/ch_utils/engine.py,sha256=BZuPM7MFS7vaEKK5tOMR2bwSAgJudPrJt27uVEwZmTY,40512
18
- tinybird/tb/__cli__.py,sha256=PZ_TsMR0HfJ15pmzNID02ZB15vvlhn6XSbxTM3ATIhw,252
15
+ tinybird/tb/__cli__.py,sha256=17vHNVcPbqx_TWEowqxodoPtHhbxEqUTKuhIYCtjQDY,252
19
16
  tinybird/tb/cli.py,sha256=uDLwcbwSJfVFw-pceijZJqaq26z5jNsey0QaUGFjt7w,1097
20
- tinybird/tb/modules/auth.py,sha256=NF0yfkGGBOtZRot-JPYbLD53i2kQ6lxJMD1140xtfzc,9034
21
- tinybird/tb/modules/build.py,sha256=Lx1Q-kcxJN0G3pN3qCD8c8RmTpsmMoxCPhmn4DS2QMM,15563
17
+ tinybird/tb/client.py,sha256=4SQE1Ke8ZAIbCkGfGlDm2ChCESRy_oYtWK7ZW6aZmhA,55464
18
+ tinybird/tb/config.py,sha256=3bEyh6sECiAm41L9Nr_ALkvprMyuzvQSvVPrljFbg68,3790
19
+ tinybird/tb/modules/auth.py,sha256=_OeYnmTH83lnqCgQEdS6K0bx1KBUeRmZk2M7JnRmWpk,9037
20
+ tinybird/tb/modules/build.py,sha256=4yP8QJd2YYr1w9XWCSRqB6CztfVzN6gL75p32UYJvdc,15566
22
21
  tinybird/tb/modules/cicd.py,sha256=A7zJZF9HkJ6NPokplgNjmefMrpUlRbFxBbjMZhq5OTI,7110
23
- tinybird/tb/modules/cli.py,sha256=cyvTGb17eWHdfI61Rom0ooD5D2aI1gRqx2nSi1gqtWA,16143
24
- tinybird/tb/modules/common.py,sha256=CsyCOq5vnFu5aVDirjDvKV7nPU4fAbEkfmLwkOp6W2s,81747
25
- tinybird/tb/modules/config.py,sha256=FqdLpLaKpYubqw3xkB4EX06ufZYDgGRxONR_9i-y-KE,11416
26
- tinybird/tb/modules/connection.py,sha256=IL095_8ideKM1Ueen3BdsYvJKA05VAdpv7bSQjhXKJo,5354
27
- tinybird/tb/modules/copy.py,sha256=MAVqKip8_QhOYq99U_XuqSO6hCLJEh5sFtbhcXtI3SI,5802
28
- tinybird/tb/modules/create.py,sha256=eGurZ8kV5Y8TQokJ70kWZZkdDZzOdQuriSKuNcchNaA,16403
29
- tinybird/tb/modules/datasource.py,sha256=dNCK9iCR2xPLfwqqwg2ixyE6NuoVEiJU2mBZBmOYrVY,16906
30
- tinybird/tb/modules/deployment.py,sha256=UIW3W0qKBRk2o4gE8WDjmq9-UkrNZjtkbyKvcQR203k,19515
31
- tinybird/tb/modules/endpoint.py,sha256=EhVoGAXsFz-83Fiwj1gI-I73iRRvL49d0W81un7hvPE,12080
22
+ tinybird/tb/modules/cli.py,sha256=Y_5hu9xwyTIZw4bQoe0MYLnRIzmR7hUjql_oZBxd4Qg,13407
23
+ tinybird/tb/modules/common.py,sha256=d5h5jSibRXcaDY3d4XkQ5cBjLwSWDPPPQOQFeAuNlV0,84081
24
+ tinybird/tb/modules/config.py,sha256=ziqW_t_mRVvWOd85VoB4vKyvgMkEfpXDf9H4v38p2xc,11422
25
+ tinybird/tb/modules/connection.py,sha256=IVp2-E5mcwABc6FtdjhLhz0Nbr3xR5oSP9M7IEEraLA,6339
26
+ tinybird/tb/modules/copy.py,sha256=2Mm4FWKehOG7CoOhiF1m9UZJgJn0W1_cMolqju8ONYg,5805
27
+ tinybird/tb/modules/create.py,sha256=s0Hx4s4fqqJPlo3Nl2JvybrlaObzBt9ej4Cv5C93HdM,16576
28
+ tinybird/tb/modules/datasource.py,sha256=-aQCK_-wEmoo92Ki7zr2wm424RchDgWvT6yhfFY5kko,16909
29
+ tinybird/tb/modules/deployment.py,sha256=4Zt7jPbqt18fB5kPx7DbO91Bh6xzBBTEUFY7O89shuU,19560
30
+ tinybird/tb/modules/endpoint.py,sha256=XySDt3pk66vxOZ0egUfz4bY8bEk3BjOXkv-L0OIJ3sc,12083
32
31
  tinybird/tb/modules/exceptions.py,sha256=4A2sSjCEqKUMqpP3WI00zouCWW4uLaghXXLZBSw04mY,3363
33
- tinybird/tb/modules/feedback_manager.py,sha256=7e-O-LyTi_hTln47Y_FuSWerggZQLUGqfTJeYK6D9i4,69479
32
+ tinybird/tb/modules/feedback_manager.py,sha256=4Somda9qWcibNRteE-aj50WpQ4gdEzhdpY6mh1LiGL0,73984
34
33
  tinybird/tb/modules/fmt.py,sha256=qpf9APqKTKL2uphNgdbj4OMVyLkAxZn6dn4eHF99L5g,3553
35
- tinybird/tb/modules/infra.py,sha256=fnbsfx8paRE8RHPbjdSOiOEvtyQbJ95OrHZuCighgKA,33203
36
- tinybird/tb/modules/job.py,sha256=956Pj8BEEsiD2GZsV9RKKVM3I_CveOLgS82lykO5ukk,2963
34
+ tinybird/tb/modules/infra.py,sha256=eX0StUipaXaxIhMxO82cnAnFKTCa7EPOt-e8pWoSLX0,33206
35
+ tinybird/tb/modules/job.py,sha256=n4dSSBgnA8NqD7srGahf2xRj6wxkmX9Vl0J-QJ_a2w0,2966
37
36
  tinybird/tb/modules/llm.py,sha256=AC0VSphTOM2t-v1_3NLvNN_FIbgMo4dTyMqIv5nniPo,835
38
37
  tinybird/tb/modules/llm_utils.py,sha256=nS9r4FAElJw8yXtmdYrx-rtI2zXR8qXfi1QqUDCfxvg,3469
39
38
  tinybird/tb/modules/local.py,sha256=n2BRj51yRmYfd_2fuNPv0iNLKftCP-OvYVtZsUTXQsk,11028
40
- tinybird/tb/modules/local_common.py,sha256=RN5OEncHdq7ua4AZ--WgKtaFuEsLvIhq_ROHJadRXXA,3188
41
- tinybird/tb/modules/login.py,sha256=lLCJ1kIq3sLcoSMH1kZge5isHh-fDwHPRHApIqbaCkw,6350
39
+ tinybird/tb/modules/local_common.py,sha256=DqTHHcq4JitohYvHiqCz2Av4REPhmwwS6naQTOf1Mdk,3191
40
+ tinybird/tb/modules/login.py,sha256=rLYdV7MLCTT1F4VBAWGv6SO9efMiM9-977ayLecUzjI,6842
42
41
  tinybird/tb/modules/logout.py,sha256=ULooy1cDBD02-r7voZmhV7udA0ML5tVuflJyShrh56Y,1022
43
- tinybird/tb/modules/materialization.py,sha256=r8Q9HXcYEmfrEzP4WpiasCKDJdSkTPaAKJtZMoJKhi8,5749
44
- tinybird/tb/modules/mock.py,sha256=2E26N8TMK1sP7eRc9N1nODdc_vU1jBeGRs8e-fbQ5Dc,4516
42
+ tinybird/tb/modules/materialization.py,sha256=yIns8ypdFVLWwuCcvAZPBChsuJl2DIxJe6M8UCBHNsU,5752
43
+ tinybird/tb/modules/mock.py,sha256=Z_1nYMO8mmjZkBjikqHNqSd4ssdmcfaXUqIh8jY-z6o,4519
45
44
  tinybird/tb/modules/open.py,sha256=s3eJLFtF6OnXX5OLZzBz58dYaG-TGDCYFSJHttm919g,1317
46
- tinybird/tb/modules/pipe.py,sha256=gcLz0qHgwKDLsWFY3yFLO9a0ETAV1dFbI8YeLHi9460,2429
45
+ tinybird/tb/modules/pipe.py,sha256=AQKEDagO6e3psPVjJkS_MDbn8aK-apAiLp26k7jgAV0,2432
47
46
  tinybird/tb/modules/project.py,sha256=Jpoi-3ybIixN8bHCqOMnuaKByXjrdN_Gvlpa24L-e4U,3124
48
47
  tinybird/tb/modules/regions.py,sha256=QjsL5H6Kg-qr0aYVLrvb1STeJ5Sx_sjvbOYO0LrEGMk,166
49
- tinybird/tb/modules/secret.py,sha256=xxzfKxfFN7GORib1WslCaFDHt_dgnjmfOewyptPU_VM,2820
50
- tinybird/tb/modules/shell.py,sha256=7BX9fhqq2tAvdhd1Ig1e35ePYcPH3Eh7ivZDAVwrQCk,13936
48
+ tinybird/tb/modules/secret.py,sha256=rhCRxHKSiUZ4iYY5_EKH57iHzA2mZtjCyuHRsQcA-DY,2823
49
+ tinybird/tb/modules/shell.py,sha256=swVozzVnECuHrQt1BD2Vl14LipFql6ESgc3Ym4mKYog,13939
51
50
  tinybird/tb/modules/table.py,sha256=4XrtjM-N0zfNtxVkbvLDQQazno1EPXnxTyo7llivfXk,11035
52
51
  tinybird/tb/modules/tag.py,sha256=anPmMUBc-TbFovlpFi8GPkKA18y7Y0GczMsMms5TZsU,3502
53
- tinybird/tb/modules/telemetry.py,sha256=Hh2Io8ZPROSunbOLuMvuIFU4TqwWPmQTqal4WS09K1A,10449
54
- tinybird/tb/modules/test.py,sha256=FUU-drY8mdjNoKsw16O5ZqvYvZqzycrZBEpSwbhGDUE,11456
55
- tinybird/tb/modules/token.py,sha256=OhqLFpCHVfYeBCxJ0n7n2qoho9E9eGcUfHgL7R1MUVQ,13485
52
+ tinybird/tb/modules/telemetry.py,sha256=KEvjbzUsyz3zrNewJLkxoNHRrVJcb4jtkGfIfVLfgfs,10452
53
+ tinybird/tb/modules/test.py,sha256=HxkSpdLOW8brGUNsqdBoSW8RixxyC7OCDmYwEZsIpfs,11459
54
+ tinybird/tb/modules/token.py,sha256=2fmKwu10_M0pqs6YmJVeILR9ZQB0ejRAET86agASbKM,13488
56
55
  tinybird/tb/modules/watch.py,sha256=poNJOUNDESDNn80H2dHvE6X6pIu-t9MZFi59_TxVN2U,8822
57
- tinybird/tb/modules/workspace.py,sha256=pk9_6fNxXGM1JPQcjTz7Sj77qn9ML27lGIyYEHPwORE,6611
58
- tinybird/tb/modules/workspace_members.py,sha256=BnPvVfXDBUmwcN5dYOQ8VGx4J9PuykWDalouUSptpyU,8738
59
- tinybird/tb/modules/datafile/build.py,sha256=jhfIJ2xt0N13XsLPe3iMQIyCPApHS13_Df2LfISYtT8,50952
60
- tinybird/tb/modules/datafile/build_common.py,sha256=rT7VJ5mnQ68R_8US91DAtkusfvjWuG_NObOzNgtN_ko,4562
61
- tinybird/tb/modules/datafile/build_datasource.py,sha256=CCU3eQ8Rax9RgHHfbAXDRL6rQ49N35h_GDQnGrUUUzA,17379
62
- tinybird/tb/modules/datafile/build_pipe.py,sha256=w-Wd08gZYAEcak9FdBijVfIU2_Wn_PPdgAZddPpoGTo,11382
56
+ tinybird/tb/modules/workspace.py,sha256=SlK08psp0tu5t_URHyIczm696buW6KD6FPs9Lg1aNRE,6614
57
+ tinybird/tb/modules/workspace_members.py,sha256=RYLpyPM1ECCasHRg3uvpckzXplX0_KgNFsSPZn_i6qk,8744
58
+ tinybird/tb/modules/datafile/build.py,sha256=ltQ6ZEYwteYRJNeCgArl5iOWXilnEyUTR-Rd2NIKC5M,50955
59
+ tinybird/tb/modules/datafile/build_common.py,sha256=LU24kAQmxDJIyoIapDaYG-SU3P4FrMG9UBf8m9PgVSI,4565
60
+ tinybird/tb/modules/datafile/build_datasource.py,sha256=nXEQ0qHdq2ai7jJTv8H2d7eeDPBYzLn8VY7zMtOYb8M,17382
61
+ tinybird/tb/modules/datafile/build_pipe.py,sha256=6Cwjf3BKEF3-oQ9PipsQfK-Z43nSwtA4qJAUoysI7Uc,11385
63
62
  tinybird/tb/modules/datafile/common.py,sha256=4pvW92X9BXomaN3-WhQOjvnAHY96O4dTsp4USBdknzk,83192
64
- tinybird/tb/modules/datafile/diff.py,sha256=-0J7PsBO64T7LOZSkZ4ZFHHCPvT7cKItnJkbz2PkndU,6754
63
+ tinybird/tb/modules/datafile/diff.py,sha256=MTmj53RYjER4neLgWVjabn-FKVFgh8h8uYiBo55lFQg,6757
65
64
  tinybird/tb/modules/datafile/exceptions.py,sha256=8rw2umdZjtby85QbuRKFO5ETz_eRHwUY5l7eHsy1wnI,556
66
65
  tinybird/tb/modules/datafile/fixture.py,sha256=V3WGfPLIR78el3oCNWNkySWs6LxIufyIM0mDrrT3aWc,1131
67
66
  tinybird/tb/modules/datafile/format_common.py,sha256=WaNV4tXrQU5gjV6MJP-5TGqg_Bre6ilNS8emvFl-X3c,1967
68
- tinybird/tb/modules/datafile/format_datasource.py,sha256=gpRsGnDEMxEo0pIlEHXKvyuwKIpqJJUCN9JRSiDYs_4,6156
67
+ tinybird/tb/modules/datafile/format_datasource.py,sha256=FgjwxNe0rYVeZbuxnZ5FnD_1ceCENUX2QABKWOznvAA,6159
69
68
  tinybird/tb/modules/datafile/format_pipe.py,sha256=58iSTrJ5lg-IsbpX8TQumQTuZ6UIotMsCIkNJd1M-pM,7418
70
69
  tinybird/tb/modules/datafile/parse_datasource.py,sha256=cW08P_IaSl3kI3-ApjPW9BZTNaClkeC28Y7nwEw6KRE,1707
71
70
  tinybird/tb/modules/datafile/parse_pipe.py,sha256=cGz83DLCZ9y4N9_h5PumpUy3QzhBGu1JC68h1siy5WM,3472
72
71
  tinybird/tb/modules/datafile/pipe_checker.py,sha256=LnDLGIHLJ3N7qHb2ptEbPr8CoczNfGwpjOY8EMdxfHQ,24649
73
- tinybird/tb/modules/datafile/playground.py,sha256=7yblQh3jlNfdY0ySSCBrXTK6mE9e0TFI-TbaGGV-qBE,56545
74
- tinybird/tb/modules/datafile/pull.py,sha256=vcjMUbjnZ9XQMGmL33J3ElpbXBTat8Yzp-haeDggZd4,5967
75
- tinybird/tb/modules/tinyunit/tinyunit.py,sha256=GlDgEXc6TDO3ODxgfATAL2fvbKy-b_CzqoeDrApRm0g,11715
72
+ tinybird/tb/modules/datafile/playground.py,sha256=iVZ42pGW8q88Nu4WEe2KlyyDDSafIwzkV-MNVaZT6cY,56548
73
+ tinybird/tb/modules/datafile/pull.py,sha256=l6bIglY8b-tTIWgEYezf4kXjS0QHAVz4iOWLuNwe7Ps,5970
74
+ tinybird/tb/modules/tinyunit/tinyunit.py,sha256=tVynlV16gt1ex0fDmCPmcABQYyzjVnnycHq1Ou3kU0c,11718
76
75
  tinybird/tb/modules/tinyunit/tinyunit_lib.py,sha256=hGh1ZaXC1af7rKnX7222urkj0QJMhMWclqMy59dOqwE,1922
77
76
  tinybird/tb_cli_modules/cicd.py,sha256=0lMkb6CVOFZl5HOwgY8mK4T4mgI7O8335UngLXtCc-c,13851
78
77
  tinybird/tb_cli_modules/common.py,sha256=G08f1_x5YSB6n-ncRj4tB2jhtjAjlWN-QD4xMWbTNQU,83033
@@ -80,8 +79,8 @@ tinybird/tb_cli_modules/config.py,sha256=IsgdtFRnUrkY8-Zo32lmk6O7u3bHie1QCxLwgp4
80
79
  tinybird/tb_cli_modules/exceptions.py,sha256=pmucP4kTF4irIt7dXiG-FcnI-o3mvDusPmch1L8RCWk,3367
81
80
  tinybird/tb_cli_modules/regions.py,sha256=QjsL5H6Kg-qr0aYVLrvb1STeJ5Sx_sjvbOYO0LrEGMk,166
82
81
  tinybird/tb_cli_modules/telemetry.py,sha256=Hh2Io8ZPROSunbOLuMvuIFU4TqwWPmQTqal4WS09K1A,10449
83
- tinybird-0.0.1.dev117.dist-info/METADATA,sha256=Vi1SsGBNGSRzFKr4oqxcLJMKMH12O4ZSat3Zh6lX6_o,1612
84
- tinybird-0.0.1.dev117.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
85
- tinybird-0.0.1.dev117.dist-info/entry_points.txt,sha256=LwdHU6TfKx4Qs7BqqtaczEZbImgU7Abe9Lp920zb_fo,43
86
- tinybird-0.0.1.dev117.dist-info/top_level.txt,sha256=VqqqEmkAy7UNaD8-V51FCoMMWXjLUlR0IstvK7tJYVY,54
87
- tinybird-0.0.1.dev117.dist-info/RECORD,,
82
+ tinybird-0.0.1.dev119.dist-info/METADATA,sha256=ZAd9dK656El6TZCSUO-aTlsD0GzJf32p826lOLBxvIQ,1612
83
+ tinybird-0.0.1.dev119.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
84
+ tinybird-0.0.1.dev119.dist-info/entry_points.txt,sha256=LwdHU6TfKx4Qs7BqqtaczEZbImgU7Abe9Lp920zb_fo,43
85
+ tinybird-0.0.1.dev119.dist-info/top_level.txt,sha256=VqqqEmkAy7UNaD8-V51FCoMMWXjLUlR0IstvK7tJYVY,54
86
+ tinybird-0.0.1.dev119.dist-info/RECORD,,
tinybird/__cli__.py DELETED
@@ -1,7 +0,0 @@
1
- __name__ = "tinybird_cli"
2
- __description__ = "Tinybird Command Line Tool"
3
- __url__ = "https://www.tinybird.co/docs/cli"
4
- __author__ = "Tinybird"
5
- __author_email__ = "support@tinybird.co"
6
- __version__ = "x.y.z"
7
- __revision__ = "xxxxxxxxx"