vyra_base package¶
Subpackages¶
- vyra_base.com package
- Subpackages
- vyra_base.com.feeder package
- Submodules
- vyra_base.com.feeder.interfaces module
- vyra_base.com.feeder.feeder module
- vyra_base.com.feeder.custom_feeder module
- vyra_base.com.feeder.config_resolver module
- vyra_base.com.feeder.registry module
- vyra_base.com.feeder.state_feeder module
- vyra_base.com.feeder.news_feeder module
- vyra_base.com.feeder.error_feeder module
- Module contents
- vyra_base.com.feeder package
- Submodules
- vyra_base.com.handler module
- Module contents
- Architecture
- Public API
CommunicationErrorProtocolUnavailableErrorProtocolNotInitializedErrorTransportErrorProviderErrorProviderNotFoundErrorProviderRegistrationErrorInterfaceErrorTServerErrorTSubscriberErrorActionServerErrorProtocolTypeInterfaceTypeAccessLevelActionStatusVyraPublisherVyraSubscriberVyraServerVyraClientVyraActionServerVyraActionClientIServiceHandlerIActionHandlerIGoalHandleGoalHandleGoalHandle.__init__()GoalHandle.goal_idGoalHandle.statusGoalHandle.goalGoalHandle.publish_feedback()GoalHandle.is_cancel_requested()GoalHandle.succeed()GoalHandle.abort()GoalHandle.canceled()GoalHandle.request_cancel()GoalHandle.set_succeeded()GoalHandle.set_aborted()GoalHandle.set_canceled()
InterfaceFactoryInterfaceFactory.PUBLISHER_FALLBACKInterfaceFactory.SUBSCRIBER_FALLBACKInterfaceFactory.SERVER_FALLBACKInterfaceFactory.CLIENT_FALLBACKInterfaceFactory.ACTION_SERVER_FALLBACKInterfaceFactory.ACTION_CLIENT_FALLBACKInterfaceFactory.loop_check_pending()InterfaceFactory.register_provider()InterfaceFactory.unregister_provider()InterfaceFactory.create_publisher()InterfaceFactory.create_subscriber()InterfaceFactory.create_server()InterfaceFactory.create_client()InterfaceFactory.create_action_server()InterfaceFactory.create_action_client()InterfaceFactory.get_available_protocols()InterfaceFactory.create_from_blueprint()InterfaceFactory.bind_pending_callback()InterfaceFactory.process_pending_interfaces()InterfaceFactory.get_pending_count()InterfaceFactory.list_pending()InterfaceFactory.has_pending()
remote_service()remote_publisher()remote_subscriber()get_decorated_methods()bind_decorated_callbacks()HandlerBlueprintHandlerBlueprint.nameHandlerBlueprint.interface_typeHandlerBlueprint.protocolsHandlerBlueprint.metadataHandlerBlueprint._callbackHandlerBlueprint.nameHandlerBlueprint.interface_typeHandlerBlueprint.protocolsHandlerBlueprint.metadataHandlerBlueprint.callbackHandlerBlueprint.is_bound()HandlerBlueprint.bind_callback()HandlerBlueprint.unbind_callback()HandlerBlueprint.get_metadata()HandlerBlueprint.update_metadata()HandlerBlueprint.__init__()
ServiceBlueprintPublisherBlueprintSubscriberBlueprintActionBlueprintCallbackRegistryCallbackRegistry.initialize()CallbackRegistry.clear()CallbackRegistry.register_blueprint()CallbackRegistry.get_blueprint()CallbackRegistry.bind_callback()CallbackRegistry.unbind_callback()CallbackRegistry.list_all()CallbackRegistry.list_unbound()CallbackRegistry.list_bound()CallbackRegistry.get_statistics()CallbackRegistry.remove_blueprint()CallbackRegistry.exists()CallbackRegistry.debug_print()
AbstractProtocolProviderAbstractProtocolProvider.__init__()AbstractProtocolProvider.protocolAbstractProtocolProvider.check_availability()AbstractProtocolProvider.initialize()AbstractProtocolProvider.shutdown()AbstractProtocolProvider.create_publisher()AbstractProtocolProvider.create_subscriber()AbstractProtocolProvider.create_server()AbstractProtocolProvider.create_client()AbstractProtocolProvider.create_action_server()AbstractProtocolProvider.create_action_client()AbstractProtocolProvider.create_topic_builder()AbstractProtocolProvider.is_availableAbstractProtocolProvider.is_initializedAbstractProtocolProvider.get_config()AbstractProtocolProvider.update_config()AbstractProtocolProvider.require_availability()AbstractProtocolProvider.require_initialization()
ProviderRegistryProviderRegistry.__init__()ProviderRegistry.register_provider()ProviderRegistry.get_provider()ProviderRegistry.get_or_create_provider_for_module()ProviderRegistry.list_registered()ProviderRegistry.list_available()ProviderRegistry.is_available()ProviderRegistry.unregister_provider()ProviderRegistry.initialize_all()ProviderRegistry.shutdown_all()ProviderRegistry.get_statistics()
TopicBuilderTopicBuilder.MODULE_NAME_PATTERNTopicBuilder.MODULE_ID_PATTERNTopicBuilder.FUNCTION_NAME_PATTERNTopicBuilder.SUBSECTION_PATTERNTopicBuilder.__init__()TopicBuilder.module_prefixTopicBuilder.build()TopicBuilder.parse()TopicBuilder.validate()TopicBuilder.build_topic_name()TopicBuilder.load_interface_type()TopicBuilder.build_with_interface()TopicBuilder.get_interface_loader()TopicBuilder.reload_interface_metadata()TopicBuilder.get_loaded_interfaces_stats()
TopicComponentsTopicInterfaceTypecreate_topic_builder()build_topic()parse_topic()InterfacePathRegistryInterfacePathRegistry.__init__()InterfacePathRegistry.get_instance()InterfacePathRegistry.set_interface_paths()InterfacePathRegistry.add_interface_path()InterfacePathRegistry.get_interface_paths()InterfacePathRegistry.clear_interface_paths()InterfacePathRegistry.get_config_paths()InterfacePathRegistry.get_proto_paths()
get_interface_registry()InterfaceLoaderBaseFeederBaseFeeder.__init__()BaseFeeder.get_feeder_name()BaseFeeder.get_protocol()BaseFeeder.is_alive()BaseFeeder.is_ready()BaseFeeder.get_buffer()BaseFeeder.feed_countBaseFeeder.error_countBaseFeeder.last_feed_atBaseFeeder.debounced_duplicate_countBaseFeeder.register_condition()BaseFeeder.unregister_condition()BaseFeeder.evaluate_conditions()BaseFeeder.set_interface_paths()BaseFeeder.create()BaseFeeder.start()BaseFeeder.feed()BaseFeeder.feed_sync()BaseFeeder.add_handler()BaseFeeder.add_handler_class()
StateFeederNewsFeederErrorFeederROS2PublisherROS2SubscriberVyraNodeCheckerNodeNodeSettingsROS2ActionClientROS2ActionServerROS2ServiceClientROS2ServiceServerZenohProviderZenohProvider.__init__()ZenohProvider.check_availability()ZenohProvider.initialize()ZenohProvider.shutdown()ZenohProvider.create_publisher()ZenohProvider.create_subscriber()ZenohProvider.create_server()ZenohProvider.create_client()ZenohProvider.create_action_server()ZenohProvider.create_action_client()ZenohProvider.require_initialization()ZenohProvider.get_session()
ZenohSessionSessionConfigSessionConfig.modeSessionConfig.connectSessionConfig.listenSessionConfig.idSessionConfig.scouting_multicastSessionConfig.timeout_msSessionConfig.modeSessionConfig.connectSessionConfig.listenSessionConfig.idSessionConfig.scouting_multicastSessionConfig.timeout_msSessionConfig.to_zenoh_config()SessionConfig.__init__()
SessionModeRedisProviderRedisProvider.__init__()RedisProvider.check_availability()RedisProvider.initialize()RedisProvider.shutdown()RedisProvider.create_publisher()RedisProvider.create_subscriber()RedisProvider.create_server()RedisProvider.create_client()RedisProvider.create_action_server()RedisProvider.create_action_client()RedisProvider.get_client()
RedisClientRedisClient.__init__()RedisClient.connect()RedisClient.ping()RedisClient.configure_base_settings()RedisClient.close()RedisClient.get()RedisClient.set()RedisClient.delete()RedisClient.exists()RedisClient.clear()RedisClient.get_all_keys()RedisClient.get_keys_by_pattern()RedisClient.get_type()RedisClient.get_length()RedisClient.publish_message()RedisClient.subscribe_channel()RedisClient.subscribe_to_key()RedisClient.unsubscribe_from_key()RedisClient.health_check()RedisClient.subscribe_pattern()RedisClient.publish_with_metadata()RedisClient.create_pubsub_listener()RedisClient.parse_message()RedisClient.get_active_listeners()RedisClient.remove_listener_channels()RedisClient.stop_pubsub_listener()RedisClient.publish_event()RedisClient.create_stream_listener()RedisClient.xadd()RedisClient.xread()RedisClient.xreadgroup()RedisClient.xack()RedisClient.xgroup_create()RedisClient.xgroup_destroy()RedisClient.xlen()RedisClient.xtrim()RedisClient.xpending()
UDSProviderGrpcServerGrpcClientMqttClientRestClientWebSocketClient
- Subpackages
- vyra_base.core package
- vyra_base.defaults package
- Submodules
- vyra_base.defaults.constants module
- vyra_base.defaults.entries module
FunctionConfigParamTypesFunctionConfigParamTypes.BOOLFunctionConfigParamTypes.BYTEFunctionConfigParamTypes.CHARFunctionConfigParamTypes.INT8FunctionConfigParamTypes.UINT8FunctionConfigParamTypes.INT16FunctionConfigParamTypes.UINT16FunctionConfigParamTypes.INT32FunctionConfigParamTypes.UINT32FunctionConfigParamTypes.INT64FunctionConfigParamTypes.UINT64FunctionConfigParamTypes.FLOAT32FunctionConfigParamTypes.FLOAT64FunctionConfigParamTypes.STRINGFunctionConfigParamTypes.TIMEFunctionConfigParamTypes.DURATIONFunctionConfigParamTypes.ANYFunctionConfigParamTypes.NONEFunctionConfigParamTypes.ARRAY
DCBaseFunctionConfigBaseTypesFunctionConfigTagsFunctionConfigBaseParamsFunctionConfigBaseReturnFunctionConfigDisplaystyleFunctionConfigPeriodicPublisherFunctionConfigEntryFunctionConfigEntry.tagsFunctionConfigEntry.typeFunctionConfigEntry.interfacetypesFunctionConfigEntry.functionnameFunctionConfigEntry.displaynameFunctionConfigEntry.descriptionFunctionConfigEntry.displaystyleFunctionConfigEntry.paramsFunctionConfigEntry.returnsFunctionConfigEntry.qosprofileFunctionConfigEntry.callbacksFunctionConfigEntry.periodicFunctionConfigEntry.namespaceFunctionConfigEntry.subsectionFunctionConfigEntry.asdict()FunctionConfigEntry.__init__()
ErrorEntryNewsEntryPullRequestEntryPullRequestEntry.uuidPullRequestEntry.ack_by_userPullRequestEntry.ack_on_datePullRequestEntry.request_structurePullRequestEntry.request_on_datePullRequestEntry.request_descriptionPullRequestEntry.responsePullRequestEntry.request_actionPullRequestEntry.request_action_argsPullRequestEntry.module_idPullRequestEntry.colorPullRequestEntry.__init__()
StateEntryModuleEntryAvailableModuleEntry
- vyra_base.defaults.exceptions module
- vyra_base.defaults.info module
- Module contents
- vyra_base.helper package
- Submodules
- vyra_base.helper.env_handler module
- vyra_base.helper.error_handler module
- vyra_base.helper.file_lock module
- vyra_base.helper.file_reader module
FileReaderFileReader.open_json_file()FileReader.open_markdown_file()FileReader.open_env_file()FileReader.open_toml_file()FileReader.open_ini_file()FileReader.open_yaml_file()FileReader.open_json_file_sync()FileReader.open_markdown_file_sync()FileReader.open_env_file_sync()FileReader.open_toml_file_sync()FileReader.open_ini_file_sync()FileReader.open_yaml_file_sync()
- vyra_base.helper.file_writer module
- vyra_base.helper.log_filter module
- Module contents
- vyra_base.state package
- Submodules
- vyra_base.state.health_layer module
HealthLayerHealthLayer.__init__()HealthLayer.get_state()HealthLayer.get_state_name()HealthLayer.is_healthy()HealthLayer.is_warning()HealthLayer.is_critical()HealthLayer.is_degraded()HealthLayer.is_operational_safe()HealthLayer.report_warning()HealthLayer.clear_warning()HealthLayer.report_fault()HealthLayer.recover()HealthLayer.check_and_report()HealthLayer.emergency_stop()HealthLayer.on_state_change()HealthLayer.get_info()HealthLayer.get_severity_level()
- vyra_base.state.lifecycle_layer module
LifecycleLayerLifecycleLayer.__init__()LifecycleLayer.get_state()LifecycleLayer.get_state_name()LifecycleLayer.is_initializing()LifecycleLayer.is_active()LifecycleLayer.is_recovering()LifecycleLayer.is_shutting_down()LifecycleLayer.is_offline()LifecycleLayer.is_suspended()LifecycleLayer.can_accept_tasks()LifecycleLayer.start()LifecycleLayer.complete_initialization()LifecycleLayer.fail_initialization()LifecycleLayer.shutdown()LifecycleLayer.complete_shutdown()LifecycleLayer.enter_suspend()LifecycleLayer.resume_from_suspend()LifecycleLayer.enter_recovery()LifecycleLayer.complete_recovery()LifecycleLayer.fail_recovery()LifecycleLayer.on_state_change()LifecycleLayer.get_info()
- vyra_base.state.operational_layer module
OperationalLayerOperationalLayer.__init__()OperationalLayer.get_state()OperationalLayer.get_state_name()OperationalLayer.is_idle()OperationalLayer.is_ready()OperationalLayer.is_running()OperationalLayer.is_paused()OperationalLayer.is_stopped()OperationalLayer.can_start_task()OperationalLayer.is_busy()OperationalLayer.set_ready()OperationalLayer.start_task()OperationalLayer.pause()OperationalLayer.resume()OperationalLayer.stop()OperationalLayer.reset()OperationalLayer.on_state_change()OperationalLayer.get_info()
- vyra_base.state.state_events module
EventTypeEventType.STARTEventType.INIT_SUCCESSEventType.INIT_FAILUREEventType.SET_SUSPENDEDEventType.RESUME_SUSPENDEDEventType.SHUTDOWNEventType.FINISHEDEventType.FAULT_DETECTEDEventType.RECOVERY_SUCCESSEventType.RECOVERY_FAILEDEventType.SET_READYEventType.TASK_STARTEventType.TASK_PAUSEEventType.TASK_RESUMEEventType.TASK_COMPLETEEventType.TASK_STOPEventType.TASK_RESETEventType.TASK_ERROREventType.WARNEventType.CLEAR_WARNINGEventType.FAULTEventType.RECOVEREventType.RESETEventType.INTERRUPTEventType.EMERGENCY_STOPEventType.PRIORITY_OVERRIDE
StateEventget_event_target_layer()is_interrupt_event()
- vyra_base.state.state_machine module
StateMachineErrorInvalidTransitionErrorLayerViolationErrorStateTransitionStateMachineConfigStateMachineConfig.initial_lifecycleStateMachineConfig.initial_operationalStateMachineConfig.initial_healthStateMachineConfig.operational_on_recovery()StateMachineConfig.operational_on_shutdown()StateMachineConfig.enable_transition_logStateMachineConfig.max_history_sizeStateMachineConfig.strict_modeStateMachineConfig.__init__()
StateMachineStateMachine.__init__()StateMachine.get_current_state()StateMachine.get_lifecycle_state()StateMachine.get_operational_state()StateMachine.get_health_state()StateMachine.is_active()StateMachine.is_operational()StateMachine.is_healthy()StateMachine.send_event()StateMachine.subscribe()StateMachine.unsubscribe()StateMachine.get_history()StateMachine.clear_history()StateMachine.get_diagnostic_info()
- vyra_base.state.state_types module
- vyra_base.state.unified module
UnifiedStateMachineUnifiedStateMachine.__init__()UnifiedStateMachine.get_all_states()UnifiedStateMachine.get_lifecycle_state()UnifiedStateMachine.get_operational_state()UnifiedStateMachine.get_health_state()UnifiedStateMachine.is_operational()UnifiedStateMachine.is_healthy()UnifiedStateMachine.is_initializing()UnifiedStateMachine.is_active()UnifiedStateMachine.is_suspended()UnifiedStateMachine.is_recovering()UnifiedStateMachine.is_shutting_down()UnifiedStateMachine.is_offline()UnifiedStateMachine.start()UnifiedStateMachine.complete_initialization()UnifiedStateMachine.fail_initialization()UnifiedStateMachine.shutdown()UnifiedStateMachine.complete_shutdown()UnifiedStateMachine.suspend()UnifiedStateMachine.resume_from_suspend()UnifiedStateMachine.enter_recovery()UnifiedStateMachine.complete_recovery()UnifiedStateMachine.fail_recovery()UnifiedStateMachine.set_ready()UnifiedStateMachine.start_task()UnifiedStateMachine.pause()UnifiedStateMachine.resume()UnifiedStateMachine.stop()UnifiedStateMachine.reset()UnifiedStateMachine.report_warning()UnifiedStateMachine.report_fault()UnifiedStateMachine.recover()UnifiedStateMachine.emergency_stop()UnifiedStateMachine.on_lifecycle_change()UnifiedStateMachine.on_operational_change()UnifiedStateMachine.on_health_change()UnifiedStateMachine.on_any_change()UnifiedStateMachine.get_diagnostic_info()UnifiedStateMachine.get_history()UnifiedStateMachine.clear_history()UnifiedStateMachine.send_event()UnifiedStateMachine.standard_startup()UnifiedStateMachine.standard_shutdown()
- Module contents
StateMachineStateMachine.__init__()StateMachine.get_current_state()StateMachine.get_lifecycle_state()StateMachine.get_operational_state()StateMachine.get_health_state()StateMachine.is_active()StateMachine.is_operational()StateMachine.is_healthy()StateMachine.send_event()StateMachine.subscribe()StateMachine.unsubscribe()StateMachine.get_history()StateMachine.clear_history()StateMachine.get_diagnostic_info()
StateMachineConfigStateMachineConfig.initial_lifecycleStateMachineConfig.initial_operationalStateMachineConfig.initial_healthStateMachineConfig.operational_on_recovery()StateMachineConfig.operational_on_shutdown()StateMachineConfig.enable_transition_logStateMachineConfig.max_history_sizeStateMachineConfig.strict_modeStateMachineConfig.__init__()
StateMachineErrorInvalidTransitionErrorLayerViolationErrorStateTransitionLifecycleStateOperationalStateHealthStateis_valid_lifecycle_transition()is_valid_operational_transition()is_valid_health_transition()is_operational_allowed_in_lifecycle()StateEventEventTypeEventType.STARTEventType.INIT_SUCCESSEventType.INIT_FAILUREEventType.SET_SUSPENDEDEventType.RESUME_SUSPENDEDEventType.SHUTDOWNEventType.FINISHEDEventType.FAULT_DETECTEDEventType.RECOVERY_SUCCESSEventType.RECOVERY_FAILEDEventType.SET_READYEventType.TASK_STARTEventType.TASK_PAUSEEventType.TASK_RESUMEEventType.TASK_COMPLETEEventType.TASK_STOPEventType.TASK_RESETEventType.TASK_ERROREventType.WARNEventType.CLEAR_WARNINGEventType.FAULTEventType.RECOVEREventType.RESETEventType.INTERRUPTEventType.EMERGENCY_STOPEventType.PRIORITY_OVERRIDE
get_event_target_layer()is_interrupt_event()LifecycleLayerLifecycleLayer.__init__()LifecycleLayer.get_state()LifecycleLayer.get_state_name()LifecycleLayer.is_initializing()LifecycleLayer.is_active()LifecycleLayer.is_recovering()LifecycleLayer.is_shutting_down()LifecycleLayer.is_offline()LifecycleLayer.is_suspended()LifecycleLayer.can_accept_tasks()LifecycleLayer.start()LifecycleLayer.complete_initialization()LifecycleLayer.fail_initialization()LifecycleLayer.shutdown()LifecycleLayer.complete_shutdown()LifecycleLayer.enter_suspend()LifecycleLayer.resume_from_suspend()LifecycleLayer.enter_recovery()LifecycleLayer.complete_recovery()LifecycleLayer.fail_recovery()LifecycleLayer.on_state_change()LifecycleLayer.get_info()
OperationalLayerOperationalLayer.__init__()OperationalLayer.get_state()OperationalLayer.get_state_name()OperationalLayer.is_idle()OperationalLayer.is_ready()OperationalLayer.is_running()OperationalLayer.is_paused()OperationalLayer.is_stopped()OperationalLayer.can_start_task()OperationalLayer.is_busy()OperationalLayer.set_ready()OperationalLayer.start_task()OperationalLayer.pause()OperationalLayer.resume()OperationalLayer.stop()OperationalLayer.reset()OperationalLayer.on_state_change()OperationalLayer.get_info()
HealthLayerHealthLayer.__init__()HealthLayer.get_state()HealthLayer.get_state_name()HealthLayer.is_healthy()HealthLayer.is_warning()HealthLayer.is_critical()HealthLayer.is_degraded()HealthLayer.is_operational_safe()HealthLayer.report_warning()HealthLayer.clear_warning()HealthLayer.report_fault()HealthLayer.recover()HealthLayer.check_and_report()HealthLayer.emergency_stop()HealthLayer.on_state_change()HealthLayer.get_info()HealthLayer.get_severity_level()
UnifiedStateMachineUnifiedStateMachine.__init__()UnifiedStateMachine.get_all_states()UnifiedStateMachine.get_lifecycle_state()UnifiedStateMachine.get_operational_state()UnifiedStateMachine.get_health_state()UnifiedStateMachine.is_operational()UnifiedStateMachine.is_healthy()UnifiedStateMachine.is_initializing()UnifiedStateMachine.is_active()UnifiedStateMachine.is_suspended()UnifiedStateMachine.is_recovering()UnifiedStateMachine.is_shutting_down()UnifiedStateMachine.is_offline()UnifiedStateMachine.start()UnifiedStateMachine.complete_initialization()UnifiedStateMachine.fail_initialization()UnifiedStateMachine.shutdown()UnifiedStateMachine.complete_shutdown()UnifiedStateMachine.suspend()UnifiedStateMachine.resume_from_suspend()UnifiedStateMachine.enter_recovery()UnifiedStateMachine.complete_recovery()UnifiedStateMachine.fail_recovery()UnifiedStateMachine.set_ready()UnifiedStateMachine.start_task()UnifiedStateMachine.pause()UnifiedStateMachine.resume()UnifiedStateMachine.stop()UnifiedStateMachine.reset()UnifiedStateMachine.report_warning()UnifiedStateMachine.report_fault()UnifiedStateMachine.recover()UnifiedStateMachine.emergency_stop()UnifiedStateMachine.on_lifecycle_change()UnifiedStateMachine.on_operational_change()UnifiedStateMachine.on_health_change()UnifiedStateMachine.on_any_change()UnifiedStateMachine.get_diagnostic_info()UnifiedStateMachine.get_history()UnifiedStateMachine.clear_history()UnifiedStateMachine.send_event()UnifiedStateMachine.standard_startup()UnifiedStateMachine.standard_shutdown()
MetaOperationalStateOperationalStateErrorOperationalStateMachineOperationalStateMachine.__init__()OperationalStateMachine.get_operational_state()OperationalStateMachine.get_all_states()OperationalStateMachine.is_idle()OperationalStateMachine.is_ready()OperationalStateMachine.is_running()OperationalStateMachine.is_paused()OperationalStateMachine.is_stopped()OperationalStateMachine.is_error()OperationalStateMachine.get_operation_counter()
operation()OperationConfig
- vyra_base.storage package
Module contents¶
- vyra_base.extract_interfaces(target_path)[Quellcode]¶
Copy VYRA interface config files and build files from the pip-installed library.
Only copies JSON/YAML/XML metadata files from the config/ directory and the ROS2 build scaffolding files (package.xml, CMakeLists.template.txt).
Interface files (.msg, .srv, .action, .proto) are NOT copied — they are generated on demand by InterfaceGenerator (interfaces/tools/generate_interfaces.py) from the config metadata.
- vyra_base.get_reserved_list()[Quellcode]¶
Get the list of reserved usernames.
- vyra_base.get_vyra_base_config_files()[Quellcode]¶
Return the set of config file names shipped with vyra_base.
Used by setup_interfaces.py to distinguish module-specific config files (which must be validated against the RESERVED list) from files that were copied from vyra_base itself.
- vyra_base.validate_config_schema(config_files, schema_path=None)[Quellcode]¶
Validate interface config JSON files against the VYRA
interface_config.jsonschema.Each file in config_files is loaded as JSON and validated against the bundled
assets/schemas/interface_config.jsonschema (or a custom schema_path). Files that are not valid JSON or fail schema validation are collected in the invalid_files return value so the caller can log warnings and exclude them from interface generation.Requires the
jsonschemapackage (automatically installed as avyra_basedependency). Ifjsonschemais unexpectedly missing the function logs a warning and returns all files as valid so the build pipeline continues without interruption.Example usage in
setup_interfaces.py:import vyra_base valid, invalid = vyra_base.validate_config_schema( list(config_path.glob("*_meta.json")) ) for bad_file, reason in invalid: logging.warning("Schema violation in %s: %s", bad_file.name, reason)
- Parameter:
config_files (
list) – Iterable ofpathlib.Pathobjects (or path strings) pointing to*_meta.jsonfiles to validate.schema_path (
Path|None) – Path to a custom JSON Schema file. WhenNonethe bundled schema atvyra_base/assets/schemas/interface_config.jsonis used automatically.
- Rückgabe:
A two-element tuple
(valid_files, invalid_files)where valid_files is the subset of config_files that passed validation and invalid_files is a list of(Path, reason: str)pairs for every file that failed.- Rückgabetyp: