fastapi-startkit 0.46.0__tar.gz → 0.49.0__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.49.0/PKG-INFO +48 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/pyproject.toml +55 -5
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/providers/ai_provider.py +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/application.py +19 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/broadcasting/provider.py +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/configuration/Configuration.py +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/configuration/providers/ConfigurationProvider.py +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/fastapi/providers/fastapi_provider.py +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/fastapi/routers/router.py +16 -16
- {fastapi_startkit-0.46.0/src/fastapi_startkit/providers → fastapi_startkit-0.49.0/src/fastapi_startkit/foundation}/app_provider.py +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/inertia/provider.py +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/providers/log_provider.py +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/DBSeedCommand.py +2 -2
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/MakeModelCommand.py +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/MakeSeedCommand.py +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/MigrateFreshCommand.py +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/MigrateRefreshCommand.py +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/stubs/create_seed.stub +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/models/builder.py +74 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/models/model.py +12 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/providers/DatabaseProvider.py +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/schema/platforms/SQLitePlatform.py +1 -3
- {fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm/seeds → fastapi_startkit-0.49.0/src/fastapi_startkit/masoniteorm/seeders}/Seeder.py +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/mcp/providers/mcp_provider.py +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/skills/provider.py +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/skills/stubs/.ai/fastapi-startkit/database/SKILL.md +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/storage/providers/provider.py +1 -1
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/support/__init__.py +2 -1
- fastapi_startkit-0.49.0/src/fastapi_startkit/support/providers/__init__.py +3 -0
- fastapi_startkit-0.46.0/src/fastapi_startkit/providers/Provider.py → fastapi_startkit-0.49.0/src/fastapi_startkit/support/providers/provider.py +2 -3
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/vite/providers/provider.py +1 -1
- fastapi_startkit-0.46.0/PKG-INFO +0 -34
- fastapi_startkit-0.46.0/src/fastapi_startkit/helpers/app.py +0 -12
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/__init__.py +0 -2
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/config/database.py +0 -37
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/config.py +0 -114
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/exceptions.py +0 -38
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/factories/Factory.py +0 -110
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/factories/__init__.py +0 -1
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/schema/Schema.py +0 -335
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/scopes/BaseScope.py +0 -6
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/scopes/SoftDeleteScope.py +0 -48
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/scopes/SoftDeletesMixin.py +0 -13
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/scopes/UUIDPrimaryKeyMixin.py +0 -8
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/scopes/UUIDPrimaryKeyScope.py +0 -45
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/scopes/__init__.py +0 -6
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/scopes/scope.py +0 -15
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/testing/BaseTestCaseSelectGrammar.py +0 -377
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/testing/Database.py +0 -59
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/testing/TestCase.py +0 -11
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/testing/__init__.py +0 -2
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/User.py +0 -17
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/connections/test_base_connections.py +0 -27
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/eagers/test_eager.py +0 -59
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/models/test_models.py +0 -296
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mssql/builder/test_mssql_query_builder.py +0 -425
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mssql/builder/test_mssql_query_builder_relationships.py +0 -130
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_delete_grammar.py +0 -21
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_insert_grammar.py +0 -35
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_qmark.py +0 -42
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_select_grammar.py +0 -487
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_update_grammar.py +0 -28
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mssql/schema/test_mssql_schema_builder.py +0 -322
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mssql/schema/test_mssql_schema_builder_alter.py +0 -276
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/builder/test_mysql_builder_transaction.py +0 -39
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/builder/test_query_builder.py +0 -861
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/builder/test_query_builder_scopes.py +0 -62
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/builder/test_transactions.py +0 -31
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/connections/test_mysql_connection_selects.py +0 -46
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_delete_grammar.py +0 -65
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_insert_grammar.py +0 -91
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_qmark.py +0 -177
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_select_grammar.py +0 -482
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_update_grammar.py +0 -98
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/model/test_accessors_and_mutators.py +0 -35
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/model/test_model.py +0 -330
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/relationships/test_belongs_to_many.py +0 -162
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/relationships/test_has_many_through.py +0 -83
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/relationships/test_has_one_through.py +0 -91
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/relationships/test_relationships.py +0 -169
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/schema/test_mysql_schema_builder.py +0 -380
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/schema/test_mysql_schema_builder_alter.py +0 -309
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/scopes/test_can_use_global_scopes.py +0 -38
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/scopes/test_can_use_scopes.py +0 -39
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/mysql/scopes/test_soft_delete.py +0 -84
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/postgres/builder/test_postgres_query_builder.py +0 -701
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/postgres/builder/test_postgres_transaction.py +0 -37
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/postgres/grammar/test_delete_grammar.py +0 -65
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/postgres/grammar/test_insert_grammar.py +0 -72
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/postgres/grammar/test_select_grammar.py +0 -496
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/postgres/grammar/test_update_grammar.py +0 -107
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/postgres/relationships/test_postgres_relationships.py +0 -131
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/postgres/schema/test_postgres_schema_builder.py +0 -371
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/postgres/schema/test_postgres_schema_builder_alter.py +0 -319
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/scopes/test_default_global_scopes.py +0 -145
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/seeds/test_seeds.py +0 -12
- fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm.backup/tests/utils.py +0 -57
- fastapi_startkit-0.46.0/src/fastapi_startkit/providers/__init__.py +0 -3
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/.DS_Store +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/agent.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/audio.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/audio_factory.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/config/ai.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/config/config.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/decorators.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/document.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/fakes.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/image.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/image_factory.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/lab.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/model_builder.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/pipeline.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/providers/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/response.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/runner.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/ai/testing.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/broadcasting/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/broadcasting/auth.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/broadcasting/channels.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/broadcasting/config.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/broadcasting/drivers/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/broadcasting/drivers/log_driver.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/broadcasting/drivers/reverb_driver.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/broadcasting/event.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/broadcasting/helpers.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/broadcasting/manager.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/broadcasting/reverb/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/broadcasting/reverb/channel_manager.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/broadcasting/reverb/connection.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/broadcasting/reverb/server.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/broadcasting/stubs/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/broadcasting/stubs/channels.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/carbon/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/carbon/carbon.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/config/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/config/app.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/configuration/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/configuration/config.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/configuration/helpers.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/configuration/providers/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/console/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/console/application.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/console/can_override_config.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/console/can_override_default_options.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/console/command.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/console/publish_command.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/container/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/container/container.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/environment/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/environment/environment.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/exceptions/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/exceptions/exceptions.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/exceptions/handler.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/AI.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/AI.pyi +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Cache.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Config.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Config.pyi +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Dump.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Dump.pyi +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Facade.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Gate.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Gate.pyi +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Hash.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Hash.pyi +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Loader.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Loader.pyi +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Mail.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Mail.pyi +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Notification.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Notification.pyi +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Queue.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Queue.pyi +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/RateLimiter.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/RateLimiter.pyi +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Request.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Request.pyi +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Response.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Response.pyi +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Session.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Session.pyi +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Url.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Url.pyi +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/View.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/View.pyi +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Vite.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/Vite.pyi +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/facades/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/fastapi/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/fastapi/commands/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/fastapi/commands/serve_command.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/fastapi/config/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/fastapi/config/fastapi.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/fastapi/exceptions.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/fastapi/requests/model.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/fastapi/testing/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/fastapi/testing/assertable_json.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/fastapi/testing/test_case.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/fastapi/testing/test_response.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/inertia/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/inertia/constant.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/inertia/context.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/inertia/inertia.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/inertia/middleware.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/inertia/props/props.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/jsonapi/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/jsonapi/response.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/loader/Loader.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/loader/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/ChannelFactory.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/channels/BaseChannel.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/channels/DailyChannel.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/channels/MultiBaseChannel.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/channels/SingleChannel.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/channels/SlackChannel.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/channels/StackChannel.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/channels/SyslogChannel.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/channels/TerminalChannel.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/channels/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/config/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/config/channels.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/config/logging.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/drivers/BaseDriver.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/drivers/LogSingleDriver.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/drivers/LogSlackDriver.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/drivers/LogSyslogDriver.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/drivers/LogTerminalDriver.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/drivers/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/factory.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/file.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/handler.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/listeners.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/logger.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/managers/LoggingManager.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/managers/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/logging/providers/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/collection/Collection.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/collection/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/DBMigrateCommand.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/MakeMigrationCommand.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/MakeModelDocstringCommand.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/MakeObserverCommand.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/MigrateResetCommand.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/MigrateRollbackCommand.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/MigrateStatusCommand.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/ShellCommand.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/stubs/create_migration.stub +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/stubs/model.stub +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/stubs/observer.stub +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/commands/stubs/table_migration.stub +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/config/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/config/config.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/config/database.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/connections/connection.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/connections/factory.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/connections/manager.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/connections/mysql_connection.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/connections/postgres_connection.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/connections/sqlite_connection.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/exceptions.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/expressions/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/expressions/expressions.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/facades/DB.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/facades/Schema.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/facades/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/factory/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/factory/factory.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/helpers/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/helpers/misc.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/migrations/Migration.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/migrations/Migrator.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/migrations/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/models/MigrationModel.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/models/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/models/attribute.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/models/caster.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/models/fields.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/models/observer.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/models/pivot.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/models/registry.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/models/relationship.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/observers/ObservesEvents.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/observers/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/pagination/BasePaginator.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/pagination/LengthAwarePaginator.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/pagination/SimplePaginator.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/pagination/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/providers/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/query/EagerLoadMixin.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/query/EagerRelation.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/query/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/query/grammars/BaseGrammar.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/query/grammars/MSSQLGrammar.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/query/grammars/MySQLGrammar.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/query/grammars/PostgresGrammar.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/query/grammars/SQLiteGrammar.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/query/grammars/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/query/processors/MSSQLPostProcessor.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/query/processors/MySQLPostProcessor.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/query/processors/PostgresPostProcessor.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/query/processors/SQLitePostProcessor.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/query/processors/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/query/support.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/relationships/BaseRelationship.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/relationships/BelongsTo.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/relationships/BelongsToMany.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/relationships/HasMany.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/relationships/HasManyThrough.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/relationships/HasOne.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/relationships/HasOneThrough.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/relationships/MorphMany.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/relationships/MorphOne.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/relationships/MorphTo.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/relationships/MorphToMany.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/relationships/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/schema/Blueprint.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/schema/Column.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/schema/ColumnDiff.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/schema/Constraint.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/schema/ForeignKeyConstraint.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/schema/Index.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/schema/Table.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/schema/TableDiff.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/schema/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/schema/platforms/MSSQLPlatform.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/schema/platforms/MySQLPlatform.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/schema/platforms/Platform.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/schema/platforms/PostgresPlatform.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/schema/platforms/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/schema/schema.py +0 -0
- {fastapi_startkit-0.46.0/src/fastapi_startkit/masoniteorm/seeds → fastapi_startkit-0.49.0/src/fastapi_startkit/masoniteorm/seeders}/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/stubs/create-migration.html +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/stubs/table-migration.html +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/testing/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/testing/transaction.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/.gitignore +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/CACHEDIR.TAG +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/README.md +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/v/cache/lastfailed +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/v/cache/nodeids +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/mcp/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/mcp/argument.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/mcp/prompt.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/mcp/protocol.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/mcp/providers/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/mcp/request.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/mcp/resource.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/mcp/response.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/mcp/server.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/mcp/tool.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/process/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/process/exception.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/process/fake.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/process/process.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/process/result.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/skills/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/skills/adapters/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/skills/adapters/base.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/skills/adapters/claude.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/skills/adapters/gemini.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/skills/commands/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/skills/commands/skills.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/skills/parser.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/skills/registry.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/skills/stubs/.ai/fastapi-startkit/fastapi/SKILL.md +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/skills/stubs/.ai/fastapi-startkit/inertia/SKILL.md +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/storage/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/storage/config/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/storage/config/storage.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/storage/data/mime.types +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/storage/drivers/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/storage/drivers/fake.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/storage/drivers/local.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/storage/drivers/s3.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/storage/file.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/storage/filestream.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/storage/helper.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/storage/storage.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/support/collection.py +0 -0
- {fastapi_startkit-0.46.0/src/fastapi_startkit/helpers → fastapi_startkit-0.49.0/src/fastapi_startkit/support}/dataclass.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/support/string.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/support/uri.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/testing/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/testing/test_case.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/utils/structures.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/vite/__init__.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/vite/config/vite.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/vite/exceptions.py +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/vite/stubs/package.json +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/vite/stubs/resources/css/app.css +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/vite/stubs/resources/js/app.ts +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/vite/stubs/resources/templates/index.html +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/vite/stubs/tsconfig.json +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/vite/stubs/vite.config.ts +0 -0
- {fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/vite/vite.py +0 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: fastapi-startkit
|
|
3
|
+
Version: 0.49.0
|
|
4
|
+
Summary: A modular, provider-driven framework for building async Python web applications with FastAPI — bundling a service container, configuration system, an async-first ORM, facades, and a Cleo-powered console.
|
|
5
|
+
Keywords: fastapi,framework,async,web,asgi,orm,sqlalchemy,pydantic,ioc-container,dependency-injection,service-provider,cli,console,configuration,microservices,starter-kit,boilerplate
|
|
6
|
+
Author: Bedram Tamang
|
|
7
|
+
Author-email: Bedram Tamang <tmgbedu@gmail.com>
|
|
8
|
+
Classifier: Development Status :: 4 - Beta
|
|
9
|
+
Classifier: Framework :: FastAPI
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
15
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
16
|
+
Requires-Dist: dotty-dict>=1.3.1
|
|
17
|
+
Requires-Dist: pendulum>=3.1.0,<4.0.0
|
|
18
|
+
Requires-Dist: inflection>=0.5.1
|
|
19
|
+
Requires-Dist: requests>=2.32.5,<3.0.0
|
|
20
|
+
Requires-Dist: cleo>=2.1.0,<3.0.0
|
|
21
|
+
Requires-Dist: dotenv>=0.9.9
|
|
22
|
+
Requires-Dist: pydantic>=2.12.5
|
|
23
|
+
Requires-Dist: langchain>=1.0.0 ; extra == 'ai'
|
|
24
|
+
Requires-Dist: langchain-core>=1.0.0 ; extra == 'ai'
|
|
25
|
+
Requires-Dist: faker>=40.13.0 ; extra == 'database'
|
|
26
|
+
Requires-Dist: sqlalchemy[asyncio]>=2.0.38 ; extra == 'database'
|
|
27
|
+
Requires-Dist: fastapi[standard]>=0.124.4 ; extra == 'fastapi'
|
|
28
|
+
Requires-Dist: itsdangerous>=2.2.0 ; extra == 'fastapi'
|
|
29
|
+
Requires-Dist: jinja2>=3.1 ; extra == 'inertia'
|
|
30
|
+
Requires-Dist: markupsafe>=2.0 ; extra == 'inertia'
|
|
31
|
+
Requires-Dist: aiomysql>=0.2.0 ; extra == 'mysql'
|
|
32
|
+
Requires-Dist: asyncpg>=0.29.0 ; extra == 'postgres'
|
|
33
|
+
Requires-Dist: aiosqlite>=0.22.1 ; extra == 'sqlite'
|
|
34
|
+
Requires-Dist: jinja2>=3.1 ; extra == 'vite'
|
|
35
|
+
Requires-Python: >=3.12, <4.0
|
|
36
|
+
Project-URL: Homepage, https://fastapi-startkit.github.io
|
|
37
|
+
Project-URL: Documentation, https://fastapi-startkit.github.io
|
|
38
|
+
Project-URL: Repository, https://github.com/fastapi-startkit/fastapi-startkit-framework
|
|
39
|
+
Project-URL: Issues, https://github.com/fastapi-startkit/fastapi-startkit-framework/issues
|
|
40
|
+
Project-URL: Changelog, https://github.com/fastapi-startkit/fastapi-startkit-framework/releases
|
|
41
|
+
Provides-Extra: ai
|
|
42
|
+
Provides-Extra: database
|
|
43
|
+
Provides-Extra: fastapi
|
|
44
|
+
Provides-Extra: inertia
|
|
45
|
+
Provides-Extra: mysql
|
|
46
|
+
Provides-Extra: postgres
|
|
47
|
+
Provides-Extra: sqlite
|
|
48
|
+
Provides-Extra: vite
|
|
@@ -1,11 +1,40 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "fastapi-startkit"
|
|
3
|
-
version = "0.
|
|
4
|
-
description = "
|
|
3
|
+
version = "0.49.0"
|
|
4
|
+
description = "A modular, provider-driven framework for building async Python web applications with FastAPI — bundling a service container, configuration system, an async-first ORM, facades, and a Cleo-powered console."
|
|
5
|
+
keywords = [
|
|
6
|
+
"fastapi",
|
|
7
|
+
"framework",
|
|
8
|
+
"async",
|
|
9
|
+
"web",
|
|
10
|
+
"asgi",
|
|
11
|
+
"orm",
|
|
12
|
+
"sqlalchemy",
|
|
13
|
+
"pydantic",
|
|
14
|
+
"ioc-container",
|
|
15
|
+
"dependency-injection",
|
|
16
|
+
"service-provider",
|
|
17
|
+
"cli",
|
|
18
|
+
"console",
|
|
19
|
+
"configuration",
|
|
20
|
+
"microservices",
|
|
21
|
+
"starter-kit",
|
|
22
|
+
"boilerplate",
|
|
23
|
+
]
|
|
5
24
|
authors = [
|
|
6
25
|
{name = "Bedram Tamang", email = "tmgbedu@gmail.com"}
|
|
7
26
|
]
|
|
8
27
|
requires-python = ">=3.12,<4.0"
|
|
28
|
+
classifiers = [
|
|
29
|
+
"Development Status :: 4 - Beta",
|
|
30
|
+
"Framework :: FastAPI",
|
|
31
|
+
"Intended Audience :: Developers",
|
|
32
|
+
"Operating System :: OS Independent",
|
|
33
|
+
"Programming Language :: Python :: 3",
|
|
34
|
+
"Programming Language :: Python :: 3.12",
|
|
35
|
+
"Programming Language :: Python :: 3.13",
|
|
36
|
+
"Topic :: Software Development :: Libraries :: Application Frameworks",
|
|
37
|
+
]
|
|
9
38
|
dependencies = [
|
|
10
39
|
"dotty-dict>=1.3.1",
|
|
11
40
|
"pendulum (>=3.1.0,<4.0.0)",
|
|
@@ -16,9 +45,16 @@ dependencies = [
|
|
|
16
45
|
"pydantic>=2.12.5",
|
|
17
46
|
]
|
|
18
47
|
|
|
48
|
+
[project.urls]
|
|
49
|
+
Homepage = "https://fastapi-startkit.github.io"
|
|
50
|
+
Documentation = "https://fastapi-startkit.github.io"
|
|
51
|
+
Repository = "https://github.com/fastapi-startkit/fastapi-startkit-framework"
|
|
52
|
+
Issues = "https://github.com/fastapi-startkit/fastapi-startkit-framework/issues"
|
|
53
|
+
Changelog = "https://github.com/fastapi-startkit/fastapi-startkit-framework/releases"
|
|
54
|
+
|
|
19
55
|
[project.optional-dependencies]
|
|
20
56
|
fastapi = [
|
|
21
|
-
"fastapi[standard]
|
|
57
|
+
"fastapi[standard]>=0.124.4",
|
|
22
58
|
"itsdangerous>=2.2.0",
|
|
23
59
|
]
|
|
24
60
|
database = [
|
|
@@ -69,6 +105,7 @@ dev = [
|
|
|
69
105
|
"faker>=40.13.0",
|
|
70
106
|
"langchain>=1.0.0",
|
|
71
107
|
"langchain-core>=1.0.0",
|
|
108
|
+
"pyright>=1.1.411",
|
|
72
109
|
]
|
|
73
110
|
|
|
74
111
|
|
|
@@ -82,9 +119,22 @@ fixable = ["F401"]
|
|
|
82
119
|
[tool.ruff.lint.per-file-ignores]
|
|
83
120
|
"__init__.py" = ["F401"]
|
|
84
121
|
|
|
122
|
+
[tool.pyright]
|
|
123
|
+
include = ["src/fastapi_startkit"]
|
|
124
|
+
exclude = [
|
|
125
|
+
"**/tests",
|
|
126
|
+
"**/migrations",
|
|
127
|
+
"**/*.backup",
|
|
128
|
+
"**/*_backup",
|
|
129
|
+
"**/__pycache__",
|
|
130
|
+
"**/.venv",
|
|
131
|
+
]
|
|
132
|
+
typeCheckingMode = "basic"
|
|
133
|
+
pythonVersion = "3.12"
|
|
134
|
+
|
|
85
135
|
[tool.pytest.ini_options]
|
|
86
136
|
asyncio_mode = "auto"
|
|
87
|
-
norecursedirs = ["
|
|
137
|
+
norecursedirs = [".venv", "dist", "build", "__pycache__"]
|
|
88
138
|
|
|
89
139
|
[tool.coverage.run]
|
|
90
140
|
source = ["src/fastapi_startkit"]
|
|
@@ -98,7 +148,7 @@ omit = [
|
|
|
98
148
|
[tool.coverage.report]
|
|
99
149
|
show_missing = true
|
|
100
150
|
skip_covered = false
|
|
101
|
-
fail_under =
|
|
151
|
+
fail_under = 68
|
|
102
152
|
exclude_lines = [
|
|
103
153
|
"pragma: no cover",
|
|
104
154
|
"if TYPE_CHECKING:",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import os
|
|
2
|
-
|
|
2
|
+
import shlex
|
|
3
|
+
from fastapi_startkit.foundation.app_provider import AppProvider
|
|
3
4
|
from pathlib import Path
|
|
4
5
|
from typing import TYPE_CHECKING, Optional
|
|
5
6
|
from typing import Type, Callable, Any, List, TypeVar, Generic
|
|
@@ -225,3 +226,20 @@ class Application(Container, Generic[TConfig]):
|
|
|
225
226
|
from fastapi_startkit.console import ConsoleApplication
|
|
226
227
|
|
|
227
228
|
ConsoleApplication(self).handle()
|
|
229
|
+
|
|
230
|
+
def run(self, command: str, args: "str | list[str] | None" = None) -> int:
|
|
231
|
+
from cleo.io.inputs.string_input import StringInput
|
|
232
|
+
|
|
233
|
+
from fastapi_startkit.console import ConsoleApplication
|
|
234
|
+
|
|
235
|
+
if isinstance(args, (list, tuple)):
|
|
236
|
+
args = shlex.join(str(arg) for arg in args)
|
|
237
|
+
|
|
238
|
+
command_line = f"{command} {args}".strip() if args else command
|
|
239
|
+
|
|
240
|
+
console = ConsoleApplication(self)
|
|
241
|
+
console.auto_exits(False)
|
|
242
|
+
|
|
243
|
+
console.find(command)
|
|
244
|
+
|
|
245
|
+
return console.run(StringInput(command_line))
|
{fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/broadcasting/provider.py
RENAMED
|
@@ -5,7 +5,7 @@ import importlib.util
|
|
|
5
5
|
import sys
|
|
6
6
|
from pathlib import Path
|
|
7
7
|
|
|
8
|
-
from
|
|
8
|
+
from fastapi_startkit.support import Provider
|
|
9
9
|
from .config import BroadcastingConfig
|
|
10
10
|
from .manager import BroadcastManager
|
|
11
11
|
from .reverb.server import ReverbServer
|
|
@@ -51,7 +51,7 @@ class Configuration:
|
|
|
51
51
|
self.set(path, merged_config)
|
|
52
52
|
|
|
53
53
|
def set(self, path, value):
|
|
54
|
-
from fastapi_startkit.
|
|
54
|
+
from fastapi_startkit.support.dataclass import Dataclass
|
|
55
55
|
|
|
56
56
|
self._config[path] = Dataclass.to_dict(value)
|
|
57
57
|
|
|
@@ -3,7 +3,7 @@ from fastapi import FastAPI
|
|
|
3
3
|
|
|
4
4
|
from fastapi_startkit.fastapi.commands import ServeCommand
|
|
5
5
|
from fastapi_startkit.fastapi.config import FastAPIConfig
|
|
6
|
-
from fastapi_startkit.
|
|
6
|
+
from fastapi_startkit.support import Provider
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
class FastAPIProvider(Provider):
|
{fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/fastapi/routers/router.py
RENAMED
|
@@ -66,38 +66,38 @@ class Router:
|
|
|
66
66
|
def _add_route(
|
|
67
67
|
self,
|
|
68
68
|
path: str,
|
|
69
|
-
|
|
69
|
+
action: Callable[..., Any],
|
|
70
70
|
methods: List[str],
|
|
71
71
|
**kwargs: Unpack[RouteOptions],
|
|
72
72
|
) -> None:
|
|
73
73
|
self.router.add_api_route(
|
|
74
74
|
path,
|
|
75
|
-
|
|
75
|
+
action,
|
|
76
76
|
methods=methods,
|
|
77
77
|
responses=kwargs.pop("responses", None) or {}, # type: ignore[misc]
|
|
78
78
|
**kwargs,
|
|
79
79
|
)
|
|
80
80
|
|
|
81
|
-
def get(self, path: str,
|
|
82
|
-
self._add_route(path,
|
|
81
|
+
def get(self, path: str, action: Callable[..., Any], **kwargs: Unpack[RouteOptions]) -> None:
|
|
82
|
+
self._add_route(path, action, ["GET"], **kwargs)
|
|
83
83
|
|
|
84
|
-
def post(self, path: str,
|
|
85
|
-
self._add_route(path,
|
|
84
|
+
def post(self, path: str, action: Callable[..., Any], **kwargs: Unpack[RouteOptions]) -> None:
|
|
85
|
+
self._add_route(path, action, ["POST"], **kwargs)
|
|
86
86
|
|
|
87
|
-
def put(self, path: str,
|
|
88
|
-
self._add_route(path,
|
|
87
|
+
def put(self, path: str, action: Callable[..., Any], **kwargs: Unpack[RouteOptions]) -> None:
|
|
88
|
+
self._add_route(path, action, ["PUT"], **kwargs)
|
|
89
89
|
|
|
90
|
-
def patch(self, path: str,
|
|
91
|
-
self._add_route(path,
|
|
90
|
+
def patch(self, path: str, action: Callable[..., Any], **kwargs: Unpack[RouteOptions]) -> None:
|
|
91
|
+
self._add_route(path, action, ["PATCH"], **kwargs)
|
|
92
92
|
|
|
93
|
-
def delete(self, path: str,
|
|
94
|
-
self._add_route(path,
|
|
93
|
+
def delete(self, path: str, action: Callable[..., Any], **kwargs: Unpack[RouteOptions]) -> None:
|
|
94
|
+
self._add_route(path, action, ["DELETE"], **kwargs)
|
|
95
95
|
|
|
96
|
-
def head(self, path: str,
|
|
97
|
-
self._add_route(path,
|
|
96
|
+
def head(self, path: str, action: Callable[..., Any], **kwargs: Unpack[RouteOptions]) -> None:
|
|
97
|
+
self._add_route(path, action, ["HEAD"], **kwargs)
|
|
98
98
|
|
|
99
|
-
def options(self, path: str,
|
|
100
|
-
self._add_route(path,
|
|
99
|
+
def options(self, path: str, action: Callable[..., Any], **kwargs: Unpack[RouteOptions]) -> None:
|
|
100
|
+
self._add_route(path, action, ["OPTIONS"], **kwargs)
|
|
101
101
|
|
|
102
102
|
def resource(
|
|
103
103
|
self,
|
|
@@ -29,7 +29,7 @@ class DBSeedCommand(Command):
|
|
|
29
29
|
"directory",
|
|
30
30
|
"d",
|
|
31
31
|
flag=False,
|
|
32
|
-
default="databases/
|
|
32
|
+
default="databases/seeders",
|
|
33
33
|
description="The location of the seed directory",
|
|
34
34
|
),
|
|
35
35
|
option(
|
|
@@ -46,7 +46,7 @@ class DBSeedCommand(Command):
|
|
|
46
46
|
return asyncio.run(self.handle_async())
|
|
47
47
|
|
|
48
48
|
async def handle_async(self):
|
|
49
|
-
from ..
|
|
49
|
+
from ..seeders import Seeder
|
|
50
50
|
|
|
51
51
|
seeder = Seeder(
|
|
52
52
|
seed_path=self.option("directory"),
|
|
@@ -347,6 +347,80 @@ class QueryBuilder(EagerLoadMixin, SupportMixin):
|
|
|
347
347
|
results = await self.limit(per_page + 1).offset(offset).get()
|
|
348
348
|
return SimplePaginator(results, per_page, page)
|
|
349
349
|
|
|
350
|
+
async def chunk(self, count: int):
|
|
351
|
+
"""Yield results in batches of ``count`` using offset/limit paging.
|
|
352
|
+
|
|
353
|
+
Mirrors Laravel's ``chunk()``: iteration stops as soon as a batch
|
|
354
|
+
comes back empty or shorter than ``count``, so it never loops forever.
|
|
355
|
+
"""
|
|
356
|
+
if count <= 0:
|
|
357
|
+
raise ValueError("chunk() size must be a positive integer.")
|
|
358
|
+
|
|
359
|
+
page = 0
|
|
360
|
+
while True:
|
|
361
|
+
results = await self.limit(count).offset(page * count).get()
|
|
362
|
+
if len(results) == 0:
|
|
363
|
+
break
|
|
364
|
+
|
|
365
|
+
yield results
|
|
366
|
+
|
|
367
|
+
if len(results) < count:
|
|
368
|
+
break
|
|
369
|
+
page += 1
|
|
370
|
+
|
|
371
|
+
async def chunk_by_id(self, count: int, column: str = None, alias: str = None, descending: bool = False):
|
|
372
|
+
if count <= 0:
|
|
373
|
+
raise ValueError("chunk_by_id() size must be a positive integer.")
|
|
374
|
+
|
|
375
|
+
column = column or self._model.__primary_key__
|
|
376
|
+
alias = alias or column
|
|
377
|
+
operator = "<" if descending else ">"
|
|
378
|
+
direction = "desc" if descending else "asc"
|
|
379
|
+
|
|
380
|
+
base_wheres = list(self._wheres)
|
|
381
|
+
offset = self._offset or 0
|
|
382
|
+
remaining = self._limit if self._limit is not False else None
|
|
383
|
+
|
|
384
|
+
last_id = None
|
|
385
|
+
page = 1
|
|
386
|
+
while True:
|
|
387
|
+
limit = count if remaining is None else min(count, remaining)
|
|
388
|
+
if limit == 0:
|
|
389
|
+
break
|
|
390
|
+
|
|
391
|
+
self._wheres = list(base_wheres)
|
|
392
|
+
self._order_by = ()
|
|
393
|
+
# The starting offset only applies to the first page; keyset
|
|
394
|
+
# filtering drives every page after that.
|
|
395
|
+
self._offset = offset if page == 1 else False
|
|
396
|
+
if last_id is not None:
|
|
397
|
+
self.where(column, operator, last_id)
|
|
398
|
+
|
|
399
|
+
results = await self.order_by(column, direction).limit(limit).get()
|
|
400
|
+
count_results = len(results)
|
|
401
|
+
if count_results == 0:
|
|
402
|
+
break
|
|
403
|
+
|
|
404
|
+
if remaining is not None:
|
|
405
|
+
remaining = max(remaining - count_results, 0)
|
|
406
|
+
|
|
407
|
+
yield results
|
|
408
|
+
|
|
409
|
+
last_id = results.last().get_attributes().get(alias)
|
|
410
|
+
if last_id is None:
|
|
411
|
+
raise RuntimeError(
|
|
412
|
+
f"The chunk_by_id operation was aborted because the [{alias}] "
|
|
413
|
+
"column is not present in the query result."
|
|
414
|
+
)
|
|
415
|
+
|
|
416
|
+
if count_results != count:
|
|
417
|
+
break
|
|
418
|
+
page += 1
|
|
419
|
+
|
|
420
|
+
async def chunk_by_id_desc(self, count: int, column: str = None, alias: str = None):
|
|
421
|
+
async for results in self.chunk_by_id(count, column, alias, descending=True):
|
|
422
|
+
yield results
|
|
423
|
+
|
|
350
424
|
def new(self):
|
|
351
425
|
return self.connection.query()
|
|
352
426
|
|
{fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/masoniteorm/models/model.py
RENAMED
|
@@ -251,6 +251,18 @@ class Model(Attribute, Relationship, ObservesEvents):
|
|
|
251
251
|
async def count(cls, column: str = "*"):
|
|
252
252
|
return await cls.query().count(column)
|
|
253
253
|
|
|
254
|
+
@classmethod
|
|
255
|
+
def chunk(cls, count: int):
|
|
256
|
+
return cls.query().chunk(count)
|
|
257
|
+
|
|
258
|
+
@classmethod
|
|
259
|
+
def chunk_by_id(cls, count: int, column: str = None, alias: str = None, descending: bool = False):
|
|
260
|
+
return cls.query().chunk_by_id(count, column, alias, descending)
|
|
261
|
+
|
|
262
|
+
@classmethod
|
|
263
|
+
def chunk_by_id_desc(cls, count: int, column: str = None, alias: str = None):
|
|
264
|
+
return cls.query().chunk_by_id_desc(count, column, alias)
|
|
265
|
+
|
|
254
266
|
def set_connection(self, connection: str):
|
|
255
267
|
self.connection = connection
|
|
256
268
|
|
|
@@ -14,7 +14,7 @@ from fastapi_startkit.masoniteorm.connections.factory import ConnectionFactory
|
|
|
14
14
|
from fastapi_startkit.masoniteorm.connections.manager import DatabaseManager
|
|
15
15
|
from fastapi_startkit.masoniteorm import Migrator
|
|
16
16
|
from fastapi_startkit.masoniteorm import Model
|
|
17
|
-
from fastapi_startkit.
|
|
17
|
+
from fastapi_startkit.support import Provider
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
class DatabaseProvider(Provider):
|
|
@@ -418,9 +418,7 @@ class SQLitePlatform(Platform):
|
|
|
418
418
|
return f"SELECT name FROM sqlite_master WHERE type='table' AND name='{table}'"
|
|
419
419
|
|
|
420
420
|
def compile_column_exists(self, table, column):
|
|
421
|
-
return (
|
|
422
|
-
f"SELECT column_name FROM information_schema.columns WHERE table_name='{table}' and column_name='{column}'"
|
|
423
|
-
)
|
|
421
|
+
return f"SELECT name FROM pragma_table_info('{table}') WHERE name='{column}'"
|
|
424
422
|
|
|
425
423
|
def compile_get_all_tables(self, database, schema=None):
|
|
426
424
|
return "SELECT name FROM sqlite_master WHERE type='table'"
|
{fastapi_startkit-0.46.0 → fastapi_startkit-0.49.0}/src/fastapi_startkit/support/__init__.py
RENAMED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from .collection import Collection, collect
|
|
2
2
|
from .string import Str, Stringable
|
|
3
3
|
from .uri import Uri, Uriable
|
|
4
|
+
from fastapi_startkit.support.providers import Provider
|
|
4
5
|
|
|
5
|
-
__all__ = ["Collection", "collect", "Str", "Stringable", "Uri", "Uriable"]
|
|
6
|
+
__all__ = ["Collection", "collect", "Str", "Stringable", "Uri", "Uriable", "Provider"]
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
from typing import TYPE_CHECKING
|
|
2
2
|
|
|
3
3
|
from fastapi_startkit.support import Str
|
|
4
|
-
|
|
5
|
-
from fastapi_startkit.helpers.dataclass import Dataclass
|
|
4
|
+
from fastapi_startkit.support.dataclass import Dataclass
|
|
6
5
|
|
|
7
6
|
if TYPE_CHECKING:
|
|
8
|
-
from
|
|
7
|
+
from fastapi_startkit.application import Application
|
|
9
8
|
|
|
10
9
|
|
|
11
10
|
class Provider:
|
fastapi_startkit-0.46.0/PKG-INFO
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.3
|
|
2
|
-
Name: fastapi-startkit
|
|
3
|
-
Version: 0.46.0
|
|
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: langchain>=1.0.0 ; extra == 'ai'
|
|
15
|
-
Requires-Dist: langchain-core>=1.0.0 ; extra == 'ai'
|
|
16
|
-
Requires-Dist: faker>=40.13.0 ; extra == 'database'
|
|
17
|
-
Requires-Dist: sqlalchemy[asyncio]>=2.0.38 ; extra == 'database'
|
|
18
|
-
Requires-Dist: fastapi[standard]>=0.124.4,<0.125.0 ; extra == 'fastapi'
|
|
19
|
-
Requires-Dist: itsdangerous>=2.2.0 ; extra == 'fastapi'
|
|
20
|
-
Requires-Dist: jinja2>=3.1 ; extra == 'inertia'
|
|
21
|
-
Requires-Dist: markupsafe>=2.0 ; extra == 'inertia'
|
|
22
|
-
Requires-Dist: aiomysql>=0.2.0 ; extra == 'mysql'
|
|
23
|
-
Requires-Dist: asyncpg>=0.29.0 ; extra == 'postgres'
|
|
24
|
-
Requires-Dist: aiosqlite>=0.22.1 ; extra == 'sqlite'
|
|
25
|
-
Requires-Dist: jinja2>=3.1 ; extra == 'vite'
|
|
26
|
-
Requires-Python: >=3.12, <4.0
|
|
27
|
-
Provides-Extra: ai
|
|
28
|
-
Provides-Extra: database
|
|
29
|
-
Provides-Extra: fastapi
|
|
30
|
-
Provides-Extra: inertia
|
|
31
|
-
Provides-Extra: mysql
|
|
32
|
-
Provides-Extra: postgres
|
|
33
|
-
Provides-Extra: sqlite
|
|
34
|
-
Provides-Extra: vite
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
def storage_path(path: str = "") -> str:
|
|
2
|
-
"""Get the path to the storage directory."""
|
|
3
|
-
from fastapi_startkit.application import app
|
|
4
|
-
|
|
5
|
-
return app().storage_path(path)
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def public_path(path: str = "") -> str:
|
|
9
|
-
"""Get the path to the public directory."""
|
|
10
|
-
from fastapi_startkit.application import app
|
|
11
|
-
|
|
12
|
-
return app().public_path(path)
|