osbot-utils 2.8.0__tar.gz → 2.10.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.
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/PKG-INFO +2 -2
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/README.md +1 -1
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/type_safe/Type_Safe.py +2 -0
- osbot_utils-2.10.0/osbot_utils/type_safe/methods/type_safe_property.py +36 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Objects.py +7 -3
- osbot_utils-2.10.0/osbot_utils/utils/__init__.py +0 -0
- osbot_utils-2.10.0/osbot_utils/version +1 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/pyproject.toml +1 -1
- osbot_utils-2.8.0/osbot_utils/version +0 -1
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/LICENSE +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/base_classes/Cache_Pickle.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/base_classes/Kwargs_To_Disk.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/base_classes/Kwargs_To_Self.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/base_classes/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/context_managers/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/context_managers/async_invoke.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/context_managers/capture_duration.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/context_managers/disable_root_loggers.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/context_managers/print_duration.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/classes/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/classes/singleton.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/lists/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/lists/filter_list.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/lists/group_by.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/lists/index_by.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/methods/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/methods/cache.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/methods/cache_on_function.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/methods/cache_on_self.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/methods/cache_on_tmp.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/methods/capture_exception.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/methods/capture_status.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/methods/catch.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/methods/context.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/methods/depreciated.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/methods/function_type_check.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/methods/obj_as_context.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/methods/remove_return_value.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/methods/required_fields.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/fluent/Fluent_Dict.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/fluent/Fluent_List.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/fluent/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/CFormat.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/CPrint.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/Dependency_Manager.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/Dict_To_Attr.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/Guid.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/Hashicorp_Secrets.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/Local_Cache.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/Local_Caches.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/Print_Table.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/Python_Audit.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/Random_Guid.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/Random_Guid_Short.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/Random_Seed.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/Safe_Id.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/Str_ASCII.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/Timestamp_Now.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/Type_Registry.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/Zip_Bytes.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/Ast.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/Ast_Base.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/Ast_Data.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/Ast_Load.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/Ast_Merge.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/Ast_Node.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/Ast_Visit.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/Call_Tree.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Add.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Alias.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_And.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Argument.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Arguments.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Assert.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Assign.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Attribute.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Aug_Assign.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Bin_Op.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Bool_Op.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Break.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Call.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Class_Def.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Compare.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Comprehension.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Constant.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Continue.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Dict.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Eq.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Except_Handler.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Expr.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_For.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Function_Def.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Generator_Exp.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Gt.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_GtE.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_If.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_If_Exp.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Import.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Import_From.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_In.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Is.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Is_Not.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Keyword.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Lambda.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_List.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_List_Comp.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Load.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Lt.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_LtE.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Mod.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Module.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Mult.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Name.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Not.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Not_Eq.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Not_In.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Or.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Pass.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Pow.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Raise.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Return.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Set.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Slice.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Starred.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Store.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Sub.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Subscript.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Try.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Tuple.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Unary_Op.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_While.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_With.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_With_Item.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Yield.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Actions.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Config.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Data.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Invoke.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Row.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Table.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/cache_requests/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/cache_requests/flows/flow__Cache__Requests.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/flows/Flow.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/flows/Flow__Events.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/flows/Task.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/flows/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/flows/decorators/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/flows/decorators/flow.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/flows/decorators/task.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/flows/models/Flow_Run__Config.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/flows/models/Flow_Run__Event.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/flows/models/Flow_Run__Event_Data.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/flows/models/Flow_Run__Event_Type.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/flows/models/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/generators/Generator_Context_Manager.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/generators/Generator_Manager.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/generators/Model__Generator_State.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/generators/Model__Generator_Target.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/generators/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/html/Dict_To_Css.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/html/Dict_To_Html.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/html/Dict_To_Tags.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/html/Html_To_Dict.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/html/Html_To_Tag.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/html/Tag__Base.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/html/Tag__Body.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/html/Tag__Div.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/html/Tag__H.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/html/Tag__HR.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/html/Tag__Head.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/html/Tag__Html.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/html/Tag__Link.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/html/Tag__Style.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/html/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/pubsub/Event__Queue.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/pubsub/PubSub__Client.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/pubsub/PubSub__Room.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/pubsub/PubSub__Server.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/pubsub/PubSub__Sqlite.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/pubsub/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Connect.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Disconnect.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Execute_Method.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Join_Room.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Leave_Room.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Message.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/pubsub/schemas/Schema__PubSub__Client.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/pubsub/schemas/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/python_compatibility/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/python_compatibility/python_3_8.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/Capture_Sqlite_Error.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/Sqlite__Cursor.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/Sqlite__Database.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/Sqlite__Field.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/Sqlite__Globals.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/Sqlite__Table.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/Sqlite__Table__Create.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/Temp_Sqlite__Database__Disk.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/Temp_Sqlite__Table.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/cache/Schema__Table__Requests.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests__Patch.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests__Sqlite.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests__Table.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/cache/Sqlite__DB__Requests.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/cache/TestCase__Sqlite__Cache__Requests.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/cache/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Files.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Graph.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Json.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Local.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/domains/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/domains/schemas/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/models/Sqlite__Field__Type.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/models/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/sample_data/Sqlite__Sample_Data__Chinook.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/sample_data/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/sql_builder/SQL_Builder.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/sql_builder/SQL_Builder__Select.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/sql_builder/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Config.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Edges.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Files.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Nodes.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/sqlite/tables/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ssh/SCP.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ssh/SSH.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ssh/SSH__Cache__Requests.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ssh/SSH__Execute.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ssh/SSH__Health_Check.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ssh/SSH__Linux.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ssh/SSH__Linux__Amazon.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ssh/SSH__Python.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ssh/TestCase__SSH.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ssh/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/trace/Trace_Call.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/trace/Trace_Call__Config.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/trace/Trace_Call__Handler.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/trace/Trace_Call__Print_Lines.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/trace/Trace_Call__Print_Traces.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/trace/Trace_Call__Stack.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/trace/Trace_Call__Stack_Node.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/trace/Trace_Call__Stats.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/trace/Trace_Call__View_Model.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/trace/Trace_Files.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/trace/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/xml/Xml__Attribute.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/xml/Xml__Element.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/xml/Xml__File.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/xml/Xml__File__Load.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/xml/Xml__File__To_Dict.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/xml/Xml__File__To_Xml.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/xml/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/xml/rss/RSS__Channel.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/xml/rss/RSS__Enclosure.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/xml/rss/RSS__Feed.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/xml/rss/RSS__Feed__Parser.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/xml/rss/RSS__Image.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/xml/rss/RSS__Item.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Catch.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Custom_Handler_For_Http_Tests.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Duration.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Hook_Method.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Log_To_Queue.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Log_To_String.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Logging.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Patch_Print.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Profiler.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Pytest.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Stderr.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Stdout.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Temp_Env_Vars.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Temp_File.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Temp_Folder.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Temp_Sys_Path.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Temp_Web_Server.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Temp_Zip.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Temp_Zip_In_Memory.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Unit_Test.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/Unzip_File.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/testing/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/type_safe/Type_Safe__Base.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/type_safe/Type_Safe__Dict.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/type_safe/Type_Safe__List.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/type_safe/Type_Safe__Method.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/type_safe/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/type_safe/decorators/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/type_safe/decorators/type_safe.py +0 -0
- {osbot_utils-2.8.0/osbot_utils/type_safe/validators → osbot_utils-2.10.0/osbot_utils/type_safe/methods}/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/type_safe/validators/Type_Safe__Validator.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/type_safe/validators/Validator__Max.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/type_safe/validators/Validator__Min.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/type_safe/validators/Validator__One_Of.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/type_safe/validators/Validator__Regex.py +0 -0
- {osbot_utils-2.8.0/osbot_utils/utils → osbot_utils-2.10.0/osbot_utils/type_safe/validators}/__init__.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Assert.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Call_Stack.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Csv.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Dev.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Env.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Exceptions.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Files.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Functions.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Http.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Int.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Json.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Json_Cache.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Lists.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Misc.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Png.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Process.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Python_Logger.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Regex.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Status.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Str.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Threads.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Toml.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Version.py +0 -0
- {osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/utils/Zip.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: osbot_utils
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.10.0
|
4
4
|
Summary: OWASP Security Bot - Utils
|
5
5
|
Home-page: https://github.com/owasp-sbot/OSBot-Utils
|
6
6
|
License: MIT
|
@@ -23,7 +23,7 @@ Description-Content-Type: text/markdown
|
|
23
23
|
|
24
24
|
Powerful Python util methods and classes that simplify common apis and tasks.
|
25
25
|
|
26
|
-

|
27
27
|
[](https://codecov.io/gh/owasp-sbot/OSBot-Utils)
|
28
28
|
|
29
29
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Powerful Python util methods and classes that simplify common apis and tasks.
|
4
4
|
|
5
|
-

|
6
6
|
[](https://codecov.io/gh/owasp-sbot/OSBot-Utils)
|
7
7
|
|
8
8
|
|
@@ -157,6 +157,8 @@ class Type_Safe:
|
|
157
157
|
continue
|
158
158
|
if type(v) is functools._lru_cache_wrapper: # todo, find better way to handle edge cases like this one (which happens when the @cache decorator is used in a instance method that uses Kwargs_To_Self)
|
159
159
|
continue
|
160
|
+
if isinstance(v, property): # skip property descriptors since they should not be handled here
|
161
|
+
continue
|
160
162
|
if (k in kwargs) is False: # do not set the value is it has already been set
|
161
163
|
kwargs[k] = v
|
162
164
|
|
@@ -0,0 +1,36 @@
|
|
1
|
+
from typing import TypeVar, Type, Optional
|
2
|
+
|
3
|
+
T = TypeVar('T')
|
4
|
+
|
5
|
+
def type_safe_property(target_path: str, target_name: str, expected_type: Optional[Type[T]] = None) -> property: # Creates a type-safe property that delegates get/set operations to a nested data object
|
6
|
+
|
7
|
+
def getter(self) -> T:
|
8
|
+
target = self
|
9
|
+
for part in target_path.split('.'):
|
10
|
+
target = getattr(target, part)
|
11
|
+
|
12
|
+
value = getattr(target, target_name)
|
13
|
+
|
14
|
+
if expected_type and value is not None:
|
15
|
+
if not isinstance(value, expected_type):
|
16
|
+
raise TypeError(f"Property '{target_name}' returned value of type {type(value)}, expected {expected_type}")
|
17
|
+
return value
|
18
|
+
|
19
|
+
def setter(self, value: T) -> None:
|
20
|
+
if expected_type and value is not None:
|
21
|
+
if not isinstance(value, expected_type):
|
22
|
+
raise TypeError(f"Cannot set property '{target_name}' with value of type {type(value)}, expected {expected_type}")
|
23
|
+
|
24
|
+
target = self
|
25
|
+
for part in target_path.split('.'):
|
26
|
+
target = getattr(target, part)
|
27
|
+
if hasattr(target, target_name) is False:
|
28
|
+
raise AttributeError(f"Target path '{target_path}' does not have an attribute '{target_name}'")
|
29
|
+
setattr(target, target_name, value)
|
30
|
+
|
31
|
+
return property(getter, setter)
|
32
|
+
|
33
|
+
|
34
|
+
wire_as_property = type_safe_property
|
35
|
+
bind_as_property = type_safe_property
|
36
|
+
set_as_property = type_safe_property
|
@@ -97,9 +97,13 @@ def class_name(target):
|
|
97
97
|
|
98
98
|
def class_full_name(target):
|
99
99
|
if target:
|
100
|
-
|
101
|
-
|
102
|
-
|
100
|
+
if isinstance(target, type): # Check if target is a type
|
101
|
+
type_module = target.__module__
|
102
|
+
type_name = target.__name__
|
103
|
+
else: # Handle instances
|
104
|
+
type_target = type(target)
|
105
|
+
type_module = type_target.__module__
|
106
|
+
type_name = type_target.__name__
|
103
107
|
return f'{type_module}.{type_name}'
|
104
108
|
|
105
109
|
def convert_dict_to_value_from_obj_annotation(target, attr_name, value): # todo: refactor this with code from convert_str_to_value_from_obj_annotation since it is mostly the same
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
v2.10.0
|
@@ -1 +0,0 @@
|
|
1
|
-
v2.8.0
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/context_managers/disable_root_loggers.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/methods/cache_on_function.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/methods/capture_exception.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/methods/function_type_check.py
RENAMED
File without changes
|
File without changes
|
{osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/decorators/methods/remove_return_value.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/ast/nodes/Ast_Except_Handler.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Data.py
RENAMED
File without changes
|
File without changes
|
{osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Row.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/flows/models/Flow_Run__Config.py
RENAMED
File without changes
|
{osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/flows/models/Flow_Run__Event.py
RENAMED
File without changes
|
{osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/flows/models/Flow_Run__Event_Data.py
RENAMED
File without changes
|
{osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/flows/models/Flow_Run__Event_Type.py
RENAMED
File without changes
|
File without changes
|
{osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/generators/Generator_Context_Manager.py
RENAMED
File without changes
|
{osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/generators/Generator_Manager.py
RENAMED
File without changes
|
{osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/generators/Model__Generator_State.py
RENAMED
File without changes
|
{osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/generators/Model__Generator_Target.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-2.8.0 → osbot_utils-2.10.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|