cryptodatapy 0.2.8__py3-none-any.whl → 0.2.9__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.
@@ -11,7 +11,6 @@ class Library(ABC):
11
11
  Library is an abstract base class which provides a blueprint for properties and methods for the
12
12
  library subclass.
13
13
  """
14
-
15
14
  def __init__(
16
15
  self,
17
16
  categories,
@@ -400,8 +399,7 @@ class Library(ABC):
400
399
 
401
400
  @staticmethod
402
401
  @abstractmethod
403
- def wrangle_data_resp(data_req: DataRequest, data_resp: Union[Dict[str, Any], pd.DataFrame]) \
404
- -> pd.DataFrame:
402
+ def wrangle_data_resp(data_req: DataRequest, data_resp: Union[Dict[str, Any], pd.DataFrame]) -> pd.DataFrame:
405
403
  """
406
404
  Wrangles data response from data vendor API into tidy format.
407
405
  """
@@ -46,6 +46,11 @@ class Web(ABC):
46
46
  def categories(self, categories: Union[str, List[str]]):
47
47
  """
48
48
  Sets a list of available categories for the data vendor.
49
+
50
+ Parameters
51
+ ----------
52
+ categories : Union[str, List[str]]
53
+ A string or list of strings containing the categories to filter the data vendor's data.
49
54
  """
50
55
  valid_categories = [
51
56
  None,
@@ -89,6 +94,11 @@ class Web(ABC):
89
94
  def indexes(self, indexes: Optional[Union[str, List[str], Dict[str, List[str]]]]):
90
95
  """
91
96
  Sets a list of available indexes for the web page.
97
+
98
+ Parameters
99
+ ----------
100
+ indexes : Optional[Union[str, List[str], Dict[str, List[str]]]
101
+ A string, list of strings, or dict containing the indexes to filter the web page's data.
92
102
  """
93
103
  if indexes is None or isinstance(indexes, list) or isinstance(indexes, dict):
94
104
  self._indexes = indexes
@@ -118,6 +128,11 @@ class Web(ABC):
118
128
  def assets(self, assets: Optional[Union[str, List[str], Dict[str, List[str]]]]):
119
129
  """
120
130
  Sets a list of available assets for the data vendor.
131
+
132
+ Parameters
133
+ ----------
134
+ assets : Optional[Union[str, List[str], Dict[str, List[str]]]
135
+ A string, list of strings, or dict containing the assets to filter the data vendor's data.
121
136
  """
122
137
  if assets is None or isinstance(assets, list) or isinstance(assets, dict):
123
138
  self._assets = assets
@@ -147,6 +162,11 @@ class Web(ABC):
147
162
  def markets(self, markets: Optional[Union[str, List[str], Dict[str, List[str]]]]):
148
163
  """
149
164
  Sets a list of available markets for the data vendor.
165
+
166
+ Parameters
167
+ ----------
168
+ markets : Optional[Union[str, List[str], Dict[str, List[str]]]
169
+ A string, list of strings, or dict containing the markets to filter the data vendor's data.
150
170
  """
151
171
  if markets is None or isinstance(markets, list) or isinstance(markets, dict):
152
172
  self._markets = markets
@@ -176,6 +196,11 @@ class Web(ABC):
176
196
  def market_types(self, market_types: Optional[Union[str, List[str]]]):
177
197
  """
178
198
  Sets a list of available market types for the data vendor.
199
+
200
+ Parameters
201
+ ----------
202
+ market_types : Optional[Union[str, List[str]]
203
+ A string or list of strings containing the market types to filter the data vendor's data.
179
204
  """
180
205
  valid_mkt_types, mkt_types_list = [
181
206
  None,
@@ -214,6 +239,11 @@ class Web(ABC):
214
239
  def fields(self, fields: Optional[Union[str, List[str], Dict[str, List[str]]]]):
215
240
  """
216
241
  Sets a list of available fields for the data vendor.
242
+
243
+ Parameters
244
+ ----------
245
+ fields : Optional[Union[str, List[str], Dict[str, List[str]]]
246
+ A string, list of strings, or dict containing the fields to filter the data vendor's data.
217
247
  """
218
248
  if fields is None or isinstance(fields, list) or isinstance(fields, dict):
219
249
  self._fields = fields
@@ -229,6 +259,11 @@ class Web(ABC):
229
259
  def get_fields_info(self, data_type: Optional[str]):
230
260
  """
231
261
  Gets info for available fields from the data vendor.
262
+
263
+ Parameters
264
+ ----------
265
+ data_type : Optional[str]
266
+ A string containing the data type to filter the data vendor's fields
232
267
  """
233
268
  # to be implemented by subclasses
234
269
 
@@ -245,6 +280,11 @@ class Web(ABC):
245
280
  ):
246
281
  """
247
282
  Sets a list of available data frequencies for the data vendor.
283
+
284
+ Parameters
285
+ ----------
286
+ frequencies : Optional[Union[str, List[str], Dict[str, List[str]]]
287
+ A string, list of strings, or dict containing the frequencies to filter the data vendor's data.
248
288
  """
249
289
  if (
250
290
  frequencies is None
@@ -271,6 +311,11 @@ class Web(ABC):
271
311
  def base_url(self, url: Optional[str]):
272
312
  """
273
313
  Sets the base url for the data vendor.
314
+
315
+ Parameters
316
+ ----------
317
+ url : Optional[str]
318
+ A string containing the data vendor's base URL to which endpoint paths are appended.
274
319
  """
275
320
  if url is None or isinstance(url, str):
276
321
  self._base_url = url
@@ -291,6 +336,11 @@ class Web(ABC):
291
336
  def file_formats(self, formats: Optional[Union[str, List[str]]]):
292
337
  """
293
338
  Sets the file formats for the files on the web page.
339
+
340
+ Parameters
341
+ ----------
342
+ formats : Optional[Union[str, List[str]]
343
+ A string or list of strings containing the file formats for the web page's data files.
294
344
  """
295
345
  if formats is None or isinstance(formats, list):
296
346
  self._file_formats = formats
@@ -305,6 +355,11 @@ class Web(ABC):
305
355
  def get_data(self, data_req: DataRequest) -> pd.DataFrame:
306
356
  """
307
357
  Submits get data request to API.
358
+
359
+ Parameters
360
+ ----------
361
+ data_req : DataRequest
362
+ A DataRequest object containing the request parameters.
308
363
  """
309
364
  # to be implemented by subclasses
310
365
 
@@ -313,5 +368,12 @@ class Web(ABC):
313
368
  def wrangle_data_resp(data_req: DataRequest, data_resp: Union[Dict[str, Any], pd.DataFrame]) -> pd.DataFrame:
314
369
  """
315
370
  Wrangles data response from data vendor API into tidy format.
371
+
372
+ Parameters
373
+ ----------
374
+ data_req : DataRequest
375
+ A DataRequest object containing the request parameters.
376
+ data_resp : Union[Dict[str, Any], pd.DataFrame]
377
+ A dictionary or DataFrame containing the data response from the data vendor API.
316
378
  """
317
379
  # to be implemented by subclasses
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cryptodatapy
3
- Version: 0.2.8
3
+ Version: 0.2.9
4
4
  Summary: Cryptoasset data library
5
5
  License: Apache-2.0
6
6
  Author: Systamental
@@ -1,7 +1,6 @@
1
1
  cryptodatapy/__init__.py,sha256=ee1UaINHZn1A_SZ96XM3hCguQEJgiPTvKlnYsk3mmS4,185
2
2
  cryptodatapy/conf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  cryptodatapy/conf/fields.csv,sha256=Xjs_sWIY4DuhdHlWOPo0pgDC8sHYA6xzf6kb0PuUp9w,25735
4
- cryptodatapy/conf/fx_tickers.csv,sha256=vqbY93_6Zi4vXg8iu0veXZ-NDm_NV2rrmb5lNYRqNUA,288
5
4
  cryptodatapy/conf/tickers.csv,sha256=Bs9KfDKawoUPKIQZMN8CtoLYJuzOkwLh2il30c8CsqE,357066
6
5
  cryptodatapy/datasets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
6
  cryptodatapy/datasets/br_econ_calendar.csv,sha256=mSM0IOIByI-0gIIL1CbDQPqHYI5lK6vavrY1ODj3Jlk,1185318
@@ -27,47 +26,37 @@ cryptodatapy/extract/data_vendors/.ipynb_checkpoints/DBNomics-checkpoint.ipynb,s
27
26
  cryptodatapy/extract/data_vendors/.ipynb_checkpoints/InvestPy-checkpoint.ipynb,sha256=ybcHKXzmmlTYEoxC-qkWmd0Pjn1WjJ5CMPvMVotqJ7o,50215
28
27
  cryptodatapy/extract/data_vendors/.ipynb_checkpoints/NasdaqDataLink-checkpoint.ipynb,sha256=hY2QkCcTiLgPnl8SQPsO8spio5-RBMGeBLYzAwgSWb4,147170
29
28
  cryptodatapy/extract/data_vendors/.ipynb_checkpoints/PandasDataReader-checkpoint.ipynb,sha256=n7vzOV6AxC_Ti5CLWW2ABMEEcbbBpiBBs4qTUBQinIg,24171
30
- cryptodatapy/extract/data_vendors/CoinMetrics.ipynb,sha256=OtepxnBvt2DMCJpPFcY0kGhMRcKhw8ArSL85Cd3oO10,24923
31
29
  cryptodatapy/extract/data_vendors/__init__.py,sha256=Nk6gcT43d0XOLfrlVA9r--5mvHCgHfq295IKL3Puu74,354
32
30
  cryptodatapy/extract/data_vendors/coinmetrics_api.py,sha256=2fnsgKkBWjzMa1jzfVa7UbJKTpMWzcFVjo0bKDEud8U,34991
33
31
  cryptodatapy/extract/data_vendors/cryptocompare_api.py,sha256=3oBfQioBz1vrs9JNtwE0hBLI4BTtpFBBEEsDawmobE8,28872
34
32
  cryptodatapy/extract/data_vendors/datavendor.py,sha256=kGKxHcPng6JiGGhcuPx87ij0DXl4E-OSqxlvxhJ1HQo,12642
35
33
  cryptodatapy/extract/data_vendors/glassnode_api.py,sha256=PuuJOjHztoJyFijb5XU1zm1S_2NAj7MX-wC89DL_bWQ,13103
36
34
  cryptodatapy/extract/data_vendors/tiingo_api.py,sha256=Bvj5nF8zCkpU3cf5ImUmCS1cd1w2UtjgQvRmQ9Wfg6g,26404
37
- cryptodatapy/extract/datarequest.py,sha256=gwYhodt_Du12mmH_4qdROZb6ics_8-KpaG-2RxjyXnU,25880
35
+ cryptodatapy/extract/datarequest.py,sha256=Yi1pVe-ljv_su6kwEw5uylhG3XtneujBaNS2pmAIyk0,25879
36
+ cryptodatapy/extract/exchanges/__init__.py,sha256=VKTNzrbe-wltGHWH9lK5RLZoXCGHp-UGGZ4gMVHJXrQ,113
37
+ cryptodatapy/extract/exchanges/dydx.py,sha256=Oifb4sKbPRKArdZBx9q5ob4yTFkd65n0zXiS7hga0mk,4199
38
+ cryptodatapy/extract/exchanges/exchange.py,sha256=Cicj3KS4zLbwmXX5fu89byXNwqqU4TH31GFv0zj3D4s,13010
38
39
  cryptodatapy/extract/getdata.py,sha256=HzWQyacfmphms97LVKbx1gEgcgsQJViBT4BBxL9TBXk,8703
39
- cryptodatapy/extract/libraries/Untitled.ipynb,sha256=qW8zLbpXG-AeJ4Vlo6-0AbrTBlM5Y4PMDz9-1TGb5QM,1218203
40
40
  cryptodatapy/extract/libraries/__init__.py,sha256=9rJ_hFHWlvkPwyIkNG5bqH6HTY2jQNPIKQjzYEsVSDo,319
41
- cryptodatapy/extract/libraries/ccxt.ipynb,sha256=O-xkr_jtRBY4kuKWek61UOLaU5AiyNRM7AnquNLUjFs,22865
42
- cryptodatapy/extract/libraries/ccxt_api.py,sha256=nHkNeOKAL2KEvbY-ZI-ZgTlO5v15k9KnqODPiMM5zWw,35865
41
+ cryptodatapy/extract/libraries/ccxt_api.py,sha256=GK5sAD9f-7bo_HFjxmMrMl6gUTVfAi9B0ilKD4cRgvA,52975
43
42
  cryptodatapy/extract/libraries/dbnomics_api.py,sha256=M6kPIH-hKqkmeBQb-g56dY9jatqLCtSl_MnvPblHtAc,9421
44
43
  cryptodatapy/extract/libraries/investpy_api.py,sha256=qtGm3LDluXxJorvFv0w1bm1oBrcZIfE5cZSYzNYvttY,18409
45
- cryptodatapy/extract/libraries/library.py,sha256=070YsO1RJzm4z_enhCjqe5hrj8qsk-Ni0Q_QKoAwQ6U,12316
44
+ cryptodatapy/extract/libraries/library.py,sha256=eU8NnQZ9luLGdIF5hms6j8VPCWc50evkREc4xdh-g1I,12301
46
45
  cryptodatapy/extract/libraries/pandasdr_api.py,sha256=-62P0W0Pa98f-96nB_bDgDkPFshP8yiqKZ9VU-usv94,13696
47
- cryptodatapy/extract/libraries/yfinance_api.py,sha256=E4c8gIpDh5ta8ILsn9SBs3C1pOU1VP4OqwQb6TcOzCc,17311
48
46
  cryptodatapy/extract/web/__init__.py,sha256=8i0fweCeqSpdiPf-47jT240I4ca6SizCu9aD-qDS67w,89
49
47
  cryptodatapy/extract/web/aqr.py,sha256=LS1D7QzG6UWkLUfDMgBFtiHpznnnAUOpec5Sx3vRGME,11875
50
- cryptodatapy/extract/web/web.py,sha256=27cAzlIyYn6R29726J7p9NhSwHypas9EQSjHLILtcjk,9748
48
+ cryptodatapy/extract/web/web.py,sha256=R1xEnHE1McxSWxp4vrTfgh9gW6FF6XDlp0gmp2NmWOM,12126
51
49
  cryptodatapy/transform/__init__.py,sha256=Spb5cGJ3V_o8hgSWOSrF8J_vsSZpFk0uzW7RpkgfbFE,131
52
- cryptodatapy/transform/cc_onchain_data.csv,sha256=qA9u3hekHk_NueBlMYQ7IKATh7AlnY-EN9E9X-9kIsU,9544500
53
50
  cryptodatapy/transform/clean.py,sha256=C9VypQOjdJ987TcD-qAHh7qYaoJBotvp3cWTr3ttSGM,12807
54
- cryptodatapy/transform/clean_onchain_data.ipynb,sha256=WrVPs8_WVKEgL6XRvGUATzeinqGUDTbXv_CHivg0nXg,687176
55
- cryptodatapy/transform/clean_perp_futures_ohlcv.ipynb,sha256=3TFTG6riUfu5f0uYvlMC44iUtQRd27sQPxBMXBXzp6A,72758
56
- cryptodatapy/transform/cmdty_data.ipynb,sha256=McAMfzNDfrv61gSlzFOkw_DXaOGZE1qfqXc2E_KeSbs,1220371
57
51
  cryptodatapy/transform/convertparams.py,sha256=X80Hdi2AMHVSYTJ6i-ovOzv5L6JQlGswJlC82xCriX8,39687
58
- cryptodatapy/transform/credit_data.ipynb,sha256=Wvvnu9ejsmqCb0s3cTG8bLJaywWQCskgk6FBd5J5Vf8,1892822
59
- cryptodatapy/transform/eqty_data.ipynb,sha256=A5cA13hOPrOe7Fra0HL4QPFkJGVfArigTR0GUUBpQ3A,25609
60
52
  cryptodatapy/transform/filter.py,sha256=iQDUXthEXVGcrZUZLjevhDqwf9oywEQHTIh6n_sxOhU,9056
61
- cryptodatapy/transform/global_credit_data_daily.parquet ,sha256=Dw27SX41AeSYcZyYlrGbwVe8KZM6c35TQ-gzCd2gU2I,745732
62
53
  cryptodatapy/transform/impute.py,sha256=c7qdgFg0qs_xuQnX0jazpt0wgASC0KElLZRuxTkeVKY,5519
63
54
  cryptodatapy/transform/od.py,sha256=z__CWiN70f1leqx12SS9pIvTggxpUPrg1falJIKMZCc,31031
64
- cryptodatapy/transform/rates_data.ipynb,sha256=olKY4t2j4sfjsCYlhupTgaviC6922HHGBr-y3f80qjQ,13358
65
- cryptodatapy/transform/us_rates_daily.csv,sha256=BIA4a6egQYrVsLk51IZ54ZXXWMwjrx_t5S4XMdvHg44,6434830
66
55
  cryptodatapy/transform/wrangle.py,sha256=KqPIY7akFtHasW5gqUNR1cCGMBBkgHmzWxyMZFw8t-Q,42564
67
56
  cryptodatapy/util/__init__.py,sha256=zSQ2HU2QIXzCuptJjknmrClwtQKCvIj4aNysZljIgrU,116
68
57
  cryptodatapy/util/datacatalog.py,sha256=qCCX6srXvaAbVAKuA0M2y5IK_2OEx5xA3yRahDZlC-g,13157
69
58
  cryptodatapy/util/datacredentials.py,sha256=fXuGgI2NKCLlcnK8M37CtdyAc3O_YCV23x3KTlfakjA,2160
70
- cryptodatapy-0.2.8.dist-info/LICENSE,sha256=sw4oVq8bDjT3uMtaFebQ-xeIVP4H-bXldTs9q-Jjeks,11344
71
- cryptodatapy-0.2.8.dist-info/METADATA,sha256=8Xb8H8X_moxjtR263dEucMEecr5UpausfU7fH_Ne0w0,6426
72
- cryptodatapy-0.2.8.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
73
- cryptodatapy-0.2.8.dist-info/RECORD,,
59
+ cryptodatapy-0.2.9.dist-info/LICENSE,sha256=sw4oVq8bDjT3uMtaFebQ-xeIVP4H-bXldTs9q-Jjeks,11344
60
+ cryptodatapy-0.2.9.dist-info/METADATA,sha256=WwkoejYYowxSvY5WYs2-n1rb-4B3qdz-hFCFcFyJjZE,6426
61
+ cryptodatapy-0.2.9.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
62
+ cryptodatapy-0.2.9.dist-info/RECORD,,
@@ -1,31 +0,0 @@
1
- id,name,tiingo_id
2
- eurusd,,
3
- gbpusd,,
4
- usdjpy,,
5
- usdchf,,
6
- usdcad,,
7
- usdsek,,
8
- usdnok,,
9
- audusd,,
10
- nzdusd,,
11
- usdars,,
12
- usdmxn,,
13
- usdbrl,,
14
- usdcop,,
15
- usdclp,,
16
- usdpen,,
17
- usdils,,
18
- usdrub,,
19
- usdczk,,
20
- usdpln,,
21
- usdhuf,,
22
- usdzar,,
23
- usdtry,,
24
- usdcny,,
25
- usdhkd,,
26
- usdsgd,,
27
- usdtwd,,
28
- usdkrw,,
29
- usdphp,,
30
- usdinr,,
31
- usdidr,,