orb-py 1.2.2__tar.gz → 1.3.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.
- orb_py-1.3.0/PKG-INFO +540 -0
- orb_py-1.3.0/README.md +419 -0
- orb_py-1.3.0/config/config.example.json +46 -0
- orb_py-1.3.0/config/default_config.json +409 -0
- orb_py-1.3.0/pyproject.toml +523 -0
- orb_py-1.3.0/src/orb/_package.py +102 -0
- orb_py-1.3.0/src/orb/api/dependencies.py +103 -0
- orb_py-1.3.0/src/orb/api/handlers/get_available_templates_handler.py +146 -0
- orb_py-1.3.0/src/orb/api/handlers/get_request_status_handler.py +305 -0
- orb_py-1.3.0/src/orb/api/handlers/get_return_requests_handler.py +370 -0
- orb_py-1.3.0/src/orb/api/handlers/request_machines_handler.py +160 -0
- orb_py-1.3.0/src/orb/api/handlers/request_return_machines_handler.py +276 -0
- orb_py-1.3.0/src/orb/api/models/requests.py +103 -0
- orb_py-1.3.0/src/orb/api/routers/machines.py +131 -0
- orb_py-1.3.0/src/orb/api/routers/requests.py +192 -0
- orb_py-1.3.0/src/orb/api/routers/templates.py +289 -0
- orb_py-1.3.0/src/orb/api/server.py +330 -0
- orb_py-1.3.0/src/orb/application/base/handlers.py +461 -0
- orb_py-1.3.0/src/orb/application/base/provider_handlers.py +208 -0
- orb_py-1.3.0/src/orb/application/commands/cleanup_handlers.py +217 -0
- orb_py-1.3.0/src/orb/application/commands/provider_handlers.py +231 -0
- orb_py-1.3.0/src/orb/application/commands/request_creation_handlers.py +507 -0
- orb_py-1.3.0/src/orb/application/commands/request_sync_handlers.py +192 -0
- orb_py-1.3.0/src/orb/application/commands/template_handlers.py +311 -0
- orb_py-1.3.0/src/orb/application/dto/base.py +147 -0
- orb_py-1.3.0/src/orb/application/dto/queries.py +169 -0
- orb_py-1.3.0/src/orb/application/dto/system.py +238 -0
- orb_py-1.3.0/src/orb/application/events/handlers/__init__.py +31 -0
- orb_py-1.3.0/src/orb/application/events/handlers/metrics_event_handler.py +72 -0
- orb_py-1.3.0/src/orb/application/ports/__init__.py +23 -0
- orb_py-1.3.0/src/orb/application/ports/scheduler_port.py +103 -0
- orb_py-1.3.0/src/orb/application/queries/cleanup_query_handlers.py +149 -0
- orb_py-1.3.0/src/orb/application/queries/machine_query_handlers.py +348 -0
- orb_py-1.3.0/src/orb/application/queries/request_query_handlers.py +411 -0
- orb_py-1.3.0/src/orb/application/queries/scheduler_handlers.py +252 -0
- orb_py-1.3.0/src/orb/application/queries/specialized_handlers.py +233 -0
- orb_py-1.3.0/src/orb/application/queries/system_handlers.py +444 -0
- orb_py-1.3.0/src/orb/application/queries/template_query_handlers.py +274 -0
- orb_py-1.3.0/src/orb/application/request/queries.py +40 -0
- orb_py-1.3.0/src/orb/application/services/deprovisioning_orchestrator.py +208 -0
- orb_py-1.3.0/src/orb/application/services/machine_grouping_service.py +113 -0
- orb_py-1.3.0/src/orb/application/services/machine_sync_service.py +286 -0
- orb_py-1.3.0/src/orb/application/services/provider_registry_service.py +89 -0
- orb_py-1.3.0/src/orb/application/services/provisioning_orchestration_service.py +340 -0
- orb_py-1.3.0/src/orb/application/services/request_creation_service.py +68 -0
- orb_py-1.3.0/src/orb/application/services/scheduler_registry_service.py +33 -0
- orb_py-1.3.0/src/orb/application/services/storage_registry_service.py +31 -0
- orb_py-1.3.0/src/orb/application/services/template_defaults_service.py +584 -0
- orb_py-1.3.0/src/orb/application/services/template_generation_service.py +380 -0
- orb_py-1.3.0/src/orb/application/template/commands.py +64 -0
- orb_py-1.3.0/src/orb/bootstrap.py +424 -0
- orb_py-1.3.0/src/orb/cli/args.py +631 -0
- orb_py-1.3.0/src/orb/cli/field_mapping.py +96 -0
- orb_py-1.3.0/src/orb/cli/main.py +278 -0
- orb_py-1.3.0/src/orb/cli/registry.py +253 -0
- orb_py-1.3.0/src/orb/cli/response_formatter.py +461 -0
- orb_py-1.3.0/src/orb/cli/router.py +53 -0
- orb_py-1.3.0/src/orb/config/default_config.json +409 -0
- orb_py-1.3.0/src/orb/config/installation_detector.py +171 -0
- orb_py-1.3.0/src/orb/config/loader.py +439 -0
- orb_py-1.3.0/src/orb/config/managers/cache_manager.py +74 -0
- orb_py-1.3.0/src/orb/config/managers/configuration_manager.py +502 -0
- orb_py-1.3.0/src/orb/config/managers/path_resolver.py +151 -0
- orb_py-1.3.0/src/orb/config/managers/provider_manager.py +136 -0
- orb_py-1.3.0/src/orb/config/managers/type_converter.py +200 -0
- orb_py-1.3.0/src/orb/config/platform_dirs.py +145 -0
- orb_py-1.3.0/src/orb/config/schemas/__init__.py +79 -0
- orb_py-1.3.0/src/orb/config/schemas/app_schema.py +130 -0
- orb_py-1.3.0/src/orb/config/schemas/cleanup_schema.py +28 -0
- orb_py-1.3.0/src/orb/config/schemas/common_schema.py +249 -0
- orb_py-1.3.0/src/orb/config/schemas/metrics_schema.py +44 -0
- orb_py-1.3.0/src/orb/config/schemas/performance_schema.py +247 -0
- orb_py-1.3.0/src/orb/config/schemas/provider_strategy_schema.py +346 -0
- orb_py-1.3.0/src/orb/config/schemas/scheduler_schema.py +33 -0
- orb_py-1.3.0/src/orb/config/schemas/server_schema.py +83 -0
- orb_py-1.3.0/src/orb/config/schemas/storage_schema.py +152 -0
- orb_py-1.3.0/src/orb/config/services/config_loader_service.py +203 -0
- orb_py-1.3.0/src/orb/config/services/path_resolution_service.py +213 -0
- orb_py-1.3.0/src/orb/config/validators/config_validator.py +100 -0
- orb_py-1.3.0/src/orb/domain/base/__init__.py +102 -0
- orb_py-1.3.0/src/orb/domain/base/configuration_service.py +33 -0
- orb_py-1.3.0/src/orb/domain/base/entity_pure.py +82 -0
- orb_py-1.3.0/src/orb/domain/base/error.py +67 -0
- orb_py-1.3.0/src/orb/domain/base/events/__init__.py +91 -0
- orb_py-1.3.0/src/orb/domain/base/events/domain_events.py +161 -0
- orb_py-1.3.0/src/orb/domain/base/ports/__init__.py +33 -0
- orb_py-1.3.0/src/orb/domain/base/ports/configuration_port.py +162 -0
- orb_py-1.3.0/src/orb/domain/base/ports/console_port.py +31 -0
- orb_py-1.3.0/src/orb/domain/base/ports/health_check_port.py +28 -0
- orb_py-1.3.0/src/orb/domain/base/ports/path_resolution_port.py +26 -0
- orb_py-1.3.0/src/orb/domain/base/ports/provider_cli_spec_port.py +54 -0
- orb_py-1.3.0/src/orb/domain/base/ports/provider_registry_port.py +85 -0
- orb_py-1.3.0/src/orb/domain/constants.py +55 -0
- orb_py-1.3.0/src/orb/domain/machine/aggregate.py +307 -0
- orb_py-1.3.0/src/orb/domain/request/aggregate.py +555 -0
- orb_py-1.3.0/src/orb/domain/request/request_identifiers.py +229 -0
- orb_py-1.3.0/src/orb/domain/request/request_metadata.py +473 -0
- orb_py-1.3.0/src/orb/domain/template/factory.py +202 -0
- orb_py-1.3.0/src/orb/domain/template/template_aggregate.py +259 -0
- orb_py-1.3.0/src/orb/infrastructure/adapters/__init__.py +20 -0
- orb_py-1.3.0/src/orb/infrastructure/adapters/configuration_adapter.py +377 -0
- orb_py-1.3.0/src/orb/infrastructure/adapters/console_adapter.py +37 -0
- orb_py-1.3.0/src/orb/infrastructure/adapters/null_console_adapter.py +29 -0
- orb_py-1.3.0/src/orb/infrastructure/adapters/path_resolution_adapter.py +22 -0
- orb_py-1.3.0/src/orb/infrastructure/adapters/ports/resource_provisioning_port.py +58 -0
- orb_py-1.3.0/src/orb/infrastructure/adapters/provider_discovery_adapter.py +81 -0
- orb_py-1.3.0/src/orb/infrastructure/caching/request_cache_service.py +158 -0
- orb_py-1.3.0/src/orb/infrastructure/di/components/cqrs_registry.py +103 -0
- orb_py-1.3.0/src/orb/infrastructure/di/components/dependency_resolver.py +413 -0
- orb_py-1.3.0/src/orb/infrastructure/di/components/service_registry.py +181 -0
- orb_py-1.3.0/src/orb/infrastructure/di/container.py +368 -0
- orb_py-1.3.0/src/orb/infrastructure/di/core_services.py +138 -0
- orb_py-1.3.0/src/orb/infrastructure/di/decorators.py +302 -0
- orb_py-1.3.0/src/orb/infrastructure/di/domain_services.py +91 -0
- orb_py-1.3.0/src/orb/infrastructure/di/infrastructure_services.py +224 -0
- orb_py-1.3.0/src/orb/infrastructure/di/monitoring_services.py +25 -0
- orb_py-1.3.0/src/orb/infrastructure/di/port_registrations.py +117 -0
- orb_py-1.3.0/src/orb/infrastructure/di/provider_services.py +87 -0
- orb_py-1.3.0/src/orb/infrastructure/di/registry_services.py +30 -0
- orb_py-1.3.0/src/orb/infrastructure/di/server_services.py +189 -0
- orb_py-1.3.0/src/orb/infrastructure/di/services.py +198 -0
- orb_py-1.3.0/src/orb/infrastructure/di/storage_services.py +112 -0
- orb_py-1.3.0/src/orb/infrastructure/error/context.py +29 -0
- orb_py-1.3.0/src/orb/infrastructure/error/exception_handler.py +921 -0
- orb_py-1.3.0/src/orb/infrastructure/error/responses.py +173 -0
- orb_py-1.3.0/src/orb/infrastructure/events/__init__.py +150 -0
- orb_py-1.3.0/src/orb/infrastructure/events/infrastructure_events.py +89 -0
- orb_py-1.3.0/src/orb/infrastructure/events/system_events.py +129 -0
- orb_py-1.3.0/src/orb/infrastructure/handlers/__init__.py +11 -0
- orb_py-1.3.0/src/orb/infrastructure/handlers/base/__init__.py +9 -0
- orb_py-1.3.0/src/orb/infrastructure/logging/logger.py +402 -0
- orb_py-1.3.0/src/orb/infrastructure/resilience/__init__.py +35 -0
- orb_py-1.3.0/src/orb/infrastructure/resilience/config.py +13 -0
- orb_py-1.3.0/src/orb/infrastructure/resilience/retry_decorator.py +142 -0
- orb_py-1.3.0/src/orb/infrastructure/resilience/strategy/circuit_breaker.py +396 -0
- orb_py-1.3.0/src/orb/infrastructure/resilience/strategy/exponential.py +86 -0
- orb_py-1.3.0/src/orb/infrastructure/scheduler/base/strategy.py +361 -0
- orb_py-1.3.0/src/orb/infrastructure/scheduler/default/default_strategy.py +304 -0
- orb_py-1.3.0/src/orb/infrastructure/scheduler/hostfactory/field_mapper.py +154 -0
- orb_py-1.3.0/src/orb/infrastructure/scheduler/hostfactory/field_mappings.py +112 -0
- orb_py-1.3.0/src/orb/infrastructure/scheduler/hostfactory/hostfactory_strategy.py +954 -0
- orb_py-1.3.0/src/orb/infrastructure/scheduler/hostfactory/transformations.py +182 -0
- orb_py-1.3.0/src/orb/infrastructure/scheduler/registration.py +192 -0
- orb_py-1.3.0/src/orb/infrastructure/scheduler/registry.py +129 -0
- orb_py-1.3.0/src/orb/infrastructure/storage/base/repository.py +493 -0
- orb_py-1.3.0/src/orb/infrastructure/storage/components/__init__.py +61 -0
- orb_py-1.3.0/src/orb/infrastructure/storage/components/sql_serializer.py +279 -0
- orb_py-1.3.0/src/orb/infrastructure/storage/constants.py +6 -0
- orb_py-1.3.0/src/orb/infrastructure/storage/json/strategy.py +405 -0
- orb_py-1.3.0/src/orb/infrastructure/storage/registration.py +76 -0
- orb_py-1.3.0/src/orb/infrastructure/storage/registry.py +210 -0
- orb_py-1.3.0/src/orb/infrastructure/storage/repositories/machine_repository.py +359 -0
- orb_py-1.3.0/src/orb/infrastructure/storage/repositories/request_repository.py +444 -0
- orb_py-1.3.0/src/orb/infrastructure/storage/repositories/template_repository.py +333 -0
- orb_py-1.3.0/src/orb/infrastructure/storage/repository_migrator.py +411 -0
- orb_py-1.3.0/src/orb/infrastructure/storage/sql/models.py +142 -0
- orb_py-1.3.0/src/orb/infrastructure/storage/sql/registration.py +145 -0
- orb_py-1.3.0/src/orb/infrastructure/template/configuration_manager.py +684 -0
- orb_py-1.3.0/src/orb/infrastructure/template/dtos.py +200 -0
- orb_py-1.3.0/src/orb/infrastructure/template/services/template_storage_service.py +207 -0
- orb_py-1.3.0/src/orb/infrastructure/template/template_cache_service.py +320 -0
- orb_py-1.3.0/src/orb/infrastructure/template/template_repository_impl.py +117 -0
- orb_py-1.3.0/src/orb/infrastructure/utilities/__init__.py +66 -0
- orb_py-1.3.0/src/orb/infrastructure/utilities/common/string_utils.py +25 -0
- orb_py-1.3.0/src/orb/infrastructure/utilities/factories/repository_factory.py +194 -0
- orb_py-1.3.0/src/orb/infrastructure/utilities/factories/sql_engine_factory.py +178 -0
- orb_py-1.3.0/src/orb/infrastructure/utilities/json_utils.py +175 -0
- orb_py-1.3.0/src/orb/infrastructure/utilities/network_utils.py +100 -0
- orb_py-1.3.0/src/orb/infrastructure/validation/__init__.py +23 -0
- orb_py-1.3.0/src/orb/infrastructure/validation/input_validator.py +193 -0
- orb_py-1.3.0/src/orb/infrastructure/validation/startup_validator.py +195 -0
- orb_py-1.3.0/src/orb/interface/health_command_handler.py +210 -0
- orb_py-1.3.0/src/orb/interface/infrastructure_command_handler.py +260 -0
- orb_py-1.3.0/src/orb/interface/init_command_handler.py +722 -0
- orb_py-1.3.0/src/orb/interface/machine_command_handlers.py +318 -0
- orb_py-1.3.0/src/orb/interface/mcp/server/core.py +483 -0
- orb_py-1.3.0/src/orb/interface/mcp/server/handler.py +143 -0
- orb_py-1.3.0/src/orb/interface/provider_config_handler.py +374 -0
- orb_py-1.3.0/src/orb/interface/request_command_handlers.py +535 -0
- orb_py-1.3.0/src/orb/interface/scheduler_command_handlers.py +87 -0
- orb_py-1.3.0/src/orb/interface/storage_command_handlers.py +145 -0
- orb_py-1.3.0/src/orb/interface/system_command_handlers.py +222 -0
- orb_py-1.3.0/src/orb/interface/template_command_handlers.py +571 -0
- orb_py-1.3.0/src/orb/interface/templates_generate_handler.py +93 -0
- orb_py-1.3.0/src/orb/monitoring/health.py +296 -0
- orb_py-1.3.0/src/orb/monitoring/metrics.py +422 -0
- orb_py-1.3.0/src/orb/providers/__init__.py +1 -0
- orb_py-1.3.0/src/orb/providers/aws/application/events/aws_handlers.py +76 -0
- orb_py-1.3.0/src/orb/providers/aws/auth/iam_strategy.py +292 -0
- orb_py-1.3.0/src/orb/providers/aws/cli/aws_cli_spec.py +57 -0
- orb_py-1.3.0/src/orb/providers/aws/configuration/config.py +234 -0
- orb_py-1.3.0/src/orb/providers/aws/configuration/template_extension.py +132 -0
- orb_py-1.3.0/src/orb/providers/aws/domain/template/aws_template_aggregate.py +512 -0
- orb_py-1.3.0/src/orb/providers/aws/health.py +88 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/adapters/aws_provisioning_adapter.py +448 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/aws_client.py +420 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/aws_handler_factory.py +245 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/dry_run_adapter.py +114 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/__init__.py +16 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/asg/capacity_manager.py +233 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/asg/config_builder.py +312 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/asg/handler.py +596 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/base_handler.py +952 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/ec2_fleet/config_builder.py +312 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/ec2_fleet/handler.py +885 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/ec2_fleet/release_manager.py +253 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/run_instances/handler.py +682 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/shared/base_context_mixin.py +114 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/shared/fleet_grouping_mixin.py +236 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/spot_fleet/config_builder.py +316 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/spot_fleet/handler.py +612 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/spot_fleet/release_manager.py +217 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/instrumentation/botocore_metrics.py +433 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/launch_template/manager.py +617 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/services/aws_native_spec_service.py +177 -0
- orb_py-1.3.0/src/orb/providers/aws/infrastructure/template/ami_cache.py +236 -0
- orb_py-1.3.0/src/orb/providers/aws/registration.py +518 -0
- orb_py-1.3.0/src/orb/providers/aws/services/health_check_service.py +94 -0
- orb_py-1.3.0/src/orb/providers/aws/services/infrastructure_discovery_service.py +535 -0
- orb_py-1.3.0/src/orb/providers/aws/services/instance_operation_service.py +269 -0
- orb_py-1.3.0/src/orb/providers/aws/storage/__init__.py +1 -0
- orb_py-1.3.0/src/orb/providers/aws/storage/components/__init__.py +11 -0
- orb_py-1.3.0/src/orb/providers/aws/storage/components/dynamodb_client_manager.py +360 -0
- orb_py-1.3.0/src/orb/providers/aws/storage/components/dynamodb_converter.py +324 -0
- orb_py-1.3.0/src/orb/providers/aws/storage/components/dynamodb_transaction_manager.py +288 -0
- orb_py-1.3.0/src/orb/providers/aws/storage/config.py +53 -0
- orb_py-1.3.0/src/orb/providers/aws/storage/registration.py +312 -0
- orb_py-1.3.0/src/orb/providers/aws/storage/strategy.py +352 -0
- orb_py-1.3.0/src/orb/providers/aws/storage/unit_of_work.py +145 -0
- orb_py-1.3.0/src/orb/providers/aws/strategy/aws_provider_strategy.py +690 -0
- orb_py-1.3.0/src/orb/providers/aws/utilities/aws_operations.py +588 -0
- orb_py-1.3.0/src/orb/providers/aws/utilities/ec2/instances.py +419 -0
- orb_py-1.3.0/src/orb/providers/aws/utilities/ssm_utils.py +208 -0
- orb_py-1.3.0/src/orb/providers/aws/validation/__init__.py +1 -0
- orb_py-1.3.0/src/orb/providers/aws/validation/region_validator.py +25 -0
- orb_py-1.3.0/src/orb/providers/base/strategy/fallback_strategy.py +751 -0
- orb_py-1.3.0/src/orb/providers/base/strategy/load_balancing/strategy.py +396 -0
- orb_py-1.3.0/src/orb/providers/base/strategy/provider_strategy.py +404 -0
- orb_py-1.3.0/src/orb/providers/config_builder.py +56 -0
- orb_py-1.3.0/src/orb/providers/config_validator.py +133 -0
- orb_py-1.3.0/src/orb/providers/py.typed +0 -0
- orb_py-1.3.0/src/orb/providers/registration.py +48 -0
- orb_py-1.3.0/src/orb/providers/registry/provider_registry.py +870 -0
- orb_py-1.3.0/src/orb/providers/services/provider_execution_service.py +180 -0
- orb_py-1.3.0/src/orb/run.py +68 -0
- orb_py-1.3.0/src/orb/sdk/client.py +691 -0
- orb_py-1.3.0/src/orb/sdk/discovery.py +527 -0
- orb_py-1.3.0/src/orb/sdk/protocols.py +242 -0
- orb_py-1.3.0/src/orb/sdk/py.typed +0 -0
- orb_py-1.3.0/src/orb_py.egg-info/PKG-INFO +540 -0
- orb_py-1.3.0/src/orb_py.egg-info/SOURCES.txt +808 -0
- orb_py-1.3.0/src/orb_py.egg-info/requires.txt +97 -0
- orb_py-1.2.2/PKG-INFO +0 -536
- orb_py-1.2.2/README.md +0 -415
- orb_py-1.2.2/config/config.example.json +0 -165
- orb_py-1.2.2/config/default_config.json +0 -408
- orb_py-1.2.2/pyproject.toml +0 -498
- orb_py-1.2.2/src/orb/_package.py +0 -101
- orb_py-1.2.2/src/orb/api/dependencies.py +0 -96
- orb_py-1.2.2/src/orb/api/handlers/get_available_templates_handler.py +0 -146
- orb_py-1.2.2/src/orb/api/handlers/get_request_status_handler.py +0 -331
- orb_py-1.2.2/src/orb/api/handlers/get_return_requests_handler.py +0 -370
- orb_py-1.2.2/src/orb/api/handlers/request_machines_handler.py +0 -160
- orb_py-1.2.2/src/orb/api/handlers/request_return_machines_handler.py +0 -314
- orb_py-1.2.2/src/orb/api/models/requests.py +0 -102
- orb_py-1.2.2/src/orb/api/routers/machines.py +0 -148
- orb_py-1.2.2/src/orb/api/routers/requests.py +0 -202
- orb_py-1.2.2/src/orb/api/routers/templates.py +0 -347
- orb_py-1.2.2/src/orb/api/server.py +0 -307
- orb_py-1.2.2/src/orb/api/utils/request_id_generator.py +0 -21
- orb_py-1.2.2/src/orb/application/base/handlers.py +0 -461
- orb_py-1.2.2/src/orb/application/base/provider_handlers.py +0 -350
- orb_py-1.2.2/src/orb/application/commands/cleanup_handlers.py +0 -217
- orb_py-1.2.2/src/orb/application/commands/provider_handlers.py +0 -230
- orb_py-1.2.2/src/orb/application/commands/request_creation_handlers.py +0 -507
- orb_py-1.2.2/src/orb/application/commands/request_sync_handlers.py +0 -203
- orb_py-1.2.2/src/orb/application/commands/template_handlers.py +0 -296
- orb_py-1.2.2/src/orb/application/dto/base.py +0 -147
- orb_py-1.2.2/src/orb/application/dto/queries.py +0 -169
- orb_py-1.2.2/src/orb/application/dto/system.py +0 -233
- orb_py-1.2.2/src/orb/application/dto/template_dto.py +0 -195
- orb_py-1.2.2/src/orb/application/events/handlers/__init__.py +0 -27
- orb_py-1.2.2/src/orb/application/ports/__init__.py +0 -25
- orb_py-1.2.2/src/orb/application/ports/scheduler_registry_port.py +0 -46
- orb_py-1.2.2/src/orb/application/ports/storage_registry_port.py +0 -46
- orb_py-1.2.2/src/orb/application/queries/cleanup_query_handlers.py +0 -147
- orb_py-1.2.2/src/orb/application/queries/machine_query_handlers.py +0 -349
- orb_py-1.2.2/src/orb/application/queries/request_query_handlers.py +0 -404
- orb_py-1.2.2/src/orb/application/queries/scheduler_handlers.py +0 -258
- orb_py-1.2.2/src/orb/application/queries/specialized_handlers.py +0 -234
- orb_py-1.2.2/src/orb/application/queries/system_handlers.py +0 -443
- orb_py-1.2.2/src/orb/application/queries/template_query_handlers.py +0 -274
- orb_py-1.2.2/src/orb/application/request/queries.py +0 -39
- orb_py-1.2.2/src/orb/application/services/asg_metadata_service.py +0 -133
- orb_py-1.2.2/src/orb/application/services/container_service.py +0 -24
- orb_py-1.2.2/src/orb/application/services/deprovisioning_orchestrator.py +0 -208
- orb_py-1.2.2/src/orb/application/services/machine_grouping_service.py +0 -107
- orb_py-1.2.2/src/orb/application/services/machine_sync_service.py +0 -288
- orb_py-1.2.2/src/orb/application/services/provider_registry_service.py +0 -67
- orb_py-1.2.2/src/orb/application/services/provisioning_orchestration_service.py +0 -366
- orb_py-1.2.2/src/orb/application/services/request_creation_service.py +0 -66
- orb_py-1.2.2/src/orb/application/services/scheduler_registry_service.py +0 -34
- orb_py-1.2.2/src/orb/application/services/storage_registry_service.py +0 -32
- orb_py-1.2.2/src/orb/application/services/template_defaults_service.py +0 -583
- orb_py-1.2.2/src/orb/application/services/template_generation_service.py +0 -376
- orb_py-1.2.2/src/orb/application/template/commands.py +0 -62
- orb_py-1.2.2/src/orb/bootstrap.py +0 -423
- orb_py-1.2.2/src/orb/cli/args.py +0 -623
- orb_py-1.2.2/src/orb/cli/command_factory.py +0 -18
- orb_py-1.2.2/src/orb/cli/field_mapping.py +0 -124
- orb_py-1.2.2/src/orb/cli/main.py +0 -272
- orb_py-1.2.2/src/orb/cli/registry.py +0 -244
- orb_py-1.2.2/src/orb/cli/response_formatter.py +0 -460
- orb_py-1.2.2/src/orb/cli/router.py +0 -53
- orb_py-1.2.2/src/orb/config/installation_detector.py +0 -146
- orb_py-1.2.2/src/orb/config/loader.py +0 -519
- orb_py-1.2.2/src/orb/config/managers/cache_manager.py +0 -73
- orb_py-1.2.2/src/orb/config/managers/configuration_manager.py +0 -487
- orb_py-1.2.2/src/orb/config/managers/path_resolver.py +0 -130
- orb_py-1.2.2/src/orb/config/managers/provider_manager.py +0 -139
- orb_py-1.2.2/src/orb/config/managers/type_converter.py +0 -184
- orb_py-1.2.2/src/orb/config/platform_dirs.py +0 -100
- orb_py-1.2.2/src/orb/config/schemas/__init__.py +0 -81
- orb_py-1.2.2/src/orb/config/schemas/app_schema.py +0 -132
- orb_py-1.2.2/src/orb/config/schemas/cleanup_schema.py +0 -21
- orb_py-1.2.2/src/orb/config/schemas/common_schema.py +0 -254
- orb_py-1.2.2/src/orb/config/schemas/metrics_schema.py +0 -32
- orb_py-1.2.2/src/orb/config/schemas/performance_schema.py +0 -284
- orb_py-1.2.2/src/orb/config/schemas/provider_strategy_schema.py +0 -343
- orb_py-1.2.2/src/orb/config/schemas/scheduler_schema.py +0 -29
- orb_py-1.2.2/src/orb/config/schemas/server_schema.py +0 -91
- orb_py-1.2.2/src/orb/config/schemas/storage_schema.py +0 -188
- orb_py-1.2.2/src/orb/config/services/config_loader_service.py +0 -203
- orb_py-1.2.2/src/orb/config/services/path_resolution_service.py +0 -186
- orb_py-1.2.2/src/orb/config/validators/config_validator.py +0 -119
- orb_py-1.2.2/src/orb/domain/base/__init__.py +0 -119
- orb_py-1.2.2/src/orb/domain/base/configuration_service.py +0 -78
- orb_py-1.2.2/src/orb/domain/base/entity_pure.py +0 -82
- orb_py-1.2.2/src/orb/domain/base/error.py +0 -67
- orb_py-1.2.2/src/orb/domain/base/events/__init__.py +0 -136
- orb_py-1.2.2/src/orb/domain/base/events/domain_events.py +0 -145
- orb_py-1.2.2/src/orb/domain/base/events/infrastructure_events.py +0 -82
- orb_py-1.2.2/src/orb/domain/base/events/system_events.py +0 -124
- orb_py-1.2.2/src/orb/domain/base/ports/__init__.py +0 -27
- orb_py-1.2.2/src/orb/domain/base/ports/asg_query_port.py +0 -12
- orb_py-1.2.2/src/orb/domain/base/ports/configuration_port.py +0 -152
- orb_py-1.2.2/src/orb/domain/base/ports/provider_strategy_resolver_port.py +0 -34
- orb_py-1.2.2/src/orb/domain/base/ports/scheduler_port.py +0 -118
- orb_py-1.2.2/src/orb/domain/constants.py +0 -51
- orb_py-1.2.2/src/orb/domain/machine/aggregate.py +0 -291
- orb_py-1.2.2/src/orb/domain/request/aggregate.py +0 -542
- orb_py-1.2.2/src/orb/domain/request/request_identifiers.py +0 -230
- orb_py-1.2.2/src/orb/domain/request/request_metadata.py +0 -504
- orb_py-1.2.2/src/orb/domain/template/factory.py +0 -284
- orb_py-1.2.2/src/orb/domain/template/template_aggregate.py +0 -242
- orb_py-1.2.2/src/orb/infrastructure/adapters/__init__.py +0 -22
- orb_py-1.2.2/src/orb/infrastructure/adapters/asg_query_adapter.py +0 -23
- orb_py-1.2.2/src/orb/infrastructure/adapters/configuration_adapter.py +0 -417
- orb_py-1.2.2/src/orb/infrastructure/adapters/ports/resource_provisioning_port.py +0 -57
- orb_py-1.2.2/src/orb/infrastructure/adapters/provider_registry_adapter.py +0 -135
- orb_py-1.2.2/src/orb/infrastructure/adapters/provider_strategy_adapter.py +0 -32
- orb_py-1.2.2/src/orb/infrastructure/caching/request_cache_service.py +0 -158
- orb_py-1.2.2/src/orb/infrastructure/di/command_handler_services.py +0 -167
- orb_py-1.2.2/src/orb/infrastructure/di/components/cqrs_registry.py +0 -102
- orb_py-1.2.2/src/orb/infrastructure/di/components/dependency_resolver.py +0 -413
- orb_py-1.2.2/src/orb/infrastructure/di/components/service_registry.py +0 -181
- orb_py-1.2.2/src/orb/infrastructure/di/container.py +0 -341
- orb_py-1.2.2/src/orb/infrastructure/di/core_services.py +0 -122
- orb_py-1.2.2/src/orb/infrastructure/di/decorators.py +0 -301
- orb_py-1.2.2/src/orb/infrastructure/di/domain_services.py +0 -97
- orb_py-1.2.2/src/orb/infrastructure/di/infrastructure_services.py +0 -156
- orb_py-1.2.2/src/orb/infrastructure/di/port_registrations.py +0 -124
- orb_py-1.2.2/src/orb/infrastructure/di/provider_services.py +0 -68
- orb_py-1.2.2/src/orb/infrastructure/di/query_handler_services.py +0 -201
- orb_py-1.2.2/src/orb/infrastructure/di/registry_services.py +0 -35
- orb_py-1.2.2/src/orb/infrastructure/di/scheduler_services.py +0 -31
- orb_py-1.2.2/src/orb/infrastructure/di/server_services.py +0 -181
- orb_py-1.2.2/src/orb/infrastructure/di/services.py +0 -220
- orb_py-1.2.2/src/orb/infrastructure/di/storage_services.py +0 -111
- orb_py-1.2.2/src/orb/infrastructure/error/context.py +0 -29
- orb_py-1.2.2/src/orb/infrastructure/error/exception_handler.py +0 -921
- orb_py-1.2.2/src/orb/infrastructure/error/responses.py +0 -173
- orb_py-1.2.2/src/orb/infrastructure/events/__init__.py +0 -95
- orb_py-1.2.2/src/orb/infrastructure/handlers/__init__.py +0 -15
- orb_py-1.2.2/src/orb/infrastructure/handlers/base/__init__.py +0 -12
- orb_py-1.2.2/src/orb/infrastructure/handlers/base/api_handler.py +0 -367
- orb_py-1.2.2/src/orb/infrastructure/logging/logger.py +0 -402
- orb_py-1.2.2/src/orb/infrastructure/resilience/__init__.py +0 -36
- orb_py-1.2.2/src/orb/infrastructure/resilience/config.py +0 -37
- orb_py-1.2.2/src/orb/infrastructure/resilience/retry_decorator.py +0 -175
- orb_py-1.2.2/src/orb/infrastructure/resilience/strategy/circuit_breaker.py +0 -409
- orb_py-1.2.2/src/orb/infrastructure/resilience/strategy/exponential.py +0 -107
- orb_py-1.2.2/src/orb/infrastructure/scheduler/base/strategy.py +0 -381
- orb_py-1.2.2/src/orb/infrastructure/scheduler/default/default_strategy.py +0 -302
- orb_py-1.2.2/src/orb/infrastructure/scheduler/hostfactory/field_mapper.py +0 -154
- orb_py-1.2.2/src/orb/infrastructure/scheduler/hostfactory/field_mappings.py +0 -111
- orb_py-1.2.2/src/orb/infrastructure/scheduler/hostfactory/hostfactory_strategy.py +0 -935
- orb_py-1.2.2/src/orb/infrastructure/scheduler/hostfactory/transformations.py +0 -173
- orb_py-1.2.2/src/orb/infrastructure/scheduler/registration.py +0 -176
- orb_py-1.2.2/src/orb/infrastructure/scheduler/registry.py +0 -104
- orb_py-1.2.2/src/orb/infrastructure/services/provider_strategy_resolver.py +0 -47
- orb_py-1.2.2/src/orb/infrastructure/storage/base/repository.py +0 -494
- orb_py-1.2.2/src/orb/infrastructure/storage/components/__init__.py +0 -70
- orb_py-1.2.2/src/orb/infrastructure/storage/components/dynamodb_client_manager.py +0 -358
- orb_py-1.2.2/src/orb/infrastructure/storage/components/dynamodb_converter.py +0 -324
- orb_py-1.2.2/src/orb/infrastructure/storage/components/dynamodb_transaction_manager.py +0 -285
- orb_py-1.2.2/src/orb/infrastructure/storage/components/sql_serializer.py +0 -279
- orb_py-1.2.2/src/orb/infrastructure/storage/dynamodb/__init__.py +0 -5
- orb_py-1.2.2/src/orb/infrastructure/storage/dynamodb/registration.py +0 -174
- orb_py-1.2.2/src/orb/infrastructure/storage/dynamodb/strategy.py +0 -352
- orb_py-1.2.2/src/orb/infrastructure/storage/dynamodb/unit_of_work.py +0 -145
- orb_py-1.2.2/src/orb/infrastructure/storage/json/strategy.py +0 -401
- orb_py-1.2.2/src/orb/infrastructure/storage/registration.py +0 -76
- orb_py-1.2.2/src/orb/infrastructure/storage/registry.py +0 -203
- orb_py-1.2.2/src/orb/infrastructure/storage/repositories/machine_repository.py +0 -356
- orb_py-1.2.2/src/orb/infrastructure/storage/repositories/request_repository.py +0 -441
- orb_py-1.2.2/src/orb/infrastructure/storage/repositories/template_repository.py +0 -332
- orb_py-1.2.2/src/orb/infrastructure/storage/repository_migrator.py +0 -446
- orb_py-1.2.2/src/orb/infrastructure/storage/sql/models.py +0 -130
- orb_py-1.2.2/src/orb/infrastructure/storage/sql/registration.py +0 -151
- orb_py-1.2.2/src/orb/infrastructure/template/configuration_manager.py +0 -689
- orb_py-1.2.2/src/orb/infrastructure/template/dtos.py +0 -195
- orb_py-1.2.2/src/orb/infrastructure/template/services/template_storage_service.py +0 -207
- orb_py-1.2.2/src/orb/infrastructure/template/template_cache_service.py +0 -327
- orb_py-1.2.2/src/orb/infrastructure/template/template_repository_impl.py +0 -119
- orb_py-1.2.2/src/orb/infrastructure/utilities/__init__.py +0 -79
- orb_py-1.2.2/src/orb/infrastructure/utilities/common/string_utils.py +0 -259
- orb_py-1.2.2/src/orb/infrastructure/utilities/factories/repository_factory.py +0 -187
- orb_py-1.2.2/src/orb/infrastructure/utilities/factories/sql_engine_factory.py +0 -213
- orb_py-1.2.2/src/orb/infrastructure/utilities/json_utils.py +0 -174
- orb_py-1.2.2/src/orb/infrastructure/utilities/network_utils.py +0 -100
- orb_py-1.2.2/src/orb/infrastructure/validation/__init__.py +0 -25
- orb_py-1.2.2/src/orb/infrastructure/validation/input_validator.py +0 -220
- orb_py-1.2.2/src/orb/infrastructure/validation/startup_validator.py +0 -209
- orb_py-1.2.2/src/orb/interface/health_command_handler.py +0 -187
- orb_py-1.2.2/src/orb/interface/infrastructure_command_handler.py +0 -254
- orb_py-1.2.2/src/orb/interface/init_command_handler.py +0 -721
- orb_py-1.2.2/src/orb/interface/machine_command_handlers.py +0 -292
- orb_py-1.2.2/src/orb/interface/mcp/server/core.py +0 -478
- orb_py-1.2.2/src/orb/interface/mcp/server/handler.py +0 -143
- orb_py-1.2.2/src/orb/interface/provider_config_handler.py +0 -399
- orb_py-1.2.2/src/orb/interface/request_command_handlers.py +0 -447
- orb_py-1.2.2/src/orb/interface/scheduler_command_handlers.py +0 -87
- orb_py-1.2.2/src/orb/interface/storage_command_handlers.py +0 -147
- orb_py-1.2.2/src/orb/interface/system_command_handlers.py +0 -221
- orb_py-1.2.2/src/orb/interface/template_command_handlers.py +0 -543
- orb_py-1.2.2/src/orb/interface/templates_generate_handler.py +0 -94
- orb_py-1.2.2/src/orb/monitoring/health.py +0 -509
- orb_py-1.2.2/src/orb/monitoring/metrics.py +0 -351
- orb_py-1.2.2/src/orb/providers/__init__.py +0 -10
- orb_py-1.2.2/src/orb/providers/aws/application/events/aws_handlers.py +0 -91
- orb_py-1.2.2/src/orb/providers/aws/auth/iam_strategy.py +0 -290
- orb_py-1.2.2/src/orb/providers/aws/configuration/config.py +0 -220
- orb_py-1.2.2/src/orb/providers/aws/configuration/template_extension.py +0 -135
- orb_py-1.2.2/src/orb/providers/aws/domain/template/aws_template_aggregate.py +0 -493
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/adapters/aws_provisioning_adapter.py +0 -460
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/aws_client.py +0 -417
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/aws_handler_factory.py +0 -214
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/dry_run_adapter.py +0 -114
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/__init__.py +0 -15
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/asg/capacity_manager.py +0 -214
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/asg/config_builder.py +0 -308
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/asg/handler.py +0 -589
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/base_handler.py +0 -816
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/ec2_fleet/config_builder.py +0 -306
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/ec2_fleet/handler.py +0 -861
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/ec2_fleet/release_manager.py +0 -228
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/run_instances/handler.py +0 -673
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/shared/base_context_mixin.py +0 -111
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/shared/fleet_grouping_mixin.py +0 -235
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/spot_fleet/config_builder.py +0 -311
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/spot_fleet/handler.py +0 -609
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/spot_fleet/release_manager.py +0 -199
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/instrumentation/botocore_metrics.py +0 -431
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/launch_template/manager.py +0 -604
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/services/aws_native_spec_service.py +0 -158
- orb_py-1.2.2/src/orb/providers/aws/infrastructure/template/ami_cache.py +0 -235
- orb_py-1.2.2/src/orb/providers/aws/managers/__init__.py +0 -5
- orb_py-1.2.2/src/orb/providers/aws/managers/aws_instance_manager.py +0 -183
- orb_py-1.2.2/src/orb/providers/aws/registration.py +0 -493
- orb_py-1.2.2/src/orb/providers/aws/services/health_check_service.py +0 -90
- orb_py-1.2.2/src/orb/providers/aws/services/infrastructure_discovery_service.py +0 -537
- orb_py-1.2.2/src/orb/providers/aws/services/instance_operation_service.py +0 -213
- orb_py-1.2.2/src/orb/providers/aws/strategy/aws_provider_strategy.py +0 -614
- orb_py-1.2.2/src/orb/providers/aws/utilities/aws_operations.py +0 -588
- orb_py-1.2.2/src/orb/providers/aws/utilities/ec2/instances.py +0 -279
- orb_py-1.2.2/src/orb/providers/aws/utilities/ssm_utils.py +0 -288
- orb_py-1.2.2/src/orb/providers/base/strategy/fallback_strategy.py +0 -722
- orb_py-1.2.2/src/orb/providers/base/strategy/load_balancing/strategy.py +0 -396
- orb_py-1.2.2/src/orb/providers/base/strategy/provider_strategy.py +0 -334
- orb_py-1.2.2/src/orb/providers/config_builder.py +0 -145
- orb_py-1.2.2/src/orb/providers/config_validator.py +0 -130
- orb_py-1.2.2/src/orb/providers/factory.py +0 -235
- orb_py-1.2.2/src/orb/providers/registration.py +0 -46
- orb_py-1.2.2/src/orb/providers/registry/provider_registry.py +0 -852
- orb_py-1.2.2/src/orb/providers/services/provider_execution_service.py +0 -179
- orb_py-1.2.2/src/orb/run.py +0 -68
- orb_py-1.2.2/src/orb/sdk/client.py +0 -520
- orb_py-1.2.2/src/orb/sdk/discovery.py +0 -449
- orb_py-1.2.2/src/orb/sdk/protocols.py +0 -113
- orb_py-1.2.2/src/orb_py.egg-info/PKG-INFO +0 -536
- orb_py-1.2.2/src/orb_py.egg-info/SOURCES.txt +0 -817
- orb_py-1.2.2/src/orb_py.egg-info/requires.txt +0 -97
- orb_py-1.2.2/tests/test_basic_functionality.py +0 -99
- orb_py-1.2.2/tests/test_end_to_end.py +0 -154
- orb_py-1.2.2/tests/test_field_mapping_integration.py +0 -230
- orb_py-1.2.2/tests/test_import_guards.py +0 -397
- orb_py-1.2.2/tests/test_import_validation.py +0 -184
- orb_py-1.2.2/tests/test_injectable_migration.py +0 -247
- orb_py-1.2.2/tests/test_logging_integration.py +0 -250
- orb_py-1.2.2/tests/test_machines_start.py +0 -117
- orb_py-1.2.2/tests/test_platform_dirs.py +0 -487
- orb_py-1.2.2/tests/test_setup.py +0 -79
- {orb_py-1.2.2 → orb_py-1.3.0}/LICENSE +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/MANIFEST.in +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/config/aws_templates.json +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/config/specs/aws/examples/asg-basic.json +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/config/specs/aws/examples/complete-default.json +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/config/specs/aws/examples/ec2fleet-attribute-based.json +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/config/specs/aws/examples/ec2fleet-capacity-optimized-prioritized.json +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/config/specs/aws/examples/ec2fleet-hpc-spot-diversified.json +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/config/specs/aws/examples/ec2fleet-price-capacity-optimized.json +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/config/specs/aws/examples/gpu-compute-cluster.json +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/config/specs/aws/examples/launch-template-advanced.json +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/config/specs/aws/examples/launch-template-basic.json +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/config/specs/aws/examples/launch-template-complete-default.json +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/config/specs/aws/examples/multi-tier-architecture.json +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/config/specs/aws/examples/runinstances-basic.json +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/config/specs/aws/examples/spotfleet-price-capacity-optimized.json +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/setup.cfg +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/__main__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/documentation/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/documentation/examples.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/documentation/openapi_config.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/documentation/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/documentation/security_schemes.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/handlers/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/handlers/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/middleware/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/middleware/auth_middleware.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/middleware/logging_middleware.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/middleware/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/models/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/models/base.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/models/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/models/responses.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/models/templates.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/routers/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/routers/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/api/validation.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/base/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/base/command_handler.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/base/commands.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/base/event_handlers.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/base/infrastructure_handlers.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/base/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/base/queries.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/commands/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/commands/machine_handlers.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/commands/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/commands/request_handlers.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/commands/request_lifecycle_handlers.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/commands/system.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/commands/system_handlers.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/decorators.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/dto/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/dto/bulk_queries.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/dto/bulk_responses.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/dto/commands.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/dto/paginated_responses.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/dto/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/dto/responses.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/dto/template_generation_dto.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/events/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/events/base/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/events/base/action_event_handler.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/events/base/event_handler.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/events/base/logging_event_handler.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/events/base/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/events/bus/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/events/bus/event_bus.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/events/bus/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/events/decorators.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/events/handlers/infrastructure_handlers.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/events/handlers/machine_handlers.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/events/handlers/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/events/handlers/request_handlers.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/events/handlers/system_handlers.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/events/handlers/template_handlers.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/events/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/factories/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/factories/request_dto_factory.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/interfaces/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/interfaces/command_handler.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/interfaces/command_query.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/interfaces/event_handler.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/interfaces/infrastructure_handler.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/interfaces/provider_handler.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/interfaces/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/machine/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/machine/commands.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/machine/dto.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/machine/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/machine/queries.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/ports/cache_service_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/ports/command_bus_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/ports/error_response_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/ports/query_bus_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/ports/registry_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/ports/template_dto_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/provider/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/provider/commands.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/provider/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/provider/queries.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/queries/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/queries/bulk_handlers.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/queries/provider_handlers.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/queries/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/queries/scheduler.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/queries/storage.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/queries/storage_handlers.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/queries/system.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/request/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/request/dto.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/request/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/services/base_query_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/services/event_publishing_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/services/native_spec_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/services/provider_name_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/services/provider_validation_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/services/request_query_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/services/request_status_management_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/services/request_status_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/services/template_validation_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/template/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/template/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/value_objects/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/application/value_objects/batching_policy.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/cli/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/cli/args_extractor.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/cli/completion.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/cli/console.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/cli/factories/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/cli/factories/cli_command_factory_orchestrator.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/cli/factories/machine_command_factory.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/cli/factories/provider_command_factory.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/cli/factories/request_command_factory.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/cli/factories/scheduler_command_factory.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/cli/factories/storage_command_factory.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/cli/factories/system_command_factory.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/cli/factories/template_command_factory.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/cli/factories/utility_command_factory.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/cli/formatters.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/cli/help_utils.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/cli/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/config/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/config/constants.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/config/manager.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/config/managers/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/config/managers/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/config/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/config/schemas/base_config.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/config/schemas/logging_schema.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/config/schemas/native_spec_schema.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/config/schemas/provider_settings_registry.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/config/schemas/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/config/schemas/template_schema.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/config/services/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/config/utils/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/config/utils/env_expansion.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/config/utils/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/config/validators/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/config/validators/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/contracts/template_contract.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/decorators.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/dependency_injection.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/di_contracts.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/domain_exceptions.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/domain_interfaces.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/entity.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/events/base_events.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/events/base_events_pure.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/events/provider_events.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/events/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/exceptions.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/operations.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/container_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/error_handling_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/event_publisher_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/logging_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/provider_config_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/provider_discovery_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/provider_monitoring_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/provider_name_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/provider_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/provider_provisioning_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/provider_selection_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/provider_template_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/provider_validation_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/provisioning_orchestration_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/request_creation_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/request_status_management_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/spec_rendering_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/storage_lifecycle_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/storage_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/storage_reader_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/storage_writer_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/template_adapter_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/template_configuration_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/ports/template_example_generator_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/provider_interfaces.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/results.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/utils.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/value_objects.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/base/value_objects_pure.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/exceptions/image_resolution_error.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/machine/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/machine/exceptions.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/machine/machine_identifiers.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/machine/machine_metadata.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/machine/machine_status.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/machine/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/machine/repository.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/machine/value_objects.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/request/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/request/exceptions.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/request/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/request/repository.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/request/request_types.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/request/value_objects.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/services/filter_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/services/generic_filter_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/services/image_cache.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/services/image_resolution_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/services/template_validation_domain_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/services/timestamp_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/template/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/template/exceptions.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/template/extensions.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/template/image_resolver.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/template/ports/template_defaults_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/template/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/template/repository.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/domain/template/value_objects.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/cache_adapter.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/container_adapter.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/error_handling_adapter.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/factories/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/factories/container_adapter_factory.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/factories/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/logging_adapter.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/ports/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/ports/auth/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/ports/auth/auth_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/ports/auth/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/ports/auth/token_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/ports/auth/user_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/ports/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/ports/request_adapter_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/provider_selection_adapter.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/storage_adapter.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/adapters/template_configuration_adapter.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/auth/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/auth/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/auth/registry.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/auth/strategy/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/auth/strategy/bearer_token_strategy.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/auth/strategy/bearer_token_strategy_enhanced.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/auth/strategy/no_auth_strategy.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/auth/strategy/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/auth/token_blacklist/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/auth/token_blacklist/blacklist_port.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/auth/token_blacklist/in_memory_blacklist.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/auth/token_blacklist/redis_blacklist.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/caching/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/caching/ami_cache_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/caching/in_memory_cache_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/caching/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/constants.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/di/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/di/buses.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/di/components/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/di/components/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/di/exceptions.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/di/handler_discovery.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/di/lazy_config.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/di/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/error/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/error/categories.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/error/decorators.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/error/error_middleware.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/error/exception_type_mapper.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/error/http_response_handler.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/error/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/error/utilities.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/events/publisher.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/events/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/events/storage_events.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/handlers/base/base_handler.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/handlers/base/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/handlers/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/interfaces/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/interfaces/provider.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/interfaces/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/lifecycle.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/logging/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/logging/logger_singleton.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/logging/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/mocking/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/mocking/dry_run_context.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/mocking/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/patterns/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/patterns/lazy_import.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/patterns/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/patterns/singleton_access.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/patterns/singleton_registry.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/performance/performance_monitor.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/registry/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/registry/base_registry.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/registry/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/registry/registry_factory.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/resilience/exceptions.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/resilience/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/resilience/strategy/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/resilience/strategy/base.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/resilience/strategy/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/base/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/base/field_mapper.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/base/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/default/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/default/field_mapper.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/default/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/factory.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/hostfactory/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/hostfactory/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/hostfactory/response_formatter.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/hostfactory/scripts/getAvailableTemplates.bat +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/hostfactory/scripts/getAvailableTemplates.sh +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/hostfactory/scripts/getRequestStatus.bat +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/hostfactory/scripts/getRequestStatus.sh +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/hostfactory/scripts/getReturnRequests.bat +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/hostfactory/scripts/getReturnRequests.sh +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/hostfactory/scripts/invoke_provider.bat +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/hostfactory/scripts/invoke_provider.sh +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/hostfactory/scripts/requestMachines.bat +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/hostfactory/scripts/requestMachines.sh +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/hostfactory/scripts/requestReturnMachines.bat +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/hostfactory/scripts/requestReturnMachines.sh +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/hostfactory/scripts/templateWizard.bat +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/hostfactory/scripts/templateWizard.sh +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/scheduler/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/serialization/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/serialization/encoders.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/serialization/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/services/iso_timestamp_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/services/machine_filter_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/adapters/strategy_adapter.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/base/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/base/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/base/repository_mixin.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/base/strategy.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/base/unit_of_work.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/components/entity_cache.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/components/entity_serializer.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/components/event_publisher.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/components/file_manager.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/components/generic_serializer.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/components/lock_manager.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/components/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/components/resource_manager.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/components/serialization_manager.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/components/sql_connection_manager.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/components/sql_query_builder.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/components/transaction_manager.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/components/version_manager.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/concurrency.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/exceptions.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/factories/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/factories/machine_storage_factory.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/factories/request_storage_factory.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/factories/storage_factory_orchestrator.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/factories/template_storage_factory.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/factory.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/interfaces/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/interfaces/batch_storage.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/interfaces/storage_reader.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/interfaces/storage_writer.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/interfaces/transactional_storage.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/json/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/infrastructure/storage/dynamodb → orb_py-1.3.0/src/orb/infrastructure/storage/json}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/json/registration.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/json/template.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/json/unit_of_work.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/metrics_decorators.py +0 -0
- {orb_py-1.2.2/src/orb/infrastructure/storage/json → orb_py-1.3.0/src/orb/infrastructure/storage}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/repositories/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/infrastructure/storage → orb_py-1.3.0/src/orb/infrastructure/storage/repositories}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/sql/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/infrastructure/storage/repositories → orb_py-1.3.0/src/orb/infrastructure/storage/sql}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/sql/strategy.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/storage/sql/unit_of_work.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/template/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/template/jinja_spec_renderer.py +0 -0
- {orb_py-1.2.2/src/orb/infrastructure/storage/sql → orb_py-1.3.0/src/orb/infrastructure/template}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/common/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/common/collections/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/common/collections/filtering.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/common/collections/grouping.py +0 -0
- {orb_py-1.2.2/src/orb/infrastructure/template → orb_py-1.3.0/src/orb/infrastructure/utilities/common/collections}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/common/collections/transforming.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/common/collections/validation.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/common/date_utils.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/common/deep_merge.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/common/file_operations.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/common/file_utils.py +0 -0
- {orb_py-1.2.2/src/orb/infrastructure/utilities/common/collections → orb_py-1.3.0/src/orb/infrastructure/utilities/common}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/common/resource_naming.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/common/serialization.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/config_utils.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/factories/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/factories/api_handler_factory.py +0 -0
- {orb_py-1.2.2/src/orb/infrastructure/utilities/common → orb_py-1.3.0/src/orb/infrastructure/utilities/factories}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/file/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/file/binary_utils.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/file/directory_utils.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/file/file_operations.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/file/json_utils.py +0 -0
- {orb_py-1.2.2/src/orb/infrastructure/utilities/factories → orb_py-1.3.0/src/orb/infrastructure/utilities/file}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/file/text_utils.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/utilities/file/yaml_utils.py +0 -0
- {orb_py-1.2.2/src/orb/infrastructure/utilities/file → orb_py-1.3.0/src/orb/infrastructure/utilities}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/infrastructure/validation/secure_input.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/interface/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/interface/command_handlers.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/interface/mcp_command_handlers.py +0 -0
- {orb_py-1.2.2/src/orb/infrastructure/utilities → orb_py-1.3.0/src/orb/interface}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/interface/serve_command_handler.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/mcp/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/mcp/discovery.py +0 -0
- {orb_py-1.2.2/src/orb/interface → orb_py-1.3.0/src/orb/mcp}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/mcp/tools.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/monitoring/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/mcp → orb_py-1.3.0/src/orb/monitoring}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/application → orb_py-1.3.0/src/orb/providers/aws/adapters}/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/infrastructure → orb_py-1.3.0/src/orb/providers/aws}/adapters/template_example_generator_adapter.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/application/machine → orb_py-1.3.0/src/orb/providers/aws/application}/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/application/events/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/monitoring → orb_py-1.3.0/src/orb/providers/aws/application/events}/py.typed +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/application/request → orb_py-1.3.0/src/orb/providers/aws/application/machine}/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/application/events → orb_py-1.3.0/src/orb/providers/aws/application/machine}/py.typed +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/application/machine → orb_py-1.3.0/src/orb/providers/aws/application}/py.typed +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/domain/machine → orb_py-1.3.0/src/orb/providers/aws/application/request}/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/application → orb_py-1.3.0/src/orb/providers/aws/application/request}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/application/template/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/application/request → orb_py-1.3.0/src/orb/providers/aws/application/template}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/auth/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/auth/cognito_strategy.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/application/template → orb_py-1.3.0/src/orb/providers/aws/auth}/py.typed +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/domain/request → orb_py-1.3.0/src/orb/providers/aws/cli}/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/configuration/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/auth → orb_py-1.3.0/src/orb/providers/aws/configuration}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/configuration/validator.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/domain/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/domain/template → orb_py-1.3.0/src/orb/providers/aws/domain/machine}/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/configuration → orb_py-1.3.0/src/orb/providers/aws/domain/machine}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/domain/machine/value_objects.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/domain/machine → orb_py-1.3.0/src/orb/providers/aws/domain}/py.typed +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/asg → orb_py-1.3.0/src/orb/providers/aws/domain/request}/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/domain → orb_py-1.3.0/src/orb/providers/aws/domain/request}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/domain/request/value_objects.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/domain/services/ami_resolver.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/ec2_fleet → orb_py-1.3.0/src/orb/providers/aws/domain/template}/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/domain/request → orb_py-1.3.0/src/orb/providers/aws/domain/template}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/domain/template/value_objects.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/exceptions/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/exceptions/aws_exceptions.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/domain/template → orb_py-1.3.0/src/orb/providers/aws/exceptions}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/adapters/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/adapters/aws_validation_adapter.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/adapters/machine_adapter.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/exceptions → orb_py-1.3.0/src/orb/providers/aws/infrastructure/adapters}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/adapters/request_adapter.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/adapters/template_adapter.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/aws_client_factory.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/caching/aws_image_cache.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/run_instances → orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/asg}/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/handlers/components/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/infrastructure/adapters → orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/components}/py.typed +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/shared → orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/ec2_fleet}/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/components → orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers}/py.typed +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/persistence → orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/run_instances}/__init__.py +0 -0
- /orb_py-1.2.2/src/orb/providers/aws/infrastructure/handlers/py.typed → /orb_py-1.3.0/src/orb/providers/aws/infrastructure/handlers/shared/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/handlers/shared/base_config_builder.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/handlers/shared/fleet_override_builder.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/handlers/shared/instance_override_builder.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/handlers/spot_fleet/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/handlers/spot_fleet/validator.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/instrumentation/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/launch_template/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/launch_template/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/services/aws_image_resolution_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/tags.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/template/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/template/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/infrastructure/utils.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/models/infrastructure_models.py +0 -0
- /orb_py-1.2.2/src/orb/providers/aws/managers/py.typed → /orb_py-1.3.0/src/orb/providers/aws/persistence/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/persistence/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/profile_discovery.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/resilience/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/resilience/aws_retry_config.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/resilience/aws_retry_errors.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/resilience/aws_retry_strategy.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/resilience/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/services/capability_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/services/ec2_fleet_management_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/services/handler_registry.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/services/template_validation_service.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/session_factory.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/strategy → orb_py-1.3.0/src/orb/providers/aws/storage/components}/py.typed +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/utilities/ec2 → orb_py-1.3.0/src/orb/providers/aws/storage}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/strategy/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/strategy/aws_provider_adapter.py +0 -0
- {orb_py-1.2.2/src/orb/providers/aws/utilities → orb_py-1.3.0/src/orb/providers/aws/strategy}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/utilities/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/aws/utilities/ec2/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/providers/base → orb_py-1.3.0/src/orb/providers/aws/utilities/ec2}/py.typed +0 -0
- {orb_py-1.2.2/src/orb/providers/base/strategy/load_balancing → orb_py-1.3.0/src/orb/providers/aws/utilities}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/base/__init__.py +0 -0
- {orb_py-1.2.2/src/orb/providers/base/strategy → orb_py-1.3.0/src/orb/providers/base}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/base/strategy/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/base/strategy/base_provider_strategy.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/base/strategy/composite_strategy.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/base/strategy/load_balancing/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/base/strategy/load_balancing/algorithms.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/base/strategy/load_balancing/config.py +0 -0
- {orb_py-1.2.2/src/orb/providers → orb_py-1.3.0/src/orb/providers/base/strategy/load_balancing}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/base/strategy/load_balancing/stats.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/base/strategy/load_balancing_strategy.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/base/strategy/provider_selector.py +0 -0
- {orb_py-1.2.2/src/orb/sdk → orb_py-1.3.0/src/orb/providers/base/strategy}/py.typed +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/base/strategy/selector_utils.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/registry/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/registry/types.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/providers/results.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/sdk/__init__.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/sdk/config.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/sdk/exceptions.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/sdk/middleware.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb/sdk/parameter_mapping.py +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb_py.egg-info/dependency_links.txt +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb_py.egg-info/entry_points.txt +0 -0
- {orb_py-1.2.2 → orb_py-1.3.0}/src/orb_py.egg-info/top_level.txt +0 -0
orb_py-1.3.0/PKG-INFO
ADDED
|
@@ -0,0 +1,540 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: orb-py
|
|
3
|
+
Version: 1.3.0
|
|
4
|
+
Summary: Open Resource Broker (ORB) — dynamic cloud resource provisioning via CLI and REST API
|
|
5
|
+
Author-email: AWS Professional Services <aws-proserve@amazon.com>
|
|
6
|
+
Maintainer-email: AWS Professional Services <aws-proserve@amazon.com>
|
|
7
|
+
License-Expression: Apache-2.0
|
|
8
|
+
Project-URL: Homepage, https://github.com/awslabs/open-resource-broker
|
|
9
|
+
Project-URL: Documentation, https://awslabs.github.io/open-resource-broker/
|
|
10
|
+
Project-URL: Repository, https://github.com/awslabs/open-resource-broker
|
|
11
|
+
Project-URL: Bug Reports, https://github.com/awslabs/open-resource-broker/issues
|
|
12
|
+
Keywords: aws,ec2,hostfactory,symphony,hpc,cluster,cloud,infrastructure
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Natural Language :: English
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
23
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
24
|
+
Classifier: Topic :: System :: Clustering
|
|
25
|
+
Classifier: Topic :: System :: Distributed Computing
|
|
26
|
+
Requires-Python: >=3.10
|
|
27
|
+
Description-Content-Type: text/markdown
|
|
28
|
+
License-File: LICENSE
|
|
29
|
+
Requires-Dist: boto3>=1.42.21
|
|
30
|
+
Requires-Dist: botocore>=1.42.21
|
|
31
|
+
Requires-Dist: pydantic>=2.0.0
|
|
32
|
+
Requires-Dist: pydantic-settings>=2.0.0
|
|
33
|
+
Requires-Dist: sqlalchemy>=2.0.0
|
|
34
|
+
Requires-Dist: urllib3>=2.6.3
|
|
35
|
+
Requires-Dist: PyJWT>=2.8.0
|
|
36
|
+
Requires-Dist: cryptography>=46.0.5
|
|
37
|
+
Requires-Dist: filelock>=3.20.1
|
|
38
|
+
Requires-Dist: requests>=2.31.0
|
|
39
|
+
Requires-Dist: PyYAML>=6.0.0
|
|
40
|
+
Requires-Dist: jsonschema>=4.17.0
|
|
41
|
+
Provides-Extra: cli
|
|
42
|
+
Requires-Dist: rich>=13.3.0; extra == "cli"
|
|
43
|
+
Requires-Dist: rich-argparse>=1.0.0; extra == "cli"
|
|
44
|
+
Provides-Extra: api
|
|
45
|
+
Requires-Dist: fastapi>=0.128.0; extra == "api"
|
|
46
|
+
Requires-Dist: starlette>=0.49.1; extra == "api"
|
|
47
|
+
Requires-Dist: uvicorn>=0.24.0; extra == "api"
|
|
48
|
+
Requires-Dist: jinja2>=3.1.0; extra == "api"
|
|
49
|
+
Provides-Extra: monitoring
|
|
50
|
+
Requires-Dist: opentelemetry-api>=1.20.0; extra == "monitoring"
|
|
51
|
+
Requires-Dist: opentelemetry-sdk>=1.20.0; extra == "monitoring"
|
|
52
|
+
Requires-Dist: opentelemetry-instrumentation-fastapi>=0.41b0; extra == "monitoring"
|
|
53
|
+
Requires-Dist: opentelemetry-instrumentation-boto>=0.41b0; extra == "monitoring"
|
|
54
|
+
Requires-Dist: opentelemetry-instrumentation-sqlalchemy>=0.41b0; extra == "monitoring"
|
|
55
|
+
Requires-Dist: prometheus-client>=0.17.0; extra == "monitoring"
|
|
56
|
+
Requires-Dist: psutil>=5.9.0; extra == "monitoring"
|
|
57
|
+
Provides-Extra: all
|
|
58
|
+
Requires-Dist: orb-py[api,cli,monitoring]; extra == "all"
|
|
59
|
+
Provides-Extra: ci
|
|
60
|
+
Requires-Dist: ruff>=0.1.0; extra == "ci"
|
|
61
|
+
Requires-Dist: pathspec>=0.11.0; extra == "ci"
|
|
62
|
+
Requires-Dist: pyright<2.0.0,>=1.1.408; extra == "ci"
|
|
63
|
+
Requires-Dist: mypy<2.0.0,>=1.6.1; extra == "ci"
|
|
64
|
+
Requires-Dist: bandit<2.0.0,>=1.7.5; extra == "ci"
|
|
65
|
+
Requires-Dist: bandit-sarif-formatter<2.0.0,>=1.1.1; extra == "ci"
|
|
66
|
+
Requires-Dist: pytest<10.0.0,>=7.4.3; extra == "ci"
|
|
67
|
+
Requires-Dist: pytest-cov<8.0.0,>=4.1.0; extra == "ci"
|
|
68
|
+
Requires-Dist: pytest-env<2.0.0,>=1.1.1; extra == "ci"
|
|
69
|
+
Requires-Dist: pytest-mock<4.0.0,>=3.12.0; extra == "ci"
|
|
70
|
+
Requires-Dist: pytest-asyncio<2.0.0,>=0.21.1; extra == "ci"
|
|
71
|
+
Requires-Dist: pytest-timeout<3.0.0,>=2.2.0; extra == "ci"
|
|
72
|
+
Requires-Dist: pytest-xdist<4.0.0,>=3.3.1; extra == "ci"
|
|
73
|
+
Requires-Dist: pytest-html<5.0.0,>=4.1.1; extra == "ci"
|
|
74
|
+
Requires-Dist: pytest-benchmark<6.0.0,>=5.1.0; extra == "ci"
|
|
75
|
+
Requires-Dist: coverage<8.0.0,>=7.3.2; extra == "ci"
|
|
76
|
+
Requires-Dist: fastapi>=0.128.0; extra == "ci"
|
|
77
|
+
Requires-Dist: httpx>=0.27.0; extra == "ci"
|
|
78
|
+
Requires-Dist: jinja2>=3.1.0; extra == "ci"
|
|
79
|
+
Requires-Dist: moto[all]<6.0.0,>=5.1.19; extra == "ci"
|
|
80
|
+
Requires-Dist: responses<1.0.0,>=0.24.0; extra == "ci"
|
|
81
|
+
Requires-Dist: requests-mock<2.0.0,>=1.11.0; extra == "ci"
|
|
82
|
+
Requires-Dist: joserfc>=1.6.1; extra == "ci"
|
|
83
|
+
Requires-Dist: werkzeug>=3.1.6; extra == "ci"
|
|
84
|
+
Requires-Dist: nltk>=3.9.3; extra == "ci"
|
|
85
|
+
Requires-Dist: types-PyYAML<7.0.0,>=6.0.12.12; extra == "ci"
|
|
86
|
+
Requires-Dist: types-python-dateutil<3.0.0,>=2.8.19.14; extra == "ci"
|
|
87
|
+
Requires-Dist: tomli<3.0.0,>=2.0.0; extra == "ci"
|
|
88
|
+
Requires-Dist: safety<4.0.0,>=3.7.0; extra == "ci"
|
|
89
|
+
Requires-Dist: pip-audit<3.0.0,>=2.6.1; extra == "ci"
|
|
90
|
+
Requires-Dist: semgrep<2.0.0,>=1.45.0; extra == "ci"
|
|
91
|
+
Requires-Dist: cyclonedx-bom<8.0.0,>=4.0.0; extra == "ci"
|
|
92
|
+
Requires-Dist: peewee>=3.18.3; extra == "ci"
|
|
93
|
+
Requires-Dist: marshmallow>=4.1.2; extra == "ci"
|
|
94
|
+
Requires-Dist: mkdocs<2.0.0,>=1.5.0; extra == "ci"
|
|
95
|
+
Requires-Dist: mkdocs-material<10.0.0,>=9.1.0; extra == "ci"
|
|
96
|
+
Requires-Dist: mkdocstrings<2.0.0,>=0.22.0; extra == "ci"
|
|
97
|
+
Requires-Dist: mkdocstrings-python<3.0.0,>=1.1.0; extra == "ci"
|
|
98
|
+
Requires-Dist: mkdocs-gen-files<1.0.0,>=0.5.0; extra == "ci"
|
|
99
|
+
Requires-Dist: mkdocs-literate-nav<1.0.0,>=0.6.0; extra == "ci"
|
|
100
|
+
Requires-Dist: mkdocs-section-index<1.0.0,>=0.3.0; extra == "ci"
|
|
101
|
+
Requires-Dist: mike<3.0.0,>=1.1.0; extra == "ci"
|
|
102
|
+
Requires-Dist: build<2.0.0,>=1.0.3; extra == "ci"
|
|
103
|
+
Requires-Dist: wheel<1.0.0,>=0.41.3; extra == "ci"
|
|
104
|
+
Provides-Extra: dev
|
|
105
|
+
Requires-Dist: orb-py[ci]; extra == "dev"
|
|
106
|
+
Requires-Dist: virtualenv>=20.26.6; extra == "dev"
|
|
107
|
+
Requires-Dist: pre-commit<5.0.0,>=3.5.0; extra == "dev"
|
|
108
|
+
Requires-Dist: bump2version<2.0.0,>=1.0.1; extra == "dev"
|
|
109
|
+
Requires-Dist: python-semantic-release<11.0.0,>=10.0.0; extra == "dev"
|
|
110
|
+
Requires-Dist: line-profiler<6.0.0,>=4.1.1; extra == "dev"
|
|
111
|
+
Requires-Dist: memory-profiler<1.0.0,>=0.61.0; extra == "dev"
|
|
112
|
+
Requires-Dist: py-spy<1.0.0,>=0.3.14; extra == "dev"
|
|
113
|
+
Requires-Dist: py-cpuinfo<10.0.0,>=9.0.0; extra == "dev"
|
|
114
|
+
Requires-Dist: ipdb<1.0.0,>=0.13.13; extra == "dev"
|
|
115
|
+
Requires-Dist: ipython<9.0.0,>=8.16.1; extra == "dev"
|
|
116
|
+
Requires-Dist: radon<7.0.0,>=6.0.1; extra == "dev"
|
|
117
|
+
Requires-Dist: pip-tools<8.0.0,>=7.3.0; extra == "dev"
|
|
118
|
+
Requires-Dist: twine>=4.0.0; extra == "dev"
|
|
119
|
+
Requires-Dist: git-changelog<3.0.0,>=2.6.0; extra == "dev"
|
|
120
|
+
Dynamic: license-file
|
|
121
|
+
|
|
122
|
+
<p align="center">
|
|
123
|
+
<picture>
|
|
124
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/awslabs/open-resource-broker/main/docs/assets/orb-logo-horizontal-dark.svg">
|
|
125
|
+
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/awslabs/open-resource-broker/main/docs/assets/orb-logo-horizontal.svg">
|
|
126
|
+
<img alt="Open Resource Broker" src="https://raw.githubusercontent.com/awslabs/open-resource-broker/main/docs/assets/orb-logo-horizontal.svg" width="520">
|
|
127
|
+
</picture>
|
|
128
|
+
</p>
|
|
129
|
+
|
|
130
|
+
<p align="center">
|
|
131
|
+
<strong>Unified API for orchestrating and provisioning compute capacity</strong>
|
|
132
|
+
</p>
|
|
133
|
+
|
|
134
|
+
<p align="center">
|
|
135
|
+
<a href="https://pypi.org/project/orb-py/"><img src="https://img.shields.io/pypi/v/orb-py" alt="PyPI Version"></a>
|
|
136
|
+
<a href="https://pypi.org/project/orb-py/"><img src="https://img.shields.io/pypi/pyversions/orb-py" alt="Python Versions"></a>
|
|
137
|
+
<a href="LICENSE"><img src="https://img.shields.io/github/license/awslabs/open-resource-broker" alt="License"></a>
|
|
138
|
+
<a href="https://github.com/awslabs/open-resource-broker/releases"><img src="https://img.shields.io/github/v/release/awslabs/open-resource-broker" alt="Latest Release"></a>
|
|
139
|
+
<a href="https://deepwiki.com/awslabs/open-resource-broker"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a>
|
|
140
|
+
</p>
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
ORB is a unified API for orchestrating and provisioning compute capacity programmatically. Define what you need in a template, request it, track it, return it — through a CLI, REST API, Python SDK, or MCP server.
|
|
145
|
+
|
|
146
|
+
Built for AWS today (EC2, Auto Scaling Groups, SpotFleet, EC2Fleet), with an extensible provider system for adding new cloud backends.
|
|
147
|
+
|
|
148
|
+
**Provider support:**
|
|
149
|
+
- **AWS** — EC2 RunInstances, EC2Fleet, SpotFleet, Auto Scaling Groups
|
|
150
|
+
- **Custom** — extensible via [provider registry](docs/root/developer_guide/architecture.md)
|
|
151
|
+
|
|
152
|
+
**Scheduler support:**
|
|
153
|
+
- **HostFactory** — runs as an [IBM Spectrum Symphony provider plugin](#hostfactory-integration)
|
|
154
|
+
- **Standalone** — direct usage without an external scheduler
|
|
155
|
+
|
|
156
|
+
## Quick Start
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
pip install orb-py
|
|
160
|
+
orb init
|
|
161
|
+
orb templates generate
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### 1. Pick a template
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
orb templates list
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### 2. Request machines
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
orb machines request <template-id> 3
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### 3. Check status
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
orb requests status <request-id>
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### 4. Return machines when done
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
orb machines return <machine-id-1> <machine-id-2> ...
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## Setup
|
|
189
|
+
|
|
190
|
+
Get ORB installed and configured for your environment.
|
|
191
|
+
|
|
192
|
+
<details>
|
|
193
|
+
<summary>Installation</summary>
|
|
194
|
+
|
|
195
|
+
### Standard install
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
pip install orb-py
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### With colored CLI output
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
pip install "orb-py[cli]"
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### With REST API server
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
pip install "orb-py[api]"
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### With monitoring and observability
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
pip install "orb-py[monitoring]"
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Full install (all extras)
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
pip install "orb-py[all]"
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Requires Python 3.10+.
|
|
226
|
+
|
|
227
|
+
</details>
|
|
228
|
+
|
|
229
|
+
<details>
|
|
230
|
+
<summary>Configuration</summary>
|
|
231
|
+
|
|
232
|
+
`orb init` creates a `config.json` in a location based on your install type (virtualenv, user install, system install, or development checkout). Override with:
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
export ORB_CONFIG_DIR=/path/to/config
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
| Variable | Description |
|
|
239
|
+
|---|---|
|
|
240
|
+
| `ORB_ROOT_DIR` | Set base directory for all subdirs (config, work, logs, health, scripts) |
|
|
241
|
+
| `ORB_CONFIG_DIR` | Override config directory path (takes precedence over `ORB_ROOT_DIR`) |
|
|
242
|
+
| `ORB_WORK_DIR` | Override work directory path (takes precedence over `ORB_ROOT_DIR`) |
|
|
243
|
+
| `ORB_LOG_DIR` | Override logs directory path (takes precedence over `ORB_ROOT_DIR`) |
|
|
244
|
+
| `ORB_HEALTH_DIR` | Override health directory path (takes precedence over `ORB_ROOT_DIR`) |
|
|
245
|
+
| `ORB_LOG_LEVEL` | Logging level: `DEBUG`, `INFO`, `WARNING`, `ERROR` |
|
|
246
|
+
|
|
247
|
+
See the [Configuration Guide](docs/root/user_guide/configuration.md) for path resolution details, environment variables, and REST API server setup.
|
|
248
|
+
|
|
249
|
+
</details>
|
|
250
|
+
|
|
251
|
+
<details>
|
|
252
|
+
<summary>AWS Provider Setup</summary>
|
|
253
|
+
|
|
254
|
+
ORB uses boto3's standard credential chain — any method that works with the AWS CLI works with ORB.
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
# Verify your credentials are active
|
|
258
|
+
aws sts get-caller-identity
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
**Supported credential methods:** AWS CLI profiles, environment variables (`AWS_ACCESS_KEY_ID`/`AWS_SECRET_ACCESS_KEY`), IAM instance profiles, SSO (`aws sso login`), and credential process.
|
|
262
|
+
|
|
263
|
+
### Supported resource types
|
|
264
|
+
|
|
265
|
+
| Type | Description |
|
|
266
|
+
|---|---|
|
|
267
|
+
| `RunInstances` | Direct EC2 instance provisioning |
|
|
268
|
+
| `EC2Fleet` | Fleet provisioning with mixed instance types |
|
|
269
|
+
| `SpotFleet` | Cost-optimized spot instance fleets |
|
|
270
|
+
| `AutoScalingGroup` | Managed scaling groups |
|
|
271
|
+
|
|
272
|
+
See the [AWS Provider Guide](docs/root/user_guide/configuration.md) for required IAM permissions and SpotFleet service-linked role setup.
|
|
273
|
+
|
|
274
|
+
</details>
|
|
275
|
+
|
|
276
|
+
## Interfaces
|
|
277
|
+
|
|
278
|
+
ORB provides four ways to interact with your infrastructure.
|
|
279
|
+
|
|
280
|
+
<details>
|
|
281
|
+
<summary>CLI Reference</summary>
|
|
282
|
+
|
|
283
|
+
All available commands and flags.
|
|
284
|
+
|
|
285
|
+
| Command | Description |
|
|
286
|
+
|---|---|
|
|
287
|
+
| `orb init` | Initialize config and discover AWS infrastructure |
|
|
288
|
+
| `orb init --non-interactive` | Initialize without interactive prompts |
|
|
289
|
+
| `orb templates generate` | Generate example templates for your provider |
|
|
290
|
+
| `orb templates list` | List available templates |
|
|
291
|
+
| `orb templates list --format table` | Table view |
|
|
292
|
+
| `orb templates show <template-id>` | Show a single template |
|
|
293
|
+
| `orb templates validate --file <file>` | Validate a template file |
|
|
294
|
+
| `orb machines request <template-id> <n>` | Request n machines |
|
|
295
|
+
| `orb machines list` | List active machines |
|
|
296
|
+
| `orb machines return <machine-id> [...]` | Return one or more machines |
|
|
297
|
+
| `orb requests status <request-id>` | Check request status |
|
|
298
|
+
| `orb requests list` | List all requests |
|
|
299
|
+
| `orb infrastructure show` | Show configured infrastructure |
|
|
300
|
+
| `orb infrastructure discover` | Scan AWS for VPCs, subnets, security groups |
|
|
301
|
+
| `orb infrastructure validate` | Verify infrastructure still exists in AWS |
|
|
302
|
+
| `orb config show` | Show current configuration |
|
|
303
|
+
| `orb config validate` | Validate configuration |
|
|
304
|
+
| `orb providers list` | List configured providers |
|
|
305
|
+
| `orb system health` | System health check |
|
|
306
|
+
| `orb system health --detailed` | Detailed health check |
|
|
307
|
+
|
|
308
|
+
Request status values: `pending`, `in_progress`, `completed`, `failed`, `cancelled`, `partial`, `timeout`.
|
|
309
|
+
|
|
310
|
+
See the [CLI Reference](docs/root/cli/cli-reference.md) for the full flag reference.
|
|
311
|
+
|
|
312
|
+
</details>
|
|
313
|
+
|
|
314
|
+
<details>
|
|
315
|
+
<summary>REST API</summary>
|
|
316
|
+
|
|
317
|
+
Example API calls. Requires `pip install "orb-py[api]"` and `orb system serve`.
|
|
318
|
+
|
|
319
|
+
```bash
|
|
320
|
+
# Get available templates
|
|
321
|
+
curl -X GET "http://localhost:8000/api/v1/templates"
|
|
322
|
+
|
|
323
|
+
# Create machine request
|
|
324
|
+
curl -X POST "http://localhost:8000/api/v1/requests" \
|
|
325
|
+
-H "Content-Type: application/json" \
|
|
326
|
+
-d '{"templateId": "my-template", "maxNumber": 5}'
|
|
327
|
+
|
|
328
|
+
# Check request status
|
|
329
|
+
curl -X GET "http://localhost:8000/api/v1/requests/req-12345"
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
</details>
|
|
333
|
+
|
|
334
|
+
<details>
|
|
335
|
+
<summary>Python SDK</summary>
|
|
336
|
+
|
|
337
|
+
Async-first programmatic access via `ORBClient`.
|
|
338
|
+
|
|
339
|
+
```python
|
|
340
|
+
from orb import ORBClient as orb
|
|
341
|
+
|
|
342
|
+
async with orb(provider="aws") as sdk:
|
|
343
|
+
# List templates
|
|
344
|
+
templates = await sdk.list_templates(active_only=True)
|
|
345
|
+
|
|
346
|
+
# Request machines
|
|
347
|
+
request = await sdk.request_machines(
|
|
348
|
+
template_id=templates[0]["template_id"],
|
|
349
|
+
count=3
|
|
350
|
+
)
|
|
351
|
+
|
|
352
|
+
# Check status
|
|
353
|
+
status = await sdk.get_request_status(request_id=request["created_request_id"])
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
See the [SDK Quickstart](docs/root/sdk/quickstart.md) for the full guide.
|
|
357
|
+
|
|
358
|
+
</details>
|
|
359
|
+
|
|
360
|
+
<details>
|
|
361
|
+
<summary>MCP Server (AI Assistant Integration)</summary>
|
|
362
|
+
|
|
363
|
+
ORB provides a Model Context Protocol (MCP) server for AI assistant integration:
|
|
364
|
+
|
|
365
|
+
```bash
|
|
366
|
+
# Start MCP server in stdio mode (for AI assistants)
|
|
367
|
+
orb mcp serve --stdio
|
|
368
|
+
|
|
369
|
+
# Start as TCP server (for development/testing)
|
|
370
|
+
orb mcp serve --port 3000 --host localhost
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
**Available MCP Tools:**
|
|
374
|
+
- Provider Management: `check_provider_health`, `list_providers`, `get_provider_config`
|
|
375
|
+
- Template Operations: `list_templates`, `get_template`, `validate_template`
|
|
376
|
+
- Infrastructure Requests: `request_machines`, `get_request_status`, `return_machines`
|
|
377
|
+
|
|
378
|
+
**Available MCP Resources:**
|
|
379
|
+
- `templates://` — Available compute templates
|
|
380
|
+
- `requests://` — Provisioning requests
|
|
381
|
+
- `machines://` — Compute instances
|
|
382
|
+
- `providers://` — Cloud providers
|
|
383
|
+
|
|
384
|
+
**Claude Desktop Configuration:**
|
|
385
|
+
```json
|
|
386
|
+
{
|
|
387
|
+
"mcpServers": {
|
|
388
|
+
"open-resource-broker": {
|
|
389
|
+
"command": "orb",
|
|
390
|
+
"args": ["mcp", "serve", "--stdio"]
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
</details>
|
|
397
|
+
|
|
398
|
+
## Integrations
|
|
399
|
+
|
|
400
|
+
Connect ORB to schedulers and container platforms.
|
|
401
|
+
|
|
402
|
+
<details>
|
|
403
|
+
<summary>HostFactory Integration</summary>
|
|
404
|
+
|
|
405
|
+
ORB integrates with IBM Spectrum Symphony as a HostFactory provider plugin, providing full API compatibility through shell scripts:
|
|
406
|
+
|
|
407
|
+
| Script | Description |
|
|
408
|
+
|---|---|
|
|
409
|
+
| `getAvailableTemplates.sh` | List available compute templates |
|
|
410
|
+
| `requestMachines.sh` | Request new compute instances |
|
|
411
|
+
| `getRequestStatus.sh` | Poll request status |
|
|
412
|
+
| `requestReturnMachines.sh` | Return instances |
|
|
413
|
+
| `getReturnRequests.sh` | Check return request status |
|
|
414
|
+
|
|
415
|
+
Scripts are available for both Linux (bash) and Windows (bat). They are generated automatically by `orb init` and placed in your config directory.
|
|
416
|
+
|
|
417
|
+
**Key features:**
|
|
418
|
+
- Full HostFactory API compatibility
|
|
419
|
+
- Automatic CPU and RAM attribute generation from AWS instance types
|
|
420
|
+
- Native HostFactory output format (camelCase JSON)
|
|
421
|
+
- Drop-in replacement for existing provider plugins
|
|
422
|
+
|
|
423
|
+
Example template output:
|
|
424
|
+
|
|
425
|
+
```json
|
|
426
|
+
{
|
|
427
|
+
"templates": [
|
|
428
|
+
{
|
|
429
|
+
"templateId": "t3-medium-template",
|
|
430
|
+
"maxNumber": 5,
|
|
431
|
+
"attributes": {
|
|
432
|
+
"type": ["String", "X86_64"],
|
|
433
|
+
"ncpus": ["Numeric", "2"],
|
|
434
|
+
"nram": ["Numeric", "4096"]
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
]
|
|
438
|
+
}
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
See the [HostFactory Guide](docs/root/hostfactory/integration_guide.md) for full integration details.
|
|
442
|
+
|
|
443
|
+
</details>
|
|
444
|
+
|
|
445
|
+
<details>
|
|
446
|
+
<summary>Docker Deployment</summary>
|
|
447
|
+
|
|
448
|
+
Run ORB as a containerized service.
|
|
449
|
+
|
|
450
|
+
```bash
|
|
451
|
+
git clone https://github.com/awslabs/open-resource-broker.git
|
|
452
|
+
cd open-resource-broker
|
|
453
|
+
cp .env.example .env
|
|
454
|
+
# Edit .env with your configuration
|
|
455
|
+
docker-compose up -d
|
|
456
|
+
curl http://localhost:8000/health
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
</details>
|
|
460
|
+
|
|
461
|
+
## Project
|
|
462
|
+
|
|
463
|
+
Architecture, development, and documentation.
|
|
464
|
+
|
|
465
|
+
<details>
|
|
466
|
+
<summary>Architecture</summary>
|
|
467
|
+
|
|
468
|
+
ORB is built on Clean Architecture with Domain-Driven Design (DDD) and CQRS:
|
|
469
|
+
|
|
470
|
+
- **Domain layer** — pure business logic, no infrastructure dependencies
|
|
471
|
+
- **Application layer** — command/query handlers using abstract ports
|
|
472
|
+
- **Infrastructure layer** — AWS adapters, DI container, storage strategies
|
|
473
|
+
- **Interface layer** — CLI, REST API, MCP server
|
|
474
|
+
|
|
475
|
+
The **provider system** uses a Strategy/Registry pattern — each cloud provider (AWS, future providers) registers its own strategy, handlers, and template format. The **scheduler system** uses the same pattern — HostFactory and Default schedulers are interchangeable strategies behind a common port.
|
|
476
|
+
|
|
477
|
+
See the [Architecture Guide](docs/root/developer_guide/architecture.md) for details.
|
|
478
|
+
|
|
479
|
+
</details>
|
|
480
|
+
|
|
481
|
+
<details>
|
|
482
|
+
<summary>Development</summary>
|
|
483
|
+
|
|
484
|
+
Set up a local development environment.
|
|
485
|
+
|
|
486
|
+
```bash
|
|
487
|
+
git clone https://github.com/awslabs/open-resource-broker.git
|
|
488
|
+
cd open-resource-broker
|
|
489
|
+
python -m venv .venv
|
|
490
|
+
source .venv/bin/activate
|
|
491
|
+
pip install -e ".[dev]"
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
Run the test suite:
|
|
495
|
+
|
|
496
|
+
```bash
|
|
497
|
+
make test
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
Lint and format:
|
|
501
|
+
|
|
502
|
+
```bash
|
|
503
|
+
make lint
|
|
504
|
+
make format
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for the full development guide.
|
|
508
|
+
|
|
509
|
+
</details>
|
|
510
|
+
|
|
511
|
+
<details>
|
|
512
|
+
<summary>Documentation & CI</summary>
|
|
513
|
+
|
|
514
|
+
[](https://github.com/awslabs/open-resource-broker/actions/workflows/test-matrix.yml)
|
|
515
|
+
[](https://github.com/awslabs/open-resource-broker/actions/workflows/ci-quality.yml)
|
|
516
|
+
[](https://github.com/awslabs/open-resource-broker/actions/workflows/security-code.yml)
|
|
517
|
+
|
|
518
|
+
- [Quick Start](docs/root/getting_started/quick_start.md)
|
|
519
|
+
- [CLI Reference](docs/root/cli/cli-reference.md)
|
|
520
|
+
- [Configuration Guide](docs/root/user_guide/configuration.md)
|
|
521
|
+
- [Template Management](docs/root/user_guide/templates.md)
|
|
522
|
+
- [Troubleshooting](docs/root/user_guide/troubleshooting.md)
|
|
523
|
+
- [Architecture](docs/root/developer_guide/architecture.md)
|
|
524
|
+
- [API Reference](docs/root/api/readme.md)
|
|
525
|
+
- [Deployment](docs/root/deployment/readme.md)
|
|
526
|
+
- [DeepWiki](https://deepwiki.com/awslabs/open-resource-broker) — AI-generated codebase documentation
|
|
527
|
+
|
|
528
|
+
Full docs: [awslabs.github.io/open-resource-broker](https://awslabs.github.io/open-resource-broker/)
|
|
529
|
+
|
|
530
|
+
</details>
|
|
531
|
+
|
|
532
|
+
---
|
|
533
|
+
|
|
534
|
+
## License
|
|
535
|
+
|
|
536
|
+
Apache License 2.0 — see [LICENSE](LICENSE).
|
|
537
|
+
|
|
538
|
+
## Security
|
|
539
|
+
|
|
540
|
+
See [SECURITY.md](SECURITY.md) for responsible disclosure procedures.
|