skrift 0.1.0a12__py3-none-any.whl → 0.1.0a13__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.
skrift/config.py CHANGED
@@ -229,31 +229,28 @@ def is_config_valid() -> tuple[bool, str | None]:
229
229
  @lru_cache
230
230
  def get_settings() -> Settings:
231
231
  """Load settings from .env and app.yaml."""
232
- # First create base settings from .env
233
- base_settings = Settings()
234
-
235
232
  # Load app.yaml config
236
233
  try:
237
234
  app_config = load_app_config()
238
235
  except FileNotFoundError:
239
- return base_settings
236
+ return Settings()
240
237
  except ValueError:
241
238
  # Missing environment variables - return base settings
242
- return base_settings
239
+ return Settings()
243
240
 
244
- # Merge YAML config with settings
245
- updates = {}
241
+ # Build nested configs from YAML - pass directly to Settings to avoid
242
+ # model_copy issues with nested BaseModel instances in Pydantic v2
243
+ kwargs = {}
246
244
 
247
245
  if "db" in app_config:
248
- updates["db"] = DatabaseConfig(**app_config["db"])
246
+ kwargs["db"] = DatabaseConfig(**app_config["db"])
249
247
 
250
248
  if "auth" in app_config:
251
- updates["auth"] = AuthConfig(**app_config["auth"])
249
+ kwargs["auth"] = AuthConfig(**app_config["auth"])
252
250
 
253
251
  if "session" in app_config:
254
- updates["session"] = SessionConfig(**app_config["session"])
255
-
256
- if updates:
257
- return base_settings.model_copy(update=updates)
252
+ kwargs["session"] = SessionConfig(**app_config["session"])
258
253
 
259
- return base_settings
254
+ # Create Settings with YAML nested configs
255
+ # BaseSettings will still load debug/secret_key from env, but kwargs take precedence
256
+ return Settings(**kwargs)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skrift
3
- Version: 0.1.0a12
3
+ Version: 0.1.0a13
4
4
  Summary: A lightweight async Python CMS for crafting modern websites
5
5
  Requires-Python: >=3.13
6
6
  Requires-Dist: advanced-alchemy>=0.26.0
@@ -3,7 +3,7 @@ skrift/__main__.py,sha256=wt6JZL9nBhKU36vdyurhOEtWy7w3C9zohyy24PLcKho,164
3
3
  skrift/alembic.ini,sha256=mYguI6CbMCTyfHctsGiTyf9Z5gv21FdeI3qtfgOHO3A,1815
4
4
  skrift/asgi.py,sha256=qtP0aq9C6-bIZgbXiwJeF_3dY8O0cM2U_5hkajKMjBc,23032
5
5
  skrift/cli.py,sha256=aT-7pXvOuuZC-Eypx1h-xCiqaBKhIFjSqd5Ky_dHna0,4214
6
- skrift/config.py,sha256=O37SnnYkqTme-iMicMs2k4aD7Fv0wt7v3E_7fsiF40Y,7772
6
+ skrift/config.py,sha256=ZDOrYgp6gC6fE1nEZgrAOouoykhRo2NZo5U1-WLdDSc,7862
7
7
  skrift/admin/__init__.py,sha256=x81Cj_ilVmv6slaMl16HHyT_AgrnLxKEWkS0RPa4V9s,289
8
8
  skrift/admin/controller.py,sha256=5ZDypvKHXLNDESsKNsdsH2E3Si5OqlpzttFl7Ot8aF0,15651
9
9
  skrift/admin/navigation.py,sha256=VwttFoIUIJy5rONKIkJd5w4CNkUpeK22_OfLGHecN34,3382
@@ -68,7 +68,7 @@ skrift/templates/setup/configuring.html,sha256=2KHW9h2BrJgL_kO5IizbAYs4pnFLyRf76
68
68
  skrift/templates/setup/database.html,sha256=gU4-315-QraHa2Eq4Fh3b55QpOM2CkJzh27_Yz13frA,5495
69
69
  skrift/templates/setup/restart.html,sha256=GHg31F_e2uLFhWUzJoalk0Y0oYLqsFWyZXWKX3mblbY,1355
70
70
  skrift/templates/setup/site.html,sha256=PSOH-q1-ZBl47iSW9-Ad6lEfJn_fzdGD3Pk4vb3xgK4,1680
71
- skrift-0.1.0a12.dist-info/METADATA,sha256=Vqc35fHrSYSsEgJSZ1r46xjHr-mlE4YyEz_1H5RFutQ,6436
72
- skrift-0.1.0a12.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
73
- skrift-0.1.0a12.dist-info/entry_points.txt,sha256=uquZ5Mumqr0xwYTpTcNiJtFSITGfF6_QCCy2DZJSZig,42
74
- skrift-0.1.0a12.dist-info/RECORD,,
71
+ skrift-0.1.0a13.dist-info/METADATA,sha256=cNzAjQrohmMJZJv-euANW_JjoWI5Lm6KSzG0daFjT7o,6436
72
+ skrift-0.1.0a13.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
73
+ skrift-0.1.0a13.dist-info/entry_points.txt,sha256=uquZ5Mumqr0xwYTpTcNiJtFSITGfF6_QCCy2DZJSZig,42
74
+ skrift-0.1.0a13.dist-info/RECORD,,