bear-utils 0.9.0__py3-none-any.whl → 0.9.3__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.
- bear_utils/_internal/_version.py +1 -0
- bear_utils/_internal/cli.py +55 -9
- bear_utils/_internal/debug.py +19 -4
- bear_utils/cli/_get_version.py +207 -0
- bear_utils/constants/__init__.py +6 -2
- bear_utils/constants/_exit_code.py +1 -1
- bear_utils/constants/_http_status_code.py +1 -1
- bear_utils/constants/_meta.py +107 -16
- bear_utils/extras/__init__.py +6 -0
- bear_utils/extras/_tools.py +11 -119
- bear_utils/extras/_zapper.py +399 -0
- bear_utils/graphics/font/_utils.py +188 -0
- bear_utils/graphics/font/block_font.py +68 -7
- bear_utils/logger_manager/_log_level.py +14 -14
- {bear_utils-0.9.0.dist-info → bear_utils-0.9.3.dist-info}/METADATA +3 -2
- {bear_utils-0.9.0.dist-info → bear_utils-0.9.3.dist-info}/RECORD +17 -13
- {bear_utils-0.9.0.dist-info → bear_utils-0.9.3.dist-info}/WHEEL +0 -0
@@ -0,0 +1,188 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from collections.abc import Callable
|
4
|
+
from dataclasses import dataclass
|
5
|
+
from io import StringIO
|
6
|
+
import re
|
7
|
+
from typing import Any, Self
|
8
|
+
|
9
|
+
from rich.align import Align
|
10
|
+
from rich.panel import Panel
|
11
|
+
from rich.text import Text
|
12
|
+
|
13
|
+
from bear_utils.graphics.font._theme import CyberTheme
|
14
|
+
from bear_utils.graphics.font.block_font import Style
|
15
|
+
from bear_utils.logger_manager import LogConsole as Console
|
16
|
+
|
17
|
+
|
18
|
+
@dataclass
|
19
|
+
class HeaderConfig:
|
20
|
+
"""Configuration for header styling."""
|
21
|
+
|
22
|
+
top_sep: str = "#"
|
23
|
+
left_sep: str = ">"
|
24
|
+
right_sep: str = "<"
|
25
|
+
bottom_sep: str = "#"
|
26
|
+
length: int = 60
|
27
|
+
title_style: str = "bold red" # s1
|
28
|
+
border_style: str = "bold blue" # s2 - top/bottom lines
|
29
|
+
separator_style: str = "bold green" # s3 - left/right separators
|
30
|
+
overall_style: str = "bold yellow" # s4
|
31
|
+
center_align: bool = True
|
32
|
+
return_txt: bool = False
|
33
|
+
use_panel: bool = False # New option!
|
34
|
+
|
35
|
+
|
36
|
+
class TextHelper:
|
37
|
+
def _create_separator_line(self, char: str, length: int, style: str) -> Text:
|
38
|
+
"""Create a styled separator line."""
|
39
|
+
return Text(char * length, style=style)
|
40
|
+
|
41
|
+
def _create_title_line_manual(self, title: str, cfg: HeaderConfig) -> Text:
|
42
|
+
"""Create title line with manual separator padding."""
|
43
|
+
title_with_spaces = f" {title} "
|
44
|
+
title_length = len(title_with_spaces)
|
45
|
+
remaining_space = cfg.length - title_length
|
46
|
+
left_padding = remaining_space // 2
|
47
|
+
right_padding = remaining_space - left_padding
|
48
|
+
title_line = Text()
|
49
|
+
title_line.append(cfg.left_sep * left_padding, style=cfg.separator_style)
|
50
|
+
title_line.append(f" {title} ", style=cfg.title_style)
|
51
|
+
title_line.append(cfg.right_sep * right_padding, style=cfg.separator_style)
|
52
|
+
return title_line
|
53
|
+
|
54
|
+
def _create_title_line_rich(self, title: str, cfg: HeaderConfig) -> Text:
|
55
|
+
"""Create title line using Rich's alignment."""
|
56
|
+
styled_title = Text(f" {title} ", style=cfg.title_style)
|
57
|
+
title_line = Text()
|
58
|
+
title_line.append(cfg.left_sep, style=cfg.separator_style)
|
59
|
+
title_line.append(styled_title)
|
60
|
+
title_line.append(cfg.right_sep, style=cfg.separator_style)
|
61
|
+
return Text.from_markup(str(Align.center(title_line, width=cfg.length)))
|
62
|
+
|
63
|
+
def _create_panel_header(self, title: str, cfg: HeaderConfig) -> Panel:
|
64
|
+
"""Create header using Rich Panel."""
|
65
|
+
return Panel(
|
66
|
+
f"[{cfg.title_style}]{title}[/{cfg.title_style}]",
|
67
|
+
width=cfg.length,
|
68
|
+
border_style=cfg.border_style,
|
69
|
+
expand=False,
|
70
|
+
)
|
71
|
+
|
72
|
+
def _create_manual_header(self, title: str, cfg: HeaderConfig) -> list[Text]:
|
73
|
+
"""Create header using manual separator lines."""
|
74
|
+
top_line = self._create_separator_line(cfg.top_sep, cfg.length, cfg.border_style)
|
75
|
+
bottom_line = self._create_separator_line(cfg.bottom_sep, cfg.length, cfg.border_style)
|
76
|
+
title_line = self._create_title_line_manual(title, cfg)
|
77
|
+
|
78
|
+
return [top_line, title_line, bottom_line]
|
79
|
+
|
80
|
+
def print_header(self, title: str, config: HeaderConfig | None = None, **kwargs) -> str:
|
81
|
+
"""Generate a header string with customizable separators and styling.
|
82
|
+
|
83
|
+
Args:
|
84
|
+
title: The title text to display
|
85
|
+
config: HeaderConfig object, or None to use defaults
|
86
|
+
**kwargs: Override any config values (top_sep, left_sep, etc.)
|
87
|
+
"""
|
88
|
+
local_console = Console()
|
89
|
+
cfg = config or HeaderConfig()
|
90
|
+
for key, value in kwargs.items():
|
91
|
+
if hasattr(cfg, key):
|
92
|
+
setattr(cfg, key, value)
|
93
|
+
|
94
|
+
if cfg.use_panel:
|
95
|
+
panel: Panel = self._create_panel_header(title, cfg)
|
96
|
+
output: Align | Panel = Align.center(panel) if cfg.center_align else panel
|
97
|
+
|
98
|
+
if not cfg.return_txt:
|
99
|
+
local_console.print(output, style=cfg.overall_style)
|
100
|
+
|
101
|
+
temp_console = Console(file=StringIO(), width=cfg.length)
|
102
|
+
temp_console.print(output, style=cfg.overall_style)
|
103
|
+
return temp_console.file.getvalue()
|
104
|
+
|
105
|
+
header_lines = self._create_manual_header(title, cfg)
|
106
|
+
|
107
|
+
if cfg.center_align:
|
108
|
+
header_lines = [Align.center(line) for line in header_lines]
|
109
|
+
|
110
|
+
if not cfg.return_txt:
|
111
|
+
local_console.print() # Leading newline
|
112
|
+
for line in header_lines:
|
113
|
+
local_console.print(line, style=cfg.overall_style)
|
114
|
+
local_console.print() # Trailing newline
|
115
|
+
output_lines: list[str] = [str(line) for line in header_lines]
|
116
|
+
return "\n" + "\n".join(output_lines) + "\n"
|
117
|
+
|
118
|
+
def quick_header(self, title: str, style: str = "cyberpunk") -> str:
|
119
|
+
"""Quick header with predefined styles."""
|
120
|
+
styles = {
|
121
|
+
"cyberpunk": HeaderConfig(
|
122
|
+
top_sep=str(Style.SOLID),
|
123
|
+
left_sep=str(Style.RIGHT_ARROWS),
|
124
|
+
right_sep=str(Style.LEFT_ARROWS),
|
125
|
+
bottom_sep=str(Style.SOLID),
|
126
|
+
title_style="bold bright_magenta",
|
127
|
+
border_style="bright_cyan",
|
128
|
+
separator_style="bright_green",
|
129
|
+
overall_style="",
|
130
|
+
use_panel=False,
|
131
|
+
),
|
132
|
+
"panel": HeaderConfig(title_style="bold bright_magenta", border_style="bright_cyan", use_panel=True),
|
133
|
+
"classic": HeaderConfig(), # Uses defaults
|
134
|
+
"minimal": HeaderConfig(top_sep="─", left_sep="", right_sep="", bottom_sep="─", separator_style="dim"),
|
135
|
+
}
|
136
|
+
|
137
|
+
config = styles.get(style, HeaderConfig())
|
138
|
+
return self.print_header(title, config)
|
139
|
+
|
140
|
+
|
141
|
+
def ascii_header(title: str, print_out: bool = True, **kwargs) -> str:
|
142
|
+
"""Generate a header string for visual tests.
|
143
|
+
|
144
|
+
Args:
|
145
|
+
title: The title to display
|
146
|
+
print_out: Whether to print or return the header
|
147
|
+
**kwargs: Any HeaderConfig parameters (top_sep, length, etc.)
|
148
|
+
"""
|
149
|
+
config = HeaderConfig(return_txt=not print_out, **kwargs)
|
150
|
+
text_helper = TextHelper()
|
151
|
+
result = text_helper.print_header(title, config)
|
152
|
+
return "" if print_out else result
|
153
|
+
|
154
|
+
|
155
|
+
if __name__ == "__main__":
|
156
|
+
top = Style.SOLID.text
|
157
|
+
bottom = Style.SOLID.text
|
158
|
+
left = Style.RIGHT_ARROWS.text
|
159
|
+
right = Style.LEFT_ARROWS.text
|
160
|
+
ascii_header(
|
161
|
+
"Welcome to Bear Utils",
|
162
|
+
top_sep=top,
|
163
|
+
bottom_sep=bottom,
|
164
|
+
left_sep=left,
|
165
|
+
right_sep=right,
|
166
|
+
title_style=CyberTheme.primary,
|
167
|
+
separator_style=CyberTheme.system,
|
168
|
+
border_style=CyberTheme.neon_cyan,
|
169
|
+
print_out=True,
|
170
|
+
)
|
171
|
+
|
172
|
+
from pyfiglet import figlet_format
|
173
|
+
|
174
|
+
ANSI_SHADOW = "ansi_shadow"
|
175
|
+
BLOODY = "bloody"
|
176
|
+
BANNER_3_D = "banner3-D"
|
177
|
+
POISON = "poison"
|
178
|
+
ALPHA = "alpha"
|
179
|
+
DOOM = "doom"
|
180
|
+
DOT_MATRIX = "dotmatrix"
|
181
|
+
JAZMINE = "jazmine"
|
182
|
+
RAMMSTEIN = "rammstein"
|
183
|
+
REVERSE = "reverse"
|
184
|
+
DIAGONAL_3D = "3d_diagonal"
|
185
|
+
GHOST = "ghost"
|
186
|
+
|
187
|
+
text = figlet_format("BANKER", font="computer")
|
188
|
+
print(text)
|
@@ -3,9 +3,8 @@
|
|
3
3
|
from rich.align import Align
|
4
4
|
from rich.console import Console
|
5
5
|
|
6
|
-
from bear_utils.
|
7
|
-
|
8
|
-
from ._raw_block_letters import (
|
6
|
+
from bear_utils.constants import RichStrEnum, StrValue
|
7
|
+
from bear_utils.graphics.font._raw_block_letters import (
|
9
8
|
ASTERISK,
|
10
9
|
AT,
|
11
10
|
BACKWARD_SLASH,
|
@@ -58,6 +57,7 @@ from ._raw_block_letters import (
|
|
58
57
|
Y,
|
59
58
|
Z,
|
60
59
|
)
|
60
|
+
from bear_utils.graphics.font._theme import CyberTheme as Theme
|
61
61
|
|
62
62
|
BLOCK_LETTERS: dict[str, list[str]] = {
|
63
63
|
"A": A,
|
@@ -113,6 +113,37 @@ BLOCK_LETTERS: dict[str, list[str]] = {
|
|
113
113
|
"$": DOLLAR,
|
114
114
|
}
|
115
115
|
|
116
|
+
|
117
|
+
class Style(RichStrEnum):
|
118
|
+
"""Enumeration for block font styles."""
|
119
|
+
|
120
|
+
SOLID = StrValue("solid", "█")
|
121
|
+
HOLLOW = StrValue("hollow", "░")
|
122
|
+
PIPES = StrValue("pipes", "|")
|
123
|
+
OUTLINE = StrValue("outline", "■")
|
124
|
+
DASHED = StrValue("dashed", "─")
|
125
|
+
DOTTED = StrValue("dotted", "·")
|
126
|
+
ZIGZAG = StrValue("zigzag", "╱") # noqa: RUF001
|
127
|
+
CROSSED = StrValue("crossed", "╳") # noqa: RUF001
|
128
|
+
FANCY = StrValue("fancy", "◆")
|
129
|
+
RIGHT_ARROWS = StrValue("right_arrows", "▶")
|
130
|
+
LEFT_ARROWS = StrValue("left_arrows", "◀")
|
131
|
+
STARS = StrValue("stars", "★")
|
132
|
+
|
133
|
+
|
134
|
+
OG_CHAR = Style.SOLID
|
135
|
+
|
136
|
+
|
137
|
+
def apply_block_style(block_rows: list[str], style: str = "solid") -> list[str]:
|
138
|
+
"""Replace block characters with different symbols."""
|
139
|
+
try:
|
140
|
+
new_char: Style = Style.get(value=style, default=OG_CHAR)
|
141
|
+
return [row.replace(OG_CHAR.text, new_char.text) for row in block_rows]
|
142
|
+
except (KeyError, AttributeError) as e:
|
143
|
+
available = ", ".join(Style._value2member_map_.keys())
|
144
|
+
raise ValueError(f"Invalid style: {style}. Available styles: {available}") from e
|
145
|
+
|
146
|
+
|
116
147
|
console = Console()
|
117
148
|
|
118
149
|
|
@@ -121,7 +152,7 @@ def char_to_block(char: str) -> list[str]:
|
|
121
152
|
return BLOCK_LETTERS.get(char.upper(), [" "] * 5)
|
122
153
|
|
123
154
|
|
124
|
-
def
|
155
|
+
def _word_to_block(word: str) -> list[str]:
|
125
156
|
"""Convert a word to its block font representation."""
|
126
157
|
clean_text: str = "".join(char for char in word.upper() if char in BLOCK_LETTERS)
|
127
158
|
|
@@ -136,15 +167,45 @@ def word_to_block(word: str) -> list[str]:
|
|
136
167
|
return rows
|
137
168
|
|
138
169
|
|
170
|
+
def word_to_block(word: str, font: str = "solid") -> str:
|
171
|
+
"""Convert a word to its block font representation as a single string.
|
172
|
+
|
173
|
+
Args:
|
174
|
+
word (str): The word to convert.
|
175
|
+
font (str): The style of the block font. Defaults to "solid".
|
176
|
+
|
177
|
+
Returns:
|
178
|
+
str: The block font representation of the word.
|
179
|
+
"""
|
180
|
+
block_rows = _word_to_block(word)
|
181
|
+
styled_rows = apply_block_style(block_rows, font)
|
182
|
+
return "\n".join(styled_rows)
|
183
|
+
|
184
|
+
|
139
185
|
def print_block_font(text: str, color: str = Theme.neon_green) -> None:
|
140
186
|
"""Print block font text with cyberpunk styling."""
|
141
|
-
block_rows =
|
187
|
+
block_rows = _word_to_block(text)
|
142
188
|
|
143
|
-
console.print()
|
144
189
|
for row in block_rows:
|
145
190
|
console.print(Align.center(f"[{color}]{row}[/{color}]"))
|
146
|
-
|
191
|
+
|
192
|
+
|
193
|
+
def show_off_styles(word: str, style: str = Theme.primary) -> None:
|
194
|
+
"""Display all block styles by using an example word"""
|
195
|
+
console.print("Available block styles:")
|
196
|
+
|
197
|
+
for symbol in Style:
|
198
|
+
styled_word = word_to_block(word, font=symbol.name.lower())
|
199
|
+
|
200
|
+
console.print()
|
201
|
+
console.print(Align.center(f"[{Theme.system}]{symbol.name.title()} Style:[/]"))
|
202
|
+
console.print(Align.center(f"[{style}]{styled_word}[/]"))
|
203
|
+
console.print()
|
147
204
|
|
148
205
|
|
149
206
|
__all__ = ["BLOCK_LETTERS", "char_to_block", "word_to_block"]
|
150
207
|
# fmt: on
|
208
|
+
|
209
|
+
if __name__ == "__main__":
|
210
|
+
WORD = "CLAUDE"
|
211
|
+
show_off_styles(WORD)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from typing import Literal
|
2
2
|
|
3
|
-
from bear_utils.constants._meta import
|
3
|
+
from bear_utils.constants._meta import IntValue as Value, RichIntEnum
|
4
4
|
|
5
5
|
FAILURE: Literal[45] = 45
|
6
6
|
ERROR: Literal[40] = 40
|
@@ -13,6 +13,19 @@ VERBOSE: Literal[5] = 5
|
|
13
13
|
NOTSET: Literal[0] = 0
|
14
14
|
|
15
15
|
|
16
|
+
class LogLevel(RichIntEnum):
|
17
|
+
"""Enumeration for logging levels."""
|
18
|
+
|
19
|
+
NOTSET = Value(NOTSET, "NOTSET")
|
20
|
+
VERBOSE = Value(VERBOSE, "VERBOSE")
|
21
|
+
DEBUG = Value(DEBUG, "DEBUG")
|
22
|
+
INFO = Value(INFO, "INFO")
|
23
|
+
WARNING = Value(WARNING, "WARNING")
|
24
|
+
ERROR = Value(ERROR, "ERROR")
|
25
|
+
FAILURE = Value(FAILURE, "FAILURE")
|
26
|
+
SUCCESS = Value(SUCCESS, "SUCCESS")
|
27
|
+
|
28
|
+
|
16
29
|
level_to_name = {
|
17
30
|
FAILURE: "FAILURE",
|
18
31
|
ERROR: "ERROR",
|
@@ -35,16 +48,3 @@ name_to_level = {
|
|
35
48
|
"VERBOSE": VERBOSE,
|
36
49
|
"NOTSET": NOTSET,
|
37
50
|
}
|
38
|
-
|
39
|
-
|
40
|
-
class LogLevel(RichIntEnum):
|
41
|
-
"""Enumeration for logging levels."""
|
42
|
-
|
43
|
-
NOTSET = Value(NOTSET, "NOTSET")
|
44
|
-
VERBOSE = Value(VERBOSE, "VERBOSE")
|
45
|
-
DEBUG = Value(DEBUG, "DEBUG")
|
46
|
-
INFO = Value(INFO, "INFO")
|
47
|
-
WARNING = Value(WARNING, "WARNING")
|
48
|
-
ERROR = Value(ERROR, "ERROR")
|
49
|
-
FAILURE = Value(FAILURE, "FAILURE")
|
50
|
-
SUCCESS = Value(SUCCESS, "SUCCESS")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: bear-utils
|
3
|
-
Version: 0.9.
|
3
|
+
Version: 0.9.3
|
4
4
|
Summary: Various utilities for Bear programmers, including a rich logging utility, a disk cache, and a SQLite database wrapper amongst other things.
|
5
5
|
Author-email: chaz <bright.lid5647@fastmail.com>
|
6
6
|
Requires-Python: >=3.12
|
@@ -12,6 +12,7 @@ Requires-Dist: pathspec>=0.12.1
|
|
12
12
|
Requires-Dist: pillow<12.0.0,>=11.2.1
|
13
13
|
Requires-Dist: prompt-toolkit<4.0.0,>=3.0.51
|
14
14
|
Requires-Dist: pydantic>=2.11.5
|
15
|
+
Requires-Dist: pyfiglet>=1.0.3
|
15
16
|
Requires-Dist: pyglm<3.0.0,>=2.8.2
|
16
17
|
Requires-Dist: pyyaml>=6.0.2
|
17
18
|
Requires-Dist: rich<15.0.0,>=14.0.0
|
@@ -25,7 +26,7 @@ Provides-Extra: gui
|
|
25
26
|
Requires-Dist: pyqt6>=6.9.0; extra == 'gui'
|
26
27
|
Description-Content-Type: text/markdown
|
27
28
|
|
28
|
-
# Bear Utils
|
29
|
+
# Bear Utils
|
29
30
|
|
30
31
|
Personal set of tools and utilities for Python projects, focusing on modularity and ease of use. This library includes components for caching, database management, logging, time handling, file operations, CLI prompts, image processing, clipboard interaction, gradient utilities, event systems, and async helpers.
|
31
32
|
|
@@ -1,8 +1,9 @@
|
|
1
1
|
bear_utils/__init__.py,sha256=Cin66XUC7cwuJ7ePZwgfdDnwFFPX_CHXOI3dMBWuyY8,1515
|
2
2
|
bear_utils/__main__.py,sha256=-FlPquBlI1Tg2RoeX6d0Z8jTAiMFnJ0V06ZeRyiq58k,355
|
3
3
|
bear_utils/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
|
-
bear_utils/_internal/
|
5
|
-
bear_utils/_internal/
|
4
|
+
bear_utils/_internal/_version.py,sha256=tI57X4zg5nDl2nSObnWy9eZf4h_gg1HykM7ngZXWIpo,18
|
5
|
+
bear_utils/_internal/cli.py,sha256=6DfA_6DsgUN61YXkWPMnS7-wDp10weFfNltv-NVmyPk,4476
|
6
|
+
bear_utils/_internal/debug.py,sha256=zYnv-mfGqHjvVG01LIw_jIachKN4A2pd-qd4Th9Utd8,4994
|
6
7
|
bear_utils/ai/__init__.py,sha256=Q5P1KpSYS6iMt3vRbmasdWU5Oy5UkXfOGGyDI7Qy3Po,747
|
7
8
|
bear_utils/ai/ai_helpers/__init__.py,sha256=6SiOQ71NNGvIkMX8pMnZ3lxK9WDZ2Zgo3P6TRS5pvP4,4351
|
8
9
|
bear_utils/ai/ai_helpers/_common.py,sha256=KgaOb_IePfC8Z1VsdA0EiodfS_YGVYYnrZFR2ZdsUYM,418
|
@@ -12,6 +13,7 @@ bear_utils/ai/ai_helpers/_types.py,sha256=rmnl8mTlUj0LyL9USzTb-EN_31TtXY6qzhkOEu
|
|
12
13
|
bear_utils/cache/__init__.py,sha256=c9z1mLhWpZJHZdXRlviYQXl8tc9KTJCM8vin3moDO3I,4578
|
13
14
|
bear_utils/cli/__init__.py,sha256=PXyieBmyYk4ceIB5gL5KMH8Prpc5xfiUW0_d2zI3bSU,629
|
14
15
|
bear_utils/cli/_args.py,sha256=u5gcJGI90gdLLFH3klWGmGD6e8r2j6Zu8X_d0c7pfmM,285
|
16
|
+
bear_utils/cli/_get_version.py,sha256=kVbkE26wAxg_tytPBZuYZ17geii25yG5PADAHEMiEgg,6925
|
15
17
|
bear_utils/cli/commands.py,sha256=5ppEjvVV_g28WLaIFtKgz-ctzwoo-g-KpHTXNx9xBzo,3161
|
16
18
|
bear_utils/cli/prompt_helpers.py,sha256=VGNwbPDYXO-FoYkACI0Zq7_IUWThexGlycvt9RBzjEU,6844
|
17
19
|
bear_utils/cli/typer_bridge.py,sha256=RE30vf7LQzdGeWvP08W_N_FZ3r2hoD372uHOqTmzcK0,3405
|
@@ -23,12 +25,12 @@ bear_utils/config/__init__.py,sha256=HC_lWpmLF0kbPr5i1Wa2FLER2b446E_GecgU9EPmc04
|
|
23
25
|
bear_utils/config/config_manager.py,sha256=Xj0xOmY-wo_rwfcWiXyxNZWX9NknX_Jm9W56Gx8yyHQ,8244
|
24
26
|
bear_utils/config/dir_manager.py,sha256=slIy1oRr7VIPdsiwN66-xQiuSvgqm_j6d1IrKhxRsSk,2028
|
25
27
|
bear_utils/config/settings_manager.py,sha256=0hvqLzSiA8f9UVN45UY2-SIHMmOsg1eDctbg293qyyU,5978
|
26
|
-
bear_utils/constants/__init__.py,sha256=
|
28
|
+
bear_utils/constants/__init__.py,sha256=sKcb6f5PG5iKt4QjF04DBnX8uvdwIWCiGPMBEAuRxgc,2185
|
27
29
|
bear_utils/constants/_exceptions.py,sha256=gnAGTmuD9NYpJakeLrYHAyPrAQPHDNahY_rS42Ct39k,251
|
28
|
-
bear_utils/constants/_exit_code.py,sha256=
|
29
|
-
bear_utils/constants/_http_status_code.py,sha256=
|
30
|
+
bear_utils/constants/_exit_code.py,sha256=0Eh_FNTBtdTXksP-tQUuETGpdhyH_D8UPDNN3gvEiX0,2618
|
31
|
+
bear_utils/constants/_http_status_code.py,sha256=C-wH9VDdeer7DWogaEsLsLlxdYYfPcczz6w8-R80ioU,1186
|
30
32
|
bear_utils/constants/_lazy_typing.py,sha256=WfuWpRqx9XchvuyPWg3tVjMC5-C4QA-Bhwfskf4YmAE,339
|
31
|
-
bear_utils/constants/_meta.py,sha256=
|
33
|
+
bear_utils/constants/_meta.py,sha256=GKSimcD_RQ_c8L5ufDrhc9vgKf7t2Vh5-GnNkwliuIo,5801
|
32
34
|
bear_utils/constants/date_related.py,sha256=vwgPPGamVJ8p12iRFu3IzTksmGfhqYULwrk-W2LLiZU,559
|
33
35
|
bear_utils/constants/time_related.py,sha256=Mykb27THqC-K0HFrbbrdkTNJUKhzBEOfmPJ0rx2-L6E,705
|
34
36
|
bear_utils/database/__init__.py,sha256=dS_HHJKESpsI6BFDLVx055o0GCJV9CMYOQVuHs7EfgY,192
|
@@ -36,9 +38,10 @@ bear_utils/database/_db_manager.py,sha256=bbg5zG06DcOvd37oafLIqc480BwF9ZW9qWF3ld
|
|
36
38
|
bear_utils/events/__init__.py,sha256=EFqmuzhaEYK9kjkGlrM7bjdjPwFEDbKn6RjJKfIBEJY,414
|
37
39
|
bear_utils/events/events_class.py,sha256=vPDjWrbut8L3TFn7byyYFZpWYM5ADIqtW2Aeh-qtKfQ,1632
|
38
40
|
bear_utils/events/events_module.py,sha256=DkQsDZ5WzM1MH1Msg7mRny40a17Jl31CXbpw4-pICxc,2349
|
39
|
-
bear_utils/extras/__init__.py,sha256=
|
41
|
+
bear_utils/extras/__init__.py,sha256=0mz3ZYOkOcW_tUHSx2pV2mtCfyuXwgPe9SYXEqlGHsg,755
|
40
42
|
bear_utils/extras/_async_helpers.py,sha256=4buULZZkR0n2z13Q8_FK59dMchj0Mup03YBaqSCbveQ,2291
|
41
|
-
bear_utils/extras/_tools.py,sha256=
|
43
|
+
bear_utils/extras/_tools.py,sha256=cY5XxtUgeJxomeLO_g0X0xX_vEhMrvJkVd4I3-psjaw,6068
|
44
|
+
bear_utils/extras/_zapper.py,sha256=tgY1qTp7QOHJpFCYbqEPzGsjl-_McIZR9xjqmSUysRk,15817
|
42
45
|
bear_utils/extras/platform_utils.py,sha256=Ai7ow7S-_cKb5zFwFh8dkC8xmbMJFy-0_-w3NCERdEw,1362
|
43
46
|
bear_utils/extras/responses/__init__.py,sha256=KcBqPszOmCxmb7F9vukzn6TJS-yhNfhH9Tjmi9Xrbzo,204
|
44
47
|
bear_utils/extras/responses/function_response.py,sha256=OLyI495RIM4edhsJZdpnv_CQE1gYxWEHyreek0Drg3c,17954
|
@@ -61,7 +64,8 @@ bear_utils/graphics/image_helpers.py,sha256=AaDQm6uunIdVkcMSXmoiaNQ68zRQQJ6bbhoA
|
|
61
64
|
bear_utils/graphics/font/__init__.py,sha256=lW6ZPepKHS9fBkWEwV_n5YSqlS5S9bMMogHtaXaHHd0,291
|
62
65
|
bear_utils/graphics/font/_raw_block_letters.py,sha256=i85DN-Va_u3D-gXvbIYyjL0FDv9jd-1UcmObw5rxgMY,7143
|
63
66
|
bear_utils/graphics/font/_theme.py,sha256=H1kNvpd_9T_SdO5nF3oA_47lMV62P3a6ZoFE2dc8f4U,344
|
64
|
-
bear_utils/graphics/font/
|
67
|
+
bear_utils/graphics/font/_utils.py,sha256=Pp-L_xwKlB8ha1RuNWOWI1T3Whnjx3QkKCmJLJjZ5cA,6975
|
68
|
+
bear_utils/graphics/font/block_font.py,sha256=hCtzMnLDXB9cEABOa7L9EWsAxVQ92K_zspKda5owiI0,4697
|
65
69
|
bear_utils/graphics/font/glitch_font.py,sha256=154PlocfMZcPe-26hP5hd6wFSi-DX5P4ql1gqYM5MIY,2012
|
66
70
|
bear_utils/gui/__init__.py,sha256=z_rOZ-nN3E6Hd_nGD6SdDVqE61VUk2OOogI6U89nkkA,349
|
67
71
|
bear_utils/gui/gui_tools/__init__.py,sha256=cD6cKxU1cmKDVaBRT8KsqsCbulf6TUNAmVr50XGPpo8,446
|
@@ -74,7 +78,7 @@ bear_utils/gui/gui_tools/qt_input_dialog.py,sha256=5KaCM9q8kmoy-Fd0j1FbXIVrLlE7W
|
|
74
78
|
bear_utils/logger_manager/__init__.py,sha256=rzBrDWHwwPTe29pi5YdJP_s_5u-Ufm64WX4R9-bCFAw,3863
|
75
79
|
bear_utils/logger_manager/_common.py,sha256=kPTE4e0FKI8IBW1B5X7jJPVJtqgJtKYsX8gy8obg9OQ,1866
|
76
80
|
bear_utils/logger_manager/_console_junk.py,sha256=2fwiYjZZps3GrH5An7aU3Bgvb_aAJiqNzTnKaku6m-0,4916
|
77
|
-
bear_utils/logger_manager/_log_level.py,sha256=
|
81
|
+
bear_utils/logger_manager/_log_level.py,sha256=qg2LmxDPp6u5qbYBlD6DA8hJrMHQhR5pyV1BjVGdG_c,1109
|
78
82
|
bear_utils/logger_manager/_styles.py,sha256=1mYHnENhLUWHB2QSpT9CB3_dzgBjhBxM1sh5UGEUULU,2527
|
79
83
|
bear_utils/logger_manager/logger_protocol.py,sha256=FONihllK314pVir01RhlJ4sxcluuwYwAt_JZs2TWT-s,1300
|
80
84
|
bear_utils/logger_manager/loggers/__init__.py,sha256=ashcnkvQIUQDLbUtU6QILkMjP_fMaeHAN1w7pHLWqQk,67
|
@@ -98,6 +102,6 @@ bear_utils/monitoring/__init__.py,sha256=9DKNIWTp_voLnaWgiP-wJ-o_N0hYixo-MzjUmg8
|
|
98
102
|
bear_utils/monitoring/_common.py,sha256=LYQFxgTP9fk0cH71IQTuGwBYYPWCqHP_mMRNecoD76M,657
|
99
103
|
bear_utils/monitoring/host_monitor.py,sha256=e0TYRJw9iDj5Ga6y3ck1TBFEeH42Cax5mQYaNU8yams,13241
|
100
104
|
bear_utils/time/__init__.py,sha256=VctjJG17SyEHAFXytI1sZrOrq7zm3hVenIDOJFdaMN0,1424
|
101
|
-
bear_utils-0.9.
|
102
|
-
bear_utils-0.9.
|
103
|
-
bear_utils-0.9.
|
105
|
+
bear_utils-0.9.3.dist-info/METADATA,sha256=kVG_pKk-App-5w5y8UD7xocxjy3yOy-yiGgyiA0DG_s,8800
|
106
|
+
bear_utils-0.9.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
107
|
+
bear_utils-0.9.3.dist-info/RECORD,,
|
File without changes
|