fmtr.tools 1.0.25__tar.gz → 1.0.27__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 (66) hide show
  1. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/PKG-INFO +3 -2
  2. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/README.md +2 -1
  3. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/config.py +4 -1
  4. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/logging_tools.py +13 -9
  5. fmtr.tools-1.0.27/fmtr/tools/version +1 -0
  6. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr.tools.egg-info/PKG-INFO +3 -2
  7. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr.tools.egg-info/requires.txt +3 -0
  8. fmtr.tools-1.0.25/fmtr/tools/version +0 -1
  9. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/LICENSE +0 -0
  10. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/__init__.py +0 -0
  11. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/ai_tools.py +0 -0
  12. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/api_tools.py +0 -0
  13. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/async_tools.py +0 -0
  14. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/augmentation_tools.py +0 -0
  15. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/caching_tools.py +0 -0
  16. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/config_tools.py +0 -0
  17. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/console_script_tools.py +0 -0
  18. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/data_modelling_tools.py +0 -0
  19. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/dataclass_tools.py +0 -0
  20. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/datatype_tools.py +0 -0
  21. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/docker_tools.py +0 -0
  22. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/environment_tools.py +0 -0
  23. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/function_tools.py +0 -0
  24. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/google_api_tools.py +0 -0
  25. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/hash_tools.py +0 -0
  26. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/hfh_tools.py +0 -0
  27. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/html_tools.py +0 -0
  28. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/import_tools.py +0 -0
  29. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/inspection_tools.py +0 -0
  30. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/interface_tools.py +0 -0
  31. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/iterator_tools.py +0 -0
  32. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/json_fix_tools.py +0 -0
  33. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/json_tools.py +0 -0
  34. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/merging_tools.py +0 -0
  35. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/metric_tools.py +0 -0
  36. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/name_tools.py +0 -0
  37. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/netrc_tools.py +0 -0
  38. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/openai_tools.py +0 -0
  39. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/parallel_tools.py +0 -0
  40. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/path_tools.py +0 -0
  41. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/platform_tools.py +0 -0
  42. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/process_tools.py +0 -0
  43. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/profiling_tools.py +0 -0
  44. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/random_tools.py +0 -0
  45. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/semantic_tools.py +0 -0
  46. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/spaces_tools.py +0 -0
  47. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/string_tools.py +0 -0
  48. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/tests/__init__.py +0 -0
  49. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/tests/conftest.py +0 -0
  50. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/tests/helpers.py +0 -0
  51. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/tests/test_datatype.py +0 -0
  52. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/tests/test_environment.py +0 -0
  53. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/tests/test_json.py +0 -0
  54. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/tests/test_path.py +0 -0
  55. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/tests/test_yaml.py +0 -0
  56. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/tokenization_tools.py +0 -0
  57. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/tools.py +0 -0
  58. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/unicode_tools.py +0 -0
  59. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/version_tools.py +0 -0
  60. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr/tools/yaml_tools.py +0 -0
  61. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr.tools.egg-info/SOURCES.txt +0 -0
  62. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr.tools.egg-info/dependency_links.txt +0 -0
  63. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr.tools.egg-info/entry_points.txt +0 -0
  64. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/fmtr.tools.egg-info/top_level.txt +0 -0
  65. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/setup.cfg +0 -0
  66. {fmtr.tools-1.0.25 → fmtr.tools-1.0.27}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fmtr.tools
3
- Version: 1.0.25
3
+ Version: 1.0.27
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`
@@ -5,7 +5,8 @@ from fmtr.tools.config_tools import ConfigClass
5
5
 
6
6
  class ToolsConfig(ConfigClass):
7
7
  ENCODING = 'UTF-8'
8
- LIBRARY_NAME = 'fmtr.tools'
8
+ ORG_NAME = 'fmtr'
9
+ LIBRARY_NAME = f'{ORG_NAME}.tools'
9
10
  DATE_FILENAME_FORMAT = '%Y-%m-%d'
10
11
  TIME_FILENAME_FORMAT = '%H-%M-%S'
11
12
 
@@ -16,3 +17,5 @@ class ToolsConfig(ConfigClass):
16
17
  SERIALIZATION_INDENT = 4
17
18
 
18
19
  FMTR_LOG_LEVEL_KEY = 'FMTR_LOG_LEVEL'
20
+ FMTR_OBS_API_KEY_KEY = 'FMTR_OBS_API_KEY'
21
+ FMTR_OBS_HOST = 'log.sv.fmtr.dev'
@@ -1,19 +1,19 @@
1
1
  import logging
2
2
  import os
3
+ from logfire import ConsoleOptions
3
4
 
4
5
  from fmtr.tools import environment_tools
6
+ from fmtr.tools.config import ToolsConfig
5
7
 
6
8
  DEVELOPMENT = "development"
7
9
  PRODUCTION = "production"
8
- HOST_DEFAULT = "log.sv.fmtr.dev"
9
- ORG_DEFAULT = "fmtr"
10
10
  STREAM_DEFAULT = DEVELOPMENT
11
11
  ENVIRONMENT_DEFAULT = DEVELOPMENT
12
12
 
13
13
  LEVEL_DEFAULT = logging.DEBUG if environment_tools.IS_DEBUG else logging.INFO
14
14
 
15
15
 
16
- def get_logger(name, version, host=HOST_DEFAULT, org=ORG_DEFAULT, stream=STREAM_DEFAULT,
16
+ def get_logger(name, version=None, host=ToolsConfig.FMTR_OBS_HOST, org=ToolsConfig.ORG_NAME, stream=STREAM_DEFAULT,
17
17
  environment=ENVIRONMENT_DEFAULT, level=LEVEL_DEFAULT):
18
18
  """
19
19
 
@@ -30,20 +30,24 @@ def get_logger(name, version, host=HOST_DEFAULT, org=ORG_DEFAULT, stream=STREAM_
30
30
 
31
31
  return logger
32
32
 
33
- key = environment_tools.get("FMTR_OBS_API_KEY")
34
- traces_endpoint = f"https://{host}/api/{org}/v1/traces"
33
+ key = environment_tools.get(ToolsConfig.FMTR_OBS_API_KEY_KEY)
34
+ url = f"https://{host}/api/{org}/v1/traces"
35
35
  headers = f"Authorization=Basic {key},stream-name={stream}"
36
36
 
37
- os.environ["OTEL_EXPORTER_OTLP_TRACES_ENDPOINT"] = traces_endpoint
37
+ os.environ["OTEL_EXPORTER_OTLP_TRACES_ENDPOINT"] = url
38
38
  os.environ["OTEL_EXPORTER_OTLP_HEADERS"] = headers
39
39
  os.environ["OTEL_EXPORTER_OTLP_INSECURE"] = str(False).lower()
40
40
 
41
+ if not version:
42
+ from fmtr.tools import version_tools
43
+ version = version_tools.read()
44
+
41
45
  logfire.configure(
42
46
  service_name=name,
43
47
  service_version=version,
44
48
  environment=environment,
45
- send_to_logfire=False
46
-
49
+ send_to_logfire=False,
50
+ console=ConsoleOptions(colors='always' if environment_tools.IS_DEBUG else 'auto')
47
51
  )
48
52
 
49
53
  logging.getLogger(name).setLevel(level)
@@ -52,6 +56,6 @@ def get_logger(name, version, host=HOST_DEFAULT, org=ORG_DEFAULT, stream=STREAM_
52
56
  return logger
53
57
 
54
58
 
55
- logger = get_logger(name='fmtr.tools', version='0.0.0')
59
+ logger = get_logger(name=ToolsConfig.LIBRARY_NAME)
56
60
 
57
61
  logger = get_logger()
@@ -0,0 +1 @@
1
+ 1.0.27
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fmtr.tools
3
- Version: 1.0.25
3
+ Version: 1.0.27
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`
@@ -16,6 +16,7 @@ pydantic-ai[openai]
16
16
  fastapi
17
17
  logfire
18
18
  pydantic
19
+ semver
19
20
  uvicorn
20
21
 
21
22
  [augmentation]
@@ -52,6 +53,7 @@ json_repair
52
53
 
53
54
  [logging]
54
55
  logfire
56
+ semver
55
57
 
56
58
  [merging]
57
59
  deepmerge
@@ -72,6 +74,7 @@ distributed
72
74
 
73
75
  [process]
74
76
  logfire
77
+ semver
75
78
 
76
79
  [profiling]
77
80
  contexttimer
@@ -1 +0,0 @@
1
- 1.0.25
File without changes
File without changes
File without changes