azpaddypy 0.4.1__py3-none-any.whl → 0.4.3__py3-none-any.whl
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.
- azpaddypy/mgmt/__init__.py +2 -2
- azpaddypy/mgmt/{local_development.py → local_env_manager.py} +16 -6
- {azpaddypy-0.4.1.dist-info → azpaddypy-0.4.3.dist-info}/METADATA +1 -1
- {azpaddypy-0.4.1.dist-info → azpaddypy-0.4.3.dist-info}/RECORD +7 -7
- {azpaddypy-0.4.1.dist-info → azpaddypy-0.4.3.dist-info}/WHEEL +0 -0
- {azpaddypy-0.4.1.dist-info → azpaddypy-0.4.3.dist-info}/licenses/LICENSE +0 -0
- {azpaddypy-0.4.1.dist-info → azpaddypy-0.4.3.dist-info}/top_level.txt +0 -0
azpaddypy/mgmt/__init__.py
CHANGED
@@ -6,11 +6,11 @@ __version__ = "0.1.0"
|
|
6
6
|
|
7
7
|
from azpaddypy.mgmt.logging import AzureLogger
|
8
8
|
from azpaddypy.mgmt.identity import AzureIdentity
|
9
|
-
from azpaddypy.mgmt.
|
9
|
+
from azpaddypy.mgmt.local_env_manager import LocalDevelopmentSettings, create_local_env_manager
|
10
10
|
|
11
11
|
__all__ = [
|
12
12
|
"AzureLogger",
|
13
13
|
"AzureIdentity",
|
14
14
|
"LocalDevelopmentSettings",
|
15
|
-
"
|
15
|
+
"create_local_env_manager",
|
16
16
|
]
|
@@ -18,7 +18,6 @@ class LocalDevelopmentSettings:
|
|
18
18
|
|
19
19
|
Attributes:
|
20
20
|
logger: An instance of AzureLogger for structured logging.
|
21
|
-
settings_path: The path to the settings file to be loaded.
|
22
21
|
"""
|
23
22
|
|
24
23
|
def __init__(
|
@@ -155,9 +154,14 @@ class LocalDevelopmentSettings:
|
|
155
154
|
else:
|
156
155
|
self.logger.debug(f"Skipping setting (exists): {key}")
|
157
156
|
self.logger.info(f"Applied {len(settings)} settings to environment.")
|
157
|
+
|
158
|
+
def print_settings(self):
|
159
|
+
"""Prints the current settings as a dictionary."""
|
160
|
+
for key, value in os.environ.items():
|
161
|
+
self.logger.debug(f"Setting: {key}={value[:8]}...")
|
162
|
+
|
158
163
|
|
159
|
-
|
160
|
-
def set_local_dev_environment(
|
164
|
+
def create_local_env_manager(
|
161
165
|
file_path: str = ".env",
|
162
166
|
settings: Optional[Dict[str, str]] = None,
|
163
167
|
logger: Optional[AzureLogger] = None,
|
@@ -169,6 +173,7 @@ def set_local_dev_environment(
|
|
169
173
|
|
170
174
|
This function orchestrates loading settings from a `local.settings.json` file,
|
171
175
|
a `.env` file, and a direct dictionary of settings, in that order.
|
176
|
+
If the settings are not loaded from the file, the settings from the dictionary will not be applied.
|
172
177
|
|
173
178
|
Args:
|
174
179
|
file_path: Base path for `.env` or `local.settings.json`. The function
|
@@ -180,17 +185,22 @@ def set_local_dev_environment(
|
|
180
185
|
override_settings: Whether settings from the dictionary should override.
|
181
186
|
"""
|
182
187
|
manager = LocalDevelopmentSettings(logger=logger)
|
183
|
-
|
188
|
+
loadded_from_json = False
|
189
|
+
loadded_from_dotenv = False
|
184
190
|
# Try loading local.settings.json
|
185
191
|
json_path = pathlib.Path(file_path).parent / "local.settings.json"
|
186
192
|
if json_path.is_file():
|
187
193
|
manager.load_from_json(json_path, override=override_json)
|
194
|
+
loadded_from_json = True
|
188
195
|
|
189
196
|
# Try loading .env
|
190
197
|
dotenv_path = pathlib.Path(file_path)
|
191
198
|
if dotenv_path.is_file() and dotenv_path.name == ".env":
|
192
199
|
manager.load_from_dotenv(dotenv_path, override=override_dotenv)
|
193
|
-
|
200
|
+
loadded_from_dotenv = True
|
194
201
|
# Apply dictionary settings
|
195
|
-
if settings:
|
202
|
+
if settings and (loadded_from_json or loadded_from_dotenv):
|
196
203
|
manager.apply_settings(settings, override=override_settings)
|
204
|
+
|
205
|
+
|
206
|
+
return manager
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: azpaddypy
|
3
|
-
Version: 0.4.
|
3
|
+
Version: 0.4.3
|
4
4
|
Summary: Comprehensive Python logger for Azure, integrating OpenTelemetry for advanced, structured, and distributed tracing.
|
5
5
|
Classifier: Programming Language :: Python :: 3
|
6
6
|
Classifier: Operating System :: OS Independent
|
@@ -1,12 +1,12 @@
|
|
1
1
|
azpaddypy/__init__.py,sha256=hrWNAh4OHZOvm3Pbhq5eUjO-pSRYn0h0W0J87tc-lNI,45
|
2
|
-
azpaddypy/mgmt/__init__.py,sha256=
|
2
|
+
azpaddypy/mgmt/__init__.py,sha256=waW9EAnTFDh2530ieQX1Z0r0Z-ZKHRwabVDfapjfN58,441
|
3
3
|
azpaddypy/mgmt/identity.py,sha256=mA_krQslMsK_sDob-z-QA0B9khK_JUO2way7xwPopR8,12001
|
4
|
-
azpaddypy/mgmt/
|
4
|
+
azpaddypy/mgmt/local_env_manager.py,sha256=F-7kpO0g0mud8YHvLRcUkuAuIJzjvcl776wN0cUM8Zo,8248
|
5
5
|
azpaddypy/mgmt/logging.py,sha256=3ZLSKwpX7Tprthrkm3uN4ph2n2CxiGYUNri7jBJuXEY,36514
|
6
6
|
azpaddypy/resources/__init__.py,sha256=Bvt3VK4RqwoxYpoh6EbLXIR18RuFPKaLP6zLL-icyFk,314
|
7
7
|
azpaddypy/resources/keyvault.py,sha256=4J08vLqoLFd1_UUDBji2oG2fatZaPkgnRyT_Z6wHAOc,20312
|
8
|
-
azpaddypy-0.4.
|
9
|
-
azpaddypy-0.4.
|
10
|
-
azpaddypy-0.4.
|
11
|
-
azpaddypy-0.4.
|
12
|
-
azpaddypy-0.4.
|
8
|
+
azpaddypy-0.4.3.dist-info/licenses/LICENSE,sha256=hQ6t0g2QaewGCQICHqTckBFbMVakGmoyTAzDpmEYV4c,1089
|
9
|
+
azpaddypy-0.4.3.dist-info/METADATA,sha256=idEJob7oF0edjPouQr3pgZjtLKIKMP_AzgJ2yYsIAaQ,665
|
10
|
+
azpaddypy-0.4.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
11
|
+
azpaddypy-0.4.3.dist-info/top_level.txt,sha256=hsDuboDhT61320ML8X479ezSTwT3rrlDWz1_Z45B2cs,10
|
12
|
+
azpaddypy-0.4.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|