simple-module-hosting 0.0.6__tar.gz → 0.0.7__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.
Files changed (44) hide show
  1. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/PKG-INFO +3 -3
  2. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/pyproject.toml +3 -3
  3. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/_inertia_setup.py +14 -6
  4. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/.gitignore +0 -0
  5. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/LICENSE +0 -0
  6. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/README.md +0 -0
  7. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/__init__.py +0 -0
  8. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/__main__.py +0 -0
  9. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/_error_handlers.py +0 -0
  10. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/_host_services.py +0 -0
  11. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/_hydrate_step.py +0 -0
  12. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/_inertia_shared.py +0 -0
  13. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/_observability.py +0 -0
  14. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/_phase_helpers.py +0 -0
  15. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/app_builder.py +0 -0
  16. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/bootstrap_settings.py +0 -0
  17. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/health.py +0 -0
  18. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/host_cli.py +0 -0
  19. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/host_settings.py +0 -0
  20. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/i18n_deps.py +0 -0
  21. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/i18n_manifest.py +0 -0
  22. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/i18n_middleware.py +0 -0
  23. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/inertia_deps.py +0 -0
  24. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/inertia_utils.py +0 -0
  25. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/logging.py +0 -0
  26. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/manifest.py +0 -0
  27. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/middleware.py +0 -0
  28. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/migrations.py +0 -0
  29. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/permissions.py +0 -0
  30. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/py.typed +0 -0
  31. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/redirects.py +0 -0
  32. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/simple_module_hosting/settings.py +0 -0
  33. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/tests/test_app.py +0 -0
  34. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/tests/test_health.py +0 -0
  35. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/tests/test_host_cli.py +0 -0
  36. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/tests/test_hosting_permissions.py +0 -0
  37. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/tests/test_i18n_manifest.py +0 -0
  38. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/tests/test_inertia_i18n_shared_props.py +0 -0
  39. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/tests/test_locale_middleware.py +0 -0
  40. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/tests/test_logging.py +0 -0
  41. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/tests/test_settings_i18n.py +0 -0
  42. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/tests/test_settings_secrets.py +0 -0
  43. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/tests/test_tenant_middleware.py +0 -0
  44. {simple_module_hosting-0.0.6 → simple_module_hosting-0.0.7}/tests/test_translator_dep.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: simple_module_hosting
3
- Version: 0.0.6
3
+ Version: 0.0.7
4
4
  Summary: FastAPI + Inertia.js host runtime for simple_module — app_builder, middleware stack, CLI (sm / simple-module), scaffolding
5
5
  Project-URL: Homepage, https://github.com/antosubash/simple_module_python
6
6
  Project-URL: Repository, https://github.com/antosubash/simple_module_python
@@ -26,8 +26,8 @@ Requires-Dist: fastapi-inertia>=1.0
26
26
  Requires-Dist: fastapi>=0.115
27
27
  Requires-Dist: httpx>=0.27
28
28
  Requires-Dist: jinja2>=3.1
29
- Requires-Dist: simple-module-core==0.0.6
30
- Requires-Dist: simple-module-db==0.0.6
29
+ Requires-Dist: simple-module-core==0.0.7
30
+ Requires-Dist: simple-module-db==0.0.7
31
31
  Requires-Dist: starlette>=0.44
32
32
  Requires-Dist: tomlkit>=0.13
33
33
  Requires-Dist: uvicorn[standard]>=0.34
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "simple_module_hosting"
3
- version = "0.0.6"
3
+ version = "0.0.7"
4
4
  description = "FastAPI + Inertia.js host runtime for simple_module — app_builder, middleware stack, CLI (sm / simple-module), scaffolding"
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -26,8 +26,8 @@ dependencies = [
26
26
  "fastapi-inertia>=1.0",
27
27
  "httpx>=0.27",
28
28
  "jinja2>=3.1",
29
- "simple_module_core==0.0.6",
30
- "simple_module_db==0.0.6",
29
+ "simple_module_core==0.0.7",
30
+ "simple_module_db==0.0.7",
31
31
  "starlette>=0.44",
32
32
  "tomlkit>=0.13",
33
33
  "uvicorn[standard]>=0.34",
@@ -26,19 +26,27 @@ def setup_inertia(
26
26
  ) -> InertiaConfig | None:
27
27
  """Configure fastapi-inertia and attach the dependency factory to app.state.
28
28
 
29
- The host's own ``host/templates`` directory is first in the search path so
30
- it can override module-contributed templates. Each installed module
31
- contributes additional directories via ``ModuleBase.template_dirs()``.
29
+ Two host layouts are supported: ``host/templates`` (the framework's
30
+ own host package) and ``templates`` at the project root (what
31
+ ``sm new`` produces). The first one found wins so it can override
32
+ module-contributed templates.
32
33
  """
33
34
  from fastapi.templating import Jinja2Templates
34
35
 
35
- host_templates = project_root / "host" / "templates"
36
+ candidate_dirs = [
37
+ project_root / "host" / "templates",
38
+ project_root / "templates",
39
+ ]
36
40
  directories: list[Path] = []
37
41
 
38
- if host_templates.is_dir():
42
+ host_templates = next((p for p in candidate_dirs if p.is_dir()), None)
43
+ if host_templates is not None:
39
44
  directories.append(host_templates)
40
45
  else:
41
- logger.warning("Host templates directory not found at %s", host_templates)
46
+ logger.warning(
47
+ "Host templates directory not found (looked in %s)",
48
+ ", ".join(str(p) for p in candidate_dirs),
49
+ )
42
50
 
43
51
  for mod in modules:
44
52
  for path in mod.template_dirs():