osbot-utils 2.84.0__tar.gz → 2.85.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.84.0 → osbot_utils-2.85.0}/PKG-INFO +2 -2
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/README.md +1 -1
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/Safe_Str.py +9 -9
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/cryptography/hashes/Safe_Str__Hash.py +4 -4
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/cryptography/hashes/Safe_Str__SHA1.py +1 -1
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/cryptography/hashes/Safe_Str__SHA1__Short.py +1 -1
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/cryptography/nacl/Safe_Str__NaCl__Private_Key.py +1 -1
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/cryptography/nacl/Safe_Str__NaCl__Public_Key.py +1 -1
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/filesystem/Safe_Str__File__Name.py +1 -1
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/git/Safe_Str__Git__Ref.py +1 -1
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/git/Safe_Str__Git__Ref_Base.py +1 -1
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/git/Safe_Str__Version.py +1 -1
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/github/Safe_Str__GitHub__Repo.py +8 -4
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/github/Safe_Str__GitHub__Repo_Name.py +3 -3
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/github/Safe_Str__GitHub__Repo_Owner.py +4 -4
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/http/Safe_Str__Http__Content_Type.py +1 -1
- osbot_utils-2.85.0/osbot_utils/version +1 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/pyproject.toml +1 -1
- osbot_utils-2.84.0/osbot_utils/version +0 -1
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/LICENSE +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/base_classes/Cache_Pickle.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/base_classes/Kwargs_To_Disk.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/base_classes/Kwargs_To_Self.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/base_classes/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/context_managers/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/context_managers/async_invoke.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/context_managers/disable_root_loggers.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/classes/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/classes/singleton.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/lists/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/lists/filter_list.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/lists/group_by.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/lists/index_by.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/methods/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/methods/cache.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/methods/cache_on_function.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/methods/cache_on_self.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/methods/cache_on_tmp.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/methods/capture_exception.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/methods/capture_status.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/methods/catch.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/methods/context.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/methods/depreciated.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/methods/function_type_check.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/methods/obj_as_context.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/methods/remove_return_value.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/methods/required_fields.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/fluent/Fluent_Dict.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/fluent/Fluent_List.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/fluent/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/CFormat.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/CPrint.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/Dependency_Manager.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/Dict_To_Attr.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/Hashicorp_Secrets.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/Local_Cache.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/Local_Caches.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/Obj_Id.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/Print_Table.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/Python_Audit.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/Random_Seed.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/Str_ASCII.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/Type_Registry.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/Zip_Bytes.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/Ast.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/Ast_Base.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/Ast_Data.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/Ast_Load.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/Ast_Merge.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/Ast_Node.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/Ast_Visit.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/Call_Tree.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Add.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Alias.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_And.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Argument.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Arguments.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Assert.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Assign.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Attribute.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Aug_Assign.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Bin_Op.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Bool_Op.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Break.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Call.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Class_Def.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Compare.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Comprehension.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Constant.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Continue.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Dict.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Eq.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Except_Handler.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Expr.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_For.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Function_Def.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Generator_Exp.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Gt.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_GtE.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_If.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_If_Exp.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Import.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Import_From.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_In.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Is.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Is_Not.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Keyword.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Lambda.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_List.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_List_Comp.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Load.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Lt.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_LtE.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Mod.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Module.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Mult.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Name.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Not.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Not_Eq.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Not_In.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Or.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Pass.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Pow.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Raise.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Return.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Set.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Slice.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Starred.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Store.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Sub.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Subscript.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Try.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Tuple.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Unary_Op.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_While.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_With.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_With_Item.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/Ast_Yield.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ast/nodes/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/cache_on_self/Cache_Controller.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/cache_on_self/Cache_Key_Generator.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/cache_on_self/Cache_Metrics.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/cache_on_self/Cache_On_Self.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/cache_on_self/Cache_Storage.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/cache_on_self/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Actions.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Config.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Data.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Invoke.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Row.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Table.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/cache_requests/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/duration/Duration.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/duration/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/duration/decorators/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/duration/decorators/capture_duration.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/duration/decorators/duration.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/duration/decorators/print_duration.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/duration/schemas/Schema__Duration.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/duration/schemas/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/Flow.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/Task.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/actions/Flow__Data.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/actions/Flow__Events.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/actions/Flow__Stats__Collector.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/actions/Task__Stats__Collector.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/actions/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/decorators/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/decorators/flow.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/decorators/task.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/models/Flow_Run__Config.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/models/Flow_Run__Event.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/models/Flow_Run__Event_Data.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/models/Flow_Run__Event_Type.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/models/Schema__Flow__Artifact.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/models/Schema__Flow__Result.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/models/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/schemas/Schema__Flow.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/schemas/Schema__Flow__Data.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/schemas/Schema__Flow__Event.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/schemas/Schema__Flow__Event__Data.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/schemas/Schema__Flow__Log.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/schemas/Schema__Flow__Stats.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/schemas/Schema__Flow__Status.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/schemas/Schema__Flow__Task__Data.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/schemas/Schema__Task__Stats.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/flows/schemas/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/generators/Generator_Context_Manager.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/generators/Generator_Manager.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/generators/Model__Generator_State.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/generators/Model__Generator_Target.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/generators/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/schemas/Schema__Html_Document.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/schemas/Schema__Html_Node.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/schemas/Schema__Html_Node__Data.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/schemas/Schema__Html_Node__Data__Type.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/schemas/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/tags/Tag__Base.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/tags/Tag__Body.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/tags/Tag__Div.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/tags/Tag__H.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/tags/Tag__HR.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/tags/Tag__Head.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/tags/Tag__Html.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/tags/Tag__Link.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/tags/Tag__Style.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/tags/Tag__Text.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/tags/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/transformers/CSS_Dict__To__Css.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/transformers/Html_Dict__To__Html.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/transformers/Html_Dict__To__Html_Document.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/transformers/Html_Dict__To__Html_Tags.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/transformers/Html_Document__To__Html_Dict.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/transformers/Html__To__Html_Dict.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/transformers/Html__To__Html_Document.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/transformers/Html__To__Html_Tag.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/transformers/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/utils/Html__Query.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/html/utils/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/actions/LLM_Request__Execute.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/actions/Type_Safe__Schema_For__LLMs.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/actions/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/builders/LLM_Request__Builder.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/builders/LLM_Request__Builder__Open_AI.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/builders/LLM_Request__Factory.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/builders/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/cache/LLM_Cache__Path_Generator.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/cache/LLM_Request__Cache.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/cache/LLM_Request__Cache__File_System.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/cache/LLM_Request__Cache__Storage.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/cache/Virtual_Storage__Local__Folder.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/cache/Virtual_Storage__Sqlite.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/cache/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/platforms/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/platforms/open_ai/API__LLM__Open_AI.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/platforms/open_ai/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/schemas/Safe_Str__LLM__Model_Name.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/schemas/Schema__LLM_Cache__Index.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/schemas/Schema__LLM_Request.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/schemas/Schema__LLM_Request__Data.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/schemas/Schema__LLM_Request__Function_Call.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/schemas/Schema__LLM_Request__Message__Content.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/schemas/Schema__LLM_Request__Message__Role.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/schemas/Schema__LLM_Response.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/schemas/Schema__LLM_Response__Cache.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/llms/schemas/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/pubsub/Event__Queue.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/pubsub/PubSub__Client.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/pubsub/PubSub__Room.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/pubsub/PubSub__Server.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/pubsub/PubSub__Sqlite.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/pubsub/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Connect.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Disconnect.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Execute_Method.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Join_Room.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Leave_Room.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Message.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/pubsub/schemas/Schema__PubSub__Client.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/pubsub/schemas/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/python_compatibility/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/python_compatibility/python_3_8.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/Capture_Sqlite_Error.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/Sqlite__Cursor.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/Sqlite__Database.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/Sqlite__Field.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/Sqlite__Globals.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/Sqlite__Table.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/Sqlite__Table__Create.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/Temp_Sqlite__Database__Disk.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/Temp_Sqlite__Table.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/cache/Schema__Table__Requests.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests__Patch.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests__Sqlite.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests__Table.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/cache/Sqlite__DB__Requests.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/cache/TestCase__Sqlite__Cache__Requests.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/cache/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Files.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Graph.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Json.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Local.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/domains/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/domains/schemas/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/models/Sqlite__Field__Type.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/models/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/sample_data/Sqlite__Sample_Data__Chinook.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/sample_data/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/sql_builder/SQL_Builder.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/sql_builder/SQL_Builder__Select.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/sql_builder/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Config.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Edges.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Files.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Nodes.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/sqlite/tables/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ssh/SCP.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ssh/SSH.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ssh/SSH__Cache__Requests.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ssh/SSH__Execute.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ssh/SSH__Health_Check.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ssh/SSH__Linux.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ssh/SSH__Linux__Amazon.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ssh/SSH__Python.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ssh/TestCase__SSH.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/ssh/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/trace/Trace_Call.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/trace/Trace_Call__Config.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/trace/Trace_Call__Handler.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/trace/Trace_Call__Print_Lines.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/trace/Trace_Call__Print_Traces.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/trace/Trace_Call__Stack.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/trace/Trace_Call__Stack_Node.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/trace/Trace_Call__Stats.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/trace/Trace_Call__View_Model.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/trace/Trace_Files.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/trace/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/transformers/Dict__To__Toml.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/xml/Xml__Attribute.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/xml/Xml__Element.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/xml/Xml__File.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/xml/Xml__File__Load.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/xml/Xml__File__To_Dict.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/xml/Xml__File__To_Xml.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/xml/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/xml/rss/RSS__Channel.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/xml/rss/RSS__Enclosure.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/xml/rss/RSS__Feed.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/xml/rss/RSS__Feed__Parser.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/xml/rss/RSS__Image.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/helpers/xml/rss/RSS__Item.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Catch.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Custom_Handler_For_Http_Tests.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Hook_Method.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Log_To_Queue.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Log_To_String.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Logging.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Patch_Print.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Profiler.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Pytest.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Stderr.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Stdout.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Temp_Env_Vars.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Temp_File.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Temp_Folder.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Temp_Sys_Path.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Temp_Web_Server.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Temp_Zip.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Temp_Zip_In_Memory.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Unit_Test.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/Unzip_File.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/performance/Performance_Measure__Session.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/performance/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/performance/models/Model__Performance_Measure__Measurement.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/performance/models/Model__Performance_Measure__Result.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/performance/models/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/test_data/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/testing/test_data/const__test__data__html.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/Type_Safe.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/Type_Safe__Base.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/Type_Safe__Primitive.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_float/Safe_Float.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_float/Safe_Float__Engineering.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_float/Safe_Float__Money.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_float/Safe_Float__Percentage_Exact.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_float/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_int/Safe_Int.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_int/Timestamp_Now.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_int/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/Enum__Safe_Str__Regex_Mode.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/cryptography/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/cryptography/hashes/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/cryptography/nacl/Schema__NaCl__Keys.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/cryptography/nacl/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/filesystem/Safe_Str__File__Path.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/filesystem/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/git/Safe_Str__Git__Branch.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/git/Safe_Str__Git__Tag.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/git/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/github/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/http/Safe_Str__Http__ETag.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/http/Safe_Str__Http__Last_Modified.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/http/Safe_Str__Http__Text.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/http/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/identifiers/Guid.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/identifiers/Random_Guid.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/identifiers/Random_Guid_Short.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/identifiers/Safe_Id.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/identifiers/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/text/Safe_Str__Text.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/text/Safe_Str__Text__Dangerous.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/text/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/web/Safe_Str__Html.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/web/Safe_Str__IP_Address.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/web/Safe_Str__Url.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/web/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_uint/Safe_UInt.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_uint/Safe_UInt__Byte.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_uint/Safe_UInt__FileSize.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_uint/Safe_UInt__Percentage.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_uint/Safe_UInt__Port.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_uint/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/collections/Type_Safe__Dict.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/collections/Type_Safe__List.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/collections/Type_Safe__Set.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/collections/Type_Safe__Tuple.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/collections/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/decorators/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/decorators/type_safe.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/methods/Type_Safe__Method.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/methods/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/methods/type_safe_property.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/shared/Type_Safe__Annotations.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/shared/Type_Safe__Cache.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/shared/Type_Safe__Convert.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/shared/Type_Safe__Json_Compressor.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/shared/Type_Safe__Json_Compressor__Type_Registry.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/shared/Type_Safe__Not_Cached.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/shared/Type_Safe__Raise_Exception.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/shared/Type_Safe__Shared__Variables.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/shared/Type_Safe__Validation.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/shared/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/steps/Type_Safe__Step__Class_Kwargs.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/steps/Type_Safe__Step__Default_Kwargs.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/steps/Type_Safe__Step__Default_Value.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/steps/Type_Safe__Step__From_Json.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/steps/Type_Safe__Step__Init.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/steps/Type_Safe__Step__Set_Attr.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/type_safe_core/steps/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/validators/Type_Safe__Validator.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/validators/Validator__Max.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/validators/Validator__Min.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/validators/Validator__One_Of.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/validators/Validator__Regex.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/validators/__init__.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Assert.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Call_Stack.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Csv.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Dev.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Env.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Exceptions.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Files.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Functions.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Http.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Int.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Json.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Json_Cache.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Lists.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Misc.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Objects.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Png.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Process.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Python_Logger.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Regex.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Status.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Str.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Threads.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Toml.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Version.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/utils/Zip.py +0 -0
- {osbot_utils-2.84.0 → osbot_utils-2.85.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.85.0
|
4
4
|
Summary: OWASP Security Bot - Utils
|
5
5
|
License: MIT
|
6
6
|
Author: Dinis Cruz
|
@@ -21,7 +21,7 @@ Description-Content-Type: text/markdown
|
|
21
21
|
|
22
22
|
# OSBot-Utils
|
23
23
|
|
24
|
-

|
25
25
|

|
26
26
|

|
27
27
|

|
@@ -1,6 +1,6 @@
|
|
1
1
|
# OSBot-Utils
|
2
2
|
|
3
|
-

|
4
4
|

|
5
5
|

|
6
6
|

|
{osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/type_safe/primitives/safe_str/Safe_Str.py
RENAMED
@@ -12,7 +12,7 @@ class Safe_Str(Type_Safe__Primitive, str):
|
|
12
12
|
regex : re.Pattern = TYPE_SAFE__STR__REGEX__SAFE_STR
|
13
13
|
regex_mode : Enum__Safe_Str__Regex_Mode = Enum__Safe_Str__Regex_Mode.REPLACE
|
14
14
|
replacement_char : str = '_'
|
15
|
-
allow_empty : bool = True
|
15
|
+
allow_empty : bool = True # note: making this False does cause some side effects on .json() on cases like auto serialization in environments like FastAPI (like it requires more explict value setting), so all have now been converted into a value of True
|
16
16
|
trim_whitespace : bool = False
|
17
17
|
allow_all_replacement_char: bool = True
|
18
18
|
strict_validation : bool = False # If True, don't replace invalid chars, raise an error instead
|
@@ -34,12 +34,12 @@ class Safe_Str(Type_Safe__Primitive, str):
|
|
34
34
|
value = value.strip()
|
35
35
|
|
36
36
|
if not cls.allow_empty and (value is None or value == ""): # Check for empty string if not allowed
|
37
|
-
raise ValueError("
|
37
|
+
raise ValueError(f"in {cls.__name__}, value cannot be empty when allow_empty is False")
|
38
38
|
|
39
|
-
if cls.exact_length and len(value) != cls.max_length:
|
40
|
-
raise ValueError(f"
|
39
|
+
if cls.exact_length and len(value) and len(value) != cls.max_length:
|
40
|
+
raise ValueError(f"in {cls.__name__}, value must be exactly {cls.max_length} characters long (was {len(value)})")
|
41
41
|
elif not cls.exact_length and len(value) > cls.max_length: # Check max length
|
42
|
-
raise ValueError(f"
|
42
|
+
raise ValueError(f"in {cls.__name__}, value exceeds maximum length of {cls.max_length} characters (was {len(value)})")
|
43
43
|
|
44
44
|
if cls.allow_empty and value =='':
|
45
45
|
return str.__new__(cls, '')
|
@@ -54,22 +54,22 @@ class Safe_Str(Type_Safe__Primitive, str):
|
|
54
54
|
if cls.strict_validation:
|
55
55
|
if cls.regex_mode == Enum__Safe_Str__Regex_Mode.MATCH: # For 'match' mode, regex defines the valid pattern (like version numbers)
|
56
56
|
if not cls.regex.match(value):
|
57
|
-
raise ValueError(f"
|
57
|
+
raise ValueError(f"in {cls.__name__}, value does not match required pattern: {cls.regex.pattern}")
|
58
58
|
return value
|
59
59
|
elif cls.regex_mode == Enum__Safe_Str__Regex_Mode.REPLACE: # For 'replace' mode, regex defines invalid characters to replace
|
60
60
|
if cls.regex.search(value) is not None:
|
61
|
-
raise ValueError(f"
|
61
|
+
raise ValueError(f"in {cls.__name__}, value contains invalid characters (must not match pattern: {cls.regex.pattern})")
|
62
62
|
return value
|
63
63
|
else:
|
64
64
|
raise ValueError(f"in {cls.__name__}, regex_mode value cannot be None when strict_validation is True")
|
65
65
|
else:
|
66
66
|
if cls.regex_mode == Enum__Safe_Str__Regex_Mode.MATCH: # Cannot do replacement when regex defines valid pattern
|
67
|
-
raise ValueError(f"
|
67
|
+
raise ValueError(f"in {cls.__name__}, cannot use regex_mode='match' without strict_validation=True")
|
68
68
|
else: # assume the default Enum__Safe_Str__Regex_Mode.MATCH
|
69
69
|
sanitized_value = cls.regex.sub(cls.replacement_char, value)
|
70
70
|
|
71
71
|
if not cls.allow_all_replacement_char and set(sanitized_value) == {
|
72
72
|
cls.replacement_char} and sanitized_value:
|
73
|
-
raise ValueError(f"
|
73
|
+
raise ValueError(f"in {cls.__name__}, sanitized value consists entirely of '{cls.replacement_char}' characters")
|
74
74
|
|
75
75
|
return sanitized_value
|
@@ -10,10 +10,10 @@ TYPE_SAFE_STR__HASH__REGEX = re.compile(r'[^a-fA-F0-9]') # Only a
|
|
10
10
|
class Safe_Str__Hash(Safe_Str):
|
11
11
|
regex = TYPE_SAFE_STR__HASH__REGEX
|
12
12
|
max_length = SIZE__VALUE_HASH
|
13
|
-
allow_empty =
|
14
|
-
trim_whitespace = True
|
15
|
-
strict_validation = True
|
16
|
-
exact_length = True
|
13
|
+
allow_empty = True # Don't allow empty hash values
|
14
|
+
trim_whitespace = True # Trim any whitespace
|
15
|
+
strict_validation = True # Enable strict validation - new attribute
|
16
|
+
exact_length = True # Require exact length match - new attribute
|
17
17
|
|
18
18
|
def safe_str_hash(value: Any) -> Safe_Str__Hash:
|
19
19
|
if isinstance(value, str):
|
@@ -19,6 +19,6 @@ class Safe_Str__SHA1__Short(Safe_Str):
|
|
19
19
|
regex_mode = Enum__Safe_Str__Regex_Mode.MATCH
|
20
20
|
max_length = TYPE_SAFE_STR__GITHUB__SHA_SHORT__LENGTH
|
21
21
|
exact_length = True
|
22
|
-
allow_empty =
|
22
|
+
allow_empty = True
|
23
23
|
trim_whitespace = True
|
24
24
|
strict_validation = True
|
@@ -22,6 +22,6 @@ class Safe_Str__NaCl__Private_Key(Safe_Str):
|
|
22
22
|
regex_mode = Enum__Safe_Str__Regex_Mode.MATCH
|
23
23
|
max_length = TYPE_SAFE_STR__NACL__PRIVATE_KEY__LENGTH
|
24
24
|
exact_length = True
|
25
|
-
allow_empty =
|
25
|
+
allow_empty = True
|
26
26
|
trim_whitespace = True
|
27
27
|
strict_validation = True
|
@@ -23,6 +23,6 @@ class Safe_Str__NaCl__Public_Key(Safe_Str):
|
|
23
23
|
regex_mode = Enum__Safe_Str__Regex_Mode.MATCH
|
24
24
|
max_length = TYPE_SAFE_STR__NACL__PUBLIC_KEY__LENGTH
|
25
25
|
exact_length = True
|
26
|
-
allow_empty =
|
26
|
+
allow_empty = True
|
27
27
|
trim_whitespace = True
|
28
28
|
strict_validation = True
|
@@ -9,7 +9,7 @@ class Safe_Str__Version(Safe_Str):
|
|
9
9
|
regex = TYPE_SAFE_STR__VERSION__REGEX
|
10
10
|
regex_mode = Enum__Safe_Str__Regex_Mode.MATCH # in this case we need an exact match of the version regex
|
11
11
|
max_length = TYPE_SAFE_STR__VERSION__MAX_LENGTH
|
12
|
-
allow_empty =
|
12
|
+
allow_empty = True
|
13
13
|
trim_whitespace = True
|
14
14
|
strict_validation = True # Ensure the value exactly matches the regex
|
15
15
|
|
@@ -20,7 +20,7 @@ class Safe_Str__GitHub__Repo(Safe_Str):
|
|
20
20
|
"""
|
21
21
|
regex = TYPE_SAFE_STR__GITHUB__REPO__REGEX
|
22
22
|
max_length = TYPE_SAFE_STR__GITHUB__REPO__MAX_LENGTH
|
23
|
-
allow_empty =
|
23
|
+
allow_empty = True
|
24
24
|
trim_whitespace = True
|
25
25
|
allow_all_replacement_char = False
|
26
26
|
repo_owner : Safe_Str__GitHub__Repo_Owner = None # note: due to the str override these will not show in the Pycharm code hints (but they will work)
|
@@ -31,16 +31,20 @@ class Safe_Str__GitHub__Repo(Safe_Str):
|
|
31
31
|
|
32
32
|
if result:
|
33
33
|
if '/' not in result: # Check for the required forward slash
|
34
|
-
raise ValueError(f"
|
34
|
+
raise ValueError(f"in {cls.__name__}, gitHub repository must be in 'owner/repo' format: {result}")
|
35
35
|
|
36
36
|
|
37
37
|
parts = result.split('/') # Split and validate components using the dedicated classes
|
38
38
|
if len(parts) != 2:
|
39
|
-
raise ValueError(f"
|
39
|
+
raise ValueError(f"in {cls.__name__}, gitHub repository must be in 'owner/repo' format: {result}")
|
40
40
|
|
41
41
|
owner_part, repo_part = parts
|
42
42
|
|
43
43
|
result.repo_owner = Safe_Str__GitHub__Repo_Owner(owner_part) # Validate using the dedicated classes (and store the references)
|
44
|
-
result.repo_name = Safe_Str__GitHub__Repo_Name(repo_part )
|
44
|
+
result.repo_name = Safe_Str__GitHub__Repo_Name(repo_part )
|
45
|
+
if not result.repo_owner:
|
46
|
+
raise ValueError(f"in {cls.__name__}, missing owner, gitHub repository must be in 'owner/repo' format: {result}")
|
47
|
+
if not result.repo_name:
|
48
|
+
raise ValueError(f"in {cls.__name__}, missing name, gitHub repository must be in 'owner/repo' format: {result}")
|
45
49
|
|
46
50
|
return result
|
@@ -15,7 +15,7 @@ class Safe_Str__GitHub__Repo_Name(Safe_Str):
|
|
15
15
|
"""
|
16
16
|
regex = TYPE_SAFE_STR__GITHUB__REPO_NAME__REGEX
|
17
17
|
max_length = TYPE_SAFE_STR__GITHUB__REPO_NAME__MAX_LENGTH
|
18
|
-
allow_empty =
|
18
|
+
allow_empty = True
|
19
19
|
trim_whitespace = True
|
20
20
|
allow_all_replacement_char = False
|
21
21
|
|
@@ -26,10 +26,10 @@ class Safe_Str__GitHub__Repo_Name(Safe_Str):
|
|
26
26
|
if result:
|
27
27
|
# Check if it's just periods (reserved names)
|
28
28
|
if result in ['.', '..']:
|
29
|
-
raise ValueError(f"
|
29
|
+
raise ValueError(f"in {cls.__name__}, invalid repository name: {result}")
|
30
30
|
|
31
31
|
# Check for all replacement characters
|
32
32
|
if set(result) == {'_'} and len(result) > 0:
|
33
|
-
raise ValueError(f"
|
33
|
+
raise ValueError(f"in {cls.__name__}, invalid repository name: {result}")
|
34
34
|
|
35
35
|
return result
|
@@ -16,7 +16,7 @@ class Safe_Str__GitHub__Repo_Owner(Safe_Str):
|
|
16
16
|
"""
|
17
17
|
regex = TYPE_SAFE_STR__GITHUB__REPO_OWNER__REGEX
|
18
18
|
max_length = TYPE_SAFE_STR__GITHUB__REPO_OWNER__MAX_LENGTH
|
19
|
-
allow_empty =
|
19
|
+
allow_empty = True
|
20
20
|
trim_whitespace = True
|
21
21
|
allow_all_replacement_char = False
|
22
22
|
|
@@ -26,13 +26,13 @@ class Safe_Str__GitHub__Repo_Owner(Safe_Str):
|
|
26
26
|
|
27
27
|
if result: # Additional GitHub-specific validation
|
28
28
|
if result.startswith('-') or result.endswith('-'): # Check for leading/trailing hyphens
|
29
|
-
raise ValueError(f"
|
29
|
+
raise ValueError(f"in {cls.__name__}, gitHub owner name cannot start or end with a hyphen: {result}")
|
30
30
|
|
31
31
|
if '--' in result: # Check for consecutive hyphens
|
32
|
-
raise ValueError(f"
|
32
|
+
raise ValueError(f"in {cls.__name__}, gitHub owner name cannot contain consecutive hyphens: {result}")
|
33
33
|
|
34
34
|
if result.replace('_', '') == '': # Check for all underscores (sanitized invalid input)
|
35
|
-
raise ValueError(f"
|
35
|
+
raise ValueError(f"in {cls.__name__}, invalid GitHub owner name: {result}")
|
36
36
|
|
37
37
|
return result
|
38
38
|
|
@@ -7,6 +7,6 @@ TYPE_SAFE_STR__HTTP__CONTENT_TYPE__MAX_LENGTH = 256
|
|
7
7
|
class Safe_Str__Http__Content_Type(Safe_Str):
|
8
8
|
regex = TYPE_SAFE_STR__HTTP__CONTENT_TYPE__REGEX
|
9
9
|
max_length = TYPE_SAFE_STR__HTTP__CONTENT_TYPE__MAX_LENGTH
|
10
|
-
allow_empty =
|
10
|
+
allow_empty = True
|
11
11
|
trim_whitespace = True
|
12
12
|
allow_all_replacement_char = False
|
@@ -0,0 +1 @@
|
|
1
|
+
v2.85.0
|
@@ -1 +0,0 @@
|
|
1
|
-
v2.84.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
|
{osbot_utils-2.84.0 → osbot_utils-2.85.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
|
{osbot_utils-2.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/methods/cache_on_function.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-2.84.0 → osbot_utils-2.85.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.84.0 → osbot_utils-2.85.0}/osbot_utils/decorators/methods/function_type_check.py
RENAMED
File without changes
|
File without changes
|
{osbot_utils-2.84.0 → osbot_utils-2.85.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
|
{osbot_utils-2.84.0 → osbot_utils-2.85.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.84.0 → osbot_utils-2.85.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.84.0 → osbot_utils-2.85.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
|