cryptodatapy 0.2.28__py3-none-any.whl → 0.2.29__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.
@@ -1796,7 +1796,7 @@ GB_M0,"UK M0 Money Supply, NSA","Monthly average amount outstanding of total ste
1796
1796
  GB_M1,"UK M1 Money Supply, NSA","Monthly average amount outstanding of total sterling notes and coin in circulation, excluding backing assets for commercial banknote issue in Scotland and Northern Ireland (in sterling millions) seasonally adjusted",,GB,GBR,United Kingdom,DM,macro,money,,m,,GBP ,GBP ,,,,,MANMM101GBM189N,,,,
1797
1797
  US_M2,"United States M2, Money Supply, SA",,,US,USA,United States,DM,macro,money,,m,,billion usd,USD,,,,,M2SL,FED/H6_H6_M2/M2.M,,,
1798
1798
  CN_M2,"China M2, Money Supply, NSA",,,CN,CHN,China,EM,macro,money,,m,,100 million yuan,CNY,,,,,MYAGM2CNM189N,NBS/M_A0D01/A0D0101,M2 Money Stock (YoY),,
1799
- EZ_M2,"Eurozone M2, Money Supply, SA",,,EZ,EMU,Euro zone,Euro zone,macro,money,,m,,million euro,EUR,,,,,MABMM301EZM189S,ECB/BSI/M.U2.Y.V.M20.X.1.U2.2300.Z01.E,,,
1799
+ EZ_M2,"Eurozone M2, Money Supply, SA",,,EZ,EMU,Euro zone,Euro zone,macro,money,,m,,million euro,EUR,,,,,MYAGM2EZM196N,ECB/BSI/M.U2.N.V.M20.X.1.U2.2300.Z01.E,,,
1800
1800
  JP_M2,"Japan M2, Total, SA",,,JP,JPN,Japan,DM,macro,money,,m,,JPY ,JPY ,,,,,MYAGM2JPM189S,ECB/RTD/M.JP.Y.M_M2.J,,,
1801
1801
  GB_M3,"UK M3, Total, SA",,,GB,GBR,United Kingdom,DM,macro,money,,m,,GBP ,GBP ,,,,,MABMM301GBM189S,BOE/7989/LPMVWXL,,,
1802
1802
  GB_M4,"UK M4, Total, SA",,,GB,GBR,United Kingdom,DM,macro,money,,m,,GBP ,GBP ,,,,,,BOE/36785/LPMAUYN,,,
@@ -711,7 +711,8 @@ class CryptoCompare(DataVendor):
711
711
  # tickers list
712
712
  self.get_assets_info(as_list=True)
713
713
  self.get_indexes_info(as_list=True)
714
- tickers_list = self.assets + self.indexes
714
+ oc_tickers = self.get_onchain_tickers_info(as_list=True)
715
+ tickers_list = self.assets + self.indexes + oc_tickers
715
716
 
716
717
  # fields
717
718
  self.get_fields_info()
@@ -7,14 +7,14 @@ def compute_reference_price(dfs: List[pd.DataFrame],
7
7
  trim_pct: float = 0.25,
8
8
  ) -> pd.DataFrame:
9
9
  """
10
- Computes the consensus price from a list of dataframes.
10
+ Computes the reference price from a list of dataframes.
11
11
 
12
12
  Parameters
13
13
  ----------
14
14
  dfs: pd.DataFrame
15
15
  List of dataframes containing price data.
16
16
  method: str, optional
17
- Method to compute the consensus price. Options are 'median' or 'trimmed_mean'.
17
+ Method to compute the reference price. Options are 'median' or 'trimmed_mean'.
18
18
  Default is 'median'.
19
19
  trim_pct: float, optional
20
20
  Percentage of data to trim from both ends for 'trimmed_mean' method.
@@ -22,7 +22,7 @@ def compute_reference_price(dfs: List[pd.DataFrame],
22
22
  Returns
23
23
  -------
24
24
  pd.DataFrame
25
- Dataframe with the consensus price.
25
+ Dataframe with the reference price.
26
26
  """
27
27
  if not List:
28
28
  raise ValueError("The input list is empty.")
@@ -30,9 +30,9 @@ def compute_reference_price(dfs: List[pd.DataFrame],
30
30
  # Concatenate all dataframes in the list
31
31
  stacked_df = pd.concat(dfs)
32
32
 
33
- # Compute consensus price based on the specified method
33
+ # Compute ref price based on the specified method
34
34
  if method == 'median':
35
- consensus_price = stacked_df.groupby(['date', 'ticker']).median()
35
+ ref_price = stacked_df.groupby(['date', 'ticker']).median()
36
36
 
37
37
  elif method == 'trimmed_mean':
38
38
  # Calculate trimmed mean with specified bounds
@@ -43,11 +43,11 @@ def compute_reference_price(dfs: List[pd.DataFrame],
43
43
  filtered_df = stacked_df[(stacked_df >= lower_bound.reindex(stacked_df.index)) &
44
44
  (stacked_df <= upper_bound.reindex(stacked_df.index))]
45
45
 
46
- consensus_price = filtered_df.groupby(level=[0, 1]).mean()
46
+ ref_price = filtered_df.groupby(level=[0, 1]).mean()
47
47
  else:
48
48
  raise ValueError("Method must be either 'median' or 'trimmed_mean'.")
49
49
 
50
- return consensus_price.sort_index()
50
+ return ref_price.sort_index()
51
51
 
52
52
 
53
53
  def stitch_dataframes(df1: pd.DataFrame, df2: pd.DataFrame) -> pd.DataFrame:
@@ -70,6 +70,9 @@ def stitch_dataframes(df1: pd.DataFrame, df2: pd.DataFrame) -> pd.DataFrame:
70
70
  updated_df = df1.reindex(index=df2.index, columns=df2.columns).fillna(df2)
71
71
  combined_df = df1.combine_first(updated_df)
72
72
 
73
+ # Convert to float64 to ensure consistent data type
74
+ combined_df = combined_df.convert_dtypes().astype('float64')
75
+
73
76
  return combined_df
74
77
 
75
78
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: cryptodatapy
3
- Version: 0.2.28
3
+ Version: 0.2.29
4
4
  Summary: Cryptoasset data library
5
5
  License: Apache-2.0
6
6
  Author: Systamental
@@ -1,7 +1,7 @@
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=aKrgG8yzKSKs8tX5AYPFklOtsATYhCfBZYLS3RpQPhk,26070
4
- cryptodatapy/conf/tickers.csv,sha256=nTi_Ww1UgTkTZPWocJBmOgi56iOnrVN3le5tYkOi95E,357958
4
+ cryptodatapy/conf/tickers.csv,sha256=5iEg--AyIhSF9XkscKrbdhj-hDASkKzda8tqpWNYMrE,357956
5
5
  cryptodatapy/datasets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  cryptodatapy/datasets/br_econ_calendar.csv,sha256=mSM0IOIByI-0gIIL1CbDQPqHYI5lK6vavrY1ODj3Jlk,1185318
7
7
  cryptodatapy/datasets/ca_econ_calendar.csv,sha256=GtoopEhCSufBNjpAi2BiorSsm4RmoK5dfZe8lkOS-Jc,1521808
@@ -28,7 +28,7 @@ cryptodatapy/extract/data_vendors/.ipynb_checkpoints/NasdaqDataLink-checkpoint.i
28
28
  cryptodatapy/extract/data_vendors/.ipynb_checkpoints/PandasDataReader-checkpoint.ipynb,sha256=n7vzOV6AxC_Ti5CLWW2ABMEEcbbBpiBBs4qTUBQinIg,24171
29
29
  cryptodatapy/extract/data_vendors/__init__.py,sha256=Nk6gcT43d0XOLfrlVA9r--5mvHCgHfq295IKL3Puu74,354
30
30
  cryptodatapy/extract/data_vendors/coinmetrics_api.py,sha256=J9WIDU4Q_j3F13TkGG3aH6I7-wFY24ie-lnd_s8D6ls,33308
31
- cryptodatapy/extract/data_vendors/cryptocompare_api.py,sha256=eEK0QTROr97hG4pxTufX45d9EEUNKo9Hy-INygn3AlA,27493
31
+ cryptodatapy/extract/data_vendors/cryptocompare_api.py,sha256=mI2oRS3USav-T-c73sDpbNpkbg0ZziL_GOiT6APSjKM,27571
32
32
  cryptodatapy/extract/data_vendors/datavendor.py,sha256=eH_yIJPy5FvZhgILqpgNYYkbmC5fK_5eIdIZTOeNw9Q,13292
33
33
  cryptodatapy/extract/data_vendors/glassnode_api.py,sha256=PuuJOjHztoJyFijb5XU1zm1S_2NAj7MX-wC89DL_bWQ,13103
34
34
  cryptodatapy/extract/data_vendors/polygon_api.py,sha256=wg1su_jMGCcmJ7Tqw5r562Ub03UuEc6jU9uhbchbFBM,13646
@@ -57,8 +57,8 @@ cryptodatapy/transform/wrangle.py,sha256=cQOkPoiOmQtC7d2G15jMbMJSbinMmLYxM6Or7Ff
57
57
  cryptodatapy/util/__init__.py,sha256=zSQ2HU2QIXzCuptJjknmrClwtQKCvIj4aNysZljIgrU,116
58
58
  cryptodatapy/util/datacatalog.py,sha256=qCCX6srXvaAbVAKuA0M2y5IK_2OEx5xA3yRahDZlC-g,13157
59
59
  cryptodatapy/util/datacredentials.py,sha256=BnoQlUchbP0vfXqXRuhCOOsHyUTMuH5T4RAKBbHzMyo,3140
60
- cryptodatapy/util/utils.py,sha256=zXDPnqLNaeWVGgUDVG70q-WcaIuxbAVbYeinKchdlL4,4146
61
- cryptodatapy-0.2.28.dist-info/LICENSE,sha256=sw4oVq8bDjT3uMtaFebQ-xeIVP4H-bXldTs9q-Jjeks,11344
62
- cryptodatapy-0.2.28.dist-info/METADATA,sha256=or2VOUWh0yvQGwJ-v3NPPWqNJpWR1Di7tDiSQ-5rTIo,6473
63
- cryptodatapy-0.2.28.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
64
- cryptodatapy-0.2.28.dist-info/RECORD,,
60
+ cryptodatapy/util/utils.py,sha256=OTTa4YvRj7Cb_2h5h8xoDy9Ap0LB1rg_wFgsDwy9R9o,4244
61
+ cryptodatapy-0.2.29.dist-info/LICENSE,sha256=sw4oVq8bDjT3uMtaFebQ-xeIVP4H-bXldTs9q-Jjeks,11344
62
+ cryptodatapy-0.2.29.dist-info/METADATA,sha256=N7MoXa-EggGqmZqXhIu2wnID88K-137mRJmi_Dt7dl8,6473
63
+ cryptodatapy-0.2.29.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
64
+ cryptodatapy-0.2.29.dist-info/RECORD,,