fmtr.tools 1.0.24__tar.gz → 1.0.26__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.

Potentially problematic release.


This version of fmtr.tools might be problematic. Click here for more details.

Files changed (67) hide show
  1. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/PKG-INFO +3 -2
  2. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/README.md +2 -1
  3. fmtr.tools-1.0.26/fmtr/tools/logging_tools.py +59 -0
  4. fmtr.tools-1.0.26/fmtr/tools/version +1 -0
  5. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr.tools.egg-info/PKG-INFO +3 -2
  6. fmtr.tools-1.0.24/fmtr/tools/logging_tools.py +0 -35
  7. fmtr.tools-1.0.24/fmtr/tools/version +0 -1
  8. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/LICENSE +0 -0
  9. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/__init__.py +0 -0
  10. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/ai_tools.py +0 -0
  11. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/api_tools.py +0 -0
  12. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/async_tools.py +0 -0
  13. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/augmentation_tools.py +0 -0
  14. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/caching_tools.py +0 -0
  15. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/config.py +0 -0
  16. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/config_tools.py +0 -0
  17. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/console_script_tools.py +0 -0
  18. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/data_modelling_tools.py +0 -0
  19. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/dataclass_tools.py +0 -0
  20. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/datatype_tools.py +0 -0
  21. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/docker_tools.py +0 -0
  22. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/environment_tools.py +0 -0
  23. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/function_tools.py +0 -0
  24. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/google_api_tools.py +0 -0
  25. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/hash_tools.py +0 -0
  26. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/hfh_tools.py +0 -0
  27. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/html_tools.py +0 -0
  28. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/import_tools.py +0 -0
  29. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/inspection_tools.py +0 -0
  30. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/interface_tools.py +0 -0
  31. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/iterator_tools.py +0 -0
  32. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/json_fix_tools.py +0 -0
  33. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/json_tools.py +0 -0
  34. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/merging_tools.py +0 -0
  35. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/metric_tools.py +0 -0
  36. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/name_tools.py +0 -0
  37. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/netrc_tools.py +0 -0
  38. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/openai_tools.py +0 -0
  39. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/parallel_tools.py +0 -0
  40. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/path_tools.py +0 -0
  41. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/platform_tools.py +0 -0
  42. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/process_tools.py +0 -0
  43. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/profiling_tools.py +0 -0
  44. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/random_tools.py +0 -0
  45. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/semantic_tools.py +0 -0
  46. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/spaces_tools.py +0 -0
  47. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/string_tools.py +0 -0
  48. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/tests/__init__.py +0 -0
  49. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/tests/conftest.py +0 -0
  50. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/tests/helpers.py +0 -0
  51. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/tests/test_datatype.py +0 -0
  52. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/tests/test_environment.py +0 -0
  53. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/tests/test_json.py +0 -0
  54. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/tests/test_path.py +0 -0
  55. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/tests/test_yaml.py +0 -0
  56. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/tokenization_tools.py +0 -0
  57. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/tools.py +0 -0
  58. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/unicode_tools.py +0 -0
  59. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/version_tools.py +0 -0
  60. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr/tools/yaml_tools.py +0 -0
  61. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr.tools.egg-info/SOURCES.txt +0 -0
  62. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr.tools.egg-info/dependency_links.txt +0 -0
  63. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr.tools.egg-info/entry_points.txt +0 -0
  64. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr.tools.egg-info/requires.txt +0 -0
  65. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/fmtr.tools.egg-info/top_level.txt +0 -0
  66. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/setup.cfg +0 -0
  67. {fmtr.tools-1.0.24 → fmtr.tools-1.0.26}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fmtr.tools
3
- Version: 1.0.24
3
+ Version: 1.0.26
4
4
  Summary: Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML
5
5
  Home-page: https://github.com/fmtr/fmtr.tools
6
6
  Author: Frontmatter
@@ -166,7 +166,8 @@ The included modules, plus any extra requirements, are as follows:
166
166
  - Extras: None
167
167
  - `tools.logging`: Configures and initializes a logger using the Logfire library to log to an OpenTelemetry consumer.
168
168
  - Extras: `logging`
169
- - `tools.logger`: Prefabricated `logger` object, suitable for most projects: service name, timestamped, etc.
169
+ - `tools.logger`: Prefabricated
170
+ `logger` object, suitable for most projects: service name, colour-coded, timestamped, etc.
170
171
  - Extras: `logging`
171
172
  - `tools.augmentation`: Data augmentation stub.
172
173
  - Extras: `augmentation`
@@ -128,7 +128,8 @@ The included modules, plus any extra requirements, are as follows:
128
128
  - Extras: None
129
129
  - `tools.logging`: Configures and initializes a logger using the Logfire library to log to an OpenTelemetry consumer.
130
130
  - Extras: `logging`
131
- - `tools.logger`: Prefabricated `logger` object, suitable for most projects: service name, timestamped, etc.
131
+ - `tools.logger`: Prefabricated
132
+ `logger` object, suitable for most projects: service name, colour-coded, timestamped, etc.
132
133
  - Extras: `logging`
133
134
  - `tools.augmentation`: Data augmentation stub.
134
135
  - Extras: `augmentation`
@@ -0,0 +1,59 @@
1
+ import logging
2
+ import os
3
+ from logfire import ConsoleOptions
4
+
5
+ from fmtr.tools import environment_tools
6
+
7
+ DEVELOPMENT = "development"
8
+ PRODUCTION = "production"
9
+ HOST_DEFAULT = "log.sv.fmtr.dev"
10
+ ORG_DEFAULT = "fmtr"
11
+ STREAM_DEFAULT = DEVELOPMENT
12
+ ENVIRONMENT_DEFAULT = DEVELOPMENT
13
+
14
+ LEVEL_DEFAULT = logging.DEBUG if environment_tools.IS_DEBUG else logging.INFO
15
+
16
+
17
+ def get_logger(name, version, host=HOST_DEFAULT, org=ORG_DEFAULT, stream=STREAM_DEFAULT,
18
+ environment=ENVIRONMENT_DEFAULT, level=LEVEL_DEFAULT):
19
+ """
20
+
21
+ Get a pre-configured logfire logger, if dependency is present, otherwise default to native logger.
22
+
23
+ """
24
+
25
+ try:
26
+ import logfire
27
+ except ImportError:
28
+ logger = logging.getLogger(None)
29
+ logger.setLevel(level)
30
+ logger.warning(f'Logging dependencies not installed. Using native logger.')
31
+
32
+ return logger
33
+
34
+ key = environment_tools.get("FMTR_OBS_API_KEY")
35
+ traces_endpoint = f"https://{host}/api/{org}/v1/traces"
36
+ headers = f"Authorization=Basic {key},stream-name={stream}"
37
+
38
+ os.environ["OTEL_EXPORTER_OTLP_TRACES_ENDPOINT"] = traces_endpoint
39
+ os.environ["OTEL_EXPORTER_OTLP_HEADERS"] = headers
40
+ os.environ["OTEL_EXPORTER_OTLP_INSECURE"] = str(False).lower()
41
+
42
+ logfire.configure(
43
+ service_name=name,
44
+ service_version=version,
45
+ environment=environment,
46
+ send_to_logfire=False,
47
+ console=ConsoleOptions(colors='always' if environment_tools.IS_DEBUG else 'auto')
48
+
49
+ )
50
+
51
+ logging.getLogger(name).setLevel(level)
52
+
53
+ logger = logfire
54
+ return logger
55
+
56
+
57
+ logger = get_logger(name='fmtr.tools', version='0.0.0')
58
+
59
+ logger = get_logger()
@@ -0,0 +1 @@
1
+ 1.0.26
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fmtr.tools
3
- Version: 1.0.24
3
+ Version: 1.0.26
4
4
  Summary: Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML
5
5
  Home-page: https://github.com/fmtr/fmtr.tools
6
6
  Author: Frontmatter
@@ -166,7 +166,8 @@ The included modules, plus any extra requirements, are as follows:
166
166
  - Extras: None
167
167
  - `tools.logging`: Configures and initializes a logger using the Logfire library to log to an OpenTelemetry consumer.
168
168
  - Extras: `logging`
169
- - `tools.logger`: Prefabricated `logger` object, suitable for most projects: service name, timestamped, etc.
169
+ - `tools.logger`: Prefabricated
170
+ `logger` object, suitable for most projects: service name, colour-coded, timestamped, etc.
170
171
  - Extras: `logging`
171
172
  - `tools.augmentation`: Data augmentation stub.
172
173
  - Extras: `augmentation`
@@ -1,35 +0,0 @@
1
- import logging
2
-
3
-
4
- def get_logger(name, version, level, environment):
5
- """
6
-
7
- Get a pre-configured loguru logger, if dependency is present, otherwise default to native logger.
8
-
9
- """
10
-
11
- try:
12
- import logfire
13
- except ImportError:
14
- logger = logging.getLogger(None)
15
- logger.setLevel(level)
16
- logger.warning(f'Logging dependencies not installed. Using native logger.')
17
-
18
- return logger
19
-
20
- logfire.configure(
21
- service_name=name,
22
- service_version=version,
23
- environment=environment,
24
- send_to_logfire=False
25
-
26
- )
27
-
28
- logging.getLogger(name).setLevel(level)
29
-
30
- return logfire
31
-
32
-
33
- logger = get_logger(name='fmtr.tools', version='0.0.0', level=logging.DEBUG, environment='dev')
34
-
35
- logger = get_logger()
@@ -1 +0,0 @@
1
- 1.0.24
File without changes
File without changes
File without changes