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.
- fastapi_startkit-0.13.1/PKG-INFO +27 -0
- fastapi_startkit-0.13.1/pyproject.toml +61 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/.DS_Store +0 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/application.py +193 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/carbon/__init__.py +1 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/carbon/carbon.py +3 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/collection/__init__.py +1 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/collection/collection.py +624 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/commands/__init__.py +1 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/commands/publish_command.py +57 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/config/__init__.py +1 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/config/app.py +10 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/config/facades/__init__.py +1 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/config/facades/config.py +11 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/configuration/Configuration.py +11 -11
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/configuration/providers/ConfigurationProvider.py +3 -3
- fastapi_startkit-0.13.1/src/fastapi_startkit/console.py +22 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/environment/__init__.py +1 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/environment/environment.py +84 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions/__init__.py +34 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions/handler.py +116 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Config.pyi +8 -4
- fastapi_startkit-0.13.1/src/fastapi_startkit/facades/Inertia.py +5 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/facades/Vite.py +5 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/facades/Vite.pyi +92 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/__init__.py +1 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/fastapi/commands/__init__.py +1 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/fastapi/commands/serve_command.py +36 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/fastapi/providers/__init__.py +1 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/fastapi/providers/fastapi_provider.py +38 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/helpers/dataclass.py +17 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/helpers/string.py +31 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/inertia/__init__.py +5 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/inertia/inertia.py +74 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/inertia/middleware.py +45 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/inertia/provider.py +37 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/loader/Loader.py +1 -2
- fastapi_startkit-0.13.1/src/fastapi_startkit/logging/__init__.py +7 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/channels/BaseChannel.py +5 -4
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/channels/DailyChannel.py +2 -3
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/channels/MultiBaseChannel.py +10 -10
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/channels/SlackChannel.py +1 -1
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/channels/StackChannel.py +10 -13
- fastapi_startkit-0.13.1/src/fastapi_startkit/logging/config/__init__.py +2 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/logging/config/channels.py +43 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/logging/config/logging.py +23 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/drivers/BaseDriver.py +0 -1
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/drivers/LogTerminalDriver.py +1 -1
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/factory.py +0 -1
- fastapi_startkit-0.13.1/src/fastapi_startkit/logging/handler.py +14 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/listeners.py +3 -3
- fastapi_startkit-0.13.1/src/fastapi_startkit/logging/logger.py +68 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/logging/managers/LoggingManager.py +13 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/logging/providers/__init__.py +1 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/logging/providers/log_provider.py +34 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/__init__.py +2 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/collection/Collection.py +32 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/collection/__init__.py +1 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/CanOverrideConfig.py +16 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/CanOverrideOptionsDefault.py +24 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/Command.py +6 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/DBMigrateCommand.py +71 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/DBSeedCommand.py +77 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/Entry.py +43 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MakeMigrationCommand.py +63 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MakeModelCommand.py +97 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MakeModelDocstringCommand.py +46 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MakeObserverCommand.py +60 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MakeSeedCommand.py +60 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MigrateFreshCommand.py +64 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MigrateRefreshCommand.py +75 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MigrateResetCommand.py +50 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MigrateRollbackCommand.py +56 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/MigrateStatusCommand.py +72 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/ShellCommand.py +216 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/__init__.py +17 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/stubs/create_migration.stub +20 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/stubs/create_seed.stub +9 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/stubs/model.stub +9 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/stubs/observer.stub +101 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/commands/stubs/table_migration.stub +19 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/config/config.py +39 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/config/database.py +24 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/connections/connection.py +103 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/connections/factory.py +49 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/connections/manager.py +35 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/connections/postgres_connection.py +36 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/connections/sqlite_connection.py +17 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/expressions/__init__.py +1 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/expressions/expressions.py +288 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/facades/DB.py +53 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/facades/Schema.py +54 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/facades/__init__.py +2 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/factory/factory.py +21 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/helpers/__init__.py +0 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/helpers/misc.py +22 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/migrations/Migration.py +311 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/migrations/__init__.py +1 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/MigrationModel.py +9 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/__init__.py +3 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/attribute.py +107 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/builder.py +210 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/caster.py +236 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/fields.py +89 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/model.py +236 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/observer.py +30 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/pivot.py +5 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/registry.py +46 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/models/relationship.py +11 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/observers/ObservesEvents.py +28 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/observers/__init__.py +1 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/pagination/BasePaginator.py +10 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/pagination/LengthAwarePaginator.py +34 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/pagination/SimplePaginator.py +28 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/pagination/__init__.py +2 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/providers/DatabaseProvider.py +48 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/providers/__init__.py +1 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/EagerLoadMixin.py +68 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/EagerRelation.py +42 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/__init__.py +0 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/grammars/BaseGrammar.py +1042 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/grammars/MSSQLGrammar.py +194 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/grammars/MySQLGrammar.py +238 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/grammars/PostgresGrammar.py +213 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/grammars/SQLiteGrammar.py +228 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/grammars/__init__.py +4 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/processors/MSSQLPostProcessor.py +58 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/processors/MySQLPostProcessor.py +48 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/processors/PostgresPostProcessor.py +53 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/processors/SQLitePostProcessor.py +49 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/processors/__init__.py +4 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/query/support.py +37 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/BaseRelationship.py +141 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/BelongsTo.py +115 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/BelongsToMany.py +596 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/HasMany.py +61 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/HasManyThrough.py +260 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/HasOne.py +88 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/HasOneThrough.py +263 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/MorphMany.py +150 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/MorphOne.py +154 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/MorphTo.py +110 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/MorphToMany.py +107 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/relationships/__init__.py +11 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/Blueprint.py +1183 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/Column.py +144 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/ColumnDiff.py +0 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/Constraint.py +9 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/ForeignKeyConstraint.py +28 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/Index.py +5 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/Table.py +94 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/TableDiff.py +86 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/__init__.py +3 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/platforms/MSSQLPlatform.py +367 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/platforms/MySQLPlatform.py +513 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/platforms/Platform.py +97 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/platforms/PostgresPlatform.py +553 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/platforms/SQLitePlatform.py +481 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/platforms/__init__.py +4 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/schema/schema.py +101 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/seeds/Seeder.py +39 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/seeds/__init__.py +1 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/stubs/create-migration.html +13 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/stubs/table-migration.html +0 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/fixtures/db.py +13 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/fixtures/factory.py +13 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/fixtures/migration.py +61 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/fixtures/model.py +47 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/fixtures/seeder.py +8 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/models/test_model.py +157 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/models/test_model_attributes.py +186 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/sqlite/models/test_sqlite_model.py +110 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/sqlite/relationships/test_sqlite_relationships.py +51 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm/tests/sqlite/test_case.py +20 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/.gitignore +2 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/CACHEDIR.TAG +4 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/README.md +8 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/v/cache/lastfailed +3 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/v/cache/nodeids +1 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/__init__.py +2 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/config/database.py +37 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/config.py +125 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/exceptions.py +38 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/factories/Factory.py +112 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/factories/__init__.py +1 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/schema/Schema.py +361 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/scopes/BaseScope.py +6 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/scopes/SoftDeleteScope.py +56 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/scopes/SoftDeletesMixin.py +13 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/scopes/UUIDPrimaryKeyMixin.py +8 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/scopes/UUIDPrimaryKeyScope.py +51 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/scopes/__init__.py +6 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/scopes/scope.py +15 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/testing/BaseTestCaseSelectGrammar.py +593 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/testing/Database.py +61 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/testing/TestCase.py +10 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/testing/__init__.py +2 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/User.py +17 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/collection/test_collection.py +741 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/commands/test_shell.py +89 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/config/test_db_url.py +128 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/connections/test_base_connections.py +27 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/eagers/test_eager.py +75 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/factories/test_factories.py +68 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/integrations/config/database.py +119 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/integrations/databases/migrations/2026_01_01_000000_create_users_table.py +28 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/integrations/model.py +55 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/integrations/test_model.py +62 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/models/test_models.py +334 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mssql/builder/test_mssql_query_builder.py +458 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mssql/builder/test_mssql_query_builder_relationships.py +132 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_delete_grammar.py +29 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_insert_grammar.py +37 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_qmark.py +42 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_select_grammar.py +502 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_update_grammar.py +35 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mssql/schema/test_mssql_schema_builder.py +326 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mssql/schema/test_mssql_schema_builder_alter.py +282 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/builder/test_mysql_builder_transaction.py +41 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/builder/test_query_builder.py +984 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/builder/test_query_builder_scopes.py +70 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/builder/test_transactions.py +31 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/connections/test_mysql_connection_selects.py +46 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_delete_grammar.py +79 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_insert_grammar.py +103 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_qmark.py +203 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_select_grammar.py +497 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_update_grammar.py +115 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/model/test_accessors_and_mutators.py +39 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/model/test_model.py +359 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/relationships/test_belongs_to_many.py +176 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/relationships/test_has_many_through.py +87 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/relationships/test_has_one_through.py +95 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/relationships/test_relationships.py +189 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/schema/test_mysql_schema_builder.py +398 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/schema/test_mysql_schema_builder_alter.py +327 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/scopes/test_can_use_global_scopes.py +40 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/scopes/test_can_use_scopes.py +41 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/mysql/scopes/test_soft_delete.py +86 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/postgres/builder/test_postgres_query_builder.py +808 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/postgres/builder/test_postgres_transaction.py +37 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/postgres/grammar/test_delete_grammar.py +77 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/postgres/grammar/test_insert_grammar.py +82 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/postgres/grammar/test_select_grammar.py +511 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/postgres/grammar/test_update_grammar.py +126 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/postgres/relationships/test_postgres_relationships.py +131 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/postgres/schema/test_postgres_schema_builder.py +382 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/postgres/schema/test_postgres_schema_builder_alter.py +327 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/scopes/test_default_global_scopes.py +145 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/seeds/test_seeds.py +12 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/builder/test_sqlite_builder_insert.py +39 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/builder/test_sqlite_builder_pagination.py +63 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/builder/test_sqlite_query_builder.py +1065 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/builder/test_sqlite_query_builder_eager_loading.py +97 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/builder/test_sqlite_query_builder_relationships.py +134 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/builder/test_sqlite_transaction.py +49 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/grammar/test_sqlite_delete_grammar.py +75 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/grammar/test_sqlite_insert_grammar.py +103 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/grammar/test_sqlite_select_grammar.py +482 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/grammar/test_sqlite_update_grammar.py +113 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/models/test_attach_detach.py +131 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/models/test_observers.py +115 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/relationships/test_sqlite_has_many_through_relationship.py +166 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/relationships/test_sqlite_has_one_through_relationship.py +150 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/relationships/test_sqlite_polymorphic.py +99 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/schema/test_sqlite_schema_builder.py +370 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/schema/test_sqlite_schema_builder_alter.py +244 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/schema/test_table.py +109 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/sqlite/schema/test_table_diff.py +166 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/masoniteorm.backup/tests/utils.py +57 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/providers/Provider.py +46 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/providers/app_provider.py +12 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/tests/configurations/test_config_merge.py +2 -2
- fastapi_startkit-0.13.1/src/fastapi_startkit/tests/test_case.py +15 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/utils/__init__.py +0 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/vite/__init__.py +10 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/vite/config/vite.py +16 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/vite/exceptions.py +6 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/vite/providers/provider.py +73 -0
- fastapi_startkit-0.13.1/src/fastapi_startkit/vite/vite.py +438 -0
- fastapi_startkit-0.1.3/PKG-INFO +0 -13
- fastapi_startkit-0.1.3/fastapi_startkit/application.py +0 -132
- fastapi_startkit-0.1.3/fastapi_startkit/environment/environment.py +0 -76
- fastapi_startkit-0.1.3/fastapi_startkit/logging/Logger.py +0 -2
- fastapi_startkit-0.1.3/fastapi_startkit/logging/__init__.py +0 -1
- fastapi_startkit-0.1.3/fastapi_startkit/logging/configs/logging.py +0 -20
- fastapi_startkit-0.1.3/fastapi_startkit/logging/managers/LoggingManager.py +0 -11
- fastapi_startkit-0.1.3/fastapi_startkit/logging/providers/LoggingProvider.py +0 -36
- fastapi_startkit-0.1.3/fastapi_startkit/logging/providers/__init__.py +0 -1
- fastapi_startkit-0.1.3/fastapi_startkit/providers/Provider.py +0 -21
- fastapi_startkit-0.1.3/pyproject.toml +0 -16
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/__init__.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/configuration/__init__.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/configuration/helpers.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/configuration/providers/__init__.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/container/__init__.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/container/container.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/exceptions/exceptions.py +0 -0
- {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/DD.py +0 -0
- {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/ExceptionHandler.py +0 -0
- {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/__init__.py +0 -0
- {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/exceptionite/__init__.py +0 -0
- {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/exceptionite/blocks.py +0 -0
- {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/exceptionite/controllers.py +0 -0
- {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/exceptionite/solutions.py +0 -0
- {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/exceptionite/tabs.py +0 -0
- {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/handlers/DumpExceptionHandler.py +0 -0
- {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/handlers/HttpExceptionHandler.py +0 -0
- {fastapi_startkit-0.1.3/fastapi_startkit/exceptions → fastapi_startkit-0.13.1/src/fastapi_startkit/exceptions.backup}/handlers/ModelNotFoundHandler.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Auth.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Auth.pyi +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Broadcast.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Cache.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Config.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Dump.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Dump.pyi +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Facade.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Gate.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Gate.pyi +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Hash.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Hash.pyi +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Loader.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Loader.pyi +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Mail.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Mail.pyi +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Notification.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Notification.pyi +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Queue.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Queue.pyi +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/RateLimiter.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/RateLimiter.pyi +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Request.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Request.pyi +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Response.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Response.pyi +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Session.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Session.pyi +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Storage.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Storage.pyi +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Url.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/Url.pyi +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/View.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/facades/View.pyi +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/loader/__init__.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/ChannelFactory.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/channels/SingleChannel.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/channels/SyslogChannel.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/channels/TerminalChannel.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/channels/__init__.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/drivers/LogSingleDriver.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/drivers/LogSlackDriver.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/drivers/LogSyslogDriver.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/drivers/__init__.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/logging/managers/__init__.py +0 -0
- {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
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/providers/__init__.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/utils/collections.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/utils/console.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/utils/data/mime.types +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/utils/filesystem.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/utils/http.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/utils/location.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/utils/str.py +0 -0
- {fastapi_startkit-0.1.3 → fastapi_startkit-0.13.1/src}/fastapi_startkit/utils/structures.py +0 -0
- {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/*"] }
|
|
Binary file
|
|
@@ -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 @@
|
|
|
1
|
+
from .collection import Collection
|