tushare 1.4.10__tar.gz → 1.4.11__tar.gz

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.
Files changed (84) hide show
  1. {tushare-1.4.10 → tushare-1.4.11}/PKG-INFO +8 -1
  2. {tushare-1.4.10 → tushare-1.4.11}/setup.py +1 -1
  3. {tushare-1.4.10 → tushare-1.4.11}/tushare/__init__.py +1 -1
  4. tushare-1.4.11/tushare/pro/llm.py +124 -0
  5. {tushare-1.4.10 → tushare-1.4.11}/tushare.egg-info/PKG-INFO +8 -1
  6. {tushare-1.4.10 → tushare-1.4.11}/tushare.egg-info/SOURCES.txt +1 -0
  7. {tushare-1.4.10 → tushare-1.4.11}/LICENSE +0 -0
  8. {tushare-1.4.10 → tushare-1.4.11}/README.md +0 -0
  9. {tushare-1.4.10 → tushare-1.4.11}/setup.cfg +0 -0
  10. {tushare-1.4.10 → tushare-1.4.11}/tushare/bond/__init__.py +0 -0
  11. {tushare-1.4.10 → tushare-1.4.11}/tushare/bond/bonds.py +0 -0
  12. {tushare-1.4.10 → tushare-1.4.11}/tushare/coins/__init__.py +0 -0
  13. {tushare-1.4.10 → tushare-1.4.11}/tushare/coins/market.py +0 -0
  14. {tushare-1.4.10 → tushare-1.4.11}/tushare/data/__init__.py +0 -0
  15. {tushare-1.4.10 → tushare-1.4.11}/tushare/fund/__init__.py +0 -0
  16. {tushare-1.4.10 → tushare-1.4.11}/tushare/fund/cons.py +0 -0
  17. {tushare-1.4.10 → tushare-1.4.11}/tushare/fund/nav.py +0 -0
  18. {tushare-1.4.10 → tushare-1.4.11}/tushare/futures/__init__.py +0 -0
  19. {tushare-1.4.10 → tushare-1.4.11}/tushare/futures/cons.py +0 -0
  20. {tushare-1.4.10 → tushare-1.4.11}/tushare/futures/domestic.py +0 -0
  21. {tushare-1.4.10 → tushare-1.4.11}/tushare/futures/domestic_cons.py +0 -0
  22. {tushare-1.4.10 → tushare-1.4.11}/tushare/futures/intlfutures.py +0 -0
  23. {tushare-1.4.10 → tushare-1.4.11}/tushare/internet/__init__.py +0 -0
  24. {tushare-1.4.10 → tushare-1.4.11}/tushare/internet/boxoffice.py +0 -0
  25. {tushare-1.4.10 → tushare-1.4.11}/tushare/internet/caixinnews.py +0 -0
  26. {tushare-1.4.10 → tushare-1.4.11}/tushare/internet/indexes.py +0 -0
  27. {tushare-1.4.10 → tushare-1.4.11}/tushare/pro/__init__.py +0 -0
  28. {tushare-1.4.10 → tushare-1.4.11}/tushare/pro/client.py +0 -0
  29. {tushare-1.4.10 → tushare-1.4.11}/tushare/pro/data_pro.py +0 -0
  30. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/__init__.py +0 -0
  31. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/billboard.py +0 -0
  32. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/classifying.py +0 -0
  33. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/cons.py +0 -0
  34. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/fundamental.py +0 -0
  35. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/globals.py +0 -0
  36. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/histroy_divide.py +0 -0
  37. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/indictor.py +0 -0
  38. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/macro.py +0 -0
  39. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/macro_vars.py +0 -0
  40. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/minsdata.py +0 -0
  41. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/news_vars.py +0 -0
  42. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/newsevent.py +0 -0
  43. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/ref_vars.py +0 -0
  44. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/reference.py +0 -0
  45. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/rtq.py +0 -0
  46. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/rtq_vars.py +0 -0
  47. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/shibor.py +0 -0
  48. {tushare-1.4.10 → tushare-1.4.11}/tushare/stock/trading.py +0 -0
  49. {tushare-1.4.10 → tushare-1.4.11}/tushare/subs/__init__.py +0 -0
  50. {tushare-1.4.10 → tushare-1.4.11}/tushare/subs/ht_subs/__init__.py +0 -0
  51. {tushare-1.4.10 → tushare-1.4.11}/tushare/subs/ht_subs/covert.py +0 -0
  52. {tushare-1.4.10 → tushare-1.4.11}/tushare/subs/ht_subs/subscribe.py +0 -0
  53. {tushare-1.4.10 → tushare-1.4.11}/tushare/subs/model/__init__.py +0 -0
  54. {tushare-1.4.10 → tushare-1.4.11}/tushare/subs/model/min.py +0 -0
  55. {tushare-1.4.10 → tushare-1.4.11}/tushare/subs/model/tick.py +0 -0
  56. {tushare-1.4.10 → tushare-1.4.11}/tushare/subs/tgw_subs/__init__.py +0 -0
  57. {tushare-1.4.10 → tushare-1.4.11}/tushare/subs/tgw_subs/convert.py +0 -0
  58. {tushare-1.4.10 → tushare-1.4.11}/tushare/subs/tgw_subs/login.py +0 -0
  59. {tushare-1.4.10 → tushare-1.4.11}/tushare/subs/tgw_subs/subscribe.py +0 -0
  60. {tushare-1.4.10 → tushare-1.4.11}/tushare/subs/ts_subs/__init__.py +0 -0
  61. {tushare-1.4.10 → tushare-1.4.11}/tushare/subs/ts_subs/subscribe.py +0 -0
  62. {tushare-1.4.10 → tushare-1.4.11}/tushare/trader/__init__.py +0 -0
  63. {tushare-1.4.10 → tushare-1.4.11}/tushare/trader/trader.py +0 -0
  64. {tushare-1.4.10 → tushare-1.4.11}/tushare/trader/utils.py +0 -0
  65. {tushare-1.4.10 → tushare-1.4.11}/tushare/trader/vars.py +0 -0
  66. {tushare-1.4.10 → tushare-1.4.11}/tushare/util/__init__.py +0 -0
  67. {tushare-1.4.10 → tushare-1.4.11}/tushare/util/common.py +0 -0
  68. {tushare-1.4.10 → tushare-1.4.11}/tushare/util/conns.py +0 -0
  69. {tushare-1.4.10 → tushare-1.4.11}/tushare/util/dateu.py +0 -0
  70. {tushare-1.4.10 → tushare-1.4.11}/tushare/util/form_date.py +0 -0
  71. {tushare-1.4.10 → tushare-1.4.11}/tushare/util/format_stock_code.py +0 -0
  72. {tushare-1.4.10 → tushare-1.4.11}/tushare/util/formula.py +0 -0
  73. {tushare-1.4.10 → tushare-1.4.11}/tushare/util/mailmerge.py +0 -0
  74. {tushare-1.4.10 → tushare-1.4.11}/tushare/util/netbase.py +0 -0
  75. {tushare-1.4.10 → tushare-1.4.11}/tushare/util/protobuf/__init__.py +0 -0
  76. {tushare-1.4.10 → tushare-1.4.11}/tushare/util/protobuf/funcs.py +0 -0
  77. {tushare-1.4.10 → tushare-1.4.11}/tushare/util/protobuf/response_pb2.py +0 -0
  78. {tushare-1.4.10 → tushare-1.4.11}/tushare/util/store.py +0 -0
  79. {tushare-1.4.10 → tushare-1.4.11}/tushare/util/upass.py +0 -0
  80. {tushare-1.4.10 → tushare-1.4.11}/tushare/util/vars.py +0 -0
  81. {tushare-1.4.10 → tushare-1.4.11}/tushare/util/verify_token.py +0 -0
  82. {tushare-1.4.10 → tushare-1.4.11}/tushare.egg-info/dependency_links.txt +0 -0
  83. {tushare-1.4.10 → tushare-1.4.11}/tushare.egg-info/requires.txt +0 -0
  84. {tushare-1.4.10 → tushare-1.4.11}/tushare.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tushare
3
- Version: 1.4.10
3
+ Version: 1.4.11
4
4
  Summary: A utility for crawling historical and Real-time Quotes data of China stocks
5
5
  Home-page: https://tushare.pro
6
6
  Author: Jimmy Liu
@@ -16,6 +16,13 @@ Classifier: Programming Language :: Python :: 3.10
16
16
  Classifier: License :: OSI Approved :: BSD License
17
17
  Description-Content-Type: text/plain
18
18
  License-File: LICENSE
19
+ Requires-Dist: pandas
20
+ Requires-Dist: requests
21
+ Requires-Dist: lxml
22
+ Requires-Dist: simplejson
23
+ Requires-Dist: bs4
24
+ Requires-Dist: websocket-client>=0.57.0
25
+ Requires-Dist: tqdm
19
26
 
20
27
 
21
28
  TuShare
@@ -97,7 +97,7 @@ def read_install_requires():
97
97
 
98
98
  setup(
99
99
  name='tushare',
100
- version='1.4.10',
100
+ version='1.4.11',
101
101
  description='A utility for crawling historical and Real-time Quotes data of China stocks',
102
102
  # long_description=read("README.rst"),
103
103
  long_description=long_desc,
@@ -2,7 +2,7 @@
2
2
  import codecs
3
3
  import os
4
4
 
5
- __version__ = '1.4.10'
5
+ __version__ = '1.4.11'
6
6
  __author__ = 'Jimmy Liu'
7
7
 
8
8
  """
@@ -0,0 +1,124 @@
1
+ import json
2
+
3
+ import requests
4
+ try:
5
+ import sseclient
6
+ except:
7
+ raise ImportError("sseclient not found, please install it using 'pip install sseclient-py'.")
8
+
9
+
10
+ from tushare import get_token
11
+
12
+ BASE_URL = "http://api.waditu.com/dataapi"
13
+ # BASE_URL = "http://127.0.0.1:8000/dataapi"
14
+ API_KEY_PREFIX = "tsgpt-"
15
+
16
+
17
+ class LlmClent:
18
+ def __init__(self, token=None, timetout=120):
19
+ if not token:
20
+ token = get_token()
21
+ self.token = token
22
+ self.timeout = timetout
23
+
24
+ def chat_query(self, model, messages, temperature=None, max_tokens=None, pretty=False):
25
+ """
26
+ model string 模型名称, doubao-pro-128k
27
+ messages list 消息列表
28
+ [
29
+ {
30
+ "role": "user",
31
+ "content": "Hello World"
32
+ }
33
+ ]
34
+ pretty bool 是否只返回回答内容文本
35
+ """
36
+ resp = requests.post(
37
+ f'{BASE_URL}/llm/{model}',
38
+ json={"params": {
39
+ "stream": False,
40
+ "messages": messages,
41
+ "temperature": temperature,
42
+ "max_tokens": max_tokens
43
+ }},
44
+ headers={"Authorization": f"tstoken-{self.token}"},
45
+ timeout=self.timeout
46
+ )
47
+ if resp.status_code != 200:
48
+ raise Exception(f"请求出现错误,{resp.content}")
49
+
50
+ resp_data = resp.json()
51
+ if resp_data.get('code') not in (0, None):
52
+ raise Exception(resp_data['msg'])
53
+ if pretty:
54
+ return resp_data['choices'][0]["message"]["content"]
55
+ else:
56
+ return resp_data
57
+
58
+ def chat_stream(self, model, messages, temperature=None, max_tokens=None, pretty=False):
59
+ """
60
+ model string 模型名称, doubao-pro-128k
61
+ messages list 消息列表
62
+ [
63
+ {
64
+ "role": "user",
65
+ "content": "Hello World"
66
+ }
67
+ ]
68
+ pretty bool 是否只返回回答内容文本
69
+ """
70
+ resp = requests.post(
71
+ f'{BASE_URL}/llm/{model}',
72
+ json={"params": {
73
+ "stream": True,
74
+ "messages": messages,
75
+ "temperature": temperature,
76
+ "max_tokens": max_tokens
77
+ }},
78
+ headers={"Authorization": f"tstoken-{self.token}"},
79
+ timeout=self.timeout, stream=True
80
+ )
81
+ if resp.status_code != 200:
82
+ raise Exception(f"请求出现错误,{resp.content}")
83
+
84
+ for e in sseclient.SSEClient(resp).events():
85
+ e_data = json.loads(e.data)
86
+ if pretty:
87
+ yield e_data["choices"][0]["delta"]["content"]
88
+ else:
89
+ yield e_data
90
+
91
+
92
+ def test_chart_query():
93
+ c = LlmClent()
94
+ dd = c.chat_query("doubao-pro-128k", [{
95
+ "role": "user",
96
+ "content": "你好"
97
+ }])
98
+ print(dd)
99
+ dd = c.chat_query("doubao-pro-128k", [{
100
+ "role": "user",
101
+ "content": "你好"
102
+ }], pretty=True)
103
+ print(dd)
104
+
105
+
106
+ def test_chart_stream():
107
+ c = LlmClent()
108
+ dd = c.chat_stream("doubao-pro-128k", [
109
+ {
110
+ "role": "user",
111
+ "content": "你好"
112
+ }
113
+ ])
114
+ for d in dd:
115
+ print(d)
116
+
117
+ dd = c.chat_stream("doubao-pro-128k", [
118
+ {
119
+ "role": "user",
120
+ "content": "你好"
121
+ }
122
+ ], pretty=True)
123
+ for d in dd:
124
+ print(d)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tushare
3
- Version: 1.4.10
3
+ Version: 1.4.11
4
4
  Summary: A utility for crawling historical and Real-time Quotes data of China stocks
5
5
  Home-page: https://tushare.pro
6
6
  Author: Jimmy Liu
@@ -16,6 +16,13 @@ Classifier: Programming Language :: Python :: 3.10
16
16
  Classifier: License :: OSI Approved :: BSD License
17
17
  Description-Content-Type: text/plain
18
18
  License-File: LICENSE
19
+ Requires-Dist: pandas
20
+ Requires-Dist: requests
21
+ Requires-Dist: lxml
22
+ Requires-Dist: simplejson
23
+ Requires-Dist: bs4
24
+ Requires-Dist: websocket-client>=0.57.0
25
+ Requires-Dist: tqdm
19
26
 
20
27
 
21
28
  TuShare
@@ -27,6 +27,7 @@ tushare/internet/indexes.py
27
27
  tushare/pro/__init__.py
28
28
  tushare/pro/client.py
29
29
  tushare/pro/data_pro.py
30
+ tushare/pro/llm.py
30
31
  tushare/stock/__init__.py
31
32
  tushare/stock/billboard.py
32
33
  tushare/stock/classifying.py
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes