osbot-utils 2.73.0__py3-none-any.whl → 2.74.0__py3-none-any.whl
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/helpers/flows/actions/Flow__Data.py +1 -1
- osbot_utils/helpers/flows/models/Flow_Run__Event.py +6 -5
- osbot_utils/helpers/flows/models/Schema__Flow__Artifact.py +1 -1
- osbot_utils/helpers/flows/models/Schema__Flow__Result.py +1 -1
- osbot_utils/helpers/flows/schemas/Schema__Flow__Data.py +1 -1
- osbot_utils/helpers/flows/schemas/Schema__Flow__Event.py +1 -1
- osbot_utils/helpers/flows/schemas/Schema__Flow__Log.py +1 -1
- osbot_utils/helpers/flows/schemas/Schema__Flow__Task__Data.py +1 -1
- osbot_utils/helpers/generators/Generator_Manager.py +1 -1
- osbot_utils/helpers/generators/Model__Generator_Target.py +1 -1
- osbot_utils/helpers/html/schemas/Schema__Html_Document.py +1 -1
- osbot_utils/helpers/llms/actions/LLM_Request__Execute.py +2 -1
- osbot_utils/helpers/llms/actions/Type_Safe__Schema_For__LLMs.py +10 -10
- osbot_utils/helpers/llms/builders/LLM_Request__Builder.py +3 -2
- osbot_utils/helpers/llms/builders/LLM_Request__Builder__Open_AI.py +2 -1
- osbot_utils/helpers/llms/builders/LLM_Request__Factory.py +1 -1
- osbot_utils/helpers/llms/cache/LLM_Cache__Path_Generator.py +7 -6
- osbot_utils/helpers/llms/cache/LLM_Request__Cache.py +10 -10
- osbot_utils/helpers/llms/cache/LLM_Request__Cache__File_System.py +5 -3
- osbot_utils/helpers/llms/cache/LLM_Request__Cache__Storage.py +2 -2
- osbot_utils/helpers/llms/cache/Virtual_Storage__Local__Folder.py +7 -7
- osbot_utils/helpers/llms/cache/Virtual_Storage__Sqlite.py +7 -7
- osbot_utils/helpers/llms/schemas/Safe_Str__LLM__Model_Name.py +1 -1
- osbot_utils/helpers/llms/schemas/Schema__LLM_Cache__Index.py +6 -5
- osbot_utils/helpers/llms/schemas/Schema__LLM_Request__Data.py +2 -1
- osbot_utils/helpers/llms/schemas/Schema__LLM_Response.py +1 -1
- osbot_utils/helpers/llms/schemas/Schema__LLM_Response__Cache.py +7 -6
- osbot_utils/helpers/xml/rss/RSS__Feed__Parser.py +1 -1
- osbot_utils/helpers/xml/rss/RSS__Item.py +1 -1
- osbot_utils/type_safe/Type_Safe.py +11 -10
- osbot_utils/type_safe/Type_Safe__Base.py +3 -3
- osbot_utils/{helpers → type_safe/primitives}/safe_float/Safe_Float__Engineering.py +2 -1
- osbot_utils/{helpers → type_safe/primitives}/safe_float/Safe_Float__Money.py +1 -2
- osbot_utils/{helpers → type_safe/primitives}/safe_float/Safe_Float__Percentage_Exact.py +1 -1
- osbot_utils/{helpers → type_safe/primitives}/safe_int/Safe_Int.py +3 -3
- osbot_utils/{helpers → type_safe/primitives}/safe_int/__init__.py +1 -1
- osbot_utils/{helpers → type_safe/primitives}/safe_str/Safe_Str.py +3 -3
- osbot_utils/{helpers/safe_str → type_safe/primitives/safe_str/cryptography/hashes}/Safe_Str__Hash.py +3 -3
- osbot_utils/type_safe/primitives/safe_str/cryptography/hashes/Safe_Str__SHA1.py +26 -0
- osbot_utils/type_safe/primitives/safe_str/cryptography/hashes/Safe_Str__SHA1__Short.py +24 -0
- osbot_utils/type_safe/primitives/safe_str/cryptography/nacl/Safe_Str__NaCl__Private_Key.py +27 -0
- osbot_utils/type_safe/primitives/safe_str/cryptography/nacl/Safe_Str__NaCl__Public_Key.py +28 -0
- osbot_utils/type_safe/primitives/safe_str/cryptography/nacl/Schema__NaCl__Keys.py +8 -0
- osbot_utils/{helpers/safe_str → type_safe/primitives/safe_str/filesystem}/Safe_Str__File__Name.py +1 -1
- osbot_utils/{helpers/safe_str → type_safe/primitives/safe_str/filesystem}/Safe_Str__File__Path.py +1 -1
- osbot_utils/type_safe/primitives/safe_str/git/Safe_Str__Git__Branch.py +27 -0
- osbot_utils/type_safe/primitives/safe_str/git/Safe_Str__Git__Ref.py +63 -0
- osbot_utils/type_safe/primitives/safe_str/git/Safe_Str__Git__Ref_Base.py +73 -0
- osbot_utils/type_safe/primitives/safe_str/git/Safe_Str__Git__Tag.py +17 -0
- osbot_utils/{helpers/safe_str → type_safe/primitives/safe_str/git}/Safe_Str__Version.py +2 -2
- osbot_utils/type_safe/primitives/safe_str/github/Safe_Str__GitHub__Repo.py +46 -0
- osbot_utils/type_safe/primitives/safe_str/github/Safe_Str__GitHub__Repo_Name.py +35 -0
- osbot_utils/type_safe/primitives/safe_str/github/Safe_Str__GitHub__Repo_Owner.py +39 -0
- osbot_utils/type_safe/primitives/safe_str/github/__init__.py +0 -0
- osbot_utils/{helpers → type_safe/primitives}/safe_str/http/Safe_Str__Http__Content_Type.py +1 -1
- osbot_utils/{helpers → type_safe/primitives}/safe_str/http/Safe_Str__Http__ETag.py +1 -1
- osbot_utils/{helpers → type_safe/primitives}/safe_str/http/Safe_Str__Http__Last_Modified.py +1 -1
- osbot_utils/{helpers → type_safe/primitives}/safe_str/http/Safe_Str__Http__Text.py +1 -1
- osbot_utils/type_safe/primitives/safe_str/http/__init__.py +0 -0
- osbot_utils/{helpers → type_safe/primitives/safe_str/identifiers}/Guid.py +3 -2
- osbot_utils/type_safe/primitives/safe_str/identifiers/__init__.py +0 -0
- osbot_utils/{helpers/safe_str → type_safe/primitives/safe_str/text}/Safe_Str__Text.py +1 -1
- osbot_utils/{helpers/safe_str → type_safe/primitives/safe_str/text}/Safe_Str__Text__Dangerous.py +1 -1
- osbot_utils/type_safe/primitives/safe_str/text/__init__.py +0 -0
- osbot_utils/{helpers/safe_str/http → type_safe/primitives/safe_str/web}/Safe_Str__Html.py +1 -1
- osbot_utils/{helpers/safe_str → type_safe/primitives/safe_str/web}/Safe_Str__Url.py +1 -1
- osbot_utils/type_safe/primitives/safe_str/web/__init__.py +0 -0
- osbot_utils/{helpers/safe_int → type_safe/primitives/safe_uint}/Safe_UInt.py +2 -1
- osbot_utils/{helpers/safe_int → type_safe/primitives/safe_uint}/Safe_UInt__Byte.py +1 -1
- osbot_utils/{helpers/safe_int → type_safe/primitives/safe_uint}/Safe_UInt__FileSize.py +1 -1
- osbot_utils/{helpers/safe_int → type_safe/primitives/safe_uint}/Safe_UInt__Percentage.py +1 -1
- osbot_utils/{helpers/safe_int → type_safe/primitives/safe_uint}/Safe_UInt__Port.py +1 -1
- osbot_utils/type_safe/primitives/safe_uint/__init__.py +0 -0
- osbot_utils/type_safe/type_safe_core/__init__.py +0 -0
- osbot_utils/type_safe/{Type_Safe__Dict.py → type_safe_core/collections/Type_Safe__Dict.py} +4 -3
- osbot_utils/type_safe/type_safe_core/collections/__init__.py +0 -0
- osbot_utils/type_safe/type_safe_core/decorators/__init__.py +0 -0
- osbot_utils/type_safe/{decorators → type_safe_core/decorators}/type_safe.py +2 -1
- osbot_utils/type_safe/{Type_Safe__Method.py → type_safe_core/methods/Type_Safe__Method.py} +4 -5
- osbot_utils/type_safe/type_safe_core/methods/__init__.py +0 -0
- osbot_utils/type_safe/{shared → type_safe_core/shared}/Type_Safe__Annotations.py +1 -1
- osbot_utils/type_safe/{shared → type_safe_core/shared}/Type_Safe__Cache.py +3 -3
- osbot_utils/type_safe/{shared → type_safe_core/shared}/Type_Safe__Convert.py +3 -3
- osbot_utils/type_safe/{shared → type_safe_core/shared}/Type_Safe__Json_Compressor.py +6 -6
- osbot_utils/type_safe/{shared → type_safe_core/shared}/Type_Safe__Raise_Exception.py +1 -1
- osbot_utils/type_safe/{shared → type_safe_core/shared}/Type_Safe__Validation.py +8 -7
- osbot_utils/type_safe/type_safe_core/shared/__init__.py +0 -0
- osbot_utils/type_safe/{steps → type_safe_core/steps}/Type_Safe__Step__Class_Kwargs.py +8 -7
- osbot_utils/type_safe/{steps → type_safe_core/steps}/Type_Safe__Step__Default_Value.py +6 -6
- osbot_utils/type_safe/{steps → type_safe_core/steps}/Type_Safe__Step__From_Json.py +16 -17
- osbot_utils/type_safe/{steps → type_safe_core/steps}/Type_Safe__Step__Init.py +7 -6
- osbot_utils/type_safe/{steps → type_safe_core/steps}/Type_Safe__Step__Set_Attr.py +7 -7
- osbot_utils/type_safe/type_safe_core/steps/__init__.py +0 -0
- osbot_utils/utils/Files.py +2 -3
- osbot_utils/version +1 -1
- {osbot_utils-2.73.0.dist-info → osbot_utils-2.74.0.dist-info}/METADATA +3 -3
- {osbot_utils-2.73.0.dist-info → osbot_utils-2.74.0.dist-info}/RECORD +122 -98
- /osbot_utils/{helpers/safe_float → type_safe/primitives}/__init__.py +0 -0
- /osbot_utils/{helpers → type_safe/primitives}/safe_float/Safe_Float.py +0 -0
- /osbot_utils/{helpers/safe_str → type_safe/primitives/safe_float}/__init__.py +0 -0
- /osbot_utils/{helpers → type_safe/primitives/safe_int}/Timestamp_Now.py +0 -0
- /osbot_utils/{helpers/safe_str/schemas → type_safe/primitives/safe_str}/Enum__Safe_Str__Regex_Mode.py +0 -0
- /osbot_utils/{helpers/safe_str/http → type_safe/primitives/safe_str}/__init__.py +0 -0
- /osbot_utils/{helpers/safe_str/schemas → type_safe/primitives/safe_str/cryptography}/__init__.py +0 -0
- /osbot_utils/type_safe/{decorators → primitives/safe_str/cryptography/hashes}/__init__.py +0 -0
- /osbot_utils/type_safe/{methods → primitives/safe_str/cryptography/nacl}/__init__.py +0 -0
- /osbot_utils/type_safe/{shared → primitives/safe_str/filesystem}/__init__.py +0 -0
- /osbot_utils/type_safe/{steps → primitives/safe_str/git}/__init__.py +0 -0
- /osbot_utils/{helpers → type_safe/primitives/safe_str/identifiers}/Random_Guid.py +0 -0
- /osbot_utils/{helpers → type_safe/primitives/safe_str/identifiers}/Random_Guid_Short.py +0 -0
- /osbot_utils/{helpers → type_safe/primitives/safe_str/identifiers}/Safe_Id.py +0 -0
- /osbot_utils/{helpers/safe_str/http → type_safe/primitives/safe_str/web}/Safe_Str__IP_Address.py +0 -0
- /osbot_utils/type_safe/{Type_Safe__List.py → type_safe_core/collections/Type_Safe__List.py} +0 -0
- /osbot_utils/type_safe/{Type_Safe__Set.py → type_safe_core/collections/Type_Safe__Set.py} +0 -0
- /osbot_utils/type_safe/{Type_Safe__Tuple.py → type_safe_core/collections/Type_Safe__Tuple.py} +0 -0
- /osbot_utils/type_safe/{methods → type_safe_core/methods}/type_safe_property.py +0 -0
- /osbot_utils/type_safe/{shared → type_safe_core/shared}/Type_Safe__Json_Compressor__Type_Registry.py +0 -0
- /osbot_utils/type_safe/{shared → type_safe_core/shared}/Type_Safe__Not_Cached.py +0 -0
- /osbot_utils/type_safe/{shared → type_safe_core/shared}/Type_Safe__Shared__Variables.py +0 -0
- /osbot_utils/type_safe/{steps → type_safe_core/steps}/Type_Safe__Step__Default_Kwargs.py +0 -0
- {osbot_utils-2.73.0.dist-info → osbot_utils-2.74.0.dist-info}/LICENSE +0 -0
- {osbot_utils-2.73.0.dist-info → osbot_utils-2.74.0.dist-info}/WHEEL +0 -0
File without changes
|
@@ -1,10 +1,11 @@
|
|
1
|
-
from typing
|
2
|
-
from osbot_utils.helpers.Obj_Id
|
3
|
-
from osbot_utils.
|
4
|
-
from osbot_utils.type_safe.shared.Type_Safe__Cache import
|
5
|
-
from osbot_utils.type_safe.shared.Type_Safe__Shared__Variables import IMMUTABLE_TYPES
|
6
|
-
from osbot_utils.type_safe.shared.Type_Safe__Validation import type_safe_validation
|
7
|
-
from osbot_utils.type_safe.steps.Type_Safe__Step__Default_Value import type_safe_step_default_value
|
1
|
+
from typing import Dict, Any, Type
|
2
|
+
from osbot_utils.helpers.Obj_Id import Obj_Id
|
3
|
+
from osbot_utils.type_safe.primitives.safe_str.identifiers.Random_Guid import Random_Guid
|
4
|
+
from osbot_utils.type_safe.type_safe_core.shared.Type_Safe__Cache import type_safe_cache, Type_Safe__Cache
|
5
|
+
from osbot_utils.type_safe.type_safe_core.shared.Type_Safe__Shared__Variables import IMMUTABLE_TYPES
|
6
|
+
from osbot_utils.type_safe.type_safe_core.shared.Type_Safe__Validation import type_safe_validation
|
7
|
+
from osbot_utils.type_safe.type_safe_core.steps.Type_Safe__Step__Default_Value import type_safe_step_default_value
|
8
|
+
|
8
9
|
|
9
10
|
class Type_Safe__Step__Class_Kwargs: # Handles class-level keyword arguments processing
|
10
11
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
import sys
|
2
2
|
import inspect
|
3
3
|
import typing
|
4
|
-
from osbot_utils.type_safe.
|
5
|
-
from osbot_utils.type_safe.
|
6
|
-
from osbot_utils.type_safe.
|
7
|
-
from osbot_utils.
|
8
|
-
from osbot_utils.type_safe.
|
9
|
-
from osbot_utils.
|
4
|
+
from osbot_utils.type_safe.type_safe_core.collections.Type_Safe__Dict import Type_Safe__Dict
|
5
|
+
from osbot_utils.type_safe.type_safe_core.collections.Type_Safe__List import Type_Safe__List
|
6
|
+
from osbot_utils.type_safe.type_safe_core.collections.Type_Safe__Set import Type_Safe__Set
|
7
|
+
from osbot_utils.type_safe.type_safe_core.collections.Type_Safe__Tuple import Type_Safe__Tuple
|
8
|
+
from osbot_utils.type_safe.type_safe_core.shared.Type_Safe__Cache import type_safe_cache
|
9
|
+
from osbot_utils.utils.Objects import default_value
|
10
10
|
|
11
11
|
|
12
12
|
# Backport implementations of get_args for Python 3.7 # todo: refactor into separate class (focused on past python version compatibility)
|
@@ -1,20 +1,21 @@
|
|
1
1
|
import sys
|
2
2
|
import types
|
3
|
-
from decimal
|
4
|
-
from enum
|
5
|
-
from osbot_utils.helpers.Obj_Id
|
6
|
-
from osbot_utils.
|
7
|
-
from osbot_utils.type_safe.
|
8
|
-
from osbot_utils.type_safe.
|
9
|
-
from osbot_utils.
|
10
|
-
from osbot_utils.
|
11
|
-
from osbot_utils.type_safe.
|
12
|
-
from osbot_utils.type_safe.
|
13
|
-
from osbot_utils.type_safe.shared.
|
14
|
-
from osbot_utils.type_safe.shared.
|
15
|
-
from osbot_utils.
|
16
|
-
from osbot_utils.
|
17
|
-
from osbot_utils.
|
3
|
+
from decimal import Decimal
|
4
|
+
from enum import EnumMeta
|
5
|
+
from osbot_utils.helpers.Obj_Id import Obj_Id
|
6
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
7
|
+
from osbot_utils.type_safe.primitives.safe_str.identifiers.Random_Guid import Random_Guid
|
8
|
+
from osbot_utils.type_safe.primitives.safe_str.identifiers.Random_Guid_Short import Random_Guid_Short
|
9
|
+
from osbot_utils.type_safe.primitives.safe_str.cryptography.hashes.Safe_Str__Hash import Safe_Str__Hash
|
10
|
+
from osbot_utils.type_safe.type_safe_core.collections.Type_Safe__Dict import Type_Safe__Dict
|
11
|
+
from osbot_utils.type_safe.type_safe_core.collections.Type_Safe__List import Type_Safe__List
|
12
|
+
from osbot_utils.type_safe.type_safe_core.collections.Type_Safe__Set import Type_Safe__Set
|
13
|
+
from osbot_utils.type_safe.type_safe_core.shared.Type_Safe__Annotations import type_safe_annotations
|
14
|
+
from osbot_utils.type_safe.type_safe_core.shared.Type_Safe__Cache import type_safe_cache
|
15
|
+
from osbot_utils.type_safe.type_safe_core.shared.Type_Safe__Convert import type_safe_convert
|
16
|
+
from osbot_utils.utils.Objects import enum_from_value
|
17
|
+
from osbot_utils.type_safe.primitives.safe_str.identifiers.Safe_Id import Safe_Id
|
18
|
+
from osbot_utils.type_safe.primitives.safe_int.Timestamp_Now import Timestamp_Now
|
18
19
|
|
19
20
|
# todo; refactor all this python compatibility into the python_3_8 class
|
20
21
|
if sys.version_info < (3, 8): # pragma: no cover
|
@@ -148,8 +149,6 @@ class Type_Safe__Step__From_Json:
|
|
148
149
|
return value
|
149
150
|
|
150
151
|
def deserialize_dict__using_key_value_annotations(self, _self, key, value):
|
151
|
-
from osbot_utils.type_safe.Type_Safe__Dict import Type_Safe__Dict
|
152
|
-
|
153
152
|
annotations = type_safe_cache.get_obj_annotations(_self)
|
154
153
|
dict_annotations_tuple = get_args(annotations.get(key))
|
155
154
|
if not dict_annotations_tuple: # happens when the value is a dict/Dict with no annotations
|
@@ -1,7 +1,12 @@
|
|
1
1
|
from enum import EnumMeta
|
2
2
|
from typing import ForwardRef
|
3
|
-
|
4
|
-
from osbot_utils.type_safe.
|
3
|
+
|
4
|
+
from osbot_utils.type_safe.type_safe_core.collections.Type_Safe__Dict import Type_Safe__Dict
|
5
|
+
from osbot_utils.type_safe.type_safe_core.collections.Type_Safe__List import Type_Safe__List
|
6
|
+
from osbot_utils.type_safe.type_safe_core.collections.Type_Safe__Set import Type_Safe__Set
|
7
|
+
from osbot_utils.type_safe.type_safe_core.collections.Type_Safe__Tuple import Type_Safe__Tuple
|
8
|
+
from osbot_utils.type_safe.type_safe_core.shared.Type_Safe__Annotations import type_safe_annotations
|
9
|
+
from osbot_utils.type_safe.type_safe_core.steps.Type_Safe__Step__Default_Value import type_safe_step_default_value, get_args
|
5
10
|
|
6
11
|
|
7
12
|
class Type_Safe__Step__Init:
|
@@ -46,7 +51,6 @@ class Type_Safe__Step__Init:
|
|
46
51
|
value = type_safe_step_default_value.default_value(__self.__class__, annotation) # Use default_value to create the proper type-safe container
|
47
52
|
# Handle non-empty list
|
48
53
|
elif origin is list and isinstance(value, list):
|
49
|
-
from osbot_utils.type_safe.Type_Safe__List import Type_Safe__List
|
50
54
|
item_type = get_args(annotation)[0]
|
51
55
|
if isinstance(item_type, ForwardRef):
|
52
56
|
forward_name = item_type.__forward_arg__
|
@@ -59,7 +63,6 @@ class Type_Safe__Step__Init:
|
|
59
63
|
|
60
64
|
# Handle non-empty set
|
61
65
|
elif origin is set and isinstance(value, set):
|
62
|
-
from osbot_utils.type_safe.Type_Safe__Set import Type_Safe__Set
|
63
66
|
item_type = get_args(annotation)[0]
|
64
67
|
type_safe_set = Type_Safe__Set(expected_type=item_type)
|
65
68
|
for item in value:
|
@@ -68,13 +71,11 @@ class Type_Safe__Step__Init:
|
|
68
71
|
|
69
72
|
# Handle non-empty tuple
|
70
73
|
elif origin is tuple and isinstance(value, tuple):
|
71
|
-
from osbot_utils.type_safe.Type_Safe__Tuple import Type_Safe__Tuple
|
72
74
|
item_types = get_args(annotation)
|
73
75
|
return Type_Safe__Tuple(expected_types=item_types, items=value)
|
74
76
|
|
75
77
|
# Handle non-empty dict
|
76
78
|
elif origin is dict and isinstance(value, dict):
|
77
|
-
from osbot_utils.type_safe.Type_Safe__Dict import Type_Safe__Dict
|
78
79
|
key_type, value_type = get_args(annotation)
|
79
80
|
type_safe_dict = Type_Safe__Dict(expected_key_type=key_type, expected_value_type=value_type)
|
80
81
|
for k, v in value.items():
|
@@ -1,9 +1,9 @@
|
|
1
1
|
from typing import get_origin, Annotated, get_args
|
2
|
-
from osbot_utils.type_safe.Type_Safe__List import Type_Safe__List
|
3
2
|
from osbot_utils.type_safe.Type_Safe__Primitive import Type_Safe__Primitive
|
4
|
-
from osbot_utils.type_safe.
|
5
|
-
from osbot_utils.type_safe.shared.
|
6
|
-
from osbot_utils.type_safe.shared.
|
3
|
+
from osbot_utils.type_safe.type_safe_core.collections.Type_Safe__List import Type_Safe__List
|
4
|
+
from osbot_utils.type_safe.type_safe_core.shared.Type_Safe__Cache import type_safe_cache
|
5
|
+
from osbot_utils.type_safe.type_safe_core.shared.Type_Safe__Convert import type_safe_convert
|
6
|
+
from osbot_utils.type_safe.type_safe_core.shared.Type_Safe__Validation import type_safe_validation
|
7
7
|
from osbot_utils.type_safe.validators.Type_Safe__Validator import Type_Safe__Validator
|
8
8
|
|
9
9
|
class Type_Safe__Step__Set_Attr:
|
@@ -67,9 +67,9 @@ class Type_Safe__Step__Set_Attr:
|
|
67
67
|
attribute.validate(value=value, field_name=name, target_type=target_type)
|
68
68
|
|
69
69
|
def handle_get_class__dict(self, _self, name, value):
|
70
|
-
if value:
|
71
|
-
from osbot_utils.type_safe.steps.Type_Safe__Step__From_Json import Type_Safe__Step__From_Json
|
72
|
-
value = Type_Safe__Step__From_Json().deserialize_dict__using_key_value_annotations(_self, name, value)
|
70
|
+
if value: # todo: see side effects of doing this here (since going into deserialize_dict__using_key_value_annotations has performance hit)
|
71
|
+
from osbot_utils.type_safe.type_safe_core.steps.Type_Safe__Step__From_Json import Type_Safe__Step__From_Json # here because of circular dependencies
|
72
|
+
value = Type_Safe__Step__From_Json().deserialize_dict__using_key_value_annotations(_self, name, value) # todo: refactor how this actually works since it is not good to having to use the deserialize_dict__using_key_value_annotations from here
|
73
73
|
return value
|
74
74
|
|
75
75
|
def handle_get_class(self, _self, annotations, name, value):
|
File without changes
|
osbot_utils/utils/Files.py
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
import os
|
2
|
-
from typing
|
3
|
-
|
4
|
-
from osbot_utils.helpers.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
2
|
+
from typing import Union, List
|
3
|
+
from osbot_utils.type_safe.primitives.safe_str.filesystem.Safe_Str__File__Path import Safe_Str__File__Path
|
5
4
|
|
6
5
|
|
7
6
|
class Files:
|
osbot_utils/version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
v2.
|
1
|
+
v2.74.0
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: osbot_utils
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.74.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
|

|
@@ -61,7 +61,7 @@ pip install git+https://github.com/owasp-sbot/OSBot-Utils.git@dev
|
|
61
61
|
### Using Type-Safe Primitives
|
62
62
|
|
63
63
|
```python
|
64
|
-
from osbot_utils.
|
64
|
+
from osbot_utils.type_safe.primitives.safe_str.Safe_Str import Safe_Str
|
65
65
|
|
66
66
|
class Username(Safe_Str):
|
67
67
|
max_length = 20
|
@@ -34,19 +34,14 @@ osbot_utils/helpers/CFormat.py,sha256=QviXlx3cQF7Wq6bNQmvWPHknDDMQXg5bh5dsRncrg-
|
|
34
34
|
osbot_utils/helpers/CPrint.py,sha256=8iCkLaPozi3anzLQ-kPfJTtfLZdOrgpGNJs5UNjGJ9g,1346
|
35
35
|
osbot_utils/helpers/Dependency_Manager.py,sha256=79YRYnVfchewq8iSMJ5dzwW2D5u8chWcIqYE-G9YrSo,1337
|
36
36
|
osbot_utils/helpers/Dict_To_Attr.py,sha256=NdhXl5mJH7-NaBk213amzc5Nfy3tJgW-N_uYIRE4hoc,208
|
37
|
-
osbot_utils/helpers/Guid.py,sha256=0Ay3TYYk2nPr-JRVRCMFxbr8OvoQomv5HjT7o5B7cos,827
|
38
37
|
osbot_utils/helpers/Hashicorp_Secrets.py,sha256=e2fWWHK6bubpAm1sw5y8X5kh2Hk5d4JyZCnUovZip5A,4232
|
39
38
|
osbot_utils/helpers/Local_Cache.py,sha256=67qmeVXUBhfqLUQhjFBE9Pjt5dcjpQYhqCTGQNWgVSU,3232
|
40
39
|
osbot_utils/helpers/Local_Caches.py,sha256=LUeNJX07Ccnp1SIhYvhqqQFVF6r_Ez7bWha8ssomuvY,1957
|
41
40
|
osbot_utils/helpers/Obj_Id.py,sha256=T6HF8khO7u1C688Ref_8Li2zxowRc9pIghUkMwb6H1c,1023
|
42
41
|
osbot_utils/helpers/Print_Table.py,sha256=LEXbyqGg_6WSraI4cob4bNNSu18ddqvALp1zGK7bPhs,19126
|
43
42
|
osbot_utils/helpers/Python_Audit.py,sha256=shpZlluJwqJBAlad6xN01FkgC1TsQ48RLvR5ZjmrKa4,1539
|
44
|
-
osbot_utils/helpers/Random_Guid.py,sha256=86xnlevsiitCzFB-VjjBmXXV14pbcKd67YWEDsYTCFk,483
|
45
|
-
osbot_utils/helpers/Random_Guid_Short.py,sha256=YP_k5OLuYvXWGU2OEnQHk_OGViBQofTWKm3pUdQaJao,404
|
46
43
|
osbot_utils/helpers/Random_Seed.py,sha256=14btja8LDN9cMGWaz4fCNcMRU_eyx49gas-_PQvHgy4,634
|
47
|
-
osbot_utils/helpers/Safe_Id.py,sha256=Mj66QVcEHqUKDFb0cdl7cbMOlQKxfFuRxnupmKo6UG8,696
|
48
44
|
osbot_utils/helpers/Str_ASCII.py,sha256=PRqyu449XnKrLn6b9Miii1Hv-GO5OAa1UhhgvlRcC2M,704
|
49
|
-
osbot_utils/helpers/Timestamp_Now.py,sha256=OZwSwmYA1pZAnVglpx2lBL5t8Pu_HxzmYdNEJnmTqKI,536
|
50
45
|
osbot_utils/helpers/Type_Registry.py,sha256=Ajk3SyMSKDi2g9SJYUtTgg7PZkAgydaHcpbGuEN3S94,311
|
51
46
|
osbot_utils/helpers/Zip_Bytes.py,sha256=Bf17NPS_yxrzI_4FsCxkjlhS9ELJK3kisY-jHQPQVgw,4287
|
52
47
|
osbot_utils/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -150,7 +145,7 @@ osbot_utils/helpers/duration/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeu
|
|
150
145
|
osbot_utils/helpers/flows/Flow.py,sha256=WxpaWrbLhlkHtZuiTaNE8S9ocpmLcVQQL0C4PGzcDMY,13970
|
151
146
|
osbot_utils/helpers/flows/Task.py,sha256=RfccOCev5XTsNoKuDJzK1JItF-Lm7P6FGCGZyh9swyY,7116
|
152
147
|
osbot_utils/helpers/flows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
153
|
-
osbot_utils/helpers/flows/actions/Flow__Data.py,sha256=
|
148
|
+
osbot_utils/helpers/flows/actions/Flow__Data.py,sha256=9Vzh78t9lmKVQswIjD_antJQVW4gVHXAq858LkASa8k,5065
|
154
149
|
osbot_utils/helpers/flows/actions/Flow__Events.py,sha256=g7KBafFeA7tV-v31v_m3MT__cZEX63gh8CehnZwRYU0,2840
|
155
150
|
osbot_utils/helpers/flows/actions/Flow__Stats__Collector.py,sha256=GCszqIGj8yVlr283ZXiejDCof-tbDgynjzAdmhEqBWg,4155
|
156
151
|
osbot_utils/helpers/flows/actions/Task__Stats__Collector.py,sha256=rDYABaHpikIAK0Odleu8-dZ9ECJZYDmgFdd0KvsbByI,1462
|
@@ -159,26 +154,26 @@ osbot_utils/helpers/flows/decorators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeu
|
|
159
154
|
osbot_utils/helpers/flows/decorators/flow.py,sha256=7wj5TtUO_ffbACnagZtZ6LfFgclmbQSfn2lKkMMrnJI,670
|
160
155
|
osbot_utils/helpers/flows/decorators/task.py,sha256=Z5GqoUirnm98HAyvRlVcoXLcmZNagXjOXon2kb5OHsY,755
|
161
156
|
osbot_utils/helpers/flows/models/Flow_Run__Config.py,sha256=eW7uYZngnmEv1PZOi3sMyJ3jaTlD6S7juzxaDkNO88Y,588
|
162
|
-
osbot_utils/helpers/flows/models/Flow_Run__Event.py,sha256=
|
157
|
+
osbot_utils/helpers/flows/models/Flow_Run__Event.py,sha256=Qgsgy_ecMK6XwFzVZ211JlDnc0xv8dP3Xe75NJM-_r8,650
|
163
158
|
osbot_utils/helpers/flows/models/Flow_Run__Event_Data.py,sha256=zIAhfz1oUs0ocxbfCPmgj8tsXt2Ycjo0nFdeetKlnZ8,400
|
164
159
|
osbot_utils/helpers/flows/models/Flow_Run__Event_Type.py,sha256=4wYRGAtztlhSV6XZa6DIfAAf7ZLp95KOIGU8G1EC4jc,373
|
165
|
-
osbot_utils/helpers/flows/models/Schema__Flow__Artifact.py,sha256=
|
166
|
-
osbot_utils/helpers/flows/models/Schema__Flow__Result.py,sha256=
|
160
|
+
osbot_utils/helpers/flows/models/Schema__Flow__Artifact.py,sha256=SABmtv1JWahSxAIaQZnn_ZROvMYAOGYRplnIWwptaH8,415
|
161
|
+
osbot_utils/helpers/flows/models/Schema__Flow__Result.py,sha256=Z64mVV6kY8x8v_WYvFKXiY-PuCfqObxN4g9qkw0PBv8,338
|
167
162
|
osbot_utils/helpers/flows/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
168
163
|
osbot_utils/helpers/flows/schemas/Schema__Flow.py,sha256=x52KtIGp985g79VAq8zASDqbVeYDJc3iwuz3Yzol4sk,540
|
169
|
-
osbot_utils/helpers/flows/schemas/Schema__Flow__Data.py,sha256=
|
170
|
-
osbot_utils/helpers/flows/schemas/Schema__Flow__Event.py,sha256=
|
164
|
+
osbot_utils/helpers/flows/schemas/Schema__Flow__Data.py,sha256=oDKt8wqnHiiWCVthdDqTqhd5Z0x4_j9-L_snFjyTfAU,1584
|
165
|
+
osbot_utils/helpers/flows/schemas/Schema__Flow__Event.py,sha256=uWiVOpzKfr1xcYC9qVNG3IRqigAgzDN9OX8HEh4DWSU,617
|
171
166
|
osbot_utils/helpers/flows/schemas/Schema__Flow__Event__Data.py,sha256=ugevIeeNIcXiusQiw8BqXikpl_BXvKZrZLZjYg5J9SQ,567
|
172
|
-
osbot_utils/helpers/flows/schemas/Schema__Flow__Log.py,sha256=
|
167
|
+
osbot_utils/helpers/flows/schemas/Schema__Flow__Log.py,sha256=FUyjLZivJY8BGnGTcbUOL1gT0ExXKkrJ6_XlL3oARoA,414
|
173
168
|
osbot_utils/helpers/flows/schemas/Schema__Flow__Stats.py,sha256=2YeYHTs7rlA5wGt9Jowr0z3b4ZzZF-0GGx_tCSttjOs,1171
|
174
169
|
osbot_utils/helpers/flows/schemas/Schema__Flow__Status.py,sha256=3DSUTPqggnJhpHQAtGhiWj8zT2yRbq6MIQk31ap_5ds,181
|
175
|
-
osbot_utils/helpers/flows/schemas/Schema__Flow__Task__Data.py,sha256=
|
170
|
+
osbot_utils/helpers/flows/schemas/Schema__Flow__Task__Data.py,sha256=Lh2hYLEva8ASCUpIIKxgO4fgshv4GXrszJFzHqDs5NU,679
|
176
171
|
osbot_utils/helpers/flows/schemas/Schema__Task__Stats.py,sha256=DSja48dPeQPBzzJMtKjJrwEEHb4MqBv0nvm2YC_pTpk,858
|
177
172
|
osbot_utils/helpers/flows/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
178
173
|
osbot_utils/helpers/generators/Generator_Context_Manager.py,sha256=STpCn2Zh5G2TmyYMjeLMjfpkSYUUeU6mzV_O6Hu4g4Q,863
|
179
|
-
osbot_utils/helpers/generators/Generator_Manager.py,sha256=
|
174
|
+
osbot_utils/helpers/generators/Generator_Manager.py,sha256=N6HSGuPn7lOGAqQL1a5VgzU9uXtzrcdJhQAIj7oLHpg,11762
|
180
175
|
osbot_utils/helpers/generators/Model__Generator_State.py,sha256=cS9tigdBIAvexip2VC8B0meegslzlu-cOosTDiEpe54,903
|
181
|
-
osbot_utils/helpers/generators/Model__Generator_Target.py,sha256=
|
176
|
+
osbot_utils/helpers/generators/Model__Generator_Target.py,sha256=Iz4bR4iRneH7lv9ul0xc_p52djTR0moR1SdyC3dUZxI,850
|
182
177
|
osbot_utils/helpers/generators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
183
178
|
osbot_utils/helpers/html/CSS_Dict__To__Css.py,sha256=ZDIVfFCYO4UQsRprbx9vCosFqrnHizZUH-JgP5oZcuA,1102
|
184
179
|
osbot_utils/helpers/html/Html_Dict__To__Html.py,sha256=Xa5J1elZBK1a5ae75ckenTtNOZs1XX87s1qmu73JatE,4547
|
@@ -199,38 +194,38 @@ osbot_utils/helpers/html/Tag__Link.py,sha256=rQ-gZN8EkSv5x1S-smdjvFflwMQHACHQXiO
|
|
199
194
|
osbot_utils/helpers/html/Tag__Style.py,sha256=wRZ8DN1HVCtrnL4Flz82oByqJOy8Th40EhYCrZsuk2c,872
|
200
195
|
osbot_utils/helpers/html/Tag__Text.py,sha256=Pqf96QGwX9wdGqlwBvWYHWz9Qqi-oZrkgEzHQm6LzdY,241
|
201
196
|
osbot_utils/helpers/html/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
202
|
-
osbot_utils/helpers/html/schemas/Schema__Html_Document.py,sha256=
|
197
|
+
osbot_utils/helpers/html/schemas/Schema__Html_Document.py,sha256=tQJLc0rf2CuG1sGNB04cPyVV7KpCGXYDt0wEnFtWohg,403
|
203
198
|
osbot_utils/helpers/html/schemas/Schema__Html_Node.py,sha256=iMGClwil99_KoeLuft53DQLu9Jw-PCqRjBXpfInd7rM,794
|
204
199
|
osbot_utils/helpers/html/schemas/Schema__Html_Node__Data.py,sha256=GiAZY5mO3DNasUO_oNM4ndTvRU2VpjPxOi7kYzu2DHE,568
|
205
200
|
osbot_utils/helpers/html/schemas/Schema__Html_Node__Data__Type.py,sha256=mbYivcm6BfN5-oeCyl6gjbnSKs_b_t-G2H1rpSK6nUY,90
|
206
201
|
osbot_utils/helpers/html/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
207
202
|
osbot_utils/helpers/llms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
208
|
-
osbot_utils/helpers/llms/actions/LLM_Request__Execute.py,sha256=
|
209
|
-
osbot_utils/helpers/llms/actions/Type_Safe__Schema_For__LLMs.py,sha256=
|
203
|
+
osbot_utils/helpers/llms/actions/LLM_Request__Execute.py,sha256=mgibU74brzKsO4lZEuQrs2AADDRik6WjZEb3KxiGUfE,2454
|
204
|
+
osbot_utils/helpers/llms/actions/Type_Safe__Schema_For__LLMs.py,sha256=SfatdVI7sbFXSiEY--6FkW9amLrYUFhZw1xvgKrE_-s,12064
|
210
205
|
osbot_utils/helpers/llms/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
211
|
-
osbot_utils/helpers/llms/builders/LLM_Request__Builder.py,sha256=
|
212
|
-
osbot_utils/helpers/llms/builders/LLM_Request__Builder__Open_AI.py,sha256=
|
213
|
-
osbot_utils/helpers/llms/builders/LLM_Request__Factory.py,sha256=
|
206
|
+
osbot_utils/helpers/llms/builders/LLM_Request__Builder.py,sha256=9DTjtpTDCSBnZJelemOsGhLFaETOhyzUl8CFfwnzn_Q,4009
|
207
|
+
osbot_utils/helpers/llms/builders/LLM_Request__Builder__Open_AI.py,sha256=j9m99MS0NwJPqHj85Q4FOhhyIPKHnx2wj6RJLOOKlls,3431
|
208
|
+
osbot_utils/helpers/llms/builders/LLM_Request__Factory.py,sha256=OQW0nIfmXvc2RdT84GtMM-BlMp04iQOUsgIieU8NKcs,6291
|
214
209
|
osbot_utils/helpers/llms/builders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
215
|
-
osbot_utils/helpers/llms/cache/LLM_Cache__Path_Generator.py,sha256=
|
216
|
-
osbot_utils/helpers/llms/cache/LLM_Request__Cache.py,sha256=
|
217
|
-
osbot_utils/helpers/llms/cache/LLM_Request__Cache__File_System.py,sha256=
|
218
|
-
osbot_utils/helpers/llms/cache/LLM_Request__Cache__Storage.py,sha256=
|
219
|
-
osbot_utils/helpers/llms/cache/Virtual_Storage__Local__Folder.py,sha256
|
220
|
-
osbot_utils/helpers/llms/cache/Virtual_Storage__Sqlite.py,sha256=
|
210
|
+
osbot_utils/helpers/llms/cache/LLM_Cache__Path_Generator.py,sha256=Cc9fhBlw-mAklsth3uGOam-vJC0cqQ1fQCLnC4XDuzw,4587
|
211
|
+
osbot_utils/helpers/llms/cache/LLM_Request__Cache.py,sha256=OwGnMxk4y2KZBzNPxD7NZErLF1EjyznT-I2fsuW9oDc,7829
|
212
|
+
osbot_utils/helpers/llms/cache/LLM_Request__Cache__File_System.py,sha256=dmskyxXHnh-4v2SuVGdp8GfShKRrqlzEBLxDMVuUzHI,15499
|
213
|
+
osbot_utils/helpers/llms/cache/LLM_Request__Cache__Storage.py,sha256=JAIHPpU-0veMuOToZvkA9JwJXvAAoWJoznGloliCt7E,5434
|
214
|
+
osbot_utils/helpers/llms/cache/Virtual_Storage__Local__Folder.py,sha256=2DD-lZK8a-rKNwf3D8A10yVBeIRyOzm5ggGaQlRP9lI,3132
|
215
|
+
osbot_utils/helpers/llms/cache/Virtual_Storage__Sqlite.py,sha256=v2gppFQp12ZQcJ3muQwiDXOyOWcc-mJQe6liQObQirs,4715
|
221
216
|
osbot_utils/helpers/llms/cache/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
222
217
|
osbot_utils/helpers/llms/platforms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
223
218
|
osbot_utils/helpers/llms/platforms/open_ai/API__LLM__Open_AI.py,sha256=Yyy2ZnIS6CfxXepP9pZNsOYx02d-5EnK1IFeFf8myyk,2148
|
224
219
|
osbot_utils/helpers/llms/platforms/open_ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
225
|
-
osbot_utils/helpers/llms/schemas/Safe_Str__LLM__Model_Name.py,sha256=
|
226
|
-
osbot_utils/helpers/llms/schemas/Schema__LLM_Cache__Index.py,sha256=
|
220
|
+
osbot_utils/helpers/llms/schemas/Safe_Str__LLM__Model_Name.py,sha256=DzQmAe_8IEDKYjUAAbzRYx23g_wGqgd9bT5zc0FBrr8,371
|
221
|
+
osbot_utils/helpers/llms/schemas/Schema__LLM_Cache__Index.py,sha256=GNzOvihBlQ9QWWYAF_-70IkWdquGdhm5QyPXZRMWaNQ,848
|
227
222
|
osbot_utils/helpers/llms/schemas/Schema__LLM_Request.py,sha256=UUiqZQ5mj16SPdlzef7_j3myLaKKCZdAUjsWUJnK1Ag,378
|
228
|
-
osbot_utils/helpers/llms/schemas/Schema__LLM_Request__Data.py,sha256=
|
223
|
+
osbot_utils/helpers/llms/schemas/Schema__LLM_Request__Data.py,sha256=dcgiEF5lKvNpC4JLa76AH4_HO0SkTDOSgD_2K04cK2A,1489
|
229
224
|
osbot_utils/helpers/llms/schemas/Schema__LLM_Request__Function_Call.py,sha256=VJgWi4aK-DJmuJvfY2qZUZuLkrLlmu5lgyzxZrrp3hM,440
|
230
225
|
osbot_utils/helpers/llms/schemas/Schema__LLM_Request__Message__Content.py,sha256=nl-16yz4G_72ViACKE9CvGStrKxw2Gm_JcaU8wVcJXI,521
|
231
226
|
osbot_utils/helpers/llms/schemas/Schema__LLM_Request__Message__Role.py,sha256=T99w0cRrDPXQqPT-Nw7_14tMr4vKpUlhw74UJZL6w6w,168
|
232
|
-
osbot_utils/helpers/llms/schemas/Schema__LLM_Response.py,sha256=
|
233
|
-
osbot_utils/helpers/llms/schemas/Schema__LLM_Response__Cache.py,sha256=
|
227
|
+
osbot_utils/helpers/llms/schemas/Schema__LLM_Response.py,sha256=8LisqVWlqEgatgGGk1lkoyQiq7v6JEUqGN0oDiExm5g,320
|
228
|
+
osbot_utils/helpers/llms/schemas/Schema__LLM_Response__Cache.py,sha256=rNEcO029xaQ5MMWSGEXMoVAEJqm-yB1N3OgwE0sHW9Q,955
|
234
229
|
osbot_utils/helpers/llms/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
235
230
|
osbot_utils/helpers/pubsub/Event__Queue.py,sha256=bCtIdVlAuG-jvFEnz14oNhgRScEUrd8v9BqLcZleGks,5038
|
236
231
|
osbot_utils/helpers/pubsub/PubSub__Client.py,sha256=6K3l4H-Tc0DhktrxpYzLVur1uZ532pQsHWprLNRXFJE,2316
|
@@ -249,36 +244,6 @@ osbot_utils/helpers/pubsub/schemas/Schema__PubSub__Client.py,sha256=yOQSn4o1bIsE
|
|
249
244
|
osbot_utils/helpers/pubsub/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
250
245
|
osbot_utils/helpers/python_compatibility/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
251
246
|
osbot_utils/helpers/python_compatibility/python_3_8.py,sha256=kh846vs3ir8xD0RSARJBOL0xufnt3L_Td3K45lDfqng,161
|
252
|
-
osbot_utils/helpers/safe_float/Safe_Float.py,sha256=qgmO8S8wFHXA4O3hm4bdamFZ0HkaN_r59hSbUNevHhc,6687
|
253
|
-
osbot_utils/helpers/safe_float/Safe_Float__Engineering.py,sha256=2XLh8sLs49WXqyRUzPbZnTQGok-CKR6jjxZCXi5py2A,330
|
254
|
-
osbot_utils/helpers/safe_float/Safe_Float__Money.py,sha256=Abh_CX8849rtKgAu-hCxwVxBytb7-I9-chkbYXpQr74,378
|
255
|
-
osbot_utils/helpers/safe_float/Safe_Float__Percentage_Exact.py,sha256=l_nGfa2-VCgdBeUXYQAR2wawc4362A9GsCOpWZ3Sdd4,286
|
256
|
-
osbot_utils/helpers/safe_float/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
257
|
-
osbot_utils/helpers/safe_int/Safe_Int.py,sha256=Bx_PDuGoLqNgjKMIdmMObAv7u4fw1ISWJlSNkK9kbXI,3168
|
258
|
-
osbot_utils/helpers/safe_int/Safe_UInt.py,sha256=lU8TiNNpa9Vwg-FK0btk_bRaV_GYcGpBjHjFAdw5f08,317
|
259
|
-
osbot_utils/helpers/safe_int/Safe_UInt__Byte.py,sha256=850zWYmowGE7NlkVocNewphWGXzBeWtVRV_zs2XFrxI,328
|
260
|
-
osbot_utils/helpers/safe_int/Safe_UInt__FileSize.py,sha256=pj1_Gf48JVXbnnvx5-YqbQfUsyV_PChVzh1Nnk7PuBY,602
|
261
|
-
osbot_utils/helpers/safe_int/Safe_UInt__Percentage.py,sha256=Ck-jiu6NK57Y3ruAjIJ0k-maiKcB2Q7M3t9nKf-8ga8,357
|
262
|
-
osbot_utils/helpers/safe_int/Safe_UInt__Port.py,sha256=uISrh8VKXiEQULQ1POU9YK8Di6z_vr0HWjCTpjA0YaY,482
|
263
|
-
osbot_utils/helpers/safe_int/__init__.py,sha256=kMU2WMsdQmayBEZugxnJV_wRW3O90bc118sx6iIm_mQ,310
|
264
|
-
osbot_utils/helpers/safe_str/Safe_Str.py,sha256=lVrji7bTDzJIRr20tjsKLEZsKVFrx5AlCQnj-pIe32k,4616
|
265
|
-
osbot_utils/helpers/safe_str/Safe_Str__File__Name.py,sha256=9Evl4P45GCyyR2ywze29GzmqWhyTCcgI-o2CItMsOHo,358
|
266
|
-
osbot_utils/helpers/safe_str/Safe_Str__File__Path.py,sha256=K0yBcvH_Ncqiw7tMqjGqaNyWQh1Zs9qxZ-TR8nEIAow,550
|
267
|
-
osbot_utils/helpers/safe_str/Safe_Str__Hash.py,sha256=IpYdYwXey5WZWa6QfysmsiDP-4L-wP-_EKbkeXhFRH4,1252
|
268
|
-
osbot_utils/helpers/safe_str/Safe_Str__Text.py,sha256=QxuWqF8hNYdOPDn3Yac86h_1ZaX-THbTBDakberiJcs,313
|
269
|
-
osbot_utils/helpers/safe_str/Safe_Str__Text__Dangerous.py,sha256=6-fkXBuWgjz70eQicD07f38eEuKqNzJzaFFY6hozhNQ,388
|
270
|
-
osbot_utils/helpers/safe_str/Safe_Str__Url.py,sha256=4l46AAe5Dy_P_W6d-_3pwtXuehG_Wczq1dC5sOOzg_g,549
|
271
|
-
osbot_utils/helpers/safe_str/Safe_Str__Version.py,sha256=atUpMDUbDQWUXUHKkmeMEqSlZGkhNgVInDiOXXQV3kM,1387
|
272
|
-
osbot_utils/helpers/safe_str/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
273
|
-
osbot_utils/helpers/safe_str/http/Safe_Str__Html.py,sha256=4_UxGEIkqV_Zeh77nXoO2OUy5SS6gvN3xSwA32DyWs0,662
|
274
|
-
osbot_utils/helpers/safe_str/http/Safe_Str__Http__Content_Type.py,sha256=HURT4n17LmKbcqODsNwhu_D0lI5LpUL8I5t9aqGAZhQ,516
|
275
|
-
osbot_utils/helpers/safe_str/http/Safe_Str__Http__ETag.py,sha256=5cAfIqebraUnVKZJq3CzXzsFdHGy06TznO36Dc6b5A0,477
|
276
|
-
osbot_utils/helpers/safe_str/http/Safe_Str__Http__Last_Modified.py,sha256=FBcPM4h3ldN0F_cSISGZgdidWpjKLCOOPq9sWVGUCzg,438
|
277
|
-
osbot_utils/helpers/safe_str/http/Safe_Str__Http__Text.py,sha256=w0UPkVnQz41BN9asgDUZ4q6pSQUtzNa-4Sjcl56WTCM,1788
|
278
|
-
osbot_utils/helpers/safe_str/http/Safe_Str__IP_Address.py,sha256=wOcEt0adsE6-CX08erlRYyGyOLoe4QRaAYdI6sKyKlM,1672
|
279
|
-
osbot_utils/helpers/safe_str/http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
280
|
-
osbot_utils/helpers/safe_str/schemas/Enum__Safe_Str__Regex_Mode.py,sha256=15y_afYIf_LsweutaVVdIJ0qClbVITJGWNEqfRKapNI,120
|
281
|
-
osbot_utils/helpers/safe_str/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
282
247
|
osbot_utils/helpers/sqlite/Capture_Sqlite_Error.py,sha256=GSuRYgs1yKQjxMszPoaI7fsfMfuUqhb64AaIysRE6Cs,1747
|
283
248
|
osbot_utils/helpers/sqlite/Sqlite__Cursor.py,sha256=4Im0pCOiERX6Nnf6iagRlSvTR3CPjyPVkdx4NMQV0P0,3342
|
284
249
|
osbot_utils/helpers/sqlite/Sqlite__Database.py,sha256=ORjRUD-xSvf89kDMQ70q7wBlbV5pdKtDerjE6gDN_fg,5616
|
@@ -347,9 +312,9 @@ osbot_utils/helpers/xml/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
|
|
347
312
|
osbot_utils/helpers/xml/rss/RSS__Channel.py,sha256=BpkP4OMV_H6usvXhdQ8ahJFxYbtwfkRuoP37_gcIP-A,605
|
348
313
|
osbot_utils/helpers/xml/rss/RSS__Enclosure.py,sha256=9lUsIVJ4TkR_mBFDc6-ISMg7fPXe8FiKFSWjpnlWIMY,139
|
349
314
|
osbot_utils/helpers/xml/rss/RSS__Feed.py,sha256=W4T2rmJoZr4kfOPSkZXkkKPnOk5bPlZfLzOf7pah9LQ,422
|
350
|
-
osbot_utils/helpers/xml/rss/RSS__Feed__Parser.py,sha256=
|
315
|
+
osbot_utils/helpers/xml/rss/RSS__Feed__Parser.py,sha256=YmaIEdd_-K2rWAsS-9LY9kGj9ppKxPfePwgMOZ9WZ8s,5459
|
351
316
|
osbot_utils/helpers/xml/rss/RSS__Image.py,sha256=13k8K03VTZbP0efeDL07oZF7Lg0CQccXBd1Qk965mHY,168
|
352
|
-
osbot_utils/helpers/xml/rss/RSS__Item.py,sha256=
|
317
|
+
osbot_utils/helpers/xml/rss/RSS__Item.py,sha256=yWl0BIr4zClf0blYeIl-SQevI-Bpc0KbGwS0qr9th1k,642
|
353
318
|
osbot_utils/testing/Catch.py,sha256=HdNoKnrPBjvVj87XYN-Wa1zpo5z3oByURT6TKbd5QpQ,2229
|
354
319
|
osbot_utils/testing/Custom_Handler_For_Http_Tests.py,sha256=LKscFEcuwTQQ9xl4q71PR5FA8U-q8OtfTkCJoIgQIoQ,5358
|
355
320
|
osbot_utils/testing/Hook_Method.py,sha256=QoxdbxnVLa4-VYrMCMmo66BoR6nR2BP0Q15asaJXacs,4405
|
@@ -376,36 +341,95 @@ osbot_utils/testing/performance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
|
|
376
341
|
osbot_utils/testing/performance/models/Model__Performance_Measure__Measurement.py,sha256=xT_uKzbSYo9AGiJgNmCHSt3ApneNNyKh8vsMVN6IJQ0,1127
|
377
342
|
osbot_utils/testing/performance/models/Model__Performance_Measure__Result.py,sha256=k9HJYNLmW6sjRVsfpduSxHFiVANc1zmYtO_Oz9azpW8,755
|
378
343
|
osbot_utils/testing/performance/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
379
|
-
osbot_utils/type_safe/Type_Safe.py,sha256=
|
380
|
-
osbot_utils/type_safe/Type_Safe__Base.py,sha256=
|
381
|
-
osbot_utils/type_safe/Type_Safe__Dict.py,sha256=QB200L5eNWT3FnUv8sm5kncj1wXJsJ9uRycNFl9xb6Y,3077
|
382
|
-
osbot_utils/type_safe/Type_Safe__List.py,sha256=y_lp7Ai0HfQCqC8Bxn0g6_M9MP5lPOXy5Dhkuj2fJvQ,1891
|
383
|
-
osbot_utils/type_safe/Type_Safe__Method.py,sha256=K100jAq1wmskuXcTd_9vt-XodSKJkDowJselmnDFCN8,16643
|
344
|
+
osbot_utils/type_safe/Type_Safe.py,sha256=G0HCBk52ehaJGhLYnt4cKUBsqfnxyRDxrY7_7YhktZg,6390
|
345
|
+
osbot_utils/type_safe/Type_Safe__Base.py,sha256=IQ7ZRXG8k0mFz4bSfYZwnxdPifXaiTm2X3pHLvGc17A,8849
|
384
346
|
osbot_utils/type_safe/Type_Safe__Primitive.py,sha256=-GBUcuFBBBKrVRSf7cmjPRbAxo7vnL4tOvr9ktmbVj4,3829
|
385
|
-
osbot_utils/type_safe/Type_Safe__Set.py,sha256=j12fc8cbd9-s_a13ysaz723rNEW4Dt6hObCd0S-AjIg,1432
|
386
|
-
osbot_utils/type_safe/Type_Safe__Tuple.py,sha256=Kx7C4YfHybRbMmVMcmV6yFLi4T48pb592vEZfjjyLxo,1710
|
387
347
|
osbot_utils/type_safe/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
388
|
-
osbot_utils/type_safe/
|
389
|
-
osbot_utils/type_safe/
|
390
|
-
osbot_utils/type_safe/
|
391
|
-
osbot_utils/type_safe/
|
392
|
-
osbot_utils/type_safe/
|
393
|
-
osbot_utils/type_safe/
|
394
|
-
osbot_utils/type_safe/
|
395
|
-
osbot_utils/type_safe/
|
396
|
-
osbot_utils/type_safe/
|
397
|
-
osbot_utils/type_safe/
|
398
|
-
osbot_utils/type_safe/
|
399
|
-
osbot_utils/type_safe/
|
400
|
-
osbot_utils/type_safe/
|
401
|
-
osbot_utils/type_safe/
|
402
|
-
osbot_utils/type_safe/
|
403
|
-
osbot_utils/type_safe/
|
404
|
-
osbot_utils/type_safe/
|
405
|
-
osbot_utils/type_safe/
|
406
|
-
osbot_utils/type_safe/
|
407
|
-
osbot_utils/type_safe/
|
408
|
-
osbot_utils/type_safe/
|
348
|
+
osbot_utils/type_safe/primitives/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
349
|
+
osbot_utils/type_safe/primitives/safe_float/Safe_Float.py,sha256=qgmO8S8wFHXA4O3hm4bdamFZ0HkaN_r59hSbUNevHhc,6687
|
350
|
+
osbot_utils/type_safe/primitives/safe_float/Safe_Float__Engineering.py,sha256=f8Vehyn7yb2bMHo8jf_PhrhY2H68VpirN1-9MyxiMwI,344
|
351
|
+
osbot_utils/type_safe/primitives/safe_float/Safe_Float__Money.py,sha256=FEeMMm3GwXwjtlT23I8sSa5TX8um2CtmZyMKzWsepSw,368
|
352
|
+
osbot_utils/type_safe/primitives/safe_float/Safe_Float__Percentage_Exact.py,sha256=Lp8OSo7cDa1gbgW1eQVCJ_KWDI93JlXM_cdD65JZhNg,299
|
353
|
+
osbot_utils/type_safe/primitives/safe_float/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
354
|
+
osbot_utils/type_safe/primitives/safe_int/Safe_Int.py,sha256=IB_ZVtuQlAfRWZH1teZOYuYDR9H1XPhjoCpz8rwZNjQ,3204
|
355
|
+
osbot_utils/type_safe/primitives/safe_int/Timestamp_Now.py,sha256=OZwSwmYA1pZAnVglpx2lBL5t8Pu_HxzmYdNEJnmTqKI,536
|
356
|
+
osbot_utils/type_safe/primitives/safe_int/__init__.py,sha256=Prle-pyYi8l4hjbzGACVxX89Uc5aAhYjGRojywWysQM,323
|
357
|
+
osbot_utils/type_safe/primitives/safe_str/Enum__Safe_Str__Regex_Mode.py,sha256=15y_afYIf_LsweutaVVdIJ0qClbVITJGWNEqfRKapNI,120
|
358
|
+
osbot_utils/type_safe/primitives/safe_str/Safe_Str.py,sha256=ywgETbj2zzOod3mUETI3hO4S-tZcjUz0DHojHA8wHKc,4631
|
359
|
+
osbot_utils/type_safe/primitives/safe_str/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
360
|
+
osbot_utils/type_safe/primitives/safe_str/cryptography/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
361
|
+
osbot_utils/type_safe/primitives/safe_str/cryptography/hashes/Safe_Str__Hash.py,sha256=4BVxxXQsOD5x96jOSkSZvDsR9x6Ne33cPhYS3uFKsSM,1291
|
362
|
+
osbot_utils/type_safe/primitives/safe_str/cryptography/hashes/Safe_Str__SHA1.py,sha256=g1ZB7FlljyhgdKa9-Z4MHgSomofEhLlDbckhTu9Tq70,900
|
363
|
+
osbot_utils/type_safe/primitives/safe_str/cryptography/hashes/Safe_Str__SHA1__Short.py,sha256=_nSpeZXio6Yei5HOdJKSMsGuvycRl8tQk2U8a6ownU4,825
|
364
|
+
osbot_utils/type_safe/primitives/safe_str/cryptography/hashes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
365
|
+
osbot_utils/type_safe/primitives/safe_str/cryptography/nacl/Safe_Str__NaCl__Private_Key.py,sha256=GH8Unh0m3SDgqwEyUf2iAIau5WLWk7dlZCO9PCk7HIE,1205
|
366
|
+
osbot_utils/type_safe/primitives/safe_str/cryptography/nacl/Safe_Str__NaCl__Public_Key.py,sha256=gBC4y8EJvLfCrwSQvvkCy3r5yXCiElHeRDTxdzHHFUA,1307
|
367
|
+
osbot_utils/type_safe/primitives/safe_str/cryptography/nacl/Schema__NaCl__Keys.py,sha256=jYFBpUHZ94ouW0yHsEO3mUKnmSif9jB71kNNH1oA-2I,507
|
368
|
+
osbot_utils/type_safe/primitives/safe_str/cryptography/nacl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
369
|
+
osbot_utils/type_safe/primitives/safe_str/filesystem/Safe_Str__File__Name.py,sha256=ceL7iiIg_KqVs9xZRYk8QvREkBLlE8RHSlVECe7LbNg,371
|
370
|
+
osbot_utils/type_safe/primitives/safe_str/filesystem/Safe_Str__File__Path.py,sha256=bOihPzsLce2mv-g6BpsfhfLaQ3UEoYXaK8FbdpMGuYs,563
|
371
|
+
osbot_utils/type_safe/primitives/safe_str/filesystem/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
372
|
+
osbot_utils/type_safe/primitives/safe_str/git/Safe_Str__Git__Branch.py,sha256=npoKUzforQCLqblCWfx2H_hZtq0CCybg5O_3RpZkOXE,870
|
373
|
+
osbot_utils/type_safe/primitives/safe_str/git/Safe_Str__Git__Ref.py,sha256=U-tEcNsgcZvhhDUYz506L3fgOijsd1IE8R0TPZ-lo7A,3133
|
374
|
+
osbot_utils/type_safe/primitives/safe_str/git/Safe_Str__Git__Ref_Base.py,sha256=XMDTfFy45aQp4db1Dn1eUVu5uLmN1ucexQNjjNa4H_A,3275
|
375
|
+
osbot_utils/type_safe/primitives/safe_str/git/Safe_Str__Git__Tag.py,sha256=imUY7CkrJ_aBJ0tIuV5OSD6eqF7aSzPERfEhdaWejbY,440
|
376
|
+
osbot_utils/type_safe/primitives/safe_str/git/Safe_Str__Version.py,sha256=5z0oQVHUP2qefDS5uEzKo-3n0PgWSC3TOjcEESuytsA,1397
|
377
|
+
osbot_utils/type_safe/primitives/safe_str/git/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
378
|
+
osbot_utils/type_safe/primitives/safe_str/github/Safe_Str__GitHub__Repo.py,sha256=q-dIzhfih4RD6JIvN3Dg_kRVto_4upHU7eqy2jQBMlA,2467
|
379
|
+
osbot_utils/type_safe/primitives/safe_str/github/Safe_Str__GitHub__Repo_Name.py,sha256=1rTtP2OemGHMUTVb1puwM9sRjKg7W3E9irBV2blS7QM,1268
|
380
|
+
osbot_utils/type_safe/primitives/safe_str/github/Safe_Str__GitHub__Repo_Owner.py,sha256=Grjrji9dIIm4zkvq_rdcZoiuRt3bK-yUjiDW2u2WzuE,1784
|
381
|
+
osbot_utils/type_safe/primitives/safe_str/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
382
|
+
osbot_utils/type_safe/primitives/safe_str/http/Safe_Str__Http__Content_Type.py,sha256=NEFSbKDw3EJG-N5PMCgpPC2Z8c7yDBj5QWlZ_HEceTk,529
|
383
|
+
osbot_utils/type_safe/primitives/safe_str/http/Safe_Str__Http__ETag.py,sha256=9dOX5mGCBaKmrgIp6uXFCpVyyhel42mUQgbLyN5cKMk,490
|
384
|
+
osbot_utils/type_safe/primitives/safe_str/http/Safe_Str__Http__Last_Modified.py,sha256=LfA6ayIXaSjwVGrZUO4HIV1gbFXKc54omDJAZ_ZPtjI,451
|
385
|
+
osbot_utils/type_safe/primitives/safe_str/http/Safe_Str__Http__Text.py,sha256=miVh53YT6VJla5XiZjzsgVSoMWiYXy-tml3a8HG8yM8,1801
|
386
|
+
osbot_utils/type_safe/primitives/safe_str/http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
387
|
+
osbot_utils/type_safe/primitives/safe_str/identifiers/Guid.py,sha256=-WeQzrNj98ay-8rWCBuM-FnhccmygDzZKW1LZ0Frm3M,945
|
388
|
+
osbot_utils/type_safe/primitives/safe_str/identifiers/Random_Guid.py,sha256=86xnlevsiitCzFB-VjjBmXXV14pbcKd67YWEDsYTCFk,483
|
389
|
+
osbot_utils/type_safe/primitives/safe_str/identifiers/Random_Guid_Short.py,sha256=YP_k5OLuYvXWGU2OEnQHk_OGViBQofTWKm3pUdQaJao,404
|
390
|
+
osbot_utils/type_safe/primitives/safe_str/identifiers/Safe_Id.py,sha256=Mj66QVcEHqUKDFb0cdl7cbMOlQKxfFuRxnupmKo6UG8,696
|
391
|
+
osbot_utils/type_safe/primitives/safe_str/identifiers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
392
|
+
osbot_utils/type_safe/primitives/safe_str/text/Safe_Str__Text.py,sha256=0oyn8xs8mabFkzyOdn_HV6UYsH7oHHNrmWM4z3TKwMU,326
|
393
|
+
osbot_utils/type_safe/primitives/safe_str/text/Safe_Str__Text__Dangerous.py,sha256=WrEvoXeHWuevzgbfUkm2xisGUMIlDS39Nte3P2_hyHg,401
|
394
|
+
osbot_utils/type_safe/primitives/safe_str/text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
395
|
+
osbot_utils/type_safe/primitives/safe_str/web/Safe_Str__Html.py,sha256=HnCnKUBPB0IfEXSoeK4XFB08qjnAaOYyd-s1smvI2pQ,675
|
396
|
+
osbot_utils/type_safe/primitives/safe_str/web/Safe_Str__IP_Address.py,sha256=wOcEt0adsE6-CX08erlRYyGyOLoe4QRaAYdI6sKyKlM,1672
|
397
|
+
osbot_utils/type_safe/primitives/safe_str/web/Safe_Str__Url.py,sha256=9xVINemoNS2LtXshAZdhEzKHyneB7Ml4AELqFHJfWWw,562
|
398
|
+
osbot_utils/type_safe/primitives/safe_str/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
399
|
+
osbot_utils/type_safe/primitives/safe_uint/Safe_UInt.py,sha256=8cCS9wI0w1w5YuWIhrVHJKzczHiK3cw_dnXhMgnQAto,331
|
400
|
+
osbot_utils/type_safe/primitives/safe_uint/Safe_UInt__Byte.py,sha256=yRYzj42EpuLU46l-azYEeszbUBdfgnA_Pb6m_41D7Us,342
|
401
|
+
osbot_utils/type_safe/primitives/safe_uint/Safe_UInt__FileSize.py,sha256=fXZLmClfu9o_CwkbC2qk2FZimidwXaCdzoVTk9OweKA,616
|
402
|
+
osbot_utils/type_safe/primitives/safe_uint/Safe_UInt__Percentage.py,sha256=MKD2AVwVlmCvnJx6oAHh-12xN22HhcXyvOQSUH9G-oU,371
|
403
|
+
osbot_utils/type_safe/primitives/safe_uint/Safe_UInt__Port.py,sha256=gcqi3UaWaFNSktqUTrfdgRKVI5JKWnqxcpi5FlX75J0,496
|
404
|
+
osbot_utils/type_safe/primitives/safe_uint/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
405
|
+
osbot_utils/type_safe/type_safe_core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
406
|
+
osbot_utils/type_safe/type_safe_core/collections/Type_Safe__Dict.py,sha256=TYb1nXbVqn4bGoagGqr4U__LofpjDllKxiVJCL705PI,3159
|
407
|
+
osbot_utils/type_safe/type_safe_core/collections/Type_Safe__List.py,sha256=y_lp7Ai0HfQCqC8Bxn0g6_M9MP5lPOXy5Dhkuj2fJvQ,1891
|
408
|
+
osbot_utils/type_safe/type_safe_core/collections/Type_Safe__Set.py,sha256=j12fc8cbd9-s_a13ysaz723rNEW4Dt6hObCd0S-AjIg,1432
|
409
|
+
osbot_utils/type_safe/type_safe_core/collections/Type_Safe__Tuple.py,sha256=Kx7C4YfHybRbMmVMcmV6yFLi4T48pb592vEZfjjyLxo,1710
|
410
|
+
osbot_utils/type_safe/type_safe_core/collections/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
411
|
+
osbot_utils/type_safe/type_safe_core/decorators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
412
|
+
osbot_utils/type_safe/type_safe_core/decorators/type_safe.py,sha256=wOTMvZBl5hWMz-HuIRZpPBGN0oSbXWd9wH5xxZkfLlA,1796
|
413
|
+
osbot_utils/type_safe/type_safe_core/methods/Type_Safe__Method.py,sha256=5Kf6vRrU_SRV88dN7HRtM-OdT2ZeoNVy5KLhbs0Cz0Q,16807
|
414
|
+
osbot_utils/type_safe/type_safe_core/methods/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
415
|
+
osbot_utils/type_safe/type_safe_core/methods/type_safe_property.py,sha256=DcJkOIs6swJtkglsZVKLyFSczCGSJISOVwAmvjCOQvo,1425
|
416
|
+
osbot_utils/type_safe/type_safe_core/shared/Type_Safe__Annotations.py,sha256=kabSiRPYPjpMBJxfjDB5AFRTx-hX17tOznZAd_qQID4,1147
|
417
|
+
osbot_utils/type_safe/type_safe_core/shared/Type_Safe__Cache.py,sha256=2qqYkicDyfLCdA7YOHWi77aV1lfLuPMl6HSAu-1kSaA,7955
|
418
|
+
osbot_utils/type_safe/type_safe_core/shared/Type_Safe__Convert.py,sha256=g2lo_11BFSIVp7dxqtv1Cif-JUvffi-gi9I32r9K410,2891
|
419
|
+
osbot_utils/type_safe/type_safe_core/shared/Type_Safe__Json_Compressor.py,sha256=L5EiMPP-7vvzesW-Zs1YRPv1C544NiMTMag2saUnPrc,5522
|
420
|
+
osbot_utils/type_safe/type_safe_core/shared/Type_Safe__Json_Compressor__Type_Registry.py,sha256=wYOCg7F1nTrRn8HlnZvrs_8A8WL4gxRYRLnXZpGIiuk,1119
|
421
|
+
osbot_utils/type_safe/type_safe_core/shared/Type_Safe__Not_Cached.py,sha256=25FAl6SOLxdStco_rm9tgOYLfuKyBWheGdl7vVa56UU,800
|
422
|
+
osbot_utils/type_safe/type_safe_core/shared/Type_Safe__Raise_Exception.py,sha256=lEwW5bhOKnOB8KfuMkheLQy1Xb7iDtTOXIvActRDtD0,911
|
423
|
+
osbot_utils/type_safe/type_safe_core/shared/Type_Safe__Shared__Variables.py,sha256=SuZGl9LryQX6IpOE0I_lbzClT-h17UNylC__-M8ltTY,129
|
424
|
+
osbot_utils/type_safe/type_safe_core/shared/Type_Safe__Validation.py,sha256=aKtlqYU5uaobgpoOnzU4kKqR7mzVLeG8YcUUbWp7n-g,19648
|
425
|
+
osbot_utils/type_safe/type_safe_core/shared/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
426
|
+
osbot_utils/type_safe/type_safe_core/steps/Type_Safe__Step__Class_Kwargs.py,sha256=zyPnzvN9DWTpiqn7ljr12TaZWp0YjhDCDFWSNXBtLko,7099
|
427
|
+
osbot_utils/type_safe/type_safe_core/steps/Type_Safe__Step__Default_Kwargs.py,sha256=tzKXDUc0HVP5QvCWsmcPuuZodNvQZ9FeMDNI2x00Ngw,1943
|
428
|
+
osbot_utils/type_safe/type_safe_core/steps/Type_Safe__Step__Default_Value.py,sha256=mRu0yV3w7Ch1H8SOfXMRqMBp3ooY95yR_oni7JafJBc,4603
|
429
|
+
osbot_utils/type_safe/type_safe_core/steps/Type_Safe__Step__From_Json.py,sha256=GTZnGC7DvEBA_LxgLw_KZZ1iVUV0EwyIgcZzoh14Bro,15453
|
430
|
+
osbot_utils/type_safe/type_safe_core/steps/Type_Safe__Step__Init.py,sha256=lZpQCCTNt6JcqyWwDoj-9Zgrq10vHXIUBh9lx37vRkE,4990
|
431
|
+
osbot_utils/type_safe/type_safe_core/steps/Type_Safe__Step__Set_Attr.py,sha256=24uezozenxBx3jGokdOwiOcksGocDejeebKK7YSIZmc,6723
|
432
|
+
osbot_utils/type_safe/type_safe_core/steps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
409
433
|
osbot_utils/type_safe/validators/Type_Safe__Validator.py,sha256=cJIPSBarjV716SZUOLvz7Mthjk-aUYKUQtRDtKUBmN4,779
|
410
434
|
osbot_utils/type_safe/validators/Validator__Max.py,sha256=pCvYF5Jb_cBgn1ArGhf6FNUB-NGCXPq3D36oYDCyAzg,1275
|
411
435
|
osbot_utils/type_safe/validators/Validator__Min.py,sha256=_-9MdAX2Jc2U0VzCHpEQLA8OVxuNe2y8uaJ6bQttimE,1981
|
@@ -418,7 +442,7 @@ osbot_utils/utils/Csv.py,sha256=oHLVpjRJqrLMz9lubMCNEoThXWju5rNTprcwHc1zq2c,1012
|
|
418
442
|
osbot_utils/utils/Dev.py,sha256=eaQ87ZcMRRcxgzA-f7OO8HjjWhbE6L_edwvXiwFZvIQ,1291
|
419
443
|
osbot_utils/utils/Env.py,sha256=rBksAy6k-J5oAJp-S_JedVlcj1b2VK8V3zsQbacopMc,6076
|
420
444
|
osbot_utils/utils/Exceptions.py,sha256=KyOUHkXQ_6jDTq04Xm261dbEZuRidtsM4dgzNwSG8-8,389
|
421
|
-
osbot_utils/utils/Files.py,sha256=
|
445
|
+
osbot_utils/utils/Files.py,sha256=W6bac42w3fYBwpxPdPK_eKfcq1M7yiF2deVHjx2hDGE,23539
|
422
446
|
osbot_utils/utils/Functions.py,sha256=VoTrAbCHt6hulz6hVz3co8w2xoOS8wE04wyHc5_cC1c,3671
|
423
447
|
osbot_utils/utils/Http.py,sha256=cbymd0YJjflI0K0gfq_ie4Speq-Ugko753VCSlYZuf4,8101
|
424
448
|
osbot_utils/utils/Int.py,sha256=PmlUdU4lSwf4gJdmTVdqclulkEp7KPCVUDO6AcISMF4,116
|
@@ -438,8 +462,8 @@ osbot_utils/utils/Toml.py,sha256=Rxl8gx7mni5CvBAK-Ai02EKw-GwtJdd3yeHT2kMloik,166
|
|
438
462
|
osbot_utils/utils/Version.py,sha256=Ww6ChwTxqp1QAcxOnztkTicShlcx6fbNsWX5xausHrg,422
|
439
463
|
osbot_utils/utils/Zip.py,sha256=mG42lgTY0tnm14T3P1-DSAIZKkTiYoO3odZ1aOUdc1I,14394
|
440
464
|
osbot_utils/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
441
|
-
osbot_utils/version,sha256=
|
442
|
-
osbot_utils-2.
|
443
|
-
osbot_utils-2.
|
444
|
-
osbot_utils-2.
|
445
|
-
osbot_utils-2.
|
465
|
+
osbot_utils/version,sha256=Hh7DgaX3ZQajaSIvFEOMRoqJXUw_aeyoA1gzj_OJSZk,8
|
466
|
+
osbot_utils-2.74.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
467
|
+
osbot_utils-2.74.0.dist-info/METADATA,sha256=6sQ5TtiuRR_virvWkZC5xrr8_aXuas-pO4YMF5wwdlA,7905
|
468
|
+
osbot_utils-2.74.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
469
|
+
osbot_utils-2.74.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
/osbot_utils/{helpers/safe_str/schemas → type_safe/primitives/safe_str/cryptography}/__init__.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
|
/osbot_utils/{helpers/safe_str/http → type_safe/primitives/safe_str/web}/Safe_Str__IP_Address.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
/osbot_utils/type_safe/{Type_Safe__Tuple.py → type_safe_core/collections/Type_Safe__Tuple.py}
RENAMED
File without changes
|
File without changes
|