adiumentum 0.3.0__tar.gz → 0.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {adiumentum-0.3.0 → adiumentum-0.3.1}/PKG-INFO +1 -2
- {adiumentum-0.3.0 → adiumentum-0.3.1}/pyproject.toml +1 -2
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/string_utils.py +29 -9
- {adiumentum-0.3.0 → adiumentum-0.3.1}/README.md +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/__init__.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/color.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/comparison.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/converters.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/dependency_sorting.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/display.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/elementary_types.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/exceptions.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/file_modification_time.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/frozendict.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/functional.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/io_utils.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/markers.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/merge.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/numerical.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/paths_manager.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/performance_logging.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/pydantic_extensions.md +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/pydantic_extensions.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/timestamping.py +0 -0
- {adiumentum-0.3.0 → adiumentum-0.3.1}/src/adiumentum/typing_utils.py +0 -0
@@ -1,13 +1,12 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: adiumentum
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.1
|
4
4
|
Summary:
|
5
5
|
Author: Isaac Riley
|
6
6
|
Author-email: Isaac Riley <yelircaasi@proton.me>
|
7
7
|
Requires-Dist: pydantic>=2.11
|
8
8
|
Requires-Dist: multipledispatch>=1
|
9
9
|
Requires-Dist: loguru>=0.7.3
|
10
|
-
Requires-Dist: datethyme>=0.4.0
|
11
10
|
Requires-Python: >=3.11, <3.15
|
12
11
|
Description-Content-Type: text/markdown
|
13
12
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[project]
|
2
2
|
name = "adiumentum"
|
3
|
-
version = "0.3.
|
3
|
+
version = "0.3.1"
|
4
4
|
description = ""
|
5
5
|
authors = [{name = "Isaac Riley", email = "yelircaasi@proton.me"}]
|
6
6
|
readme = "README.md"
|
@@ -9,7 +9,6 @@ dependencies = [
|
|
9
9
|
"pydantic >= 2.11 ",
|
10
10
|
"multipledispatch >= 1 ",
|
11
11
|
"loguru >= 0.7.3",
|
12
|
-
"datethyme >= 0.4.0",
|
13
12
|
]
|
14
13
|
|
15
14
|
[project.scripts]
|
@@ -1,20 +1,40 @@
|
|
1
1
|
import json
|
2
2
|
import re
|
3
3
|
from collections.abc import Callable, Iterable
|
4
|
-
from typing import Literal, TypeAlias, cast
|
5
|
-
|
6
|
-
from datethyme import Date, Time
|
4
|
+
from typing import Literal, Protocol, Self, TypeAlias, cast
|
7
5
|
|
8
6
|
from .functional import lmap
|
9
7
|
from .typing_utils import JSONDict, areinstances
|
10
8
|
|
9
|
+
class DateProtocol(Protocol):
|
10
|
+
year: int
|
11
|
+
month: int
|
12
|
+
day: int
|
13
|
+
|
14
|
+
@classmethod
|
15
|
+
def parse(cls, date_string: str) -> Self: ...
|
16
|
+
|
17
|
+
def __str__(self) -> str: ...
|
18
|
+
|
19
|
+
|
20
|
+
class TimeProtocol(Protocol):
|
21
|
+
hour: int
|
22
|
+
minute: int
|
23
|
+
second: float
|
24
|
+
|
25
|
+
@classmethod
|
26
|
+
def parse(cls, time_string: str) -> Self: ...
|
27
|
+
|
28
|
+
def __str__(self) -> str: ...
|
29
|
+
|
30
|
+
|
11
31
|
MixedValidated: TypeAlias = (
|
12
32
|
str
|
13
33
|
| bool
|
14
34
|
| int
|
15
35
|
| float
|
16
|
-
|
|
17
|
-
|
|
36
|
+
| TimeProtocol
|
37
|
+
| DateProtocol
|
18
38
|
| tuple[str, ...]
|
19
39
|
| tuple[str, str]
|
20
40
|
| tuple[float, float]
|
@@ -135,10 +155,10 @@ def cast_to_negative_score(s: str | bool) -> float:
|
|
135
155
|
return score
|
136
156
|
|
137
157
|
|
138
|
-
def
|
158
|
+
def cast_to_date(s: str | bool, date_class: type[DateProtocol]) -> DateProtocol:
|
139
159
|
if isinstance(s, bool):
|
140
160
|
raise TypeError
|
141
|
-
return
|
161
|
+
return date_class.parse(s)
|
142
162
|
|
143
163
|
|
144
164
|
def cast_to_stringtuple(s: str | bool) -> tuple[str, ...]:
|
@@ -160,10 +180,10 @@ def cast_as(
|
|
160
180
|
"integer": cast_to_int,
|
161
181
|
"float": cast_to_float,
|
162
182
|
"minutes": cast_to_minutes,
|
163
|
-
"time": Time.model_validate,
|
183
|
+
# "time": Time.model_validate, TODO: add later via injection
|
164
184
|
"positiveScore": cast_to_positive_score,
|
165
185
|
"negativeScore": cast_to_negative_score,
|
166
|
-
"date":
|
186
|
+
# "date": cast_to_date, TODO: add later via injection
|
167
187
|
"stringtuple": cast_to_stringtuple,
|
168
188
|
}
|
169
189
|
caster = dispatch[input_type]
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|