tinybird 0.0.1.dev15__py3-none-any.whl → 0.0.1.dev17__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.
- tinybird/client.py +3 -1
- tinybird/feedback_manager.py +12 -1
- tinybird/{tb/modules/prompts.py → prompts.py} +26 -64
- tinybird/tb/cli.py +2 -1
- tinybird/tb/modules/build.py +37 -153
- tinybird/tb/modules/build_shell.py +149 -0
- tinybird/tb/modules/cli.py +9 -87
- tinybird/tb/modules/common.py +7 -98
- tinybird/tb/modules/config.py +0 -10
- tinybird/tb/modules/create.py +82 -8
- tinybird/tb/modules/datafile/build_pipe.py +1 -1
- tinybird/tb/modules/datasource.py +0 -10
- tinybird/tb/modules/llm.py +35 -3
- tinybird/tb/modules/local.py +2 -46
- tinybird/tb/modules/local_common.py +54 -0
- tinybird/tb/modules/mock.py +1 -1
- tinybird/tb/modules/pipe.py +0 -4
- tinybird/tb/modules/test.py +23 -12
- {tinybird-0.0.1.dev15.dist-info → tinybird-0.0.1.dev17.dist-info}/METADATA +1 -1
- {tinybird-0.0.1.dev15.dist-info → tinybird-0.0.1.dev17.dist-info}/RECORD +23 -22
- tinybird/tb/modules/branch.py +0 -1023
- {tinybird-0.0.1.dev15.dist-info → tinybird-0.0.1.dev17.dist-info}/WHEEL +0 -0
- {tinybird-0.0.1.dev15.dist-info → tinybird-0.0.1.dev17.dist-info}/entry_points.txt +0 -0
- {tinybird-0.0.1.dev15.dist-info → tinybird-0.0.1.dev17.dist-info}/top_level.txt +0 -0
tinybird/tb/modules/local.py
CHANGED
|
@@ -1,25 +1,14 @@
|
|
|
1
|
-
import hashlib
|
|
2
1
|
import os
|
|
3
2
|
import time
|
|
4
|
-
from typing import Optional
|
|
5
3
|
|
|
6
4
|
import click
|
|
7
|
-
import requests
|
|
8
5
|
|
|
9
6
|
import docker
|
|
10
7
|
from tinybird.feedback_manager import FeedbackManager
|
|
11
8
|
from tinybird.tb.modules.cli import cli
|
|
12
|
-
from tinybird.tb.modules.common import
|
|
13
|
-
coro,
|
|
14
|
-
)
|
|
15
|
-
from tinybird.tb.modules.config import CLIConfig
|
|
9
|
+
from tinybird.tb.modules.common import coro
|
|
16
10
|
from tinybird.tb.modules.exceptions import CLIException
|
|
17
|
-
|
|
18
|
-
# TODO: Use the official Tinybird image once it's available 'tinybirdco/tinybird-local:latest'
|
|
19
|
-
TB_IMAGE_NAME = "registry.gitlab.com/tinybird/analytics/tinybird-local-jammy-3.11:latest"
|
|
20
|
-
TB_CONTAINER_NAME = "tinybird-local"
|
|
21
|
-
TB_LOCAL_PORT = int(os.getenv("TB_LOCAL_PORT", 80))
|
|
22
|
-
TB_LOCAL_HOST = f"http://localhost:{TB_LOCAL_PORT}"
|
|
11
|
+
from tinybird.tb.modules.local_common import TB_CONTAINER_NAME, TB_IMAGE_NAME, TB_LOCAL_PORT
|
|
23
12
|
|
|
24
13
|
|
|
25
14
|
def start_tinybird_local(
|
|
@@ -113,39 +102,6 @@ def remove_tinybird_local(docker_client):
|
|
|
113
102
|
pass
|
|
114
103
|
|
|
115
104
|
|
|
116
|
-
async def get_tinybird_local_client(path: Optional[str] = None):
|
|
117
|
-
"""Get a Tinybird client connected to the local environment."""
|
|
118
|
-
config = CLIConfig.get_project_config()
|
|
119
|
-
try:
|
|
120
|
-
# ruff: noqa: ASYNC210
|
|
121
|
-
tokens = requests.get(f"{TB_LOCAL_HOST}/tokens").json()
|
|
122
|
-
except Exception:
|
|
123
|
-
raise CLIException("Tinybird local is not running. Please run `tb local start` first.")
|
|
124
|
-
|
|
125
|
-
user_token = tokens["user_token"]
|
|
126
|
-
token = tokens["workspace_admin_token"]
|
|
127
|
-
# Create a new workspace if path is provided. This is used to isolate the build in a different workspace.
|
|
128
|
-
if path:
|
|
129
|
-
folder_hash = hashlib.sha256(path.encode()).hexdigest()
|
|
130
|
-
user_client = config.get_client(host=TB_LOCAL_HOST, token=user_token)
|
|
131
|
-
|
|
132
|
-
ws_name = f"Tinybird_Local_Build_{folder_hash}"
|
|
133
|
-
|
|
134
|
-
user_workspaces = await user_client.user_workspaces()
|
|
135
|
-
ws = next((ws for ws in user_workspaces["workspaces"] if ws["name"] == ws_name), None)
|
|
136
|
-
if not ws:
|
|
137
|
-
await user_client.create_workspace(ws_name, template=None)
|
|
138
|
-
user_workspaces = await user_client.user_workspaces()
|
|
139
|
-
ws = next((ws for ws in user_workspaces["workspaces"] if ws["name"] == ws_name), None)
|
|
140
|
-
|
|
141
|
-
token = ws["token"]
|
|
142
|
-
|
|
143
|
-
config.set_token(token)
|
|
144
|
-
config.set_host(TB_LOCAL_HOST)
|
|
145
|
-
config.set_user_token(user_token)
|
|
146
|
-
return config.get_client(host=TB_LOCAL_HOST, token=token)
|
|
147
|
-
|
|
148
|
-
|
|
149
105
|
@cli.command()
|
|
150
106
|
def upgrade():
|
|
151
107
|
"""Upgrade Tinybird CLI to the latest version"""
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import hashlib
|
|
2
|
+
import os
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
import requests
|
|
6
|
+
|
|
7
|
+
from tinybird.client import TinyB
|
|
8
|
+
from tinybird.tb.modules.config import CLIConfig
|
|
9
|
+
from tinybird.tb.modules.exceptions import CLIException
|
|
10
|
+
|
|
11
|
+
# TODO: Use the official Tinybird image once it's available 'tinybirdco/tinybird-local:latest'
|
|
12
|
+
TB_IMAGE_NAME = "registry.gitlab.com/tinybird/analytics/tinybird-local-jammy-3.11:latest"
|
|
13
|
+
TB_CONTAINER_NAME = "tinybird-local"
|
|
14
|
+
TB_LOCAL_PORT = int(os.getenv("TB_LOCAL_PORT", 80))
|
|
15
|
+
TB_LOCAL_HOST = f"http://localhost:{TB_LOCAL_PORT}"
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
async def get_tinybird_local_client(path: Optional[str] = None) -> TinyB:
|
|
19
|
+
"""Get a Tinybird client connected to the local environment."""
|
|
20
|
+
config = CLIConfig.get_project_config()
|
|
21
|
+
try:
|
|
22
|
+
# ruff: noqa: ASYNC210
|
|
23
|
+
tokens = requests.get(f"{TB_LOCAL_HOST}/tokens").json()
|
|
24
|
+
except Exception:
|
|
25
|
+
raise CLIException("Tinybird local is not running. Please run `tb local start` first.")
|
|
26
|
+
|
|
27
|
+
user_token = tokens["user_token"]
|
|
28
|
+
default_token = tokens["workspace_admin_token"]
|
|
29
|
+
# Create a new workspace if path is provided. This is used to isolate the build in a different workspace.
|
|
30
|
+
path = path or os.getcwd()
|
|
31
|
+
if path:
|
|
32
|
+
folder_hash = hashlib.sha256(path.encode()).hexdigest()
|
|
33
|
+
user_client = config.get_client(host=TB_LOCAL_HOST, token=user_token)
|
|
34
|
+
|
|
35
|
+
ws_name = f"Tinybird_Local_Build_{folder_hash}"
|
|
36
|
+
|
|
37
|
+
user_workspaces = await user_client.user_workspaces()
|
|
38
|
+
ws = next((ws for ws in user_workspaces["workspaces"] if ws["name"] == ws_name), None)
|
|
39
|
+
if not ws:
|
|
40
|
+
await user_client.create_workspace(ws_name, template=None)
|
|
41
|
+
user_workspaces = await user_client.user_workspaces()
|
|
42
|
+
ws = next((ws for ws in user_workspaces["workspaces"] if ws["name"] == ws_name), None)
|
|
43
|
+
|
|
44
|
+
ws_token = ws["token"]
|
|
45
|
+
|
|
46
|
+
config.set_token(ws_token)
|
|
47
|
+
config.set_token_for_host(TB_LOCAL_HOST, ws_token)
|
|
48
|
+
config.set_host(TB_LOCAL_HOST)
|
|
49
|
+
else:
|
|
50
|
+
config.set_token(default_token)
|
|
51
|
+
config.set_token_for_host(TB_LOCAL_HOST, default_token)
|
|
52
|
+
|
|
53
|
+
config.set_user_token(user_token)
|
|
54
|
+
return config.get_client(host=TB_LOCAL_HOST)
|
tinybird/tb/modules/mock.py
CHANGED
|
@@ -9,7 +9,7 @@ from tinybird.tb.modules.common import CLIException, coro
|
|
|
9
9
|
from tinybird.tb.modules.config import CLIConfig
|
|
10
10
|
from tinybird.tb.modules.datafile.fixture import build_fixture_name, persist_fixture
|
|
11
11
|
from tinybird.tb.modules.llm import LLM
|
|
12
|
-
from tinybird.tb.modules.
|
|
12
|
+
from tinybird.tb.modules.local_common import get_tinybird_local_client
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
@cli.command()
|
tinybird/tb/modules/pipe.py
CHANGED
|
@@ -17,7 +17,6 @@ import tinybird.context as context
|
|
|
17
17
|
from tinybird.client import AuthNoTokenException, DoesNotExistException, TinyB
|
|
18
18
|
from tinybird.config import DEFAULT_API_HOST, FeatureFlags
|
|
19
19
|
from tinybird.feedback_manager import FeedbackManager
|
|
20
|
-
from tinybird.tb.modules.branch import warn_if_in_live
|
|
21
20
|
from tinybird.tb.modules.cli import cli
|
|
22
21
|
from tinybird.tb.modules.common import (
|
|
23
22
|
coro,
|
|
@@ -499,9 +498,6 @@ async def pipe_delete(ctx: click.Context, pipe_name_or_id: str, yes: bool):
|
|
|
499
498
|
result = await process_file(file_path, client)
|
|
500
499
|
pipe_name_or_id = result[0]["name"]
|
|
501
500
|
|
|
502
|
-
semver: str = ctx.ensure_object(dict)["config"]["semver"]
|
|
503
|
-
await warn_if_in_live(semver)
|
|
504
|
-
|
|
505
501
|
if yes or click.confirm(FeedbackManager.warning_confirm_delete_pipe(pipe=pipe_name_or_id)):
|
|
506
502
|
try:
|
|
507
503
|
await client.pipe_delete(pipe_name_or_id)
|
tinybird/tb/modules/test.py
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
# - If it makes sense and only when strictly necessary, you can create utility functions in this file.
|
|
4
4
|
# - But please, **do not** interleave utility functions and command definitions.
|
|
5
5
|
|
|
6
|
+
import difflib
|
|
6
7
|
import glob
|
|
7
|
-
import json
|
|
8
8
|
import os
|
|
9
9
|
from pathlib import Path
|
|
10
10
|
from typing import Iterable, List, Optional, Tuple
|
|
@@ -18,7 +18,7 @@ from tinybird.tb.modules.common import coro
|
|
|
18
18
|
from tinybird.tb.modules.config import CLIConfig
|
|
19
19
|
from tinybird.tb.modules.exceptions import CLIException
|
|
20
20
|
from tinybird.tb.modules.llm import LLM, TestExpectation
|
|
21
|
-
from tinybird.tb.modules.
|
|
21
|
+
from tinybird.tb.modules.local_common import get_tinybird_local_client
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
@cli.group()
|
|
@@ -70,22 +70,26 @@ async def test_create(ctx: click.Context, pipe: str, prompt: Optional[str], fold
|
|
|
70
70
|
pipe_path = Path(folder) / pipe_path
|
|
71
71
|
pipe_content = pipe_path.read_text()
|
|
72
72
|
|
|
73
|
-
llm_config = CLIConfig.get_llm_config()
|
|
74
|
-
llm = LLM(key=llm_config["api_key"])
|
|
75
|
-
|
|
76
73
|
client = await get_tinybird_local_client(os.path.abspath(folder))
|
|
74
|
+
pipe_nodes = await client._req(f"/v0/pipes/{pipe_name}")
|
|
75
|
+
pipe_params = set([param["name"] for node in pipe_nodes["nodes"] for param in node["params"]])
|
|
76
|
+
|
|
77
|
+
llm_config = CLIConfig.get_llm_config()
|
|
78
|
+
llm = LLM(client=client, api_key=llm_config["api_key"])
|
|
77
79
|
|
|
78
|
-
test_expectations = await llm.create_test_commands(
|
|
80
|
+
test_expectations = await llm.create_test_commands(
|
|
81
|
+
pipe_content=pipe_content, pipe_params=pipe_params, context=prompt
|
|
82
|
+
)
|
|
79
83
|
valid_test_expectations = []
|
|
80
84
|
for test in test_expectations.tests:
|
|
85
|
+
test_params = test.parameters if test.parameters.startswith("?") else f"?{test.parameters}"
|
|
81
86
|
try:
|
|
82
|
-
response = await client._req(f"/v0/pipes/{pipe_name}.ndjson
|
|
87
|
+
response = await client._req(f"/v0/pipes/{pipe_name}.ndjson{test_params}")
|
|
83
88
|
except Exception:
|
|
84
89
|
continue
|
|
85
90
|
|
|
86
|
-
test.expected_result =
|
|
91
|
+
test.expected_result = response
|
|
87
92
|
valid_test_expectations.append(test.model_dump())
|
|
88
|
-
|
|
89
93
|
if valid_test_expectations:
|
|
90
94
|
generate_test_file(pipe_name, valid_test_expectations)
|
|
91
95
|
click.echo(FeedbackManager.info(message=f"✓ /tests/{pipe_name}.yaml"))
|
|
@@ -117,11 +121,18 @@ async def test_run(ctx: click.Context, file: Tuple[str, ...], folder: Optional[s
|
|
|
117
121
|
for test in test_file_content:
|
|
118
122
|
try:
|
|
119
123
|
response = await client._req(f"/v0/pipes/{test_file_path.stem}.ndjson?{test['parameters']}")
|
|
120
|
-
if test["expected_result"] !=
|
|
121
|
-
|
|
124
|
+
if test["expected_result"] != response:
|
|
125
|
+
diff = difflib.ndiff(
|
|
126
|
+
test["expected_result"].splitlines(keepends=True), response.splitlines(keepends=True)
|
|
127
|
+
)
|
|
128
|
+
printable_diff = "".join(diff)
|
|
129
|
+
raise Exception(
|
|
130
|
+
f"\nExpected: \n{test['expected_result']}\nGot: \n{response}\nDiff: \n{printable_diff}"
|
|
131
|
+
)
|
|
122
132
|
click.echo(FeedbackManager.success(message=f"✓ {test_file_path.name} - {test['name']}"))
|
|
123
|
-
except Exception:
|
|
133
|
+
except Exception as e:
|
|
124
134
|
click.echo(FeedbackManager.error(message=f"✗ {test_file_path.name} - {test['name']}"))
|
|
135
|
+
click.echo(FeedbackManager.error(message=f"Output and expected output are different: \n{e}"))
|
|
125
136
|
|
|
126
137
|
for test_file in file_list:
|
|
127
138
|
await run_test(test_file)
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
tinybird/__cli__.py,sha256=pgYsVLcqL16wtSn6KtKweNZYoYJdEksTgSvQAW7hH64,250
|
|
2
|
-
tinybird/client.py,sha256=
|
|
2
|
+
tinybird/client.py,sha256=_voHMgKOwOhmncSaPH6DL94X6YPqKJJzcY-EKp8xLug,50810
|
|
3
3
|
tinybird/config.py,sha256=Z-BX9FrjgsLw1YwcCdF0IztLB97Zpc70VVPplO_pDSY,6089
|
|
4
4
|
tinybird/connectors.py,sha256=lkpVSUmSuViEZBa4QjTK7YmPHUop0a5UFoTrSmlVq6k,15244
|
|
5
5
|
tinybird/context.py,sha256=kutUQ0kCwparowI74_YLXx6wtTzGLRouJ6oGHVBPzBo,1291
|
|
6
6
|
tinybird/datatypes.py,sha256=IHyhZ86ib54Vnd1pbod9y2aS8DDvDKZm1HJGlThdbuQ,10460
|
|
7
|
-
tinybird/feedback_manager.py,sha256
|
|
7
|
+
tinybird/feedback_manager.py,sha256=U_VbVl3RBCPV-qc3g8vz124Mg9XeMmKk055eqiIaBqY,68338
|
|
8
8
|
tinybird/git_settings.py,sha256=XUL9ZUj59-ZVQJDYmMEq4UpnuuOuQOHGlNcX3JgQHjQ,3954
|
|
9
|
+
tinybird/prompts.py,sha256=pCqN1JAHqdA-PgxBnzjIYpCXjpko89Xu4EHl6ol0iNs,6417
|
|
9
10
|
tinybird/sql.py,sha256=gfRKjdqEygcE1WOTeQ1QV2Jal8Jzl4RSX8fftu1KSEs,45825
|
|
10
11
|
tinybird/sql_template.py,sha256=IqYRfUxDYBCoOYjqqvn--_8QXLv9FSRnJ0bInx7q1Xs,93051
|
|
11
12
|
tinybird/sql_template_fmt.py,sha256=1z-PuqSZXtzso8Z_mPqUc-NxIxUrNUcVIPezNieZk-M,10196
|
|
@@ -14,38 +15,38 @@ tinybird/syncasync.py,sha256=fAvq0qkRgqXqXMKwbY2iJNYqLT_r6mDsh1MRpGKrdRU,27763
|
|
|
14
15
|
tinybird/tornado_template.py,sha256=o2HguxrL1Evnt8o3IvrsI8Zm6JtRQ3zhLJKf1XyR3SQ,41965
|
|
15
16
|
tinybird/ch_utils/constants.py,sha256=aYvg2C_WxYWsnqPdZB1ZFoIr8ZY-XjUXYyHKE9Ansj0,3890
|
|
16
17
|
tinybird/ch_utils/engine.py,sha256=OXkBhlzGjZotjD0vaT-rFIbSGV4tpiHxE8qO_ip0SyQ,40454
|
|
17
|
-
tinybird/tb/cli.py,sha256=
|
|
18
|
+
tinybird/tb/cli.py,sha256=onCxcKvTV4RuokC5V3t82OXWAIwgU6pMWs8rpWOUi_o,815
|
|
18
19
|
tinybird/tb/modules/auth.py,sha256=hynZ-Temot8YBsySUWKSFzZlYadtFPxG3o6lCSu1n6E,9018
|
|
19
|
-
tinybird/tb/modules/
|
|
20
|
-
tinybird/tb/modules/
|
|
20
|
+
tinybird/tb/modules/build.py,sha256=3YEcUBSsp8DREyox5x27BabcdYHFEokGnQ-f8-etDmo,8412
|
|
21
|
+
tinybird/tb/modules/build_shell.py,sha256=jN06ZT7BK3lHtMgBjaOn4sD6yooUy9v8uuZnE-jjmlU,5485
|
|
21
22
|
tinybird/tb/modules/cicd.py,sha256=KCFfywFfvGRh24GZwqrhICiTK_arHelPs_X4EB-pXIw,7331
|
|
22
|
-
tinybird/tb/modules/cli.py,sha256=
|
|
23
|
-
tinybird/tb/modules/common.py,sha256=
|
|
24
|
-
tinybird/tb/modules/config.py,sha256=
|
|
23
|
+
tinybird/tb/modules/cli.py,sha256=PRURYKphzjqVltMG647D8ADGS-YFR2rAkDNEwUTTDjk,53082
|
|
24
|
+
tinybird/tb/modules/common.py,sha256=ZvkuI1JYVVwBZOZ9VDiNLR_-HHRavTHqSe6uVPJ8MS4,76431
|
|
25
|
+
tinybird/tb/modules/config.py,sha256=ri4Gwyzqol6-NofTjHnWquuDzJOjHbkaAnboO8JNENY,11499
|
|
25
26
|
tinybird/tb/modules/connection.py,sha256=ZSqBGoRiJedjHKEyB_fr1ybucOHtaad8d7uqGa2Q92M,28668
|
|
26
|
-
tinybird/tb/modules/create.py,sha256=
|
|
27
|
-
tinybird/tb/modules/datasource.py,sha256=
|
|
27
|
+
tinybird/tb/modules/create.py,sha256=fr418rucTn9etxcOfdBViV9dk_mIQJpB_L0XO8NF4e0,10059
|
|
28
|
+
tinybird/tb/modules/datasource.py,sha256=rX7RnrXl4xxPwGxkj1DgLr521wjNXEixAeAyxMrkJJk,35472
|
|
28
29
|
tinybird/tb/modules/exceptions.py,sha256=4A2sSjCEqKUMqpP3WI00zouCWW4uLaghXXLZBSw04mY,3363
|
|
29
30
|
tinybird/tb/modules/fmt.py,sha256=UszEQO15fdzQ49QEj7Unhu68IKwSuKPsOrKhk2p2TAg,3547
|
|
30
31
|
tinybird/tb/modules/job.py,sha256=eoBVyA24lYIPonU88Jn7FF9hBKz1kScy9_w_oWreuc4,2952
|
|
31
|
-
tinybird/tb/modules/llm.py,sha256=
|
|
32
|
-
tinybird/tb/modules/local.py,sha256=
|
|
32
|
+
tinybird/tb/modules/llm.py,sha256=duwf3r1caLaKzuOJC_stI_Hx54ncr-5uWaWeZ3HN65o,3099
|
|
33
|
+
tinybird/tb/modules/local.py,sha256=hV2fvHPaVHVzKwVoVDFAIbJZslOX1_COx96DZrR-dW8,5151
|
|
34
|
+
tinybird/tb/modules/local_common.py,sha256=Z2JYIE5HIJVNuzdIv1_NFxSEs8DOsLoCzbmT1iy0-HU,2172
|
|
33
35
|
tinybird/tb/modules/login.py,sha256=vIeysdttfGDBMkf_i3cqAVNR5s0X0D6exATcRsDdWiA,5849
|
|
34
|
-
tinybird/tb/modules/mock.py,sha256=
|
|
35
|
-
tinybird/tb/modules/pipe.py,sha256=
|
|
36
|
-
tinybird/tb/modules/prompts.py,sha256=KIDoAC0FvBSSsTft_mhpY6vxliNRBYOCsqikr_Hx0HA,9655
|
|
36
|
+
tinybird/tb/modules/mock.py,sha256=5xhR_djr1-_JwJPI-Oy1exI3ndz7srmmvlei0DMQCAk,2824
|
|
37
|
+
tinybird/tb/modules/pipe.py,sha256=P_W5HW1-UEidWlw0pty-n_qYvCAyMlNorBmWzmCP7cU,30906
|
|
37
38
|
tinybird/tb/modules/regions.py,sha256=QjsL5H6Kg-qr0aYVLrvb1STeJ5Sx_sjvbOYO0LrEGMk,166
|
|
38
39
|
tinybird/tb/modules/table.py,sha256=hG-PRDVuFp2uph41WpoLRV1yjp3RI2fi_iGGiI0rdxU,7695
|
|
39
40
|
tinybird/tb/modules/tag.py,sha256=1qQWyk1p3Btv3LzM8VbJG-k7x2-pFuAlYCg3QL6QewI,3480
|
|
40
41
|
tinybird/tb/modules/telemetry.py,sha256=iEGnMuCuNhvF6ln__j6X9MSTwL_0Hm-GgFHHHvhfknk,10466
|
|
41
|
-
tinybird/tb/modules/test.py,sha256=
|
|
42
|
+
tinybird/tb/modules/test.py,sha256=wWOg9FFyAiJkF7qjYapJUne5SVyXwmmhStfpCAZwZ80,5383
|
|
42
43
|
tinybird/tb/modules/token.py,sha256=r0oeG1RpOOzHtqbUaHBiOmhE55HfNIvReAAWyKl9fJg,12695
|
|
43
44
|
tinybird/tb/modules/workspace.py,sha256=FVlh-kbiZp5Gvp6dGFxi0UD8ail77rMamXLhqdVwrZ0,10916
|
|
44
45
|
tinybird/tb/modules/workspace_members.py,sha256=08W0onEYkKLEC5TkAI07cxN9XSquEm7HnL7OkHAVDjo,8715
|
|
45
46
|
tinybird/tb/modules/datafile/build.py,sha256=rFdK_GerPDgPfyPfZ4EZ0-cQqWfHd6htS0ls-Yy7khk,92491
|
|
46
47
|
tinybird/tb/modules/datafile/build_common.py,sha256=74547h5ja4C66DAwDMabj75FA_BUTJxTJv-24tSFmrs,4551
|
|
47
48
|
tinybird/tb/modules/datafile/build_datasource.py,sha256=fquzEGwk9NL_0K5YYG86Xtvgn4J5YHtRUoKJxbQGO0s,17344
|
|
48
|
-
tinybird/tb/modules/datafile/build_pipe.py,sha256=
|
|
49
|
+
tinybird/tb/modules/datafile/build_pipe.py,sha256=V5u21NEpSCWNVl46Cdn_I_bOojxpgSrg1MnScPDqx4U,27648
|
|
49
50
|
tinybird/tb/modules/datafile/common.py,sha256=NkoCdj4p-Ak3n80DJB5a33Ucw2WTcSYa8iqw4KsRZGs,81082
|
|
50
51
|
tinybird/tb/modules/datafile/diff.py,sha256=-iaP7GvAzZtZSa8jPgVpOFlTRutxgxRBLBcGL1_RFr4,6743
|
|
51
52
|
tinybird/tb/modules/datafile/exceptions.py,sha256=8rw2umdZjtby85QbuRKFO5ETz_eRHwUY5l7eHsy1wnI,556
|
|
@@ -65,8 +66,8 @@ tinybird/tb_cli_modules/config.py,sha256=6NTgIdwf0X132A1j6G_YrdPep87ymZ9b5pABabK
|
|
|
65
66
|
tinybird/tb_cli_modules/exceptions.py,sha256=pmucP4kTF4irIt7dXiG-FcnI-o3mvDusPmch1L8RCWk,3367
|
|
66
67
|
tinybird/tb_cli_modules/regions.py,sha256=QjsL5H6Kg-qr0aYVLrvb1STeJ5Sx_sjvbOYO0LrEGMk,166
|
|
67
68
|
tinybird/tb_cli_modules/telemetry.py,sha256=iEGnMuCuNhvF6ln__j6X9MSTwL_0Hm-GgFHHHvhfknk,10466
|
|
68
|
-
tinybird-0.0.1.
|
|
69
|
-
tinybird-0.0.1.
|
|
70
|
-
tinybird-0.0.1.
|
|
71
|
-
tinybird-0.0.1.
|
|
72
|
-
tinybird-0.0.1.
|
|
69
|
+
tinybird-0.0.1.dev17.dist-info/METADATA,sha256=eu-lIaxe76zXyzD78jMIjloB-BEVztY_wQeN3mJFoOI,2405
|
|
70
|
+
tinybird-0.0.1.dev17.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
|
|
71
|
+
tinybird-0.0.1.dev17.dist-info/entry_points.txt,sha256=LwdHU6TfKx4Qs7BqqtaczEZbImgU7Abe9Lp920zb_fo,43
|
|
72
|
+
tinybird-0.0.1.dev17.dist-info/top_level.txt,sha256=pgw6AzERHBcW3YTi2PW4arjxLkulk2msOz_SomfOEuc,45
|
|
73
|
+
tinybird-0.0.1.dev17.dist-info/RECORD,,
|