vega-framework 0.1.31__tar.gz → 0.1.32__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 (89) hide show
  1. {vega_framework-0.1.31 → vega_framework-0.1.32}/PKG-INFO +1 -1
  2. {vega_framework-0.1.31 → vega_framework-0.1.32}/pyproject.toml +1 -1
  3. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/commands/generate.py +3 -3
  4. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/scaffolds/fastapi.py +0 -23
  5. {vega_framework-0.1.31 → vega_framework-0.1.32}/LICENSE +0 -0
  6. {vega_framework-0.1.31 → vega_framework-0.1.32}/README.md +0 -0
  7. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/__init__.py +0 -0
  8. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/__init__.py +0 -0
  9. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/commands/__init__.py +0 -0
  10. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/commands/add.py +0 -0
  11. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/commands/init.py +0 -0
  12. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/commands/migrate.py +0 -0
  13. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/commands/update.py +0 -0
  14. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/commands/web.py +0 -0
  15. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/main.py +0 -0
  16. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/scaffolds/__init__.py +0 -0
  17. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/scaffolds/sqlalchemy.py +0 -0
  18. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/__init__.py +0 -0
  19. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/cli/command.py.j2 +0 -0
  20. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/cli/command_simple.py.j2 +0 -0
  21. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/cli/commands_init.py.j2 +0 -0
  22. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/components.py +0 -0
  23. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/domain/entity.py.j2 +0 -0
  24. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/domain/event.py.j2 +0 -0
  25. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/domain/event_handler.py.j2 +0 -0
  26. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/domain/interactor.py.j2 +0 -0
  27. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/domain/mediator.py.j2 +0 -0
  28. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/domain/repository_interface.py.j2 +0 -0
  29. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/domain/service_interface.py.j2 +0 -0
  30. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/infrastructure/model.py.j2 +0 -0
  31. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/infrastructure/repository_impl.py.j2 +0 -0
  32. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/infrastructure/service_impl.py.j2 +0 -0
  33. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/loader.py +0 -0
  34. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/project/.env.example +0 -0
  35. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/project/.gitignore +0 -0
  36. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/project/ARCHITECTURE.md.j2 +0 -0
  37. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/project/README.md.j2 +0 -0
  38. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/project/config.py.j2 +0 -0
  39. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/project/events_init.py.j2 +0 -0
  40. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/project/main.py.j2 +0 -0
  41. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/project/main_fastapi.py.j2 +0 -0
  42. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/project/main_standard.py.j2 +0 -0
  43. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/project/pyproject.toml.j2 +0 -0
  44. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/project/settings.py.j2 +0 -0
  45. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/sqlalchemy/alembic.ini.j2 +0 -0
  46. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/sqlalchemy/database_manager.py.j2 +0 -0
  47. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/sqlalchemy/env.py.j2 +0 -0
  48. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/sqlalchemy/script.py.mako +0 -0
  49. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/web/__init__.py.j2 +0 -0
  50. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/web/app.py.j2 +0 -0
  51. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/web/health_route.py.j2 +0 -0
  52. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/web/main.py.j2 +0 -0
  53. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/web/middleware.py.j2 +0 -0
  54. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/web/models_init.py.j2 +0 -0
  55. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/web/request_model.py.j2 +0 -0
  56. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/web/response_model.py.j2 +0 -0
  57. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/web/router.py.j2 +0 -0
  58. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/web/routes_init.py.j2 +0 -0
  59. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/web/routes_init_autodiscovery.py.j2 +0 -0
  60. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/web/user_models.py.j2 +0 -0
  61. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/templates/web/users_route.py.j2 +0 -0
  62. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/utils/__init__.py +0 -0
  63. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/utils/async_support.py +0 -0
  64. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/utils/messages.py +0 -0
  65. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/utils/naming.py +0 -0
  66. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/cli/utils/validators.py +0 -0
  67. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/di/__init__.py +0 -0
  68. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/di/container.py +0 -0
  69. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/di/decorators.py +0 -0
  70. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/di/errors.py +0 -0
  71. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/di/scope.py +0 -0
  72. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/discovery/__init__.py +0 -0
  73. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/discovery/commands.py +0 -0
  74. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/discovery/events.py +0 -0
  75. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/discovery/routes.py +0 -0
  76. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/events/README.md +0 -0
  77. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/events/SYNTAX_GUIDE.md +0 -0
  78. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/events/__init__.py +0 -0
  79. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/events/bus.py +0 -0
  80. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/events/decorators.py +0 -0
  81. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/events/event.py +0 -0
  82. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/events/middleware.py +0 -0
  83. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/patterns/__init__.py +0 -0
  84. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/patterns/interactor.py +0 -0
  85. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/patterns/mediator.py +0 -0
  86. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/patterns/repository.py +0 -0
  87. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/patterns/service.py +0 -0
  88. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/settings/__init__.py +0 -0
  89. {vega_framework-0.1.31 → vega_framework-0.1.32}/vega/settings/base.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vega-framework
3
- Version: 0.1.31
3
+ Version: 0.1.32
4
4
  Summary: Enterprise-ready Python framework that enforces Clean Architecture for building maintainable and scalable applications.
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "vega-framework"
3
- version = "0.1.31"
3
+ version = "0.1.32"
4
4
  description = "Enterprise-ready Python framework that enforces Clean Architecture for building maintainable and scalable applications."
5
5
  authors = ["Roberto Ferro"]
6
6
  license = "MIT"
@@ -933,9 +933,9 @@ def _generate_event(project_root: Path, project_name: str, class_name: str, file
933
933
 
934
934
 
935
935
  def _generate_event_handler(project_root: Path, project_name: str, class_name: str, file_name: str):
936
- """Generate an application-level event handler/subscriber."""
936
+ """Generate an application-level event handler/subscriber in events/ for auto-discovery."""
937
937
 
938
- handlers_path = project_root / "application" / "events"
938
+ handlers_path = project_root / "events"
939
939
  handlers_path.mkdir(parents=True, exist_ok=True)
940
940
 
941
941
  init_file = handlers_path / "__init__.py"
@@ -987,5 +987,5 @@ def _generate_event_handler(project_root: Path, project_name: str, class_name: s
987
987
 
988
988
  click.echo("\nNext steps:")
989
989
  click.echo(f" 1. Implement your handler in {handler_file.relative_to(project_root)}")
990
- click.echo(" 2. Ensure the module is imported during application bootstrap (autodiscovery or manual import).")
990
+ click.echo(" 2. Call events.register_all_handlers() during startup so auto-discovery loads it.")
991
991
  click.echo(" 3. Run your workflow and verify the subscriber reacts to the event.")
@@ -64,35 +64,12 @@ def create_fastapi_scaffold(
64
64
  created.append(rel_path)
65
65
  echo(f"+ Created {click.style(str(rel_path), fg='green')}")
66
66
 
67
- if _ensure_fastapi_dependencies(project_root):
68
- echo(f"+ Updated {click.style('pyproject.toml', fg='green')} with FastAPI dependencies")
69
-
70
67
  echo("\n[TIP] FastAPI scaffold ready:")
71
68
  echo(" 1. poetry install # sync dependencies (or poetry update)")
72
69
  echo(" 2. poetry run uvicorn presentation.web.main:app --reload")
73
70
 
74
71
  return created
75
72
 
76
-
77
- def _ensure_fastapi_dependencies(project_root: Path) -> bool:
78
- """Ensure FastAPI dependencies exist in pyproject.toml; return True if modified."""
79
- pyproject_path = project_root / "pyproject.toml"
80
- if not pyproject_path.exists():
81
- return False
82
-
83
- content = pyproject_path.read_text(encoding="utf-8")
84
- lines = content.splitlines(keepends=True)
85
-
86
- changed = False
87
- changed |= _ensure_dependency_line(lines, "fastapi", "^0.111")
88
- changed |= _ensure_dependency_line(lines, "uvicorn", "^0.30")
89
-
90
- if changed:
91
- pyproject_path.write_text("".join(lines), encoding="utf-8")
92
-
93
- return changed
94
-
95
-
96
73
  def _ensure_dependency_line(lines: list[str], name: str, spec: str) -> bool:
97
74
  """Insert dependency assignment into [tool.poetry.dependencies] if missing."""
98
75
  header = "[tool.poetry.dependencies]"
File without changes