osbot-utils 2.25.0__tar.gz → 2.27.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.25.0 → osbot_utils-2.27.0}/PKG-INFO +2 -2
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/README.md +1 -1
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/Flow.py +4 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/Task.py +5 -1
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/models/Flow_Run__Config.py +1 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/Type_Safe.py +4 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/shared/Type_Safe__Json_Compressor.py +4 -4
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/shared/Type_Safe__Validation.py +10 -6
- osbot_utils-2.27.0/osbot_utils/version +1 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/pyproject.toml +1 -1
- osbot_utils-2.25.0/osbot_utils/version +0 -1
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/LICENSE +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/base_classes/Cache_Pickle.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/base_classes/Kwargs_To_Disk.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/base_classes/Kwargs_To_Self.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/base_classes/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/context_managers/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/context_managers/async_invoke.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/context_managers/capture_duration.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/context_managers/disable_root_loggers.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/context_managers/print_duration.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/classes/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/classes/singleton.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/lists/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/lists/filter_list.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/lists/group_by.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/lists/index_by.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/methods/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/methods/cache.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/methods/cache_on_function.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/methods/cache_on_self.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/methods/cache_on_tmp.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/methods/capture_exception.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/methods/capture_status.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/methods/catch.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/methods/context.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/methods/depreciated.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/methods/function_type_check.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/methods/obj_as_context.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/methods/remove_return_value.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/methods/required_fields.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/fluent/Fluent_Dict.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/fluent/Fluent_List.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/fluent/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/CFormat.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/CPrint.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/Dependency_Manager.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/Dict_To_Attr.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/Guid.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/Hashicorp_Secrets.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/Local_Cache.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/Local_Caches.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/Obj_Id.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/Print_Table.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/Python_Audit.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/Random_Guid.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/Random_Guid_Short.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/Random_Seed.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/Safe_Id.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/Str_ASCII.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/Timestamp_Now.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/Type_Registry.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/Zip_Bytes.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/Ast.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/Ast_Base.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/Ast_Data.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/Ast_Load.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/Ast_Merge.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/Ast_Node.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/Ast_Visit.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/Call_Tree.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Add.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Alias.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_And.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Argument.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Arguments.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Assert.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Assign.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Attribute.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Aug_Assign.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Bin_Op.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Bool_Op.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Break.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Call.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Class_Def.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Compare.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Comprehension.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Constant.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Continue.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Dict.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Eq.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Except_Handler.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Expr.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_For.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Function_Def.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Generator_Exp.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Gt.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_GtE.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_If.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_If_Exp.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Import.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Import_From.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_In.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Is.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Is_Not.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Keyword.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Lambda.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_List.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_List_Comp.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Load.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Lt.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_LtE.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Mod.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Module.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Mult.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Name.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Not.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Not_Eq.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Not_In.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Or.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Pass.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Pow.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Raise.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Return.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Set.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Slice.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Starred.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Store.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Sub.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Subscript.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Try.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Tuple.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Unary_Op.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_While.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_With.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_With_Item.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/Ast_Yield.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ast/nodes/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Actions.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Config.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Data.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Invoke.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Row.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Table.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/cache_requests/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/cache_requests/flows/flow__Cache__Requests.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/actions/Flow__Data.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/actions/Flow__Events.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/actions/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/decorators/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/decorators/flow.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/decorators/task.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/models/Flow_Run__Event.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/models/Flow_Run__Event_Data.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/models/Flow_Run__Event_Type.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/models/Schema__Flow__Artifact.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/models/Schema__Flow__Result.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/models/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/schemas/Schema__Flow.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/schemas/Schema__Flow__Data.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/schemas/Schema__Flow__Event.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/schemas/Schema__Flow__Event__Data.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/schemas/Schema__Flow__Log.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/schemas/Schema__Flow__Task__Data.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/schemas/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/generators/Generator_Context_Manager.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/generators/Generator_Manager.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/generators/Model__Generator_State.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/generators/Model__Generator_Target.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/generators/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/html/Dict_To_Css.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/html/Dict_To_Html.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/html/Dict_To_Tags.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/html/Html_To_Dict.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/html/Html_To_Tag.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/html/Tag__Base.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/html/Tag__Body.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/html/Tag__Div.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/html/Tag__H.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/html/Tag__HR.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/html/Tag__Head.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/html/Tag__Html.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/html/Tag__Link.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/html/Tag__Style.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/html/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/pubsub/Event__Queue.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/pubsub/PubSub__Client.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/pubsub/PubSub__Room.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/pubsub/PubSub__Server.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/pubsub/PubSub__Sqlite.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/pubsub/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Connect.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Disconnect.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Execute_Method.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Join_Room.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Leave_Room.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Message.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/pubsub/schemas/Schema__PubSub__Client.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/pubsub/schemas/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/python_compatibility/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/python_compatibility/python_3_8.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/Capture_Sqlite_Error.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/Sqlite__Cursor.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/Sqlite__Database.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/Sqlite__Field.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/Sqlite__Globals.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/Sqlite__Table.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/Sqlite__Table__Create.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/Temp_Sqlite__Database__Disk.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/Temp_Sqlite__Table.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/cache/Schema__Table__Requests.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests__Patch.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests__Sqlite.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests__Table.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/cache/Sqlite__DB__Requests.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/cache/TestCase__Sqlite__Cache__Requests.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/cache/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Files.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Graph.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Json.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Local.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/domains/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/domains/schemas/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/models/Sqlite__Field__Type.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/models/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/sample_data/Sqlite__Sample_Data__Chinook.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/sample_data/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/sql_builder/SQL_Builder.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/sql_builder/SQL_Builder__Select.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/sql_builder/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Config.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Edges.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Files.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Nodes.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/sqlite/tables/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ssh/SCP.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ssh/SSH.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ssh/SSH__Cache__Requests.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ssh/SSH__Execute.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ssh/SSH__Health_Check.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ssh/SSH__Linux.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ssh/SSH__Linux__Amazon.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ssh/SSH__Python.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ssh/TestCase__SSH.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/ssh/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/trace/Trace_Call.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/trace/Trace_Call__Config.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/trace/Trace_Call__Handler.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/trace/Trace_Call__Print_Lines.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/trace/Trace_Call__Print_Traces.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/trace/Trace_Call__Stack.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/trace/Trace_Call__Stack_Node.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/trace/Trace_Call__Stats.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/trace/Trace_Call__View_Model.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/trace/Trace_Files.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/trace/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/xml/Xml__Attribute.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/xml/Xml__Element.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/xml/Xml__File.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/xml/Xml__File__Load.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/xml/Xml__File__To_Dict.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/xml/Xml__File__To_Xml.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/xml/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/xml/rss/RSS__Channel.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/xml/rss/RSS__Enclosure.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/xml/rss/RSS__Feed.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/xml/rss/RSS__Feed__Parser.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/xml/rss/RSS__Image.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/xml/rss/RSS__Item.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Catch.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Custom_Handler_For_Http_Tests.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Duration.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Hook_Method.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Log_To_Queue.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Log_To_String.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Logging.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Patch_Print.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Profiler.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Pytest.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Stderr.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Stdout.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Temp_Env_Vars.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Temp_File.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Temp_Folder.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Temp_Sys_Path.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Temp_Web_Server.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Temp_Zip.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Temp_Zip_In_Memory.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Unit_Test.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/Unzip_File.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/performance/Performance_Measure__Session.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/performance/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/performance/models/Model__Performance_Measure__Measurement.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/performance/models/Model__Performance_Measure__Result.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/testing/performance/models/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/Type_Safe__Base.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/Type_Safe__Dict.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/Type_Safe__List.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/Type_Safe__Method.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/Type_Safe__Set.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/Type_Safe__Tuple.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/decorators/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/decorators/type_safe.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/methods/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/methods/type_safe_property.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/shared/Type_Safe__Annotations.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/shared/Type_Safe__Cache.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/shared/Type_Safe__Convert.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/shared/Type_Safe__Json_Compressor__Type_Registry.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/shared/Type_Safe__Not_Cached.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/shared/Type_Safe__Raise_Exception.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/shared/Type_Safe__Shared__Variables.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/shared/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/steps/Type_Safe__Step__Class_Kwargs.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/steps/Type_Safe__Step__Default_Kwargs.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/steps/Type_Safe__Step__Default_Value.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/steps/Type_Safe__Step__From_Json.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/steps/Type_Safe__Step__Init.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/steps/Type_Safe__Step__Set_Attr.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/steps/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/validators/Type_Safe__Validator.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/validators/Validator__Max.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/validators/Validator__Min.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/validators/Validator__One_Of.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/validators/Validator__Regex.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/validators/__init__.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Assert.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Call_Stack.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Csv.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Dev.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Env.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Exceptions.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Files.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Functions.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Http.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Int.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Json.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Json_Cache.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Lists.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Misc.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Objects.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Png.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Process.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Python_Logger.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Regex.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Status.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Str.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Threads.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Toml.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Version.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/utils/Zip.py +0 -0
- {osbot_utils-2.25.0 → osbot_utils-2.27.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.27.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
|
|
@@ -11,6 +11,7 @@ from osbot_utils.helpers.flows.models.Flow_Run__Config import Flow_Run__Con
|
|
11
11
|
from osbot_utils.helpers.flows.actions.Flow__Events import flow_events
|
12
12
|
from osbot_utils.helpers.flows.models.Flow_Run__Event_Data import Flow_Run__Event_Data
|
13
13
|
from osbot_utils.testing.Stdout import Stdout
|
14
|
+
from osbot_utils.utils.Dev import pprint
|
14
15
|
from osbot_utils.utils.Misc import random_id, lower, time_now
|
15
16
|
from osbot_utils.utils.Python_Logger import Python_Logger
|
16
17
|
from osbot_utils.utils.Str import ansis_to_texts
|
@@ -280,3 +281,6 @@ class Flow(Type_Safe):
|
|
280
281
|
def json(self) -> typing.Dict[str, typing.Any]: # Convert flow data to JSON
|
281
282
|
return self.flow_data.json()
|
282
283
|
|
284
|
+
def print__flow_data(self):
|
285
|
+
pprint(self.flow_data.json())
|
286
|
+
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import inspect
|
2
|
+
import traceback
|
2
3
|
import typing
|
3
4
|
|
4
5
|
from osbot_utils.helpers.flows.models.Flow_Run__Event_Data import Flow_Run__Event_Data
|
@@ -49,7 +50,6 @@ class Task(Type_Safe):
|
|
49
50
|
return self.execute__after()
|
50
51
|
|
51
52
|
def execute__before(self):
|
52
|
-
self.on_task_start()
|
53
53
|
self.task_flow = self.find_flow()
|
54
54
|
if self.task_flow is None:
|
55
55
|
raise Exception("No Flow found for Task")
|
@@ -60,6 +60,7 @@ class Task(Type_Safe):
|
|
60
60
|
if not self.task_id:
|
61
61
|
self.task_id = self.random_task_id()
|
62
62
|
|
63
|
+
self.on_task_start()
|
63
64
|
flow_events.on__task__start(self.task_event_data())
|
64
65
|
|
65
66
|
self.task_flow.executed_tasks.append(self)
|
@@ -87,6 +88,9 @@ class Task(Type_Safe):
|
|
87
88
|
self.task_return_value = self.task_target(*self.resolved_args, **self.resolved_kwargs)
|
88
89
|
except Exception as error:
|
89
90
|
self.task_error = error
|
91
|
+
if self.task_flow.flow_config.print_error_stack_trace:
|
92
|
+
tb = traceback.format_exc()
|
93
|
+
print(f'{tb}')
|
90
94
|
self.task_flow.log_captured_stdout(stdout)
|
91
95
|
|
92
96
|
async def execute__task_target__async(self):
|
{osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/models/Flow_Run__Config.py
RENAMED
@@ -9,6 +9,7 @@ class Flow_Run__Config(Type_Safe):
|
|
9
9
|
print_logs : bool = False
|
10
10
|
print_none_return_value : bool = False
|
11
11
|
print_finished_message : bool = False
|
12
|
+
print_error_stack_trace : bool = False
|
12
13
|
raise_flow_error : bool = True
|
13
14
|
flow_data__capture_events : bool = False
|
14
15
|
|
@@ -62,6 +62,10 @@ class Type_Safe:
|
|
62
62
|
def json(self):
|
63
63
|
return self.serialize_to_dict()
|
64
64
|
|
65
|
+
def json__compress(self):
|
66
|
+
from osbot_utils.type_safe.shared.Type_Safe__Json_Compressor import Type_Safe__Json_Compressor
|
67
|
+
return Type_Safe__Json_Compressor().compress(self)
|
68
|
+
|
65
69
|
# todo: see if we still need this. now that Type_Safe handles base types, there should be no need for this
|
66
70
|
def merge_with(self, target):
|
67
71
|
original_attrs = {k: v for k, v in self.__dict__.items() if k not in target.__dict__} # Store the original attributes of self that should be retained.
|
{osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/shared/Type_Safe__Json_Compressor.py
RENAMED
@@ -10,12 +10,12 @@ class Type_Safe__Json_Compressor(Type_Safe__Base):
|
|
10
10
|
def __init__(self):
|
11
11
|
self.type_registry = Type_Safe__Json_Compressor__Type_Registry()
|
12
12
|
|
13
|
-
def compress(self,
|
14
|
-
if not
|
15
|
-
return
|
13
|
+
def compress(self, obj: Any) -> dict:
|
14
|
+
if not obj:
|
15
|
+
return obj
|
16
16
|
|
17
17
|
self.type_registry.clear()
|
18
|
-
compressed = self.compress_object(
|
18
|
+
compressed = self.compress_object(obj)
|
19
19
|
|
20
20
|
if self.type_registry.registry:
|
21
21
|
return { "_type_registry": self.type_registry.reverse,
|
{osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/type_safe/shared/Type_Safe__Validation.py
RENAMED
@@ -166,12 +166,16 @@ class Type_Safe__Validation:
|
|
166
166
|
if type(value) is list:
|
167
167
|
return True # if the attribute is a set and the value is a list, then they are compatible
|
168
168
|
if origin_attr_type is type: # Add handling for Type[T]
|
169
|
-
|
170
|
-
if
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
169
|
+
type_args = get_args(attr_type)
|
170
|
+
if type_args:
|
171
|
+
type_arg = get_args(attr_type)[0] # Get T from Type[T]
|
172
|
+
if type_arg == value:
|
173
|
+
return True
|
174
|
+
if isinstance(type_arg, (str, ForwardRef)): # Handle forward reference
|
175
|
+
type_arg = target.__class__ # If it's a forward reference, the target class should be the containing class
|
176
|
+
return isinstance(value, type) and issubclass(value, type_arg) # Check that value is a type and is subclass of type_arg
|
177
|
+
else:
|
178
|
+
return isinstance(value, type)
|
175
179
|
|
176
180
|
if origin_attr_type is Annotated: # if the type is Annotated
|
177
181
|
args = get_args(attr_type)
|
@@ -0,0 +1 @@
|
|
1
|
+
v2.27.0
|
@@ -1 +0,0 @@
|
|
1
|
-
v2.25.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.25.0 → osbot_utils-2.27.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.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/methods/cache_on_function.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-2.25.0 → osbot_utils-2.27.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.25.0 → osbot_utils-2.27.0}/osbot_utils/decorators/methods/function_type_check.py
RENAMED
File without changes
|
File without changes
|
{osbot_utils-2.25.0 → osbot_utils-2.27.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.25.0 → osbot_utils-2.27.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.25.0 → osbot_utils-2.27.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.25.0 → osbot_utils-2.27.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.25.0 → osbot_utils-2.27.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.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/models/Flow_Run__Event.py
RENAMED
File without changes
|
{osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/models/Flow_Run__Event_Data.py
RENAMED
File without changes
|
{osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/models/Flow_Run__Event_Type.py
RENAMED
File without changes
|
{osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/models/Schema__Flow__Artifact.py
RENAMED
File without changes
|
{osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/models/Schema__Flow__Result.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/schemas/Schema__Flow__Data.py
RENAMED
File without changes
|
{osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/schemas/Schema__Flow__Event.py
RENAMED
File without changes
|
File without changes
|
{osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/flows/schemas/Schema__Flow__Log.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/generators/Generator_Manager.py
RENAMED
File without changes
|
{osbot_utils-2.25.0 → osbot_utils-2.27.0}/osbot_utils/helpers/generators/Model__Generator_State.py
RENAMED
File without changes
|
{osbot_utils-2.25.0 → osbot_utils-2.27.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
|