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

|
25
|
+

|
26
|
+

|
27
|
+

|
28
|
+
[](https://codecov.io/gh/owasp-sbot/OSBot-Utils)
|
29
|
+
|
30
|
+
A comprehensive Python utility toolkit providing **Type-Safe primitives**, decorators, caching layers, HTML/AST helpers, SQLite tooling, SSH execution, LLM request pipelines, tracing, and more — all designed to accelerate building robust, maintainable automation and integration code.
|
31
|
+
|
32
|
+
---
|
33
|
+
|
34
|
+
## ✨ Key Features
|
35
|
+
|
36
|
+
* **🛡️ Type-Safe First**: Strongly typed primitives (`Safe_Str`, `Safe_Int`, `Safe_Float`, etc.) with validation and sanitization
|
37
|
+
* **⚡ Multi-layer Caching**: In-memory, per-instance, pickle-on-disk, temp-file, and request/response caches
|
38
|
+
* **🗂️ Rich Utilities**: Helpers for HTML parsing/rendering, AST inspection, SSH/SCP execution, SQLite schema management, and more
|
39
|
+
* **🧠 LLM Support**: Structured request builders, OpenAI API integration, schema enforcement, and persistent cache
|
40
|
+
* **🔍 Tracing & Debugging**: Full function call tracing with configurable depth, locals capture, and pretty output
|
41
|
+
* **🧪 Testing Utilities**: Temp SQLite DBs, mockable caches, and easy test helpers
|
42
|
+
|
43
|
+
---
|
44
|
+
|
45
|
+
## 📦 Installation
|
46
|
+
|
47
|
+
```bash
|
48
|
+
pip install osbot-utils
|
49
|
+
```
|
50
|
+
|
51
|
+
From source:
|
52
|
+
|
53
|
+
```bash
|
54
|
+
pip install git+https://github.com/owasp-sbot/OSBot-Utils.git@dev
|
55
|
+
```
|
56
|
+
|
57
|
+
---
|
58
|
+
|
59
|
+
## 🚀 Quick Start
|
60
|
+
|
61
|
+
### Using Type-Safe Primitives
|
62
|
+
|
63
|
+
```python
|
64
|
+
from osbot_utils.type_safe.primitives.safe_str.Safe_Str import Safe_Str
|
65
|
+
|
66
|
+
class Username(Safe_Str):
|
67
|
+
max_length = 20
|
68
|
+
|
69
|
+
print(Username("alice")) # 'alice'
|
70
|
+
print(Username("invalid username!")) # 'invalid_username_'
|
71
|
+
```
|
72
|
+
|
73
|
+
---
|
74
|
+
|
75
|
+
### Simple In-Memory Caching
|
76
|
+
|
77
|
+
```python
|
78
|
+
from osbot_utils.decorators.methods.cache_on_self import cache_on_self
|
79
|
+
|
80
|
+
class DataFetcher:
|
81
|
+
@cache_on_self
|
82
|
+
def fetch(self, x):
|
83
|
+
print("Fetching…")
|
84
|
+
return x * 2
|
85
|
+
|
86
|
+
fetcher = DataFetcher()
|
87
|
+
fetcher.fetch(10) # Calls method
|
88
|
+
fetcher.fetch(10) # Returns cached result
|
89
|
+
```
|
90
|
+
|
91
|
+
---
|
92
|
+
|
93
|
+
### HTML Parsing
|
94
|
+
|
95
|
+
```python
|
96
|
+
from osbot_utils.helpers.html.Html__To__Html_Dict import html_to_dict
|
97
|
+
|
98
|
+
html_code = "<html><body><h1>Hello</h1></body></html>"
|
99
|
+
print(html_to_dict(html_code))
|
100
|
+
```
|
101
|
+
|
102
|
+
---
|
103
|
+
|
104
|
+
### SQLite Dynamic Table
|
105
|
+
|
106
|
+
```python
|
107
|
+
from osbot_utils.helpers.sqlite.Temp_Sqlite__Table import Temp_Sqlite__Table
|
108
|
+
|
109
|
+
with Temp_Sqlite__Table() as table:
|
110
|
+
table.row_schema = type("Row", (), {"name": str, "age": int})
|
111
|
+
table.create()
|
112
|
+
table.add_row_and_commit(name="Alice", age=30)
|
113
|
+
print(table.rows())
|
114
|
+
```
|
115
|
+
|
116
|
+
---
|
117
|
+
|
118
|
+
### LLM Request Execution
|
119
|
+
|
120
|
+
```python
|
121
|
+
from osbot_utils.helpers.llms.builders.LLM_Request__Builder__Open_AI import LLM_Request__Builder__Open_AI
|
122
|
+
from osbot_utils.helpers.llms.actions.LLM_Request__Execute import LLM_Request__Execute
|
123
|
+
|
124
|
+
builder = LLM_Request__Builder__Open_AI()
|
125
|
+
builder.set__model__gpt_4o().add_message__user("Say hi in JSON")
|
126
|
+
|
127
|
+
executor = LLM_Request__Execute(request_builder=builder)
|
128
|
+
response = executor.execute(builder.llm_request())
|
129
|
+
print(response.response_data)
|
130
|
+
```
|
131
|
+
|
132
|
+
---
|
133
|
+
|
134
|
+
## 🏗️ Architecture
|
135
|
+
|
136
|
+
OSBot-Utils is organized into core **Type-Safe foundations** with layered utilities for different domains:
|
137
|
+
|
138
|
+
```
|
139
|
+
┌──────────────────────────────────────────────┐
|
140
|
+
│ Your Code │
|
141
|
+
│ ┌───────────┐ ┌─────────────┐ ┌──────────┐ │
|
142
|
+
│ │ Type-Safe │ │ Decorators │ │ Helpers │ │
|
143
|
+
│ │ Primitives│ │ & Caching │ │ (HTML, │ │
|
144
|
+
│ │ │ │ │ │ AST, │ │
|
145
|
+
│ │ │ │ │ │ SQLite)│ │
|
146
|
+
│ └───────────┘ └─────────────┘ └──────────┘ │
|
147
|
+
└──────────────────────────┬───────────────────┘
|
148
|
+
│
|
149
|
+
┌──────────────────────────▼───────────────────┐
|
150
|
+
│ OSBot-Utils │
|
151
|
+
│ ┌────────────────────────────────────────┐ │
|
152
|
+
│ │ Type-Safe Core Classes │ │
|
153
|
+
│ │ Validation / Sanitization / Defaults │ │
|
154
|
+
│ └────────────────────────────────────────┘ │
|
155
|
+
│ ┌────────────────────────────────────────┐ │
|
156
|
+
│ │ Caching Layers & Decorators │ │
|
157
|
+
│ │ @cache, @cache_on_self, pickle, tmp │ │
|
158
|
+
│ └────────────────────────────────────────┘ │
|
159
|
+
│ ┌────────────────────────────────────────┐ │
|
160
|
+
│ │ Domain Helpers │ │
|
161
|
+
│ │ HTML, AST, SSH, LLMs, SQLite, Tracing │ │
|
162
|
+
│ └────────────────────────────────────────┘ │
|
163
|
+
└──────────────────────────────────────────────┘
|
164
|
+
```
|
165
|
+
|
166
|
+
---
|
167
|
+
|
168
|
+
## 📚 Key Modules
|
169
|
+
|
170
|
+
* **`helpers/safe_*`** — Type-Safe primitives for validated strings, ints, floats
|
171
|
+
* **`decorators/methods`** — Caching, exception capture, timing, validation
|
172
|
+
* **`helpers/html`** — HTML ↔ dict ↔ tag classes
|
173
|
+
* **`helpers/ast`** — Python AST parsing, visiting, merging
|
174
|
+
* **`helpers/sqlite`** — High-level SQLite APIs, schema generation, temp DBs
|
175
|
+
* **`helpers/ssh`** — SSH/SCP execution with caching
|
176
|
+
* **`helpers/llms`** — LLM request/response handling with caching
|
177
|
+
* **`helpers/trace`** — Function call tracing with configurable output
|
178
|
+
|
179
|
+
---
|
180
|
+
|
181
|
+
## 🎯 Benefits
|
182
|
+
|
183
|
+
### For Developers
|
184
|
+
|
185
|
+
* Strong runtime type validation with Type-Safe classes
|
186
|
+
* Consistent patterns for caching and decorators
|
187
|
+
* Rich helper library to avoid reinventing the wheel
|
188
|
+
|
189
|
+
### For Production
|
190
|
+
|
191
|
+
* Deterministic caching with persistence options
|
192
|
+
* Safe, validated data structures at integration boundaries
|
193
|
+
* Lightweight, dependency-minimal utilities
|
194
|
+
|
195
|
+
### For Teams
|
196
|
+
|
197
|
+
* Standardized approach to cross-cutting concerns (logging, tracing, caching)
|
198
|
+
* Modular helpers to fit many contexts (CLI, web apps, serverless)
|
199
|
+
|
200
|
+
---
|
201
|
+
|
202
|
+
## 🤝 Contributing
|
203
|
+
|
204
|
+
Pull requests are welcome!
|
205
|
+
Check existing patterns in `/helpers` and `/decorators` for style guidance.
|
206
|
+
|
207
|
+
---
|
208
|
+
|
209
|
+
## 📄 License
|
210
|
+
|
211
|
+
Licensed under the Apache 2.0 License.
|
212
|
+
|
@@ -0,0 +1,190 @@
|
|
1
|
+
# OSBot-Utils
|
2
|
+
|
3
|
+

|
4
|
+

|
5
|
+

|
6
|
+

|
7
|
+
[](https://codecov.io/gh/owasp-sbot/OSBot-Utils)
|
8
|
+
|
9
|
+
A comprehensive Python utility toolkit providing **Type-Safe primitives**, decorators, caching layers, HTML/AST helpers, SQLite tooling, SSH execution, LLM request pipelines, tracing, and more — all designed to accelerate building robust, maintainable automation and integration code.
|
10
|
+
|
11
|
+
---
|
12
|
+
|
13
|
+
## ✨ Key Features
|
14
|
+
|
15
|
+
* **🛡️ Type-Safe First**: Strongly typed primitives (`Safe_Str`, `Safe_Int`, `Safe_Float`, etc.) with validation and sanitization
|
16
|
+
* **⚡ Multi-layer Caching**: In-memory, per-instance, pickle-on-disk, temp-file, and request/response caches
|
17
|
+
* **🗂️ Rich Utilities**: Helpers for HTML parsing/rendering, AST inspection, SSH/SCP execution, SQLite schema management, and more
|
18
|
+
* **🧠 LLM Support**: Structured request builders, OpenAI API integration, schema enforcement, and persistent cache
|
19
|
+
* **🔍 Tracing & Debugging**: Full function call tracing with configurable depth, locals capture, and pretty output
|
20
|
+
* **🧪 Testing Utilities**: Temp SQLite DBs, mockable caches, and easy test helpers
|
21
|
+
|
22
|
+
---
|
23
|
+
|
24
|
+
## 📦 Installation
|
25
|
+
|
26
|
+
```bash
|
27
|
+
pip install osbot-utils
|
28
|
+
```
|
29
|
+
|
30
|
+
From source:
|
31
|
+
|
32
|
+
```bash
|
33
|
+
pip install git+https://github.com/owasp-sbot/OSBot-Utils.git@dev
|
34
|
+
```
|
35
|
+
|
36
|
+
---
|
37
|
+
|
38
|
+
## 🚀 Quick Start
|
39
|
+
|
40
|
+
### Using Type-Safe Primitives
|
41
|
+
|
42
|
+
```python
|
43
|
+
from osbot_utils.type_safe.primitives.safe_str.Safe_Str import Safe_Str
|
44
|
+
|
45
|
+
class Username(Safe_Str):
|
46
|
+
max_length = 20
|
47
|
+
|
48
|
+
print(Username("alice")) # 'alice'
|
49
|
+
print(Username("invalid username!")) # 'invalid_username_'
|
50
|
+
```
|
51
|
+
|
52
|
+
---
|
53
|
+
|
54
|
+
### Simple In-Memory Caching
|
55
|
+
|
56
|
+
```python
|
57
|
+
from osbot_utils.decorators.methods.cache_on_self import cache_on_self
|
58
|
+
|
59
|
+
class DataFetcher:
|
60
|
+
@cache_on_self
|
61
|
+
def fetch(self, x):
|
62
|
+
print("Fetching…")
|
63
|
+
return x * 2
|
64
|
+
|
65
|
+
fetcher = DataFetcher()
|
66
|
+
fetcher.fetch(10) # Calls method
|
67
|
+
fetcher.fetch(10) # Returns cached result
|
68
|
+
```
|
69
|
+
|
70
|
+
---
|
71
|
+
|
72
|
+
### HTML Parsing
|
73
|
+
|
74
|
+
```python
|
75
|
+
from osbot_utils.helpers.html.Html__To__Html_Dict import html_to_dict
|
76
|
+
|
77
|
+
html_code = "<html><body><h1>Hello</h1></body></html>"
|
78
|
+
print(html_to_dict(html_code))
|
79
|
+
```
|
80
|
+
|
81
|
+
---
|
82
|
+
|
83
|
+
### SQLite Dynamic Table
|
84
|
+
|
85
|
+
```python
|
86
|
+
from osbot_utils.helpers.sqlite.Temp_Sqlite__Table import Temp_Sqlite__Table
|
87
|
+
|
88
|
+
with Temp_Sqlite__Table() as table:
|
89
|
+
table.row_schema = type("Row", (), {"name": str, "age": int})
|
90
|
+
table.create()
|
91
|
+
table.add_row_and_commit(name="Alice", age=30)
|
92
|
+
print(table.rows())
|
93
|
+
```
|
94
|
+
|
95
|
+
---
|
96
|
+
|
97
|
+
### LLM Request Execution
|
98
|
+
|
99
|
+
```python
|
100
|
+
from osbot_utils.helpers.llms.builders.LLM_Request__Builder__Open_AI import LLM_Request__Builder__Open_AI
|
101
|
+
from osbot_utils.helpers.llms.actions.LLM_Request__Execute import LLM_Request__Execute
|
102
|
+
|
103
|
+
builder = LLM_Request__Builder__Open_AI()
|
104
|
+
builder.set__model__gpt_4o().add_message__user("Say hi in JSON")
|
105
|
+
|
106
|
+
executor = LLM_Request__Execute(request_builder=builder)
|
107
|
+
response = executor.execute(builder.llm_request())
|
108
|
+
print(response.response_data)
|
109
|
+
```
|
110
|
+
|
111
|
+
---
|
112
|
+
|
113
|
+
## 🏗️ Architecture
|
114
|
+
|
115
|
+
OSBot-Utils is organized into core **Type-Safe foundations** with layered utilities for different domains:
|
116
|
+
|
117
|
+
```
|
118
|
+
┌──────────────────────────────────────────────┐
|
119
|
+
│ Your Code │
|
120
|
+
│ ┌───────────┐ ┌─────────────┐ ┌──────────┐ │
|
121
|
+
│ │ Type-Safe │ │ Decorators │ │ Helpers │ │
|
122
|
+
│ │ Primitives│ │ & Caching │ │ (HTML, │ │
|
123
|
+
│ │ │ │ │ │ AST, │ │
|
124
|
+
│ │ │ │ │ │ SQLite)│ │
|
125
|
+
│ └───────────┘ └─────────────┘ └──────────┘ │
|
126
|
+
└──────────────────────────┬───────────────────┘
|
127
|
+
│
|
128
|
+
┌──────────────────────────▼───────────────────┐
|
129
|
+
│ OSBot-Utils │
|
130
|
+
│ ┌────────────────────────────────────────┐ │
|
131
|
+
│ │ Type-Safe Core Classes │ │
|
132
|
+
│ │ Validation / Sanitization / Defaults │ │
|
133
|
+
│ └────────────────────────────────────────┘ │
|
134
|
+
│ ┌────────────────────────────────────────┐ │
|
135
|
+
│ │ Caching Layers & Decorators │ │
|
136
|
+
│ │ @cache, @cache_on_self, pickle, tmp │ │
|
137
|
+
│ └────────────────────────────────────────┘ │
|
138
|
+
│ ┌────────────────────────────────────────┐ │
|
139
|
+
│ │ Domain Helpers │ │
|
140
|
+
│ │ HTML, AST, SSH, LLMs, SQLite, Tracing │ │
|
141
|
+
│ └────────────────────────────────────────┘ │
|
142
|
+
└──────────────────────────────────────────────┘
|
143
|
+
```
|
144
|
+
|
145
|
+
---
|
146
|
+
|
147
|
+
## 📚 Key Modules
|
148
|
+
|
149
|
+
* **`helpers/safe_*`** — Type-Safe primitives for validated strings, ints, floats
|
150
|
+
* **`decorators/methods`** — Caching, exception capture, timing, validation
|
151
|
+
* **`helpers/html`** — HTML ↔ dict ↔ tag classes
|
152
|
+
* **`helpers/ast`** — Python AST parsing, visiting, merging
|
153
|
+
* **`helpers/sqlite`** — High-level SQLite APIs, schema generation, temp DBs
|
154
|
+
* **`helpers/ssh`** — SSH/SCP execution with caching
|
155
|
+
* **`helpers/llms`** — LLM request/response handling with caching
|
156
|
+
* **`helpers/trace`** — Function call tracing with configurable output
|
157
|
+
|
158
|
+
---
|
159
|
+
|
160
|
+
## 🎯 Benefits
|
161
|
+
|
162
|
+
### For Developers
|
163
|
+
|
164
|
+
* Strong runtime type validation with Type-Safe classes
|
165
|
+
* Consistent patterns for caching and decorators
|
166
|
+
* Rich helper library to avoid reinventing the wheel
|
167
|
+
|
168
|
+
### For Production
|
169
|
+
|
170
|
+
* Deterministic caching with persistence options
|
171
|
+
* Safe, validated data structures at integration boundaries
|
172
|
+
* Lightweight, dependency-minimal utilities
|
173
|
+
|
174
|
+
### For Teams
|
175
|
+
|
176
|
+
* Standardized approach to cross-cutting concerns (logging, tracing, caching)
|
177
|
+
* Modular helpers to fit many contexts (CLI, web apps, serverless)
|
178
|
+
|
179
|
+
---
|
180
|
+
|
181
|
+
## 🤝 Contributing
|
182
|
+
|
183
|
+
Pull requests are welcome!
|
184
|
+
Check existing patterns in `/helpers` and `/decorators` for style guidance.
|
185
|
+
|
186
|
+
---
|
187
|
+
|
188
|
+
## 📄 License
|
189
|
+
|
190
|
+
Licensed under the Apache 2.0 License.
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from typing import Optional, Dict, Any
|
2
|
-
from osbot_utils.
|
2
|
+
from osbot_utils.type_safe.primitives.safe_int.Timestamp_Now import Timestamp_Now
|
3
3
|
from osbot_utils.helpers.flows.models.Flow_Run__Event import Flow_Run__Event
|
4
4
|
from osbot_utils.helpers.flows.models.Schema__Flow__Artifact import Schema__Flow__Artifact
|
5
5
|
from osbot_utils.helpers.flows.models.Schema__Flow__Result import Schema__Flow__Result
|
@@ -0,0 +1,13 @@
|
|
1
|
+
|
2
|
+
from osbot_utils.type_safe.primitives.safe_str.identifiers.Random_Guid import Random_Guid
|
3
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
4
|
+
from osbot_utils.type_safe.primitives.safe_int.Timestamp_Now import Timestamp_Now
|
5
|
+
from osbot_utils.helpers.flows.models.Flow_Run__Event_Data import Flow_Run__Event_Data
|
6
|
+
from osbot_utils.helpers.flows.models.Flow_Run__Event_Type import Flow_Run__Event_Type
|
7
|
+
|
8
|
+
class Flow_Run__Event(Type_Safe):
|
9
|
+
event_id : Random_Guid
|
10
|
+
event_type : Flow_Run__Event_Type
|
11
|
+
event_data : Flow_Run__Event_Data
|
12
|
+
timestamp : Timestamp_Now
|
13
|
+
|
{osbot_utils-2.72.0 → osbot_utils-2.74.0}/osbot_utils/helpers/flows/models/Schema__Flow__Result.py
RENAMED
@@ -1,5 +1,5 @@
|
|
1
1
|
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
2
|
-
from osbot_utils.
|
2
|
+
from osbot_utils.type_safe.primitives.safe_int.Timestamp_Now import Timestamp_Now
|
3
3
|
|
4
4
|
class Schema__Flow__Result(Type_Safe): # Represents a result produced by the flow
|
5
5
|
key : str
|
{osbot_utils-2.72.0 → osbot_utils-2.74.0}/osbot_utils/helpers/flows/schemas/Schema__Flow__Data.py
RENAMED
@@ -1,5 +1,5 @@
|
|
1
1
|
from typing import Optional, Dict, List, Any
|
2
|
-
from osbot_utils.
|
2
|
+
from osbot_utils.type_safe.primitives.safe_int.Timestamp_Now import Timestamp_Now
|
3
3
|
from osbot_utils.helpers.flows.models.Flow_Run__Event import Flow_Run__Event
|
4
4
|
from osbot_utils.helpers.flows.models.Schema__Flow__Artifact import Schema__Flow__Artifact
|
5
5
|
from osbot_utils.helpers.flows.models.Schema__Flow__Result import Schema__Flow__Result
|
{osbot_utils-2.72.0 → osbot_utils-2.74.0}/osbot_utils/helpers/flows/schemas/Schema__Flow__Event.py
RENAMED
@@ -1,7 +1,7 @@
|
|
1
1
|
# todo: this needs refactoring with the Flow_Run__Event events stored in the Schema__Flow__Data. object
|
2
2
|
|
3
3
|
|
4
|
-
# from osbot_utils.
|
4
|
+
# from osbot_utils.type_safe.primitives.safe_int.Timestamp_Now import Timestamp_Now
|
5
5
|
# from osbot_utils.helpers.flows.schemas.Schema__Flow__Event__Data import Schema__Flow__Event__Data
|
6
6
|
# from osbot_utils.type_safe.Type_Safe import Type_Safe
|
7
7
|
#
|
{osbot_utils-2.72.0 → osbot_utils-2.74.0}/osbot_utils/helpers/generators/Generator_Manager.py
RENAMED
@@ -4,7 +4,7 @@ from types import Generator
|
|
4
4
|
from typing import Dict # Typing imports for type hints
|
5
5
|
from typing import Union
|
6
6
|
from osbot_utils.type_safe.Type_Safe import Type_Safe # Type_Safe base class for type-safe attributes
|
7
|
-
from osbot_utils.
|
7
|
+
from osbot_utils.type_safe.primitives.safe_str.identifiers.Random_Guid import Random_Guid # Helper for generating unique IDs
|
8
8
|
from osbot_utils.helpers.generators.Generator_Context_Manager import Generator_Context_Manager
|
9
9
|
from osbot_utils.helpers.generators.Model__Generator_State import Model__Generator_State
|
10
10
|
from osbot_utils.helpers.generators.Model__Generator_Target import Model__Generator_Target
|
{osbot_utils-2.72.0 → osbot_utils-2.74.0}/osbot_utils/helpers/generators/Model__Generator_Target.py
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
from types import GeneratorType
|
2
2
|
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
3
|
-
from osbot_utils.
|
3
|
+
from osbot_utils.type_safe.primitives.safe_str.identifiers.Random_Guid import Random_Guid
|
4
4
|
from osbot_utils.helpers.generators.Model__Generator_State import Model__Generator_State
|
5
5
|
|
6
6
|
|
{osbot_utils-2.72.0 → osbot_utils-2.74.0}/osbot_utils/helpers/html/schemas/Schema__Html_Document.py
RENAMED
@@ -1,4 +1,4 @@
|
|
1
|
-
from osbot_utils.
|
1
|
+
from osbot_utils.type_safe.primitives.safe_int.Timestamp_Now import Timestamp_Now
|
2
2
|
from osbot_utils.helpers.html.schemas.Schema__Html_Node import Schema__Html_Node
|
3
3
|
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
4
4
|
|
{osbot_utils-2.72.0 → osbot_utils-2.74.0}/osbot_utils/helpers/llms/actions/LLM_Request__Execute.py
RENAMED
@@ -5,7 +5,8 @@ from osbot_utils.helpers.llms.platforms.open_ai.API__LLM__Open_AI import API__
|
|
5
5
|
from osbot_utils.helpers.llms.schemas.Schema__LLM_Request import Schema__LLM_Request
|
6
6
|
from osbot_utils.helpers.llms.schemas.Schema__LLM_Response import Schema__LLM_Response
|
7
7
|
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
8
|
-
from osbot_utils.type_safe.decorators.type_safe
|
8
|
+
from osbot_utils.type_safe.type_safe_core.decorators.type_safe import type_safe
|
9
|
+
|
9
10
|
|
10
11
|
class LLM_Request__Execute(Type_Safe):
|
11
12
|
llm_cache : LLM_Request__Cache
|
@@ -1,14 +1,14 @@
|
|
1
1
|
import re
|
2
|
-
from typing
|
3
|
-
from osbot_utils.type_safe.Type_Safe
|
4
|
-
from osbot_utils.type_safe.decorators.type_safe
|
5
|
-
from osbot_utils.type_safe.shared.Type_Safe__Cache
|
6
|
-
from osbot_utils.type_safe.validators.Type_Safe__Validator
|
7
|
-
from osbot_utils.type_safe.validators.Validator__Min
|
8
|
-
from osbot_utils.type_safe.validators.Validator__Max
|
9
|
-
from osbot_utils.type_safe.validators.Validator__Regex
|
10
|
-
from osbot_utils.type_safe.validators.Validator__One_Of
|
11
|
-
from osbot_utils.helpers.python_compatibility.python_3_8
|
2
|
+
from typing import Type, Any, List, Dict, Tuple, Set, Optional, Union, get_origin, get_args
|
3
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
4
|
+
from osbot_utils.type_safe.type_safe_core.decorators.type_safe import type_safe
|
5
|
+
from osbot_utils.type_safe.type_safe_core.shared.Type_Safe__Cache import type_safe_cache
|
6
|
+
from osbot_utils.type_safe.validators.Type_Safe__Validator import Type_Safe__Validator
|
7
|
+
from osbot_utils.type_safe.validators.Validator__Min import Validator__Min
|
8
|
+
from osbot_utils.type_safe.validators.Validator__Max import Validator__Max
|
9
|
+
from osbot_utils.type_safe.validators.Validator__Regex import Validator__Regex
|
10
|
+
from osbot_utils.type_safe.validators.Validator__One_Of import Validator__One_Of
|
11
|
+
from osbot_utils.helpers.python_compatibility.python_3_8 import Annotated
|
12
12
|
import inspect
|
13
13
|
|
14
14
|
|
{osbot_utils-2.72.0 → osbot_utils-2.74.0}/osbot_utils/helpers/llms/builders/LLM_Request__Builder.py
RENAMED
@@ -6,9 +6,10 @@ from osbot_utils.helpers.llms.schemas.Schema__LLM_Request__Data impo
|
|
6
6
|
from osbot_utils.helpers.llms.schemas.Schema__LLM_Request__Function_Call import Schema__LLM_Request__Function_Call
|
7
7
|
from osbot_utils.helpers.llms.schemas.Schema__LLM_Request__Message__Content import Schema__LLM_Request__Message__Content
|
8
8
|
from osbot_utils.helpers.llms.schemas.Schema__LLM_Request__Message__Role import Schema__LLM_Request__Message__Role
|
9
|
-
from osbot_utils.helpers.safe_str.Safe_Str__Text import Safe_Str__Text
|
10
9
|
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
11
|
-
from osbot_utils.type_safe.
|
10
|
+
from osbot_utils.type_safe.primitives.safe_str.text.Safe_Str__Text import Safe_Str__Text
|
11
|
+
from osbot_utils.type_safe.type_safe_core.decorators.type_safe import type_safe
|
12
|
+
|
12
13
|
|
13
14
|
class LLM_Request__Builder(Type_Safe):
|
14
15
|
schema_generator : Type_Safe__Schema_For__LLMs
|
@@ -1,6 +1,7 @@
|
|
1
1
|
from typing import Dict, Any
|
2
2
|
from osbot_utils.helpers.llms.builders.LLM_Request__Builder import LLM_Request__Builder
|
3
|
-
from osbot_utils.type_safe.decorators.type_safe
|
3
|
+
from osbot_utils.type_safe.type_safe_core.decorators.type_safe import type_safe
|
4
|
+
|
4
5
|
|
5
6
|
class LLM_Request__Builder__Open_AI(LLM_Request__Builder):
|
6
7
|
|
{osbot_utils-2.72.0 → osbot_utils-2.74.0}/osbot_utils/helpers/llms/builders/LLM_Request__Factory.py
RENAMED
@@ -2,7 +2,7 @@ from typing import Type, Opt
|
|
2
2
|
from osbot_utils.helpers.llms.builders.LLM_Request__Builder import LLM_Request__Builder
|
3
3
|
from osbot_utils.helpers.llms.schemas.Schema__LLM_Request__Data import Schema__LLM_Request__Data
|
4
4
|
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
5
|
-
from osbot_utils.type_safe.decorators.type_safe
|
5
|
+
from osbot_utils.type_safe.type_safe_core.decorators.type_safe import type_safe
|
6
6
|
|
7
7
|
|
8
8
|
class LLM_Request__Factory(Type_Safe): # Factory class for creating common LLM request patterns.
|
@@ -1,9 +1,10 @@
|
|
1
|
-
from datetime
|
2
|
-
from typing
|
3
|
-
from osbot_utils.
|
4
|
-
from osbot_utils.
|
5
|
-
from osbot_utils.type_safe.
|
6
|
-
from osbot_utils.type_safe.decorators.type_safe
|
1
|
+
from datetime import datetime
|
2
|
+
from typing import List, Optional
|
3
|
+
from osbot_utils.type_safe.primitives.safe_str.identifiers.Safe_Id import Safe_Id
|
4
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
5
|
+
from osbot_utils.type_safe.primitives.safe_str.filesystem.Safe_Str__File__Path import Safe_Str__File__Path
|
6
|
+
from osbot_utils.type_safe.type_safe_core.decorators.type_safe import type_safe
|
7
|
+
|
7
8
|
|
8
9
|
class LLM_Cache__Path_Generator(Type_Safe):
|
9
10
|
@type_safe
|
{osbot_utils-2.72.0 → osbot_utils-2.74.0}/osbot_utils/helpers/llms/cache/LLM_Request__Cache.py
RENAMED
@@ -1,13 +1,13 @@
|
|
1
|
-
from typing
|
2
|
-
from osbot_utils.helpers.Obj_Id
|
3
|
-
from osbot_utils.helpers.llms.schemas.Schema__LLM_Cache__Index
|
4
|
-
from osbot_utils.helpers.llms.schemas.Schema__LLM_Request
|
5
|
-
from osbot_utils.helpers.llms.schemas.Schema__LLM_Response
|
6
|
-
from osbot_utils.helpers.llms.schemas.Schema__LLM_Response__Cache
|
7
|
-
from osbot_utils.
|
8
|
-
from osbot_utils.type_safe.
|
9
|
-
from osbot_utils.type_safe.decorators.type_safe
|
10
|
-
from osbot_utils.utils.Json
|
1
|
+
from typing import Dict, Optional, List
|
2
|
+
from osbot_utils.helpers.Obj_Id import Obj_Id
|
3
|
+
from osbot_utils.helpers.llms.schemas.Schema__LLM_Cache__Index import Schema__LLM_Cache__Index
|
4
|
+
from osbot_utils.helpers.llms.schemas.Schema__LLM_Request import Schema__LLM_Request
|
5
|
+
from osbot_utils.helpers.llms.schemas.Schema__LLM_Response import Schema__LLM_Response
|
6
|
+
from osbot_utils.helpers.llms.schemas.Schema__LLM_Response__Cache import Schema__LLM_Response__Cache
|
7
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
8
|
+
from osbot_utils.type_safe.primitives.safe_str.cryptography.hashes.Safe_Str__Hash import Safe_Str__Hash
|
9
|
+
from osbot_utils.type_safe.type_safe_core.decorators.type_safe import type_safe
|
10
|
+
from osbot_utils.utils.Json import json_md5
|
11
11
|
|
12
12
|
SIZE__VALUE_HASH = 10
|
13
13
|
|
@@ -2,7 +2,7 @@ from datetime
|
|
2
2
|
from typing import Optional, List
|
3
3
|
from osbot_utils.decorators.methods.cache_on_self import cache_on_self
|
4
4
|
from osbot_utils.helpers.Obj_Id import Obj_Id
|
5
|
-
from osbot_utils.
|
5
|
+
from osbot_utils.type_safe.primitives.safe_str.identifiers.Safe_Id import Safe_Id
|
6
6
|
from osbot_utils.helpers.llms.cache.LLM_Cache__Path_Generator import LLM_Cache__Path_Generator
|
7
7
|
from osbot_utils.helpers.llms.cache.LLM_Request__Cache import LLM_Request__Cache
|
8
8
|
from osbot_utils.helpers.llms.cache.LLM_Request__Cache__Storage import LLM_Request__Cache__Storage
|
@@ -11,8 +11,10 @@ from osbot_utils.helpers.llms.schemas.Schema__LLM_Cache__Index
|
|
11
11
|
from osbot_utils.helpers.llms.schemas.Schema__LLM_Request import Schema__LLM_Request
|
12
12
|
from osbot_utils.helpers.llms.schemas.Schema__LLM_Response import Schema__LLM_Response
|
13
13
|
from osbot_utils.helpers.llms.schemas.Schema__LLM_Response__Cache import Schema__LLM_Response__Cache
|
14
|
-
from osbot_utils.
|
15
|
-
|
14
|
+
from osbot_utils.type_safe.primitives.safe_str.filesystem.Safe_Str__File__Path import Safe_Str__File__Path
|
15
|
+
|
16
|
+
from osbot_utils.type_safe.type_safe_core.decorators.type_safe import type_safe
|
17
|
+
|
16
18
|
|
17
19
|
class LLM_Request__Cache__File_System(LLM_Request__Cache):
|
18
20
|
virtual_storage: Virtual_Storage__Local__Folder
|