str-to-obj 2024.5__py3-none-any.whl → 2024.6__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.
str_to_obj/__init__.py CHANGED
@@ -6,12 +6,8 @@ SEE COPYRIGHT NOTICE BELOW
6
6
 
7
7
  from str_to_obj.main import ObjectFromStr
8
8
  from str_to_obj.runtime.value import INVALID_VALUE
9
- from str_to_obj.task.casting import CastValue
10
- from str_to_obj.type.annotation import annotation_t
11
- from str_to_obj.type.type import type_t
12
9
  from str_to_obj.version import __version__
13
10
 
14
-
15
11
  """
16
12
  COPYRIGHT NOTICE
17
13
 
@@ -0,0 +1,58 @@
1
+ """
2
+ Copyright CNRS/Inria/UniCA
3
+ Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
+ SEE COPYRIGHT NOTICE BELOW
5
+ """
6
+
7
+ from str_to_obj.catalog.boolean import boolean_mode_e, boolean_t
8
+ from str_to_obj.catalog.callable import callable_t
9
+ from str_to_obj.catalog.choices import choices_t
10
+ from str_to_obj.catalog.collection import collection_t
11
+ from str_to_obj.catalog.number import number_t
12
+ from str_to_obj.catalog.path import path_purpose_e, path_t, path_type_e
13
+
14
+ """
15
+ COPYRIGHT NOTICE
16
+
17
+ This software is governed by the CeCILL license under French law and
18
+ abiding by the rules of distribution of free software. You can use,
19
+ modify and/ or redistribute the software under the terms of the CeCILL
20
+ license as circulated by CEA, CNRS and INRIA at the following URL
21
+ "http://www.cecill.info".
22
+
23
+ As a counterpart to the access to the source code and rights to copy,
24
+ modify and redistribute granted by the license, users are provided only
25
+ with a limited warranty and the software's author, the holder of the
26
+ economic rights, and the successive licensors have only limited
27
+ liability.
28
+
29
+ In this respect, the user's attention is drawn to the risks associated
30
+ with loading, using, modifying and/or developing or reproducing the
31
+ software by the user in light of its specific status of free software,
32
+ that may mean that it is complicated to manipulate, and that also
33
+ therefore means that it is reserved for developers and experienced
34
+ professionals having in-depth computer knowledge. Users are therefore
35
+ encouraged to load and test the software's suitability as regards their
36
+ requirements in conditions enabling the security of their systems and/or
37
+ data to be ensured and, more generally, to use and operate it in the
38
+ same conditions as regards security.
39
+
40
+ The fact that you are presently reading this means that you have had
41
+ knowledge of the CeCILL license and that you accept its terms.
42
+
43
+ SEE LICENCE NOTICE: file README-LICENCE-utf8.txt at project source root.
44
+
45
+ This software is being developed by Eric Debreuve, a CNRS employee and
46
+ member of team Morpheme.
47
+ Team Morpheme is a joint team between Inria, CNRS, and UniCA.
48
+ It is hosted by the Centre Inria d'Université Côte d'Azur, Laboratory
49
+ I3S, and Laboratory iBV.
50
+
51
+ CNRS: https://www.cnrs.fr/index.php/en
52
+ Inria: https://www.inria.fr/en/
53
+ UniCA: https://univ-cotedazur.eu/
54
+ Centre Inria d'Université Côte d'Azur: https://www.inria.fr/en/centre/sophia/
55
+ I3S: https://www.i3s.unice.fr/en/
56
+ iBV: http://ibv.unice.fr/
57
+ Team Morpheme: https://team.inria.fr/morpheme/
58
+ """
str_to_obj/api/type.py ADDED
@@ -0,0 +1,58 @@
1
+ """
2
+ Copyright CNRS/Inria/UniCA
3
+ Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
+ SEE COPYRIGHT NOTICE BELOW
5
+ """
6
+
7
+ from str_to_obj.runtime.type import ANY_TYPE
8
+ from str_to_obj.task.casting import CastValue
9
+ from str_to_obj.task.comparison import TypesAreCompatible
10
+ from str_to_obj.type.annotation import annotation_t
11
+ from str_to_obj.type.hint_tree import hint_t
12
+ from str_to_obj.type.type import type_t
13
+
14
+ """
15
+ COPYRIGHT NOTICE
16
+
17
+ This software is governed by the CeCILL license under French law and
18
+ abiding by the rules of distribution of free software. You can use,
19
+ modify and/ or redistribute the software under the terms of the CeCILL
20
+ license as circulated by CEA, CNRS and INRIA at the following URL
21
+ "http://www.cecill.info".
22
+
23
+ As a counterpart to the access to the source code and rights to copy,
24
+ modify and redistribute granted by the license, users are provided only
25
+ with a limited warranty and the software's author, the holder of the
26
+ economic rights, and the successive licensors have only limited
27
+ liability.
28
+
29
+ In this respect, the user's attention is drawn to the risks associated
30
+ with loading, using, modifying and/or developing or reproducing the
31
+ software by the user in light of its specific status of free software,
32
+ that may mean that it is complicated to manipulate, and that also
33
+ therefore means that it is reserved for developers and experienced
34
+ professionals having in-depth computer knowledge. Users are therefore
35
+ encouraged to load and test the software's suitability as regards their
36
+ requirements in conditions enabling the security of their systems and/or
37
+ data to be ensured and, more generally, to use and operate it in the
38
+ same conditions as regards security.
39
+
40
+ The fact that you are presently reading this means that you have had
41
+ knowledge of the CeCILL license and that you accept its terms.
42
+
43
+ SEE LICENCE NOTICE: file README-LICENCE-utf8.txt at project source root.
44
+
45
+ This software is being developed by Eric Debreuve, a CNRS employee and
46
+ member of team Morpheme.
47
+ Team Morpheme is a joint team between Inria, CNRS, and UniCA.
48
+ It is hosted by the Centre Inria d'Université Côte d'Azur, Laboratory
49
+ I3S, and Laboratory iBV.
50
+
51
+ CNRS: https://www.cnrs.fr/index.php/en
52
+ Inria: https://www.inria.fr/en/
53
+ UniCA: https://univ-cotedazur.eu/
54
+ Centre Inria d'Université Côte d'Azur: https://www.inria.fr/en/centre/sophia/
55
+ I3S: https://www.i3s.unice.fr/en/
56
+ iBV: http://ibv.unice.fr/
57
+ Team Morpheme: https://team.inria.fr/morpheme/
58
+ """
@@ -4,8 +4,6 @@ Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
4
  SEE COPYRIGHT NOTICE BELOW
5
5
  """
6
6
 
7
- from __future__ import annotations
8
-
9
7
  import dataclasses as d
10
8
  import types as t
11
9
  import typing as h
@@ -72,7 +70,7 @@ class collection_t(annotation_t):
72
70
  cls,
73
71
  stripe: any_hint_h | tuple[any_hint_h, ...] | type_t | tuple[type_t, ...],
74
72
  /,
75
- ) -> collection_t:
73
+ ) -> h.Self:
76
74
  """"""
77
75
  if not isinstance(stripe, (type_t | tuple[type_t, ...])):
78
76
  stripe = type_t.NewForHint(stripe)
@@ -4,7 +4,6 @@ Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
4
  SEE COPYRIGHT NOTICE BELOW
5
5
  """
6
6
 
7
-
8
7
  import typing as h
9
8
 
10
9
 
str_to_obj/main.py CHANGED
@@ -9,14 +9,14 @@ import types as t
9
9
  import typing as h
10
10
 
11
11
  from str_to_obj.task.casting import CastValue
12
- from str_to_obj.type.hint_tree import any_hint_h, hint_tree_t
12
+ from str_to_obj.type.hint_tree import any_hint_h, hint_t
13
13
 
14
14
 
15
15
  def ObjectFromStr(
16
16
  string: str,
17
17
  /,
18
18
  *,
19
- expected_type: any_hint_h | hint_tree_t | type[t.NoneType] = None,
19
+ expected_type: any_hint_h | hint_t | type[t.NoneType] = None,
20
20
  ) -> tuple[h.Any, list[str]]:
21
21
  """
22
22
  expected_type: Must not be passed explicitly as None since None is interpreted as
@@ -4,15 +4,13 @@ Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
4
  SEE COPYRIGHT NOTICE BELOW
5
5
  """
6
6
 
7
- from __future__ import annotations
8
-
9
- import dataclasses as dtcl
7
+ import dataclasses as d
10
8
  import types as t
11
9
  import typing as h
12
10
  from pathlib import Path as path_t
13
11
 
14
12
  from str_to_obj.type.hint import any_hint_h, simple_hint_h
15
- from str_to_obj.type.hint_tree import hint_tree_t
13
+ from str_to_obj.type.hint_tree import hint_t
16
14
 
17
15
 
18
16
  class _not_a_leaf_node_t:
@@ -22,7 +20,7 @@ class _not_a_leaf_node_t:
22
20
  _NOT_A_LEAF_NODE = _not_a_leaf_node_t()
23
21
 
24
22
 
25
- @dtcl.dataclass(slots=True, repr=False, eq=False)
23
+ @d.dataclass(slots=True, repr=False, eq=False)
26
24
  class _value_node_t:
27
25
  """
28
26
  Leave elements to the tree.
@@ -33,12 +31,12 @@ class _value_node_t:
33
31
  leaf_value: h.Any | None = _NOT_A_LEAF_NODE
34
32
 
35
33
 
36
- @dtcl.dataclass(slots=True, repr=False, eq=False)
34
+ @d.dataclass(slots=True, repr=False, eq=False)
37
35
  class _value_tree_t(_value_node_t):
38
- elements: tuple[_value_tree_t, ...] = None
36
+ elements: tuple[h.Self, ...] = None
39
37
 
40
38
  @classmethod
41
- def NewFromValue(cls, value: h.Any, /) -> _value_tree_t:
39
+ def NewFromValue(cls, value: h.Any, /) -> h.Self:
42
40
  """"""
43
41
  if isinstance(value, h.Iterable) and not isinstance(value, str):
44
42
  elements = tuple(cls.NewFromValue(_elm) for _elm in value)
@@ -54,7 +52,7 @@ class _value_tree_t(_value_node_t):
54
52
  return self.leaf_value
55
53
 
56
54
  def CastValue(
57
- self, hint_tree: hint_tree_t, /, *, only_check_validity: bool = False
55
+ self, hint_tree: hint_t, /, *, only_check_validity: bool = False
58
56
  ) -> tuple[h.Any, list[str]] | list[str]:
59
57
  """"""
60
58
  issues = self._CastToHint(hint_tree)
@@ -69,7 +67,7 @@ class _value_tree_t(_value_node_t):
69
67
  else:
70
68
  return self._RebuiltValue(), []
71
69
 
72
- def _CastToHint(self, hint_node: hint_tree_t, /) -> list[str]:
70
+ def _CastToHint(self, hint_node: hint_t, /) -> list[str]:
73
71
  """
74
72
  Returned value=the value tree has been successfully cast to the hint tree
75
73
  specification, or not.
@@ -183,7 +181,7 @@ class _value_tree_t(_value_node_t):
183
181
  f"Expected=Value following template {hint_node.template_as_str}."
184
182
  ]
185
183
 
186
- def _CompliesWithAnnotations(self, hint_node: hint_tree_t, /) -> list[str]:
184
+ def _CompliesWithAnnotations(self, hint_node: hint_t, /) -> list[str]:
187
185
  """"""
188
186
  output = []
189
187
 
@@ -195,15 +193,15 @@ class _value_tree_t(_value_node_t):
195
193
 
196
194
  def CastValue(
197
195
  value: h.Any,
198
- hint: any_hint_h | hint_tree_t,
196
+ hint: any_hint_h | hint_t,
199
197
  /,
200
198
  *,
201
199
  only_check_validity: bool = False,
202
200
  ) -> tuple[h.Any, list[str]] | list[str]:
203
201
  """"""
204
202
  value_tree = _value_tree_t.NewFromValue(value)
205
- if not isinstance(hint, hint_tree_t):
206
- hint = hint_tree_t.NewForHint(hint)
203
+ if not isinstance(hint, hint_t):
204
+ hint = hint_t.NewForHint(hint)
207
205
 
208
206
  return value_tree.CastValue(hint, only_check_validity=only_check_validity)
209
207
 
@@ -7,12 +7,12 @@ SEE COPYRIGHT NOTICE BELOW
7
7
  import types as t
8
8
  import typing as h
9
9
 
10
- from str_to_obj.type.hint_tree import hint_tree_t
10
+ from str_to_obj.type.hint_tree import hint_t
11
11
 
12
12
 
13
13
  def TypesAreCompatible(
14
- one: hint_tree_t,
15
- another: hint_tree_t,
14
+ one: hint_t,
15
+ another: hint_t,
16
16
  /,
17
17
  *,
18
18
  strict_mode: bool = True,
@@ -1,35 +1,10 @@
1
- # Copyright CNRS/Inria/UNS
2
- # Contributor(s): Eric Debreuve (since 2023)
3
- #
4
- # eric.debreuve@cnrs.fr
5
- #
6
- # This software is governed by the CeCILL license under French law and
7
- # abiding by the rules of distribution of free software. You can use,
8
- # modify and/ or redistribute the software under the terms of the CeCILL
9
- # license as circulated by CEA, CNRS and INRIA at the following URL
10
- # "http://www.cecill.info".
11
- #
12
- # As a counterpart to the access to the source code and rights to copy,
13
- # modify and redistribute granted by the license, users are provided only
14
- # with a limited warranty and the software's author, the holder of the
15
- # economic rights, and the successive licensors have only limited
16
- # liability.
17
- #
18
- # In this respect, the user's attention is drawn to the risks associated
19
- # with loading, using, modifying and/or developing or reproducing the
20
- # software by the user in light of its specific status of free software,
21
- # that may mean that it is complicated to manipulate, and that also
22
- # therefore means that it is reserved for developers and experienced
23
- # professionals having in-depth computer knowledge. Users are therefore
24
- # encouraged to load and test the software's suitability as regards their
25
- # requirements in conditions enabling the security of their systems and/or
26
- # data to be ensured and, more generally, to use and operate it in the
27
- # same conditions as regards security.
28
- #
29
- # The fact that you are presently reading this means that you have had
30
- # knowledge of the CeCILL license and that you accept its terms.
31
-
32
- import dataclasses as dtcl
1
+ """
2
+ Copyright CNRS/Inria/UniCA
3
+ Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
+ SEE COPYRIGHT NOTICE BELOW
5
+ """
6
+
7
+ import dataclasses as d
33
8
  import typing as h
34
9
 
35
10
  from rich.text import Text as text_t
@@ -37,7 +12,7 @@ from str_to_obj.interface.console import NameValueTypeAsRichStr, TypeAsRichStr
37
12
  from str_to_obj.type.hint import annotated_hint_t, non_complex_hint_h
38
13
 
39
14
 
40
- @dtcl.dataclass(slots=True, repr=False, eq=False)
15
+ @d.dataclass(slots=True, repr=False, eq=False)
41
16
  class annotation_t:
42
17
  ACCEPTED_TYPES: h.ClassVar[tuple[non_complex_hint_h, ...]] = (h.Any,)
43
18
 
@@ -73,9 +48,56 @@ class annotation_t:
73
48
  """"""
74
49
  output = [TypeAsRichStr(self)]
75
50
 
76
- names = (_fld.name for _fld in dtcl.fields(self))
51
+ names = (_fld.name for _fld in d.fields(self))
77
52
  for name in names:
78
53
  value = getattr(self, name)
79
54
  output.append(f" {NameValueTypeAsRichStr(name, value, separator=' = ')}")
80
55
 
81
56
  return "\n".join(output)
57
+
58
+
59
+ """
60
+ COPYRIGHT NOTICE
61
+
62
+ This software is governed by the CeCILL license under French law and
63
+ abiding by the rules of distribution of free software. You can use,
64
+ modify and/ or redistribute the software under the terms of the CeCILL
65
+ license as circulated by CEA, CNRS and INRIA at the following URL
66
+ "http://www.cecill.info".
67
+
68
+ As a counterpart to the access to the source code and rights to copy,
69
+ modify and redistribute granted by the license, users are provided only
70
+ with a limited warranty and the software's author, the holder of the
71
+ economic rights, and the successive licensors have only limited
72
+ liability.
73
+
74
+ In this respect, the user's attention is drawn to the risks associated
75
+ with loading, using, modifying and/or developing or reproducing the
76
+ software by the user in light of its specific status of free software,
77
+ that may mean that it is complicated to manipulate, and that also
78
+ therefore means that it is reserved for developers and experienced
79
+ professionals having in-depth computer knowledge. Users are therefore
80
+ encouraged to load and test the software's suitability as regards their
81
+ requirements in conditions enabling the security of their systems and/or
82
+ data to be ensured and, more generally, to use and operate it in the
83
+ same conditions as regards security.
84
+
85
+ The fact that you are presently reading this means that you have had
86
+ knowledge of the CeCILL license and that you accept its terms.
87
+
88
+ SEE LICENCE NOTICE: file README-LICENCE-utf8.txt at project source root.
89
+
90
+ This software is being developed by Eric Debreuve, a CNRS employee and
91
+ member of team Morpheme.
92
+ Team Morpheme is a joint team between Inria, CNRS, and UniCA.
93
+ It is hosted by the Centre Inria d'Université Côte d'Azur, Laboratory
94
+ I3S, and Laboratory iBV.
95
+
96
+ CNRS: https://www.cnrs.fr/index.php/en
97
+ Inria: https://www.inria.fr/en/
98
+ UniCA: https://univ-cotedazur.eu/
99
+ Centre Inria d'Université Côte d'Azur: https://www.inria.fr/en/centre/sophia/
100
+ I3S: https://www.i3s.unice.fr/en/
101
+ iBV: http://ibv.unice.fr/
102
+ Team Morpheme: https://team.inria.fr/morpheme/
103
+ """
str_to_obj/type/hint.py CHANGED
@@ -1,33 +1,8 @@
1
- # Copyright CNRS/Inria/UNS
2
- # Contributor(s): Eric Debreuve (since 2023)
3
- #
4
- # eric.debreuve@cnrs.fr
5
- #
6
- # This software is governed by the CeCILL license under French law and
7
- # abiding by the rules of distribution of free software. You can use,
8
- # modify and/ or redistribute the software under the terms of the CeCILL
9
- # license as circulated by CEA, CNRS and INRIA at the following URL
10
- # "http://www.cecill.info".
11
- #
12
- # As a counterpart to the access to the source code and rights to copy,
13
- # modify and redistribute granted by the license, users are provided only
14
- # with a limited warranty and the software's author, the holder of the
15
- # economic rights, and the successive licensors have only limited
16
- # liability.
17
- #
18
- # In this respect, the user's attention is drawn to the risks associated
19
- # with loading, using, modifying and/or developing or reproducing the
20
- # software by the user in light of its specific status of free software,
21
- # that may mean that it is complicated to manipulate, and that also
22
- # therefore means that it is reserved for developers and experienced
23
- # professionals having in-depth computer knowledge. Users are therefore
24
- # encouraged to load and test the software's suitability as regards their
25
- # requirements in conditions enabling the security of their systems and/or
26
- # data to be ensured and, more generally, to use and operate it in the
27
- # same conditions as regards security.
28
- #
29
- # The fact that you are presently reading this means that you have had
30
- # knowledge of the CeCILL license and that you accept its terms.
1
+ """
2
+ Copyright CNRS/Inria/UniCA
3
+ Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
+ SEE COPYRIGHT NOTICE BELOW
5
+ """
31
6
 
32
7
  import types as t
33
8
  import typing as h
@@ -55,3 +30,49 @@ any_hint_h = raw_hint_h | annotated_hint_t
55
30
  # - EllipsisType for GenericAlias, as in: tuple[int, ...]
56
31
  # - None for UnionType, as in: int | None
57
32
  complex_hint_additions_h = t.EllipsisType | None
33
+
34
+ """
35
+ COPYRIGHT NOTICE
36
+
37
+ This software is governed by the CeCILL license under French law and
38
+ abiding by the rules of distribution of free software. You can use,
39
+ modify and/ or redistribute the software under the terms of the CeCILL
40
+ license as circulated by CEA, CNRS and INRIA at the following URL
41
+ "http://www.cecill.info".
42
+
43
+ As a counterpart to the access to the source code and rights to copy,
44
+ modify and redistribute granted by the license, users are provided only
45
+ with a limited warranty and the software's author, the holder of the
46
+ economic rights, and the successive licensors have only limited
47
+ liability.
48
+
49
+ In this respect, the user's attention is drawn to the risks associated
50
+ with loading, using, modifying and/or developing or reproducing the
51
+ software by the user in light of its specific status of free software,
52
+ that may mean that it is complicated to manipulate, and that also
53
+ therefore means that it is reserved for developers and experienced
54
+ professionals having in-depth computer knowledge. Users are therefore
55
+ encouraged to load and test the software's suitability as regards their
56
+ requirements in conditions enabling the security of their systems and/or
57
+ data to be ensured and, more generally, to use and operate it in the
58
+ same conditions as regards security.
59
+
60
+ The fact that you are presently reading this means that you have had
61
+ knowledge of the CeCILL license and that you accept its terms.
62
+
63
+ SEE LICENCE NOTICE: file README-LICENCE-utf8.txt at project source root.
64
+
65
+ This software is being developed by Eric Debreuve, a CNRS employee and
66
+ member of team Morpheme.
67
+ Team Morpheme is a joint team between Inria, CNRS, and UniCA.
68
+ It is hosted by the Centre Inria d'Université Côte d'Azur, Laboratory
69
+ I3S, and Laboratory iBV.
70
+
71
+ CNRS: https://www.cnrs.fr/index.php/en
72
+ Inria: https://www.inria.fr/en/
73
+ UniCA: https://univ-cotedazur.eu/
74
+ Centre Inria d'Université Côte d'Azur: https://www.inria.fr/en/centre/sophia/
75
+ I3S: https://www.i3s.unice.fr/en/
76
+ iBV: http://ibv.unice.fr/
77
+ Team Morpheme: https://team.inria.fr/morpheme/
78
+ """
@@ -1,37 +1,10 @@
1
- # Copyright CNRS/Inria/UNS
2
- # Contributor(s): Eric Debreuve (since 2023)
3
- #
4
- # eric.debreuve@cnrs.fr
5
- #
6
- # This software is governed by the CeCILL license under French law and
7
- # abiding by the rules of distribution of free software. You can use,
8
- # modify and/ or redistribute the software under the terms of the CeCILL
9
- # license as circulated by CEA, CNRS and INRIA at the following URL
10
- # "http://www.cecill.info".
11
- #
12
- # As a counterpart to the access to the source code and rights to copy,
13
- # modify and redistribute granted by the license, users are provided only
14
- # with a limited warranty and the software's author, the holder of the
15
- # economic rights, and the successive licensors have only limited
16
- # liability.
17
- #
18
- # In this respect, the user's attention is drawn to the risks associated
19
- # with loading, using, modifying and/or developing or reproducing the
20
- # software by the user in light of its specific status of free software,
21
- # that may mean that it is complicated to manipulate, and that also
22
- # therefore means that it is reserved for developers and experienced
23
- # professionals having in-depth computer knowledge. Users are therefore
24
- # encouraged to load and test the software's suitability as regards their
25
- # requirements in conditions enabling the security of their systems and/or
26
- # data to be ensured and, more generally, to use and operate it in the
27
- # same conditions as regards security.
28
- #
29
- # The fact that you are presently reading this means that you have had
30
- # knowledge of the CeCILL license and that you accept its terms.
31
-
32
- from __future__ import annotations
1
+ """
2
+ Copyright CNRS/Inria/UniCA
3
+ Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
+ SEE COPYRIGHT NOTICE BELOW
5
+ """
33
6
 
34
- import dataclasses as dtcl
7
+ import dataclasses as d
35
8
  import re as regx
36
9
  import types as t
37
10
  import typing as h
@@ -47,22 +20,22 @@ from str_to_obj.type.hint import (
47
20
  )
48
21
 
49
22
 
50
- @dtcl.dataclass(slots=True, repr=False, eq=False)
23
+ @d.dataclass(slots=True, repr=False, eq=False)
51
24
  class _hint_node_t:
52
25
  """
53
26
  Leave elements to the tree.
54
27
  """
55
28
 
56
29
  type: non_complex_hint_h | t.UnionType | t.EllipsisType | type[t.NoneType]
57
- annotations: tuple[annotation_t, ...] = dtcl.field(default_factory=tuple)
30
+ annotations: tuple[annotation_t, ...] = d.field(default_factory=tuple)
58
31
 
59
32
 
60
- @dtcl.dataclass(slots=True, repr=False, eq=False)
61
- class hint_tree_t(_hint_node_t):
62
- elements: tuple[hint_tree_t, ...] = None
33
+ @d.dataclass(slots=True, repr=False, eq=False)
34
+ class hint_t(_hint_node_t):
35
+ elements: tuple[h.Self, ...] = None
63
36
 
64
37
  @classmethod
65
- def NewForHint(cls, hint: any_hint_h | complex_hint_additions_h, /) -> hint_tree_t:
38
+ def NewForHint(cls, hint: any_hint_h | complex_hint_additions_h, /) -> h.Self:
66
39
  """
67
40
  Note that type hints cannot translate into hint trees with an OR-node having a child
68
41
  OR-node. For example: str | (int | float) is interpreted as str | int | float. This
@@ -162,7 +135,7 @@ class hint_tree_t(_hint_node_t):
162
135
  # """"""
163
136
  # output = [TypeAsRichStr(self)]
164
137
  #
165
- # names = (_fld.name for _fld in dtcl.fields(self))
138
+ # names = (_fld.name for _fld in d.fields(self))
166
139
  # for name in names:
167
140
  # value = getattr(self, name)
168
141
  # output.append(f" {NameValueTypeAsRichStr(name, value, separator='@=@')}")
@@ -170,3 +143,49 @@ class hint_tree_t(_hint_node_t):
170
143
  # output = AlignedOnSeparator(output, "@=@", " = ")
171
144
  #
172
145
  # return "\n".join(output)
146
+
147
+ """
148
+ COPYRIGHT NOTICE
149
+
150
+ This software is governed by the CeCILL license under French law and
151
+ abiding by the rules of distribution of free software. You can use,
152
+ modify and/ or redistribute the software under the terms of the CeCILL
153
+ license as circulated by CEA, CNRS and INRIA at the following URL
154
+ "http://www.cecill.info".
155
+
156
+ As a counterpart to the access to the source code and rights to copy,
157
+ modify and redistribute granted by the license, users are provided only
158
+ with a limited warranty and the software's author, the holder of the
159
+ economic rights, and the successive licensors have only limited
160
+ liability.
161
+
162
+ In this respect, the user's attention is drawn to the risks associated
163
+ with loading, using, modifying and/or developing or reproducing the
164
+ software by the user in light of its specific status of free software,
165
+ that may mean that it is complicated to manipulate, and that also
166
+ therefore means that it is reserved for developers and experienced
167
+ professionals having in-depth computer knowledge. Users are therefore
168
+ encouraged to load and test the software's suitability as regards their
169
+ requirements in conditions enabling the security of their systems and/or
170
+ data to be ensured and, more generally, to use and operate it in the
171
+ same conditions as regards security.
172
+
173
+ The fact that you are presently reading this means that you have had
174
+ knowledge of the CeCILL license and that you accept its terms.
175
+
176
+ SEE LICENCE NOTICE: file README-LICENCE-utf8.txt at project source root.
177
+
178
+ This software is being developed by Eric Debreuve, a CNRS employee and
179
+ member of team Morpheme.
180
+ Team Morpheme is a joint team between Inria, CNRS, and UniCA.
181
+ It is hosted by the Centre Inria d'Université Côte d'Azur, Laboratory
182
+ I3S, and Laboratory iBV.
183
+
184
+ CNRS: https://www.cnrs.fr/index.php/en
185
+ Inria: https://www.inria.fr/en/
186
+ UniCA: https://univ-cotedazur.eu/
187
+ Centre Inria d'Université Côte d'Azur: https://www.inria.fr/en/centre/sophia/
188
+ I3S: https://www.i3s.unice.fr/en/
189
+ iBV: http://ibv.unice.fr/
190
+ Team Morpheme: https://team.inria.fr/morpheme/
191
+ """
str_to_obj/type/type.py CHANGED
@@ -1,45 +1,22 @@
1
- # Copyright CNRS/Inria/UniCA
2
- # Contributor(s): Eric Debreuve (since 2021)
3
- #
4
- # eric.debreuve@cnrs.fr
5
- #
6
- # This software is governed by the CeCILL license under French law and
7
- # abiding by the rules of distribution of free software. You can use,
8
- # modify and/ or redistribute the software under the terms of the CeCILL
9
- # license as circulated by CEA, CNRS and INRIA at the following URL
10
- # "http://www.cecill.info".
11
- #
12
- # As a counterpart to the access to the source code and rights to copy,
13
- # modify and redistribute granted by the license, users are provided only
14
- # with a limited warranty and the software's author, the holder of the
15
- # economic rights, and the successive licensors have only limited
16
- # liability.
17
- #
18
- # In this respect, the user's attention is drawn to the risks associated
19
- # with loading, using, modifying and/or developing or reproducing the
20
- # software by the user in light of its specific status of free software,
21
- # that may mean that it is complicated to manipulate, and that also
22
- # therefore means that it is reserved for developers and experienced
23
- # professionals having in-depth computer knowledge. Users are therefore
24
- # encouraged to load and test the software's suitability as regards their
25
- # requirements in conditions enabling the security of their systems and/or
26
- # data to be ensured and, more generally, to use and operate it in the
27
- # same conditions as regards security.
28
- #
29
- # The fact that you are presently reading this means that you have had
30
- # knowledge of the CeCILL license and that you accept its terms.
31
-
32
- import dataclasses as dtcl
1
+ """
2
+ Copyright CNRS/Inria/UniCA
3
+ Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
+ SEE COPYRIGHT NOTICE BELOW
5
+ """
6
+
7
+ import dataclasses as d
33
8
  import typing as h
34
9
 
35
10
  from rich.text import Text as text_t
36
- from str_to_obj import CastValue, ObjectFromStr, annotation_t
11
+ from str_to_obj.main import ObjectFromStr
37
12
  from str_to_obj.runtime.value import INVALID_VALUE
38
- from str_to_obj.type.hint_tree import hint_tree_t
13
+ from str_to_obj.task.casting import CastValue
14
+ from str_to_obj.type.annotation import annotation_t
15
+ from str_to_obj.type.hint_tree import hint_t
39
16
 
40
17
 
41
- @dtcl.dataclass(slots=True, repr=False, eq=False)
42
- class type_t(hint_tree_t):
18
+ @d.dataclass(slots=True, repr=False, eq=False)
19
+ class type_t(hint_t):
43
20
  def FirstAnnotationWithType(
44
21
  self, stripe: type[annotation_t], /
45
22
  ) -> annotation_t | None:
@@ -80,7 +57,7 @@ class type_t(hint_tree_t):
80
57
  return "[yellow]" + "::".join(output) + "[/]"
81
58
 
82
59
 
83
- @dtcl.dataclass(slots=True, repr=False, eq=False)
60
+ @d.dataclass(slots=True, repr=False, eq=False)
84
61
  class any_type_t(type_t):
85
62
  def FirstAnnotationWithType(
86
63
  self, stripe: type[annotation_t], /
@@ -95,3 +72,50 @@ class any_type_t(type_t):
95
72
  def InterpretedValueOf(self, value: h.Any, /) -> tuple[h.Any, list[str]]:
96
73
  """"""
97
74
  return value, []
75
+
76
+
77
+ """
78
+ COPYRIGHT NOTICE
79
+
80
+ This software is governed by the CeCILL license under French law and
81
+ abiding by the rules of distribution of free software. You can use,
82
+ modify and/ or redistribute the software under the terms of the CeCILL
83
+ license as circulated by CEA, CNRS and INRIA at the following URL
84
+ "http://www.cecill.info".
85
+
86
+ As a counterpart to the access to the source code and rights to copy,
87
+ modify and redistribute granted by the license, users are provided only
88
+ with a limited warranty and the software's author, the holder of the
89
+ economic rights, and the successive licensors have only limited
90
+ liability.
91
+
92
+ In this respect, the user's attention is drawn to the risks associated
93
+ with loading, using, modifying and/or developing or reproducing the
94
+ software by the user in light of its specific status of free software,
95
+ that may mean that it is complicated to manipulate, and that also
96
+ therefore means that it is reserved for developers and experienced
97
+ professionals having in-depth computer knowledge. Users are therefore
98
+ encouraged to load and test the software's suitability as regards their
99
+ requirements in conditions enabling the security of their systems and/or
100
+ data to be ensured and, more generally, to use and operate it in the
101
+ same conditions as regards security.
102
+
103
+ The fact that you are presently reading this means that you have had
104
+ knowledge of the CeCILL license and that you accept its terms.
105
+
106
+ SEE LICENCE NOTICE: file README-LICENCE-utf8.txt at project source root.
107
+
108
+ This software is being developed by Eric Debreuve, a CNRS employee and
109
+ member of team Morpheme.
110
+ Team Morpheme is a joint team between Inria, CNRS, and UniCA.
111
+ It is hosted by the Centre Inria d'Université Côte d'Azur, Laboratory
112
+ I3S, and Laboratory iBV.
113
+
114
+ CNRS: https://www.cnrs.fr/index.php/en
115
+ Inria: https://www.inria.fr/en/
116
+ UniCA: https://univ-cotedazur.eu/
117
+ Centre Inria d'Université Côte d'Azur: https://www.inria.fr/en/centre/sophia/
118
+ I3S: https://www.i3s.unice.fr/en/
119
+ iBV: http://ibv.unice.fr/
120
+ Team Morpheme: https://team.inria.fr/morpheme/
121
+ """
str_to_obj/type/value.py CHANGED
@@ -1,33 +1,8 @@
1
- # Copyright CNRS/Inria/UniCA
2
- # Contributor(s): Eric Debreuve (since 2021)
3
- #
4
- # eric.debreuve@cnrs.fr
5
- #
6
- # This software is governed by the CeCILL license under French law and
7
- # abiding by the rules of distribution of free software. You can use,
8
- # modify and/ or redistribute the software under the terms of the CeCILL
9
- # license as circulated by CEA, CNRS and INRIA at the following URL
10
- # "http://www.cecill.info".
11
- #
12
- # As a counterpart to the access to the source code and rights to copy,
13
- # modify and redistribute granted by the license, users are provided only
14
- # with a limited warranty and the software's author, the holder of the
15
- # economic rights, and the successive licensors have only limited
16
- # liability.
17
- #
18
- # In this respect, the user's attention is drawn to the risks associated
19
- # with loading, using, modifying and/or developing or reproducing the
20
- # software by the user in light of its specific status of free software,
21
- # that may mean that it is complicated to manipulate, and that also
22
- # therefore means that it is reserved for developers and experienced
23
- # professionals having in-depth computer knowledge. Users are therefore
24
- # encouraged to load and test the software's suitability as regards their
25
- # requirements in conditions enabling the security of their systems and/or
26
- # data to be ensured and, more generally, to use and operate it in the
27
- # same conditions as regards security.
28
- #
29
- # The fact that you are presently reading this means that you have had
30
- # knowledge of the CeCILL license and that you accept its terms.
1
+ """
2
+ Copyright CNRS/Inria/UniCA
3
+ Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
+ SEE COPYRIGHT NOTICE BELOW
5
+ """
31
6
 
32
7
 
33
8
  class invalid_value_t:
@@ -45,3 +20,50 @@ class invalid_value_t:
45
20
  def __rich__(self) -> str:
46
21
  """"""
47
22
  return f"[red]{self.__class__.TEXT}[/]"
23
+
24
+
25
+ """
26
+ COPYRIGHT NOTICE
27
+
28
+ This software is governed by the CeCILL license under French law and
29
+ abiding by the rules of distribution of free software. You can use,
30
+ modify and/ or redistribute the software under the terms of the CeCILL
31
+ license as circulated by CEA, CNRS and INRIA at the following URL
32
+ "http://www.cecill.info".
33
+
34
+ As a counterpart to the access to the source code and rights to copy,
35
+ modify and redistribute granted by the license, users are provided only
36
+ with a limited warranty and the software's author, the holder of the
37
+ economic rights, and the successive licensors have only limited
38
+ liability.
39
+
40
+ In this respect, the user's attention is drawn to the risks associated
41
+ with loading, using, modifying and/or developing or reproducing the
42
+ software by the user in light of its specific status of free software,
43
+ that may mean that it is complicated to manipulate, and that also
44
+ therefore means that it is reserved for developers and experienced
45
+ professionals having in-depth computer knowledge. Users are therefore
46
+ encouraged to load and test the software's suitability as regards their
47
+ requirements in conditions enabling the security of their systems and/or
48
+ data to be ensured and, more generally, to use and operate it in the
49
+ same conditions as regards security.
50
+
51
+ The fact that you are presently reading this means that you have had
52
+ knowledge of the CeCILL license and that you accept its terms.
53
+
54
+ SEE LICENCE NOTICE: file README-LICENCE-utf8.txt at project source root.
55
+
56
+ This software is being developed by Eric Debreuve, a CNRS employee and
57
+ member of team Morpheme.
58
+ Team Morpheme is a joint team between Inria, CNRS, and UniCA.
59
+ It is hosted by the Centre Inria d'Université Côte d'Azur, Laboratory
60
+ I3S, and Laboratory iBV.
61
+
62
+ CNRS: https://www.cnrs.fr/index.php/en
63
+ Inria: https://www.inria.fr/en/
64
+ UniCA: https://univ-cotedazur.eu/
65
+ Centre Inria d'Université Côte d'Azur: https://www.inria.fr/en/centre/sophia/
66
+ I3S: https://www.i3s.unice.fr/en/
67
+ iBV: http://ibv.unice.fr/
68
+ Team Morpheme: https://team.inria.fr/morpheme/
69
+ """
str_to_obj/version.py CHANGED
@@ -4,7 +4,7 @@ Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
4
  SEE COPYRIGHT NOTICE BELOW
5
5
  """
6
6
 
7
- __version__ = "2024.5"
7
+ __version__ = "2024.6"
8
8
 
9
9
 
10
10
  """
@@ -1,18 +1,18 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: str-to-obj
3
- Version: 2024.5
3
+ Version: 2024.6
4
4
  Summary: Convert strings to Python objects guided by (potentially annotated) type hints
5
5
  Home-page: https://src.koda.cnrs.fr/eric.debreuve/str-to-obj/
6
6
  Author: Eric Debreuve
7
7
  Author-email: eric.debreuve@cnrs.fr
8
8
  License: CeCILL-2.1
9
- Project-URL: Documentation, https://src.koda.cnrs.fr/eric.debreuve/str-to-obj//-/wikis/home
9
+ Project-URL: Documentation, https://src.koda.cnrs.fr/eric.debreuve/str-to-obj/-/wikis/home
10
10
  Project-URL: Source, https://src.koda.cnrs.fr/eric.debreuve/str-to-obj/
11
11
  Keywords: str,character string,Python object,conversion,type hint,type annotation
12
12
  Classifier: Topic :: Software Development
13
13
  Classifier: Intended Audience :: Developers
14
14
  Classifier: License :: OSI Approved :: CEA CNRS Inria Logiciel Libre License, version 2.1 (CeCILL-2.1)
15
- Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3
16
16
  Classifier: Development Status :: 4 - Beta
17
17
  Requires-Python: >=3.11
18
18
  Description-Content-Type: text/x-rst
@@ -34,6 +34,9 @@ Requires-Dist: rich
34
34
  .. |DOCUMENTATION_URL| replace:: https://src.koda.cnrs.fr/eric.debreuve/str-to-obj/-/wikis/home
35
35
  .. _DOCUMENTATION_URL: https://src.koda.cnrs.fr/eric.debreuve/str-to-obj/-/wikis/home
36
36
 
37
+ .. |DEPENDENCIES_MANDATORY| replace:: logger_36, rich
38
+ .. |DEPENDENCIES_OPTIONAL| replace:: None
39
+
37
40
 
38
41
 
39
42
  ===================================
@@ -42,6 +45,13 @@ Requires-Dist: rich
42
45
 
43
46
 
44
47
 
48
+ Documentation
49
+ =============
50
+
51
+ The documentation is available at |DOCUMENTATION_URL|_.
52
+
53
+
54
+
45
55
  Installation
46
56
  ============
47
57
 
@@ -51,14 +61,6 @@ at: |PYPI_PROJECT_URL|_.
51
61
  It should be installable from Python distribution platforms or Integrated Development Environments (IDEs).
52
62
  Otherwise, it can be installed from a command console using `pip <https://pip.pypa.io/>`_:
53
63
 
54
- ..
55
- - For all users, after acquiring administrative rights:
56
- - First installation: ``pip install`` |PYPI_NAME_LITERAL|
57
- - Installation update: ``pip install --upgrade`` |PYPI_NAME_LITERAL|
58
- - For the current user (no administrative rights required):
59
- - First installation: ``pip install --user`` |PYPI_NAME_LITERAL|
60
- - Installation update: ``pip install --user --upgrade`` |PYPI_NAME_LITERAL|
61
-
62
64
  +--------------+-------------------------------------------------------+----------------------------------------------------------+
63
65
  | | For all users (after acquiring administrative rights) | For the current user (no administrative rights required) |
64
66
  +==============+=======================================================+==========================================================+
@@ -69,27 +71,34 @@ Otherwise, it can be installed from a command console using `pip <https://pip.py
69
71
 
70
72
 
71
73
 
72
- Documentation
73
- =============
74
+ Dependencies
75
+ ============
74
76
 
75
- The documentation is available at |DOCUMENTATION_URL|_.
77
+ The development relies on several packages:
78
+
79
+ - Mandatory: |DEPENDENCIES_MANDATORY|
80
+ - Optional: |DEPENDENCIES_OPTIONAL|
81
+
82
+ The mandatory dependencies, if any, are installed automatically by `pip <https://pip.pypa.io/>`_, if they are not already, as part of the installation of |PROJECT_NAME|.
83
+ Python distribution platforms or Integrated Development Environments (IDEs) should also take care of this.
84
+ The optional dependencies, if any, must be installed independently by following the related instructions, for added functionalities of |PROJECT_NAME|.
76
85
 
77
86
 
78
87
 
79
88
  Acknowledgments
80
89
  ===============
81
90
 
82
- The project is developed with `PyCharm Community <https://www.jetbrains.com/pycharm/>`_.
91
+ .. image:: https://img.shields.io/badge/code%20style-black-000000.svg
92
+ :target: https://github.com/psf/black
93
+ .. image:: https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336
94
+ :target: https://pycqa.github.io/isort/
83
95
 
84
- The development relies on several open-source packages
85
- (see ``install_requires`` in ``setup.py``, if present; otherwise ``import`` statements should be searched for).
96
+ The project is developed with `PyCharm Community <https://www.jetbrains.com/pycharm/>`_.
86
97
 
87
98
  The code is formatted by `Black <https://github.com/psf/black/>`_, *The Uncompromising Code Formatter*.
88
99
 
89
100
  The imports are ordered by `isort <https://github.com/timothycrosley/isort/>`_... *your imports, so you don't have to*.
90
101
 
91
-
92
-
93
102
  ..
94
103
  COPYRIGHT NOTICE
95
104
 
@@ -0,0 +1,26 @@
1
+ str_to_obj/__init__.py,sha256=PCxTXaZiI5pN2HqQPeS4q6r-QgwBrDGwGplHCWACQzA,2318
2
+ str_to_obj/main.py,sha256=ebOat0qc3CQPGXC6RCOLGswDrGuobAziwSCawv6rSK4,3102
3
+ str_to_obj/version.py,sha256=LBCw-ZZUoX13xuS_ZDbgVb5pOKJrbeI-M12p4irxEbU,2206
4
+ str_to_obj/api/catalog.py,sha256=6ka6JciGdHFP93lg0yq2LO3iZBHfq0upZfXxQSg1izk,2521
5
+ str_to_obj/api/type.py,sha256=yxD5wTtnh_h8Wa9_k1eex-nrkjtfh4ZJI6Db6hJHI9w,2468
6
+ str_to_obj/catalog/boolean.py,sha256=7F0E36wQGkOxMMolqN5JF4zWOBJHLU9NDwOPt-LiFjQ,3489
7
+ str_to_obj/catalog/callable.py,sha256=NCoogYzVBUSqiYEj_DoG-szqQdnYhvSj0xdyvg1W7Jw,3626
8
+ str_to_obj/catalog/choices.py,sha256=YvRkgThmUhGVOl-SeNXrVC5Gwg9shCDdU0-dJ9Zk_zw,3798
9
+ str_to_obj/catalog/collection.py,sha256=OkwsgiMFrdvIvLqp1e_bgjBix677knrCSo-vOes86pQ,6767
10
+ str_to_obj/catalog/number.py,sha256=U__ZF9TYMuIlIyY1QHIK2f89cPPCvmrNMhK3sCA7n0E,5461
11
+ str_to_obj/catalog/path.py,sha256=xBrQJ-RMH-y_oaWP-uUTSpIKcL2vrtXoqrSaaS4HRpg,3857
12
+ str_to_obj/interface/console.py,sha256=t_prEhOHOOtsIld5orw2sIfaDjiy_kEO5Xy3Hr0Js3g,3037
13
+ str_to_obj/runtime/type.py,sha256=IGgBgvYu5QrxWKiEEwg5Hn1DNLYZrm6VX7b1o6_OMCI,2288
14
+ str_to_obj/runtime/value.py,sha256=l5I8_Aewu8Yzndnz03dUI_tfN0ZL-hMht2FmDYSUQL8,2268
15
+ str_to_obj/task/casting.py,sha256=GXwnnKnv8420nqlMb5sWkiWula5ZH-UxvWTjyr2Ra98,9138
16
+ str_to_obj/task/comparison.py,sha256=HBzv7gBtOnROsC6Sq-FYpgd_MKzVJreboNiqkza3vJ8,3178
17
+ str_to_obj/task/inspection.py,sha256=M8YnYq4A_Zz7rC2kgTYSSSawTnG2dCug5FBoCOBJ5g8,3127
18
+ str_to_obj/type/annotation.py,sha256=xXShME2Q344N3QlsqKtU6ttne54tTVC3b62CHU1TGUM,3838
19
+ str_to_obj/type/hint.py,sha256=w-yos8eD4CHQsXPfnqeqAc-ozyDWqzw46FOWDtAh7dM,2810
20
+ str_to_obj/type/hint_tree.py,sha256=hm0JbEXc5lPl0djiBj0tksmfmZaeFtpo_qtZv1uXe7s,6690
21
+ str_to_obj/type/type.py,sha256=ywc7GpzM1BsoQ3F0qk4wZ2DG1KZllw-PNv_umIGt8hA,4147
22
+ str_to_obj/type/value.py,sha256=r9Ko5HHant1JGbsO7vH1unRBr9guc61Jz2piuJT0BjM,2533
23
+ str_to_obj-2024.6.dist-info/METADATA,sha256=uHOtXMI95EtKqHF57ML92wyg_GC6P_pepvKWKCYqWsE,6464
24
+ str_to_obj-2024.6.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
25
+ str_to_obj-2024.6.dist-info/top_level.txt,sha256=h-6bR_TAnXRGVSLTeNPlivlaG64xYM3E__Xg7sCgeug,11
26
+ str_to_obj-2024.6.dist-info/RECORD,,
@@ -1,24 +0,0 @@
1
- str_to_obj/__init__.py,sha256=kNBfT5wXbdCVGkV3X5dsFRQlyKOZNWkcQZ66qVQuOvM,2457
2
- str_to_obj/main.py,sha256=5XDr99VfwrHeK1cCbfsjRymYGVWhdTOX6zv37mw28uY,3112
3
- str_to_obj/version.py,sha256=NNneOcdXXTxq3qKXidOnjqxIrjRPEVAwvDcfyhRAkOg,2206
4
- str_to_obj/catalog/boolean.py,sha256=7F0E36wQGkOxMMolqN5JF4zWOBJHLU9NDwOPt-LiFjQ,3489
5
- str_to_obj/catalog/callable.py,sha256=NCoogYzVBUSqiYEj_DoG-szqQdnYhvSj0xdyvg1W7Jw,3626
6
- str_to_obj/catalog/choices.py,sha256=YvRkgThmUhGVOl-SeNXrVC5Gwg9shCDdU0-dJ9Zk_zw,3798
7
- str_to_obj/catalog/collection.py,sha256=rceqOpiTRX9YqYoZGr0DNlVxSEv5nVOQeQUCCk_aCVc,6809
8
- str_to_obj/catalog/number.py,sha256=U__ZF9TYMuIlIyY1QHIK2f89cPPCvmrNMhK3sCA7n0E,5461
9
- str_to_obj/catalog/path.py,sha256=xBrQJ-RMH-y_oaWP-uUTSpIKcL2vrtXoqrSaaS4HRpg,3857
10
- str_to_obj/interface/console.py,sha256=jiN5ffXfMo_N4Me2BHGZyau9yfR_H9xAnrJMMK3q6Dg,3038
11
- str_to_obj/runtime/type.py,sha256=IGgBgvYu5QrxWKiEEwg5Hn1DNLYZrm6VX7b1o6_OMCI,2288
12
- str_to_obj/runtime/value.py,sha256=l5I8_Aewu8Yzndnz03dUI_tfN0ZL-hMht2FmDYSUQL8,2268
13
- str_to_obj/task/casting.py,sha256=n_GffWFlNPlN9xhevq4_VOqaQsI-jWkXDTBTGhDNz7w,9232
14
- str_to_obj/task/comparison.py,sha256=UfAagi4dYtOstJYW9V4B3lZ3jwMVDMVZI1xk5hzrJ2I,3193
15
- str_to_obj/task/inspection.py,sha256=M8YnYq4A_Zz7rC2kgTYSSSawTnG2dCug5FBoCOBJ5g8,3127
16
- str_to_obj/type/annotation.py,sha256=dmLMtOnbP4NP7pPYEy9r7YhHF21EoTyz2BaO4vkB7qk,3216
17
- str_to_obj/type/hint.py,sha256=jlQgGosqoszkreJYFS_pga5RpqrUiLYALoxtzrB5rPU,2180
18
- str_to_obj/type/hint_tree.py,sha256=3q_XifljQPj4MVv5SIfggugTUNcq0KT5RJoXxJ3G_UQ,6126
19
- str_to_obj/type/type.py,sha256=6KZgHRKZi1zzJ9KiW2LLvUXVr0EALUM4Yz8cwvgFeBg,3459
20
- str_to_obj/type/value.py,sha256=9sXtYf0kVHVpcczS_ZtVZa9_M17pIlYSZjYYE33sS1Y,1904
21
- str_to_obj-2024.5.dist-info/METADATA,sha256=tT9oruU9zK7_KdbTNj-XPl4A9_wFvtjCvy4Pi9NFBwA,6130
22
- str_to_obj-2024.5.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
23
- str_to_obj-2024.5.dist-info/top_level.txt,sha256=h-6bR_TAnXRGVSLTeNPlivlaG64xYM3E__Xg7sCgeug,11
24
- str_to_obj-2024.5.dist-info/RECORD,,