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.
@@ -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.local_development import LocalDevelopmentSettings, set_local_dev_environment
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
- "set_local_dev_environment",
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.1
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=YsY0KzTcPAjQJZpcQKyVCtS7_rI_AbxVJuD-6TVB3uY,443
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/local_development.py,sha256=5nL-EWUk_6EvJUFjCwfYFK14E3Yh-ErfswHJrRoV5aI,7779
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.1.dist-info/licenses/LICENSE,sha256=hQ6t0g2QaewGCQICHqTckBFbMVakGmoyTAzDpmEYV4c,1089
9
- azpaddypy-0.4.1.dist-info/METADATA,sha256=8y3xmkrpmT_dNhwI_8a7U7r4Rzy-2EcliNMmm4Bt7cY,665
10
- azpaddypy-0.4.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
11
- azpaddypy-0.4.1.dist-info/top_level.txt,sha256=hsDuboDhT61320ML8X479ezSTwT3rrlDWz1_Z45B2cs,10
12
- azpaddypy-0.4.1.dist-info/RECORD,,
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,,