From b2957ea180c98fd630609a48058b7acc3c0586fa Mon Sep 17 00:00:00 2001 From: Vaughn Kottler Date: Fri, 10 Feb 2023 01:09:36 -0600 Subject: [PATCH] 0.13.1 - Improve schema management --- README.md | 4 +- im/pydeps.svg | 1856 ++++++++++--------- local/configs/package.yaml | 2 +- local/variables/package.yaml | 2 +- pyproject.toml | 2 +- runtimepy/__init__.py | 4 +- runtimepy/data/schemas/Channel.yaml | 34 + runtimepy/data/schemas/ChannelRegistry.yaml | 34 +- runtimepy/data/schemas/EnumRegistry.yaml | 23 +- runtimepy/data/schemas/RuntimeEnum.yaml | 23 + runtimepy/registry/item.py | 6 +- runtimepy/requirements.txt | 2 +- runtimepy/schemas.py | 2 +- 13 files changed, 1004 insertions(+), 990 deletions(-) create mode 100644 runtimepy/data/schemas/Channel.yaml create mode 100644 runtimepy/data/schemas/RuntimeEnum.yaml diff --git a/README.md b/README.md index 04f77c49..90ea42d9 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,11 @@ ===================================== generator=datazen version=3.1.0 - hash=a8255694100a058fa4413abe0341a123 + hash=b4ec855ceb9c1a2007cec184e29e5458 ===================================== --> -# runtimepy ([0.13.0](https://pypi.org/project/runtimepy/)) +# runtimepy ([0.13.1](https://pypi.org/project/runtimepy/)) [![python](https://img.shields.io/pypi/pyversions/runtimepy.svg)](https://pypi.org/project/runtimepy/) ![Build Status](https://github.com/vkottler/runtimepy/workflows/Python%20Package/badge.svg) diff --git a/im/pydeps.svg b/im/pydeps.svg index 6b9513f0..03319479 100644 --- a/im/pydeps.svg +++ b/im/pydeps.svg @@ -4,2123 +4,2131 @@ - - + + G - + runtimepy___main__ - -runtimepy. -__main__ + +runtimepy. +__main__ runtimepy_app - -runtimepy.app + +runtimepy.app runtimepy_entry - -runtimepy. -entry + +runtimepy. +entry runtimepy_app->runtimepy_entry - - + + runtimepy_channel - -runtimepy. -channel + +runtimepy. +channel runtimepy_commands_tui - -runtimepy. -commands. -tui + +runtimepy. +commands. +tui runtimepy_channel->runtimepy_commands_tui - + + runtimepy_task - -runtimepy.task + +runtimepy.task runtimepy_channel->runtimepy_task - - - + + runtimepy_tui_channels - -runtimepy. -tui. -channels + +runtimepy. +tui. +channels runtimepy_channel->runtimepy_tui_channels - - + + runtimepy_tui_task - -runtimepy. -tui. -task + +runtimepy. +tui. +task runtimepy_channel->runtimepy_tui_task - - + + runtimepy_channel_environment - -runtimepy. -channel. -environment + +runtimepy. +channel. +environment runtimepy_channel_environment->runtimepy_commands_tui - - + runtimepy_channel_environment->runtimepy_task - - + runtimepy_channel_environment->runtimepy_tui_channels - - + + + runtimepy_channel_environment->runtimepy_tui_task - - + runtimepy_channel_environment_array - -runtimepy. -channel. -environment. -array + +runtimepy. +channel. +environment. +array runtimepy_channel_environment_array->runtimepy_channel_environment - - + + runtimepy_channel_environment_base - -runtimepy. -channel. -environment. -base + +runtimepy. +channel. +environment. +base runtimepy_channel_environment_base->runtimepy_channel_environment_array - - + + runtimepy_channel_environment_create - -runtimepy. -channel. -environment. -create + +runtimepy. +channel. +environment. +create runtimepy_channel_environment_base->runtimepy_channel_environment_create - - + + runtimepy_channel_environment_file - -runtimepy. -channel. -environment. -file + +runtimepy. +channel. +environment. +file runtimepy_channel_environment_base->runtimepy_channel_environment_file - - + + runtimepy_channel_environment_names - -runtimepy. -channel. -environment. -names + +runtimepy. +channel. +environment. +names runtimepy_channel_environment_base->runtimepy_channel_environment_names - - + + runtimepy_channel_environment_create->runtimepy_channel_environment - - + + runtimepy_channel_environment_file->runtimepy_channel_environment - - + + runtimepy_channel_environment_names->runtimepy_channel_environment - - + + runtimepy_channel_registry - -runtimepy. -channel. -registry + +runtimepy. +channel. +registry runtimepy_channel_registry->runtimepy_channel_environment_base - - - + + runtimepy_channel_registry->runtimepy_channel_environment_file - - + + runtimepy_codec_protocol - -runtimepy. -codec. -protocol + +runtimepy. +codec. +protocol runtimepy_codec_protocol_base - -runtimepy. -codec. -protocol. -base + +runtimepy. +codec. +protocol. +base runtimepy_codec_protocol_json - -runtimepy. -codec. -protocol. -json + +runtimepy. +codec. +protocol. +json runtimepy_codec_protocol_base->runtimepy_codec_protocol_json - - + + runtimepy_codec_protocol_json->runtimepy_codec_protocol - - + + runtimepy_commands - -runtimepy. -commands + +runtimepy. +commands runtimepy_commands->runtimepy_app - - + + runtimepy_commands_all - -runtimepy. -commands. -all + +runtimepy. +commands. +all runtimepy_commands_all->runtimepy_app - + runtimepy_commands_tui->runtimepy_commands_all - - + + runtimepy_entry->runtimepy___main__ - - + + runtimepy_enum - -runtimepy.enum + +runtimepy.enum runtimepy_enum->runtimepy_channel_environment_base - + + runtimepy_enum->runtimepy_channel_environment_create - - + + + runtimepy_enum->runtimepy_channel_environment_file - - + + + runtimepy_enum->runtimepy_codec_protocol_base - + + runtimepy_primitives_field_manager - -runtimepy. -primitives. -field. -manager + +runtimepy. +primitives. +field. +manager runtimepy_enum->runtimepy_primitives_field_manager - - + + runtimepy_primitives_field_manager_base - -runtimepy. -primitives. -field. -manager. -base + +runtimepy. +primitives. +field. +manager. +base runtimepy_enum->runtimepy_primitives_field_manager_base - - - + + runtimepy_telemetry - -runtimepy. -telemetry + +runtimepy. +telemetry runtimepy_enum->runtimepy_telemetry - + + + runtimepy_enum_registry - -runtimepy. -enum. -registry + +runtimepy. +enum. +registry runtimepy_enum_registry->runtimepy_channel_environment_base - - - + + runtimepy_enum_registry->runtimepy_channel_environment_file - - - + + runtimepy_enum_registry->runtimepy_codec_protocol_base - - - - + + + runtimepy_enum_registry->runtimepy_primitives_field_manager - + runtimepy_enum_registry->runtimepy_primitives_field_manager_base - + runtimepy_enum_registry->runtimepy_telemetry - - - + + runtimepy_enum_type - -runtimepy. -enum. -type + +runtimepy. +enum. +type runtimepy_enum_type->runtimepy_channel_environment_create - - - + runtimepy_enum_type->runtimepy_enum - - + + runtimepy_enum_type->runtimepy_enum_registry - - + + runtimepy_mapping - -runtimepy. -mapping + +runtimepy. +mapping runtimepy_mapping->runtimepy_channel_environment_create - - + + + runtimepy_mapping->runtimepy_channel_environment_file - - - - + + runtimepy_mapping->runtimepy_enum - - - + + + runtimepy_mapping->runtimepy_enum_registry - - - + + runtimepy_registry_bool - -runtimepy. -registry. -bool + +runtimepy. +registry. +bool runtimepy_mapping->runtimepy_registry_bool - - + + + runtimepy_registry_name - -runtimepy. -registry. -name + +runtimepy. +registry. +name runtimepy_mapping->runtimepy_registry_name - - + + runtimepy_mixins - -runtimepy. -mixins + +runtimepy. +mixins runtimepy_mixins->runtimepy_channel - + runtimepy_mixins->runtimepy_channel_registry - + + + runtimepy_mixins->runtimepy_mapping - - + + runtimepy_primitives_field - -runtimepy. -primitives. -field + +runtimepy. +primitives. +field runtimepy_mixins->runtimepy_primitives_field - - + + runtimepy_mixins_enum - -runtimepy. -mixins. -enum + +runtimepy. +mixins. +enum runtimepy_mixins_enum->runtimepy_channel - - - + runtimepy_mixins_enum->runtimepy_primitives_field - - + runtimepy_mixins_regex - -runtimepy. -mixins. -regex + +runtimepy. +mixins. +regex runtimepy_mixins_regex->runtimepy_channel_registry - - + runtimepy_mixins_regex->runtimepy_mapping - - - + + runtimepy_mixins_regex->runtimepy_primitives_field - - - - + + runtimepy_net_connection - -runtimepy. -net. -connection + +runtimepy. +net. +connection runtimepy_net_manager - -runtimepy. -net. -manager + +runtimepy. +net. +manager runtimepy_net_connection->runtimepy_net_manager - - + + runtimepy_net_mixin - -runtimepy. -net. -mixin + +runtimepy. +net. +mixin runtimepy_net_connection->runtimepy_net_mixin - - + + runtimepy_net_tcp_connection - -runtimepy. -net. -tcp. -connection + +runtimepy. +net. +tcp. +connection runtimepy_net_connection->runtimepy_net_tcp_connection - + + + runtimepy_net_udp_connection - -runtimepy. -net. -udp. -connection + +runtimepy. +net. +udp. +connection runtimepy_net_connection->runtimepy_net_udp_connection - + + runtimepy_net_websocket_connection - -runtimepy. -net. -websocket. -connection + +runtimepy. +net. +websocket. +connection runtimepy_net_connection->runtimepy_net_websocket_connection - - - + + runtimepy_net_manager->runtimepy_net_tcp_connection - - - + runtimepy_net_mixin->runtimepy_net_tcp_connection - - + + + runtimepy_net_mixin->runtimepy_net_udp_connection - - - + + runtimepy_primitives - -runtimepy. -primitives + +runtimepy. +primitives runtimepy_primitives->runtimepy_channel - - + + runtimepy_primitives->runtimepy_channel_environment_array - + + runtimepy_primitives->runtimepy_channel_environment_base - + + + runtimepy_primitives->runtimepy_channel_environment_create - - + runtimepy_primitives->runtimepy_channel_environment_file - - + + runtimepy_primitives->runtimepy_channel_registry - - - + + runtimepy_primitives->runtimepy_codec_protocol_base - - + + runtimepy_primitives->runtimepy_codec_protocol_json - - + + runtimepy_primitives_array - -runtimepy. -primitives. -array + +runtimepy. +primitives. +array runtimepy_primitives_array->runtimepy_channel_environment_array - - - + + runtimepy_primitives_array->runtimepy_codec_protocol_base - - + runtimepy_primitives_base - -runtimepy. -primitives. -base + +runtimepy. +primitives. +base runtimepy_primitives_base->runtimepy_primitives_array - - + + runtimepy_primitives_bool - -runtimepy. -primitives. -bool + +runtimepy. +primitives. +bool runtimepy_primitives_base->runtimepy_primitives_bool - - + + runtimepy_primitives_float - -runtimepy. -primitives. -float + +runtimepy. +primitives. +float runtimepy_primitives_base->runtimepy_primitives_float - - + + runtimepy_primitives_int - -runtimepy. -primitives. -int + +runtimepy. +primitives. +int runtimepy_primitives_base->runtimepy_primitives_int - - + + runtimepy_primitives_bool->runtimepy_channel - - - + + + runtimepy_primitives_bool->runtimepy_primitives - - + + runtimepy_primitives_field->runtimepy_channel_environment_array - - - + + runtimepy_primitives_field->runtimepy_channel_environment_base - + + + + runtimepy_primitives_field->runtimepy_channel_environment_file - - + runtimepy_primitives_field->runtimepy_codec_protocol_base - - + + runtimepy_primitives_field->runtimepy_codec_protocol_json - - - + + runtimepy_primitives_field_fields - -runtimepy. -primitives. -field. -fields + +runtimepy. +primitives. +field. +fields runtimepy_primitives_field_fields->runtimepy_channel_environment_array - - - + + runtimepy_primitives_field_fields->runtimepy_channel_environment_base - - + + runtimepy_primitives_field_fields->runtimepy_codec_protocol_base - + runtimepy_primitives_field_fields->runtimepy_primitives_field_manager - - + + runtimepy_primitives_field_fields->runtimepy_primitives_field_manager_base - - + + runtimepy_primitives_field_manager->runtimepy_channel_environment_base - - + + runtimepy_primitives_field_manager->runtimepy_channel_environment_file - - + + runtimepy_primitives_field_manager->runtimepy_codec_protocol_base - - - + + runtimepy_primitives_field_manager->runtimepy_codec_protocol_json - - + + runtimepy_primitives_field_manager_base->runtimepy_primitives_field_manager - - + + runtimepy_primitives_float->runtimepy_channel - - + + runtimepy_primitives_float->runtimepy_primitives - - + + runtimepy_primitives_int->runtimepy_channel - + runtimepy_primitives_int->runtimepy_primitives - - + + runtimepy_primitives_int->runtimepy_primitives_field - - + + + runtimepy_primitives_int->runtimepy_primitives_field_fields - - + + runtimepy_primitives_type - -runtimepy. -primitives. -type + +runtimepy. +primitives. +type runtimepy_primitives_type->runtimepy_primitives_base - - + + runtimepy_primitives_type->runtimepy_primitives_bool - + + runtimepy_primitives_type->runtimepy_primitives_float - - - + runtimepy_primitives_type->runtimepy_primitives_int - + + runtimepy_primitives_type_base - -runtimepy. -primitives. -type. -base + +runtimepy. +primitives. +type. +base runtimepy_primitives_type_bool - -runtimepy. -primitives. -type. -bool + +runtimepy. +primitives. +type. +bool runtimepy_primitives_type_base->runtimepy_primitives_type_bool - - + + runtimepy_primitives_type_float - -runtimepy. -primitives. -type. -float + +runtimepy. +primitives. +type. +float runtimepy_primitives_type_base->runtimepy_primitives_type_float - - + + runtimepy_primitives_type_int - -runtimepy. -primitives. -type. -int + +runtimepy. +primitives. +type. +int runtimepy_primitives_type_base->runtimepy_primitives_type_int - - + + runtimepy_primitives_type_bool->runtimepy_primitives_bool - - - + + runtimepy_primitives_type_bool->runtimepy_primitives_type - - + + runtimepy_primitives_type_float->runtimepy_primitives_float - + + + runtimepy_primitives_type_float->runtimepy_primitives_type - - + + runtimepy_primitives_type_int->runtimepy_primitives_int - - - + + runtimepy_primitives_type_int->runtimepy_primitives_type - - + + runtimepy_registry - -runtimepy. -registry + +runtimepy. +registry runtimepy_registry->runtimepy_channel - - - + runtimepy_registry->runtimepy_channel_environment_array - - - + + + runtimepy_registry->runtimepy_channel_environment_base - - + + runtimepy_registry->runtimepy_channel_environment_create - + + + runtimepy_registry->runtimepy_channel_registry - - - + + + runtimepy_registry->runtimepy_codec_protocol_base - - - + + + + runtimepy_registry->runtimepy_enum - - - + runtimepy_registry->runtimepy_enum_registry - + + runtimepy_registry->runtimepy_mixins_enum - - + + runtimepy_registry->runtimepy_primitives_field - - + + runtimepy_registry->runtimepy_primitives_field_fields - - - + + + + + runtimepy_registry->runtimepy_primitives_field_manager - + + + runtimepy_registry->runtimepy_primitives_field_manager_base - - + + + runtimepy_registry_bool->runtimepy_enum - + runtimepy_registry_item - -runtimepy. -registry. -item + +runtimepy. +registry. +item runtimepy_registry_item->runtimepy_channel - + + + runtimepy_registry_item->runtimepy_enum - - + + runtimepy_registry_item->runtimepy_registry - - + + runtimepy_registry_name->runtimepy_channel_environment_array - + runtimepy_registry_name->runtimepy_channel_environment_base - - - + + runtimepy_registry_name->runtimepy_channel_environment_create - + runtimepy_registry_name->runtimepy_channel_registry - - + runtimepy_registry_name->runtimepy_codec_protocol_base - - + runtimepy_registry_name->runtimepy_enum - - + runtimepy_registry_name->runtimepy_mixins_enum - - + + + runtimepy_registry_name->runtimepy_primitives_field - - + + + runtimepy_registry_name->runtimepy_primitives_field_fields - - + runtimepy_registry_name->runtimepy_primitives_field_manager - - - - - + runtimepy_registry_name->runtimepy_primitives_field_manager_base - - - + + + runtimepy_registry_name->runtimepy_registry - - + + runtimepy_schemas - -runtimepy. -schemas + +runtimepy. +schemas runtimepy_schemas->runtimepy_primitives_field_fields - - + + runtimepy_schemas->runtimepy_registry - - + + - + +runtimepy_schemas->runtimepy_registry_item + + + + runtimepy_task->runtimepy_tui_task - - - + + + runtimepy_tui - -runtimepy.tui + +runtimepy.tui - + runtimepy_tui->runtimepy_commands_tui - + - + runtimepy_tui_channels->runtimepy_commands_tui - + + - + runtimepy_tui_channels->runtimepy_tui_task - - + + - + runtimepy_tui_task->runtimepy_commands_tui - + vcorelib - -vcorelib + +vcorelib - + vcorelib->runtimepy_app - - - - - + + + - + vcorelib->runtimepy_channel - - + + - + vcorelib->runtimepy_channel_environment_base - - + - + vcorelib->runtimepy_channel_environment_create - - - + - + vcorelib->runtimepy_channel_environment_file - - - + - + vcorelib->runtimepy_channel_registry - - + + - + vcorelib->runtimepy_codec_protocol_base - - + + - + vcorelib->runtimepy_codec_protocol_json - - - - + + + + + - + vcorelib->runtimepy_commands_all - - - + + - + vcorelib->runtimepy_commands_tui - - - + + + - + vcorelib->runtimepy_enum - - - + + + - + vcorelib->runtimepy_enum_registry - - - - + + + + + + + - + vcorelib->runtimepy_net_connection - - + + - + vcorelib->runtimepy_net_tcp_connection - - - + + - + vcorelib->runtimepy_net_udp_connection - - + + + + - + vcorelib->runtimepy_primitives_field - - + + + + - + vcorelib->runtimepy_primitives_field_fields - - + + - + vcorelib->runtimepy_primitives_field_manager - - + - + vcorelib->runtimepy_primitives_field_manager_base - + + - + vcorelib->runtimepy_registry - - - + + - + vcorelib->runtimepy_registry_item - - + + - + vcorelib->runtimepy_schemas - - - - + + - + vcorelib->runtimepy_task - - + + vcorelib_args - -vcorelib.args + +vcorelib.args - + vcorelib_args->runtimepy_app - + - + vcorelib_args->runtimepy_commands_all - - - + + + - + vcorelib_args->runtimepy_commands_tui - - + + vcorelib_asyncio - -vcorelib. -asyncio + +vcorelib. +asyncio - + vcorelib_asyncio->runtimepy_commands_tui - + vcorelib_dict - -vcorelib.dict - - - -vcorelib_dict->runtimepy_registry_item - - + +vcorelib.dict vcorelib_dict->runtimepy_schemas - - - + + vcorelib_io - -vcorelib.io + +vcorelib.io vcorelib_dict->vcorelib_io - - - + + vcorelib_io_types - -vcorelib. -io. -types + +vcorelib. +io. +types vcorelib_dict->vcorelib_io_types - - + + vcorelib_dict_codec - -vcorelib. -dict. -codec - - - -vcorelib_dict_codec->runtimepy_registry_item - - + +vcorelib. +dict. +codec - + vcorelib_dict_codec->runtimepy_schemas - - - + + + - + vcorelib_io->runtimepy_channel - - - + + + - + vcorelib_io->runtimepy_channel_environment_file - + + - + vcorelib_io->runtimepy_channel_registry - - - + + - + vcorelib_io->runtimepy_codec_protocol_base - - - - - + + + + + - + vcorelib_io->runtimepy_codec_protocol_json - + + - + vcorelib_io->runtimepy_enum - + + - + vcorelib_io->runtimepy_enum_registry - - - - + + - + vcorelib_io->runtimepy_primitives_field - - - - + - + vcorelib_io->runtimepy_primitives_field_fields - - - + + + + - + vcorelib_io->runtimepy_primitives_field_manager - - - + + - + vcorelib_io->runtimepy_primitives_field_manager_base - - - + + - + vcorelib_io->runtimepy_registry - - - + + + + - + vcorelib_io->runtimepy_registry_item - - - + - + vcorelib_io->vcorelib_dict_codec - - + vcorelib_schemas - -vcorelib. -schemas + +vcorelib. +schemas - + vcorelib_io->vcorelib_schemas - - + + vcorelib_schemas_base - -vcorelib. -schemas. -base + +vcorelib. +schemas. +base - + vcorelib_io->vcorelib_schemas_base - - + + + + + + +vcorelib_schemas_json + +vcorelib. +schemas. +json + + + +vcorelib_io->vcorelib_schemas_json + + + vcorelib_io_types->runtimepy_channel - - + + vcorelib_io_types->runtimepy_channel_environment_file - + vcorelib_io_types->runtimepy_channel_registry - - + + + vcorelib_io_types->runtimepy_codec_protocol_base - - - + + vcorelib_io_types->runtimepy_codec_protocol_json - - - - - + + + vcorelib_io_types->runtimepy_enum - - + + vcorelib_io_types->runtimepy_enum_registry - - + + + vcorelib_io_types->runtimepy_primitives_field - + + + vcorelib_io_types->runtimepy_primitives_field_fields - - - + + + vcorelib_io_types->runtimepy_primitives_field_manager - + + + vcorelib_io_types->runtimepy_primitives_field_manager_base - - - + + + vcorelib_io_types->runtimepy_registry - - - - + + + + vcorelib_io_types->runtimepy_registry_item - + + + + vcorelib_io_types->vcorelib_dict_codec - - - + + + + vcorelib_io_types->vcorelib_io - - + + vcorelib_io_types->vcorelib_schemas - - + + + vcorelib_io_types->vcorelib_schemas_base - - - + + + + + +vcorelib_io_types->vcorelib_schemas_json + + vcorelib_logging - -vcorelib. -logging + +vcorelib. +logging - + vcorelib_logging->runtimepy_net_connection - - + + - + vcorelib_logging->runtimepy_net_tcp_connection - - + + + - + vcorelib_logging->runtimepy_net_udp_connection - - - - + + - + vcorelib_logging->runtimepy_task - - + vcorelib_math - -vcorelib.math + +vcorelib.math - + vcorelib_math->runtimepy_task - - - - - + + + - + vcorelib_math->vcorelib_logging - - + + vcorelib_math_analysis - -vcorelib. -math. -analysis + +vcorelib. +math. +analysis - + vcorelib_math_analysis->runtimepy_task - + + + vcorelib_math_analysis_average - -vcorelib. -math. -analysis. -average + +vcorelib. +math. +analysis. +average - + vcorelib_math_analysis_average->runtimepy_task - + vcorelib_math_analysis_rate - -vcorelib. -math. -analysis. -rate + +vcorelib. +math. +analysis. +rate - + vcorelib_math_analysis_average->vcorelib_math_analysis_rate - - + + - + vcorelib_math_analysis_rate->runtimepy_task - + vcorelib_namespace - -vcorelib. -namespace + +vcorelib. +namespace - + vcorelib_namespace->runtimepy_channel_environment_base - - - + + + + - + vcorelib_namespace->runtimepy_channel_environment_create - - - + + vcorelib_paths - -vcorelib.paths + +vcorelib.paths - + vcorelib_paths->runtimepy_channel_environment_file - - - - - + - + vcorelib_paths->runtimepy_primitives_field_manager - - - - + + + - + vcorelib_paths->runtimepy_primitives_field_manager_base - - + + + + - + vcorelib_paths->vcorelib_dict_codec - - - + + - + vcorelib_paths->vcorelib_io - - + + + - + vcorelib_paths->vcorelib_io_types - - + + - + vcorelib_paths->vcorelib_schemas_base - - + + + + + +vcorelib_paths->vcorelib_schemas_json + + - + vcorelib_schemas->runtimepy_schemas - - - + + - + vcorelib_schemas->vcorelib_dict_codec - - + - + vcorelib_schemas_base->runtimepy_schemas - + - + vcorelib_schemas_base->vcorelib_dict_codec - - - + + - + vcorelib_schemas_base->vcorelib_schemas - - + + + + + +vcorelib_schemas_base->vcorelib_schemas_json + + + + + +vcorelib_schemas_json->runtimepy_schemas + - + websockets - -websockets + +websockets - + websockets->runtimepy_net_websocket_connection - + - + websockets_client - -websockets. -client + +websockets. +client - + websockets_client->runtimepy_net_websocket_connection - - + + + - + websockets_exceptions - -websockets. -exceptions + +websockets. +exceptions - + websockets_exceptions->runtimepy_net_websocket_connection - + - + websockets_exceptions->websockets_client - - + + - + websockets_server - -websockets. -server + +websockets. +server - + websockets_exceptions->websockets_server - - + + - + websockets_server->runtimepy_net_websocket_connection - - + diff --git a/local/configs/package.yaml b/local/configs/package.yaml index e96f40b7..c916fa62 100644 --- a/local/configs/package.yaml +++ b/local/configs/package.yaml @@ -5,7 +5,7 @@ description: A framework for implementing Python services. entry: {{entry}} requirements: - - vcorelib>=1.1.7 + - vcorelib>=1.2.0 - websockets - "windows-curses; sys_platform == 'win32'" diff --git a/local/variables/package.yaml b/local/variables/package.yaml index 46ba57bd..f4e094f7 100644 --- a/local/variables/package.yaml +++ b/local/variables/package.yaml @@ -1,5 +1,5 @@ --- major: 0 minor: 13 -patch: 0 +patch: 1 entry: runtimepy diff --git a/pyproject.toml b/pyproject.toml index ffb2e23a..c574a2bd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta:__legacy__" [project] name = "runtimepy" -version = "0.13.0" +version = "0.13.1" description = "A framework for implementing Python services." readme = "README.md" requires-python = ">=3.7" diff --git a/runtimepy/__init__.py b/runtimepy/__init__.py index 69437ec0..8b32c994 100644 --- a/runtimepy/__init__.py +++ b/runtimepy/__init__.py @@ -1,7 +1,7 @@ # ===================================== # generator=datazen # version=3.1.0 -# hash=1a71c8001105fcdb5a240f10db7ba967 +# hash=0c272e6a3c9844e3ceb54644218fe96e # ===================================== """ @@ -10,4 +10,4 @@ DESCRIPTION = "A framework for implementing Python services." PKG_NAME = "runtimepy" -VERSION = "0.13.0" +VERSION = "0.13.1" diff --git a/runtimepy/data/schemas/Channel.yaml b/runtimepy/data/schemas/Channel.yaml new file mode 100644 index 00000000..9bc7f612 --- /dev/null +++ b/runtimepy/data/schemas/Channel.yaml @@ -0,0 +1,34 @@ +--- +type: object +required: [id, type] +additionalProperties: false + +properties: + id: + type: integer + minimum: 1 + + type: + enum: + - bool + - float + - double + - int8 + - int16 + - int32 + - int64 + - uint8 + - uint16 + - uint32 + - uint64 + + commandable: + type: boolean + default: false + + enum: + oneOf: + - type: integer + minimum: 1 + - type: string + pattern: "^\\w+$" diff --git a/runtimepy/data/schemas/ChannelRegistry.yaml b/runtimepy/data/schemas/ChannelRegistry.yaml index ef633a61..da0c54ce 100644 --- a/runtimepy/data/schemas/ChannelRegistry.yaml +++ b/runtimepy/data/schemas/ChannelRegistry.yaml @@ -4,36 +4,4 @@ additionalProperties: false patternProperties: "^[a-z0-9-_.]+$": - type: object - required: [id, type] - additionalProperties: false - - properties: - id: - type: integer - minimum: 1 - - type: - enum: - - bool - - float - - double - - int8 - - int16 - - int32 - - int64 - - uint8 - - uint16 - - uint32 - - uint64 - - commandable: - type: boolean - default: false - - enum: - oneOf: - - type: integer - minimum: 1 - - type: string - pattern: "^\\w+$" + $ref: package://runtimepy/schemas/Channel.yaml diff --git a/runtimepy/data/schemas/EnumRegistry.yaml b/runtimepy/data/schemas/EnumRegistry.yaml index 03b8ffe8..b158268b 100644 --- a/runtimepy/data/schemas/EnumRegistry.yaml +++ b/runtimepy/data/schemas/EnumRegistry.yaml @@ -4,25 +4,4 @@ additionalProperties: false patternProperties: "^\\w+$": - type: object - required: [id, type] - additionalProperties: false - - properties: - id: - type: integer - minimum: 1 - - type: - enum: [bool, int] - - items: - type: object - additionalProperties: false - - patternProperties: - "^\\w+$": - oneOf: - - type: integer - minimum: 1 - - type: boolean + $ref: package://runtimepy/schemas/RuntimeEnum.yaml diff --git a/runtimepy/data/schemas/RuntimeEnum.yaml b/runtimepy/data/schemas/RuntimeEnum.yaml new file mode 100644 index 00000000..32ba068e --- /dev/null +++ b/runtimepy/data/schemas/RuntimeEnum.yaml @@ -0,0 +1,23 @@ +--- +type: object +required: [id, type] +additionalProperties: false + +properties: + id: + type: integer + minimum: 1 + + type: + enum: [bool, int] + + items: + type: object + additionalProperties: false + + patternProperties: + "^\\w+$": + oneOf: + - type: integer + minimum: 1 + - type: boolean diff --git a/runtimepy/registry/item.py b/runtimepy/registry/item.py index d332f59f..3c07291e 100644 --- a/runtimepy/registry/item.py +++ b/runtimepy/registry/item.py @@ -6,11 +6,13 @@ from typing import cast as _cast # third-party -from vcorelib.dict.codec import DictCodec as _DictCodec from vcorelib.io.types import JsonObject as _JsonObject +# internal +from runtimepy.schemas import RuntimepyDictCodec as _RuntimepyDictCodec -class RegistryItem(_DictCodec): + +class RegistryItem(_RuntimepyDictCodec): """A class interface for items that can be managed via a registry.""" def __hash__(self) -> int: diff --git a/runtimepy/requirements.txt b/runtimepy/requirements.txt index 086996ee..9609626b 100644 --- a/runtimepy/requirements.txt +++ b/runtimepy/requirements.txt @@ -1,3 +1,3 @@ -vcorelib>=1.1.7 +vcorelib>=1.2.0 websockets windows-curses; sys_platform == 'win32' diff --git a/runtimepy/schemas.py b/runtimepy/schemas.py index d87ab7ab..0ac4f7a2 100644 --- a/runtimepy/schemas.py +++ b/runtimepy/schemas.py @@ -8,8 +8,8 @@ # third-party from vcorelib.dict.codec import DictCodec as _DictCodec -from vcorelib.schemas import JsonSchemaMap as _JsonSchemaMap from vcorelib.schemas.base import SchemaMap as _SchemaMap +from vcorelib.schemas.json import JsonSchemaMap as _JsonSchemaMap # internal from runtimepy import PKG_NAME