fastapi-startkit 0.1.3__tar.gz → 0.13.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 (365) hide show
  1. fastapi_startkit-0.13.1/PKG-INFO +27 -0
  2. fastapi_startkit-0.13.1/pyproject.toml +61 -0
  3. fastapi_startkit-0.13.1/src/fastapi_startkit/.DS_Store +0 -0
  4. fastapi_startkit-0.13.1/src/fastapi_startkit/application.py +193 -0
  5. fastapi_startkit-0.13.1/src/fastapi_startkit/carbon/__init__.py +1 -0
  6. fastapi_startkit-0.13.1/src/fastapi_startkit/carbon/carbon.py +3 -0
  7. fastapi_startkit-0.13.1/src/fastapi_startkit/collection/__init__.py +1 -0
  8. fastapi_startkit-0.13.1/src/fastapi_startkit/collection/collection.py +624 -0
  9. fastapi_startkit-0.13.1/src/fastapi_startkit/commands/__init__.py +1 -0
  10. fastapi_startkit-0.13.1/src/fastapi_startkit/commands/publish_command.py +57 -0
  11. fastapi_startkit-0.13.1/src/fastapi_startkit/config/__init__.py +1 -0
  12. fastapi_startkit-0.13.1/src/fastapi_startkit/config/app.py +10 -0
  13. fastapi_startkit-0.13.1/src/fastapi_startkit/config/facades/__init__.py +1 -0
  14. fastapi_startkit-0.13.1/src/fastapi_startkit/config/facades/config.py +11 -0
  15. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/configuration/Configuration.py +11 -11
  16. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/configuration/providers/ConfigurationProvider.py +3 -3
  17. fastapi_startkit-0.13.1/src/fastapi_startkit/console.py +22 -0
  18. fastapi_startkit-0.13.1/src/fastapi_startkit/environment/__init__.py +1 -0
  19. fastapi_startkit-0.13.1/src/fastapi_startkit/environment/environment.py +84 -0
  20. fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions/__init__.py +34 -0
  21. fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions/handler.py +116 -0
  22. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Config.pyi +8 -4
  23. fastapi_startkit-0.13.1/src/fastapi_startkit/facades/Inertia.py +5 -0
  24. fastapi_startkit-0.13.1/src/fastapi_startkit/facades/Vite.py +5 -0
  25. fastapi_startkit-0.13.1/src/fastapi_startkit/facades/Vite.pyi +92 -0
  26. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/__init__.py +1 -0
  27. fastapi_startkit-0.13.1/src/fastapi_startkit/fastapi/commands/__init__.py +1 -0
  28. fastapi_startkit-0.13.1/src/fastapi_startkit/fastapi/commands/serve_command.py +36 -0
  29. fastapi_startkit-0.13.1/src/fastapi_startkit/fastapi/providers/__init__.py +1 -0
  30. fastapi_startkit-0.13.1/src/fastapi_startkit/fastapi/providers/fastapi_provider.py +38 -0
  31. fastapi_startkit-0.13.1/src/fastapi_startkit/helpers/dataclass.py +17 -0
  32. fastapi_startkit-0.13.1/src/fastapi_startkit/helpers/string.py +31 -0
  33. fastapi_startkit-0.13.1/src/fastapi_startkit/inertia/__init__.py +5 -0
  34. fastapi_startkit-0.13.1/src/fastapi_startkit/inertia/inertia.py +74 -0
  35. fastapi_startkit-0.13.1/src/fastapi_startkit/inertia/middleware.py +45 -0
  36. fastapi_startkit-0.13.1/src/fastapi_startkit/inertia/provider.py +37 -0
  37. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/loader/Loader.py +1 -2
  38. fastapi_startkit-0.13.1/src/fastapi_startkit/logging/__init__.py +7 -0
  39. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/channels/BaseChannel.py +5 -4
  40. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/channels/DailyChannel.py +2 -3
  41. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/channels/MultiBaseChannel.py +10 -10
  42. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/channels/SlackChannel.py +1 -1
  43. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/channels/StackChannel.py +10 -13
  44. fastapi_startkit-0.13.1/src/fastapi_startkit/logging/config/__init__.py +2 -0
  45. fastapi_startkit-0.13.1/src/fastapi_startkit/logging/config/channels.py +43 -0
  46. fastapi_startkit-0.13.1/src/fastapi_startkit/logging/config/logging.py +23 -0
  47. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/drivers/BaseDriver.py +0 -1
  48. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/drivers/LogTerminalDriver.py +1 -1
  49. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/factory.py +0 -1
  50. fastapi_startkit-0.13.1/src/fastapi_startkit/logging/handler.py +14 -0
  51. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/listeners.py +3 -3
  52. fastapi_startkit-0.13.1/src/fastapi_startkit/logging/logger.py +68 -0
  53. fastapi_startkit-0.13.1/src/fastapi_startkit/logging/managers/LoggingManager.py +13 -0
  54. fastapi_startkit-0.13.1/src/fastapi_startkit/logging/providers/__init__.py +1 -0
  55. fastapi_startkit-0.13.1/src/fastapi_startkit/logging/providers/log_provider.py +34 -0
  56. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/__init__.py +2 -0
  57. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/collection/Collection.py +32 -0
  58. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/collection/__init__.py +1 -0
  59. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/CanOverrideConfig.py +16 -0
  60. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/CanOverrideOptionsDefault.py +24 -0
  61. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/Command.py +6 -0
  62. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/DBMigrateCommand.py +71 -0
  63. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/DBSeedCommand.py +77 -0
  64. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/Entry.py +43 -0
  65. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MakeMigrationCommand.py +63 -0
  66. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MakeModelCommand.py +97 -0
  67. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MakeModelDocstringCommand.py +46 -0
  68. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MakeObserverCommand.py +60 -0
  69. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MakeSeedCommand.py +60 -0
  70. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MigrateFreshCommand.py +64 -0
  71. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MigrateRefreshCommand.py +75 -0
  72. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MigrateResetCommand.py +50 -0
  73. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MigrateRollbackCommand.py +56 -0
  74. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MigrateStatusCommand.py +72 -0
  75. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/ShellCommand.py +216 -0
  76. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/__init__.py +17 -0
  77. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/stubs/create_migration.stub +20 -0
  78. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/stubs/create_seed.stub +9 -0
  79. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/stubs/model.stub +9 -0
  80. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/stubs/observer.stub +101 -0
  81. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/stubs/table_migration.stub +19 -0
  82. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/config/config.py +39 -0
  83. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/config/database.py +24 -0
  84. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/connections/connection.py +103 -0
  85. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/connections/factory.py +49 -0
  86. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/connections/manager.py +35 -0
  87. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/connections/postgres_connection.py +36 -0
  88. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/connections/sqlite_connection.py +17 -0
  89. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/expressions/__init__.py +1 -0
  90. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/expressions/expressions.py +288 -0
  91. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/facades/DB.py +53 -0
  92. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/facades/Schema.py +54 -0
  93. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/facades/__init__.py +2 -0
  94. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/factory/factory.py +21 -0
  95. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/helpers/__init__.py +0 -0
  96. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/helpers/misc.py +22 -0
  97. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/migrations/Migration.py +311 -0
  98. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/migrations/__init__.py +1 -0
  99. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/MigrationModel.py +9 -0
  100. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/__init__.py +3 -0
  101. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/attribute.py +107 -0
  102. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/builder.py +210 -0
  103. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/caster.py +236 -0
  104. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/fields.py +89 -0
  105. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/model.py +236 -0
  106. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/observer.py +30 -0
  107. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/pivot.py +5 -0
  108. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/registry.py +46 -0
  109. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/relationship.py +11 -0
  110. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/observers/ObservesEvents.py +28 -0
  111. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/observers/__init__.py +1 -0
  112. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/pagination/BasePaginator.py +10 -0
  113. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/pagination/LengthAwarePaginator.py +34 -0
  114. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/pagination/SimplePaginator.py +28 -0
  115. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/pagination/__init__.py +2 -0
  116. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/providers/DatabaseProvider.py +48 -0
  117. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/providers/__init__.py +1 -0
  118. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/EagerLoadMixin.py +68 -0
  119. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/EagerRelation.py +42 -0
  120. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/__init__.py +0 -0
  121. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/grammars/BaseGrammar.py +1042 -0
  122. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/grammars/MSSQLGrammar.py +194 -0
  123. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/grammars/MySQLGrammar.py +238 -0
  124. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/grammars/PostgresGrammar.py +213 -0
  125. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/grammars/SQLiteGrammar.py +228 -0
  126. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/grammars/__init__.py +4 -0
  127. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/processors/MSSQLPostProcessor.py +58 -0
  128. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/processors/MySQLPostProcessor.py +48 -0
  129. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/processors/PostgresPostProcessor.py +53 -0
  130. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/processors/SQLitePostProcessor.py +49 -0
  131. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/processors/__init__.py +4 -0
  132. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/support.py +37 -0
  133. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/BaseRelationship.py +141 -0
  134. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/BelongsTo.py +115 -0
  135. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/BelongsToMany.py +596 -0
  136. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/HasMany.py +61 -0
  137. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/HasManyThrough.py +260 -0
  138. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/HasOne.py +88 -0
  139. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/HasOneThrough.py +263 -0
  140. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/MorphMany.py +150 -0
  141. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/MorphOne.py +154 -0
  142. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/MorphTo.py +110 -0
  143. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/MorphToMany.py +107 -0
  144. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/__init__.py +11 -0
  145. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/Blueprint.py +1183 -0
  146. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/Column.py +144 -0
  147. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/ColumnDiff.py +0 -0
  148. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/Constraint.py +9 -0
  149. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/ForeignKeyConstraint.py +28 -0
  150. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/Index.py +5 -0
  151. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/Table.py +94 -0
  152. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/TableDiff.py +86 -0
  153. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/__init__.py +3 -0
  154. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/platforms/MSSQLPlatform.py +367 -0
  155. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/platforms/MySQLPlatform.py +513 -0
  156. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/platforms/Platform.py +97 -0
  157. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/platforms/PostgresPlatform.py +553 -0
  158. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/platforms/SQLitePlatform.py +481 -0
  159. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/platforms/__init__.py +4 -0
  160. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/schema.py +101 -0
  161. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/seeds/Seeder.py +39 -0
  162. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/seeds/__init__.py +1 -0
  163. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/stubs/create-migration.html +13 -0
  164. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/stubs/table-migration.html +0 -0
  165. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/fixtures/db.py +13 -0
  166. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/fixtures/factory.py +13 -0
  167. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/fixtures/migration.py +61 -0
  168. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/fixtures/model.py +47 -0
  169. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/fixtures/seeder.py +8 -0
  170. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/models/test_model.py +157 -0
  171. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/models/test_model_attributes.py +186 -0
  172. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/sqlite/models/test_sqlite_model.py +110 -0
  173. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/sqlite/relationships/test_sqlite_relationships.py +51 -0
  174. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/sqlite/test_case.py +20 -0
  175. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/.gitignore +2 -0
  176. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/CACHEDIR.TAG +4 -0
  177. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/README.md +8 -0
  178. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/v/cache/lastfailed +3 -0
  179. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/v/cache/nodeids +1 -0
  180. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/__init__.py +2 -0
  181. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/config/database.py +37 -0
  182. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/config.py +125 -0
  183. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/exceptions.py +38 -0
  184. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/factories/Factory.py +112 -0
  185. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/factories/__init__.py +1 -0
  186. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/schema/Schema.py +361 -0
  187. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/scopes/BaseScope.py +6 -0
  188. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/scopes/SoftDeleteScope.py +56 -0
  189. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/scopes/SoftDeletesMixin.py +13 -0
  190. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/scopes/UUIDPrimaryKeyMixin.py +8 -0
  191. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/scopes/UUIDPrimaryKeyScope.py +51 -0
  192. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/scopes/__init__.py +6 -0
  193. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/scopes/scope.py +15 -0
  194. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/testing/BaseTestCaseSelectGrammar.py +593 -0
  195. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/testing/Database.py +61 -0
  196. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/testing/TestCase.py +10 -0
  197. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/testing/__init__.py +2 -0
  198. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/User.py +17 -0
  199. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/collection/test_collection.py +741 -0
  200. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/commands/test_shell.py +89 -0
  201. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/config/test_db_url.py +128 -0
  202. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/connections/test_base_connections.py +27 -0
  203. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/eagers/test_eager.py +75 -0
  204. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/factories/test_factories.py +68 -0
  205. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/integrations/config/database.py +119 -0
  206. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/integrations/databases/migrations/2026_01_01_000000_create_users_table.py +28 -0
  207. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/integrations/model.py +55 -0
  208. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/integrations/test_model.py +62 -0
  209. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/models/test_models.py +334 -0
  210. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mssql/builder/test_mssql_query_builder.py +458 -0
  211. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mssql/builder/test_mssql_query_builder_relationships.py +132 -0
  212. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_delete_grammar.py +29 -0
  213. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_insert_grammar.py +37 -0
  214. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_qmark.py +42 -0
  215. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_select_grammar.py +502 -0
  216. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_update_grammar.py +35 -0
  217. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mssql/schema/test_mssql_schema_builder.py +326 -0
  218. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mssql/schema/test_mssql_schema_builder_alter.py +282 -0
  219. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/builder/test_mysql_builder_transaction.py +41 -0
  220. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/builder/test_query_builder.py +984 -0
  221. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/builder/test_query_builder_scopes.py +70 -0
  222. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/builder/test_transactions.py +31 -0
  223. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/connections/test_mysql_connection_selects.py +46 -0
  224. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_delete_grammar.py +79 -0
  225. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_insert_grammar.py +103 -0
  226. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_qmark.py +203 -0
  227. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_select_grammar.py +497 -0
  228. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_update_grammar.py +115 -0
  229. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/model/test_accessors_and_mutators.py +39 -0
  230. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/model/test_model.py +359 -0
  231. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/relationships/test_belongs_to_many.py +176 -0
  232. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/relationships/test_has_many_through.py +87 -0
  233. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/relationships/test_has_one_through.py +95 -0
  234. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/relationships/test_relationships.py +189 -0
  235. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/schema/test_mysql_schema_builder.py +398 -0
  236. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/schema/test_mysql_schema_builder_alter.py +327 -0
  237. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/scopes/test_can_use_global_scopes.py +40 -0
  238. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/scopes/test_can_use_scopes.py +41 -0
  239. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/scopes/test_soft_delete.py +86 -0
  240. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/postgres/builder/test_postgres_query_builder.py +808 -0
  241. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/postgres/builder/test_postgres_transaction.py +37 -0
  242. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/postgres/grammar/test_delete_grammar.py +77 -0
  243. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/postgres/grammar/test_insert_grammar.py +82 -0
  244. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/postgres/grammar/test_select_grammar.py +511 -0
  245. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/postgres/grammar/test_update_grammar.py +126 -0
  246. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/postgres/relationships/test_postgres_relationships.py +131 -0
  247. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/postgres/schema/test_postgres_schema_builder.py +382 -0
  248. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/postgres/schema/test_postgres_schema_builder_alter.py +327 -0
  249. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/scopes/test_default_global_scopes.py +145 -0
  250. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/seeds/test_seeds.py +12 -0
  251. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/builder/test_sqlite_builder_insert.py +39 -0
  252. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/builder/test_sqlite_builder_pagination.py +63 -0
  253. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/builder/test_sqlite_query_builder.py +1065 -0
  254. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/builder/test_sqlite_query_builder_eager_loading.py +97 -0
  255. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/builder/test_sqlite_query_builder_relationships.py +134 -0
  256. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/builder/test_sqlite_transaction.py +49 -0
  257. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/grammar/test_sqlite_delete_grammar.py +75 -0
  258. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/grammar/test_sqlite_insert_grammar.py +103 -0
  259. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/grammar/test_sqlite_select_grammar.py +482 -0
  260. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/grammar/test_sqlite_update_grammar.py +113 -0
  261. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/models/test_attach_detach.py +131 -0
  262. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/models/test_observers.py +115 -0
  263. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/relationships/test_sqlite_has_many_through_relationship.py +166 -0
  264. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/relationships/test_sqlite_has_one_through_relationship.py +150 -0
  265. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/relationships/test_sqlite_polymorphic.py +99 -0
  266. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/schema/test_sqlite_schema_builder.py +370 -0
  267. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/schema/test_sqlite_schema_builder_alter.py +244 -0
  268. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/schema/test_table.py +109 -0
  269. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/schema/test_table_diff.py +166 -0
  270. fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/utils.py +57 -0
  271. fastapi_startkit-0.13.1/src/fastapi_startkit/providers/Provider.py +46 -0
  272. fastapi_startkit-0.13.1/src/fastapi_startkit/providers/app_provider.py +12 -0
  273. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/tests/configurations/test_config_merge.py +2 -2
  274. fastapi_startkit-0.13.1/src/fastapi_startkit/tests/test_case.py +15 -0
  275. fastapi_startkit-0.13.1/src/fastapi_startkit/utils/__init__.py +0 -0
  276. fastapi_startkit-0.13.1/src/fastapi_startkit/vite/__init__.py +10 -0
  277. fastapi_startkit-0.13.1/src/fastapi_startkit/vite/config/vite.py +16 -0
  278. fastapi_startkit-0.13.1/src/fastapi_startkit/vite/exceptions.py +6 -0
  279. fastapi_startkit-0.13.1/src/fastapi_startkit/vite/providers/provider.py +73 -0
  280. fastapi_startkit-0.13.1/src/fastapi_startkit/vite/vite.py +438 -0
  281. fastapi_startkit-0.1.3/PKG-INFO +0 -13
  282. fastapi_startkit-0.1.3/fastapi_startkit/application.py +0 -132
  283. fastapi_startkit-0.1.3/fastapi_startkit/environment/environment.py +0 -76
  284. fastapi_startkit-0.1.3/fastapi_startkit/logging/Logger.py +0 -2
  285. fastapi_startkit-0.1.3/fastapi_startkit/logging/__init__.py +0 -1
  286. fastapi_startkit-0.1.3/fastapi_startkit/logging/configs/logging.py +0 -20
  287. fastapi_startkit-0.1.3/fastapi_startkit/logging/managers/LoggingManager.py +0 -11
  288. fastapi_startkit-0.1.3/fastapi_startkit/logging/providers/LoggingProvider.py +0 -36
  289. fastapi_startkit-0.1.3/fastapi_startkit/logging/providers/__init__.py +0 -1
  290. fastapi_startkit-0.1.3/fastapi_startkit/providers/Provider.py +0 -21
  291. fastapi_startkit-0.1.3/pyproject.toml +0 -16
  292. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/__init__.py +0 -0
  293. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/configuration/__init__.py +0 -0
  294. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/configuration/helpers.py +0 -0
  295. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/configuration/providers/__init__.py +0 -0
  296. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/container/__init__.py +0 -0
  297. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/container/container.py +0 -0
  298. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/exceptions/exceptions.py +0 -0
  299. {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/DD.py +0 -0
  300. {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/ExceptionHandler.py +0 -0
  301. {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/__init__.py +0 -0
  302. {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/exceptionite/__init__.py +0 -0
  303. {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/exceptionite/blocks.py +0 -0
  304. {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/exceptionite/controllers.py +0 -0
  305. {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/exceptionite/solutions.py +0 -0
  306. {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/exceptionite/tabs.py +0 -0
  307. {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/handlers/DumpExceptionHandler.py +0 -0
  308. {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/handlers/HttpExceptionHandler.py +0 -0
  309. {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/handlers/ModelNotFoundHandler.py +0 -0
  310. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Auth.py +0 -0
  311. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Auth.pyi +0 -0
  312. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Broadcast.py +0 -0
  313. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Cache.py +0 -0
  314. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Config.py +0 -0
  315. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Dump.py +0 -0
  316. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Dump.pyi +0 -0
  317. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Facade.py +0 -0
  318. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Gate.py +0 -0
  319. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Gate.pyi +0 -0
  320. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Hash.py +0 -0
  321. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Hash.pyi +0 -0
  322. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Loader.py +0 -0
  323. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Loader.pyi +0 -0
  324. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Mail.py +0 -0
  325. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Mail.pyi +0 -0
  326. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Notification.py +0 -0
  327. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Notification.pyi +0 -0
  328. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Queue.py +0 -0
  329. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Queue.pyi +0 -0
  330. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/RateLimiter.py +0 -0
  331. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/RateLimiter.pyi +0 -0
  332. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Request.py +0 -0
  333. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Request.pyi +0 -0
  334. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Response.py +0 -0
  335. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Response.pyi +0 -0
  336. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Session.py +0 -0
  337. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Session.pyi +0 -0
  338. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Storage.py +0 -0
  339. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Storage.pyi +0 -0
  340. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Url.py +0 -0
  341. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Url.pyi +0 -0
  342. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/View.py +0 -0
  343. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/View.pyi +0 -0
  344. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/loader/__init__.py +0 -0
  345. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/ChannelFactory.py +0 -0
  346. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/channels/SingleChannel.py +0 -0
  347. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/channels/SyslogChannel.py +0 -0
  348. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/channels/TerminalChannel.py +0 -0
  349. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/channels/__init__.py +0 -0
  350. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/drivers/LogSingleDriver.py +0 -0
  351. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/drivers/LogSlackDriver.py +0 -0
  352. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/drivers/LogSyslogDriver.py +0 -0
  353. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/drivers/__init__.py +0 -0
  354. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/managers/__init__.py +0 -0
  355. {fastapi_startkit-0.1.3/fastapi_startkit/utils → fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/integrations/config}/__init__.py +0 -0
  356. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/providers/__init__.py +0 -0
  357. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/utils/collections.py +0 -0
  358. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/utils/console.py +0 -0
  359. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/utils/data/mime.types +0 -0
  360. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/utils/filesystem.py +0 -0
  361. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/utils/http.py +0 -0
  362. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/utils/location.py +0 -0
  363. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/utils/str.py +0 -0
  364. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/utils/structures.py +0 -0
  365. {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/utils/time.py +0 -0
@@ -0,0 +1,27 @@
1
+ Metadata-Version: 2.3
2
+ Name: fastapi-startkit
3
+ Version: 0.13.1
4
+ Summary: Fastapi Starter kit components
5
+ Author: Bedram Tamang
6
+ Author-email: Bedram Tamang <tmgbedu@gmail.com>
7
+ Requires-Dist: dotty-dict>=1.3.1
8
+ Requires-Dist: pendulum>=3.1.0,<4.0.0
9
+ Requires-Dist: inflection>=0.5.1
10
+ Requires-Dist: requests>=2.32.5,<3.0.0
11
+ Requires-Dist: cleo>=2.1.0,<3.0.0
12
+ Requires-Dist: dotenv>=0.9.9
13
+ Requires-Dist: pydantic>=2.12.5
14
+ Requires-Dist: faker>=40.13.0 ; extra == 'database'
15
+ Requires-Dist: sqlalchemy[asyncio]>=2.0.38 ; extra == 'database'
16
+ Requires-Dist: fastapi[standard]>=0.124.4,<0.125.0 ; extra == 'fastapi'
17
+ Requires-Dist: aiomysql>=0.2.0 ; extra == 'mysql'
18
+ Requires-Dist: asyncpg>=0.29.0 ; extra == 'postgres'
19
+ Requires-Dist: aiosqlite>=0.22.1 ; extra == 'sqlite'
20
+ Requires-Dist: jinja2>=3.1 ; extra == 'vite'
21
+ Requires-Python: >=3.12, <4.0
22
+ Provides-Extra: database
23
+ Provides-Extra: fastapi
24
+ Provides-Extra: mysql
25
+ Provides-Extra: postgres
26
+ Provides-Extra: sqlite
27
+ Provides-Extra: vite
@@ -0,0 +1,61 @@
1
+ [project]
2
+ name = "fastapi-startkit"
3
+ version = "0.13.1"
4
+ description = "Fastapi Starter kit components"
5
+ authors = [
6
+ {name = "Bedram Tamang", email = "tmgbedu@gmail.com"}
7
+ ]
8
+ requires-python = ">=3.12,<4.0"
9
+ dependencies = [
10
+ "dotty-dict>=1.3.1",
11
+ "pendulum (>=3.1.0,<4.0.0)",
12
+ "inflection>=0.5.1",
13
+ "requests (>=2.32.5,<3.0.0)",
14
+ "cleo>=2.1.0,<3.0.0",
15
+ "dotenv>=0.9.9",
16
+ "pydantic>=2.12.5",
17
+ ]
18
+
19
+ [project.optional-dependencies]
20
+ fastapi = [
21
+ "fastapi[standard] (>=0.124.4,<0.125.0)",
22
+ ]
23
+ database = [
24
+ "faker>=40.13.0",
25
+ "sqlalchemy[asyncio]>=2.0.38",
26
+ ]
27
+
28
+ sqlite = [
29
+ "aiosqlite>=0.22.1"
30
+ ]
31
+
32
+ postgres = [
33
+ "asyncpg>=0.29.0",
34
+ ]
35
+
36
+ mysql = [
37
+ "aiomysql>=0.2.0",
38
+ ]
39
+
40
+ vite=[
41
+ "jinja2>=3.1",
42
+ ]
43
+
44
+ [dependency-groups]
45
+ dev = [
46
+ "dumpdie>=1.5.0",
47
+ "pytest>=9.0.3",
48
+ "pytest-asyncio>=1.3.0",
49
+ "twine>=6.2.0",
50
+ ]
51
+
52
+
53
+ [tool.pytest.ini_options]
54
+ asyncio_mode = "auto"
55
+
56
+ [build-system]
57
+ requires = ["uv_build >= 0.10.10, <0.11.0"]
58
+ build-backend = "uv_build"
59
+
60
+ [tool.uv]
61
+ -workspace = { members = ["application", "example/*"] }
@@ -0,0 +1,193 @@
1
+ import os
2
+ from pathlib import Path
3
+ from typing import TYPE_CHECKING, Optional
4
+ from typing import Type, Callable, Any, List, TypeVar, Generic
5
+
6
+ from fastapi_startkit.providers.app_provider import AppProvider
7
+ from .config import AppConfig
8
+ from .configuration.providers import ConfigurationProvider
9
+ from .container import Container
10
+ from .environment.environment import LoadEnvironment
11
+
12
+ if TYPE_CHECKING:
13
+ from fastapi import FastAPI, APIRouter
14
+ from starlette.middleware.base import BaseHTTPMiddleware
15
+
16
+ from fastapi_startkit.exceptions import ExceptionHandler
17
+
18
+
19
+ def app() -> 'Container':
20
+ return Container.instance()
21
+
22
+
23
+ TConfig = TypeVar('TConfig', bound=AppConfig)
24
+
25
+ class Application(Container, Generic[TConfig]):
26
+ DEFAULT_PROVIDERS = [
27
+ ConfigurationProvider,
28
+ AppProvider,
29
+ ]
30
+
31
+ def __init__(self, base_path: str = None, env=None, providers=None, config: Type[TConfig] | None = None, exception_handler: Type[ExceptionHandler] | None = None):
32
+ super().__init__()
33
+
34
+ self.base_path: str = base_path or os.getcwd()
35
+ self.env = env
36
+ self.providers = self.DEFAULT_PROVIDERS + (providers or [])
37
+ self.published_resources = {}
38
+ self.commands = []
39
+ self._config = config
40
+ self._config_instance: Optional[TConfig] = None
41
+ self._exception_handler_class = exception_handler or ExceptionHandler
42
+ self.exception_manager: ExceptionHandler
43
+
44
+ # Set global singleton
45
+ Container.set_instance(self)
46
+
47
+ self.configure_exception_handler()
48
+
49
+ # Boot application
50
+ self.load_environment()
51
+ self.configure_config()
52
+ self.configure_paths()
53
+ self.register_providers()
54
+
55
+ self._fastapi: Optional["FastAPI"] = None
56
+ self.load_providers()
57
+
58
+ def configure_exception_handler(self):
59
+ self.exception_manager: ExceptionHandler = self._exception_handler_class(application=self)
60
+ self.exception_manager.register()
61
+ self.exception_manager.install()
62
+ self.bind("exception_manager", self.exception_manager)
63
+
64
+ def register_providers(self):
65
+ providers = []
66
+ for provider_data in self.providers:
67
+ config = {}
68
+ if isinstance(provider_data, tuple):
69
+ provider_class, config = provider_data
70
+ else:
71
+ provider_class = provider_data
72
+
73
+ provider = provider_class(self, config=config)
74
+ provider.register()
75
+ providers.append(provider)
76
+
77
+ self.providers = providers
78
+ return self
79
+
80
+ def load_providers(self):
81
+ for provider in self.providers:
82
+ self.resolve(provider.boot)
83
+ return self
84
+
85
+ def use_fastapi(self, fastapi: "FastAPI"):
86
+ self._fastapi = fastapi
87
+ return self
88
+
89
+ def use_base_path(self, path: str):
90
+ return str(Path(self.base_path) / path)
91
+
92
+ def get(self, path: str, **kwargs) -> Callable:
93
+ return self.fastapi.get(path, **kwargs)
94
+
95
+ def post(self, path: str, **kwargs) -> Callable:
96
+ return self.fastapi.post(path, **kwargs)
97
+
98
+ def put(self, path: str, **kwargs) -> Callable:
99
+ return self.fastapi.put(path, **kwargs)
100
+
101
+ def delete(self, path: str, **kwargs) -> Callable:
102
+ return self.fastapi.delete(path, **kwargs)
103
+
104
+ def patch(self, path: str, **kwargs) -> Callable:
105
+ return self.fastapi.patch(path, **kwargs)
106
+
107
+ def options(self, path: str, **kwargs) -> Callable:
108
+ return self.fastapi.options(path, **kwargs)
109
+
110
+ def head(self, path: str, **kwargs) -> Callable:
111
+ return self._fastapi.head(path, **kwargs)
112
+
113
+ def trace(self, path: str, **kwargs) -> Callable:
114
+ return self._fastapi.trace(path, **kwargs)
115
+
116
+ # Include routers
117
+ def include_router(self, router: "APIRouter", **kwargs):
118
+ self.fastapi.include_router(router, **kwargs)
119
+ return self
120
+
121
+ # Add middleware
122
+ def add_middleware(self, middleware_class: Type['BaseHTTPMiddleware'], **options):
123
+ self._fastapi.add_middleware(middleware_class, **options)
124
+ return self
125
+
126
+ # Add event handlers (startup/shutdown)
127
+ def add_event_handler(self, event_type: str, func: Callable[..., Any]):
128
+ self.fastapi.add_event_handler(event_type, func)
129
+ return self
130
+
131
+ # Mount sub-apps
132
+ def mount(self, path: str, app_instance: "FastAPI", **kwargs):
133
+ self._fastapi.mount(path, app_instance, **kwargs)
134
+ return self
135
+
136
+ # Add custom exception handlers
137
+ def add_exception_handler(self, exc_class_or_status_code: Any, handler: Callable[..., Any]):
138
+ self._fastapi.add_exception_handler(exc_class_or_status_code, handler)
139
+ return self
140
+
141
+ @property
142
+ def fastapi(self) -> "FastAPI":
143
+ if self._fastapi is None:
144
+ try:
145
+ from fastapi import FastAPI
146
+ except ImportError:
147
+ raise RuntimeError(
148
+ "FastAPI is not installed. Install it with: pip install fastapi"
149
+ )
150
+ self._fastapi = FastAPI()
151
+ # Making the type hint work
152
+ assert self._fastapi is not None
153
+ return self._fastapi
154
+
155
+ def __call__(self, *args, **kwargs):
156
+ return self.fastapi
157
+
158
+ def load_environment(self):
159
+ LoadEnvironment(environment=self.env, base_path=self.base_path)
160
+
161
+ def is_debug(self) -> bool:
162
+ return hasattr(self, '_config_instance') and self._config_instance is not None and getattr(self._config_instance, 'debug', False)
163
+
164
+ def configure_config(self):
165
+ if self._config is not None:
166
+ self._config_instance = self._config()
167
+
168
+ @property
169
+ def config(self) -> TConfig:
170
+ if self._config_instance is None:
171
+ raise RuntimeError("Config is not set")
172
+ return self._config_instance
173
+
174
+ def configure_paths(self):
175
+ self.bind('config.location', os.path.join(self.base_path, "config"))
176
+
177
+ def use_config_path(self, path: str = None):
178
+ self.bind('config.location', path)
179
+
180
+ return self
181
+
182
+ def use_storage_path(self, path: str = None):
183
+ self.bind('storage.location', path)
184
+
185
+ return self
186
+
187
+ def add_commands(self, commands: List):
188
+ self.commands.extend(commands)
189
+
190
+ def handle_command(self):
191
+ from fastapi_startkit.console import ConsoleApplication
192
+
193
+ ConsoleApplication(self).handle()
@@ -0,0 +1 @@
1
+ from .carbon import Carbon
@@ -0,0 +1,3 @@
1
+ import pendulum
2
+
3
+ Carbon = pendulum.DateTime
@@ -0,0 +1 @@
1
+ from .collection import Collection