fastapi-startkit 0.60.0__tar.gz → 0.61.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.60.0 → fastapi_startkit-0.61.0}/PKG-INFO +1 -1
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/pyproject.toml +1 -1
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/inertia/inertia.py +55 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/inertia/provider.py +11 -2
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/README.md +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/.DS_Store +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/agent.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/ai.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/audio.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/audio_factory.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/config/ai.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/config/config.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/decorators.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/document.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/image.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/image_factory.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/judge.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/lab.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/pipeline.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/providers/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/providers/ai_provider.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/recording.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/runner.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/state.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/testing.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/tinker.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/types.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/application.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/auth.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/channels.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/config.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/drivers/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/drivers/log_driver.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/drivers/reverb_driver.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/event.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/helpers.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/manager.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/provider.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/reverb/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/reverb/channel_manager.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/reverb/connection.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/reverb/server.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/stubs/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/stubs/channels.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/carbon/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/carbon/carbon.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/config/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/config/app.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/configuration/Configuration.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/configuration/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/configuration/config.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/configuration/helpers.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/configuration/providers/ConfigurationProvider.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/configuration/providers/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/console/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/console/application.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/console/can_override_config.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/console/can_override_default_options.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/console/command.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/console/publish_command.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/container/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/container/container.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/environment/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/environment/environment.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/events/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/events/dispatcher.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/events/fake.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/events/helpers.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/events/listener.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/events/provider.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/exceptions/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/exceptions/exceptions.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/exceptions/handler.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/AI.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/AI.pyi +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Cache.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Config.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Config.pyi +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Dump.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Dump.pyi +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Event.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Event.pyi +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Facade.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Gate.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Gate.pyi +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Hash.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Hash.pyi +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Loader.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Loader.pyi +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Mail.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Mail.pyi +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Notification.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Notification.pyi +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Queue.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Queue.pyi +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/RateLimiter.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/RateLimiter.pyi +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Request.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Request.pyi +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Response.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Response.pyi +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Session.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Session.pyi +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Url.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Url.pyi +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/View.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/View.pyi +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Vite.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Vite.pyi +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/commands/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/commands/serve_command.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/config/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/config/fastapi.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/events.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/exceptions.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/middleware.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/providers/fastapi_provider.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/requests/model.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/routers/router.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/testing/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/testing/assertable_json.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/testing/test_case.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/testing/test_response.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/foundation/app_provider.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/inertia/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/inertia/constant.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/inertia/context.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/inertia/middleware.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/inertia/props/props.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/jsonapi/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/jsonapi/response.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/loader/Loader.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/loader/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/ChannelFactory.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/channels/BaseChannel.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/channels/DailyChannel.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/channels/MultiBaseChannel.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/channels/SingleChannel.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/channels/SlackChannel.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/channels/StackChannel.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/channels/SyslogChannel.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/channels/TerminalChannel.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/channels/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/config/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/config/channels.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/config/logging.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/drivers/BaseDriver.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/drivers/LogSingleDriver.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/drivers/LogSlackDriver.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/drivers/LogSyslogDriver.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/drivers/LogTerminalDriver.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/drivers/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/factory.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/file.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/handler.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/listeners.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/logger.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/managers/LoggingManager.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/managers/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/providers/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/providers/log_provider.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/collection/Collection.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/collection/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/commands/DBMigrateCommand.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/commands/DBSeedCommand.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/commands/MakeMigrationCommand.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/commands/MakeModelCommand.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/commands/MakeObserverCommand.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/commands/MakeSeedCommand.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/commands/MigrateFreshCommand.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/commands/MigrateRefreshCommand.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/commands/MigrateResetCommand.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/commands/MigrateRollbackCommand.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/commands/MigrateStatusCommand.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/commands/ShellCommand.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/commands/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/commands/stubs/create_migration.stub +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/commands/stubs/create_seed.stub +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/commands/stubs/model.stub +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/commands/stubs/observer.stub +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/commands/stubs/table_migration.stub +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/config/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/config/config.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/config/database.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/connections/connection.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/connections/factory.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/connections/manager.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/connections/mysql_connection.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/connections/postgres_connection.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/connections/sqlite_connection.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/exceptions.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/expressions/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/expressions/expressions.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/facades/DB.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/facades/Schema.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/facades/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/factory/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/factory/factory.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/helpers/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/helpers/misc.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/migrations/Migration.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/migrations/Migrator.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/migrations/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/models/MigrationModel.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/models/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/models/attribute.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/models/builder.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/models/caster.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/models/fields.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/models/model.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/models/observer.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/models/pivot.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/models/registry.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/models/relationship.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/observers/ObservesEvents.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/observers/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/pagination/BasePaginator.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/pagination/LengthAwarePaginator.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/pagination/SimplePaginator.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/pagination/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/providers/DatabaseProvider.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/providers/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/query/EagerLoadMixin.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/query/EagerRelation.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/query/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/query/grammars/BaseGrammar.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/query/grammars/MSSQLGrammar.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/query/grammars/MySQLGrammar.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/query/grammars/PostgresGrammar.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/query/grammars/SQLiteGrammar.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/query/grammars/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/query/processors/MSSQLPostProcessor.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/query/processors/MySQLPostProcessor.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/query/processors/PostgresPostProcessor.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/query/processors/SQLitePostProcessor.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/query/processors/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/query/support.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/relationships/BaseRelationship.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/relationships/BelongsTo.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/relationships/BelongsToMany.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/relationships/HasMany.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/relationships/HasManyThrough.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/relationships/HasOne.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/relationships/HasOneThrough.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/relationships/MorphMany.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/relationships/MorphOne.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/relationships/MorphTo.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/relationships/MorphToMany.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/relationships/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/schema/Blueprint.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/schema/Column.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/schema/ColumnDiff.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/schema/Constraint.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/schema/ForeignKeyConstraint.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/schema/Index.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/schema/Table.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/schema/TableDiff.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/schema/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/schema/platforms/MSSQLPlatform.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/schema/platforms/MySQLPlatform.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/schema/platforms/Platform.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/schema/platforms/PostgresPlatform.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/schema/platforms/SQLitePlatform.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/schema/platforms/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/schema/schema.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/seeders/Seeder.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/seeders/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/stubs/create-migration.html +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/stubs/table-migration.html +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/testing/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/testing/transaction.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/mcp/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/mcp/argument.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/mcp/prompt.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/mcp/protocol.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/mcp/providers/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/mcp/providers/mcp_provider.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/mcp/request.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/mcp/resource.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/mcp/response.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/mcp/server.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/mcp/tool.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/process/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/process/exception.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/process/fake.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/process/process.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/process/result.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/py.typed +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/skills/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/skills/adapters/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/skills/adapters/base.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/skills/adapters/claude.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/skills/adapters/gemini.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/skills/commands/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/skills/commands/skills.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/skills/parser.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/skills/provider.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/skills/registry.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/skills/stubs/.ai/fastapi-startkit/database/SKILL.md +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/skills/stubs/.ai/fastapi-startkit/fastapi/SKILL.md +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/skills/stubs/.ai/fastapi-startkit/inertia/SKILL.md +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/storage/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/storage/config/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/storage/config/storage.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/storage/data/mime.types +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/storage/drivers/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/storage/drivers/fake.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/storage/drivers/local.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/storage/drivers/s3.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/storage/file.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/storage/filestream.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/storage/helper.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/storage/providers/provider.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/storage/storage.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/support/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/support/collection.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/support/dataclass.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/support/providers/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/support/providers/provider.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/support/string.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/support/structures.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/support/uri.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/testing/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/testing/test_case.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/vite/__init__.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/vite/config/vite.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/vite/exceptions.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/vite/providers/provider.py +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/vite/stubs/package.json +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/vite/stubs/resources/css/app.css +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/vite/stubs/resources/js/app.ts +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/vite/stubs/resources/templates/index.html +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/vite/stubs/tsconfig.json +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/vite/stubs/vite.config.ts +0 -0
- {fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/vite/vite.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: fastapi-startkit
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.61.0
|
|
4
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
5
|
Keywords: fastapi,framework,async,web,asgi,orm,sqlalchemy,pydantic,ioc-container,dependency-injection,service-provider,cli,console,configuration,microservices,starter-kit,boilerplate
|
|
6
6
|
Author: Bedram Tamang
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "fastapi-startkit"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.61.0"
|
|
4
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
5
|
readme = "README.md"
|
|
6
6
|
keywords = [
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import inspect
|
|
2
|
+
import asyncio
|
|
3
|
+
import json
|
|
4
|
+
import urllib.request
|
|
2
5
|
from typing import Any, Dict, Optional, Union
|
|
3
6
|
from urllib.parse import urlparse
|
|
4
7
|
|
|
@@ -19,6 +22,8 @@ class ResponseFactory:
|
|
|
19
22
|
self.root_view: str = "index.html"
|
|
20
23
|
self.shared_props: dict = {}
|
|
21
24
|
self.version = None
|
|
25
|
+
self.ssr_url: Optional[str] = None
|
|
26
|
+
self.ssr_timeout: float = 1.0
|
|
22
27
|
|
|
23
28
|
def set_root_view(self, view: str):
|
|
24
29
|
self.root_view = view
|
|
@@ -36,6 +41,11 @@ class ResponseFactory:
|
|
|
36
41
|
v = self.version() if callable(self.version) else self.version
|
|
37
42
|
return str(v) if v is not None else None
|
|
38
43
|
|
|
44
|
+
def set_ssr(self, url: Optional[str], timeout: float = 1.0):
|
|
45
|
+
"""Configure the Inertia SSR server endpoint. Pass None to disable SSR."""
|
|
46
|
+
self.ssr_url = url.rstrip("/") if url else None
|
|
47
|
+
self.ssr_timeout = timeout
|
|
48
|
+
|
|
39
49
|
def render(self, component: str, props: dict) -> "InertiaResponse":
|
|
40
50
|
return InertiaResponse(
|
|
41
51
|
component=component,
|
|
@@ -43,6 +53,8 @@ class ResponseFactory:
|
|
|
43
53
|
props=props,
|
|
44
54
|
root_view=self.root_view,
|
|
45
55
|
version=self.get_version() or "",
|
|
56
|
+
ssr_url=self.ssr_url,
|
|
57
|
+
ssr_timeout=self.ssr_timeout,
|
|
46
58
|
)
|
|
47
59
|
|
|
48
60
|
|
|
@@ -54,6 +66,8 @@ class InertiaResponse(Response):
|
|
|
54
66
|
props: dict,
|
|
55
67
|
root_view: str = "index.html",
|
|
56
68
|
version: str = "",
|
|
69
|
+
ssr_url: Optional[str] = None,
|
|
70
|
+
ssr_timeout: float = 1.0,
|
|
57
71
|
):
|
|
58
72
|
# Do not call supper().__init__() — body is built lazily in __call__
|
|
59
73
|
self.background = None # required by FastAPI's response handling
|
|
@@ -62,6 +76,8 @@ class InertiaResponse(Response):
|
|
|
62
76
|
self.props = props
|
|
63
77
|
self.root_view = root_view
|
|
64
78
|
self.version = version
|
|
79
|
+
self.ssr_url = ssr_url
|
|
80
|
+
self.ssr_timeout = ssr_timeout
|
|
65
81
|
|
|
66
82
|
def with_(self, key: Union[str, Dict[str, Any]], value: Any = None) -> "InertiaResponse":
|
|
67
83
|
if isinstance(key, dict):
|
|
@@ -114,6 +130,13 @@ class InertiaResponse(Response):
|
|
|
114
130
|
"version": self.version,
|
|
115
131
|
}
|
|
116
132
|
|
|
133
|
+
# SSR is used only for the initial HTML response. Inertia XHR requests
|
|
134
|
+
# continue returning the regular page JSON and never contact Node.
|
|
135
|
+
if not request.headers.get(Header.INERTIA) and self.ssr_url:
|
|
136
|
+
rendered = await self._render_ssr(page)
|
|
137
|
+
if rendered:
|
|
138
|
+
page["ssr"] = rendered
|
|
139
|
+
|
|
117
140
|
if request.headers.get(Header.INERTIA):
|
|
118
141
|
return JSONResponse(
|
|
119
142
|
content=page,
|
|
@@ -135,6 +158,33 @@ class InertiaResponse(Response):
|
|
|
135
158
|
)
|
|
136
159
|
)
|
|
137
160
|
|
|
161
|
+
async def _render_ssr(self, page: dict) -> Optional[dict]:
|
|
162
|
+
"""Ask the configured Inertia Node server to render this page."""
|
|
163
|
+
ssr_url = self.ssr_url
|
|
164
|
+
if ssr_url is None:
|
|
165
|
+
return None
|
|
166
|
+
|
|
167
|
+
def request_ssr():
|
|
168
|
+
body = json.dumps(page).encode("utf-8")
|
|
169
|
+
req = urllib.request.Request(
|
|
170
|
+
ssr_url.rstrip("/") + "/render",
|
|
171
|
+
data=body,
|
|
172
|
+
headers={"Content-Type": "application/json"},
|
|
173
|
+
method="POST",
|
|
174
|
+
)
|
|
175
|
+
with urllib.request.urlopen(req, timeout=self.ssr_timeout) as response:
|
|
176
|
+
result = json.loads(response.read().decode("utf-8"))
|
|
177
|
+
if not isinstance(result, dict) or not isinstance(result.get("body"), str):
|
|
178
|
+
raise ValueError("Invalid Inertia SSR response")
|
|
179
|
+
return {"body": result["body"], "head": result.get("head", [])}
|
|
180
|
+
|
|
181
|
+
try:
|
|
182
|
+
return await asyncio.to_thread(request_ssr)
|
|
183
|
+
except Exception:
|
|
184
|
+
# SSR is an enhancement: if its process is unavailable, send the
|
|
185
|
+
# normal page shell so the client can still hydrate it.
|
|
186
|
+
return None
|
|
187
|
+
|
|
138
188
|
def _get_url(self, request: Request) -> str:
|
|
139
189
|
parsed = urlparse(str(request.url))
|
|
140
190
|
url = parsed.path
|
|
@@ -174,6 +224,11 @@ class Inertia:
|
|
|
174
224
|
def version(version):
|
|
175
225
|
Inertia.instance().set_version(version)
|
|
176
226
|
|
|
227
|
+
@staticmethod
|
|
228
|
+
def ssr(url: Optional[str] = "http://127.0.0.1:13714", timeout: float = 1.0):
|
|
229
|
+
"""Enable SSR through the standard Inertia SSR server endpoint."""
|
|
230
|
+
Inertia.instance().set_ssr(url, timeout)
|
|
231
|
+
|
|
177
232
|
@staticmethod
|
|
178
233
|
def get_version() -> Optional[str]:
|
|
179
234
|
return Inertia.instance().get_version()
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/inertia/provider.py
RENAMED
|
@@ -18,10 +18,19 @@ class InertiaProvider(Provider):
|
|
|
18
18
|
templates = self.app.make("templates")
|
|
19
19
|
|
|
20
20
|
def inertia_helper(page):
|
|
21
|
-
|
|
21
|
+
client_page = {key: value for key, value in page.items() if key != "ssr"}
|
|
22
|
+
encoded_page = json.dumps(client_page).replace("<", "\\u003c")
|
|
23
|
+
ssr_body = page.get("ssr", {}).get("body", "")
|
|
22
24
|
return Markup(
|
|
23
|
-
f'<script data-page="app" type="application/json">{encoded_page}</script><div id="app"
|
|
25
|
+
f'<script data-page="app" type="application/json">{encoded_page}</script><div id="app">{ssr_body}</div>'
|
|
24
26
|
)
|
|
25
27
|
|
|
28
|
+
def inertia_head(page):
|
|
29
|
+
head = page.get("ssr", {}).get("head", [])
|
|
30
|
+
if isinstance(head, str):
|
|
31
|
+
head = [head]
|
|
32
|
+
return Markup("".join(str(item) for item in head))
|
|
33
|
+
|
|
26
34
|
templates.env.globals["inertia"] = inertia_helper
|
|
35
|
+
templates.env.globals["inertia_head"] = inertia_head
|
|
27
36
|
templates.env.globals["Inertia"] = self.app.make("inertia")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/audio_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/config/config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/image_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/providers/__init__.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/ai/providers/ai_provider.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/__init__.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/auth.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/channels.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/event.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/helpers.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/manager.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/broadcasting/provider.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/configuration/__init__.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/configuration/config.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/configuration/helpers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/console/__init__.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/console/application.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/console/publish_command.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/container/__init__.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/container/container.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/environment/__init__.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/environment/environment.py
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/events/dispatcher.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/exceptions/__init__.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/exceptions/exceptions.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/exceptions/handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Notification.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Notification.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/RateLimiter.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/RateLimiter.pyi
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Request.pyi
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Response.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Response.pyi
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/Session.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/facades/__init__.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/config/__init__.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/config/fastapi.py
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/exceptions.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/middleware.py
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/requests/model.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/routers/router.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/fastapi/testing/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/foundation/app_provider.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/inertia/__init__.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/inertia/constant.py
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/inertia/middleware.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/inertia/props/props.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/jsonapi/__init__.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/jsonapi/response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/ChannelFactory.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/config/__init__.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/config/channels.py
RENAMED
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/config/logging.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/drivers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/logging/listeners.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_startkit-0.60.0 → fastapi_startkit-0.61.0}/src/fastapi_startkit/masoniteorm/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|