tinybird-cli 3.3.1.dev2__tar.gz → 3.3.1.dev4__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.
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/PKG-INFO +14 -3
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/__cli__.py +2 -2
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/connector_settings.py +30 -2
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/data_connectors/credentials.py +5 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/datafile.py +4 -1
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/cicd.py +29 -9
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird_cli.egg-info/PKG-INFO +14 -3
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/setup.cfg +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/ch_utils/constants.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/ch_utils/engine.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/check_pypi.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/client.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/config.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/connectors.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/context.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/datatypes.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/feedback_manager.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/git_settings.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/sql.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/sql_template.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/sql_template_fmt.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/sql_toolset.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/syncasync.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/auth.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/branch.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/cli.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/common.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/config.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/connection.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/datasource.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/exceptions.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/job.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/pipe.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/regions.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/telemetry.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/test.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/tinyunit/tinyunit.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/tinyunit/tinyunit_lib.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/token.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/workspace.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/workspace_members.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tornado_template.py +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird_cli.egg-info/SOURCES.txt +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird_cli.egg-info/dependency_links.txt +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird_cli.egg-info/entry_points.txt +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird_cli.egg-info/requires.txt +0 -0
- {tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/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.
|
|
3
|
+
Version: 3.3.1.dev4
|
|
4
4
|
Summary: Tinybird Command Line Tool
|
|
5
5
|
Home-page: https://docs.tinybird.co/cli.html
|
|
6
6
|
Author: Tinybird
|
|
@@ -19,10 +19,21 @@ Changelog
|
|
|
19
19
|
|
|
20
20
|
---------
|
|
21
21
|
|
|
22
|
+
|
|
23
|
+
3.3.1.dev4
|
|
24
|
+
***********
|
|
25
|
+
|
|
26
|
+
- `Changed` script `exec_test.sh` from `tb init --git` to run retries to avoid flakiness in tests
|
|
27
|
+
|
|
28
|
+
3.3.1.dev3
|
|
29
|
+
***********
|
|
30
|
+
|
|
31
|
+
- `Fixed` `IMPORT` and `ENGINE` changes were not detected `tb deploy`
|
|
32
|
+
|
|
22
33
|
3.3.1.dev2
|
|
23
34
|
***********
|
|
24
35
|
|
|
25
|
-
- `Changed` Update `tb release rm --oldest-rollback` to use new
|
|
36
|
+
- `Changed` Update `tb release rm --oldest-rollback` to use new API
|
|
26
37
|
|
|
27
38
|
3.3.1.dev1
|
|
28
39
|
************
|
|
@@ -31,7 +42,7 @@ Changelog
|
|
|
31
42
|
|
|
32
43
|
3.3.0
|
|
33
44
|
************
|
|
34
|
-
- `Added` Show warning when doing data or pipe operations directly against Live
|
|
45
|
+
- `Added` Show warning when doing data or pipe operations directly against Live.
|
|
35
46
|
- `Added` `bi_stats`, `bi_stats_rt` and `endpoint_errors` to the list of service data sources that the CLI ignore when looking for dependencies of pipes being pushed.
|
|
36
47
|
- `Added` S3 Iam Role connection creation
|
|
37
48
|
- `Added` Connector credential validation
|
|
@@ -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.
|
|
8
|
-
__revision__ = '
|
|
7
|
+
__version__ = '3.3.1.dev4'
|
|
8
|
+
__revision__ = '4ea51cf'
|
|
@@ -5,7 +5,12 @@ from typing import List, Optional, Union
|
|
|
5
5
|
|
|
6
6
|
from pydantic import BaseModel
|
|
7
7
|
|
|
8
|
-
from tinybird.data_connectors.credentials import
|
|
8
|
+
from tinybird.data_connectors.credentials import (
|
|
9
|
+
GCSConnectorCredentials,
|
|
10
|
+
GCSServiceAccountCredentials,
|
|
11
|
+
IAMRoleAWSCredentials,
|
|
12
|
+
S3ConnectorCredentials,
|
|
13
|
+
)
|
|
9
14
|
|
|
10
15
|
GCS_BASE_URL = "https://storage.googleapis.com"
|
|
11
16
|
|
|
@@ -17,6 +22,7 @@ class DataConnectorType(str, Enum):
|
|
|
17
22
|
BIGQUERY = "bigquery"
|
|
18
23
|
GCLOUD_STORAGE = "gcs"
|
|
19
24
|
GCLOUD_STORAGE_HMAC = "gcs_hmac"
|
|
25
|
+
GCLOUD_STORAGE_SA = "gcs_service_account"
|
|
20
26
|
AMAZON_S3 = "s3"
|
|
21
27
|
AMAZON_S3_IAMROLE = "s3_iamrole"
|
|
22
28
|
|
|
@@ -107,6 +113,18 @@ class BigQueryConnectorSetting(DataConnectorSetting):
|
|
|
107
113
|
account: Optional[str] = None
|
|
108
114
|
|
|
109
115
|
|
|
116
|
+
class GCSServiceAccountConnectorSetting(DataConnectorSetting):
|
|
117
|
+
account_email: str
|
|
118
|
+
endpoint_url: str = GCS_BASE_URL
|
|
119
|
+
|
|
120
|
+
@property
|
|
121
|
+
def credentials(self) -> GCSServiceAccountCredentials:
|
|
122
|
+
return GCSServiceAccountCredentials(account_email=self.account_email)
|
|
123
|
+
|
|
124
|
+
def get_provider_name(self) -> str:
|
|
125
|
+
return DataConnectorType.GCLOUD_STORAGE
|
|
126
|
+
|
|
127
|
+
|
|
110
128
|
class GCSHmacConnectorSetting(DataConnectorSetting):
|
|
111
129
|
gcs_hmac_access_id: str
|
|
112
130
|
gcs_hmac_secret: str
|
|
@@ -139,11 +157,14 @@ DATA_CONNECTOR_SETTINGS: dict[DataConnectors, type[DataConnectorSetting]] = {
|
|
|
139
157
|
DataConnectors.BIGQUERY: BigQueryConnectorSetting,
|
|
140
158
|
DataConnectors.GCLOUD_STORAGE: GCSConnectorSetting,
|
|
141
159
|
DataConnectors.GCLOUD_STORAGE_HMAC: GCSHmacConnectorSetting,
|
|
160
|
+
DataConnectors.GCLOUD_STORAGE_SA: GCSServiceAccountConnectorSetting,
|
|
142
161
|
DataConnectors.AMAZON_S3: S3ConnectorSetting,
|
|
143
162
|
DataConnectors.AMAZON_S3_IAMROLE: S3IAMConnectorSetting,
|
|
144
163
|
}
|
|
145
164
|
|
|
146
|
-
SinkConnectorSettings = Union[
|
|
165
|
+
SinkConnectorSettings = Union[
|
|
166
|
+
S3ConnectorSetting, S3IAMConnectorSetting, GCSHmacConnectorSetting, GCSServiceAccountConnectorSetting
|
|
167
|
+
]
|
|
147
168
|
|
|
148
169
|
|
|
149
170
|
class DataLinkerSettings:
|
|
@@ -188,6 +209,13 @@ class DataSinkSettings:
|
|
|
188
209
|
"format",
|
|
189
210
|
"compression",
|
|
190
211
|
]
|
|
212
|
+
gcs_service_account = [
|
|
213
|
+
"bucket_path",
|
|
214
|
+
"file_template",
|
|
215
|
+
"partition_node",
|
|
216
|
+
"format",
|
|
217
|
+
"compression",
|
|
218
|
+
]
|
|
191
219
|
|
|
192
220
|
|
|
193
221
|
class DataSensitiveSettings:
|
|
@@ -24,3 +24,8 @@ class IAMRoleAWSCredentials(ConnectorCredentials):
|
|
|
24
24
|
class GCSConnectorCredentials(ConnectorCredentials):
|
|
25
25
|
access_key_id: str
|
|
26
26
|
secret_access_key: str
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
@dataclasses.dataclass(frozen=True)
|
|
30
|
+
class GCSServiceAccountCredentials(ConnectorCredentials):
|
|
31
|
+
account_email: str
|
|
@@ -4277,8 +4277,11 @@ async def format_datasource(
|
|
|
4277
4277
|
format_description(file_parts, doc)
|
|
4278
4278
|
format_tokens(file_parts, doc)
|
|
4279
4279
|
format_schema(file_parts, doc.nodes[0])
|
|
4280
|
-
await format_engine(file_parts, doc.nodes[0], only_ttl=True, client=client)
|
|
4280
|
+
await format_engine(file_parts, doc.nodes[0], only_ttl=True if not for_deploy_diff else False, client=client)
|
|
4281
|
+
if for_deploy_diff:
|
|
4282
|
+
format_import_settings(file_parts, doc.nodes[0])
|
|
4281
4283
|
format_shared_with(file_parts, doc)
|
|
4284
|
+
|
|
4282
4285
|
else:
|
|
4283
4286
|
format_sources(file_parts, doc)
|
|
4284
4287
|
format_maintainer(file_parts, doc)
|
|
@@ -221,23 +221,43 @@ run_test() {
|
|
|
221
221
|
fi
|
|
222
222
|
echo "** $(cat $t)"
|
|
223
223
|
tmpfile=$(mktemp)
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
224
|
+
retries=0
|
|
225
|
+
TOTAL_RETRIES=3
|
|
226
|
+
|
|
227
|
+
# When appending fixtures, we need to retry in case of the data is not replicated in time
|
|
228
|
+
while [ $retries -lt $TOTAL_RETRIES ]; do
|
|
229
|
+
# Run the test and store the output in a temporary file
|
|
230
|
+
bash $t $2 >$tmpfile
|
|
231
|
+
exit_code=$?
|
|
232
|
+
if [ "$exit_code" -eq 0 ]; then
|
|
233
|
+
# If the test passed, break the loop
|
|
234
|
+
if diff -B ${t}.result $tmpfile >/dev/null 2>&1; then
|
|
235
|
+
break
|
|
236
|
+
# If the test failed, increment the retries counter and try again
|
|
237
|
+
else
|
|
238
|
+
retries=$((retries+1))
|
|
239
|
+
fi
|
|
240
|
+
# If the bash command failed, print an error message and break the loop
|
|
227
241
|
else
|
|
228
|
-
|
|
229
|
-
diff -B ${t}.result $tmpfile
|
|
230
|
-
cat $tmpfile
|
|
231
|
-
rm $tmpfile
|
|
232
|
-
return 1
|
|
242
|
+
break
|
|
233
243
|
fi
|
|
244
|
+
done
|
|
245
|
+
|
|
246
|
+
if diff -B ${t}.result $tmpfile >/dev/null 2>&1; then
|
|
247
|
+
echo "✅ Test $t passed"
|
|
248
|
+
rm $tmpfile
|
|
249
|
+
return 0
|
|
250
|
+
elif [ $retries -eq $TOTAL_RETRIES ]; then
|
|
251
|
+
echo "🚨 ERROR: Test $t failed, diff:";
|
|
252
|
+
diff -B ${t}.result $tmpfile
|
|
253
|
+
rm $tmpfile
|
|
254
|
+
return 1
|
|
234
255
|
else
|
|
235
256
|
echo "🚨 ERROR: Test $t failed with bash command exit code $?"
|
|
236
257
|
cat $tmpfile
|
|
237
258
|
rm $tmpfile
|
|
238
259
|
return 1
|
|
239
260
|
fi
|
|
240
|
-
rm $tmpfile
|
|
241
261
|
echo ""
|
|
242
262
|
}
|
|
243
263
|
export -f run_test
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: tinybird-cli
|
|
3
|
-
Version: 3.3.1.
|
|
3
|
+
Version: 3.3.1.dev4
|
|
4
4
|
Summary: Tinybird Command Line Tool
|
|
5
5
|
Home-page: https://docs.tinybird.co/cli.html
|
|
6
6
|
Author: Tinybird
|
|
@@ -19,10 +19,21 @@ Changelog
|
|
|
19
19
|
|
|
20
20
|
---------
|
|
21
21
|
|
|
22
|
+
|
|
23
|
+
3.3.1.dev4
|
|
24
|
+
***********
|
|
25
|
+
|
|
26
|
+
- `Changed` script `exec_test.sh` from `tb init --git` to run retries to avoid flakiness in tests
|
|
27
|
+
|
|
28
|
+
3.3.1.dev3
|
|
29
|
+
***********
|
|
30
|
+
|
|
31
|
+
- `Fixed` `IMPORT` and `ENGINE` changes were not detected `tb deploy`
|
|
32
|
+
|
|
22
33
|
3.3.1.dev2
|
|
23
34
|
***********
|
|
24
35
|
|
|
25
|
-
- `Changed` Update `tb release rm --oldest-rollback` to use new
|
|
36
|
+
- `Changed` Update `tb release rm --oldest-rollback` to use new API
|
|
26
37
|
|
|
27
38
|
3.3.1.dev1
|
|
28
39
|
************
|
|
@@ -31,7 +42,7 @@ Changelog
|
|
|
31
42
|
|
|
32
43
|
3.3.0
|
|
33
44
|
************
|
|
34
|
-
- `Added` Show warning when doing data or pipe operations directly against Live
|
|
45
|
+
- `Added` Show warning when doing data or pipe operations directly against Live.
|
|
35
46
|
- `Added` `bi_stats`, `bi_stats_rt` and `endpoint_errors` to the list of service data sources that the CLI ignore when looking for dependencies of pipes being pushed.
|
|
36
47
|
- `Added` S3 Iam Role connection creation
|
|
37
48
|
- `Added` Connector credential validation
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/tinyunit/tinyunit.py
RENAMED
|
File without changes
|
{tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/tinyunit/tinyunit_lib.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird/tb_cli_modules/workspace_members.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tinybird-cli-3.3.1.dev2 → tinybird-cli-3.3.1.dev4}/tinybird_cli.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|