forge-mvc 1.0.1__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 (178) hide show
  1. forge_mvc-1.0.1/LICENSE +21 -0
  2. forge_mvc-1.0.1/PKG-INFO +716 -0
  3. forge_mvc-1.0.1/README.md +688 -0
  4. forge_mvc-1.0.1/core/__init__.py +2 -0
  5. forge_mvc-1.0.1/core/application.py +58 -0
  6. forge_mvc-1.0.1/core/database/__init__.py +0 -0
  7. forge_mvc-1.0.1/core/database/connection.py +59 -0
  8. forge_mvc-1.0.1/core/database/db.py +54 -0
  9. forge_mvc-1.0.1/core/database/sql_loader.py +74 -0
  10. forge_mvc-1.0.1/core/database/transaction.py +34 -0
  11. forge_mvc-1.0.1/core/forge.py +71 -0
  12. forge_mvc-1.0.1/core/forms/__init__.py +24 -0
  13. forge_mvc-1.0.1/core/forms/exceptions.py +9 -0
  14. forge_mvc-1.0.1/core/forms/fields.py +344 -0
  15. forge_mvc-1.0.1/core/forms/form.py +134 -0
  16. forge_mvc-1.0.1/core/http/__init__.py +0 -0
  17. forge_mvc-1.0.1/core/http/helpers.py +12 -0
  18. forge_mvc-1.0.1/core/http/request.py +160 -0
  19. forge_mvc-1.0.1/core/http/response.py +20 -0
  20. forge_mvc-1.0.1/core/http/router.py +200 -0
  21. forge_mvc-1.0.1/core/mvc/__init__.py +0 -0
  22. forge_mvc-1.0.1/core/mvc/controller/__init__.py +3 -0
  23. forge_mvc-1.0.1/core/mvc/controller/base_controller.py +139 -0
  24. forge_mvc-1.0.1/core/mvc/model/__init__.py +0 -0
  25. forge_mvc-1.0.1/core/mvc/model/exceptions.py +12 -0
  26. forge_mvc-1.0.1/core/mvc/model/validator.py +38 -0
  27. forge_mvc-1.0.1/core/mvc/view/__init__.py +0 -0
  28. forge_mvc-1.0.1/core/mvc/view/pagination.py +80 -0
  29. forge_mvc-1.0.1/core/security/__init__.py +0 -0
  30. forge_mvc-1.0.1/core/security/decorators.py +67 -0
  31. forge_mvc-1.0.1/core/security/hashing.py +87 -0
  32. forge_mvc-1.0.1/core/security/middleware.py +60 -0
  33. forge_mvc-1.0.1/core/security/session.py +165 -0
  34. forge_mvc-1.0.1/core/templating/__init__.py +0 -0
  35. forge_mvc-1.0.1/core/templating/contracts.py +6 -0
  36. forge_mvc-1.0.1/core/templating/manager.py +20 -0
  37. forge_mvc-1.0.1/core/uploads/__init__.py +32 -0
  38. forge_mvc-1.0.1/core/uploads/exceptions.py +18 -0
  39. forge_mvc-1.0.1/core/uploads/image.py +116 -0
  40. forge_mvc-1.0.1/core/uploads/manager.py +86 -0
  41. forge_mvc-1.0.1/core/uploads/storage.py +109 -0
  42. forge_mvc-1.0.1/core/uploads/validators.py +77 -0
  43. forge_mvc-1.0.1/core/validation/__init__.py +25 -0
  44. forge_mvc-1.0.1/core/validation/decorators.py +218 -0
  45. forge_mvc-1.0.1/core/validation/exceptions.py +10 -0
  46. forge_mvc-1.0.1/forge.py +489 -0
  47. forge_mvc-1.0.1/forge_cli/__init__.py +1 -0
  48. forge_mvc-1.0.1/forge_cli/deploy.py +357 -0
  49. forge_mvc-1.0.1/forge_cli/docs/__init__.py +1 -0
  50. forge_mvc-1.0.1/forge_cli/docs/quarkdown.py +107 -0
  51. forge_mvc-1.0.1/forge_cli/doctor.py +247 -0
  52. forge_mvc-1.0.1/forge_cli/entities/__init__.py +1 -0
  53. forge_mvc-1.0.1/forge_cli/entities/db_apply.py +182 -0
  54. forge_mvc-1.0.1/forge_cli/entities/db_init.py +223 -0
  55. forge_mvc-1.0.1/forge_cli/entities/make_crud.py +841 -0
  56. forge_mvc-1.0.1/forge_cli/entities/make_entity.py +825 -0
  57. forge_mvc-1.0.1/forge_cli/entities/make_relation.py +299 -0
  58. forge_mvc-1.0.1/forge_cli/entities/model.py +351 -0
  59. forge_mvc-1.0.1/forge_cli/entities/relations.py +333 -0
  60. forge_mvc-1.0.1/forge_cli/entities/validation.py +544 -0
  61. forge_mvc-1.0.1/forge_cli/output.py +46 -0
  62. forge_mvc-1.0.1/forge_cli/project_config.py +53 -0
  63. forge_mvc-1.0.1/forge_cli/starters/__init__.py +92 -0
  64. forge_mvc-1.0.1/forge_cli/starters/_exceptions.py +2 -0
  65. forge_mvc-1.0.1/forge_cli/starters/builder.py +398 -0
  66. forge_mvc-1.0.1/forge_cli/starters/data/carnet-contacts/entities/contact.json +53 -0
  67. forge_mvc-1.0.1/forge_cli/starters/data/carnet-contacts/entities/ville.json +31 -0
  68. forge_mvc-1.0.1/forge_cli/starters/data/carnet-contacts/files/mvc/controllers/contact_controller.py +158 -0
  69. forge_mvc-1.0.1/forge_cli/starters/data/carnet-contacts/files/mvc/controllers/ville_controller.py +13 -0
  70. forge_mvc-1.0.1/forge_cli/starters/data/carnet-contacts/files/mvc/forms/contact_form.py +15 -0
  71. forge_mvc-1.0.1/forge_cli/starters/data/carnet-contacts/files/mvc/models/contact_model.py +127 -0
  72. forge_mvc-1.0.1/forge_cli/starters/data/carnet-contacts/files/mvc/models/ville_model.py +22 -0
  73. forge_mvc-1.0.1/forge_cli/starters/data/carnet-contacts/files/mvc/views/contact/form.html +73 -0
  74. forge_mvc-1.0.1/forge_cli/starters/data/carnet-contacts/files/mvc/views/contact/index.html +63 -0
  75. forge_mvc-1.0.1/forge_cli/starters/data/carnet-contacts/files/mvc/views/contact/show.html +37 -0
  76. forge_mvc-1.0.1/forge_cli/starters/data/carnet-contacts/files/mvc/views/layouts/app.html +25 -0
  77. forge_mvc-1.0.1/forge_cli/starters/data/carnet-contacts/files/mvc/views/ville/index.html +32 -0
  78. forge_mvc-1.0.1/forge_cli/starters/data/carnet-contacts/files/scripts/seed_villes.py +85 -0
  79. forge_mvc-1.0.1/forge_cli/starters/data/carnet-contacts/relations.json +16 -0
  80. forge_mvc-1.0.1/forge_cli/starters/data/carnet-contacts/routes.py.snippet +16 -0
  81. forge_mvc-1.0.1/forge_cli/starters/data/carnet-contacts/starter.json +38 -0
  82. forge_mvc-1.0.1/forge_cli/starters/data/contact-simple/contact.json +47 -0
  83. forge_mvc-1.0.1/forge_cli/starters/data/contact-simple/starter.json +32 -0
  84. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/entities/cours.json +11 -0
  85. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/entities/eleve.json +12 -0
  86. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/entities/observation_cours.json +17 -0
  87. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/entities/utilisateur.json +59 -0
  88. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/controllers/auth_controller.py +94 -0
  89. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/controllers/cours_controller.py +37 -0
  90. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/controllers/eleve_controller.py +37 -0
  91. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/controllers/observation_cours_controller.py +116 -0
  92. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/controllers/suivi_controller.py +16 -0
  93. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/models/auth_model.py +36 -0
  94. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/models/cours_model.py +60 -0
  95. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/models/eleve_model.py +53 -0
  96. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/models/observation_cours_model.py +158 -0
  97. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/auth/login.html +40 -0
  98. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/cours/index.html +42 -0
  99. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/cours/show.html +63 -0
  100. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/eleve/index.html +47 -0
  101. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/eleve/show.html +63 -0
  102. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/layouts/app.html +30 -0
  103. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/observations/edit.html +61 -0
  104. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/observations/new.html +73 -0
  105. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/observations/show.html +47 -0
  106. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/suivi/dashboard.html +52 -0
  107. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/scripts/create_auth_user.py +86 -0
  108. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/files/scripts/seed_suivi.py +132 -0
  109. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/relations.json +27 -0
  110. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/routes.py.snippet +23 -0
  111. forge_mvc-1.0.1/forge_cli/starters/data/suivi-comportement-eleves/starter.json +52 -0
  112. forge_mvc-1.0.1/forge_cli/starters/data/utilisateurs-auth/entities/utilisateur.json +59 -0
  113. forge_mvc-1.0.1/forge_cli/starters/data/utilisateurs-auth/files/mvc/controllers/auth_controller.py +95 -0
  114. forge_mvc-1.0.1/forge_cli/starters/data/utilisateurs-auth/files/mvc/controllers/dashboard_controller.py +24 -0
  115. forge_mvc-1.0.1/forge_cli/starters/data/utilisateurs-auth/files/mvc/models/auth_model.py +36 -0
  116. forge_mvc-1.0.1/forge_cli/starters/data/utilisateurs-auth/files/mvc/views/auth/login.html +40 -0
  117. forge_mvc-1.0.1/forge_cli/starters/data/utilisateurs-auth/files/mvc/views/dashboard/index.html +11 -0
  118. forge_mvc-1.0.1/forge_cli/starters/data/utilisateurs-auth/files/mvc/views/dashboard/profil.html +19 -0
  119. forge_mvc-1.0.1/forge_cli/starters/data/utilisateurs-auth/files/mvc/views/layouts/app.html +28 -0
  120. forge_mvc-1.0.1/forge_cli/starters/data/utilisateurs-auth/files/scripts/create_auth_user.py +86 -0
  121. forge_mvc-1.0.1/forge_cli/starters/data/utilisateurs-auth/routes.py.snippet +13 -0
  122. forge_mvc-1.0.1/forge_cli/starters/data/utilisateurs-auth/starter.json +29 -0
  123. forge_mvc-1.0.1/forge_cli/starters/file_ops.py +56 -0
  124. forge_mvc-1.0.1/forge_cli/starters/registry.py +45 -0
  125. forge_mvc-1.0.1/forge_cli/starters/relations.py +64 -0
  126. forge_mvc-1.0.1/forge_cli/starters/route_ops.py +140 -0
  127. forge_mvc-1.0.1/forge_cli/starters/scaffold.py +102 -0
  128. forge_mvc-1.0.1/forge_cli/sync_landing.py +80 -0
  129. forge_mvc-1.0.1/forge_cli/uploads.py +50 -0
  130. forge_mvc-1.0.1/forge_mvc.egg-info/PKG-INFO +716 -0
  131. forge_mvc-1.0.1/forge_mvc.egg-info/SOURCES.txt +176 -0
  132. forge_mvc-1.0.1/forge_mvc.egg-info/dependency_links.txt +1 -0
  133. forge_mvc-1.0.1/forge_mvc.egg-info/entry_points.txt +2 -0
  134. forge_mvc-1.0.1/forge_mvc.egg-info/requires.txt +3 -0
  135. forge_mvc-1.0.1/forge_mvc.egg-info/top_level.txt +4 -0
  136. forge_mvc-1.0.1/integrations/__init__.py +0 -0
  137. forge_mvc-1.0.1/integrations/jinja2/__init__.py +0 -0
  138. forge_mvc-1.0.1/integrations/jinja2/renderer.py +21 -0
  139. forge_mvc-1.0.1/pyproject.toml +66 -0
  140. forge_mvc-1.0.1/setup.cfg +4 -0
  141. forge_mvc-1.0.1/tests/test_application.py +211 -0
  142. forge_mvc-1.0.1/tests/test_auth_app.py +235 -0
  143. forge_mvc-1.0.1/tests/test_cli_entrypoint.py +97 -0
  144. forge_mvc-1.0.1/tests/test_database_helpers.py +134 -0
  145. forge_mvc-1.0.1/tests/test_deploy_cli.py +238 -0
  146. forge_mvc-1.0.1/tests/test_docs_config.py +68 -0
  147. forge_mvc-1.0.1/tests/test_doctor.py +398 -0
  148. forge_mvc-1.0.1/tests/test_entity_db_apply.py +325 -0
  149. forge_mvc-1.0.1/tests/test_entity_db_init.py +464 -0
  150. forge_mvc-1.0.1/tests/test_entity_json_validation.py +318 -0
  151. forge_mvc-1.0.1/tests/test_entity_model_cli.py +401 -0
  152. forge_mvc-1.0.1/tests/test_entity_relations.py +237 -0
  153. forge_mvc-1.0.1/tests/test_entity_sync_command.py +138 -0
  154. forge_mvc-1.0.1/tests/test_forge_new.py +422 -0
  155. forge_mvc-1.0.1/tests/test_forms.py +184 -0
  156. forge_mvc-1.0.1/tests/test_hashing.py +55 -0
  157. forge_mvc-1.0.1/tests/test_json.py +112 -0
  158. forge_mvc-1.0.1/tests/test_make_crud.py +567 -0
  159. forge_mvc-1.0.1/tests/test_make_entity_command.py +235 -0
  160. forge_mvc-1.0.1/tests/test_make_relation_command.py +271 -0
  161. forge_mvc-1.0.1/tests/test_middleware.py +40 -0
  162. forge_mvc-1.0.1/tests/test_output.py +86 -0
  163. forge_mvc-1.0.1/tests/test_package_metadata.py +34 -0
  164. forge_mvc-1.0.1/tests/test_packaging.py +223 -0
  165. forge_mvc-1.0.1/tests/test_pagination.py +26 -0
  166. forge_mvc-1.0.1/tests/test_request_body.py +89 -0
  167. forge_mvc-1.0.1/tests/test_response.py +25 -0
  168. forge_mvc-1.0.1/tests/test_router.py +117 -0
  169. forge_mvc-1.0.1/tests/test_serve_static.py +84 -0
  170. forge_mvc-1.0.1/tests/test_session.py +123 -0
  171. forge_mvc-1.0.1/tests/test_sql_loader.py +78 -0
  172. forge_mvc-1.0.1/tests/test_starter_cli.py +560 -0
  173. forge_mvc-1.0.1/tests/test_sync_landing.py +108 -0
  174. forge_mvc-1.0.1/tests/test_templating.py +302 -0
  175. forge_mvc-1.0.1/tests/test_uploads.py +195 -0
  176. forge_mvc-1.0.1/tests/test_uploads_image.py +143 -0
  177. forge_mvc-1.0.1/tests/test_validation_decorators.py +144 -0
  178. forge_mvc-1.0.1/tests/test_validator.py +63 -0
@@ -0,0 +1,21 @@
1
+ Copyright (c) 2026 Roger Cauchon. All rights reserved.
2
+
3
+ This software and its source code (the "Software") are the exclusive property
4
+ of Roger Cauchon. No part of the Software may be copied, modified, merged,
5
+ published, distributed, sublicensed, sold, or used in any commercial or
6
+ non-commercial product without the prior written permission of the copyright
7
+ holder.
8
+
9
+ Permission is hereby granted to any person to read and study the Software
10
+ solely for personal, educational, or evaluation purposes.
11
+
12
+ Any contribution intentionally submitted for inclusion in this Software shall
13
+ be understood as a transfer of all intellectual property rights to Roger
14
+ Cauchon, without restriction and without compensation.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
19
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
20
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.