tinybird 4.6.1__tar.gz → 4.6.1.dev0__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-4.6.1 → tinybird-4.6.1.dev0}/PKG-INFO +2 -7
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/sql_template.py +2 -2
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/__cli__.py +2 -2
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/common.py +3 -9
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/datafile/pull.py +6 -29
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/query_output.py +1 -3
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/common.py +1 -3
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird.egg-info/PKG-INFO +2 -7
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird.egg-info/requires.txt +1 -1
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/setup.cfg +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/__cli__.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/ch_utils/constants.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/ch_utils/engine.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/check_pypi.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/client.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/config.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/context.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/datafile/common.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/datafile/exceptions.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/datafile/parse_connection.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/datafile/parse_datasource.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/datafile/parse_pipe.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/datatypes.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/feedback_manager.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/git_settings.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/prompts.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/service_datasources.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/sql.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/sql_template_fmt.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/sql_toolset.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/syncasync.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/check_pypi.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/cli.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/client.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/config.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/branch.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/build.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/build_common.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/cicd.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/cli.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/config.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/connection.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/connection_dynamodb.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/connection_kafka.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/connection_s3.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/copy.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/create.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/datafile/build.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/datafile/build_common.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/datafile/build_datasource.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/datafile/build_pipe.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/datafile/diff.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/datafile/fixture.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/datafile/format_common.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/datafile/format_connection.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/datafile/format_datasource.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/datafile/format_pipe.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/datafile/pipe_checker.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/datafile/playground.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/datasource.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/deployment.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/deployment_common.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/deprecations.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/endpoint.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/exceptions.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/feedback_manager.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/fmt.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/info.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/infra.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/job.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/job_common.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/llm.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/llm_utils.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/local.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/local_common.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/local_logs.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/login.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/login_common.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/logout.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/logs.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/materialization.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/open.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/pipe.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/preview.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/project.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/project_commands.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/py_project.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/regions.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/secret.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/secret_common.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/sink.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/table.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/telemetry.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/test.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/test_common.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/tinyunit/tinyunit.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/tinyunit/tinyunit_lib.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/token.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/ts_project.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/watch.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/workspace.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb/modules/workspace_members.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/auth.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/branch.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/cicd.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/cli.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/config.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/connection.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/datasource.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/exceptions.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/fmt.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/job.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/pipe.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/regions.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/tag.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/telemetry.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/test.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/tinyunit/tinyunit.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/tinyunit/tinyunit_lib.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/workspace.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tb_cli_modules/workspace_members.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird/tornado_template.py +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird.egg-info/SOURCES.txt +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird.egg-info/dependency_links.txt +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird.egg-info/entry_points.txt +0 -0
- {tinybird-4.6.1 → tinybird-4.6.1.dev0}/tinybird.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: tinybird
|
|
3
|
-
Version: 4.6.1
|
|
3
|
+
Version: 4.6.1.dev0
|
|
4
4
|
Summary: Tinybird Command Line Tool
|
|
5
5
|
Home-page: https://www.tinybird.co/docs/forward/commands
|
|
6
6
|
Author: Tinybird
|
|
@@ -27,7 +27,7 @@ Requires-Dist: requests<3,>=2.28.1
|
|
|
27
27
|
Requires-Dist: shandy-sqlfmt==0.11.1
|
|
28
28
|
Requires-Dist: shandy-sqlfmt[jinjafmt]==0.11.1
|
|
29
29
|
Requires-Dist: toposort==1.10
|
|
30
|
-
Requires-Dist: tornado~=6.
|
|
30
|
+
Requires-Dist: tornado~=6.0.0
|
|
31
31
|
Requires-Dist: urllib3<2,>=1.26.14
|
|
32
32
|
Requires-Dist: watchdog==6.0.0
|
|
33
33
|
Requires-Dist: wheel
|
|
@@ -52,11 +52,6 @@ The Tinybird command-line tool allows you to use all the Tinybird functionality
|
|
|
52
52
|
Changelog
|
|
53
53
|
----------
|
|
54
54
|
|
|
55
|
-
4.6.1
|
|
56
|
-
*******
|
|
57
|
-
|
|
58
|
-
- `Changed` `tb pull` to overwrite existing local files when pulling from a Tinybird workspace.
|
|
59
|
-
|
|
60
55
|
4.6.0
|
|
61
56
|
*******
|
|
62
57
|
|
|
@@ -7,7 +7,7 @@ from collections import deque
|
|
|
7
7
|
from datetime import datetime
|
|
8
8
|
from functools import lru_cache
|
|
9
9
|
from json import loads
|
|
10
|
-
from typing import Any, Callable, Dict, List, Optional, Tuple, Union
|
|
10
|
+
from typing import Any, Callable, Dict, List, Optional, Tuple, Union
|
|
11
11
|
|
|
12
12
|
from tornado import escape
|
|
13
13
|
from tornado.util import ObjectDict, exec_in, unicode_type
|
|
@@ -1499,7 +1499,7 @@ def generate(self, **kwargs) -> Tuple[str, TemplateExecutionResults]:
|
|
|
1499
1499
|
)
|
|
1500
1500
|
|
|
1501
1501
|
exec_in(self.compiled, namespace)
|
|
1502
|
-
execute =
|
|
1502
|
+
execute = namespace["_tt_execute"]
|
|
1503
1503
|
# Clear the traceback module's cache of source data now that
|
|
1504
1504
|
# we've generated a new template (mainly for this module's
|
|
1505
1505
|
# unittests, where different tests reuse the same name).
|
|
@@ -4,5 +4,5 @@ __description__ = 'Tinybird Command Line Tool'
|
|
|
4
4
|
__url__ = 'https://www.tinybird.co/docs/forward/commands'
|
|
5
5
|
__author__ = 'Tinybird'
|
|
6
6
|
__author_email__ = 'support@tinybird.co'
|
|
7
|
-
__version__ = '4.6.1'
|
|
8
|
-
__revision__ = '
|
|
7
|
+
__version__ = '4.6.1.dev0'
|
|
8
|
+
__revision__ = '1d9f802'
|
|
@@ -105,9 +105,7 @@ def echo_safe_humanfriendly_tables_format_smart_table(data: Iterable[Any], colum
|
|
|
105
105
|
try:
|
|
106
106
|
click.echo(humanfriendly.tables.format_smart_table(data, column_names=column_names))
|
|
107
107
|
except ValueError as exc:
|
|
108
|
-
|
|
109
|
-
# Python 3.12 wording: "max() iterable argument is empty"
|
|
110
|
-
if str(exc) in ("max() arg is an empty sequence", "max() iterable argument is empty"):
|
|
108
|
+
if str(exc) == "max() arg is an empty sequence":
|
|
111
109
|
click.echo("------------")
|
|
112
110
|
click.echo("Empty")
|
|
113
111
|
click.echo("------------")
|
|
@@ -124,9 +122,7 @@ def echo_safe_humanfriendly_tables_format_pretty_table(data: Iterable[Any], colu
|
|
|
124
122
|
try:
|
|
125
123
|
click.echo(humanfriendly.tables.format_pretty_table(data, column_names=column_names))
|
|
126
124
|
except ValueError as exc:
|
|
127
|
-
|
|
128
|
-
# Python 3.12 wording: "max() iterable argument is empty"
|
|
129
|
-
if str(exc) in ("max() arg is an empty sequence", "max() iterable argument is empty"):
|
|
125
|
+
if str(exc) == "max() arg is an empty sequence":
|
|
130
126
|
click.echo("------------")
|
|
131
127
|
click.echo("Empty")
|
|
132
128
|
click.echo("------------")
|
|
@@ -143,9 +139,7 @@ def echo_safe_format_table(data: Iterable[Any], columns) -> None:
|
|
|
143
139
|
try:
|
|
144
140
|
click.echo(format_table(data, columns))
|
|
145
141
|
except ValueError as exc:
|
|
146
|
-
|
|
147
|
-
# Python 3.12 wording: "max() iterable argument is empty"
|
|
148
|
-
if str(exc) in ("max() arg is an empty sequence", "max() iterable argument is empty"):
|
|
142
|
+
if str(exc) == "max() arg is an empty sequence":
|
|
149
143
|
click.echo("------------")
|
|
150
144
|
click.echo("Empty")
|
|
151
145
|
click.echo("------------")
|
|
@@ -8,8 +8,6 @@ from tinybird.tb.modules.datafile.format_datasource import format_datasource
|
|
|
8
8
|
from tinybird.tb.modules.datafile.format_pipe import format_pipe
|
|
9
9
|
from tinybird.tb.modules.feedback_manager import FeedbackManager
|
|
10
10
|
|
|
11
|
-
PULL_EXISTING_FILE_MAX_DEPTH = 5
|
|
12
|
-
|
|
13
11
|
|
|
14
12
|
def folder_pull(
|
|
15
13
|
client: TinyB,
|
|
@@ -20,7 +18,7 @@ def folder_pull(
|
|
|
20
18
|
progress_bar: bool = False,
|
|
21
19
|
fmt: bool = False,
|
|
22
20
|
) -> list[str]:
|
|
23
|
-
def get_file_folder(extension: str, resource_type: Optional[str])
|
|
21
|
+
def get_file_folder(extension: str, resource_type: Optional[str]):
|
|
24
22
|
if extension == "datasource":
|
|
25
23
|
return "datasources"
|
|
26
24
|
if extension == "connection":
|
|
@@ -37,24 +35,6 @@ def folder_pull(
|
|
|
37
35
|
return "pipes"
|
|
38
36
|
return None
|
|
39
37
|
|
|
40
|
-
def find_existing_resource_file(dest_folder: Path, name: str) -> Optional[Path]:
|
|
41
|
-
if not dest_folder.exists():
|
|
42
|
-
return None
|
|
43
|
-
|
|
44
|
-
candidates = []
|
|
45
|
-
for candidate in dest_folder.rglob(name):
|
|
46
|
-
if not candidate.is_file():
|
|
47
|
-
continue
|
|
48
|
-
|
|
49
|
-
relative_parent = candidate.parent.relative_to(dest_folder)
|
|
50
|
-
if len(relative_parent.parts) <= PULL_EXISTING_FILE_MAX_DEPTH:
|
|
51
|
-
candidates.append(candidate)
|
|
52
|
-
|
|
53
|
-
if not candidates:
|
|
54
|
-
return None
|
|
55
|
-
|
|
56
|
-
return sorted(candidates, key=lambda path: (len(path.parent.relative_to(dest_folder).parts), str(path)))[0]
|
|
57
|
-
|
|
58
38
|
def write_files(
|
|
59
39
|
resources: list[dict[str, Any]],
|
|
60
40
|
extension: str,
|
|
@@ -82,17 +62,14 @@ def folder_pull(
|
|
|
82
62
|
file_folder = get_file_folder(extension, k.get("type"))
|
|
83
63
|
f = Path(dest_folder) / file_folder if file_folder is not None else Path(dest_folder)
|
|
84
64
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
if not f.exists():
|
|
90
|
-
f.mkdir(parents=True)
|
|
91
|
-
f = f / name
|
|
65
|
+
if not f.exists():
|
|
66
|
+
f.mkdir(parents=True)
|
|
67
|
+
|
|
68
|
+
f = f / name
|
|
92
69
|
|
|
93
70
|
if verbose:
|
|
94
71
|
click.echo(FeedbackManager.info_writing_resource(resource=f))
|
|
95
|
-
if not f.exists() or force
|
|
72
|
+
if not f.exists() or force:
|
|
96
73
|
with open(f, "w") as fd:
|
|
97
74
|
if resource_to_write:
|
|
98
75
|
fd.write(resource_to_write)
|
|
@@ -26,9 +26,7 @@ def print_table_formatted(res: dict, name: str):
|
|
|
26
26
|
click.echo(FeedbackManager.success(message=stats_message))
|
|
27
27
|
click.echo(FeedbackManager.gray(message=rows_message))
|
|
28
28
|
except ValueError as exc:
|
|
29
|
-
|
|
30
|
-
# Python 3.12 wording: "max() iterable argument is empty"
|
|
31
|
-
if str(exc) in ("max() arg is an empty sequence", "max() iterable argument is empty"):
|
|
29
|
+
if str(exc) == "max() arg is an empty sequence":
|
|
32
30
|
click.echo("------------")
|
|
33
31
|
else:
|
|
34
32
|
raise
|
|
@@ -112,9 +112,7 @@ def echo_safe_humanfriendly_tables_format_smart_table(data: Iterable[Any], colum
|
|
|
112
112
|
try:
|
|
113
113
|
click.echo(humanfriendly.tables.format_smart_table(data, column_names=column_names))
|
|
114
114
|
except ValueError as exc:
|
|
115
|
-
|
|
116
|
-
# Python 3.12 wording: "max() iterable argument is empty"
|
|
117
|
-
if str(exc) in ("max() arg is an empty sequence", "max() iterable argument is empty"):
|
|
115
|
+
if str(exc) == "max() arg is an empty sequence":
|
|
118
116
|
click.echo("------------")
|
|
119
117
|
click.echo("Empty")
|
|
120
118
|
click.echo("------------")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: tinybird
|
|
3
|
-
Version: 4.6.1
|
|
3
|
+
Version: 4.6.1.dev0
|
|
4
4
|
Summary: Tinybird Command Line Tool
|
|
5
5
|
Home-page: https://www.tinybird.co/docs/forward/commands
|
|
6
6
|
Author: Tinybird
|
|
@@ -27,7 +27,7 @@ Requires-Dist: requests<3,>=2.28.1
|
|
|
27
27
|
Requires-Dist: shandy-sqlfmt==0.11.1
|
|
28
28
|
Requires-Dist: shandy-sqlfmt[jinjafmt]==0.11.1
|
|
29
29
|
Requires-Dist: toposort==1.10
|
|
30
|
-
Requires-Dist: tornado~=6.
|
|
30
|
+
Requires-Dist: tornado~=6.0.0
|
|
31
31
|
Requires-Dist: urllib3<2,>=1.26.14
|
|
32
32
|
Requires-Dist: watchdog==6.0.0
|
|
33
33
|
Requires-Dist: wheel
|
|
@@ -52,11 +52,6 @@ The Tinybird command-line tool allows you to use all the Tinybird functionality
|
|
|
52
52
|
Changelog
|
|
53
53
|
----------
|
|
54
54
|
|
|
55
|
-
4.6.1
|
|
56
|
-
*******
|
|
57
|
-
|
|
58
|
-
- `Changed` `tb pull` to overwrite existing local files when pulling from a Tinybird workspace.
|
|
59
|
-
|
|
60
55
|
4.6.0
|
|
61
56
|
*******
|
|
62
57
|
|
|
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
|
|
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
|
|
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
|
|
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
|