faster-eth-utils 5.3.2__cp312-cp312-musllinux_1_2_i686.whl → 5.3.22__cp312-cp312-musllinux_1_2_i686.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.
Potentially problematic release.
This version of faster-eth-utils might be problematic. Click here for more details.
- faster_eth_utils/abi.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils/abi.py +99 -74
- faster_eth_utils/address.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils/address.py +15 -36
- faster_eth_utils/applicators.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils/applicators.py +79 -59
- faster_eth_utils/conversions.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils/conversions.py +18 -20
- faster_eth_utils/crypto.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils/crypto.py +3 -8
- faster_eth_utils/currency.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils/currency.py +11 -8
- faster_eth_utils/curried/__init__.py +65 -65
- faster_eth_utils/debug.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils/decorators.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils/decorators.py +65 -29
- faster_eth_utils/encoding.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils/encoding.py +1 -1
- faster_eth_utils/exceptions.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils/exceptions.py +8 -1
- faster_eth_utils/functional.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils/functional.py +39 -27
- faster_eth_utils/hexadecimal.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils/hexadecimal.py +8 -12
- faster_eth_utils/humanize.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils/humanize.py +18 -22
- faster_eth_utils/logging.py +51 -44
- faster_eth_utils/module_loading.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils/network.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils/network.py +11 -4
- faster_eth_utils/numeric.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils/pydantic.py +15 -13
- faster_eth_utils/toolz.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils/toolz.py +82 -152
- faster_eth_utils/types.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils/types.py +20 -17
- faster_eth_utils/units.cpython-312-i386-linux-musl.so +0 -0
- {faster_eth_utils-5.3.2.dist-info → faster_eth_utils-5.3.22.dist-info}/METADATA +46 -17
- faster_eth_utils-5.3.22.dist-info/RECORD +53 -0
- faster_eth_utils-5.3.22.dist-info/top_level.txt +3 -0
- faster_eth_utils__mypyc.cpython-312-i386-linux-musl.so +0 -0
- bce0bfc64ce5e845ec4a__mypyc.cpython-312-i386-linux-musl.so +0 -0
- faster_eth_utils-5.3.2.dist-info/RECORD +0 -47
- faster_eth_utils-5.3.2.dist-info/top_level.txt +0 -3
- {faster_eth_utils-5.3.2.dist-info → faster_eth_utils-5.3.22.dist-info}/WHEEL +0 -0
- {faster_eth_utils-5.3.2.dist-info → faster_eth_utils-5.3.22.dist-info}/licenses/LICENSE +0 -0
faster_eth_utils/pydantic.py
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
from typing import (
|
|
2
2
|
Any,
|
|
3
|
-
|
|
4
|
-
Type,
|
|
3
|
+
cast,
|
|
5
4
|
)
|
|
6
5
|
|
|
7
6
|
from pydantic import (
|
|
@@ -21,7 +20,7 @@ from pydantic.json_schema import (
|
|
|
21
20
|
)
|
|
22
21
|
|
|
23
22
|
|
|
24
|
-
class OmitJsonSchema(GenerateJsonSchema):
|
|
23
|
+
class OmitJsonSchema(GenerateJsonSchema): # type: ignore[misc]
|
|
25
24
|
"""
|
|
26
25
|
Custom JSON schema generator that omits the schema generation for fields that are
|
|
27
26
|
invalid. Excluded fields (``Field(exclude=True)``) are generally useful as
|
|
@@ -32,10 +31,10 @@ class OmitJsonSchema(GenerateJsonSchema):
|
|
|
32
31
|
# override ``field_is_present`` and omit excluded fields from the schema
|
|
33
32
|
if field.get("serialization_exclude", False):
|
|
34
33
|
return False
|
|
35
|
-
return super().field_is_present(field)
|
|
34
|
+
return cast(bool, super().field_is_present(field))
|
|
36
35
|
|
|
37
36
|
|
|
38
|
-
class CamelModel(BaseModel):
|
|
37
|
+
class CamelModel(BaseModel): # type: ignore[misc]
|
|
39
38
|
"""
|
|
40
39
|
Camel-case pydantic model. This model is used to ensure serialization in a
|
|
41
40
|
consistent manner, aliasing as camelCase serialization. This is useful for models
|
|
@@ -81,21 +80,24 @@ class CamelModel(BaseModel):
|
|
|
81
80
|
)
|
|
82
81
|
|
|
83
82
|
@classmethod
|
|
84
|
-
def model_json_schema(
|
|
83
|
+
def model_json_schema( # type: ignore [override]
|
|
85
84
|
cls,
|
|
86
85
|
by_alias: bool = True,
|
|
87
86
|
ref_template: str = DEFAULT_REF_TEMPLATE,
|
|
88
87
|
# default to ``OmitJsonSchema`` to prevent errors from excluded fields
|
|
89
|
-
schema_generator:
|
|
88
|
+
schema_generator: type[GenerateJsonSchema] = OmitJsonSchema,
|
|
90
89
|
mode: JsonSchemaMode = "validation",
|
|
91
|
-
) ->
|
|
90
|
+
) -> dict[str, Any]:
|
|
92
91
|
"""
|
|
93
92
|
Omits excluded fields from the JSON schema, preventing errors that would
|
|
94
93
|
otherwise be raised by the default schema generator.
|
|
95
94
|
"""
|
|
96
|
-
return
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
95
|
+
return cast(
|
|
96
|
+
dict[str, Any],
|
|
97
|
+
super().model_json_schema(
|
|
98
|
+
by_alias=by_alias,
|
|
99
|
+
ref_template=ref_template,
|
|
100
|
+
schema_generator=schema_generator,
|
|
101
|
+
mode=mode,
|
|
102
|
+
),
|
|
101
103
|
)
|
|
Binary file
|
faster_eth_utils/toolz.py
CHANGED
|
@@ -1,154 +1,84 @@
|
|
|
1
|
+
from typing import Final
|
|
2
|
+
|
|
1
3
|
try:
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
assoc,
|
|
5
|
-
assoc_in,
|
|
6
|
-
comp,
|
|
7
|
-
complement,
|
|
8
|
-
compose,
|
|
9
|
-
concat,
|
|
10
|
-
concatv,
|
|
11
|
-
cons,
|
|
12
|
-
count,
|
|
13
|
-
countby,
|
|
14
|
-
curried,
|
|
15
|
-
curry,
|
|
16
|
-
dicttoolz,
|
|
17
|
-
diff,
|
|
18
|
-
dissoc,
|
|
19
|
-
do,
|
|
20
|
-
drop,
|
|
21
|
-
excepts,
|
|
22
|
-
filter,
|
|
23
|
-
first,
|
|
24
|
-
flip,
|
|
25
|
-
frequencies,
|
|
26
|
-
functoolz,
|
|
27
|
-
get,
|
|
28
|
-
get_in,
|
|
29
|
-
groupby,
|
|
30
|
-
identity,
|
|
31
|
-
interleave,
|
|
32
|
-
interpose,
|
|
33
|
-
isdistinct,
|
|
34
|
-
isiterable,
|
|
35
|
-
itemfilter,
|
|
36
|
-
itemmap,
|
|
37
|
-
iterate,
|
|
38
|
-
itertoolz,
|
|
39
|
-
join,
|
|
40
|
-
juxt,
|
|
41
|
-
keyfilter,
|
|
42
|
-
keymap,
|
|
43
|
-
last,
|
|
44
|
-
map,
|
|
45
|
-
mapcat,
|
|
46
|
-
memoize,
|
|
47
|
-
merge,
|
|
48
|
-
merge_sorted,
|
|
49
|
-
merge_with,
|
|
50
|
-
nth,
|
|
51
|
-
partial,
|
|
52
|
-
partition,
|
|
53
|
-
partition_all,
|
|
54
|
-
partitionby,
|
|
55
|
-
peek,
|
|
56
|
-
pipe,
|
|
57
|
-
pluck,
|
|
58
|
-
random_sample,
|
|
59
|
-
recipes,
|
|
60
|
-
reduce,
|
|
61
|
-
reduceby,
|
|
62
|
-
remove,
|
|
63
|
-
second,
|
|
64
|
-
sliding_window,
|
|
65
|
-
sorted,
|
|
66
|
-
tail,
|
|
67
|
-
take,
|
|
68
|
-
take_nth,
|
|
69
|
-
thread_first,
|
|
70
|
-
thread_last,
|
|
71
|
-
topk,
|
|
72
|
-
unique,
|
|
73
|
-
update_in,
|
|
74
|
-
utils,
|
|
75
|
-
valfilter,
|
|
76
|
-
valmap,
|
|
77
|
-
)
|
|
4
|
+
import cytoolz
|
|
5
|
+
cy = True
|
|
78
6
|
except ImportError:
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
7
|
+
import toolz
|
|
8
|
+
cy = False
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
accumulate: Final = cytoolz.accumulate if cy else toolz.accumulate
|
|
12
|
+
assoc: Final = cytoolz.assoc if cy else toolz.assoc
|
|
13
|
+
assoc_in: Final = cytoolz.assoc_in if cy else toolz.assoc_in
|
|
14
|
+
comp: Final = cytoolz.comp if cy else toolz.comp
|
|
15
|
+
complement: Final = cytoolz.complement if cy else toolz.complement
|
|
16
|
+
compose: Final = cytoolz.compose if cy else toolz.compose
|
|
17
|
+
concat: Final = cytoolz.concat if cy else toolz.concat
|
|
18
|
+
concatv: Final = cytoolz.concatv if cy else toolz.concatv
|
|
19
|
+
cons: Final = cytoolz.cons if cy else toolz.cons
|
|
20
|
+
count: Final = cytoolz.count if cy else toolz.count
|
|
21
|
+
countby: Final = cytoolz.countby if cy else toolz.countby
|
|
22
|
+
curried: Final = cytoolz.curried if cy else toolz.curried
|
|
23
|
+
curry: Final = cytoolz.curry if cy else toolz.curry
|
|
24
|
+
dicttoolz: Final = cytoolz.dicttoolz if cy else toolz.dicttoolz
|
|
25
|
+
diff: Final = cytoolz.diff if cy else toolz.diff
|
|
26
|
+
dissoc: Final = cytoolz.dissoc if cy else toolz.dissoc
|
|
27
|
+
do: Final = cytoolz.do if cy else toolz.do
|
|
28
|
+
drop: Final = cytoolz.drop if cy else toolz.drop
|
|
29
|
+
excepts: Final = cytoolz.excepts if cy else toolz.excepts
|
|
30
|
+
filter: Final = cytoolz.filter if cy else toolz.filter
|
|
31
|
+
first: Final = cytoolz.first if cy else toolz.first
|
|
32
|
+
flip: Final = cytoolz.flip if cy else toolz.flip
|
|
33
|
+
frequencies: Final = cytoolz.frequencies if cy else toolz.frequencies
|
|
34
|
+
functoolz: Final = cytoolz.functoolz if cy else toolz.functoolz
|
|
35
|
+
get: Final = cytoolz.get if cy else toolz.get
|
|
36
|
+
get_in: Final = cytoolz.get_in if cy else toolz.get_in
|
|
37
|
+
groupby: Final = cytoolz.groupby if cy else toolz.groupby
|
|
38
|
+
identity: Final = cytoolz.identity if cy else toolz.identity
|
|
39
|
+
interleave: Final = cytoolz.interleave if cy else toolz.interleave
|
|
40
|
+
interpose: Final = cytoolz.interpose if cy else toolz.interpose
|
|
41
|
+
isdistinct: Final = cytoolz.isdistinct if cy else toolz.isdistinct
|
|
42
|
+
isiterable: Final = cytoolz.isiterable if cy else toolz.isiterable
|
|
43
|
+
itemfilter: Final = cytoolz.itemfilter if cy else toolz.itemfilter
|
|
44
|
+
itemmap: Final = cytoolz.itemmap if cy else toolz.itemmap
|
|
45
|
+
iterate: Final = cytoolz.iterate if cy else toolz.iterate
|
|
46
|
+
itertoolz: Final = cytoolz.itertoolz if cy else toolz.itertoolz
|
|
47
|
+
join: Final = cytoolz.join if cy else toolz.join
|
|
48
|
+
juxt: Final = cytoolz.juxt if cy else toolz.juxt
|
|
49
|
+
keyfilter: Final = cytoolz.keyfilter if cy else toolz.keyfilter
|
|
50
|
+
keymap: Final = cytoolz.keymap if cy else toolz.keymap
|
|
51
|
+
last: Final = cytoolz.last if cy else toolz.last
|
|
52
|
+
map: Final = cytoolz.map if cy else toolz.map
|
|
53
|
+
mapcat: Final = cytoolz.mapcat if cy else toolz.mapcat
|
|
54
|
+
memoize: Final = cytoolz.memoize if cy else toolz.memoize
|
|
55
|
+
merge: Final = cytoolz.merge if cy else toolz.merge
|
|
56
|
+
merge_sorted: Final = cytoolz.merge_sorted if cy else toolz.merge_sorted
|
|
57
|
+
merge_with: Final = cytoolz.merge_with if cy else toolz.merge_with
|
|
58
|
+
nth: Final = cytoolz.nth if cy else toolz.nth
|
|
59
|
+
partial: Final = cytoolz.partial if cy else toolz.partial
|
|
60
|
+
partition: Final = cytoolz.partition if cy else toolz.partition
|
|
61
|
+
partition_all: Final = cytoolz.partition_all if cy else toolz.partition_all
|
|
62
|
+
partitionby: Final = cytoolz.partitionby if cy else toolz.partitionby
|
|
63
|
+
peek: Final = cytoolz.peek if cy else toolz.peek
|
|
64
|
+
pipe: Final = cytoolz.pipe if cy else toolz.pipe
|
|
65
|
+
pluck: Final = cytoolz.pluck if cy else toolz.pluck
|
|
66
|
+
random_sample: Final = cytoolz.random_sample if cy else toolz.random_sample
|
|
67
|
+
recipes: Final = cytoolz.recipes if cy else toolz.recipes
|
|
68
|
+
reduce: Final = cytoolz.reduce if cy else toolz.reduce
|
|
69
|
+
reduceby: Final = cytoolz.reduceby if cy else toolz.reduceby
|
|
70
|
+
remove: Final = cytoolz.remove if cy else toolz.remove
|
|
71
|
+
second: Final = cytoolz.second if cy else toolz.second
|
|
72
|
+
sliding_window: Final = cytoolz.sliding_window if cy else toolz.sliding_window
|
|
73
|
+
sorted: Final = cytoolz.sorted if cy else toolz.sorted
|
|
74
|
+
tail: Final = cytoolz.tail if cy else toolz.tail
|
|
75
|
+
take: Final = cytoolz.take if cy else toolz.take
|
|
76
|
+
take_nth: Final = cytoolz.take_nth if cy else toolz.take_nth
|
|
77
|
+
thread_first: Final = cytoolz.thread_first if cy else toolz.thread_first
|
|
78
|
+
thread_last: Final = cytoolz.thread_last if cy else toolz.thread_last
|
|
79
|
+
topk: Final = cytoolz.topk if cy else toolz.topk
|
|
80
|
+
unique: Final = cytoolz.unique if cy else toolz.unique
|
|
81
|
+
update_in: Final = cytoolz.update_in if cy else toolz.update_in
|
|
82
|
+
utils: Final = cytoolz.utils if cy else toolz.utils
|
|
83
|
+
valfilter: Final = cytoolz.valfilter if cy else toolz.valfilter
|
|
84
|
+
valmap: Final = cytoolz.valmap if cy else toolz.valmap
|
|
Binary file
|
faster_eth_utils/types.py
CHANGED
|
@@ -2,35 +2,38 @@ import collections.abc
|
|
|
2
2
|
import numbers
|
|
3
3
|
from typing import (
|
|
4
4
|
Any,
|
|
5
|
-
|
|
5
|
+
Final,
|
|
6
6
|
Literal,
|
|
7
|
-
Tuple,
|
|
8
|
-
Union,
|
|
9
7
|
)
|
|
10
8
|
|
|
11
|
-
from
|
|
9
|
+
from typing import (
|
|
12
10
|
TypeGuard,
|
|
13
11
|
)
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
Mapping: Final = collections.abc.Mapping
|
|
14
|
+
Sequence: Final = collections.abc.Sequence
|
|
15
|
+
|
|
16
|
+
Number: Final = numbers.Number
|
|
17
|
+
|
|
18
|
+
bytes_types: Final = (bytes, bytearray)
|
|
19
|
+
integer_types: Final = (int,)
|
|
20
|
+
text_types: Final = (str,)
|
|
21
|
+
string_types: Final = (bytes, str, bytearray)
|
|
19
22
|
|
|
20
23
|
|
|
21
24
|
def is_integer(value: Any) -> TypeGuard[int]:
|
|
22
|
-
return isinstance(value,
|
|
25
|
+
return isinstance(value, int) and not isinstance(value, bool)
|
|
23
26
|
|
|
24
27
|
|
|
25
|
-
def is_bytes(value: Any) -> TypeGuard[
|
|
28
|
+
def is_bytes(value: Any) -> TypeGuard[bytes | bytearray]:
|
|
26
29
|
return isinstance(value, bytes_types)
|
|
27
30
|
|
|
28
31
|
|
|
29
32
|
def is_text(value: Any) -> TypeGuard[str]:
|
|
30
|
-
return isinstance(value,
|
|
33
|
+
return isinstance(value, str)
|
|
31
34
|
|
|
32
35
|
|
|
33
|
-
def is_string(value: Any) -> TypeGuard[
|
|
36
|
+
def is_string(value: Any) -> TypeGuard[bytes | str | bytearray]:
|
|
34
37
|
return isinstance(value, string_types)
|
|
35
38
|
|
|
36
39
|
|
|
@@ -39,18 +42,18 @@ def is_boolean(value: Any) -> TypeGuard[bool]:
|
|
|
39
42
|
|
|
40
43
|
|
|
41
44
|
def is_dict(obj: Any) -> TypeGuard[collections.abc.Mapping[Any, Any]]:
|
|
42
|
-
return isinstance(obj,
|
|
45
|
+
return isinstance(obj, dict) or isinstance(obj, Mapping)
|
|
43
46
|
|
|
44
47
|
|
|
45
48
|
def is_list_like(obj: Any) -> TypeGuard[collections.abc.Sequence[Any]]:
|
|
46
|
-
return not is_string(obj) and isinstance(obj,
|
|
49
|
+
return isinstance(obj, (list, tuple)) or not is_string(obj) and isinstance(obj, Sequence)
|
|
47
50
|
|
|
48
51
|
|
|
49
|
-
def is_list(obj: Any) -> TypeGuard[
|
|
52
|
+
def is_list(obj: Any) -> TypeGuard[list[Any]]:
|
|
50
53
|
return isinstance(obj, list)
|
|
51
54
|
|
|
52
55
|
|
|
53
|
-
def is_tuple(obj: Any) -> TypeGuard[
|
|
56
|
+
def is_tuple(obj: Any) -> TypeGuard[tuple[Any, ...]]:
|
|
54
57
|
return isinstance(obj, tuple)
|
|
55
58
|
|
|
56
59
|
|
|
@@ -59,4 +62,4 @@ def is_null(obj: Any) -> TypeGuard[Literal[None]]:
|
|
|
59
62
|
|
|
60
63
|
|
|
61
64
|
def is_number(obj: Any) -> TypeGuard[numbers.Number]:
|
|
62
|
-
return isinstance(obj,
|
|
65
|
+
return isinstance(obj, Number)
|
|
Binary file
|
|
@@ -1,28 +1,36 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: faster-eth-utils
|
|
3
|
-
Version: 5.3.
|
|
4
|
-
Summary: A fork of eth-utils: Common utility functions for python code that interacts with Ethereum
|
|
5
|
-
Home-page: https://github.com/BobTheBuidler/eth-utils
|
|
3
|
+
Version: 5.3.22
|
|
4
|
+
Summary: A faster fork of eth-utils: Common utility functions for python code that interacts with Ethereum. Implemented in C
|
|
5
|
+
Home-page: https://github.com/BobTheBuidler/faster-eth-utils
|
|
6
6
|
Author: The Ethereum Foundation
|
|
7
7
|
Author-email: snakecharmers@ethereum.org
|
|
8
8
|
License: MIT
|
|
9
|
+
Project-URL: Documentation, https://eth-utils.readthedocs.io/en/stable/
|
|
10
|
+
Project-URL: Release Notes, https://github.com/BobTheBuidler/faster-eth-utils/releases
|
|
11
|
+
Project-URL: Issues, https://github.com/BobTheBuidler/faster-eth-utils/issues
|
|
12
|
+
Project-URL: Source - Precompiled (.py), https://github.com/BobTheBuidler/faster-eth-utils/tree/master/faster_eth_utils
|
|
13
|
+
Project-URL: Source - Compiled (.c), https://github.com/BobTheBuidler/faster-eth-utils/tree/master/build
|
|
14
|
+
Project-URL: Benchmarks, https://github.com/BobTheBuidler/faster-eth-utils/tree/master/benchmarks
|
|
15
|
+
Project-URL: Benchmarks - Results, https://github.com/BobTheBuidler/faster-eth-utils/tree/master/benchmarks/results
|
|
16
|
+
Project-URL: Original, https://github.com/ethereum/eth-utils
|
|
9
17
|
Keywords: ethereum
|
|
10
18
|
Classifier: Intended Audience :: Developers
|
|
11
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
12
19
|
Classifier: Natural Language :: English
|
|
13
20
|
Classifier: Programming Language :: Python :: 3
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
16
21
|
Classifier: Programming Language :: Python :: 3.10
|
|
17
22
|
Classifier: Programming Language :: Python :: 3.11
|
|
18
23
|
Classifier: Programming Language :: Python :: 3.12
|
|
19
24
|
Classifier: Programming Language :: Python :: 3.13
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
20
26
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
21
|
-
Requires-Python: >=3.
|
|
27
|
+
Requires-Python: >=3.10, <4
|
|
22
28
|
Description-Content-Type: text/markdown
|
|
23
29
|
License-File: LICENSE
|
|
30
|
+
Requires-Dist: cchecksum==0.3.9
|
|
24
31
|
Requires-Dist: eth-hash>=0.3.1
|
|
25
|
-
Requires-Dist: eth-typing
|
|
32
|
+
Requires-Dist: eth-typing==5.2.1
|
|
33
|
+
Requires-Dist: eth-utils==5.3.1
|
|
26
34
|
Requires-Dist: toolz>0.8.2; implementation_name == "pypy"
|
|
27
35
|
Requires-Dist: cytoolz>=0.10.1; implementation_name == "cpython"
|
|
28
36
|
Requires-Dist: pydantic<3,>=2.0.0
|
|
@@ -31,7 +39,7 @@ Requires-Dist: build>=0.9.0; extra == "dev"
|
|
|
31
39
|
Requires-Dist: bump_my_version>=0.19.0; extra == "dev"
|
|
32
40
|
Requires-Dist: eth-hash[pycryptodome]; extra == "dev"
|
|
33
41
|
Requires-Dist: ipython; extra == "dev"
|
|
34
|
-
Requires-Dist: mypy
|
|
42
|
+
Requires-Dist: mypy[mypyc]<1.20,>=1.14.1; extra == "dev"
|
|
35
43
|
Requires-Dist: pre-commit>=3.4.0; extra == "dev"
|
|
36
44
|
Requires-Dist: tox>=4.0.0; extra == "dev"
|
|
37
45
|
Requires-Dist: twine; extra == "dev"
|
|
@@ -39,21 +47,31 @@ Requires-Dist: wheel; extra == "dev"
|
|
|
39
47
|
Requires-Dist: sphinx>=6.0.0; extra == "dev"
|
|
40
48
|
Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "dev"
|
|
41
49
|
Requires-Dist: sphinx_rtd_theme>=1.0.0; extra == "dev"
|
|
42
|
-
Requires-Dist: towncrier<
|
|
50
|
+
Requires-Dist: towncrier<26,>=24; extra == "dev"
|
|
43
51
|
Requires-Dist: hypothesis>=4.43.0; extra == "dev"
|
|
44
|
-
Requires-Dist: mypy
|
|
45
|
-
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
52
|
+
Requires-Dist: mypy[mypyc]<1.20,>=1.14.1; extra == "dev"
|
|
46
53
|
Requires-Dist: pytest-xdist>=2.4.0; extra == "dev"
|
|
54
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
47
55
|
Provides-Extra: docs
|
|
48
56
|
Requires-Dist: sphinx>=6.0.0; extra == "docs"
|
|
49
57
|
Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "docs"
|
|
50
58
|
Requires-Dist: sphinx_rtd_theme>=1.0.0; extra == "docs"
|
|
51
|
-
Requires-Dist: towncrier<
|
|
59
|
+
Requires-Dist: towncrier<26,>=24; extra == "docs"
|
|
52
60
|
Provides-Extra: test
|
|
53
61
|
Requires-Dist: hypothesis>=4.43.0; extra == "test"
|
|
54
|
-
Requires-Dist: mypy
|
|
55
|
-
Requires-Dist: pytest>=7.0.0; extra == "test"
|
|
62
|
+
Requires-Dist: mypy[mypyc]<1.20,>=1.14.1; extra == "test"
|
|
56
63
|
Requires-Dist: pytest-xdist>=2.4.0; extra == "test"
|
|
64
|
+
Requires-Dist: pytest>=7.0.0; extra == "test"
|
|
65
|
+
Provides-Extra: codspeed
|
|
66
|
+
Requires-Dist: pytest-codspeed<4.3,>=4.2; extra == "codspeed"
|
|
67
|
+
Requires-Dist: pytest-test-groups; extra == "codspeed"
|
|
68
|
+
Requires-Dist: pytest>=7.0.0; extra == "codspeed"
|
|
69
|
+
Provides-Extra: benchmark
|
|
70
|
+
Requires-Dist: eth-utils==5.3.1; extra == "benchmark"
|
|
71
|
+
Requires-Dist: pytest-benchmark<5.3,>=5.2; extra == "benchmark"
|
|
72
|
+
Requires-Dist: pytest-codspeed<4.3,>=4.2; extra == "benchmark"
|
|
73
|
+
Requires-Dist: pytest-test-groups; extra == "benchmark"
|
|
74
|
+
Requires-Dist: pytest>=7.0.0; extra == "benchmark"
|
|
57
75
|
Dynamic: author
|
|
58
76
|
Dynamic: author-email
|
|
59
77
|
Dynamic: classifier
|
|
@@ -63,6 +81,7 @@ Dynamic: home-page
|
|
|
63
81
|
Dynamic: keywords
|
|
64
82
|
Dynamic: license
|
|
65
83
|
Dynamic: license-file
|
|
84
|
+
Dynamic: project-url
|
|
66
85
|
Dynamic: provides-extra
|
|
67
86
|
Dynamic: requires-dist
|
|
68
87
|
Dynamic: requires-python
|
|
@@ -70,9 +89,19 @@ Dynamic: summary
|
|
|
70
89
|
|
|
71
90
|
### I forked eth-utils and compiled it to C. It does the same stuff, now faster
|
|
72
91
|
|
|
73
|
-
|
|
92
|
+
[](https://pypi.org/project/faster-eth-utils)
|
|
93
|
+
[](https://pypistats.org/packages/faster-eth-utils)
|
|
94
|
+
[](https://codspeed.io/BobTheBuidler/faster-eth-utils)
|
|
95
|
+
|
|
96
|
+
##### This fork will be kept up-to-date with [eth-utils](https://github.com/ethereum/eth-utils). I will pull updates as they are released and push new [faster-eth-utils](https://github.com/BobTheBuidler/faster-eth-utils) releases to [PyPI](https://pypi.org/project/faster-eth-utils/).
|
|
97
|
+
|
|
98
|
+
##### Starting in [v5.3.11](https://github.com/BobTheBuidler/faster-eth-utils/releases/tag/v5.3.11), all `faster-eth-utils` Exception classes inherit from the matching Exception class in `eth-utils`, so porting to `faster-eth-utils` does not require any change to your existing exception handlers. All existing exception handling in your codebase will continue to work as it did when originaly implemented.
|
|
99
|
+
|
|
100
|
+
##### We benchmark `faster-eth-utils` against the original `eth-utils` for your convenience. [See results](https://github.com/BobTheBuidler/faster-eth-utils/tree/master/benchmarks/results).
|
|
101
|
+
|
|
102
|
+
##### You can find the compiled C code and header files in the [build](https://github.com/BobTheBuidler/eth-utils/tree/master/build) directory.
|
|
74
103
|
|
|
75
|
-
|
|
104
|
+
###### You may also be interested in: [faster-web3.py](https://github.com/BobTheBuidler/faster-web3.py/), [faster-eth-abi](https://github.com/BobTheBuidler/faster-eth-abi/), and [faster-hexbytes](https://github.com/BobTheBuidler/faster-hexbytes/)
|
|
76
105
|
|
|
77
106
|
##### The original eth-utils readme is below:
|
|
78
107
|
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
faster_eth_utils__mypyc.cpython-312-i386-linux-musl.so,sha256=2B9scEfn0nO9BFBGRiMQ2F3wa4DdoLEgKmAu3NErFI4,1556300
|
|
2
|
+
faster_eth_utils/__init__.py,sha256=hW-A_fjyQ76crTKwuxxSbvNzvPfW27dSlzhtOkseymg,2762
|
|
3
|
+
faster_eth_utils/__main__.py,sha256=mH37e49q7_A0-q1ymqkq1QyYABbQHVmXeuSKIBSahO8,86
|
|
4
|
+
faster_eth_utils/abi.cpython-312-i386-linux-musl.so,sha256=43-pfaXoqQpp8VXGXV2MpZG4JvycqHfOKRpeT-N4vfk,16700
|
|
5
|
+
faster_eth_utils/abi.py,sha256=3y0USCQ_HhRCCPP5GEe8vrw4V6fcaIfm2yZR0C3KDLY,27021
|
|
6
|
+
faster_eth_utils/address.cpython-312-i386-linux-musl.so,sha256=fWUcbGgceoFLyvK5WUIDoLqpX0hLP0TXtYswgtG3DuA,16716
|
|
7
|
+
faster_eth_utils/address.py,sha256=iFtnchlDMwFjvvStfxzPuf_Y104ecGLArOzuH5KV8U8,3572
|
|
8
|
+
faster_eth_utils/applicators.cpython-312-i386-linux-musl.so,sha256=yQWrsBzUdDMGrooupblYzjnN69hYEPAnPUWBjJgyJu0,16732
|
|
9
|
+
faster_eth_utils/applicators.py,sha256=WTbBiD1GqEdnUKYCCuqMOpQgcv_xr0pqO8JsbErs-uA,5844
|
|
10
|
+
faster_eth_utils/conversions.cpython-312-i386-linux-musl.so,sha256=T1Kte9lAg4Sqyj3D7EYH82K8UBmSysDdw_njJOtDzss,16732
|
|
11
|
+
faster_eth_utils/conversions.py,sha256=JT2MrUhRkHitwmdk90vYohNcFJBE6FBpYe2EyL-hHIk,5570
|
|
12
|
+
faster_eth_utils/crypto.cpython-312-i386-linux-musl.so,sha256=MI1q18FrOmugXCtXBY1Y5gdQWKSChTA2SDwSc9_VbR0,16708
|
|
13
|
+
faster_eth_utils/crypto.py,sha256=XTLxW0M1dPYRcbEzdBs0HsDmLtq6DWi9EhW0wiiuOfg,332
|
|
14
|
+
faster_eth_utils/currency.cpython-312-i386-linux-musl.so,sha256=cQlpm50jHESvGxU_XOqW6ktr1wTka7SelsuItcUqr74,16716
|
|
15
|
+
faster_eth_utils/currency.py,sha256=3Fo86byOoB_LHVyQx-sBvGWWLTGRw3ZRMNkhUBGCbkw,4207
|
|
16
|
+
faster_eth_utils/debug.cpython-312-i386-linux-musl.so,sha256=GlsSepP6b0TvMeAhBTUAzwgMe3_SErSYX5yxOy3K3jU,16708
|
|
17
|
+
faster_eth_utils/debug.py,sha256=0Z-tNOqgQJunS4uHeSCCH1LWLoijlH34MBh6NRrrDrk,499
|
|
18
|
+
faster_eth_utils/decorators.cpython-312-i386-linux-musl.so,sha256=ti9drzq8BGHKawyB6ck4jK0NRJ6Fc2kzTHrP6eG1FNg,16724
|
|
19
|
+
faster_eth_utils/decorators.py,sha256=2OhR0LMuUwuXtKebONbC-chpHi-myjX98MF3nReNIiE,3194
|
|
20
|
+
faster_eth_utils/encoding.cpython-312-i386-linux-musl.so,sha256=c9gGuXm18RpRjA2b9uCq-rCsPWvjA6o_9c0K7XlezFg,16716
|
|
21
|
+
faster_eth_utils/encoding.py,sha256=U_eV_sF4NrJUP8Azj0JB6IEH_p926YzrgOONGJ6-vr0,211
|
|
22
|
+
faster_eth_utils/exceptions.cpython-312-i386-linux-musl.so,sha256=7P1e0o5_Sf0CjIxm5GJ90rk_TLy393cBiidnxQbTLaQ,16724
|
|
23
|
+
faster_eth_utils/exceptions.py,sha256=mOS-AZzx7m84AgpZdnvXa5mFY-5mMP1MOPAlbbhxvHI,391
|
|
24
|
+
faster_eth_utils/functional.cpython-312-i386-linux-musl.so,sha256=mdeCslLLGCQS2mIcSafCTkHkZmc7OZkGgEWFBEkKi1E,16724
|
|
25
|
+
faster_eth_utils/functional.py,sha256=WkPEFM3SAFdfOJtqDJG3EvKtrAMwI2qw-m8dtgzee9Q,2458
|
|
26
|
+
faster_eth_utils/hexadecimal.cpython-312-i386-linux-musl.so,sha256=IqbZ64TKKqa9-p29Yo011VjaOMnUxgvnuXr-RNEHSL4,16732
|
|
27
|
+
faster_eth_utils/hexadecimal.py,sha256=aMS-MU_C-SXAAsKdt8ciFrGA1N4WIyZHK04Hzh738iE,2058
|
|
28
|
+
faster_eth_utils/humanize.cpython-312-i386-linux-musl.so,sha256=B7xN4EitHTnXBpz2cSiXoMW8BtCltruSsUmKH9VQQ_E,16716
|
|
29
|
+
faster_eth_utils/humanize.py,sha256=RQiJ2IBeRbyVK942-Q7w9zy2bKVvBkvpCjM9NtMdMwA,4703
|
|
30
|
+
faster_eth_utils/logging.py,sha256=BDfmXJg4Wucb5lASCApxWKVSsVvO6SZMz1N3jys4t9k,4758
|
|
31
|
+
faster_eth_utils/module_loading.cpython-312-i386-linux-musl.so,sha256=nyJLM2nIRMHjOyX4Xbrad6YCmjw3nGpqivRLHWOn3W8,16740
|
|
32
|
+
faster_eth_utils/module_loading.py,sha256=DCLM4dEh1gqr8Ny-FWwD-_pINqeHzbLSupz4ZIpCCAw,842
|
|
33
|
+
faster_eth_utils/network.cpython-312-i386-linux-musl.so,sha256=FncniFN6iZ6nUEz8Nzi6uv1cflYqFxqXsDBl-hD9Tws,16716
|
|
34
|
+
faster_eth_utils/network.py,sha256=hNNjuHyk--R3IZc18sg5CkDhfb_4EVGTp2ol897EPes,2279
|
|
35
|
+
faster_eth_utils/numeric.cpython-312-i386-linux-musl.so,sha256=uHjwPPi13x8hCRPG0ty1J-DcOF_pwISuspJp5iMEbSY,16716
|
|
36
|
+
faster_eth_utils/numeric.py,sha256=RrXdXI-bhhkEsz3aBtxHuGlc_2ZJvUGpvMc47wx408Y,1190
|
|
37
|
+
faster_eth_utils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
+
faster_eth_utils/pydantic.py,sha256=uAm57nCoaCt7-MO_50Df1iGwIKXqrkelGupWPX0AnTU,3516
|
|
39
|
+
faster_eth_utils/toolz.cpython-312-i386-linux-musl.so,sha256=hUV37RxqhOKRQvAYU2JVopJEoXEP1vGvqZTVdWwFseY,16708
|
|
40
|
+
faster_eth_utils/toolz.py,sha256=1QQY-aMbZrEgJsuqR0Ajsa32C_cXrQquzViw7OkxNLU,4410
|
|
41
|
+
faster_eth_utils/types.cpython-312-i386-linux-musl.so,sha256=7Wg0zAIZnn6ohqtB3pcYREg7rutZgOUoiJo3sQLrHUo,16708
|
|
42
|
+
faster_eth_utils/types.py,sha256=4NDkKDAqYrVTeWMCfzMr061qK58Hj06xspsDfrHFL64,1524
|
|
43
|
+
faster_eth_utils/units.cpython-312-i386-linux-musl.so,sha256=6Ch9dusg4dB_2MsEnLUurbA7DtegAnxzyZWWlLjA6C0,16708
|
|
44
|
+
faster_eth_utils/units.py,sha256=jRo8p6trxwuISBnT8kfxTNVyd_TSd5vVY5aiKDefB1U,1757
|
|
45
|
+
faster_eth_utils/__json/eth_networks.json,sha256=0S8HoWD6RTR6Hc0uQdQl2VHtopytIYl5NiDAzpuskBs,414773
|
|
46
|
+
faster_eth_utils/curried/__init__.py,sha256=EGV4ClNphP0MlsP5Ag0mw4G5vBBli_2dKrOzcLMjWJ0,7805
|
|
47
|
+
faster_eth_utils/typing/__init__.py,sha256=84PxIxCvEHtBb-Ik6qnGvXH4alaWbamr_zDbtlbJh3A,325
|
|
48
|
+
faster_eth_utils/typing/misc.py,sha256=4N5raYXFAeRGpmch6qgHrtYNCDxCJM5XtAAsJ1FSzzU,190
|
|
49
|
+
faster_eth_utils-5.3.22.dist-info/METADATA,sha256=s16H_pCIB5dTjSrmIYIssYq-zVBD5Te3TMOZgMw79P8,8906
|
|
50
|
+
faster_eth_utils-5.3.22.dist-info/WHEEL,sha256=Vuwis_LWaa45QUuJ2qqSgABfO0elv3qQohyjTF3DnPc,110
|
|
51
|
+
faster_eth_utils-5.3.22.dist-info/top_level.txt,sha256=wTH6UCItCCvEEiJ9EiOrm0Kn4p4xhB7VdmmTHktoo9Y,51
|
|
52
|
+
faster_eth_utils-5.3.22.dist-info/RECORD,,
|
|
53
|
+
faster_eth_utils-5.3.22.dist-info/licenses/LICENSE,sha256=STqznQ6A8OeJylPrTA7dlsMtH0isQQybRlnDZOKGVrM,1095
|
|
Binary file
|
|
Binary file
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
bce0bfc64ce5e845ec4a__mypyc.cpython-312-i386-linux-musl.so,sha256=8zytAg6VylUqWcviuL4xBO0cyLDsOwl7ChfGXsggN5w,975532
|
|
2
|
-
faster_eth_utils/__init__.py,sha256=hW-A_fjyQ76crTKwuxxSbvNzvPfW27dSlzhtOkseymg,2762
|
|
3
|
-
faster_eth_utils/__main__.py,sha256=mH37e49q7_A0-q1ymqkq1QyYABbQHVmXeuSKIBSahO8,86
|
|
4
|
-
faster_eth_utils/abi.cpython-312-i386-linux-musl.so,sha256=Ueetv8rEOdWb-r_nGqfRYqDz_i7-Gzt_pt0ExpoS5EA,16700
|
|
5
|
-
faster_eth_utils/abi.py,sha256=KFepD4WayZdQBO6BIqPQOhTmx2FpEemUgtEZGQcgZhw,26575
|
|
6
|
-
faster_eth_utils/address.cpython-312-i386-linux-musl.so,sha256=IjwgBN68hTdgtGK_ZYALnkdjun_Kn47RC8wYNjAKRpU,16716
|
|
7
|
-
faster_eth_utils/address.py,sha256=UeecWb0AsQbMsulznjeEZjd_6Kme0ggm01nrNkTsMBo,4150
|
|
8
|
-
faster_eth_utils/applicators.py,sha256=7YkTV70fO2ttTItnQILFyMZV2mC10s_I4gkmT-nv0b8,5166
|
|
9
|
-
faster_eth_utils/conversions.cpython-312-i386-linux-musl.so,sha256=FebGi91srl2NeCTJjeoR-FoIoZ8B5dUKa_VPS-nNuyY,16732
|
|
10
|
-
faster_eth_utils/conversions.py,sha256=t2TEe0WsffqOFDbyQcERTSbHJYpDBWHKd8XPArhLoEE,5665
|
|
11
|
-
faster_eth_utils/crypto.py,sha256=EQgupom_TnURbLNXodwbJoKB-mHyxgOTvo8EjnSzdxw,395
|
|
12
|
-
faster_eth_utils/currency.cpython-312-i386-linux-musl.so,sha256=FpzfINqhqxKBffITEO_RYwoiDYBzw4YCjcMcKB52L7Q,16716
|
|
13
|
-
faster_eth_utils/currency.py,sha256=01YVV2f2GL4830jfSjnC4XhLQjTNQB-5y7vbGzaMWbM,4150
|
|
14
|
-
faster_eth_utils/debug.cpython-312-i386-linux-musl.so,sha256=C8aje8Q1AznNYosnaOA_e1bqjSW_-9pX3qQCdcPOvM0,16708
|
|
15
|
-
faster_eth_utils/debug.py,sha256=0Z-tNOqgQJunS4uHeSCCH1LWLoijlH34MBh6NRrrDrk,499
|
|
16
|
-
faster_eth_utils/decorators.cpython-312-i386-linux-musl.so,sha256=huEhv0yv846LurSePyAA3OhMurgBkNZUuc4ykVR3LPs,16724
|
|
17
|
-
faster_eth_utils/decorators.py,sha256=BdAz-imQIf0TlBm7Di7T05o3IC6ei-xJc7FgIOqqAyE,2145
|
|
18
|
-
faster_eth_utils/encoding.cpython-312-i386-linux-musl.so,sha256=3UYvLKAIDfvqws5C6j400keKpB4eyT82z32P_72blP0,16716
|
|
19
|
-
faster_eth_utils/encoding.py,sha256=1qfDeuinLZ01XjYgknpm_p9LuWwaYvicYkYI8mS1iMc,199
|
|
20
|
-
faster_eth_utils/exceptions.cpython-312-i386-linux-musl.so,sha256=v5u_aEVa2g8RcRTEJ8ZZ6G80FXaS1pwVDZIHwwmPrDg,16724
|
|
21
|
-
faster_eth_utils/exceptions.py,sha256=3ndM6zl4QoSc6GupV9T1Klz9TByM8w2zr4ez8UJvzew,110
|
|
22
|
-
faster_eth_utils/functional.py,sha256=9EHqNRv39Cu9oH5m6j5YoRiKMZZrlBXJdMSJ6jvPwhM,2100
|
|
23
|
-
faster_eth_utils/hexadecimal.cpython-312-i386-linux-musl.so,sha256=nM_y4g1CnDh68pghSJRyk2yA446byCZpTZ6PRXMRkvE,16732
|
|
24
|
-
faster_eth_utils/hexadecimal.py,sha256=bPxUdJse6A3j3vF6KpnvSM2h3eRhgWSWeyicwnLdvHY,2082
|
|
25
|
-
faster_eth_utils/humanize.cpython-312-i386-linux-musl.so,sha256=ndkVG5Qi2g9sGIimZ6_reaA5tRVAG__5RrMvL-Gxci0,16716
|
|
26
|
-
faster_eth_utils/humanize.py,sha256=phQF6T9L4NKMF-Zcdbfl2aoXl4bmebPxcp9tNCf55xo,4736
|
|
27
|
-
faster_eth_utils/logging.py,sha256=Gm0B2D7oDPByi-mNCEwLnl3lAU4_TJ4yc6EsOOJA8Rc,4590
|
|
28
|
-
faster_eth_utils/module_loading.cpython-312-i386-linux-musl.so,sha256=sgRnO7g8sjAWyt5Q5lL5xMM4kGs0VeIqiOW5uy1OFeU,16740
|
|
29
|
-
faster_eth_utils/module_loading.py,sha256=DCLM4dEh1gqr8Ny-FWwD-_pINqeHzbLSupz4ZIpCCAw,842
|
|
30
|
-
faster_eth_utils/network.py,sha256=dZmOPNpwItBf9Wh1UhtVeRz5HTgOVV8uEroDIoCpXkM,2103
|
|
31
|
-
faster_eth_utils/numeric.py,sha256=RrXdXI-bhhkEsz3aBtxHuGlc_2ZJvUGpvMc47wx408Y,1190
|
|
32
|
-
faster_eth_utils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
|
-
faster_eth_utils/pydantic.py,sha256=Bmj9J-Nia0bv5PvaFxxncyW9KrCNtsbDyf2PV4jPmUo,3366
|
|
34
|
-
faster_eth_utils/toolz.py,sha256=MmLq2JOaKUP_n1dz2tuWPyX5YUhWlUtSSbAK8nqt9dg,2617
|
|
35
|
-
faster_eth_utils/types.cpython-312-i386-linux-musl.so,sha256=O1nDEfmUTBewKYHgg3Rm_FUN1sRbghmZxGQ0fcHt4g8,16708
|
|
36
|
-
faster_eth_utils/types.py,sha256=KV36wljucdIz9AMK9R9x26nUdhuZQEH6YaikcVpPPXs,1420
|
|
37
|
-
faster_eth_utils/units.cpython-312-i386-linux-musl.so,sha256=oKfdddmB1FgNdm9sQzxdHXJEL53lkcRfj4Mjq5PqpdA,16708
|
|
38
|
-
faster_eth_utils/units.py,sha256=jRo8p6trxwuISBnT8kfxTNVyd_TSd5vVY5aiKDefB1U,1757
|
|
39
|
-
faster_eth_utils/__json/eth_networks.json,sha256=0S8HoWD6RTR6Hc0uQdQl2VHtopytIYl5NiDAzpuskBs,414773
|
|
40
|
-
faster_eth_utils/curried/__init__.py,sha256=m2EFGuJrU6AmyD71szdkXpnom7i_Kex54CUlQv91s5c,7294
|
|
41
|
-
faster_eth_utils/typing/__init__.py,sha256=84PxIxCvEHtBb-Ik6qnGvXH4alaWbamr_zDbtlbJh3A,325
|
|
42
|
-
faster_eth_utils/typing/misc.py,sha256=4N5raYXFAeRGpmch6qgHrtYNCDxCJM5XtAAsJ1FSzzU,190
|
|
43
|
-
faster_eth_utils-5.3.2.dist-info/METADATA,sha256=bZccCCZwOcHBrxuGypAa1-V7VEoFk9YhPx2AX8EHFoo,6265
|
|
44
|
-
faster_eth_utils-5.3.2.dist-info/WHEEL,sha256=Vuwis_LWaa45QUuJ2qqSgABfO0elv3qQohyjTF3DnPc,110
|
|
45
|
-
faster_eth_utils-5.3.2.dist-info/top_level.txt,sha256=S_L8kl6dn2pcMugOg8hAVuhGnjjvDtXZJ1XwOxuvRbw,55
|
|
46
|
-
faster_eth_utils-5.3.2.dist-info/RECORD,,
|
|
47
|
-
faster_eth_utils-5.3.2.dist-info/licenses/LICENSE,sha256=STqznQ6A8OeJylPrTA7dlsMtH0isQQybRlnDZOKGVrM,1095
|
|
File without changes
|
|
File without changes
|