kbasic 0.3.2__tar.gz → 0.3.4__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 (27) hide show
  1. {kbasic-0.3.2 → kbasic-0.3.4}/PKG-INFO +1 -1
  2. {kbasic-0.3.2 → kbasic-0.3.4}/pyproject.toml +1 -1
  3. kbasic-0.3.4/src/kbasic/parsing/logging.py +44 -0
  4. kbasic-0.3.2/src/kbasic/parsing/log.py +0 -22
  5. {kbasic-0.3.2 → kbasic-0.3.4}/README.md +0 -0
  6. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/Tex.py +0 -0
  7. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/__init__.py +0 -0
  8. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/array.py +0 -0
  9. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/audio/__init__.py +0 -0
  10. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/audio/lib/Caroline Rose - year of the slug - 01 everything in its right place.wav +0 -0
  11. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/audio/lib/success.mp3 +0 -0
  12. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/audio/sound.py +0 -0
  13. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/bar.py +0 -0
  14. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/environment/Keyan.py +0 -0
  15. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/environment/__init__.py +0 -0
  16. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/environment/anvil.py +0 -0
  17. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/environment/defaultPC.py +0 -0
  18. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/parsing/__init__.py +0 -0
  19. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/parsing/basic.py +0 -0
  20. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/parsing/parser.py +0 -0
  21. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/parsing/toml.py +0 -0
  22. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/parsing/utils.py +0 -0
  23. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/shell.py +0 -0
  24. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/strings.py +0 -0
  25. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/typing.py +0 -0
  26. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/user_input.py +0 -0
  27. {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/vectors.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: kbasic
3
- Version: 0.3.2
3
+ Version: 0.3.4
4
4
  Summary: Keyan's basic utility functions.
5
5
  Author: Keyan Gootkin
6
6
  Author-email: Keyan Gootkin <keyangootkin@gmail.com>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kbasic"
3
- version = "0.3.2"
3
+ version = "0.3.4"
4
4
  description = "Keyan's basic utility functions."
5
5
  readme = "README.md"
6
6
  authors = [
@@ -0,0 +1,44 @@
1
+ """configure logging for simulations"""
2
+ # !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
3
+ # >-|===|> Imports <|===|-<
4
+ # !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
5
+ import logging
6
+ from typing import Optional
7
+ from time import time
8
+
9
+ from kbasic.parsing.basic import File
10
+
11
+ # !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
12
+ # >-|===|> Definitions <|===|-<
13
+ # !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
14
+ default_format = '%(levelname)-8s: %(message)s'
15
+
16
+ # !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
17
+ # >-|===|> Classes <|===|-<
18
+ # !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
19
+ class Log(logging.Logger):
20
+ def __init__(
21
+ self,
22
+ name: str,
23
+ file: Optional[File | str] = None,
24
+ file_level: int = logging.INFO,
25
+ console_level: int = logging.WARNING,
26
+
27
+ ) -> None:
28
+ super().__init__(f"{__package__}.{name}")
29
+ self.name = name
30
+
31
+ self.console_handler = logging.StreamHandler()
32
+ self.console_handler.setFormatter(logging.Formatter(default_format))
33
+ self.console_handler.setLevel(console_level)
34
+ self.addHandler(self.console_handler)
35
+
36
+ if file:
37
+ self.file = File(file)
38
+ self.file_handler = logging.FileHandler(self.file.path)
39
+ self.file_handler.setFormatter(logging.Formatter(
40
+ "%(asctime)s : "+default_format,
41
+ "%Y-%m-%d %H:%M:%S"
42
+ ))
43
+ self.file_handler.setLevel(file_level)
44
+ self.addHandler(self.file_handler)
@@ -1,22 +0,0 @@
1
- """A logger!"""
2
- # !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
3
- # >-|===|> Imports <|===|-<
4
- # !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
5
- from typing import Callable
6
- from datetime import datetime
7
- from kbasic.parsing.basic import File
8
-
9
- # !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
10
- # >-|===|> Functions <|===|-<
11
- # !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
12
- def default_log_formatter(msg: str) -> str:
13
- """prefix datetime.now on all log entries"""
14
- return f"{str(datetime.now())}: {msg}"
15
-
16
- # !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
17
- # >-|===|> Classes <|===|-<
18
- # !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
19
- class Log(File):
20
- def __init__(self, path: str, verbose: bool = False) -> None:
21
- File.__init__(self, path, verbose=verbose)
22
- def __call__(self, msg: str, fmt: Callable[[str], str] = default_log_formatter) -> None: pass
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
File without changes
File without changes