eth-portfolio-temp 0.2.1.dev0__cp312-cp312-macosx_11_0_arm64.whl → 0.2.2.dev0__cp312-cp312-macosx_11_0_arm64.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 eth-portfolio-temp might be problematic. Click here for more details.
- 295eace8438df6ec133b__mypyc.cpython-312-darwin.so +0 -0
- eth_portfolio/_argspec.cpython-312-darwin.so +0 -0
- eth_portfolio/_config.cpython-312-darwin.so +0 -0
- eth_portfolio/_loaders/_nonce.cpython-312-darwin.so +0 -0
- eth_portfolio/_loaders/balances.cpython-312-darwin.so +0 -0
- eth_portfolio/_loaders/utils.cpython-312-darwin.so +0 -0
- eth_portfolio/_shitcoins.cpython-312-darwin.so +0 -0
- eth_portfolio/_stableish.cpython-312-darwin.so +0 -0
- eth_portfolio/constants.cpython-312-darwin.so +0 -0
- eth_portfolio_scripts/_portfolio.py +29 -26
- eth_portfolio_scripts/balances.cpython-312-darwin.so +0 -0
- eth_portfolio_scripts/balances.py +5 -1
- eth_portfolio_scripts/docker/__init__.cpython-312-darwin.so +0 -0
- eth_portfolio_scripts/docker/check.cpython-312-darwin.so +0 -0
- eth_portfolio_scripts/docker/docker_compose.cpython-312-darwin.so +0 -0
- eth_portfolio_scripts/main.py +6 -0
- {eth_portfolio_temp-0.2.1.dev0.dist-info → eth_portfolio_temp-0.2.2.dev0.dist-info}/METADATA +1 -1
- {eth_portfolio_temp-0.2.1.dev0.dist-info → eth_portfolio_temp-0.2.2.dev0.dist-info}/RECORD +21 -21
- {eth_portfolio_temp-0.2.1.dev0.dist-info → eth_portfolio_temp-0.2.2.dev0.dist-info}/WHEEL +0 -0
- {eth_portfolio_temp-0.2.1.dev0.dist-info → eth_portfolio_temp-0.2.2.dev0.dist-info}/entry_points.txt +0 -0
- {eth_portfolio_temp-0.2.1.dev0.dist-info → eth_portfolio_temp-0.2.2.dev0.dist-info}/top_level.txt +0 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -40,8 +40,10 @@ class ExportablePortfolio(Portfolio):
|
|
|
40
40
|
def __init__(
|
|
41
41
|
self,
|
|
42
42
|
addresses: Addresses,
|
|
43
|
+
*,
|
|
43
44
|
start_block: int = 0,
|
|
44
45
|
label: str = _DEFAULT_LABEL,
|
|
46
|
+
concurrency: int = 60,
|
|
45
47
|
load_prices: bool = True,
|
|
46
48
|
get_bucket: Callable[[ChecksumAddress], Awaitable[str]] = get_token_bucket,
|
|
47
49
|
num_workers_transactions: int = 1000,
|
|
@@ -51,6 +53,7 @@ class ExportablePortfolio(Portfolio):
|
|
|
51
53
|
addresses, start_block, label, load_prices, num_workers_transactions, asynchronous
|
|
52
54
|
)
|
|
53
55
|
self.get_bucket = get_bucket
|
|
56
|
+
self._semaphore = a_sync.Semaphore(concurrency)
|
|
54
57
|
|
|
55
58
|
@cached_property
|
|
56
59
|
def _data_queries(self) -> Tuple[str, str]:
|
|
@@ -88,36 +91,36 @@ class ExportablePortfolio(Portfolio):
|
|
|
88
91
|
except Exception as e:
|
|
89
92
|
log_error("Error processing %s:", dt, exc_info=True)
|
|
90
93
|
|
|
91
|
-
@a_sync.Semaphore(60)
|
|
92
94
|
async def get_data_for_export(self, block: BlockNumber, ts: datetime) -> List[victoria.Metric]:
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
for
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
await self.__process_token(ts, section, wallet, token, bals)
|
|
105
|
-
)
|
|
106
|
-
elif isinstance(section_data, RemoteTokenBalances):
|
|
107
|
-
if section == "external":
|
|
108
|
-
section = "assets"
|
|
109
|
-
for protocol, token_bals in section_data.items():
|
|
110
|
-
for token, bals in dict.items(token_bals):
|
|
95
|
+
async with self._semaphore:
|
|
96
|
+
print(f"exporting {ts} for {self.label}")
|
|
97
|
+
start = datetime.now(tz=timezone.utc)
|
|
98
|
+
|
|
99
|
+
metrics_to_export = []
|
|
100
|
+
data: PortfolioBalances = await self.describe(block, sync=False)
|
|
101
|
+
|
|
102
|
+
for wallet, wallet_data in dict.items(data):
|
|
103
|
+
for section, section_data in wallet_data.items():
|
|
104
|
+
if isinstance(section_data, TokenBalances):
|
|
105
|
+
for token, bals in dict.items(section_data):
|
|
111
106
|
metrics_to_export.extend(
|
|
112
|
-
await self.__process_token(
|
|
113
|
-
ts, section, wallet, token, bals, protocol=protocol
|
|
114
|
-
)
|
|
107
|
+
await self.__process_token(ts, section, wallet, token, bals)
|
|
115
108
|
)
|
|
116
|
-
|
|
117
|
-
|
|
109
|
+
elif isinstance(section_data, RemoteTokenBalances):
|
|
110
|
+
if section == "external":
|
|
111
|
+
section = "assets"
|
|
112
|
+
for protocol, token_bals in section_data.items():
|
|
113
|
+
for token, bals in dict.items(token_bals):
|
|
114
|
+
metrics_to_export.extend(
|
|
115
|
+
await self.__process_token(
|
|
116
|
+
ts, section, wallet, token, bals, protocol=protocol
|
|
117
|
+
)
|
|
118
|
+
)
|
|
119
|
+
else:
|
|
120
|
+
raise NotImplementedError()
|
|
118
121
|
|
|
119
|
-
|
|
120
|
-
|
|
122
|
+
print(f"got data for {ts} in {datetime.now(tz=timezone.utc) - start}")
|
|
123
|
+
return metrics_to_export
|
|
121
124
|
|
|
122
125
|
def __get_data_exists_coros(self, dt: datetime) -> Iterator[str]:
|
|
123
126
|
for query in self._data_queries:
|
|
Binary file
|
|
@@ -26,7 +26,11 @@ async def export_balances(args: Namespace) -> None:
|
|
|
26
26
|
|
|
27
27
|
interval = parse_timedelta(args.interval)
|
|
28
28
|
portfolio = ExportablePortfolio(
|
|
29
|
-
args.wallet,
|
|
29
|
+
args.wallet,
|
|
30
|
+
label=args.label,
|
|
31
|
+
start_block=args.first_tx_block,
|
|
32
|
+
concurrency=args.concurrency,
|
|
33
|
+
load_prices=False,
|
|
30
34
|
)
|
|
31
35
|
|
|
32
36
|
if export_start_block := args.export_start_block or args.first_tx_block:
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
eth_portfolio_scripts/main.py
CHANGED
|
@@ -54,6 +54,12 @@ export_parser.add_argument(
|
|
|
54
54
|
help="The time interval between datapoints. default: 6h",
|
|
55
55
|
default="6h",
|
|
56
56
|
)
|
|
57
|
+
export_parser.add_argument(
|
|
58
|
+
"--concurrency",
|
|
59
|
+
type=int,
|
|
60
|
+
help="The max number of historical blocks to export concurrently. default: 60",
|
|
61
|
+
default=60,
|
|
62
|
+
)
|
|
57
63
|
export_parser.add_argument(
|
|
58
64
|
"--first-tx-block",
|
|
59
65
|
type=int,
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
295eace8438df6ec133b__mypyc.cpython-312-darwin.so,sha256=
|
|
1
|
+
295eace8438df6ec133b__mypyc.cpython-312-darwin.so,sha256=vA2Qcv4ZOzgle7x5oOD9BfAP5SX2mG1DSZi8TW_Ka3Y,670224
|
|
2
|
+
eth_portfolio_temp-0.2.2.dev0.dist-info/RECORD,,
|
|
3
|
+
eth_portfolio_temp-0.2.2.dev0.dist-info/WHEEL,sha256=V1loQ6TpxABu1APUg0MoTRBOzSKT5xVc3skizX-ovCU,136
|
|
4
|
+
eth_portfolio_temp-0.2.2.dev0.dist-info/entry_points.txt,sha256=yqoC6X3LU1NA_-oJ6mloEYEPNmS-0hPS9OtEwgIeDGU,66
|
|
5
|
+
eth_portfolio_temp-0.2.2.dev0.dist-info/top_level.txt,sha256=CmTLi8Lvs3RulV5ZNdziaDVvF_WRsgRpM17GSMECxrg,64
|
|
6
|
+
eth_portfolio_temp-0.2.2.dev0.dist-info/METADATA,sha256=O5Y4EOxRYl5K1a1VJU_lRk_Ak1bEn-shaJLH3whBfB4,779
|
|
2
7
|
eth_portfolio/address.py,sha256=LvBh4Vp2DBC3gQ0WD-TZ6jfe9s6FZbET1krYG9_KMAA,14139
|
|
3
8
|
eth_portfolio/_cache.py,sha256=PYkR-yExjuwd_t7swv4euxL2daJ-VFwh3EMb3MciRJE,4745
|
|
4
|
-
eth_portfolio/_shitcoins.cpython-312-darwin.so,sha256=
|
|
9
|
+
eth_portfolio/_shitcoins.cpython-312-darwin.so,sha256=8E-SSQhmn303pRwzqzv7TsVKZgHcMpQfyso6QzhjzKk,50656
|
|
5
10
|
eth_portfolio/_argspec.py,sha256=VzUZkbDkmOSgNUZBGbGblqtxBfDcmBAB89dY2OX0j-U,1595
|
|
6
|
-
eth_portfolio/constants.cpython-312-darwin.so,sha256=
|
|
11
|
+
eth_portfolio/constants.cpython-312-darwin.so,sha256=k7GvKWShocbw5hW2iM-gv_3EV867CgeUpSF-Xpv0VC4,50656
|
|
7
12
|
eth_portfolio/_submodules.py,sha256=J8ht9bAAvblUXqwOGN7UIOXUPxrTiq7m1RWiB0-ObaE,2190
|
|
8
13
|
eth_portfolio/constants.py,sha256=LS9H2P_Qfcreb6z6NknErxvq6OAtIHbHykXy0spol9E,3659
|
|
9
14
|
eth_portfolio/__init__.py,sha256=0sO4cSJaLYwJfnfVOJRFw7p5_Lzhsr95YuJ1aNQM83A,500
|
|
10
15
|
eth_portfolio/_decimal.py,sha256=nuUl6DZHCtrbBN7snwvs4LLaoJ5k7mn3dt4qmlFCkTU,4731
|
|
11
16
|
eth_portfolio/buckets.py,sha256=QwdqWzW9iWBmRcJ2aktRtL-obvtBnND179krY5ISbhY,6695
|
|
12
17
|
eth_portfolio/_decorators.py,sha256=_ZSurUFEIwZRiMFMhLcIXkD-Ey1CqfBqGaE24hLzOuA,2815
|
|
13
|
-
eth_portfolio/_stableish.cpython-312-darwin.so,sha256=
|
|
18
|
+
eth_portfolio/_stableish.cpython-312-darwin.so,sha256=W1Csmt2pUVm_V39QrR2OFzyjYdEdiQOd7GYX6uBDQ8M,50656
|
|
14
19
|
eth_portfolio/_stableish.py,sha256=VTv69Q91AHxbNbbY0LB4PFwKEseHdkE4_6fLPKH1uW0,2021
|
|
15
20
|
eth_portfolio/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
21
|
eth_portfolio/_shitcoins.py,sha256=FrqttZzQdheTAabdIK0oVHayqHF0UkLQLEiMz8njQe0,15563
|
|
@@ -18,15 +23,15 @@ eth_portfolio/_config.py,sha256=mw-OA3M8rUA2hqy5wNt30AZRHkWFgR8K2sJg0o5Baxg,98
|
|
|
18
23
|
eth_portfolio/_exceptions.py,sha256=bw3IdXhqrWxeFqYLm7pJZqRHKZas_cCg8A5Ih1WQEqQ,2433
|
|
19
24
|
eth_portfolio/portfolio.py,sha256=KljK3FZQMtRQLs1D-HHgCN-DVoZ6ZzEdmclmF3__oz0,24243
|
|
20
25
|
eth_portfolio/_utils.py,sha256=10In2lr0QmfiavyeA4Z8wDTuujRVmjcc0cd-o71JEBg,7742
|
|
21
|
-
eth_portfolio/_config.cpython-312-darwin.so,sha256=
|
|
22
|
-
eth_portfolio/_argspec.cpython-312-darwin.so,sha256=
|
|
23
|
-
eth_portfolio/_loaders/balances.cpython-312-darwin.so,sha256=
|
|
26
|
+
eth_portfolio/_config.cpython-312-darwin.so,sha256=Arcck4z1bb1u-ZH1-HkR63vUGOxs7kxDEbrphklbG8A,50640
|
|
27
|
+
eth_portfolio/_argspec.cpython-312-darwin.so,sha256=3ifL37aZqGjy4EfYYS3BGlQ50kn1bgRw-LCnsry1kp8,50640
|
|
28
|
+
eth_portfolio/_loaders/balances.cpython-312-darwin.so,sha256=dVoUy2Vias1RA1WZsyHfXdDzjLNVtKFCJjZok1K1ALM,50656
|
|
24
29
|
eth_portfolio/_loaders/transaction.py,sha256=FEYdoNDCgD6-mqZT9MuyYIEkdhG3iUwyNeMmqjpMGJw,9146
|
|
25
|
-
eth_portfolio/_loaders/utils.cpython-312-darwin.so,sha256=
|
|
30
|
+
eth_portfolio/_loaders/utils.cpython-312-darwin.so,sha256=sitetWKzh8FJrTyRfoIrQztOLQlnvfVdASzHLYSN-rg,50648
|
|
26
31
|
eth_portfolio/_loaders/__init__.py,sha256=lb45_0ak32Z7N3-Nx1CAoRKiZ1_w-_YGbmSCNuunro8,1702
|
|
27
32
|
eth_portfolio/_loaders/_nonce.py,sha256=cx0EjTAhVU2EudMKSO-7-t1jl3y4dYn6as4XiY6KyS8,6285
|
|
28
33
|
eth_portfolio/_loaders/utils.py,sha256=my3Wg2Ip5gSWuzAWcoLQQEmVmAPhIHbBzQQc0iP1iCA,2258
|
|
29
|
-
eth_portfolio/_loaders/_nonce.cpython-312-darwin.so,sha256=
|
|
34
|
+
eth_portfolio/_loaders/_nonce.cpython-312-darwin.so,sha256=aDpftnI9_8QGn1MmlMq71LaiBAUk2mHuuyXpPvGzMB8,50656
|
|
30
35
|
eth_portfolio/_loaders/balances.py,sha256=BTWfkJIoSraUMe94Wuj8NPyg5EO0OByIjbXu7j6PZEo,3132
|
|
31
36
|
eth_portfolio/_loaders/token_transfer.py,sha256=MEw95D2iKBYa_9vIatCHJGe7zEJuYUEC8P1mTjjRXlo,8524
|
|
32
37
|
eth_portfolio/_ydb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -55,27 +60,22 @@ eth_portfolio/protocols/lending/__init__.py,sha256=BZtCOglz6R12wqETlECbCEITdtIT9
|
|
|
55
60
|
eth_portfolio/protocols/lending/README.md,sha256=OhZfsW8e-aD-q02g0maG9QGgW0IietkDRZc7PBakBvc,493
|
|
56
61
|
eth_portfolio/protocols/lending/compound.py,sha256=bqnIevm7NWhk6nMfkMZUKlQuVWr-tXnuntX-4De1YZM,7252
|
|
57
62
|
eth_portfolio/protocols/lending/unit.py,sha256=7oRvIkoKUm8IOnDv59pILSSJWFNNjwr4CR1gg2psW9M,1965
|
|
58
|
-
eth_portfolio_temp-0.2.1.dev0.dist-info/RECORD,,
|
|
59
|
-
eth_portfolio_temp-0.2.1.dev0.dist-info/WHEEL,sha256=V1loQ6TpxABu1APUg0MoTRBOzSKT5xVc3skizX-ovCU,136
|
|
60
|
-
eth_portfolio_temp-0.2.1.dev0.dist-info/entry_points.txt,sha256=yqoC6X3LU1NA_-oJ6mloEYEPNmS-0hPS9OtEwgIeDGU,66
|
|
61
|
-
eth_portfolio_temp-0.2.1.dev0.dist-info/top_level.txt,sha256=CmTLi8Lvs3RulV5ZNdziaDVvF_WRsgRpM17GSMECxrg,64
|
|
62
|
-
eth_portfolio_temp-0.2.1.dev0.dist-info/METADATA,sha256=5GTbcM4x4Qh82t2ZCdoMIFyvWiUmozo54sjQJxdp4QA,779
|
|
63
63
|
eth_portfolio_scripts/_logging.py,sha256=B_rQMYt_1PhpwCOLBRpkKK6M1ljcF0wAIgqfPIsFUGU,354
|
|
64
|
-
eth_portfolio_scripts/balances.cpython-312-darwin.so,sha256
|
|
64
|
+
eth_portfolio_scripts/balances.cpython-312-darwin.so,sha256=-6RMffp9NVGZ89etBwEc6t7G_CXAd7mp45lYMEQaqL4,50656
|
|
65
65
|
eth_portfolio_scripts/_args.py,sha256=k6J6XkRe1VuN1DiyGuXLCR7NBSvzH5jnVChfzodKuB8,656
|
|
66
66
|
eth_portfolio_scripts/__init__.py,sha256=TC5c4WZdzSHhTIBYuwzrAyzFuGzBmHiDX_g6ghO09jQ,261
|
|
67
|
-
eth_portfolio_scripts/_portfolio.py,sha256=
|
|
67
|
+
eth_portfolio_scripts/_portfolio.py,sha256=36n8DE9OfHvdF0ez12yzWpxI7at6_eo3eno7V_YYu3A,6932
|
|
68
68
|
eth_portfolio_scripts/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
69
|
-
eth_portfolio_scripts/balances.py,sha256=
|
|
70
|
-
eth_portfolio_scripts/main.py,sha256=
|
|
69
|
+
eth_portfolio_scripts/balances.py,sha256=m0w2SbFChvOAnxUIKavgdnaq-DS01KimzDqmFV5apJs,1587
|
|
70
|
+
eth_portfolio_scripts/main.py,sha256=vafXy4JvNWrP203AgCRcSKHMsOSCC7VVj9zBd_BFYZU,3685
|
|
71
71
|
eth_portfolio_scripts/_utils.py,sha256=qyct1Mwf2-1DYj7BUWt2bocUfGKMap1l9sxUfHAjER0,2538
|
|
72
|
-
eth_portfolio_scripts/docker/__init__.cpython-312-darwin.so,sha256=
|
|
72
|
+
eth_portfolio_scripts/docker/__init__.cpython-312-darwin.so,sha256=Xa3_BKLx4Y4SpGCsy7hGU9ju4bcSSmecRPawJU-lNyE,50656
|
|
73
73
|
eth_portfolio_scripts/docker/docker-compose.yaml,sha256=pQ4eesSfMtcb9muDFT5TFDqZty15BoC2Rrd8HY0LS04,1809
|
|
74
74
|
eth_portfolio_scripts/docker/docker_compose.py,sha256=K7_Y_8NeN5s0pb9WUamgfi9OppjpaU0Mlz2nDzewcRA,2226
|
|
75
75
|
eth_portfolio_scripts/docker/check.py,sha256=E6_Ar4dr6HfVAgpwoDPcObIolikHKQr8VFkH01sOuIM,1745
|
|
76
76
|
eth_portfolio_scripts/docker/__init__.py,sha256=ZXSIYcjp94c0O9o39BDGWju3YrCMLl4gtov7YChc9Ig,393
|
|
77
|
-
eth_portfolio_scripts/docker/docker_compose.cpython-312-darwin.so,sha256=
|
|
78
|
-
eth_portfolio_scripts/docker/check.cpython-312-darwin.so,sha256
|
|
77
|
+
eth_portfolio_scripts/docker/docker_compose.cpython-312-darwin.so,sha256=uJjmC3zY2F6ogFK-s23WwfDlDNvVUaXhjxG5vn_hpSo,50712
|
|
78
|
+
eth_portfolio_scripts/docker/check.cpython-312-darwin.so,sha256=PTf2NqLxiEdcC6ePMBVIPfWw85ZyXPHsBghuAOjNoGg,50664
|
|
79
79
|
eth_portfolio_scripts/docker/.grafana/datasources/datasources.yml,sha256=pBE_0Nh_J7d9Fiy3Xu6vuac_HWCBcFsJJSV-ryjQR1Y,188
|
|
80
80
|
eth_portfolio_scripts/docker/.grafana/dashboards/dashboards.yaml,sha256=MynNDOk69IihoYdd2bL7j8CnRb2Co4gdqW7T4m6AaEU,202
|
|
81
81
|
eth_portfolio_scripts/docker/.grafana/dashboards/Portfolio/Balances.json,sha256=dBmjogLJRuixCHWSs4ROE0_FXb-PUbqWBHEdLoP-1MU,68788
|
|
File without changes
|
{eth_portfolio_temp-0.2.1.dev0.dist-info → eth_portfolio_temp-0.2.2.dev0.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{eth_portfolio_temp-0.2.1.dev0.dist-info → eth_portfolio_temp-0.2.2.dev0.dist-info}/top_level.txt
RENAMED
|
File without changes
|