scruby 0.13.1__py3-none-any.whl → 0.14.0__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 scruby might be problematic. Click here for more details.

scruby/aggregation.py CHANGED
@@ -20,15 +20,44 @@ class Average:
20
20
  self.counter = 0.0
21
21
 
22
22
  def set(self, number: int | float) -> None:
23
- """Add value."""
23
+ """Add value.
24
+
25
+ Args:
26
+ number: Current value.
27
+ """
24
28
  self.value += float(number)
25
29
  self.counter += 1.0
26
30
 
27
31
  def get(self) -> float:
28
- """Get arithmetic average value."""
32
+ """Get arithmetic average value.
33
+
34
+ Returns:
35
+ Number (int|float) - Average value.
36
+ """
29
37
  return self.value / self.counter
30
38
 
31
39
 
40
+ class Counter:
41
+ """Aggregation class for calculating the number of documents.
42
+
43
+ Args:
44
+ max: The maximum counter value.
45
+ """
46
+
47
+ def __init__(self, max: int = 1000) -> None:
48
+ self.max = max
49
+ self.counter = 0
50
+
51
+ def check(self) -> bool:
52
+ """Check the condition of the counter.
53
+
54
+ Returns:
55
+ Boolean value. If `True`, the maximum value is achieved.
56
+ """
57
+ self.counter += 1
58
+ return self.counter == self.max
59
+
60
+
32
61
  class Max:
33
62
  """Aggregation class for calculating the maximum value."""
34
63
 
@@ -36,12 +65,20 @@ class Max:
36
65
  self.value: Any = 0
37
66
 
38
67
  def set(self, number: int | float) -> None:
39
- """Add value."""
68
+ """Add value.
69
+
70
+ Args:
71
+ number: Current value.
72
+ """
40
73
  if number > self.value:
41
74
  self.value = number
42
75
 
43
76
  def get(self) -> Any:
44
- """Get maximum value."""
77
+ """Get maximum value.
78
+
79
+ Returns:
80
+ Number (int|float) - Maximum value.
81
+ """
45
82
  return self.value
46
83
 
47
84
 
@@ -52,12 +89,20 @@ class Min:
52
89
  self.value: Any = 0
53
90
 
54
91
  def set(self, number: int | float) -> None:
55
- """Add value."""
92
+ """Add value.
93
+
94
+ Args:
95
+ number: Current value.
96
+ """
56
97
  if self.value == 0 or number < self.value:
57
98
  self.value = number
58
99
 
59
100
  def get(self) -> Any:
60
- """Get minimum value."""
101
+ """Get minimum value.
102
+
103
+ Returns:
104
+ Number (int|float) - Minimum value.
105
+ """
61
106
  return self.value
62
107
 
63
108
 
@@ -68,9 +113,17 @@ class Sum:
68
113
  self.value: Any = 0
69
114
 
70
115
  def set(self, number: int | float) -> None:
71
- """Add value."""
116
+ """Add value.
117
+
118
+ Args:
119
+ number: Current value.
120
+ """
72
121
  self.value += number
73
122
 
74
123
  def get(self) -> Any:
75
- """Get sum of values."""
124
+ """Get sum of values.
125
+
126
+ Returns:
127
+ Number (int|float) - Sum of values.
128
+ """
76
129
  return self.value
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scruby
3
- Version: 0.13.1
3
+ Version: 0.14.0
4
4
  Summary: A fast key-value storage library.
5
5
  Project-URL: Homepage, https://github.com/kebasyaty/scruby
6
6
  Project-URL: Repository, https://github.com/kebasyaty/scruby
@@ -1,10 +1,10 @@
1
1
  scruby/__init__.py,sha256=GOVcjXmcOEDBbJQJDJlQq-x3M-VGJaMSN278EXsl2po,884
2
- scruby/aggregation.py,sha256=AdVZNl9fV59pWMBQez5upQEuodAg3HIw0ixOnM8FrKg,1762
2
+ scruby/aggregation.py,sha256=q84saKAP72n_VM83fEX_UY9QFz4EyVkHCVuB_1kweDQ,2833
3
3
  scruby/constants.py,sha256=3LZfcxcuRqwzoB0-iogLMjKBZRdxfWJmTbyPwVRhQgY,1007
4
4
  scruby/db.py,sha256=OXtMqq9y6RQkHHWOgFVXqI96v7g58SIoLUq-h09WxjI,20899
5
5
  scruby/errors.py,sha256=aHQri4LNcFVQrSHwjyzb1fL8O49SwjYEU4QgMOo4uyA,622
6
6
  scruby/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- scruby-0.13.1.dist-info/METADATA,sha256=LlJPM_ZrH1yhQA7Yk0owqfigwt72Z2gRIVlDFdJ1cL4,10925
8
- scruby-0.13.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
9
- scruby-0.13.1.dist-info/licenses/LICENSE,sha256=2zZINd6m_jNYlowdQImlEizyhSui5cBAJZRhWQURcEc,1095
10
- scruby-0.13.1.dist-info/RECORD,,
7
+ scruby-0.14.0.dist-info/METADATA,sha256=p6ClZqXYNOcJtNHLgnYXW_CZStKogI-vgqrkmvbMn-w,10925
8
+ scruby-0.14.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
9
+ scruby-0.14.0.dist-info/licenses/LICENSE,sha256=2zZINd6m_jNYlowdQImlEizyhSui5cBAJZRhWQURcEc,1095
10
+ scruby-0.14.0.dist-info/RECORD,,