tinybird-cli 5.1.1.dev3__tar.gz → 5.2.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-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/PKG-INFO +5 -13
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/__cli__.py +2 -2
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/datatypes.py +88 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird_cli.egg-info/PKG-INFO +5 -13
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/setup.cfg +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/ch_utils/constants.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/ch_utils/engine.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/check_pypi.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/client.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/config.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/connectors.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/context.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/datafile.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/feedback_manager.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/git_settings.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/sql.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/sql_template.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/sql_template_fmt.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/sql_toolset.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/syncasync.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/auth.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/branch.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/cicd.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/cli.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/common.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/config.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/connection.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/datasource.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/exceptions.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/job.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/pipe.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/regions.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/telemetry.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/test.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/tinyunit/tinyunit.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/tinyunit/tinyunit_lib.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/token.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/workspace.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/workspace_members.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tornado_template.py +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird_cli.egg-info/SOURCES.txt +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird_cli.egg-info/dependency_links.txt +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird_cli.egg-info/entry_points.txt +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird_cli.egg-info/requires.txt +0 -0
- {tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/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: 5.
|
|
3
|
+
Version: 5.2.1.dev0
|
|
4
4
|
Summary: Tinybird Command Line Tool
|
|
5
5
|
Home-page: https://www.tinybird.co/docs/cli/introduction.html
|
|
6
6
|
Author: Tinybird
|
|
@@ -18,20 +18,12 @@ The Tinybird command-line tool allows you to use all the Tinybird functionality
|
|
|
18
18
|
Changelog
|
|
19
19
|
----------
|
|
20
20
|
|
|
21
|
-
5.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
- `Improved` No need for `--node` param in `tb pipe populate`
|
|
25
|
-
|
|
26
|
-
5.1.1.dev2
|
|
27
|
-
************
|
|
21
|
+
5.2.0
|
|
22
|
+
******
|
|
28
23
|
|
|
24
|
+
- `Added` internal changes
|
|
29
25
|
- `Added` `tb pipe unlink` command
|
|
30
|
-
|
|
31
|
-
5.1.1.dev1
|
|
32
|
-
***********
|
|
33
|
-
|
|
34
|
-
- `Added` internal release
|
|
26
|
+
- `Changed` No need for `--node` param in `tb pipe populate`
|
|
35
27
|
|
|
36
28
|
5.1.0
|
|
37
29
|
******
|
|
@@ -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__ = '5.
|
|
8
|
-
__revision__ = '
|
|
7
|
+
__version__ = '5.2.1.dev0'
|
|
8
|
+
__revision__ = '83349b1'
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import ast
|
|
2
|
+
import decimal
|
|
2
3
|
import re
|
|
4
|
+
from decimal import Decimal
|
|
3
5
|
|
|
4
6
|
datetime64_patterns = [
|
|
5
7
|
r"\d\d\d\d.\d\d.\d\d(T|\s)\d\d:\d\d:\d\d.\d\d\d",
|
|
@@ -317,3 +319,89 @@ def type_test(i, t):
|
|
|
317
319
|
return True
|
|
318
320
|
except Exception:
|
|
319
321
|
return False
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
def parse_decimal_type(typ):
|
|
325
|
+
"""
|
|
326
|
+
>>> parse_decimal_type("decimal")
|
|
327
|
+
|
|
328
|
+
>>> parse_decimal_type('Decimal')
|
|
329
|
+
(64, 10, 0)
|
|
330
|
+
>>> parse_decimal_type('Decimal()')
|
|
331
|
+
|
|
332
|
+
>>> parse_decimal_type('Decimal(2)')
|
|
333
|
+
(32, 2, 0)
|
|
334
|
+
>>> parse_decimal_type('Decimal(5,2)')
|
|
335
|
+
(32, 5, 2)
|
|
336
|
+
>>> parse_decimal_type('Decimal( 9 , 2 )')
|
|
337
|
+
(32, 9, 2)
|
|
338
|
+
>>> parse_decimal_type('Decimal(10,2)')
|
|
339
|
+
(64, 10, 2)
|
|
340
|
+
>>> parse_decimal_type('Decimal(19,2)')
|
|
341
|
+
(128, 19, 2)
|
|
342
|
+
>>> parse_decimal_type('Decimal(39,2)')
|
|
343
|
+
(256, 39, 2)
|
|
344
|
+
>>> parse_decimal_type('Decimal32(9)')
|
|
345
|
+
(32, 9, 9)
|
|
346
|
+
>>> parse_decimal_type('Decimal32(10)')
|
|
347
|
+
|
|
348
|
+
>>> parse_decimal_type('Decimal(10,10)')
|
|
349
|
+
(64, 10, 10)
|
|
350
|
+
>>> parse_decimal_type('Decimal(10,11)')
|
|
351
|
+
|
|
352
|
+
>>> parse_decimal_type('Decimal32(5, 2)')
|
|
353
|
+
|
|
354
|
+
>>> parse_decimal_type('Decimal64(2)')
|
|
355
|
+
(64, 18, 2)
|
|
356
|
+
>>> parse_decimal_type('Decimal128(2)')
|
|
357
|
+
(128, 38, 2)
|
|
358
|
+
>>> parse_decimal_type('Decimal256(2)')
|
|
359
|
+
(256, 76, 2)
|
|
360
|
+
"""
|
|
361
|
+
# Obtained from https://clickhouse.com/docs/en/sql-reference/data-types/decimal
|
|
362
|
+
max_digits_by_bit_width = {32: 9, 64: 18, 128: 38, 256: 76}
|
|
363
|
+
|
|
364
|
+
# Check if type is Decimal, Decimal(P), or Decimal(P, S) with whitespace support
|
|
365
|
+
# Regex contains two capturing groups. First capturing P. Second capturing S.
|
|
366
|
+
if m := re.match(r"^Decimal\s*(?:\(\s*(\d+)(?:\s*,\s*(\d+))?\s*\))?$", typ):
|
|
367
|
+
p, s = int(m.group(1) or 10), int(m.group(2) or 0)
|
|
368
|
+
b = min(bit_width for bit_width, max_digits in max_digits_by_bit_width.items() if max_digits >= p)
|
|
369
|
+
if p < s or b is None:
|
|
370
|
+
return None
|
|
371
|
+
# Check if type is Decimal32(S), Decimal64(S), Decimal128(S), or Decimal256(S) with whitespace support.
|
|
372
|
+
# Regex contains 2 capturing groups. First capturing 32, 64, 128 or 256. Second capturing S.
|
|
373
|
+
elif m := re.match(r"^Decimal(32|64|128|256)\s*\(\s*(\d+)\s*\)$", typ):
|
|
374
|
+
b, s = int(m.group(1)), int(m.group(2))
|
|
375
|
+
p = max_digits_by_bit_width[int(b)]
|
|
376
|
+
if p < s:
|
|
377
|
+
return None
|
|
378
|
+
else:
|
|
379
|
+
return None
|
|
380
|
+
return b, p, s
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
def is_type_decimal(type_to_check):
|
|
384
|
+
"""
|
|
385
|
+
>>> is_type_decimal('Decimal')
|
|
386
|
+
True
|
|
387
|
+
>>> is_type_decimal("Decimal(10, 2)")
|
|
388
|
+
True
|
|
389
|
+
>>> is_type_decimal("decimal")
|
|
390
|
+
False
|
|
391
|
+
"""
|
|
392
|
+
return parse_decimal_type(type_to_check) is not None
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
def get_decimal_limits(p, s):
|
|
396
|
+
"""
|
|
397
|
+
>>> get_decimal_limits(1, 0)
|
|
398
|
+
(Decimal('-9'), Decimal('9'))
|
|
399
|
+
>>> get_decimal_limits(5, 5)
|
|
400
|
+
(Decimal('-0.99999'), Decimal('0.99999'))
|
|
401
|
+
>>> get_decimal_limits(76, 38)
|
|
402
|
+
(Decimal('-99999999999999999999999999999999999999.99999999999999999999999999999999999999'), Decimal('99999999999999999999999999999999999999.99999999999999999999999999999999999999'))
|
|
403
|
+
"""
|
|
404
|
+
with decimal.localcontext(prec=p + 2):
|
|
405
|
+
max_value = Decimal(((10**p) - 1)) / (10**s)
|
|
406
|
+
min_value = -max_value
|
|
407
|
+
return min_value, max_value
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: tinybird-cli
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.2.1.dev0
|
|
4
4
|
Summary: Tinybird Command Line Tool
|
|
5
5
|
Home-page: https://www.tinybird.co/docs/cli/introduction.html
|
|
6
6
|
Author: Tinybird
|
|
@@ -18,20 +18,12 @@ The Tinybird command-line tool allows you to use all the Tinybird functionality
|
|
|
18
18
|
Changelog
|
|
19
19
|
----------
|
|
20
20
|
|
|
21
|
-
5.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
- `Improved` No need for `--node` param in `tb pipe populate`
|
|
25
|
-
|
|
26
|
-
5.1.1.dev2
|
|
27
|
-
************
|
|
21
|
+
5.2.0
|
|
22
|
+
******
|
|
28
23
|
|
|
24
|
+
- `Added` internal changes
|
|
29
25
|
- `Added` `tb pipe unlink` command
|
|
30
|
-
|
|
31
|
-
5.1.1.dev1
|
|
32
|
-
***********
|
|
33
|
-
|
|
34
|
-
- `Added` internal release
|
|
26
|
+
- `Changed` No need for `--node` param in `tb pipe populate`
|
|
35
27
|
|
|
36
28
|
5.1.0
|
|
37
29
|
******
|
|
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
|
{tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/tinyunit/tinyunit.py
RENAMED
|
File without changes
|
{tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/tinyunit/tinyunit_lib.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird/tb_cli_modules/workspace_members.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tinybird-cli-5.1.1.dev3 → tinybird-cli-5.2.1.dev0}/tinybird_cli.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|