cryptodatapy 0.2.5__py3-none-any.whl → 0.2.7__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.
- cryptodatapy/conf/fields.csv +1 -1
- cryptodatapy/conf/tickers.csv +0 -1
- cryptodatapy/extract/data_vendors/CoinMetrics.ipynb +747 -0
- cryptodatapy/extract/data_vendors/coinmetrics_api.py +279 -209
- cryptodatapy/extract/data_vendors/cryptocompare_api.py +3 -5
- cryptodatapy/extract/data_vendors/datavendor.py +32 -12
- cryptodatapy/extract/data_vendors/glassnode_api.py +3 -2
- cryptodatapy/extract/data_vendors/tiingo_api.py +3 -2
- cryptodatapy/extract/datarequest.py +197 -36
- cryptodatapy/extract/libraries/Untitled.ipynb +33 -0
- cryptodatapy/extract/libraries/ccxt.ipynb +628 -754
- cryptodatapy/extract/libraries/ccxt_api.py +630 -346
- cryptodatapy/extract/libraries/pandasdr_api.py +13 -12
- cryptodatapy/extract/libraries/yfinance_api.py +511 -0
- cryptodatapy/transform/cc_onchain_data.csv +118423 -0
- cryptodatapy/transform/clean.py +17 -15
- cryptodatapy/transform/clean_onchain_data.ipynb +4750 -0
- cryptodatapy/transform/clean_perp_futures_ohlcv.ipynb +1712 -1097
- cryptodatapy/transform/cmdty_data.ipynb +402 -0
- cryptodatapy/transform/convertparams.py +139 -181
- cryptodatapy/transform/credit_data.ipynb +291 -0
- cryptodatapy/transform/eqty_data.ipynb +836 -0
- cryptodatapy/transform/filter.py +13 -10
- cryptodatapy/transform/global_credit_data_daily.parquet +0 -0
- cryptodatapy/transform/od.py +1 -0
- cryptodatapy/transform/rates_data.ipynb +465 -0
- cryptodatapy/transform/us_rates_daily.csv +227752 -0
- cryptodatapy/transform/wrangle.py +109 -20
- cryptodatapy/util/datacredentials.py +28 -7
- {cryptodatapy-0.2.5.dist-info → cryptodatapy-0.2.7.dist-info}/METADATA +10 -7
- {cryptodatapy-0.2.5.dist-info → cryptodatapy-0.2.7.dist-info}/RECORD +33 -31
- {cryptodatapy-0.2.5.dist-info → cryptodatapy-0.2.7.dist-info}/WHEEL +1 -1
- cryptodatapy/.DS_Store +0 -0
- cryptodatapy/.idea/.gitignore +0 -3
- cryptodatapy/.idea/cryptodatapy.iml +0 -12
- cryptodatapy/.idea/csv-plugin.xml +0 -16
- cryptodatapy/.idea/inspectionProfiles/Project_Default.xml +0 -6
- cryptodatapy/.idea/inspectionProfiles/profiles_settings.xml +0 -6
- cryptodatapy/.idea/misc.xml +0 -4
- cryptodatapy/.idea/modules.xml +0 -8
- cryptodatapy/.idea/vcs.xml +0 -6
- {cryptodatapy-0.2.5.dist-info → cryptodatapy-0.2.7.dist-info}/LICENSE +0 -0
@@ -469,7 +469,6 @@ class WrangleData:
|
|
469
469
|
"""
|
470
470
|
Wrangles time series data responses from various APIs into tidy data format.
|
471
471
|
"""
|
472
|
-
|
473
472
|
def __init__(self, data_req: DataRequest, data_resp: Union[Dict[str, pd.DataFrame], pd.DataFrame]):
|
474
473
|
"""
|
475
474
|
Constructor
|
@@ -484,6 +483,7 @@ class WrangleData:
|
|
484
483
|
"""
|
485
484
|
self.data_req = data_req
|
486
485
|
self.data_resp = data_resp
|
486
|
+
self.tidy_data = pd.DataFrame()
|
487
487
|
|
488
488
|
def cryptocompare(self) -> pd.DataFrame:
|
489
489
|
"""
|
@@ -734,36 +734,125 @@ class WrangleData:
|
|
734
734
|
|
735
735
|
return self.data_resp
|
736
736
|
|
737
|
-
def
|
737
|
+
def ccxt_ohlcv(self) -> pd.DataFrame:
|
738
738
|
"""
|
739
|
-
Wrangles CCXT data response to dataframe with tidy data format.
|
739
|
+
Wrangles CCXT OHLCV data response to dataframe with tidy data format.
|
740
740
|
|
741
741
|
Returns
|
742
742
|
-------
|
743
743
|
pd.DataFrame
|
744
|
-
|
744
|
+
Dataframe with tidy data format.
|
745
|
+
"""
|
746
|
+
# field cols
|
747
|
+
cols = ["date", "open", "high", "low", "close", "volume"]
|
748
|
+
|
749
|
+
# add tickers
|
750
|
+
for i in range(len(self.data_req.source_markets)):
|
751
|
+
df = pd.DataFrame(self.data_resp[i], columns=cols)
|
752
|
+
df['ticker'] = self.data_req.source_markets[i]
|
753
|
+
self.tidy_data = pd.concat([self.tidy_data, df])
|
754
|
+
|
755
|
+
# convert to datetime
|
756
|
+
self.tidy_data['date'] = pd.to_datetime(self.tidy_data['date'], unit='ms')
|
745
757
|
|
758
|
+
# set index
|
759
|
+
self.tidy_data = self.tidy_data.set_index(['date', 'ticker']).sort_index()
|
760
|
+
|
761
|
+
return self.tidy_data
|
762
|
+
|
763
|
+
def ccxt_funding_rates(self) -> pd.DataFrame:
|
746
764
|
"""
|
747
|
-
|
765
|
+
Wrangles CCXT funding rates data response to dataframe with tidy data format.
|
766
|
+
|
767
|
+
Returns
|
768
|
+
-------
|
769
|
+
pd.DataFrame
|
770
|
+
Dataframe with tidy data format.
|
771
|
+
"""
|
772
|
+
# add tickers
|
773
|
+
for i in range(len(self.data_req.source_markets)):
|
774
|
+
df = pd.DataFrame(self.data_resp[i])
|
775
|
+
self.tidy_data = pd.concat([self.tidy_data, df])
|
776
|
+
self.tidy_data = self.tidy_data[['symbol', 'fundingRate', 'datetime']]
|
777
|
+
self.data_resp = self.tidy_data
|
778
|
+
|
779
|
+
# convert to lib fields
|
748
780
|
self.convert_fields_to_lib(data_source='ccxt')
|
781
|
+
self.tidy_data = self.data_resp
|
782
|
+
|
749
783
|
# convert to datetime
|
750
|
-
|
751
|
-
|
752
|
-
elif 'funding_rate' in self.data_resp.columns:
|
753
|
-
self.data_resp['date'] = pd.to_datetime(self.data_resp.set_index('date').index).floor('s').tz_localize(None)
|
784
|
+
self.tidy_data['date'] = pd.to_datetime(self.tidy_data.set_index('date').index).floor('s').tz_localize(None)
|
785
|
+
|
754
786
|
# set index
|
755
|
-
self.
|
787
|
+
self.tidy_data = self.tidy_data.set_index(['date', 'ticker']).sort_index()
|
788
|
+
|
756
789
|
# resample
|
757
|
-
if
|
758
|
-
self.
|
790
|
+
if self.data_req.freq in ['d', 'w', 'm', 'q', 'y']:
|
791
|
+
self.tidy_data = (
|
792
|
+
(1 + self.tidy_data.funding_rate)
|
793
|
+
.groupby('ticker')
|
794
|
+
.resample('d', level='date')
|
795
|
+
.prod() - 1
|
796
|
+
).to_frame().swaplevel('ticker', 'date').sort_index()
|
797
|
+
|
798
|
+
return self.tidy_data
|
799
|
+
|
800
|
+
def ccxt_open_interest(self) -> pd.DataFrame:
|
801
|
+
"""
|
802
|
+
Wrangles CCXT open interest data response to dataframe with tidy data format.
|
803
|
+
|
804
|
+
Returns
|
805
|
+
-------
|
806
|
+
pd.DataFrame
|
807
|
+
Dataframe with tidy data format.
|
808
|
+
"""
|
809
|
+
# add tickers
|
810
|
+
for i in range(len(self.data_req.source_markets)):
|
811
|
+
df = pd.DataFrame(self.data_resp[i])
|
812
|
+
self.tidy_data = pd.concat([self.tidy_data, df])
|
813
|
+
self.tidy_data = self.tidy_data[['symbol', 'openInterestAmount', 'datetime']]
|
814
|
+
self.data_resp = self.tidy_data
|
815
|
+
|
816
|
+
# convert to lib fields
|
817
|
+
self.convert_fields_to_lib(data_source='ccxt')
|
818
|
+
self.tidy_data = self.data_resp
|
819
|
+
|
820
|
+
# convert to datetime
|
821
|
+
self.tidy_data['date'] = pd.to_datetime(self.tidy_data.set_index('date').index).floor('s').tz_localize(None)
|
822
|
+
|
823
|
+
# set index
|
824
|
+
self.tidy_data = self.tidy_data.set_index(['date', 'ticker']).sort_index()
|
825
|
+
|
826
|
+
return self.tidy_data
|
827
|
+
|
828
|
+
def ccxt(self, data_type: str) -> pd.DataFrame:
|
829
|
+
"""
|
830
|
+
Wrangles CCXT data response to dataframe with tidy data format.
|
831
|
+
|
832
|
+
Returns
|
833
|
+
-------
|
834
|
+
pd.DataFrame
|
835
|
+
Wrangled dataframe into tidy data format.
|
836
|
+
|
837
|
+
"""
|
838
|
+
if data_type == 'ohlcv':
|
839
|
+
self.tidy_data = self.ccxt_ohlcv()
|
840
|
+
elif data_type == 'funding_rates':
|
841
|
+
self.tidy_data = self.ccxt_funding_rates()
|
842
|
+
elif data_type == 'open_interest':
|
843
|
+
self.tidy_data = self.ccxt_open_interest()
|
844
|
+
else:
|
845
|
+
raise ValueError(f"Data type {data_type} not supported.")
|
846
|
+
|
759
847
|
# type conversion
|
760
|
-
self.
|
848
|
+
self.tidy_data = self.tidy_data.apply(pd.to_numeric, errors='coerce').convert_dtypes()
|
849
|
+
|
761
850
|
# remove bad data
|
762
|
-
self.
|
763
|
-
self.
|
764
|
-
self.
|
851
|
+
self.tidy_data = self.tidy_data[self.tidy_data != 0] # 0 values
|
852
|
+
self.tidy_data = self.tidy_data[~self.tidy_data.index.duplicated()] # duplicate rows
|
853
|
+
self.tidy_data = self.tidy_data.dropna(how='all').dropna(how='all', axis=1) # entire row or col NaNs
|
765
854
|
|
766
|
-
return self.
|
855
|
+
return self.tidy_data
|
767
856
|
|
768
857
|
def fred(self) -> pd.DataFrame:
|
769
858
|
"""
|
@@ -1016,9 +1105,9 @@ class WrangleData:
|
|
1016
1105
|
|
1017
1106
|
# loop through data resp cols
|
1018
1107
|
for col in self.data_resp.columns:
|
1019
|
-
if self.data_req.source_fields is not None and col in self.data_req.source_fields:
|
1020
|
-
|
1021
|
-
|
1108
|
+
# if self.data_req.source_fields is not None and col in self.data_req.source_fields:
|
1109
|
+
# pass
|
1110
|
+
if col in fields_list or col.title() in fields_list or col.lower() in fields_list:
|
1022
1111
|
self.data_resp.rename(columns={col: fields_df[(fields_df[str(data_source) + '_id']
|
1023
1112
|
== col.title()) |
|
1024
1113
|
(fields_df[str(data_source) + '_id'] == col.lower()) |
|
@@ -22,19 +22,40 @@ class DataCredentials:
|
|
22
22
|
mongo_db_password: str = None
|
23
23
|
mongo_db_name: str = None
|
24
24
|
|
25
|
-
#
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
25
|
+
# API keys
|
26
|
+
# cryptocompare api key
|
27
|
+
try:
|
28
|
+
cryptocompare_api_key: str = os.environ['CRYPTOCOMPARE_API_KEY']
|
29
|
+
except KeyError:
|
30
|
+
cryptocompare_api_key: str = None
|
31
|
+
# glassnode api key
|
32
|
+
try:
|
33
|
+
glassnode_api_key: str = os.environ['GLASSNODE_API_KEY']
|
34
|
+
except KeyError:
|
35
|
+
glassnode_api_key: str = None
|
36
|
+
# tiingo api key
|
37
|
+
try:
|
38
|
+
tiingo_api_key: str = os.environ['TIINGO_API_KEY']
|
39
|
+
except KeyError:
|
40
|
+
tiingo_api_key: str = None
|
41
|
+
# coinmetrics api key
|
42
|
+
try:
|
43
|
+
coinmetrics_api_key: str = os.environ['COINMETRICS_API_KEY']
|
44
|
+
except KeyError:
|
45
|
+
coinmetrics_api_key: str = None
|
32
46
|
|
33
47
|
# base URLs
|
34
48
|
cryptocompare_base_url: str = 'https://min-api.cryptocompare.com/data/'
|
35
49
|
glassnode_base_url: str = 'https://api.glassnode.com/v1/metrics/'
|
36
50
|
tiingo_base_url: str = 'https://api.tiingo.com/tiingo/'
|
37
51
|
aqr_base_url: str = 'https://www.aqr.com/-/media/AQR/Documents/Insights/Data-Sets/'
|
52
|
+
if coinmetrics_api_key is not None:
|
53
|
+
coinmetrics_base_url: str = 'https://api.coinmetrics.io/v4'
|
54
|
+
else:
|
55
|
+
coinmetrics_base_url: str = 'https://community-api.coinmetrics.io/v4'
|
56
|
+
|
57
|
+
# api limit URLs
|
58
|
+
cryptocompare_api_rate_limit: str = "https://min-api.cryptocompare.com/stats/rate/limit"
|
38
59
|
|
39
60
|
# vendors URLs
|
40
61
|
dbnomics_vendors_url: str = "https://db.nomics.world/providers"
|
@@ -1,18 +1,20 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: cryptodatapy
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.7
|
4
4
|
Summary: Cryptoasset data library
|
5
5
|
License: Apache-2.0
|
6
6
|
Author: Systamental
|
7
7
|
Requires-Python: >=3.8,<4.0
|
8
8
|
Classifier: License :: OSI Approved :: Apache Software License
|
9
9
|
Classifier: Programming Language :: Python :: 3
|
10
|
-
Classifier: Programming Language :: Python :: 3.10
|
11
10
|
Classifier: Programming Language :: Python :: 3.8
|
12
11
|
Classifier: Programming Language :: Python :: 3.9
|
12
|
+
Classifier: Programming Language :: Python :: 3.10
|
13
|
+
Classifier: Programming Language :: Python :: 3.11
|
14
|
+
Classifier: Programming Language :: Python :: 3.12
|
13
15
|
Requires-Dist: DBnomics (>=1.2.3)
|
14
16
|
Requires-Dist: ccxt (>=1.91.52)
|
15
|
-
Requires-Dist: coinmetrics-api-client (>=2022.6.17); python_version >= "3.7"
|
17
|
+
Requires-Dist: coinmetrics-api-client (>=2022.6.17) ; python_version >= "3.7"
|
16
18
|
Requires-Dist: fsspec (>=2024.6.1)
|
17
19
|
Requires-Dist: investpy (>=1.0.8)
|
18
20
|
Requires-Dist: matplotlib (>=3.5.2)
|
@@ -20,13 +22,14 @@ Requires-Dist: numpy (>=1.23.2)
|
|
20
22
|
Requires-Dist: openpyxl (>=3.1.2)
|
21
23
|
Requires-Dist: pandas (>=1.4.4)
|
22
24
|
Requires-Dist: pandas-datareader (>=0.10.0)
|
23
|
-
Requires-Dist: prophet (>=1.1); python_version >= "3.7"
|
25
|
+
Requires-Dist: prophet (>=1.1) ; python_version >= "3.7"
|
24
26
|
Requires-Dist: pyarrow (>=17.0.0)
|
25
|
-
Requires-Dist: requests (>=2.28.0); python_version >= "3.7"
|
27
|
+
Requires-Dist: requests (>=2.28.0) ; python_version >= "3.7"
|
26
28
|
Requires-Dist: responses (>=0.21.0)
|
27
|
-
Requires-Dist: s3fs (>=2024.6.1
|
29
|
+
Requires-Dist: s3fs (>=2024.6.1)
|
28
30
|
Requires-Dist: selenium (>=4.4.3)
|
29
31
|
Requires-Dist: statsmodels (>=0.13.2)
|
32
|
+
Requires-Dist: tdqm (>=0.0.1)
|
30
33
|
Requires-Dist: webdriver-manager (>=3.8.3)
|
31
34
|
Requires-Dist: xlrd (>=2.0.1)
|
32
35
|
Requires-Dist: yfinance (>=0.2.14)
|
@@ -35,7 +38,7 @@ Description-Content-Type: text/markdown
|
|
35
38
|

|
36
39
|
|
37
40
|
# CryptoDataPy
|
38
|
-
### _Better data beats
|
41
|
+
### _Better data beats advanced algorithms_
|
39
42
|
<br/>
|
40
43
|
|
41
44
|
**CryptoDataPy** is a python library which makes it easy to build high quality data pipelines
|
@@ -1,17 +1,8 @@
|
|
1
|
-
cryptodatapy/.DS_Store,sha256=PAgbS0KIr24oqHYVH0XcuP_rM0ytXS0FIC_Y5fwb5wI,6148
|
2
|
-
cryptodatapy/.idea/.gitignore,sha256=qeVPxPCLyX2CwEvYb_N9OvhLqe9K2H_Py0ONq2Iuiqo,47
|
3
|
-
cryptodatapy/.idea/cryptodatapy.iml,sha256=w0TW3o9qEaYr1iYR1jwYqlUBYm3KyxgnCK1PD03XvwQ,441
|
4
|
-
cryptodatapy/.idea/csv-plugin.xml,sha256=kVn-REwnZha3y9sWKgqBd0RKNDr0acmLVCntWaqbMuw,392
|
5
|
-
cryptodatapy/.idea/inspectionProfiles/Project_Default.xml,sha256=a3b3Z4-DvGJJ43qdAbQ_-pbTx233D2zLWV5PdsvpsxQ,256
|
6
|
-
cryptodatapy/.idea/inspectionProfiles/profiles_settings.xml,sha256=YXLFmX7rPNGcnKK1uX1uKYPN0fpgskYNe7t0BV7cqkY,174
|
7
|
-
cryptodatapy/.idea/misc.xml,sha256=fNK-pK0wJ6JRyiTKlpP9aQ9NC3cvTTUtdSopmICNdyo,200
|
8
|
-
cryptodatapy/.idea/modules.xml,sha256=D8TS27hP9PgwvTAqVJX5b6hlLdLOwU0VNIuDSkK3ncw,276
|
9
|
-
cryptodatapy/.idea/vcs.xml,sha256=b_39r807_tBAMOSSbIxyjQKeZsNYXTI-_FCT1j3FXuE,186
|
10
1
|
cryptodatapy/__init__.py,sha256=ee1UaINHZn1A_SZ96XM3hCguQEJgiPTvKlnYsk3mmS4,185
|
11
2
|
cryptodatapy/conf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
12
|
-
cryptodatapy/conf/fields.csv,sha256=
|
3
|
+
cryptodatapy/conf/fields.csv,sha256=Xjs_sWIY4DuhdHlWOPo0pgDC8sHYA6xzf6kb0PuUp9w,25735
|
13
4
|
cryptodatapy/conf/fx_tickers.csv,sha256=vqbY93_6Zi4vXg8iu0veXZ-NDm_NV2rrmb5lNYRqNUA,288
|
14
|
-
cryptodatapy/conf/tickers.csv,sha256=
|
5
|
+
cryptodatapy/conf/tickers.csv,sha256=Bs9KfDKawoUPKIQZMN8CtoLYJuzOkwLh2il30c8CsqE,357066
|
15
6
|
cryptodatapy/datasets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
16
7
|
cryptodatapy/datasets/br_econ_calendar.csv,sha256=mSM0IOIByI-0gIIL1CbDQPqHYI5lK6vavrY1ODj3Jlk,1185318
|
17
8
|
cryptodatapy/datasets/ca_econ_calendar.csv,sha256=GtoopEhCSufBNjpAi2BiorSsm4RmoK5dfZe8lkOS-Jc,1521808
|
@@ -36,36 +27,47 @@ cryptodatapy/extract/data_vendors/.ipynb_checkpoints/DBNomics-checkpoint.ipynb,s
|
|
36
27
|
cryptodatapy/extract/data_vendors/.ipynb_checkpoints/InvestPy-checkpoint.ipynb,sha256=ybcHKXzmmlTYEoxC-qkWmd0Pjn1WjJ5CMPvMVotqJ7o,50215
|
37
28
|
cryptodatapy/extract/data_vendors/.ipynb_checkpoints/NasdaqDataLink-checkpoint.ipynb,sha256=hY2QkCcTiLgPnl8SQPsO8spio5-RBMGeBLYzAwgSWb4,147170
|
38
29
|
cryptodatapy/extract/data_vendors/.ipynb_checkpoints/PandasDataReader-checkpoint.ipynb,sha256=n7vzOV6AxC_Ti5CLWW2ABMEEcbbBpiBBs4qTUBQinIg,24171
|
30
|
+
cryptodatapy/extract/data_vendors/CoinMetrics.ipynb,sha256=OtepxnBvt2DMCJpPFcY0kGhMRcKhw8ArSL85Cd3oO10,24923
|
39
31
|
cryptodatapy/extract/data_vendors/__init__.py,sha256=Nk6gcT43d0XOLfrlVA9r--5mvHCgHfq295IKL3Puu74,354
|
40
|
-
cryptodatapy/extract/data_vendors/coinmetrics_api.py,sha256=
|
41
|
-
cryptodatapy/extract/data_vendors/cryptocompare_api.py,sha256=
|
42
|
-
cryptodatapy/extract/data_vendors/datavendor.py,sha256=
|
43
|
-
cryptodatapy/extract/data_vendors/glassnode_api.py,sha256=
|
44
|
-
cryptodatapy/extract/data_vendors/tiingo_api.py,sha256=
|
45
|
-
cryptodatapy/extract/datarequest.py,sha256=
|
32
|
+
cryptodatapy/extract/data_vendors/coinmetrics_api.py,sha256=2fnsgKkBWjzMa1jzfVa7UbJKTpMWzcFVjo0bKDEud8U,34991
|
33
|
+
cryptodatapy/extract/data_vendors/cryptocompare_api.py,sha256=3oBfQioBz1vrs9JNtwE0hBLI4BTtpFBBEEsDawmobE8,28872
|
34
|
+
cryptodatapy/extract/data_vendors/datavendor.py,sha256=kGKxHcPng6JiGGhcuPx87ij0DXl4E-OSqxlvxhJ1HQo,12642
|
35
|
+
cryptodatapy/extract/data_vendors/glassnode_api.py,sha256=PuuJOjHztoJyFijb5XU1zm1S_2NAj7MX-wC89DL_bWQ,13103
|
36
|
+
cryptodatapy/extract/data_vendors/tiingo_api.py,sha256=Bvj5nF8zCkpU3cf5ImUmCS1cd1w2UtjgQvRmQ9Wfg6g,26404
|
37
|
+
cryptodatapy/extract/datarequest.py,sha256=KMfrc4WeHivNeIKN-sbLFWD7sqPrwasPFiee6QUWRuA,25015
|
46
38
|
cryptodatapy/extract/getdata.py,sha256=HzWQyacfmphms97LVKbx1gEgcgsQJViBT4BBxL9TBXk,8703
|
39
|
+
cryptodatapy/extract/libraries/Untitled.ipynb,sha256=4SGovpmy_kLijEhzBhVJoYNVPrwrERRO0DL6gwzeRvM,614
|
47
40
|
cryptodatapy/extract/libraries/__init__.py,sha256=9rJ_hFHWlvkPwyIkNG5bqH6HTY2jQNPIKQjzYEsVSDo,319
|
48
|
-
cryptodatapy/extract/libraries/ccxt.ipynb,sha256=
|
49
|
-
cryptodatapy/extract/libraries/ccxt_api.py,sha256=
|
41
|
+
cryptodatapy/extract/libraries/ccxt.ipynb,sha256=O-xkr_jtRBY4kuKWek61UOLaU5AiyNRM7AnquNLUjFs,22865
|
42
|
+
cryptodatapy/extract/libraries/ccxt_api.py,sha256=E_jVIKZ5iDjuTK-JwJFENvuWG08B24nN-NcVruWSoeQ,35882
|
50
43
|
cryptodatapy/extract/libraries/dbnomics_api.py,sha256=M6kPIH-hKqkmeBQb-g56dY9jatqLCtSl_MnvPblHtAc,9421
|
51
44
|
cryptodatapy/extract/libraries/investpy_api.py,sha256=qtGm3LDluXxJorvFv0w1bm1oBrcZIfE5cZSYzNYvttY,18409
|
52
45
|
cryptodatapy/extract/libraries/library.py,sha256=070YsO1RJzm4z_enhCjqe5hrj8qsk-Ni0Q_QKoAwQ6U,12316
|
53
|
-
cryptodatapy/extract/libraries/pandasdr_api.py,sha256=
|
46
|
+
cryptodatapy/extract/libraries/pandasdr_api.py,sha256=DFko-N_ZmINUnzmXIct_CgnwEeoTh1xkaXewcJXdR2k,13177
|
47
|
+
cryptodatapy/extract/libraries/yfinance_api.py,sha256=E4c8gIpDh5ta8ILsn9SBs3C1pOU1VP4OqwQb6TcOzCc,17311
|
54
48
|
cryptodatapy/extract/web/__init__.py,sha256=8i0fweCeqSpdiPf-47jT240I4ca6SizCu9aD-qDS67w,89
|
55
49
|
cryptodatapy/extract/web/aqr.py,sha256=LS1D7QzG6UWkLUfDMgBFtiHpznnnAUOpec5Sx3vRGME,11875
|
56
50
|
cryptodatapy/extract/web/web.py,sha256=27cAzlIyYn6R29726J7p9NhSwHypas9EQSjHLILtcjk,9748
|
57
51
|
cryptodatapy/transform/__init__.py,sha256=Spb5cGJ3V_o8hgSWOSrF8J_vsSZpFk0uzW7RpkgfbFE,131
|
58
|
-
cryptodatapy/transform/
|
59
|
-
cryptodatapy/transform/
|
60
|
-
cryptodatapy/transform/
|
61
|
-
cryptodatapy/transform/
|
52
|
+
cryptodatapy/transform/cc_onchain_data.csv,sha256=qA9u3hekHk_NueBlMYQ7IKATh7AlnY-EN9E9X-9kIsU,9544500
|
53
|
+
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
|
+
cryptodatapy/transform/convertparams.py,sha256=RxAOgtmmFaffX4cs0drLlG-jn3erF5K8BQ8EzlviZDo,43261
|
58
|
+
cryptodatapy/transform/credit_data.ipynb,sha256=Wvvnu9ejsmqCb0s3cTG8bLJaywWQCskgk6FBd5J5Vf8,1892822
|
59
|
+
cryptodatapy/transform/eqty_data.ipynb,sha256=A5cA13hOPrOe7Fra0HL4QPFkJGVfArigTR0GUUBpQ3A,25609
|
60
|
+
cryptodatapy/transform/filter.py,sha256=iQDUXthEXVGcrZUZLjevhDqwf9oywEQHTIh6n_sxOhU,9056
|
61
|
+
cryptodatapy/transform/global_credit_data_daily.parquet ,sha256=Dw27SX41AeSYcZyYlrGbwVe8KZM6c35TQ-gzCd2gU2I,745732
|
62
62
|
cryptodatapy/transform/impute.py,sha256=c7qdgFg0qs_xuQnX0jazpt0wgASC0KElLZRuxTkeVKY,5519
|
63
|
-
cryptodatapy/transform/od.py,sha256=
|
64
|
-
cryptodatapy/transform/
|
63
|
+
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
|
+
cryptodatapy/transform/wrangle.py,sha256=uYOrV4PQ3I0z4C5K3x468w82U3uhGRTEIPVrabaSS04,42987
|
65
67
|
cryptodatapy/util/__init__.py,sha256=zSQ2HU2QIXzCuptJjknmrClwtQKCvIj4aNysZljIgrU,116
|
66
68
|
cryptodatapy/util/datacatalog.py,sha256=qCCX6srXvaAbVAKuA0M2y5IK_2OEx5xA3yRahDZlC-g,13157
|
67
|
-
cryptodatapy/util/datacredentials.py,sha256=
|
68
|
-
cryptodatapy-0.2.
|
69
|
-
cryptodatapy-0.2.
|
70
|
-
cryptodatapy-0.2.
|
71
|
-
cryptodatapy-0.2.
|
69
|
+
cryptodatapy/util/datacredentials.py,sha256=fXuGgI2NKCLlcnK8M37CtdyAc3O_YCV23x3KTlfakjA,2160
|
70
|
+
cryptodatapy-0.2.7.dist-info/LICENSE,sha256=sw4oVq8bDjT3uMtaFebQ-xeIVP4H-bXldTs9q-Jjeks,11344
|
71
|
+
cryptodatapy-0.2.7.dist-info/METADATA,sha256=lwX6PFxeEg4RAqQo7LAteOZ2vxnh-NefSslgZtaQNzA,6426
|
72
|
+
cryptodatapy-0.2.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
73
|
+
cryptodatapy-0.2.7.dist-info/RECORD,,
|
cryptodatapy/.DS_Store
DELETED
Binary file
|
cryptodatapy/.idea/.gitignore
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<module type="PYTHON_MODULE" version="4">
|
3
|
-
<component name="NewModuleRootManager">
|
4
|
-
<content url="file://$MODULE_DIR$" />
|
5
|
-
<orderEntry type="inheritedJdk" />
|
6
|
-
<orderEntry type="sourceFolder" forTests="false" />
|
7
|
-
</component>
|
8
|
-
<component name="PyDocumentationSettings">
|
9
|
-
<option name="format" value="PLAIN" />
|
10
|
-
<option name="myDocStringFormat" value="Plain" />
|
11
|
-
</component>
|
12
|
-
</module>
|
@@ -1,16 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<project version="4">
|
3
|
-
<component name="CsvFileAttributes">
|
4
|
-
<option name="attributeMap">
|
5
|
-
<map>
|
6
|
-
<entry key="/conf/tickers.csv">
|
7
|
-
<value>
|
8
|
-
<Attribute>
|
9
|
-
<option name="separator" value="," />
|
10
|
-
</Attribute>
|
11
|
-
</value>
|
12
|
-
</entry>
|
13
|
-
</map>
|
14
|
-
</option>
|
15
|
-
</component>
|
16
|
-
</project>
|
cryptodatapy/.idea/misc.xml
DELETED
cryptodatapy/.idea/modules.xml
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<project version="4">
|
3
|
-
<component name="ProjectModuleManager">
|
4
|
-
<modules>
|
5
|
-
<module fileurl="file://$PROJECT_DIR$/.idea/cryptodatapy.iml" filepath="$PROJECT_DIR$/.idea/cryptodatapy.iml" />
|
6
|
-
</modules>
|
7
|
-
</component>
|
8
|
-
</project>
|
cryptodatapy/.idea/vcs.xml
DELETED
File without changes
|