bear-utils 0.9.5__tar.gz → 0.9.6__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.
Files changed (131) hide show
  1. {bear_utils-0.9.5 → bear_utils-0.9.6}/PKG-INFO +1 -1
  2. {bear_utils-0.9.5 → bear_utils-0.9.6}/pyproject.toml +1 -1
  3. bear_utils-0.9.6/src/bear_utils/_internal/_version.py +1 -0
  4. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/_internal/cli.py +3 -3
  5. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/_internal/debug.py +4 -4
  6. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/loggers/_console.py +27 -8
  7. bear_utils-0.9.5/src/bear_utils/_internal/_version.py +0 -1
  8. {bear_utils-0.9.5 → bear_utils-0.9.6}/.gitignore +0 -0
  9. {bear_utils-0.9.5 → bear_utils-0.9.6}/.python-version +0 -0
  10. {bear_utils-0.9.5 → bear_utils-0.9.6}/AGENTS.md +0 -0
  11. {bear_utils-0.9.5 → bear_utils-0.9.6}/README.md +0 -0
  12. {bear_utils-0.9.5 → bear_utils-0.9.6}/config/coverage.ini +0 -0
  13. {bear_utils-0.9.5 → bear_utils-0.9.6}/config/default.toml +0 -0
  14. {bear_utils-0.9.5 → bear_utils-0.9.6}/config/git-changelog.toml +0 -0
  15. {bear_utils-0.9.5 → bear_utils-0.9.6}/config/pytest.ini +0 -0
  16. {bear_utils-0.9.5 → bear_utils-0.9.6}/config/ruff.toml +0 -0
  17. {bear_utils-0.9.5 → bear_utils-0.9.6}/directory_structure.txt +0 -0
  18. {bear_utils-0.9.5 → bear_utils-0.9.6}/directory_structure.xml +0 -0
  19. {bear_utils-0.9.5 → bear_utils-0.9.6}/maskfile.md +0 -0
  20. {bear_utils-0.9.5 → bear_utils-0.9.6}/noxfile.py +0 -0
  21. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/__init__.py +0 -0
  22. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/__main__.py +0 -0
  23. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/_internal/__init__.py +0 -0
  24. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/ai/__init__.py +0 -0
  25. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/ai/ai_helpers/__init__.py +0 -0
  26. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/ai/ai_helpers/_common.py +0 -0
  27. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/ai/ai_helpers/_config.py +0 -0
  28. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/ai/ai_helpers/_parsers.py +0 -0
  29. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/ai/ai_helpers/_types.py +0 -0
  30. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/cache/__init__.py +0 -0
  31. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/cli/__init__.py +0 -0
  32. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/cli/_args.py +0 -0
  33. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/cli/_get_version.py +0 -0
  34. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/cli/commands.py +0 -0
  35. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/cli/prompt_helpers.py +0 -0
  36. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/cli/shell/__init__.py +0 -0
  37. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/cli/shell/_base_command.py +0 -0
  38. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/cli/shell/_base_shell.py +0 -0
  39. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/cli/shell/_common.py +0 -0
  40. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/cli/typer_bridge.py +0 -0
  41. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/config/__init__.py +0 -0
  42. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/config/config_manager.py +0 -0
  43. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/config/dir_manager.py +0 -0
  44. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/config/settings_manager.py +0 -0
  45. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/constants/__init__.py +0 -0
  46. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/constants/_exceptions.py +0 -0
  47. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/constants/_exit_code.py +0 -0
  48. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/constants/_http_status_code.py +0 -0
  49. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/constants/_lazy_typing.py +0 -0
  50. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/constants/_meta.py +0 -0
  51. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/constants/date_related.py +0 -0
  52. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/constants/time_related.py +0 -0
  53. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/database/__init__.py +0 -0
  54. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/database/_db_manager.py +0 -0
  55. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/events/__init__.py +0 -0
  56. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/events/events_class.py +0 -0
  57. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/events/events_module.py +0 -0
  58. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/extras/__init__.py +0 -0
  59. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/extras/_async_helpers.py +0 -0
  60. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/extras/_tools.py +0 -0
  61. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/extras/_zapper.py +0 -0
  62. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/extras/platform_utils.py +0 -0
  63. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/extras/responses/__init__.py +0 -0
  64. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/extras/responses/function_response.py +0 -0
  65. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/extras/wrappers/__init__.py +0 -0
  66. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/extras/wrappers/add_methods.py +0 -0
  67. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/extras/wrappers/string_io.py +0 -0
  68. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/files/__init__.py +0 -0
  69. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/files/file_handlers/__init__.py +0 -0
  70. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/files/file_handlers/_base_file_handler.py +0 -0
  71. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/files/file_handlers/file_handler_factory.py +0 -0
  72. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/files/file_handlers/json_file_handler.py +0 -0
  73. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/files/file_handlers/log_file_handler.py +0 -0
  74. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/files/file_handlers/toml_file_handler.py +0 -0
  75. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/files/file_handlers/txt_file_handler.py +0 -0
  76. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/files/file_handlers/yaml_file_handler.py +0 -0
  77. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/files/ignore_parser.py +0 -0
  78. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/graphics/__init__.py +0 -0
  79. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/graphics/bear_gradient.py +0 -0
  80. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/graphics/font/__init__.py +0 -0
  81. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/graphics/font/_raw_block_letters.py +0 -0
  82. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/graphics/font/_theme.py +0 -0
  83. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/graphics/font/_utils.py +0 -0
  84. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/graphics/font/block_font.py +0 -0
  85. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/graphics/font/glitch_font.py +0 -0
  86. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/graphics/image_helpers.py +0 -0
  87. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/gui/__init__.py +0 -0
  88. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/gui/gui_tools/__init__.py +0 -0
  89. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/gui/gui_tools/_settings.py +0 -0
  90. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/gui/gui_tools/_types.py +0 -0
  91. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/gui/gui_tools/qt_app.py +0 -0
  92. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/gui/gui_tools/qt_color_picker.py +0 -0
  93. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/gui/gui_tools/qt_file_handler.py +0 -0
  94. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/gui/gui_tools/qt_input_dialog.py +0 -0
  95. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/__init__.py +0 -0
  96. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/_common.py +0 -0
  97. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/_console_junk.py +0 -0
  98. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/_log_level.py +0 -0
  99. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/_styles.py +0 -0
  100. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/logger_protocol.py +0 -0
  101. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/loggers/__init__.py +0 -0
  102. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/loggers/_level_sin.py +0 -0
  103. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/loggers/_logger.py +0 -0
  104. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/loggers/base_logger.py +0 -0
  105. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/loggers/base_logger.pyi +0 -0
  106. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/loggers/basic_logger/__init__.py +0 -0
  107. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/loggers/basic_logger/logger.py +0 -0
  108. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/loggers/basic_logger/logger.pyi +0 -0
  109. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/loggers/buffer_logger.py +0 -0
  110. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/loggers/console_logger.py +0 -0
  111. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/loggers/console_logger.pyi +0 -0
  112. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/loggers/fastapi_logger.py +0 -0
  113. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/loggers/file_logger.py +0 -0
  114. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/loggers/simple_logger.py +0 -0
  115. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/loggers/sub_logger.py +0 -0
  116. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/logger_manager/loggers/sub_logger.pyi +0 -0
  117. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/monitoring/__init__.py +0 -0
  118. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/monitoring/_common.py +0 -0
  119. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/monitoring/host_monitor.py +0 -0
  120. {bear_utils-0.9.5 → bear_utils-0.9.6}/src/bear_utils/time/__init__.py +0 -0
  121. {bear_utils-0.9.5 → bear_utils-0.9.6}/tests/__init__.py +0 -0
  122. {bear_utils-0.9.5 → bear_utils-0.9.6}/tests/test_add_ord_suffix.py +0 -0
  123. {bear_utils-0.9.5 → bear_utils-0.9.6}/tests/test_clipboard.py +0 -0
  124. {bear_utils-0.9.5 → bear_utils-0.9.6}/tests/test_database_manager.py +0 -0
  125. {bear_utils-0.9.5 → bear_utils-0.9.6}/tests/test_default_shell.py +0 -0
  126. {bear_utils-0.9.5 → bear_utils-0.9.6}/tests/test_font_utils.py +0 -0
  127. {bear_utils-0.9.5 → bear_utils-0.9.6}/tests/test_function_response.py +0 -0
  128. {bear_utils-0.9.5 → bear_utils-0.9.6}/tests/test_gradient.py +0 -0
  129. {bear_utils-0.9.5 → bear_utils-0.9.6}/tests/test_logger.py +0 -0
  130. {bear_utils-0.9.5 → bear_utils-0.9.6}/tests/test_platform_utils.py +0 -0
  131. {bear_utils-0.9.5 → bear_utils-0.9.6}/tests/test_prompt_helpers.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bear-utils
3
- Version: 0.9.5
3
+ Version: 0.9.6
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
@@ -103,5 +103,5 @@ format = "{base}"
103
103
  [tool.hatch.build.hooks.version]
104
104
  path = "src/bear_utils/_internal/_version.py"
105
105
  template = '''
106
- version = "{version}"
106
+ __version__ = "{version}"
107
107
  '''
@@ -0,0 +1 @@
1
+ __version__ = "0.9.6"
@@ -15,7 +15,7 @@ import sys
15
15
  from typing import Any
16
16
 
17
17
  from bear_utils._internal import debug
18
- from bear_utils._internal._version import version as _version
18
+ from bear_utils._internal._version import __version__
19
19
  from bear_utils.cli._get_version import VALID_BUMP_TYPES, cli_bump
20
20
  from bear_utils.constants import STDERR, ExitCode
21
21
 
@@ -50,7 +50,7 @@ class _Version(Action):
50
50
 
51
51
  def get_version() -> ExitCode:
52
52
  """CLI command to get the version of the package."""
53
- print(_version)
53
+ print(__version__)
54
54
  return ExitCode.SUCCESS
55
55
 
56
56
 
@@ -64,7 +64,7 @@ def bump_version(args: list[str] | None = None) -> ExitCode:
64
64
  help=f"Type of version bump: {', '.join(VALID_BUMP_TYPES)}",
65
65
  )
66
66
  _args: Namespace = parser.parse_args(args or sys.argv[1:])
67
- return cli_bump([_args.bump_type, debug.__PACKAGE_NAME__, _version])
67
+ return cli_bump([_args.bump_type, debug.__PACKAGE_NAME__, __version__])
68
68
 
69
69
 
70
70
  def get_parser() -> ArgumentParser:
@@ -7,7 +7,7 @@ import os
7
7
  import platform
8
8
  import sys
9
9
 
10
- from bear_utils._internal._version import version as _version
10
+ from bear_utils._internal._version import __version__
11
11
  from bear_utils.cli._get_version import Version
12
12
 
13
13
  __PACKAGE_NAME__ = "bear-utils"
@@ -19,9 +19,9 @@ class _Package:
19
19
 
20
20
  name: str = __PACKAGE_NAME__
21
21
  """Package name."""
22
- version: str = _version
22
+ version: str = __version__
23
23
  """Package version."""
24
- _version: Version = field(default_factory=lambda: Version.from_string(_version))
24
+ _version: Version = field(default_factory=lambda: Version.from_string(__version__))
25
25
  description: str = "No description available."
26
26
  """Package description."""
27
27
 
@@ -83,7 +83,7 @@ def _get_package_info(dist: str = __PACKAGE_NAME__) -> _Package:
83
83
  try:
84
84
  return _Package(
85
85
  name=dist,
86
- version=_version or version(dist),
86
+ version=__version__ or version(dist),
87
87
  description=metadata(dist)["Summary"],
88
88
  )
89
89
  except PackageNotFoundError:
@@ -15,6 +15,8 @@ from rich.text import Text
15
15
  from rich.theme import Theme, ThemeStack
16
16
  from rich.themes import DEFAULT
17
17
 
18
+ from bear_utils.logger_manager._log_level import LogLevel
19
+
18
20
  if TYPE_CHECKING:
19
21
  from rich.color import ColorSystem
20
22
  from rich.live import Live
@@ -62,6 +64,7 @@ class LogConsole[T: TextIO](Console):
62
64
  get_datetime: Callable[[], datetime] | None = None,
63
65
  get_time: Callable[[], float] | None = None,
64
66
  _environ: Mapping[str, str] | None = None,
67
+ level: str | int | LogLevel = LogLevel.INFO,
65
68
  ):
66
69
  # Copy of os.environ allows us to replace it for testing
67
70
  if _environ is not None:
@@ -144,6 +147,7 @@ class LogConsole[T: TextIO](Console):
144
147
  self._render_hooks: list[RenderHook] = []
145
148
  self._live: Live | None = None
146
149
  self._is_alt_screen = False
150
+ self.level: LogLevel = LogLevel.get(level, default=LogLevel.INFO)
147
151
 
148
152
  @property
149
153
  def file(self) -> T:
@@ -159,37 +163,52 @@ class LogConsole[T: TextIO](Console):
159
163
  """Set a new file object."""
160
164
  self._file = new_file
161
165
 
166
+ def _log(self, level: LogLevel, msg: object, *args, **kwargs) -> None:
167
+ """Log a message at the specified level.
168
+
169
+ Args:
170
+ level (LogLevel): The log level for the message. We aren't using this parameter in the current implementation,
171
+ msg (object): The message to log.
172
+ *args: Additional positional arguments.
173
+ **kwargs: Additional keyword arguments.
174
+ """
175
+ if level.value >= self.level.value:
176
+ """Log a message at the specified level."""
177
+ with self._lock:
178
+ if not self.quiet:
179
+ self.log(msg, *args, **kwargs)
180
+
162
181
  def info(self, msg: object, *args, **kwargs) -> None:
163
182
  """Log an informational message to the console."""
164
- self.log(msg, *args, **kwargs)
183
+ self._log(LogLevel.INFO, msg, *args, **kwargs)
165
184
 
166
185
  def warning(self, msg: object, *args, **kwargs) -> None:
167
186
  """Log a warning message to the console."""
168
- self.log(msg, *args, **kwargs)
187
+ self._log(LogLevel.WARNING, msg, *args, **kwargs)
169
188
 
170
189
  def error(self, msg: object, *args, **kwargs) -> None:
171
190
  """Log an error message to the console."""
172
- self.log(msg, *args, **kwargs)
191
+ self._log(LogLevel.ERROR, msg, *args, **kwargs)
173
192
 
174
193
  def debug(self, msg: object, *args, **kwargs) -> None:
175
194
  """Log a debug message to the console."""
176
- self.log(msg, *args, **kwargs)
195
+ self._log(LogLevel.DEBUG, msg, *args, **kwargs)
177
196
 
178
197
  def verbose(self, msg: object, *args, **kwargs) -> None:
179
198
  """Log a verbose message to the console."""
180
- self.log(msg, *args, **kwargs)
199
+ self._log(LogLevel.VERBOSE, msg, *args, **kwargs)
181
200
 
182
201
  def success(self, msg: object, *args, **kwargs) -> None:
183
202
  """Log a success message to the console."""
184
- self.log(msg, *args, **kwargs)
203
+ self._log(LogLevel.SUCCESS, msg, *args, **kwargs)
185
204
 
186
205
  def failure(self, msg: object, *args, **kwargs) -> None:
187
206
  """Log a failure message to the console."""
188
- self.log(msg, *args, **kwargs)
207
+ self._log(LogLevel.FAILURE, msg, *args, **kwargs)
189
208
 
190
209
  def exception(self, msg: object, *args, **kwargs) -> None:
191
210
  """Log an exception message to the console."""
192
- self.log(msg, *args, **kwargs)
211
+ self._log(LogLevel.ERROR, msg, *args, **kwargs)
193
212
 
194
213
 
195
214
  if __name__ == "__main__":
@@ -1 +0,0 @@
1
- version = "0.9.5"
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