osbot-utils 2.16.0__tar.gz → 2.18.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.16.0 → osbot_utils-2.18.0}/PKG-INFO +2 -2
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/README.md +1 -1
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/flows/Flow.py +12 -12
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/flows/Task.py +10 -9
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/Type_Safe__Base.py +3 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/shared/Type_Safe__Validation.py +1 -1
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/steps/Type_Safe__Step__From_Json.py +4 -1
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Json.py +2 -1
- osbot_utils-2.18.0/osbot_utils/version +1 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/pyproject.toml +1 -1
- osbot_utils-2.16.0/osbot_utils/version +0 -1
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/LICENSE +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/base_classes/Cache_Pickle.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/base_classes/Kwargs_To_Disk.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/base_classes/Kwargs_To_Self.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/base_classes/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/context_managers/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/context_managers/async_invoke.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/context_managers/capture_duration.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/context_managers/disable_root_loggers.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/context_managers/print_duration.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/classes/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/classes/singleton.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/lists/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/lists/filter_list.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/lists/group_by.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/lists/index_by.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/methods/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/methods/cache.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/methods/cache_on_function.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/methods/cache_on_self.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/methods/cache_on_tmp.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/methods/capture_exception.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/methods/capture_status.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/methods/catch.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/methods/context.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/methods/depreciated.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/methods/function_type_check.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/methods/obj_as_context.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/methods/remove_return_value.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/methods/required_fields.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/fluent/Fluent_Dict.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/fluent/Fluent_List.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/fluent/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/CFormat.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/CPrint.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/Dependency_Manager.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/Dict_To_Attr.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/Guid.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/Hashicorp_Secrets.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/Local_Cache.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/Local_Caches.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/Obj_Id.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/Print_Table.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/Python_Audit.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/Random_Guid.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/Random_Guid_Short.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/Random_Seed.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/Safe_Id.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/Str_ASCII.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/Timestamp_Now.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/Type_Registry.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/Zip_Bytes.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/Ast.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/Ast_Base.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/Ast_Data.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/Ast_Load.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/Ast_Merge.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/Ast_Node.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/Ast_Visit.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/Call_Tree.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Add.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Alias.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_And.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Argument.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Arguments.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Assert.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Assign.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Attribute.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Aug_Assign.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Bin_Op.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Bool_Op.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Break.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Call.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Class_Def.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Compare.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Comprehension.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Constant.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Continue.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Dict.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Eq.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Except_Handler.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Expr.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_For.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Function_Def.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Generator_Exp.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Gt.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_GtE.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_If.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_If_Exp.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Import.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Import_From.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_In.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Is.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Is_Not.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Keyword.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Lambda.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_List.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_List_Comp.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Load.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Lt.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_LtE.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Mod.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Module.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Mult.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Name.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Not.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Not_Eq.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Not_In.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Or.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Pass.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Pow.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Raise.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Return.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Set.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Slice.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Starred.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Store.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Sub.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Subscript.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Try.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Tuple.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Unary_Op.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_While.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_With.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_With_Item.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Yield.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Actions.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Config.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Data.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Invoke.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Row.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Table.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/cache_requests/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/cache_requests/flows/flow__Cache__Requests.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/flows/Flow__Events.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/flows/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/flows/decorators/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/flows/decorators/flow.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/flows/decorators/task.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/flows/models/Flow_Run__Config.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/flows/models/Flow_Run__Event.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/flows/models/Flow_Run__Event_Data.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/flows/models/Flow_Run__Event_Type.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/flows/models/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/generators/Generator_Context_Manager.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/generators/Generator_Manager.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/generators/Model__Generator_State.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/generators/Model__Generator_Target.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/generators/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/html/Dict_To_Css.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/html/Dict_To_Html.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/html/Dict_To_Tags.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/html/Html_To_Dict.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/html/Html_To_Tag.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/html/Tag__Base.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/html/Tag__Body.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/html/Tag__Div.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/html/Tag__H.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/html/Tag__HR.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/html/Tag__Head.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/html/Tag__Html.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/html/Tag__Link.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/html/Tag__Style.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/html/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/pubsub/Event__Queue.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/pubsub/PubSub__Client.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/pubsub/PubSub__Room.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/pubsub/PubSub__Server.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/pubsub/PubSub__Sqlite.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/pubsub/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Connect.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Disconnect.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Execute_Method.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Join_Room.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Leave_Room.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Message.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/pubsub/schemas/Schema__PubSub__Client.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/pubsub/schemas/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/python_compatibility/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/python_compatibility/python_3_8.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/Capture_Sqlite_Error.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/Sqlite__Cursor.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/Sqlite__Database.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/Sqlite__Field.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/Sqlite__Globals.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/Sqlite__Table.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/Sqlite__Table__Create.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/Temp_Sqlite__Database__Disk.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/Temp_Sqlite__Table.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/cache/Schema__Table__Requests.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests__Patch.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests__Sqlite.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests__Table.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/cache/Sqlite__DB__Requests.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/cache/TestCase__Sqlite__Cache__Requests.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/cache/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Files.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Graph.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Json.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Local.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/domains/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/domains/schemas/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/models/Sqlite__Field__Type.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/models/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/sample_data/Sqlite__Sample_Data__Chinook.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/sample_data/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/sql_builder/SQL_Builder.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/sql_builder/SQL_Builder__Select.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/sql_builder/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Config.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Edges.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Files.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Nodes.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/sqlite/tables/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ssh/SCP.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ssh/SSH.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ssh/SSH__Cache__Requests.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ssh/SSH__Execute.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ssh/SSH__Health_Check.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ssh/SSH__Linux.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ssh/SSH__Linux__Amazon.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ssh/SSH__Python.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ssh/TestCase__SSH.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ssh/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/trace/Trace_Call.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/trace/Trace_Call__Config.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/trace/Trace_Call__Handler.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/trace/Trace_Call__Print_Lines.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/trace/Trace_Call__Print_Traces.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/trace/Trace_Call__Stack.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/trace/Trace_Call__Stack_Node.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/trace/Trace_Call__Stats.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/trace/Trace_Call__View_Model.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/trace/Trace_Files.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/trace/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/xml/Xml__Attribute.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/xml/Xml__Element.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/xml/Xml__File.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/xml/Xml__File__Load.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/xml/Xml__File__To_Dict.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/xml/Xml__File__To_Xml.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/xml/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/xml/rss/RSS__Channel.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/xml/rss/RSS__Enclosure.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/xml/rss/RSS__Feed.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/xml/rss/RSS__Feed__Parser.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/xml/rss/RSS__Image.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/xml/rss/RSS__Item.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Catch.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Custom_Handler_For_Http_Tests.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Duration.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Hook_Method.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Log_To_Queue.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Log_To_String.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Logging.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Patch_Print.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Profiler.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Pytest.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Stderr.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Stdout.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Temp_Env_Vars.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Temp_File.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Temp_Folder.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Temp_Sys_Path.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Temp_Web_Server.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Temp_Zip.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Temp_Zip_In_Memory.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Unit_Test.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/Unzip_File.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/performance/Performance_Measure__Session.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/performance/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/performance/models/Model__Performance_Measure__Measurement.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/performance/models/Model__Performance_Measure__Result.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/testing/performance/models/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/Type_Safe.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/Type_Safe__Dict.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/Type_Safe__List.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/Type_Safe__Method.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/Type_Safe__Set.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/Type_Safe__Tuple.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/decorators/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/decorators/type_safe.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/methods/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/methods/type_safe_property.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/shared/Type_Safe__Annotations.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/shared/Type_Safe__Cache.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/shared/Type_Safe__Convert.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/shared/Type_Safe__Not_Cached.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/shared/Type_Safe__Raise_Exception.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/shared/Type_Safe__Shared__Variables.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/shared/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/steps/Type_Safe__Step__Class_Kwargs.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/steps/Type_Safe__Step__Default_Kwargs.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/steps/Type_Safe__Step__Default_Value.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/steps/Type_Safe__Step__Init.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/steps/Type_Safe__Step__Set_Attr.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/steps/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/validators/Type_Safe__Validator.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/validators/Validator__Max.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/validators/Validator__Min.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/validators/Validator__One_Of.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/validators/Validator__Regex.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/validators/__init__.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Assert.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Call_Stack.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Csv.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Dev.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Env.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Exceptions.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Files.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Functions.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Http.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Int.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Json_Cache.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Lists.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Misc.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Objects.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Png.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Process.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Python_Logger.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Regex.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Status.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Str.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Threads.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Toml.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Version.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/Zip.py +0 -0
- {osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/utils/__init__.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: osbot_utils
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.18.0
|
4
4
|
Summary: OWASP Security Bot - Utils
|
5
5
|
License: MIT
|
6
6
|
Author: Dinis Cruz
|
@@ -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
|
|
@@ -2,17 +2,17 @@ import asyncio
|
|
2
2
|
import logging
|
3
3
|
import typing
|
4
4
|
|
5
|
-
from osbot_utils.helpers.Dependency_Manager
|
6
|
-
from osbot_utils.type_safe.Type_Safe
|
7
|
-
from osbot_utils.helpers.CFormat
|
8
|
-
from osbot_utils.helpers.flows.models.Flow_Run__Config
|
9
|
-
from osbot_utils.helpers.flows.Flow__Events
|
10
|
-
from osbot_utils.helpers.flows.models.Flow_Run__Event_Data
|
11
|
-
from osbot_utils.testing.Stdout
|
12
|
-
from osbot_utils.utils.Misc
|
13
|
-
from osbot_utils.utils.Python_Logger
|
14
|
-
from osbot_utils.utils.Str
|
15
|
-
from osbot_utils.utils.Threads
|
5
|
+
from osbot_utils.helpers.Dependency_Manager import Dependency_Manager
|
6
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
7
|
+
from osbot_utils.helpers.CFormat import CFormat, f_dark_grey, f_magenta, f_bold
|
8
|
+
from osbot_utils.helpers.flows.models.Flow_Run__Config import Flow_Run__Config
|
9
|
+
from osbot_utils.helpers.flows.Flow__Events import flow_events
|
10
|
+
from osbot_utils.helpers.flows.models.Flow_Run__Event_Data import Flow_Run__Event_Data
|
11
|
+
from osbot_utils.testing.Stdout import Stdout
|
12
|
+
from osbot_utils.utils.Misc import random_id, lower, time_now
|
13
|
+
from osbot_utils.utils.Python_Logger import Python_Logger
|
14
|
+
from osbot_utils.utils.Str import ansis_to_texts
|
15
|
+
from osbot_utils.utils.Threads import invoke_in_new_event_loop
|
16
16
|
|
17
17
|
FLOW__RANDOM_ID__PREFIX = 'flow_id__'
|
18
18
|
FLOW__RANDOM_NAME__PREFIX = 'flow_name__'
|
@@ -20,7 +20,7 @@ FLOW__LOGGING__LOG_FORMAT = '%(asctime)s.%(msecs)03d | %(levelname)-8s | %(mess
|
|
20
20
|
FLOW__LOGGING__DATE_FORMAT = '%H:%M:%S'
|
21
21
|
|
22
22
|
|
23
|
-
|
23
|
+
# todo: add flow duration
|
24
24
|
class Flow(Type_Safe):
|
25
25
|
captured_exec_logs : list
|
26
26
|
data : dict # dict available to the tasks to add and collect data
|
@@ -1,18 +1,19 @@
|
|
1
|
-
import asyncio
|
2
1
|
import inspect
|
3
2
|
import typing
|
4
3
|
|
5
|
-
from osbot_utils.helpers.flows.models.Flow_Run__Event_Data
|
6
|
-
from osbot_utils.utils.Misc
|
7
|
-
from osbot_utils.helpers.Dependency_Manager
|
8
|
-
from osbot_utils.helpers.flows.Flow__Events
|
9
|
-
from osbot_utils.testing.Stdout
|
10
|
-
from osbot_utils.helpers.CFormat
|
11
|
-
from osbot_utils.type_safe.Type_Safe
|
12
|
-
from osbot_utils.helpers.flows.Flow
|
4
|
+
from osbot_utils.helpers.flows.models.Flow_Run__Event_Data import Flow_Run__Event_Data
|
5
|
+
from osbot_utils.utils.Misc import random_id, lower
|
6
|
+
from osbot_utils.helpers.Dependency_Manager import Dependency_Manager
|
7
|
+
from osbot_utils.helpers.flows.Flow__Events import flow_events
|
8
|
+
from osbot_utils.testing.Stdout import Stdout
|
9
|
+
from osbot_utils.helpers.CFormat import CFormat, f_dark_grey, f_red, f_blue, f_bold
|
10
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
11
|
+
from osbot_utils.helpers.flows.Flow import Flow
|
13
12
|
|
14
13
|
TASK__RANDOM_ID__PREFIX = 'task_id__'
|
15
14
|
|
15
|
+
# todo: add task duration
|
16
|
+
|
16
17
|
class Task(Type_Safe):
|
17
18
|
data : dict # dict available to the task to add and collect data
|
18
19
|
task_id : str
|
@@ -1,4 +1,5 @@
|
|
1
1
|
from typing import get_args, Union, Optional, Any, ForwardRef
|
2
|
+
from osbot_utils.helpers.Obj_Id import Obj_Id
|
2
3
|
from osbot_utils.type_safe.shared.Type_Safe__Cache import type_safe_cache
|
3
4
|
|
4
5
|
EXACT_TYPE_MATCH = (int, float, str, bytes, bool, complex)
|
@@ -63,6 +64,8 @@ class Type_Safe__Base:
|
|
63
64
|
if len(args) != len(item):
|
64
65
|
raise TypeError(f"Expected tuple of length {len(args)}, but got {len(item)}")
|
65
66
|
for idx, (elem, elem_type) in enumerate(zip(item, args)):
|
67
|
+
if elem_type is Obj_Id: # todo: refactor this out, and figure out better way to handle this kind of de-serialisation
|
68
|
+
elem = elem_type(elem)
|
66
69
|
try:
|
67
70
|
self.is_instance_of_type(elem, elem_type)
|
68
71
|
except TypeError as e:
|
{osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/shared/Type_Safe__Validation.py
RENAMED
@@ -246,7 +246,7 @@ class Type_Safe__Validation:
|
|
246
246
|
type_safe_raise_exception.immutable_type_error(var_name, var_type)
|
247
247
|
|
248
248
|
def validate_variable_type(self, var_name, var_type, var_value): # Validate type compatibility
|
249
|
-
if var_type and not isinstance(var_value, var_type):
|
249
|
+
if type(var_type) is type and not isinstance(var_value, var_type):
|
250
250
|
type_safe_raise_exception.type_mismatch_error(var_name, var_type, type(var_value))
|
251
251
|
|
252
252
|
type_safe_validation = Type_Safe__Validation()
|
{osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/type_safe/steps/Type_Safe__Step__From_Json.py
RENAMED
@@ -2,6 +2,7 @@ import sys
|
|
2
2
|
import types
|
3
3
|
from decimal import Decimal
|
4
4
|
from enum import EnumMeta
|
5
|
+
from osbot_utils.helpers.Obj_Id import Obj_Id
|
5
6
|
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
6
7
|
from osbot_utils.type_safe.Type_Safe__List import Type_Safe__List
|
7
8
|
from osbot_utils.helpers.Random_Guid import Random_Guid
|
@@ -100,8 +101,10 @@ class Type_Safe__Step__From_Json:
|
|
100
101
|
value = Random_Guid(value)
|
101
102
|
elif type_safe_annotations.obj_is_attribute_annotation_of_type(_self, key, Random_Guid_Short): # handle Random_Guid_Short
|
102
103
|
value = Random_Guid_Short(value)
|
103
|
-
elif type_safe_annotations.obj_is_attribute_annotation_of_type(_self, key, Timestamp_Now):
|
104
|
+
elif type_safe_annotations.obj_is_attribute_annotation_of_type(_self, key, Timestamp_Now ): # handle Timestamp_Now
|
104
105
|
value = Timestamp_Now(value)
|
106
|
+
elif type_safe_annotations.obj_is_attribute_annotation_of_type(_self, key, Obj_Id ): # handle Obj_Id
|
107
|
+
value = Obj_Id(value)
|
105
108
|
|
106
109
|
setattr(_self, key, value) # Direct assignment for primitive types and other structures
|
107
110
|
|
@@ -170,7 +170,7 @@ json_file_create_gz = Json.save_file_gz
|
|
170
170
|
json_file_contents = Json.load_file
|
171
171
|
json_file_contents_gz = Json.load_file_gz
|
172
172
|
json_file_load = Json.load_file
|
173
|
-
|
173
|
+
json_file_save = Json.save_file
|
174
174
|
json_from_file = Json.load_file
|
175
175
|
json_load_file = Json.load_file
|
176
176
|
json_load_file_and_delete = Json.load_file_and_delete
|
@@ -184,6 +184,7 @@ json_lines_loads = Json.loads_json_lines
|
|
184
184
|
json_parse = Json.loads
|
185
185
|
json_lines_parse = Json.loads_json_lines
|
186
186
|
json_to_bytes = json_dumps_to_bytes
|
187
|
+
json_to_file = json_file_save
|
187
188
|
json_to_str = json_dumps
|
188
189
|
json_round_trip = Json.round_trip
|
189
190
|
json_save = Json.save_file
|
@@ -0,0 +1 @@
|
|
1
|
+
v2.18.0
|
@@ -1 +0,0 @@
|
|
1
|
-
v2.16.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.16.0 → osbot_utils-2.18.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.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/methods/cache_on_function.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-2.16.0 → osbot_utils-2.18.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.16.0 → osbot_utils-2.18.0}/osbot_utils/decorators/methods/function_type_check.py
RENAMED
File without changes
|
File without changes
|
{osbot_utils-2.16.0 → osbot_utils-2.18.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
|
{osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Comprehension.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Except_Handler.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/ast/nodes/Ast_Generator_Exp.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
|
{osbot_utils-2.16.0 → osbot_utils-2.18.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
|
{osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/flows/models/Flow_Run__Config.py
RENAMED
File without changes
|
{osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/flows/models/Flow_Run__Event.py
RENAMED
File without changes
|
{osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/flows/models/Flow_Run__Event_Data.py
RENAMED
File without changes
|
{osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/flows/models/Flow_Run__Event_Type.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/generators/Generator_Manager.py
RENAMED
File without changes
|
{osbot_utils-2.16.0 → osbot_utils-2.18.0}/osbot_utils/helpers/generators/Model__Generator_State.py
RENAMED
File without changes
|
{osbot_utils-2.16.0 → osbot_utils-2.18.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
|