bear-utils 0.8.14__tar.gz → 0.8.16__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 (118) hide show
  1. {bear_utils-0.8.14 → bear_utils-0.8.16}/.bumpversion.cfg +1 -1
  2. {bear_utils-0.8.14 → bear_utils-0.8.16}/PKG-INFO +2 -2
  3. {bear_utils-0.8.14 → bear_utils-0.8.16}/README.md +1 -1
  4. {bear_utils-0.8.14 → bear_utils-0.8.16}/pyproject.toml +1 -1
  5. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/extras/responses/function_response.py +6 -3
  6. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/__init__.py +2 -1
  7. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/logger_protocol.py +21 -0
  8. {bear_utils-0.8.14 → bear_utils-0.8.16}/.gitignore +0 -0
  9. {bear_utils-0.8.14 → bear_utils-0.8.16}/.python-version +0 -0
  10. {bear_utils-0.8.14 → bear_utils-0.8.16}/AGENTS.md +0 -0
  11. {bear_utils-0.8.14 → bear_utils-0.8.16}/config/coverage.ini +0 -0
  12. {bear_utils-0.8.14 → bear_utils-0.8.16}/config/default.toml +0 -0
  13. {bear_utils-0.8.14 → bear_utils-0.8.16}/config/git-changelog.toml +0 -0
  14. {bear_utils-0.8.14 → bear_utils-0.8.16}/config/pytest.ini +0 -0
  15. {bear_utils-0.8.14 → bear_utils-0.8.16}/config/ruff.toml +0 -0
  16. {bear_utils-0.8.14 → bear_utils-0.8.16}/config/vscode/launch.json +0 -0
  17. {bear_utils-0.8.14 → bear_utils-0.8.16}/config/vscode/settings.json +0 -0
  18. {bear_utils-0.8.14 → bear_utils-0.8.16}/config/vscode/tasks.json +0 -0
  19. {bear_utils-0.8.14 → bear_utils-0.8.16}/directory_structure.txt +0 -0
  20. {bear_utils-0.8.14 → bear_utils-0.8.16}/directory_structure.xml +0 -0
  21. {bear_utils-0.8.14 → bear_utils-0.8.16}/maskfile.md +0 -0
  22. {bear_utils-0.8.14 → bear_utils-0.8.16}/noxfile.py +0 -0
  23. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/__init__.py +0 -0
  24. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/__main__.py +0 -0
  25. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/_internal/__init__.py +0 -0
  26. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/_internal/cli.py +0 -0
  27. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/_internal/debug.py +0 -0
  28. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/ai/__init__.py +0 -0
  29. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/ai/ai_helpers/__init__.py +0 -0
  30. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/ai/ai_helpers/_common.py +0 -0
  31. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/ai/ai_helpers/_config.py +0 -0
  32. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/ai/ai_helpers/_parsers.py +0 -0
  33. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/ai/ai_helpers/_types.py +0 -0
  34. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/cache/__init__.py +0 -0
  35. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/cli/__init__.py +0 -0
  36. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/cli/commands.py +0 -0
  37. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/cli/prompt_helpers.py +0 -0
  38. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/cli/shell/__init__.py +0 -0
  39. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/cli/shell/_base_command.py +0 -0
  40. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/cli/shell/_base_shell.py +0 -0
  41. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/cli/shell/_common.py +0 -0
  42. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/config/__init__.py +0 -0
  43. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/config/config_manager.py +0 -0
  44. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/config/dir_manager.py +0 -0
  45. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/config/settings_manager.py +0 -0
  46. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/constants/__init__.py +0 -0
  47. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/constants/_exceptions.py +0 -0
  48. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/constants/_lazy_typing.py +0 -0
  49. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/constants/date_related.py +0 -0
  50. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/constants/server.py +0 -0
  51. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/constants/time_related.py +0 -0
  52. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/database/__init__.py +0 -0
  53. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/database/_db_manager.py +0 -0
  54. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/events/__init__.py +0 -0
  55. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/events/events_class.py +0 -0
  56. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/events/events_module.py +0 -0
  57. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/extras/__init__.py +0 -0
  58. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/extras/_async_helpers.py +0 -0
  59. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/extras/_tools.py +0 -0
  60. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/extras/platform_utils.py +0 -0
  61. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/extras/responses/__init__.py +0 -0
  62. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/extras/wrappers/__init__.py +0 -0
  63. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/extras/wrappers/add_methods.py +0 -0
  64. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/files/__init__.py +0 -0
  65. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/files/file_handlers/__init__.py +0 -0
  66. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/files/file_handlers/_base_file_handler.py +0 -0
  67. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/files/file_handlers/file_handler_factory.py +0 -0
  68. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/files/file_handlers/json_file_handler.py +0 -0
  69. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/files/file_handlers/log_file_handler.py +0 -0
  70. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/files/file_handlers/toml_file_handler.py +0 -0
  71. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/files/file_handlers/txt_file_handler.py +0 -0
  72. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/files/file_handlers/yaml_file_handler.py +0 -0
  73. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/files/ignore_parser.py +0 -0
  74. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/graphics/__init__.py +0 -0
  75. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/graphics/bear_gradient.py +0 -0
  76. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/graphics/image_helpers.py +0 -0
  77. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/gui/__init__.py +0 -0
  78. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/gui/gui_tools/__init__.py +0 -0
  79. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/gui/gui_tools/_settings.py +0 -0
  80. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/gui/gui_tools/_types.py +0 -0
  81. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/gui/gui_tools/qt_app.py +0 -0
  82. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/gui/gui_tools/qt_color_picker.py +0 -0
  83. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/gui/gui_tools/qt_file_handler.py +0 -0
  84. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/gui/gui_tools/qt_input_dialog.py +0 -0
  85. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/_common.py +0 -0
  86. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/_console_junk.py +0 -0
  87. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/_log_level.py +0 -0
  88. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/_styles.py +0 -0
  89. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/loggers/__init__.py +0 -0
  90. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/loggers/_level_sin.py +0 -0
  91. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/loggers/base_logger.py +0 -0
  92. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/loggers/base_logger.pyi +0 -0
  93. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/loggers/basic_logger/__init__.py +0 -0
  94. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/loggers/basic_logger/logger.py +0 -0
  95. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/loggers/basic_logger/logger.pyi +0 -0
  96. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/loggers/buffer_logger.py +0 -0
  97. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/loggers/console_logger.py +0 -0
  98. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/loggers/console_logger.pyi +0 -0
  99. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/loggers/fastapi_logger.py +0 -0
  100. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/loggers/file_logger.py +0 -0
  101. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/loggers/simple_logger.py +0 -0
  102. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/loggers/sub_logger.py +0 -0
  103. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/logger_manager/loggers/sub_logger.pyi +0 -0
  104. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/monitoring/__init__.py +0 -0
  105. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/monitoring/_common.py +0 -0
  106. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/monitoring/host_monitor.py +0 -0
  107. {bear_utils-0.8.14 → bear_utils-0.8.16}/src/bear_utils/time/__init__.py +0 -0
  108. {bear_utils-0.8.14 → bear_utils-0.8.16}/tests/__init__.py +0 -0
  109. {bear_utils-0.8.14 → bear_utils-0.8.16}/tests/test_add_ord_suffix.py +0 -0
  110. {bear_utils-0.8.14 → bear_utils-0.8.16}/tests/test_clipboard.py +0 -0
  111. {bear_utils-0.8.14 → bear_utils-0.8.16}/tests/test_database_manager.py +0 -0
  112. {bear_utils-0.8.14 → bear_utils-0.8.16}/tests/test_default_shell.py +0 -0
  113. {bear_utils-0.8.14 → bear_utils-0.8.16}/tests/test_function_response.py +0 -0
  114. {bear_utils-0.8.14 → bear_utils-0.8.16}/tests/test_gradient.py +0 -0
  115. {bear_utils-0.8.14 → bear_utils-0.8.16}/tests/test_logger.py +0 -0
  116. {bear_utils-0.8.14 → bear_utils-0.8.16}/tests/test_platform_utils.py +0 -0
  117. {bear_utils-0.8.14 → bear_utils-0.8.16}/tests/test_prompt_helpers.py +0 -0
  118. {bear_utils-0.8.14 → bear_utils-0.8.16}/uv.lock +0 -0
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 0.8.14
2
+ current_version = 0.8.16
3
3
 
4
4
  [bumpversion:file:pyproject.toml]
5
5
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bear-utils
3
- Version: 0.8.14
3
+ Version: 0.8.16
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
@@ -22,7 +22,7 @@ Requires-Dist: toml>=0.10.2
22
22
  Requires-Dist: uvicorn>=0.35.0
23
23
  Description-Content-Type: text/markdown
24
24
 
25
- # Bear Utils v# Bear Utils v0.8.14
25
+ # Bear Utils v# Bear Utils v0.8.16
26
26
 
27
27
  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.
28
28
 
@@ -1,4 +1,4 @@
1
- # Bear Utils v# Bear Utils v0.8.14
1
+ # Bear Utils v# Bear Utils v0.8.16
2
2
 
3
3
  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.
4
4
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "bear-utils"
3
- version = "0.8.14"
3
+ version = "0.8.16"
4
4
  description = "Various utilities for Bear programmers, including a rich logging utility, a disk cache, and a SQLite database wrapper amongst other things."
5
5
  authors = [{ name = "chaz", email = "bright.lid5647@fastmail.com" }]
6
6
  readme = "README.md"
@@ -10,8 +10,9 @@ from typing import Any, Literal, Self, overload
10
10
 
11
11
  from pydantic import BaseModel, Field, field_validator
12
12
 
13
- from bear_utils.logger_manager.logger_protocol import (
14
- LoggerProtocol, # noqa: TC001 # DO NOT PUT INTO A TYPE_CHECKING BLOCK
13
+ from bear_utils.logger_manager import (
14
+ AsyncLoggerProtocol, # noqa: TC001
15
+ LoggerProtocol, # noqa: TC001
15
16
  )
16
17
 
17
18
  SUCCESS: list[str] = ["name", "success"]
@@ -28,7 +29,9 @@ class FunctionResponse(BaseModel):
28
29
  error: list[str] = Field(default=[], description="Error message if the function call failed")
29
30
  sub_tasks: list[FunctionResponse] = Field(default_factory=list, description="List of sub-tasks.")
30
31
  number_of_tasks: int = Field(default=0, description="Number of tasks processed in this response.")
31
- logger: LoggerProtocol | None = Field(default=None, description="Logger instance for logging messages.")
32
+ logger: LoggerProtocol | AsyncLoggerProtocol | None = Field(
33
+ default=None, description="Logger instance for logging messages."
34
+ )
32
35
  attrs: Namespace = Field(default_factory=Namespace, description="Storing additional attributes dynamically.")
33
36
 
34
37
  model_config = {
@@ -4,7 +4,7 @@ from typing import Any
4
4
 
5
5
  from bear_utils.logger_manager._common import VERBOSE_CONSOLE_FORMAT
6
6
  from bear_utils.logger_manager._styles import VERBOSE
7
- from bear_utils.logger_manager.logger_protocol import LoggerProtocol
7
+ from bear_utils.logger_manager.logger_protocol import AsyncLoggerProtocol, LoggerProtocol
8
8
  from bear_utils.logger_manager.loggers.base_logger import BaseLogger
9
9
  from bear_utils.logger_manager.loggers.buffer_logger import BufferLogger
10
10
  from bear_utils.logger_manager.loggers.console_logger import ConsoleLogger
@@ -82,6 +82,7 @@ def get_sub_logger(
82
82
  __all__ = [
83
83
  "VERBOSE",
84
84
  "VERBOSE_CONSOLE_FORMAT",
85
+ "AsyncLoggerProtocol",
85
86
  "BaseLogger",
86
87
  "BufferLogger",
87
88
  "ConsoleLogger",
@@ -22,3 +22,24 @@ class LoggerProtocol(Protocol):
22
22
  def error(self, msg: object, *args, **kwargs) -> None:
23
23
  """Log an error message."""
24
24
  ...
25
+
26
+
27
+ @runtime_checkable
28
+ class AsyncLoggerProtocol(Protocol):
29
+ """A protocol for asynchronous logging classes."""
30
+
31
+ async def debug(self, msg: object, *args, **kwargs) -> None:
32
+ """Log a debug message asynchronously."""
33
+ ...
34
+
35
+ async def info(self, msg: object, *args, **kwargs) -> None:
36
+ """Log an info message asynchronously."""
37
+ ...
38
+
39
+ async def warning(self, msg: object, *args, **kwargs) -> None:
40
+ """Log a warning message asynchronously."""
41
+ ...
42
+
43
+ async def error(self, msg: object, *args, **kwargs) -> None:
44
+ """Log an error message asynchronously."""
45
+ ...
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes