ry-app-bootstrap 0.1.0__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.
- ry_app_bootstrap-0.1.0/PKG-INFO +13 -0
- ry_app_bootstrap-0.1.0/README.md +3 -0
- ry_app_bootstrap-0.1.0/pyproject.toml +21 -0
- ry_app_bootstrap-0.1.0/setup.cfg +4 -0
- ry_app_bootstrap-0.1.0/src/ry_app_bootstrap/__init__.py +6 -0
- ry_app_bootstrap-0.1.0/src/ry_app_bootstrap/logging.py +52 -0
- ry_app_bootstrap-0.1.0/src/ry_app_bootstrap/types.py +10 -0
- ry_app_bootstrap-0.1.0/src/ry_app_bootstrap/version.py +9 -0
- ry_app_bootstrap-0.1.0/src/ry_app_bootstrap.egg-info/PKG-INFO +13 -0
- ry_app_bootstrap-0.1.0/src/ry_app_bootstrap.egg-info/SOURCES.txt +11 -0
- ry_app_bootstrap-0.1.0/src/ry_app_bootstrap.egg-info/dependency_links.txt +1 -0
- ry_app_bootstrap-0.1.0/src/ry_app_bootstrap.egg-info/requires.txt +2 -0
- ry_app_bootstrap-0.1.0/src/ry_app_bootstrap.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ry-app-bootstrap
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Reusable runtime bootstrap helpers for Ross Python services
|
|
5
|
+
Author: Ross Yeager
|
|
6
|
+
Requires-Python: >=3.12
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
Requires-Dist: ry-pg-utils
|
|
9
|
+
Requires-Dist: ryutils
|
|
10
|
+
|
|
11
|
+
# ry-app-bootstrap
|
|
12
|
+
|
|
13
|
+
Shared runtime bootstrap helpers (logging and version loading).
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "ry-app-bootstrap"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "Reusable runtime bootstrap helpers for Ross Python services"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.12"
|
|
11
|
+
authors = [{ name = "Ross Yeager" }]
|
|
12
|
+
dependencies = [
|
|
13
|
+
"ry-pg-utils",
|
|
14
|
+
"ryutils",
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
[tool.setuptools]
|
|
18
|
+
package-dir = {"" = "src"}
|
|
19
|
+
|
|
20
|
+
[tool.setuptools.packages.find]
|
|
21
|
+
where = ["src"]
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
import typing as T
|
|
3
|
+
|
|
4
|
+
from google.protobuf.timestamp_pb2 import Timestamp
|
|
5
|
+
from ry_pg_utils.dynamic_table import DynamicTableDb
|
|
6
|
+
from ryutils import log
|
|
7
|
+
|
|
8
|
+
from .types import LogMessagePbProtocol
|
|
9
|
+
|
|
10
|
+
LOGGING_CALLBACK_DB = "LogErrorMessages"
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def logging_error_db_callback(
|
|
14
|
+
message: str,
|
|
15
|
+
log_message_cls: type[LogMessagePbProtocol],
|
|
16
|
+
db_name: T.Optional[str] = None,
|
|
17
|
+
) -> None:
|
|
18
|
+
message_pb = log_message_cls()
|
|
19
|
+
|
|
20
|
+
try:
|
|
21
|
+
message_pb.message = message
|
|
22
|
+
except Exception as exc: # pylint: disable=broad-except
|
|
23
|
+
err_message = f"Failed to log message to DB: {exc}"
|
|
24
|
+
print(err_message)
|
|
25
|
+
message_pb.message = err_message
|
|
26
|
+
|
|
27
|
+
if not db_name:
|
|
28
|
+
return
|
|
29
|
+
|
|
30
|
+
timestamp = Timestamp()
|
|
31
|
+
timestamp.GetCurrentTime()
|
|
32
|
+
message_pb.utime.CopyFrom(timestamp)
|
|
33
|
+
DynamicTableDb.log_data_to_db(message_pb, db_name, LOGGING_CALLBACK_DB, log_print_failure=False)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def setup_logging(
|
|
37
|
+
log_dir: str,
|
|
38
|
+
log_level: str,
|
|
39
|
+
log_name: str,
|
|
40
|
+
log_message_cls: type[LogMessagePbProtocol],
|
|
41
|
+
downsample_count: int = 1,
|
|
42
|
+
) -> None:
|
|
43
|
+
callback = lambda msg, db_name=None: logging_error_db_callback(msg, log_message_cls, db_name)
|
|
44
|
+
log.setup(
|
|
45
|
+
log_dir,
|
|
46
|
+
log_level,
|
|
47
|
+
log_name,
|
|
48
|
+
use_multihandler=False,
|
|
49
|
+
downsample_count=downsample_count,
|
|
50
|
+
callback=callback,
|
|
51
|
+
callback_level=logging.ERROR,
|
|
52
|
+
)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ry-app-bootstrap
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Reusable runtime bootstrap helpers for Ross Python services
|
|
5
|
+
Author: Ross Yeager
|
|
6
|
+
Requires-Python: >=3.12
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
Requires-Dist: ry-pg-utils
|
|
9
|
+
Requires-Dist: ryutils
|
|
10
|
+
|
|
11
|
+
# ry-app-bootstrap
|
|
12
|
+
|
|
13
|
+
Shared runtime bootstrap helpers (logging and version loading).
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
README.md
|
|
2
|
+
pyproject.toml
|
|
3
|
+
src/ry_app_bootstrap/__init__.py
|
|
4
|
+
src/ry_app_bootstrap/logging.py
|
|
5
|
+
src/ry_app_bootstrap/types.py
|
|
6
|
+
src/ry_app_bootstrap/version.py
|
|
7
|
+
src/ry_app_bootstrap.egg-info/PKG-INFO
|
|
8
|
+
src/ry_app_bootstrap.egg-info/SOURCES.txt
|
|
9
|
+
src/ry_app_bootstrap.egg-info/dependency_links.txt
|
|
10
|
+
src/ry_app_bootstrap.egg-info/requires.txt
|
|
11
|
+
src/ry_app_bootstrap.egg-info/top_level.txt
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ry_app_bootstrap
|