inspy-logger 3.0.dev5__tar.gz → 3.0.2__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 (29) hide show
  1. {inspy_logger-3.0.dev5 → inspy_logger-3.0.2}/PKG-INFO +2 -2
  2. inspy_logger-3.0.2/inspy_logger/Scripts/main.py +98 -0
  3. {inspy_logger-3.0.dev5 → inspy_logger-3.0.2}/inspy_logger/__about__.py +5 -16
  4. inspy_logger-3.0.2/inspy_logger/__init__.py +75 -0
  5. inspy_logger-3.0.2/inspy_logger/common/__init__.py +36 -0
  6. {inspy_logger-3.0.dev5/inspy_logger → inspy_logger-3.0.2/inspy_logger/engine}/__init__.py +414 -339
  7. inspy_logger-3.0.2/inspy_logger/engine/handlers.py +50 -0
  8. {inspy_logger-3.0.dev5 → inspy_logger-3.0.2}/inspy_logger/helpers/__init__.py +68 -13
  9. {inspy_logger-3.0.dev5 → inspy_logger-3.0.2}/inspy_logger/helpers/base_classes.py +10 -0
  10. inspy_logger-3.0.2/inspy_logger/helpers/command_line/__init__.py +28 -0
  11. inspy_logger-3.0.2/inspy_logger/helpers/debug/__init__.py +0 -0
  12. inspy_logger-3.0.2/inspy_logger/helpers/debug/environment.py +184 -0
  13. inspy_logger-3.0.2/inspy_logger/helpers/debug/system/__init__.py +0 -0
  14. inspy_logger-3.0.2/inspy_logger/helpers/debug/system/processor/__init__.py +64 -0
  15. inspy_logger-3.0.2/inspy_logger/helpers/debug/system/winx/__init__.py +25 -0
  16. {inspy_logger-3.0.dev5 → inspy_logger-3.0.2}/inspy_logger/helpers/network.py +5 -5
  17. inspy_logger-3.0.2/inspy_logger/helpers/units.py +57 -0
  18. inspy_logger-3.0.2/inspy_logger/tool/__init__.py +0 -0
  19. inspy_logger-3.0.2/inspy_logger/tool/config/__init__.py +0 -0
  20. inspy_logger-3.0.2/inspy_logger/tool/config/arguments/__init__.py +56 -0
  21. inspy_logger-3.0.2/inspy_logger/version.py +240 -0
  22. {inspy_logger-3.0.dev5 → inspy_logger-3.0.2}/pyproject.toml +6 -2
  23. inspy_logger-3.0.dev5/inspy_logger/Scripts/main.py +0 -91
  24. inspy_logger-3.0.dev5/inspy_logger/helpers/cache.py +0 -140
  25. inspy_logger-3.0.dev5/inspy_logger/version.py +0 -287
  26. {inspy_logger-3.0.dev5 → inspy_logger-3.0.2}/LICENSE.md +0 -0
  27. {inspy_logger-3.0.dev5 → inspy_logger-3.0.2}/README.md +0 -0
  28. {inspy_logger-3.0.dev5 → inspy_logger-3.0.2}/inspy_logger/errors/__init__.py +0 -0
  29. {inspy_logger-3.0.dev5 → inspy_logger-3.0.2}/inspy_logger/manifest.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: inspy-logger
3
- Version: 3.0.dev5
3
+ Version: 3.0.2
4
4
  Summary: Colorable, scalable logger for CLI
5
5
  Home-page: https://github.com/Inspyre-Softworks/inSPy-Logger
6
6
  License: MIT
@@ -32,7 +32,7 @@ Requires-Dist: luddite (>=1.0.1,<2.0.0)
32
32
  Requires-Dist: packaging (>=21.0,<22.0)
33
33
  Requires-Dist: python-box (>=6.1.0,<7.0.0)
34
34
  Requires-Dist: requests (>=2.28.1,<3.0.0)
35
- Requires-Dist: rich (>=13.5.2,<14.0.0)
35
+ Requires-Dist: rich (>=13.7.0,<14.0.0)
36
36
  Requires-Dist: setuptools-autover (>=1.0.2,<2.0.0)
37
37
  Project-URL: Documentation, https://inspy-logger.readthedocs.io/en/latest/
38
38
  Project-URL: Repository, https://github.com/Inspyre-Softworks/inSPy-Logger
@@ -0,0 +1,98 @@
1
+ """
2
+
3
+ File:
4
+ inspy_logger/Scripts/main.py
5
+
6
+ Author:
7
+ Inspyre Softworks
8
+
9
+ """
10
+ INSPY_LOG_LEVEL = 'info'
11
+
12
+ PROGNAME = 'inspy-logger-tool'
13
+
14
+ from argparse import ArgumentParser
15
+
16
+ from inspy_logger.helpers.debug.environment import fetch_system_info
17
+ from inspy_logger.version import parse_version, PyPiVersionInfo
18
+
19
+ # ---- SET UP PARSER --------------------------------
20
+
21
+ parser = ArgumentParser('inspy-logger-version', description='Displays version information for inspy-logger.')
22
+
23
+ parser.add_argument('-v', '--version', action='version', version=parse_version())
24
+
25
+ # ---- SET UP SUBPARSERS --------------------------------
26
+
27
+ subparsers = parser.add_subparsers(title='subcommands', dest='subcommand')
28
+
29
+ # ---- UPDATE COMMAND --------------------------------
30
+
31
+ update_parser =subparsers.add_parser('update', help='Checks for updates to inspy-logger.')
32
+
33
+ update_parser.add_argument('-p', '--pre-release', action='store_true', help='When checking for updates, include pre-release versions.')
34
+
35
+ # ---- DEBUG COMMAND --------------------------------
36
+
37
+ debug_parser = subparsers.add_parser('debug', help='Fetches a collection of environment information to help debug inspy-logger.')
38
+
39
+ debug_parser.add_argument('-C', '--copy-to-clipboard', action='store_true', help='Copies the debug information to the clipboard.')
40
+ debug_parser.add_argument('-P', '--print', action='store_true', help='Prints the debug information to the console.', default=True)
41
+
42
+ # ---- FORMAT FLAGS --------------------------------
43
+
44
+ fmt_grp = debug_parser.add_mutually_exclusive_group()
45
+
46
+ fmt_grp.add_argument('-M', '--markdown', action='store_true', help='Formats the debug information in Markdown.')
47
+
48
+ fmt_grp.add_argument('-J', '--json', action='store_true', help='Formats the debug information in JSON.')
49
+
50
+ fmt_grp.add_argument('-T', '--text', action='store_true', help='Formats the debug information in plain text.')
51
+
52
+ # Parse the arguments
53
+ parsed_args = parser.parse_args()
54
+
55
+ # END PARSER SETUP
56
+
57
+ if parsed_args.subcommand == 'update':
58
+ INCLUDE_PRE_RELEASE_FOR_UPDATE_CHECK = parsed_args.pre_release
59
+ else:
60
+ INCLUDE_PRE_RELEASE_FOR_UPDATE_CHECK = False
61
+
62
+
63
+ def main():
64
+
65
+ version = PyPiVersionInfo()
66
+
67
+ ACTIONS = {
68
+ 'default': version.print_version_info,
69
+ 'update': version.update,
70
+ 'debug': fetch_system_info,
71
+
72
+ }
73
+
74
+ if parsed_args.subcommand is None:
75
+ parsed_args.subcommand = 'default'
76
+
77
+ if parsed_args.subcommand == 'debug':
78
+
79
+ if (
80
+ parsed_args.markdown
81
+ or not parsed_args.json
82
+ and not parsed_args.text
83
+ ):
84
+ fmt = 'markdown'
85
+ elif parsed_args.json:
86
+ fmt = 'json'
87
+ else:
88
+ fmt = 'text'
89
+
90
+ fetch_system_info(copy_to_clipboard=parsed_args.copy_to_clipboard, format_type=fmt, print_to_console=parsed_args.print)
91
+
92
+
93
+
94
+
95
+ return parsed_args
96
+
97
+ if __name__ == '__main__':
98
+ main()
@@ -11,24 +11,13 @@ Since:
11
11
  v2.1.1
12
12
 
13
13
  """
14
+ from typing import List, Tuple
15
+
14
16
  from inspy_logger.version import parse_version
15
17
 
16
- __prog__ = 'inSPy-Logger'
17
- __version__ = parse_version()
18
- __authors__ = [
18
+ __PROG__ = 'inSPy-Logger'
19
+ __VERSION__: str = parse_version()
20
+ __AUTHORS__: list[tuple[str, str]] = [
19
21
  ('Inspyre-Softworks', 'https://inspyre.tech'),
20
22
  ('Taylor-Jayde Blackstone', '<t.blackstone@inspyre.tech')
21
23
  ]
22
-
23
- '''
24
- File Change History:
25
- 11/5/22 - 4:21 AM (v2.1.2):
26
- - Added description to docstring. (target: 2.1.2)
27
-
28
- 11/5/22 - 4:41 AM:
29
- - Version bump (target: 2.1.3)
30
-
31
- 08/16/2023 - 13:49 (v3.0):
32
- - Version bump (v2.1.3 -> v3.0-dev.1)
33
-
34
- '''
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env python3
2
+ import sys
3
+ from inspy_logger.common import PROG_NAME, DEFAULT_LOGGING_LEVEL
4
+ from inspy_logger.helpers import find_variable_in_call_stack, check_preemptive_level_set, find_argument_parser
5
+
6
+
7
+ from inspy_logger.helpers import (
8
+ translate_to_logging_level,
9
+ clean_module_name,
10
+ CustomFormatter,
11
+ determine_client_prog_name,
12
+ )
13
+
14
+ from inspy_logger.engine import Logger
15
+
16
+ __all__ = [
17
+ "PROG_NAME",
18
+ "DEFAULT_LOGGING_LEVEL",
19
+ "translate_to_logging_level",
20
+ "clean_module_name",
21
+ "CustomFormatter",
22
+ "Logger",
23
+ "LOG_DEVICE",
24
+ "client_prog_name",
25
+ "determine_level"
26
+ ]
27
+
28
+ LOG_DEVICE = Logger(PROG_NAME)
29
+
30
+ MODULE_OBJ = sys.modules[__name__]
31
+
32
+ client_prog_name = determine_client_prog_name()
33
+
34
+
35
+
36
+ def determine_level():
37
+ """
38
+ Determines the level at which to output logs to the console.
39
+
40
+ Returns:
41
+ int:
42
+ The level at which to output logs to the console.
43
+ """
44
+ global client_prog_name
45
+ level = DEFAULT_LOGGING_LEVEL
46
+
47
+ _preemptive_set = check_preemptive_level_set()
48
+
49
+ if _preemptive_set:
50
+ level = translate_to_logging_level(_preemptive_set)
51
+
52
+ if client_prog_name:
53
+ arg_parser = find_argument_parser()
54
+ if arg_parser:
55
+ from inspy_logger.helpers.command_line import add_argument
56
+ add_argument(arg_parser, level)
57
+ args = arg_parser.parse_args()
58
+
59
+ level = translate_to_logging_level(args.log_level)
60
+
61
+ return level
62
+
63
+
64
+ LOG_DEVICE.set_level(determine_level())
65
+
66
+
67
+ if client_prog_name:
68
+ PROG_LOGGER = Logger(client_prog_name, LOG_DEVICE.console_level, LOG_DEVICE.file_level)
69
+ __all__.append('PROG_LOGGER')
70
+
71
+
72
+ InspyLogger = Logger
73
+
74
+
75
+ LOG_DEVICE.replay_and_setup_handlers()
@@ -0,0 +1,36 @@
1
+ import logging
2
+
3
+ from inspy_logger.__about__ import __PROG__ as PROG_NAME, __VERSION__ as PROG_VERSION
4
+
5
+
6
+ __all__ = [
7
+ "PROG_NAME",
8
+ "PROG_VERSION",
9
+ "LEVEL_MAP",
10
+ "LEVELS",
11
+ "DEFAULT_LOGGING_LEVEL",
12
+ "InspyLogger"
13
+ ]
14
+
15
+
16
+ LEVEL_MAP = {
17
+ 'debug': logging.DEBUG,
18
+ 'info': logging.INFO,
19
+ 'warning': logging.WARNING,
20
+ 'error': logging.ERROR,
21
+ 'critical': logging.CRITICAL,
22
+ 'fatal': logging.FATAL,
23
+ }
24
+ """A mapping of level names to their corresponding logging levels."""
25
+
26
+
27
+ LEVELS = list(LEVEL_MAP.values())
28
+ """The list of level names."""
29
+
30
+
31
+ DEFAULT_LOGGING_LEVEL = logging.DEBUG
32
+ """The default logging level."""
33
+
34
+
35
+ class InspyLogger:
36
+ pass