reykit 1.1.11__py3-none-any.whl → 1.1.13__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.
reykit/rnumber.py CHANGED
@@ -21,9 +21,32 @@ __all__ = (
21
21
  )
22
22
 
23
23
 
24
+ def is_int(number: int | float) -> bool:
25
+ """
26
+ Judge is integer, excluding decimal part is 0.
27
+
28
+ Parameters
29
+ ----------
30
+ number : Number to judge.
31
+
32
+ Returns
33
+ -------
34
+ Judge result.
35
+ """
36
+
37
+ # judge.
38
+ match number:
39
+ case int():
40
+ judge = True
41
+ case _:
42
+ judge = number % 1 == 0
43
+
44
+ return judge
45
+
46
+
24
47
  def digits(number: int | float) -> tuple[int, int]:
25
48
  """
26
- Judge the number of integer digits and decimal digits.
49
+ Judge the number of integer digits and decimal digits, excluding decimal part is 0.
27
50
 
28
51
  Parameters
29
52
  ----------
@@ -34,17 +57,17 @@ def digits(number: int | float) -> tuple[int, int]:
34
57
  Integer digits and decimal digits.
35
58
  """
36
59
 
37
- # Handle parameter.
38
- number_str = str(number)
39
-
40
60
  # Get digits.
41
- if '.' in number_str:
61
+ if is_int(number):
62
+ number_str = str(number)
63
+ int_digits = len(number_str)
64
+ dec_digits = 0
65
+ else:
66
+ number = int(number)
67
+ number_str = str(number)
42
68
  int_str, dec_str = number_str.split('.')
43
69
  int_digits = len(int_str)
44
70
  dec_digits = len(dec_str)
45
- else:
46
- int_digits = len(number_str)
47
- dec_digits = 0
48
71
 
49
72
  return int_digits, dec_digits
50
73
 
@@ -76,7 +99,7 @@ def to_number(
76
99
  throw(ValueError, data)
77
100
 
78
101
  else:
79
- if data % 1 == 0:
102
+ if is_int(data):
80
103
  data = int(data)
81
104
 
82
105
  return data
reykit/rtime.py CHANGED
@@ -30,7 +30,7 @@ from pandas import (
30
30
  )
31
31
 
32
32
  from .rexception import throw
33
- from .rnumber import digits
33
+ from .rnumber import digits, to_number
34
34
  from .rrandom import randn
35
35
  from .rregex import search
36
36
  from .rstdout import echo
@@ -376,6 +376,45 @@ def to_time(
376
376
  return time_obj
377
377
 
378
378
 
379
+ @overload
380
+ def sleep(
381
+ *,
382
+ precision: None = None
383
+ ) -> int: ...
384
+
385
+ @overload
386
+ def sleep(
387
+ second: int,
388
+ *,
389
+ precision: None = None
390
+ ) -> int: ...
391
+
392
+ @overload
393
+ def sleep(
394
+ low: int = 0,
395
+ high: int = 10,
396
+ *,
397
+ precision: None = None
398
+ ) -> int: ...
399
+
400
+ @overload
401
+ def sleep(
402
+ *thresholds: float,
403
+ precision: None = None
404
+ ) -> float: ...
405
+
406
+ @overload
407
+ def sleep(
408
+ *thresholds: float,
409
+ precision: Literal[0] = None
410
+ ) -> int: ...
411
+
412
+ @overload
413
+ def sleep(
414
+ *thresholds: float,
415
+ precision: int = None
416
+ ) -> float: ...
417
+
379
418
  def sleep(
380
419
  *thresholds: float,
381
420
  precision: int | None = None
@@ -403,7 +442,7 @@ def sleep(
403
442
 
404
443
  # Handle parameter.
405
444
  if len(thresholds) == 1:
406
- second = float(thresholds[0])
445
+ second = thresholds[0]
407
446
  else:
408
447
  second = randn(*thresholds, precision=precision)
409
448
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reykit
3
- Version: 1.1.11
3
+ Version: 1.1.13
4
4
  Summary: Rey's kit method set.
5
5
  Project-URL: homepage, https://github.com/reyxbo/reykit/
6
6
  Author-email: Rey <reyxbo@163.com>
@@ -7,8 +7,8 @@ reykit/rexception.py,sha256=ftXVdEVkU0B0HXbKjQTiJRJVVGbvhorwWtMiplpN9Zk,8118
7
7
  reykit/rimage.py,sha256=fQpIHX6Go3Jk_MDgsSDnZx27EZHumyGdgI9xyjP5lYQ,6275
8
8
  reykit/rlog.py,sha256=qhmATMv3_bJRaiuN9mo8hSf_95HH5Lw838aJFio98sg,25760
9
9
  reykit/rmonkey.py,sha256=RqhmKXabl11s2RJaGizpm00Q1yEkul1Je5uxw8_thUk,7584
10
- reykit/rmultitask.py,sha256=9UVAg8P85UsLS_exW-e6tZTa_b5r3ceL7LQRDrP8eAw,21981
11
- reykit/rnumber.py,sha256=XseLDNLDOt-XYP2P9oDbkKYuHudeSoWzIHsOENO8vvE,3196
10
+ reykit/rmultitask.py,sha256=sHmE2JXzPkDxeJGUjU7sg9PTDYjPQqSfAGlwO943K7Q,22929
11
+ reykit/rnumber.py,sha256=6x4FuRB-MTJheo6wbTUEaBarnew15jomlrneo3_Q2wg,3646
12
12
  reykit/ros.py,sha256=6fHKCpxoWmCpxlRpGag5E-GzGsh0xt8YEmx9iqDvN_o,40780
13
13
  reykit/rrandom.py,sha256=TfQKYXRw379MMRIZYfjBtCkmsartA9thhDIG1fc3tM4,9233
14
14
  reykit/rregex.py,sha256=XTlnDLior8yyncFdrTr9FsVlBcqMXvsWRfpmvQS-BR8,6089
@@ -17,14 +17,14 @@ reykit/rstdout.py,sha256=vSvD4QjYybNiGnowWLXRU6q1u9ERPjr8YTXgq82eYDU,9648
17
17
  reykit/rsystem.py,sha256=2upm4hWnYfeeIjqSgJAC3GJOcAiZt1JS3UXDs_pnMM0,34772
18
18
  reykit/rtable.py,sha256=gXszf_9DE_5SMdNcxMX-xd4IpHGQVjGsN3NQIm7wVGY,12055
19
19
  reykit/rtext.py,sha256=whaKpVkd36yYVtCmZ1ptp_TVRL1v3f7Jab0vPXC8wXY,11089
20
- reykit/rtime.py,sha256=iMPJcJNx4LCoX5gHIvTNuTAWiYmz-pYTyphLZ38mxKU,16476
20
+ reykit/rtime.py,sha256=L0WH6huXiNgrp1770f088ruoyovAgiB7I01pmBim9DY,17054
21
21
  reykit/rtype.py,sha256=AmelC4UQwO5n-dnRKo5fR4n5qEWz3d2yImTtdmvlONc,2003
22
22
  reykit/rwrap.py,sha256=AJBYTDLHLGlMSiGIKoVkCsQk-Y4nDHWWFVCdnz5Bwdk,15222
23
23
  reykit/rzip.py,sha256=i6KkmeSWCnq025d-O1mbuCYezNRUhyY9OGVK0CRlNAM,3522
24
24
  reykit/rdll/__init__.py,sha256=vM9V7wSNno-WH9RrxgHTIgCkQm8LmBFoLFO8z7qovNo,306
25
25
  reykit/rdll/rdll_inject.py,sha256=bETl8tywtN1OiQudbA21u6GwBM_bqVX7jbiisNj_JBg,645
26
26
  reykit/rdll/rdll_inject_core.py,sha256=Trgh_pdJs_Lw-Y-0Kkn8kHr4BnilM9dBKnHnX25T_pM,5092
27
- reykit-1.1.11.dist-info/METADATA,sha256=-bdW79_QpDoJ8moBzretuJd4QKiiQP9ML7Z5iXp1y2Q,1889
28
- reykit-1.1.11.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
29
- reykit-1.1.11.dist-info/licenses/LICENSE,sha256=UYLPqp7BvPiH8yEZduJqmmyEl6hlM3lKrFIefiD4rvk,1059
30
- reykit-1.1.11.dist-info/RECORD,,
27
+ reykit-1.1.13.dist-info/METADATA,sha256=Axe5egv2NzofmYvHClZPjYAs7Q9qgZ-Vlbcf5C-F6S0,1889
28
+ reykit-1.1.13.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
29
+ reykit-1.1.13.dist-info/licenses/LICENSE,sha256=UYLPqp7BvPiH8yEZduJqmmyEl6hlM3lKrFIefiD4rvk,1059
30
+ reykit-1.1.13.dist-info/RECORD,,