siat 3.6.6__py3-none-any.whl → 3.6.8__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.
siat/grafix.py CHANGED
@@ -362,7 +362,7 @@ def plot_line(df0,colname,collabel,ylabeltxt,titletxt,footnote,datatag=False, \
362
362
  plt.xlabel(footnote,fontsize=xlabel_txt_size,ha='center')
363
363
  plt.title(titletxt,fontweight='bold',fontsize=title_txt_size)
364
364
 
365
- plt.legend()
365
+ plt.legend(loc=loc,fontsize=legend_txt_size)
366
366
  plt.show()
367
367
  plt.close()
368
368
 
siat/option_pricing.py CHANGED
@@ -20,6 +20,7 @@ from siat.translate import *
20
20
  from siat.grafix import *
21
21
  from siat.security_prices import *
22
22
  from siat.security_trend2 import *
23
+ from siat.yf_name import *
23
24
  #==============================================================================
24
25
  import matplotlib.pyplot as plt
25
26
 
@@ -1160,11 +1161,17 @@ def binomial_american_put(S0,X,Days,r0,sigma,q0=0,steps=200,printout=True):
1160
1161
  #==============================================================================
1161
1162
  if __name__=='__main__':
1162
1163
  ticker="AAPL"
1164
+ ticker="SPY"
1163
1165
 
1164
1166
  def option_maturity(ticker,printout=True):
1165
1167
  """
1166
1168
  功能:获得期权的各个到期日期
1167
1169
  """
1170
+ """
1171
+ if not test_yahoo_access():
1172
+ print(" #Warning(option_maturity): failed to access data source Yahoo Finance")
1173
+ return None
1174
+ """
1168
1175
  import yfinance as yf
1169
1176
  opt = yf.Ticker(ticker)
1170
1177
 
@@ -1172,8 +1179,10 @@ def option_maturity(ticker,printout=True):
1172
1179
  try:
1173
1180
  exp_dates=opt.options
1174
1181
  except:
1175
- print("#Error(option_maturity): failed to get maturity dates for option",ticker)
1182
+ print(" #Error(option_maturity): failed to get option maturity dates for underlying",ticker)
1183
+ print(" Reasons: either",ticker,"does not exist or Yahoo Finance is currently inaccessible")
1176
1184
  return None
1185
+
1177
1186
  datelist=list(exp_dates)
1178
1187
  if not printout:
1179
1188
  return datelist
@@ -1231,7 +1240,8 @@ def option_chain(ticker,maturity_date='today',printout=True):
1231
1240
  try:
1232
1241
  optlist = opt.option_chain(mdate3)
1233
1242
  except:
1234
- print("#Error(option_chain): failed to get option chain for",ticker,'\b@',mdate)
1243
+ if printout:
1244
+ print(" #Error(option_chain): failed to get option chain for",ticker,'\b@',mdate)
1235
1245
  return None,None
1236
1246
 
1237
1247
  opt_call=optlist.calls
@@ -1332,7 +1342,7 @@ if __name__ =="__main__":
1332
1342
  #def predict_stock_trend_by_option(ticker,lastndays=7,power=4):
1333
1343
  def market_prospect_via_option(ticker,lastdays=7):
1334
1344
  """
1335
- 功能:根据股票期权行权价及交易量预测股价
1345
+ 功能:根据期权行权价及交易量预测标的物价格
1336
1346
  注意:本函数与price_prospect_via_option内容基本一致,图示方式略有不同
1337
1347
  """
1338
1348
  lastndays=lastdays
@@ -1423,7 +1433,7 @@ def market_prospect_via_option(ticker,lastdays=7):
1423
1433
 
1424
1434
  #绘图2:OTM Calls vs OTM Puts相对比例
1425
1435
  colname1='OTM in Calls%'
1426
- label1='OTM in Calls%%'
1436
+ label1='OTM in Calls%'
1427
1437
  colname2='OTM in Puts%'
1428
1438
  label2='OTM in Puts%'
1429
1439
  ylabeltxt='Percentage'
@@ -1436,7 +1446,7 @@ def market_prospect_via_option(ticker,lastdays=7):
1436
1446
 
1437
1447
  #绘图3:OTM Calls vs OTM Puts绝对比例
1438
1448
  colname1='OTM Calls in Total%'
1439
- label1='OTM Calls in Total%%'
1449
+ label1='OTM Calls in Total%'
1440
1450
  colname2='OTM Puts in Total%'
1441
1451
  label2='OTM Puts in Total%'
1442
1452
  ylabeltxt='Percentage'
@@ -1447,7 +1457,7 @@ def market_prospect_via_option(ticker,lastdays=7):
1447
1457
  df2,ticker,colname2,label2, \
1448
1458
  ylabeltxt,titletxt,footnote)
1449
1459
 
1450
- #绘图4:股价预测
1460
+ #绘图4:标的物价格预测
1451
1461
  df2x=df2.drop(df2[df2['Total Options']<=1].index)
1452
1462
  """
1453
1463
  colname='WA Strike'
@@ -1613,14 +1623,14 @@ if __name__ =="__main__":
1613
1623
 
1614
1624
  def price_prospect_via_option(ticker,lastdays=7,cutoff=[1.1,5.0,10.0]):
1615
1625
  """
1616
- 功能:根据股票期权预测股价
1626
+ 功能:根据股票期权预测标的物价格
1617
1627
  算法:
1618
1628
  1、计算虚值看涨/看跌期权数量比例
1619
1629
  2、计算虚值看涨/看跌期权交易金额比例
1620
- 3、若虚值看涨期权占优,为看涨,并据此估计未来股价;
1621
- 4、若虚值看跌期权占优,为看跌,并据此估计未来股价;
1630
+ 3、若虚值看涨期权占优,为看涨,并据此估计未来标的物价格;
1631
+ 4、若虚值看跌期权占优,为看跌,并据此估计未来标的物价格;
1622
1632
  5、否则,为不明确
1623
- 返回:股票期权明细
1633
+ 返回:期权明细
1624
1634
  """
1625
1635
  lastndays=lastdays
1626
1636
 
@@ -1637,7 +1647,7 @@ def price_prospect_via_option(ticker,lastdays=7,cutoff=[1.1,5.0,10.0]):
1637
1647
  return None
1638
1648
  print("found",len(datelist),"maturity dates of options")
1639
1649
 
1640
- #最新的股价
1650
+ #最新的标的物价格
1641
1651
  #print("Searching recent close price for",ticker,'...',end='')
1642
1652
  try:
1643
1653
  #lastsdate,lastsprice=get_last_close1(ticker)
@@ -1661,10 +1671,25 @@ def price_prospect_via_option(ticker,lastdays=7,cutoff=[1.1,5.0,10.0]):
1661
1671
 
1662
1672
  if DEBUG: print("Analyzing options matured on",d,'...')
1663
1673
  opt_call,opt_put=option_chain(ticker,d,printout=False)
1664
- if (len(opt_call) == 0) or (len(opt_put) == 0):
1665
- print(" #Error(price_prospect_via_option): failed in retrieving options matured on",d)
1674
+
1675
+ if (opt_call is None) or (opt_put is None):
1676
+ if DEBUG:
1677
+ print(" #Warning(price_prospect_via_option): failed in retrieving options matured on",d)
1678
+ """
1666
1679
  break
1667
1680
  return None
1681
+ """
1682
+ continue
1683
+
1684
+ if (len(opt_call) == 0) or (len(opt_put) == 0):
1685
+ if DEBUG:
1686
+ print(" #Warning(price_prospect_via_option): retrieved zero options matured on",d)
1687
+ """
1688
+ break
1689
+ return None
1690
+ """
1691
+ continue
1692
+
1668
1693
  currency=list(opt_call['currency'])[0]
1669
1694
 
1670
1695
  ##########处理看涨期权##########
@@ -1820,13 +1845,13 @@ def price_prospect_via_option(ticker,lastdays=7,cutoff=[1.1,5.0,10.0]):
1820
1845
  df2,ticker,colname2,label2, \
1821
1846
  ylabeltxt,titletxt,footnote)
1822
1847
 
1823
- #绘图3:预测的股价
1848
+ #绘图3:预测的标的物价格
1824
1849
  df2['Benchmark']=lastsprice
1825
1850
  colname1='Estimated Price'
1826
- label1='预期股价'
1851
+ label1='预期价格'
1827
1852
  colname2='Benchmark'
1828
- label2='当前股价'
1829
- ylabeltxt='股价('+currency+')'
1853
+ label2='当前价格'
1854
+ ylabeltxt='价格('+currency+')'
1830
1855
  titletxt="期权链与标的价格预期: "+tname
1831
1856
 
1832
1857
  plot_line2(df2,ticker,colname1,label1, \
@@ -1844,22 +1869,22 @@ def price_prospect_via_option(ticker,lastdays=7,cutoff=[1.1,5.0,10.0]):
1844
1869
  pd.set_option('display.max_colwidth', 1000)
1845
1870
  pd.set_option('display.unicode.ambiguous_as_wide', True)
1846
1871
  pd.set_option('display.unicode.east_asian_width', True)
1847
- df3.columns=['日期','股价走势','股价预期','虚值看涨/看跌合约数量比例','虚值看涨/看跌交易金额比例']
1872
+ df3.columns=['日期','标的物价格走势','标的物价格预期','虚值看涨/看跌合约数量比例','虚值看涨/看跌交易金额比例']
1848
1873
  print(df3.to_string(index=False))
1849
1874
 
1850
1875
  print(" 注:")
1851
- print(" 1) 当前股价: "+currency+str(lastsprice),"\b,",lastsdate,'\b.')
1852
- print(" 2) +(-)表示股价将比当前变高(低), +/-表示趋势不明朗.")
1876
+ print(" 1) 当前价格: "+currency+str(lastsprice),"\b,",lastsdate,'\b.')
1877
+ print(" 2) +(-)表示价格将比当前变高(低), +/-表示趋势不明朗.")
1853
1878
  print(" 3) 期权交易样本期间: 最近"+str(lastndays)+"个日历日,且期间内未发生分拆.")
1854
- print(" 4) 股价估计可能随时变化,越远期的估计可能准确度越欠佳.")
1879
+ print(" 4) 价格估计可能随时变化,越远期的估计可能准确度越欠佳.")
1855
1880
  print(" "+footnote+'.')
1856
1881
  """
1857
1882
  titletxt="期权链与标的价格预期: "+tname
1858
1883
  footnote1="注:\n"
1859
- footnote2="1、当前股价: "+currency+str(lastsprice)+", "+lastsdate+'\n'
1860
- footnote3="2、+(-)表示股价将比当前变高(低), +/-表示趋势不明朗\n"
1884
+ footnote2="1、当前价格: "+currency+str(lastsprice)+", "+lastsdate+'\n'
1885
+ footnote3="2、+(-)表示价格将比当前变高(低), +/-表示趋势不明朗\n"
1861
1886
  footnote4="3、期权交易样本期间: 最近"+str(lastndays)+"个日历日,且期间内未发生分拆\n"
1862
- footnote5="4) 股价估计可能随时变化,越远期的估计可能准确度越欠佳\n"
1887
+ footnote5="4) 价格价格估计可能随时变化,越远期的估计可能准确度越欠佳\n"
1863
1888
 
1864
1889
  footnote9=footnote1+footnote2+footnote3+footnote4+footnote5+footnote
1865
1890
 
siat/security_trend2.py CHANGED
@@ -418,7 +418,7 @@ def security_trend(ticker,indicator='Close',adjust='', \
418
418
  attention_value=attention_value,attention_value_area=attention_value_area, \
419
419
  attention_point=attention_point,attention_point_area=attention_point_area, \
420
420
  datatag=datatag,power=power,graph=graph, \
421
- source=source, \
421
+ source=source,loc=loc1, \
422
422
  mark_top=mark_top,mark_bottom=mark_bottom, \
423
423
  mark_end=mark_end,ticker_type=ticker_type, \
424
424
  facecolor=facecolor)
siat/stock.py CHANGED
@@ -635,7 +635,7 @@ def security_indicator(ticker,indicator, \
635
635
  average_value=False, \
636
636
  datatag=False,power=0,graph=True,source='auto', \
637
637
  mark_top=True,mark_bottom=True,mark_end=True, \
638
- ticker_type='auto',facecolor='whitesmoke'):
638
+ ticker_type='auto',facecolor='whitesmoke',loc='best'):
639
639
  """
640
640
  功能:单只证券的全部指标
641
641
  """
@@ -746,7 +746,7 @@ def security_indicator(ticker,indicator, \
746
746
  attention_value=attention_value,attention_value_area=attention_value_area, \
747
747
  attention_point=attention_point,attention_point_area=attention_point_area, \
748
748
  mark_top=mark_top,mark_bottom=mark_bottom,mark_end=mark_end, \
749
- facecolor=facecolor)
749
+ facecolor=facecolor,loc=loc)
750
750
 
751
751
  return erdf3
752
752
 
siat/translate.py CHANGED
@@ -1089,11 +1089,11 @@ def codetranslate0(code):
1089
1089
  ['^SMI','瑞士SMI指数'],['^MOEX','俄罗斯莫斯科指数(卢布计价)'],
1090
1090
  ['^UX','乌克兰UX指数'],['^RTS','俄罗斯市值加权指数(美元计价)'],
1091
1091
  ['^AEX','荷兰阿姆斯特丹指数'],['^ATH','希腊雅典综合指数'],
1092
- ['^BEL20','比利时20指数'],['^BVP','巴西BVP指数'],
1093
- ['^IPC','墨西哥IPC指数'],['^IPSA','智利IPSA指数'],
1092
+ ['^BEL20','比利时20指数'],['^BVSP','巴西圣保罗指数'],
1093
+ ['^MXX','墨西哥IPC指数'],['^IPSA','智利IPSA指数'],
1094
1094
  ['^JCI','印尼雅加达指数'],['^KOSPI','韩国综合指数'],
1095
1095
  ['^KLCI','马来西亚吉隆坡指数'],
1096
- ['^MRV','阿根廷MERVAL指数'],['M.BA','阿根廷MERVAL指数'],
1096
+ ['^MRV','阿根廷MERVAL指数'],['^MERV','阿根廷MERVAL指数'],['M.BA','阿根廷MERVAL指数'],
1097
1097
  ['^MT30','沙特TASI指数'],['^NZ50','新西兰50指数'],
1098
1098
  ['^PSI20','葡萄牙PSI20指数'],['^PSEI','菲律宾PSEi指数'],
1099
1099
  ['^SET','泰国SET指数'],['^STI','新加坡海峡时报指数'],
@@ -1268,6 +1268,8 @@ def codetranslate0(code):
1268
1268
 
1269
1269
  #期货==================================================================
1270
1270
  ["HG=F",'COMEX铜矿石期货'],["CL=F",'NYM原油期货'],
1271
+ ["NG=F",'NYM天然气期货'],["MTF=F",'NYM煤炭期货'],
1272
+ ["GC=F",'COMEX黄金期货'],["MGC=F",'COMEX微型黄金期货'],
1271
1273
  ["6B=F",'CME英镑兑美元期货'],
1272
1274
  ["S=F",'CBT大豆期货'],["C=F",'CBT玉米期货'],
1273
1275
  ["ES=F",'CME标普500指数期货'],["YM=F",'CBT道指期货'],
siat/yf_name.py CHANGED
@@ -44,7 +44,7 @@ def test_website(url):
44
44
  #print(f"Website {url} access failed,Code:{response.status_code}")
45
45
  return False
46
46
  except requests.exceptions.RequestException:
47
- print(f"Website {url} is inaccessible")
47
+ print(f" #Warning: website {url} is inaccessible")
48
48
  return False
49
49
 
50
50
  if __name__=='__main__':
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: siat
3
- Version: 3.6.6
3
+ Version: 3.6.8
4
4
  Summary: Securities Investment Analysis Tools (siat)
5
5
  Home-page: https://pypi.org/project/siat/
6
6
  Author: Prof. WANG Dehong, International Business School, Beijing Foreign Studies University
@@ -60,7 +60,7 @@ siat/future_china.py,sha256=F-HsIf2Op8Z22RzTjet1g8COzldgnMjFNSXsAkeGyWo,17595
60
60
  siat/future_china_test.py,sha256=BrSzmDVaOHki6rntOtosmRn-6dkfOBuLulJNqh7MOpc,1163
61
61
  siat/global_index_test.py,sha256=hnFp3wqqzzL-kAP8mgxDZ54Bd5Ijf6ENi5YJlGBgcXw,2402
62
62
  siat/google_authenticator.py,sha256=ZUbZR8OW0IAKDbcYtlqGqIpZdERpFor9NccFELxg9yI,1637
63
- siat/grafix.py,sha256=4zxsXkN0GsygiXx7dDSV502GXPRtK__25Iv12QoJQAQ,107580
63
+ siat/grafix.py,sha256=yhWxVk0b-u5ZbP_DS32tZLudl5rwFlUBquiF4JrhXq8,107612
64
64
  siat/grafix_test.py,sha256=kXvcpLgQNO7wd30g_bWljLj5UH7bIVI0_dUtXbfiKR0,3150
65
65
  siat/holding_risk.py,sha256=G3wpaewAKF9CwEqRpr4khyuDu9SU2EGyQUHdk7cmHOA,30693
66
66
  siat/holding_risk_test.py,sha256=FRlw_9wFG98BYcg_cSj95HX5WZ1TvkGaOUdXD7-V86s,474
@@ -82,7 +82,7 @@ siat/ml_cases_example.py,sha256=xRGb3YTQEDTOnaWNzZN_myU5umQnA2RdMNiPrxTmn9c,1673
82
82
  siat/ml_cases_example1.py,sha256=xRGb3YTQEDTOnaWNzZN_myU5umQnA2RdMNiPrxTmn9c,1673
83
83
  siat/option_china.py,sha256=vPALLZDN_oIOmwpaLdB5V6dH4OuA4Q4rSy1K0ADkqYI,120954
84
84
  siat/option_china_test.py,sha256=UQ-YUHUjoGBQyanLcM-yzqeEIUQP_gCQIeT0W6rnUnA,16355
85
- siat/option_pricing.py,sha256=VEqe7VbPkdWX8lS7fJaL1GF9cQx2HRe3UBI2XZJouBQ,73237
85
+ siat/option_pricing.py,sha256=vyQNgBsjcJi70Pa-fJTVVIGK_3jWh80tkd1ESnn3sE4,74069
86
86
  siat/option_pricing_test.py,sha256=eeorV5Ja5vjlRXnP6fWJHetGU5Vb8SnLopkC6RV3GfA,2203
87
87
  siat/option_sina_api_test.py,sha256=dn-k_wrQnAaNKHoROvWJEc7lqlU0bwiV2Aa4usWAFGM,5908
88
88
  siat/proxy_test.py,sha256=erQJrmGs2X46z8Gb1h-7GYQ0rTUcaR8dxHExWoBz2eM,2610
@@ -102,10 +102,10 @@ siat/security_prices.py,sha256=Zhn6pvwLy996mbBHDorbqWQdQw9RHdr9m0yzke3ya8M,10859
102
102
  siat/security_prices_test.py,sha256=OEphoJ87NPKoNow1QA8EU_5MUYrJF-qKoWKNapVfZNI,10779
103
103
  siat/security_trend.py,sha256=o0vpWdrJkmODCP94X-Bvn-w7efHhj9HpUYBHtLl55D0,17240
104
104
  siat/security_trend2-20240620.py,sha256=QVnEcb7AyVbO77jVqfFsJffGXrX8pgJ9xCfoAKmWBPk,24854
105
- siat/security_trend2.py,sha256=301cQzTM7O70IinkhQvj458WXcOo8zQwyKjM62HI5g0,29747
105
+ siat/security_trend2.py,sha256=mamJtFAbXC1orGgMEmp0taPk-yUqWm-jdGf64bjhn2Q,29756
106
106
  siat/setup.py,sha256=up65rQGLmTBkhtaMLowjoQXYmIsnycnm4g1SYmeQS6o,1335
107
107
  siat/shenwan index history test.py,sha256=JCVAzOSEldHalhSFa3pqD8JI_8_djPMQOxpkuYU-Esg,1418
108
- siat/stock.py,sha256=hn5FfpnUWWLiy7m2c81ND0_kUXMn5kuL9qHjq7IqwLg,158594
108
+ siat/stock.py,sha256=sDYEXGE9XYnzRYzxv1AUJqMqAu6ISZx7skiu82L1Z7Y,158613
109
109
  siat/stock_advice_linear.py,sha256=-twT7IGP-NEplkL1WPSACcNJjggRB2j4mlAQCkzOAuo,31655
110
110
  siat/stock_base.py,sha256=uISvbRyOGy8p9QREA96CVydgflBkn5L3OXOGKl8oanc,1312
111
111
  siat/stock_china.py,sha256=zyUyghIrkkkYWlHRRP7Hoblxzfp-jrck60pTJpwMahg,91553
@@ -131,7 +131,7 @@ siat/transaction_test.py,sha256=Z8g1LJCN4-mnUByXMUMoFmN0t105cbmsz2QmvSuIkbU,1858
131
131
  siat/translate-20230125.py,sha256=NPPSXhT38s5t9fzMvl_fvi4ckSB73ThLmZetVI-xGdU,117953
132
132
  siat/translate-20230206.py,sha256=-vtI125WyaJhmPotOpDAmclt_XnYVaWU9ByLWZ6FyYE,118133
133
133
  siat/translate-20230215.py,sha256=TJgtPE3n8IjljmZ4Pefy8dmHoNdFF-1zpML6BhA9FKE,121657
134
- siat/translate.py,sha256=4A5uovLiv2wwfMOc71hnKpxCMp8WV6mDohkARKBdSB8,241180
134
+ siat/translate.py,sha256=aAWk9museEsdxDstXjEy_SXiEzvKD_6fDi0W4TrBiwI,241364
135
135
  siat/translate_20240606.py,sha256=63IyHWEU3Uz9mjwyuAX3fqY4nUMdwh0ICQAgmgPXP7Y,215121
136
136
  siat/translate_241003_keep.py,sha256=un7Fqe1v35MXsja5exZgjmLzrZtt66NARZIGlyFuGGU,218747
137
137
  siat/universal_test.py,sha256=CDAOffW1Rvs-TcNN5giWVvHMlch1w4dp-w5SIV9jXL0,3936
@@ -139,9 +139,9 @@ siat/valuation.py,sha256=o5FsEBkYGCgyEg2m9oF3_KdTzUxPIsEeJCYtsTDZ8OE,50514
139
139
  siat/valuation_china.py,sha256=CVp1IwIsF3Om0J29RGkyxZLt4n9Ug-ua_RKhLwL9fUQ,69624
140
140
  siat/valuation_market_china_test.py,sha256=gbJ0ioauuo4koTPH6WKUkqcXiQPafnbhU5eKJ6lpdLA,1571
141
141
  siat/var_model_validation.py,sha256=R0caWnuZarrRg9939hxh3vJIIpIyPfvelYmzFNZtPbo,14910
142
- siat/yf_name.py,sha256=7uLAcOc8XwfYDjuLqWDiUZHfdMpEbytW7E2ayNNT3f4,20069
143
- siat-3.6.6.dist-info/LICENSE,sha256=NTEMMROY9_4U1szoKC3N2BLHcDd_o5uTgqdVH8tbApw,1071
144
- siat-3.6.6.dist-info/METADATA,sha256=BFr_n9-q56P9IzFDo6bD84AmcsOMmdKLElMes4mtUjM,8009
145
- siat-3.6.6.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
146
- siat-3.6.6.dist-info/top_level.txt,sha256=r1cVyL7AIKqeAmEJjNR8FMT20OmEzufDstC2gv3NvEY,5
147
- siat-3.6.6.dist-info/RECORD,,
142
+ siat/yf_name.py,sha256=r0Q67cSMMlfebEkI9h9pdGlJCooEq7hw_3M5IUs4cSI,20081
143
+ siat-3.6.8.dist-info/LICENSE,sha256=NTEMMROY9_4U1szoKC3N2BLHcDd_o5uTgqdVH8tbApw,1071
144
+ siat-3.6.8.dist-info/METADATA,sha256=cdP7kLCCwd-OeNJEGGyCsdPWIQW1xXZ2OQrhcrW2N1g,8009
145
+ siat-3.6.8.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
146
+ siat-3.6.8.dist-info/top_level.txt,sha256=r1cVyL7AIKqeAmEJjNR8FMT20OmEzufDstC2gv3NvEY,5
147
+ siat-3.6.8.dist-info/RECORD,,
File without changes
File without changes