MeUtils 2025.6.24.16.15.48__py3-none-any.whl → 2025.6.25.17.7.20__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MeUtils
3
- Version: 2025.6.24.16.15.48
3
+ Version: 2025.6.25.17.7.20
4
4
  Summary: description
5
5
  Home-page: https://github.com/yuanjie-ai/MeUtils
6
6
  Author: yuanjie
@@ -64,296 +64,296 @@ Requires-Dist: sse-starlette ; extra == 'ai'
64
64
  Requires-Dist: openai ; extra == 'ai'
65
65
  Requires-Dist: langchain ; extra == 'ai'
66
66
  Provides-Extra: all
67
- Requires-Dist: missingno ; extra == 'all'
68
- Requires-Dist: sk-darwappon543kdvb ; extra == 'all'
67
+ Requires-Dist: sk-dar4eqh7zxtq6szx ; extra == 'all'
68
+ Requires-Dist: sk-dar7ptw77w5suemr ; extra == 'all'
69
+ Requires-Dist: dataframe-image ; extra == 'all'
70
+ Requires-Dist: sk-dar4c7whzlvjtqsc ; extra == 'all'
71
+ Requires-Dist: sk-dar7ocu5lzi6f65v ; extra == 'all'
72
+ Requires-Dist: sk-dar7q6uzu2pvvdjs ; extra == 'all'
73
+ Requires-Dist: sk-dar4euqyddgxdha3 ; extra == 'all'
74
+ Requires-Dist: sk-dar3r4kb7sgg44ab ; extra == 'all'
75
+ Requires-Dist: sk-dar4caxig22a4263 ; extra == 'all'
76
+ Requires-Dist: sk-dar4g6vhflqigpqg ; extra == 'all'
77
+ Requires-Dist: sk-darwmmns4trtmnt4 ; extra == 'all'
78
+ Requires-Dist: sk-dar4dnealhy7eijo ; extra == 'all'
79
+ Requires-Dist: sk-dar33mhjghj7o67f ; extra == 'all'
80
+ Requires-Dist: sk-dar35gcfwtsr67t5 ; extra == 'all'
81
+ Requires-Dist: pymilvus ; extra == 'all'
82
+ Requires-Dist: sk-dar7malyzmsjxk2z ; extra == 'all'
83
+ Requires-Dist: sk-dar7qvpgq5jb7xi7 ; extra == 'all'
84
+ Requires-Dist: sk-dar4fwpvzh7njwd6 ; extra == 'all'
85
+ Requires-Dist: sk-darwi3licn6x3vrh ; extra == 'all'
86
+ Requires-Dist: sk-dar332efy2pmsnfx ; extra == 'all'
87
+ Requires-Dist: sk-dar36vioepryrl2t ; extra == 'all'
88
+ Requires-Dist: sk-dar4c5idcnuwzwzu ; extra == 'all'
89
+ Requires-Dist: sk-dar7teoaau3rcsk2 ; extra == 'all'
90
+ Requires-Dist: sk-dar4flygk7zkfvop ; extra == 'all'
91
+ Requires-Dist: sk-dar7lgjiertpe6wm ; extra == 'all'
69
92
  Requires-Dist: sk-dar7rdvl6cwkmmwf ; extra == 'all'
70
- Requires-Dist: sk-darwkk4pvavbdmgq ; extra == 'all'
71
- Requires-Dist: sk-dar7lkh7n573spmu ; extra == 'all'
72
- Requires-Dist: sk-dar34egc5bo466hm ; extra == 'all'
73
- Requires-Dist: sk-dar4iimq3kd6envb ; extra == 'all'
74
- Requires-Dist: sk-dar7owhgmvhttogd ; extra == 'all'
75
- Requires-Dist: sk-dar33vjc5nzgqdh3 ; extra == 'all'
76
- Requires-Dist: sk-dar37l3fu4gtnrhk ; extra == 'all'
77
- Requires-Dist: sk-dar35364e6rsynql ; extra == 'all'
78
- Requires-Dist: sk-dar7smxtbkcournt ; extra == 'all'
79
- Requires-Dist: sk-dar4gd5sycyvyy2s ; extra == 'all'
80
- Requires-Dist: sk-dar4eh33n4tesmvo ; extra == 'all'
81
- Requires-Dist: sk-dar4f7wx32ibe5z4 ; extra == 'all'
82
- Requires-Dist: sk-dar3r5bcaeronvfi ; extra == 'all'
83
- Requires-Dist: sk-dar7s7vugqis53na ; extra == 'all'
84
- Requires-Dist: sk-dar34a56o7cizt55 ; extra == 'all'
85
- Requires-Dist: sk-dar7uo3efbpmc3jd ; extra == 'all'
86
- Requires-Dist: sse-starlette ; extra == 'all'
93
+ Requires-Dist: sk-dar7uf5e5ej45npv ; extra == 'all'
94
+ Requires-Dist: sk-dar4hbpusjagfjud ; extra == 'all'
95
+ Requires-Dist: sk-dar34f2hw5sivmc5 ; extra == 'all'
96
+ Requires-Dist: sk-dar7po4yvyb2b2pe ; extra == 'all'
97
+ Requires-Dist: missingno ; extra == 'all'
98
+ Requires-Dist: sk-dar7pf3rg7e5nn5l ; extra == 'all'
99
+ Requires-Dist: sk-dar33jpkcpk3ytjb ; extra == 'all'
100
+ Requires-Dist: sk-dar37sfar2gpxmwp ; extra == 'all'
101
+ Requires-Dist: sk-dar4glpsgnlk2c42 ; extra == 'all'
102
+ Requires-Dist: sk-dar4jjpqcxcsayle ; extra == 'all'
103
+ Requires-Dist: sk-darwbj7xb27ls3cw ; extra == 'all'
104
+ Requires-Dist: sk-dar4gtbxjfzztlhp ; extra == 'all'
105
+ Requires-Dist: sk-dar4cjjarqahrifw ; extra == 'all'
87
106
  Requires-Dist: sk-dar4a6gqsy2yy7me ; extra == 'all'
88
107
  Requires-Dist: sk-dar4jcntrvhtfk6o ; extra == 'all'
89
- Requires-Dist: sk-dar4jsl6nrxgevfz ; extra == 'all'
90
- Requires-Dist: sk-darwjbcnyvihdhzj ; extra == 'all'
91
- Requires-Dist: sk-dar3rwevz6sdbyyp ; extra == 'all'
108
+ Requires-Dist: sk-dar36fcuj2fjcvt3 ; extra == 'all'
109
+ Requires-Dist: sk-dar7sb6dmo7r26pd ; extra == 'all'
92
110
  Requires-Dist: sk-darwmgy6wnbbed4m ; extra == 'all'
111
+ Requires-Dist: sk-dar4f7wx32ibe5z4 ; extra == 'all'
112
+ Requires-Dist: sk-dar4axiroess65tx ; extra == 'all'
113
+ Requires-Dist: sk-dar33xrznuxyha3f ; extra == 'all'
114
+ Requires-Dist: sk-dar363klyl4d2f7n ; extra == 'all'
115
+ Requires-Dist: sk-darwappon543kdvb ; extra == 'all'
116
+ Requires-Dist: sk-dar4dea6rpvhflin ; extra == 'all'
93
117
  Requires-Dist: sk-dar32ypyjzwgfp7h ; extra == 'all'
94
- Requires-Dist: sk-dar4aeb76lvz23f6 ; extra == 'all'
95
- Requires-Dist: sk-dar4jobqzmqm2xom ; extra == 'all'
96
- Requires-Dist: sk-dar36xjf4fxaikkx ; extra == 'all'
97
- Requires-Dist: sk-dar4e437wtkawa5u ; extra == 'all'
98
- Requires-Dist: sk-darwbn4xl4epzfpj ; extra == 'all'
99
- Requires-Dist: sk-darwbj7xb27ls3cw ; extra == 'all'
100
- Requires-Dist: sk-darwi7qyrx6pgkqa ; extra == 'all'
101
- Requires-Dist: sk-darwkbag4igaytav ; extra == 'all'
102
- Requires-Dist: sk-dar7mep3jj7a7mzt ; extra == 'all'
118
+ Requires-Dist: sk-dar4did5so7lg5r3 ; extra == 'all'
119
+ Requires-Dist: pandas-summary ; extra == 'all'
120
+ Requires-Dist: sk-dar3zk5zjujagguh ; extra == 'all'
121
+ Requires-Dist: sk-dar32wausnpy44tm ; extra == 'all'
103
122
  Requires-Dist: sk-darwipcw3p7yiu46 ; extra == 'all'
104
- Requires-Dist: sk-dar4ak6rewgo2de4 ; extra == 'all'
105
- Requires-Dist: sqlalchemy ; extra == 'all'
106
- Requires-Dist: sk-darwjx4sne7otw3m ; extra == 'all'
107
- Requires-Dist: sk-dar7pvw7tjoetezq ; extra == 'all'
108
- Requires-Dist: sk-dar36htozqwlp643 ; extra == 'all'
109
- Requires-Dist: filetype ; extra == 'all'
110
- Requires-Dist: sk-dar7lxc3y3vck44o ; extra == 'all'
111
- Requires-Dist: sk-dar4fnx46ia7d2n6 ; extra == 'all'
112
- Requires-Dist: sk-dar336nzsb6rrdqe ; extra == 'all'
113
- Requires-Dist: sk-dar4axiroess65tx ; extra == 'all'
114
- Requires-Dist: sk-dar7teoaau3rcsk2 ; extra == 'all'
115
- Requires-Dist: sk-dar4cn2omxvv4xyy ; extra == 'all'
116
- Requires-Dist: sk-dar4bf7jwf3ezaup ; extra == 'all'
117
- Requires-Dist: sk-dar4dbyegcmnaejn ; extra == 'all'
123
+ Requires-Dist: sse-starlette ; extra == 'all'
124
+ Requires-Dist: sk-dar4bebifoc5yc3y ; extra == 'all'
118
125
  Requires-Dist: sk-dar4gwv5tkmii3bc ; extra == 'all'
119
- Requires-Dist: sk-dar34pxtp2skn3yu ; extra == 'all'
120
- Requires-Dist: sk-dar4did5so7lg5r3 ; extra == 'all'
126
+ Requires-Dist: sk-dar3rwevz6sdbyyp ; extra == 'all'
127
+ Requires-Dist: sk-dar7t3rhn4wl37fe ; extra == 'all'
128
+ Requires-Dist: sk-dar34egc5bo466hm ; extra == 'all'
129
+ Requires-Dist: sk-dar4aivlmkncuayz ; extra == 'all'
130
+ Requires-Dist: sk-dar7uo3efbpmc3jd ; extra == 'all'
121
131
  Requires-Dist: sk-dar4gpazw4qkwxnn ; extra == 'all'
122
- Requires-Dist: sk-dar7m4ljkmp37dfz ; extra == 'all'
123
- Requires-Dist: pymilvus ; extra == 'all'
132
+ Requires-Dist: faiss-cpu ; extra == 'all'
133
+ Requires-Dist: sk-dar35364e6rsynql ; extra == 'all'
134
+ Requires-Dist: openai ; extra == 'all'
135
+ Requires-Dist: sk-dar33vjc5nzgqdh3 ; extra == 'all'
136
+ Requires-Dist: sqlalchemy ; extra == 'all'
137
+ Requires-Dist: sk-dar4cw7norn6ppca ; extra == 'all'
138
+ Requires-Dist: sk-dar7pki4zcfzz2is ; extra == 'all'
139
+ Requires-Dist: sk-dar3r2sdevztmg34 ; extra == 'all'
140
+ Requires-Dist: sk-dar37274mll42a26 ; extra == 'all'
141
+ Requires-Dist: sk-dar4ir35thoiaeem ; extra == 'all'
142
+ Requires-Dist: sk-dar7mgwomgvxqi5c ; extra == 'all'
143
+ Requires-Dist: sk-darwbn4xl4epzfpj ; extra == 'all'
144
+ Requires-Dist: sk-dar7kwqlm5s26fnr ; extra == 'all'
145
+ Requires-Dist: sk-dar35oxzjexslrpd ; extra == 'all'
124
146
  Requires-Dist: sk-dar4ht7xsvzrz2qa ; extra == 'all'
125
- Requires-Dist: sk-dar4hfqoxih3zpla ; extra == 'all'
126
- Requires-Dist: sk-dar7uwms5fh5ppky ; extra == 'all'
127
- Requires-Dist: sk-dar4jqethhmeleis ; extra == 'all'
128
- Requires-Dist: sk-dar7ti4cp5wbpuzo ; extra == 'all'
129
- Requires-Dist: sk-dar4ej4qiha6a5u5 ; extra == 'all'
130
- Requires-Dist: sk-dar4cjjarqahrifw ; extra == 'all'
131
- Requires-Dist: sk-dar3rygzpkwpeo6z ; extra == 'all'
132
- Requires-Dist: sk-dar4euqyddgxdha3 ; extra == 'all'
133
- Requires-Dist: sk-dar7pf3rg7e5nn5l ; extra == 'all'
134
- Requires-Dist: sk-dar35d2zjgzl5ozt ; extra == 'all'
135
- Requires-Dist: sk-dar34cuxxejyxlds ; extra == 'all'
136
- Requires-Dist: sk-darwio7u3lzymrie ; extra == 'all'
137
- Requires-Dist: sk-dar35rl2gyya3jwk ; extra == 'all'
138
- Requires-Dist: sk-dar37fjtm54rwkrz ; extra == 'all'
139
- Requires-Dist: sk-dar4c3rppn66otqs ; extra == 'all'
140
- Requires-Dist: sk-dar4jepxti5txqj5 ; extra == 'all'
147
+ Requires-Dist: sk-dar36c22uc33ei5y ; extra == 'all'
148
+ Requires-Dist: sk-dar36xjf4fxaikkx ; extra == 'all'
141
149
  Requires-Dist: sk-dar34r2uxajllogd ; extra == 'all'
142
- Requires-Dist: sk-dar7r6emynjj2qzs ; extra == 'all'
143
- Requires-Dist: sk-dar4dkq7crhwvlkx ; extra == 'all'
144
- Requires-Dist: sk-dar4efsc4cvfz3yg ; extra == 'all'
145
- Requires-Dist: sk-dar7srnfwrxirtly ; extra == 'all'
150
+ Requires-Dist: sk-dar7mep3jj7a7mzt ; extra == 'all'
151
+ Requires-Dist: sk-dar7ti4cp5wbpuzo ; extra == 'all'
152
+ Requires-Dist: sk-dar7pvw7tjoetezq ; extra == 'all'
153
+ Requires-Dist: sk-dar7qqzu77o5kefr ; extra == 'all'
154
+ Requires-Dist: sk-dar7uwms5fh5ppky ; extra == 'all'
155
+ Requires-Dist: sk-dar37upejzyhunj5 ; extra == 'all'
146
156
  Requires-Dist: sk-dar4gzmy4zmdobku ; extra == 'all'
147
- Requires-Dist: sk-dar4hdus7rlggzl6 ; extra == 'all'
148
- Requires-Dist: sk-dar7sb6dmo7r26pd ; extra == 'all'
149
- Requires-Dist: sk-dar4hxtjdz4fwqvr ; extra == 'all'
150
- Requires-Dist: sk-dar4hbpusjagfjud ; extra == 'all'
151
- Requires-Dist: sk-dar4fbqkz4e45cfg ; extra == 'all'
152
- Requires-Dist: seaborn ; extra == 'all'
153
- Requires-Dist: sk-dar4fwpvzh7njwd6 ; extra == 'all'
154
- Requires-Dist: sk-dar4bzzncrourvtt ; extra == 'all'
155
- Requires-Dist: sk-dar36zcpcte7ded4 ; extra == 'all'
156
- Requires-Dist: sk-dar7p7advpzicykt ; extra == 'all'
157
- Requires-Dist: sk-dar7nohskosmmasa ; extra == 'all'
158
- Requires-Dist: sk-dar4cgvste3fjmct ; extra == 'all'
159
- Requires-Dist: sk-dar4csc7yiy5i6cq ; extra == 'all'
160
- Requires-Dist: fastapi ; extra == 'all'
161
- Requires-Dist: sk-dar4hic4s5lw2iie ; extra == 'all'
162
- Requires-Dist: sk-dar4gfpkgj7m3zmo ; extra == 'all'
163
- Requires-Dist: sk-dar7nzub4moj2iil ; extra == 'all'
164
- Requires-Dist: sk-dar4d2k7bqvksjlw ; extra == 'all'
165
- Requires-Dist: sk-dar7nj6wsqose4jc ; extra == 'all'
166
- Requires-Dist: sk-dar7qvpgq5jb7xi7 ; extra == 'all'
167
- Requires-Dist: sk-dar37wuo753owzi4 ; extra == 'all'
168
- Requires-Dist: sk-dar4babqfuuj5rz4 ; extra == 'all'
169
- Requires-Dist: sk-dar4bj7v5ie5nwq5 ; extra == 'all'
170
- Requires-Dist: sk-darwkgoqyxpqw5od ; extra == 'all'
171
- Requires-Dist: sk-dar4abw4nbrsibzw ; extra == 'all'
172
- Requires-Dist: sk-dar4d7e5fktpdtsr ; extra == 'all'
173
- Requires-Dist: sk-dar3r4kb7sgg44ab ; extra == 'all'
174
- Requires-Dist: sk-darwjglfsukn23uk ; extra == 'all'
157
+ Requires-Dist: sk-dar336nzsb6rrdqe ; extra == 'all'
175
158
  Requires-Dist: sk-dar4grgari5ejnv7 ; extra == 'all'
176
- Requires-Dist: sk-dar4esukolwhrqid ; extra == 'all'
177
- Requires-Dist: sk-dar4cufxvhvf25h3 ; extra == 'all'
178
- Requires-Dist: sk-dar35gcfwtsr67t5 ; extra == 'all'
179
- Requires-Dist: polars ; extra == 'all'
180
- Requires-Dist: sk-dar34f2hw5sivmc5 ; extra == 'all'
181
- Requires-Dist: sk-dar7oqysutyletj3 ; extra == 'all'
182
- Requires-Dist: pandas-summary ; extra == 'all'
183
- Requires-Dist: sk-dar7lsy7ojazbt44 ; extra == 'all'
184
- Requires-Dist: sk-dar356ixrtdi6k3a ; extra == 'all'
185
- Requires-Dist: sk-dar34lcfkrlhnwat ; extra == 'all'
186
- Requires-Dist: sk-dar4jw2j7rzxtqbr ; extra == 'all'
187
- Requires-Dist: sk-darwmmns4trtmnt4 ; extra == 'all'
188
- Requires-Dist: sk-dar7qee4r6dmdhaw ; extra == 'all'
189
- Requires-Dist: sk-dar4aivlmkncuayz ; extra == 'all'
159
+ Requires-Dist: sk-dar4gd5sycyvyy2s ; extra == 'all'
160
+ Requires-Dist: sk-dar7ohvd3l47atv4 ; extra == 'all'
161
+ Requires-Dist: sk-dar4bj7v5ie5nwq5 ; extra == 'all'
162
+ Requires-Dist: sk-dar4iwpotczs54qx ; extra == 'all'
190
163
  Requires-Dist: langchain ; extra == 'all'
191
- Requires-Dist: sk-dar7ujuyfjqerpax ; extra == 'all'
192
- Requires-Dist: pymongo ; extra == 'all'
164
+ Requires-Dist: reportlab ; extra == 'all'
193
165
  Requires-Dist: sk-dar33oipquf7jbaq ; extra == 'all'
194
- Requires-Dist: sk-dar4gtbxjfzztlhp ; extra == 'all'
195
- Requires-Dist: sk-darwmapdnk3hmmce ; extra == 'all'
196
- Requires-Dist: sk-dar4e7dts3hl73lm ; extra == 'all'
197
- Requires-Dist: sk-dar7k76ks3jvdgml ; extra == 'all'
198
- Requires-Dist: sk-dar4ey2dnzfa322q ; extra == 'all'
199
- Requires-Dist: sk-dar7my3xmeuwfece ; extra == 'all'
166
+ Requires-Dist: sk-dar4jqethhmeleis ; extra == 'all'
167
+ Requires-Dist: sk-dar37jgee5mdnwlt ; extra == 'all'
168
+ Requires-Dist: sk-dar7lxc3y3vck44o ; extra == 'all'
169
+ Requires-Dist: sk-dar7qmwkafi3nldo ; extra == 'all'
200
170
  Requires-Dist: sk-dar4b64fhjeez5mn ; extra == 'all'
201
- Requires-Dist: sk-dar4f5j6pjodc2ce ; extra == 'all'
171
+ Requires-Dist: sk-dar7tnscuockb7mz ; extra == 'all'
172
+ Requires-Dist: sk-dar4jupmkmucbwqn ; extra == 'all'
173
+ Requires-Dist: sk-darwjkrg4vlfuyhk ; extra == 'all'
174
+ Requires-Dist: sk-darwbegwn3ivxsxl ; extra == 'all'
175
+ Requires-Dist: sk-dar4ig2ttjrxb52l ; extra == 'all'
176
+ Requires-Dist: sk-dar4ft7vmr2u3v4z ; extra == 'all'
177
+ Requires-Dist: sk-dar36556b7jsd4rr ; extra == 'all'
178
+ Requires-Dist: sk-dar4bs5dqtzm4nlz ; extra == 'all'
179
+ Requires-Dist: sk-dar32t7wtc6cffrb ; extra == 'all'
180
+ Requires-Dist: sk-dar4hic4s5lw2iie ; extra == 'all'
181
+ Requires-Dist: sk-dar4e437wtkawa5u ; extra == 'all'
182
+ Requires-Dist: sk-dar7lodzvpmnunp6 ; extra == 'all'
202
183
  Requires-Dist: sk-dar7qic4ngpp4z4h ; extra == 'all'
203
- Requires-Dist: sk-dar33xrznuxyha3f ; extra == 'all'
204
- Requires-Dist: sk-dar35zjhstae3iwo ; extra == 'all'
184
+ Requires-Dist: sk-dar4ea6zx6vjhd4w ; extra == 'all'
185
+ Requires-Dist: sk-darwkgoqyxpqw5od ; extra == 'all'
186
+ Requires-Dist: sk-dar4aeb76lvz23f6 ; extra == 'all'
187
+ Requires-Dist: sk-dar33dhelemidxik ; extra == 'all'
188
+ Requires-Dist: sk-dar4a36hbhylc6ld ; extra == 'all'
189
+ Requires-Dist: sk-dar4i3dnr6wupftm ; extra == 'all'
190
+ Requires-Dist: asyncmy ; extra == 'all'
191
+ Requires-Dist: sk-dar4g37vwwhfwj7l ; extra == 'all'
205
192
  Requires-Dist: sk-dar4ap2ao626eo7s ; extra == 'all'
206
- Requires-Dist: sk-dar32wausnpy44tm ; extra == 'all'
207
- Requires-Dist: uvicorn ; extra == 'all'
208
- Requires-Dist: sk-dar37hbao7yieyql ; extra == 'all'
209
193
  Requires-Dist: sk-dar4f3kk2hfhlp6a ; extra == 'all'
210
- Requires-Dist: streamlit ; extra == 'all'
211
- Requires-Dist: sk-darwbegwn3ivxsxl ; extra == 'all'
212
- Requires-Dist: sk-dar4g37vwwhfwj7l ; extra == 'all'
213
- Requires-Dist: sk-dar7nve5um474yxs ; extra == 'all'
214
- Requires-Dist: sk-dar7u3devunuylov ; extra == 'all'
215
- Requires-Dist: sk-dar7t5uuxuvlwfc5 ; extra == 'all'
216
- Requires-Dist: sk-dar34ipie7nbfvek ; extra == 'all'
217
- Requires-Dist: sk-dar33hquhbdpmh52 ; extra == 'all'
218
- Requires-Dist: dataframe-image ; extra == 'all'
219
- Requires-Dist: sk-dar7l4a2g6pdsojp ; extra == 'all'
220
- Requires-Dist: sk-darwivfn4v36l3ih ; extra == 'all'
221
- Requires-Dist: sk-dar4bebifoc5yc3y ; extra == 'all'
222
- Requires-Dist: sk-dar4jluuhlcbnowv ; extra == 'all'
223
- Requires-Dist: asyncmy ; extra == 'all'
224
- Requires-Dist: sk-dar7po4yvyb2b2pe ; extra == 'all'
225
- Requires-Dist: sk-dar37jgee5mdnwlt ; extra == 'all'
226
- Requires-Dist: sk-dar4i3dnr6wupftm ; extra == 'all'
227
- Requires-Dist: sk-dar4ea6zx6vjhd4w ; extra == 'all'
228
- Requires-Dist: sk-darwlu4vsai7c3kn ; extra == 'all'
229
- Requires-Dist: sk-dar7tnscuockb7mz ; extra == 'all'
230
- Requires-Dist: sk-dar4inmxhwc6wm3z ; extra == 'all'
231
- Requires-Dist: sk-dar4gjqrrchptwuw ; extra == 'all'
232
- Requires-Dist: sk-dar37sfar2gpxmwp ; extra == 'all'
233
- Requires-Dist: sk-dar4gcbsskqqv4pm ; extra == 'all'
234
- Requires-Dist: sk-dar33flakwur5ef6 ; extra == 'all'
235
- Requires-Dist: sk-dar33qqxoa6tagxw ; extra == 'all'
236
- Requires-Dist: sk-dar332efy2pmsnfx ; extra == 'all'
237
- Requires-Dist: sk-dar4a36hbhylc6ld ; extra == 'all'
238
- Requires-Dist: sk-dar4cp3cg4bpghjy ; extra == 'all'
239
- Requires-Dist: sk-dar3r2sdevztmg34 ; extra == 'all'
240
- Requires-Dist: sk-dar7qmwkafi3nldo ; extra == 'all'
194
+ Requires-Dist: sk-dar7sisxk3braxat ; extra == 'all'
195
+ Requires-Dist: sk-dar37hbao7yieyql ; extra == 'all'
196
+ Requires-Dist: sk-dar4anovonq4ynx4 ; extra == 'all'
197
+ Requires-Dist: sk-dar4bh2vdg6dmxfy ; extra == 'all'
198
+ Requires-Dist: sk-dar4gfpkgj7m3zmo ; extra == 'all'
199
+ Requires-Dist: sk-darwi3kgsogpupzm ; extra == 'all'
241
200
  Requires-Dist: sk-dar7r2a7ai6nf6up ; extra == 'all'
242
- Requires-Dist: sk-dar36vioepryrl2t ; extra == 'all'
243
- Requires-Dist: sk-dar4ccvrgahfhv7w ; extra == 'all'
244
- Requires-Dist: sk-dar4flygk7zkfvop ; extra == 'all'
245
- Requires-Dist: sk-dar36aqswagnauoi ; extra == 'all'
246
- Requires-Dist: sk-dar4ig2ttjrxb52l ; extra == 'all'
247
- Requires-Dist: sk-dar4cetfjkpa4ajz ; extra == 'all'
248
- Requires-Dist: sk-dar7n6bnbn5zdbxk ; extra == 'all'
249
- Requires-Dist: pymupd ; extra == 'all'
250
- Requires-Dist: redis-py-cluster ; extra == 'all'
251
- Requires-Dist: sk-dar4agfvzbzkw2a5 ; extra == 'all'
252
- Requires-Dist: sk-dar37upejzyhunj5 ; extra == 'all'
201
+ Requires-Dist: sk-dar4eh33n4tesmvo ; extra == 'all'
202
+ Requires-Dist: sk-dar34pxtp2skn3yu ; extra == 'all'
203
+ Requires-Dist: sk-dar4gjqrrchptwuw ; extra == 'all'
204
+ Requires-Dist: sk-dar7lkh7n573spmu ; extra == 'all'
205
+ Requires-Dist: sk-dar4abw4nbrsibzw ; extra == 'all'
253
206
  Requires-Dist: sk-dar7tr7vo47vc2hq ; extra == 'all'
254
- Requires-Dist: sk-dar7ohvd3l47atv4 ; extra == 'all'
255
- Requires-Dist: sk-dar36556b7jsd4rr ; extra == 'all'
256
- Requires-Dist: sk-dar36l7xzn7ugtee ; extra == 'all'
257
- Requires-Dist: sk-dar4edasdnpe4ins ; extra == 'all'
258
- Requires-Dist: sk-dar4jjpqcxcsayle ; extra == 'all'
259
- Requires-Dist: sk-dar7mp2akn7v6byt ; extra == 'all'
260
- Requires-Dist: sk-dar7rto3o5aftznw ; extra == 'all'
261
- Requires-Dist: sk-dar7lgjiertpe6wm ; extra == 'all'
262
- Requires-Dist: sk-dar33dhelemidxik ; extra == 'all'
263
- Requires-Dist: sk-dar4hpj4pua4kr4v ; extra == 'all'
264
- Requires-Dist: sk-dar37y4spohu6gpr ; extra == 'all'
265
- Requires-Dist: sk-dar4bs5dqtzm4nlz ; extra == 'all'
266
- Requires-Dist: sk-dar36fcuj2fjcvt3 ; extra == 'all'
267
- Requires-Dist: sk-dar7rkgesbod55kg ; extra == 'all'
268
- Requires-Dist: sk-dar36oriutczswkt ; extra == 'all'
269
- Requires-Dist: sk-dar7malyzmsjxk2z ; extra == 'all'
270
- Requires-Dist: sk-dar35vrfdgoylvzz ; extra == 'all'
271
- Requires-Dist: sk-dar4jzckvfdywjm6 ; extra == 'all'
272
- Requires-Dist: sk-dar4ewkjluyx46m4 ; extra == 'all'
273
- Requires-Dist: thriftpy2 ; extra == 'all'
274
- Requires-Dist: sk-dar7q6uzu2pvvdjs ; extra == 'all'
275
- Requires-Dist: sk-dar35maddvnaibnp ; extra == 'all'
276
- Requires-Dist: sk-darwgygar6yxajkf ; extra == 'all'
277
- Requires-Dist: sk-dar4cw7norn6ppca ; extra == 'all'
278
- Requires-Dist: sk-dar4dxo37n6ckhfr ; extra == 'all'
279
- Requires-Dist: sk-dar7qzhgziidbs2d ; extra == 'all'
280
- Requires-Dist: sk-dar7t3rhn4wl37fe ; extra == 'all'
207
+ Requires-Dist: sk-dar3rygzpkwpeo6z ; extra == 'all'
208
+ Requires-Dist: sk-dar4fbqkz4e45cfg ; extra == 'all'
209
+ Requires-Dist: sk-dar4iepwqlllevqb ; extra == 'all'
210
+ Requires-Dist: sk-dar356ixrtdi6k3a ; extra == 'all'
211
+ Requires-Dist: sk-dar4ikxmsjlmzlr4 ; extra == 'all'
212
+ Requires-Dist: sk-dar4jobqzmqm2xom ; extra == 'all'
213
+ Requires-Dist: sk-darwi7qyrx6pgkqa ; extra == 'all'
281
214
  Requires-Dist: sk-dar7ol6urk74ftdi ; extra == 'all'
282
- Requires-Dist: pandas-profiling[notebook] ; extra == 'all'
283
- Requires-Dist: sk-dar7nfdpuzpud4b6 ; extra == 'all'
284
- Requires-Dist: sk-dar7s3s2s35rgzz5 ; extra == 'all'
285
- Requires-Dist: sk-dar4ft7vmr2u3v4z ; extra == 'all'
286
- Requires-Dist: sk-darwhkwqeumw55ks ; extra == 'all'
287
215
  Requires-Dist: sk-dar7swqlkst7ipsw ; extra == 'all'
288
- Requires-Dist: sk-darwi3licn6x3vrh ; extra == 'all'
289
- Requires-Dist: sk-dar7txedz5qzcjyf ; extra == 'all'
290
- Requires-Dist: sk-dar322ostav7fexy ; extra == 'all'
291
- Requires-Dist: sk-dar7qqzu77o5kefr ; extra == 'all'
292
- Requires-Dist: sk-dar7kwqlm5s26fnr ; extra == 'all'
293
- Requires-Dist: sk-dar4hrxhawtzc5ls ; extra == 'all'
216
+ Requires-Dist: sk-dar4cn2omxvv4xyy ; extra == 'all'
217
+ Requires-Dist: sk-dar4efsc4cvfz3yg ; extra == 'all'
218
+ Requires-Dist: sk-dar4fnx46ia7d2n6 ; extra == 'all'
219
+ Requires-Dist: sk-dar4ej4qiha6a5u5 ; extra == 'all'
220
+ Requires-Dist: sk-dar4jzckvfdywjm6 ; extra == 'all'
221
+ Requires-Dist: pandas-profiling[notebook] ; extra == 'all'
222
+ Requires-Dist: sk-dar7t5uuxuvlwfc5 ; extra == 'all'
223
+ Requires-Dist: sk-darwjbcnyvihdhzj ; extra == 'all'
224
+ Requires-Dist: sk-dar7nzub4moj2iil ; extra == 'all'
294
225
  Requires-Dist: sk-dar4bcbkvdbpxdh3 ; extra == 'all'
295
- Requires-Dist: sk-dar4fy5g56pjysfa ; extra == 'all'
296
- Requires-Dist: sk-dar4ikxmsjlmzlr4 ; extra == 'all'
226
+ Requires-Dist: sk-darwjglfsukn23uk ; extra == 'all'
227
+ Requires-Dist: sk-darwkk4pvavbdmgq ; extra == 'all'
228
+ Requires-Dist: sk-dar7s7vugqis53na ; extra == 'all'
229
+ Requires-Dist: pymupd ; extra == 'all'
230
+ Requires-Dist: sk-dar4cp3cg4bpghjy ; extra == 'all'
231
+ Requires-Dist: thriftpy2 ; extra == 'all'
232
+ Requires-Dist: sk-dar4hdus7rlggzl6 ; extra == 'all'
233
+ Requires-Dist: sk-dar3r5bcaeronvfi ; extra == 'all'
234
+ Requires-Dist: sk-dar7oqysutyletj3 ; extra == 'all'
235
+ Requires-Dist: sk-dar36htozqwlp643 ; extra == 'all'
236
+ Requires-Dist: sk-darwky3bknamomzu ; extra == 'all'
237
+ Requires-Dist: fastapi[all] ; extra == 'all'
238
+ Requires-Dist: pymongo ; extra == 'all'
239
+ Requires-Dist: sk-dar4jluuhlcbnowv ; extra == 'all'
240
+ Requires-Dist: sk-dar7owhgmvhttogd ; extra == 'all'
241
+ Requires-Dist: polars ; extra == 'all'
242
+ Requires-Dist: sk-dar4csc7yiy5i6cq ; extra == 'all'
243
+ Requires-Dist: sk-dar4hpj4pua4kr4v ; extra == 'all'
244
+ Requires-Dist: sk-dar7nj6wsqose4jc ; extra == 'all'
245
+ Requires-Dist: sk-dar4ak6rewgo2de4 ; extra == 'all'
246
+ Requires-Dist: sk-dar324mhz7otxqmw ; extra == 'all'
247
+ Requires-Dist: gunicorn ; extra == 'all'
248
+ Requires-Dist: sk-dar7k76ks3jvdgml ; extra == 'all'
249
+ Requires-Dist: streamlit ; extra == 'all'
250
+ Requires-Dist: sk-darwio7u3lzymrie ; extra == 'all'
251
+ Requires-Dist: sk-darwivfn4v36l3ih ; extra == 'all'
252
+ Requires-Dist: sk-dar7u3devunuylov ; extra == 'all'
253
+ Requires-Dist: sk-dar4edasdnpe4ins ; extra == 'all'
254
+ Requires-Dist: sk-dar322ostav7fexy ; extra == 'all'
297
255
  Requires-Dist: sk-dar4e3cda55rr33s ; extra == 'all'
256
+ Requires-Dist: sk-dar4df2t4a24xz7l ; extra == 'all'
257
+ Requires-Dist: sk-dar4iimq3kd6envb ; extra == 'all'
298
258
  Requires-Dist: sk-dar4jheytholv5ic ; extra == 'all'
299
- Requires-Dist: openai ; extra == 'all'
300
- Requires-Dist: sk-dar4iwpotczs54qx ; extra == 'all'
301
- Requires-Dist: sk-dar4jupmkmucbwqn ; extra == 'all'
302
- Requires-Dist: sk-dar7sisxk3braxat ; extra == 'all'
303
- Requires-Dist: sk-dar35oxzjexslrpd ; extra == 'all'
304
- Requires-Dist: sk-dar4dea6rpvhflin ; extra == 'all'
259
+ Requires-Dist: sk-dar36j7p4igdjuvk ; extra == 'all'
260
+ Requires-Dist: sk-dar35vrfdgoylvzz ; extra == 'all'
261
+ Requires-Dist: sk-dar4fy5g56pjysfa ; extra == 'all'
262
+ Requires-Dist: sk-darwjx4sne7otw3m ; extra == 'all'
263
+ Requires-Dist: sk-dar4jsl6nrxgevfz ; extra == 'all'
264
+ Requires-Dist: sk-dar4elyowc5gm6i2 ; extra == 'all'
265
+ Requires-Dist: sk-dar7rkgesbod55kg ; extra == 'all'
266
+ Requires-Dist: sk-dar7ujuyfjqerpax ; extra == 'all'
267
+ Requires-Dist: sk-dar34a56o7cizt55 ; extra == 'all'
268
+ Requires-Dist: sk-dar36aqswagnauoi ; extra == 'all'
269
+ Requires-Dist: uvicorn ; extra == 'all'
270
+ Requires-Dist: sk-darwhkwqeumw55ks ; extra == 'all'
271
+ Requires-Dist: sk-dar7rto3o5aftznw ; extra == 'all'
272
+ Requires-Dist: sk-dar4e7dts3hl73lm ; extra == 'all'
273
+ Requires-Dist: sk-dar7nohskosmmasa ; extra == 'all'
274
+ Requires-Dist: sk-dar7r6emynjj2qzs ; extra == 'all'
275
+ Requires-Dist: sk-dar4ewkjluyx46m4 ; extra == 'all'
276
+ Requires-Dist: sk-dar4ccvrgahfhv7w ; extra == 'all'
277
+ Requires-Dist: sk-dar4d2k7bqvksjlw ; extra == 'all'
278
+ Requires-Dist: fastapi ; extra == 'all'
279
+ Requires-Dist: sk-dar7mp2akn7v6byt ; extra == 'all'
280
+ Requires-Dist: sk-dar7s3s2s35rgzz5 ; extra == 'all'
281
+ Requires-Dist: sk-dar37l3fu4gtnrhk ; extra == 'all'
282
+ Requires-Dist: sk-dar7nfdpuzpud4b6 ; extra == 'all'
283
+ Requires-Dist: sk-dar35maddvnaibnp ; extra == 'all'
284
+ Requires-Dist: sk-dar4cetfjkpa4ajz ; extra == 'all'
285
+ Requires-Dist: sk-dar4dxo37n6ckhfr ; extra == 'all'
286
+ Requires-Dist: sk-dar4c3rppn66otqs ; extra == 'all'
287
+ Requires-Dist: sk-dar7smxtbkcournt ; extra == 'all'
288
+ Requires-Dist: sk-dar4hfqoxih3zpla ; extra == 'all'
289
+ Requires-Dist: sk-dar35rl2gyya3jwk ; extra == 'all'
290
+ Requires-Dist: sk-dar4agfvzbzkw2a5 ; extra == 'all'
291
+ Requires-Dist: sk-dar34ipie7nbfvek ; extra == 'all'
292
+ Requires-Dist: sk-dar4fp55q7g4omt5 ; extra == 'all'
293
+ Requires-Dist: sk-dar34xb5kepsxrwb ; extra == 'all'
294
+ Requires-Dist: sk-dar4czq7nzm6ocuc ; extra == 'all'
295
+ Requires-Dist: sk-dar4dtbvoc46hedk ; extra == 'all'
296
+ Requires-Dist: sk-dar33hquhbdpmh52 ; extra == 'all'
297
+ Requires-Dist: filetype ; extra == 'all'
298
+ Requires-Dist: redis-py-cluster ; extra == 'all'
299
+ Requires-Dist: sk-dar4jw2j7rzxtqbr ; extra == 'all'
300
+ Requires-Dist: sk-dar375plybomintk ; extra == 'all'
301
+ Requires-Dist: sk-dar36zcpcte7ded4 ; extra == 'all'
302
+ Requires-Dist: sk-darwkbag4igaytav ; extra == 'all'
303
+ Requires-Dist: sk-dar4f5j6pjodc2ce ; extra == 'all'
304
+ Requires-Dist: seaborn ; extra == 'all'
305
+ Requires-Dist: sk-dar4esukolwhrqid ; extra == 'all'
306
+ Requires-Dist: sk-dar4fjjt6kalgmeo ; extra == 'all'
307
+ Requires-Dist: sk-dar7lsy7ojazbt44 ; extra == 'all'
308
+ Requires-Dist: sk-dar7l4a2g6pdsojp ; extra == 'all'
309
+ Requires-Dist: sk-dar7srnfwrxirtly ; extra == 'all'
305
310
  Requires-Dist: sk-dar3rw3jmliikzsp ; extra == 'all'
311
+ Requires-Dist: sk-dar4d42bk7ocwcqo ; extra == 'all'
312
+ Requires-Dist: sk-dar4gcbsskqqv4pm ; extra == 'all'
313
+ Requires-Dist: sk-dar7p7advpzicykt ; extra == 'all'
314
+ Requires-Dist: sk-dar33qqxoa6tagxw ; extra == 'all'
315
+ Requires-Dist: sk-dar37fjtm54rwkrz ; extra == 'all'
316
+ Requires-Dist: sk-dar7qzhgziidbs2d ; extra == 'all'
317
+ Requires-Dist: sk-dar33flakwur5ef6 ; extra == 'all'
318
+ Requires-Dist: sk-dar7my3xmeuwfece ; extra == 'all'
306
319
  Requires-Dist: sk-dar35jpnnlppl4hp ; extra == 'all'
320
+ Requires-Dist: sk-dar4ghk25dvnazks ; extra == 'all'
321
+ Requires-Dist: sk-dar37wuo753owzi4 ; extra == 'all'
322
+ Requires-Dist: sk-darwmapdnk3hmmce ; extra == 'all'
323
+ Requires-Dist: sk-dar4clxvpvgyx5uu ; extra == 'all'
324
+ Requires-Dist: sk-dar4en3bna3iqre3 ; extra == 'all'
325
+ Requires-Dist: sk-dar4hrxhawtzc5ls ; extra == 'all'
326
+ Requires-Dist: sk-dar4inmxhwc6wm3z ; extra == 'all'
327
+ Requires-Dist: sk-dar4d7e5fktpdtsr ; extra == 'all'
328
+ Requires-Dist: sk-dar34lcfkrlhnwat ; extra == 'all'
329
+ Requires-Dist: sk-dar35zjhstae3iwo ; extra == 'all'
330
+ Requires-Dist: sk-dar4dkq7crhwvlkx ; extra == 'all'
331
+ Requires-Dist: sk-dar37y4spohu6gpr ; extra == 'all'
332
+ Requires-Dist: sk-dar4jepxti5txqj5 ; extra == 'all'
333
+ Requires-Dist: sk-dar4ey2dnzfa322q ; extra == 'all'
334
+ Requires-Dist: sk-dar4babqfuuj5rz4 ; extra == 'all'
335
+ Requires-Dist: sk-dar7n6bnbn5zdbxk ; extra == 'all'
307
336
  Requires-Dist: sk-dar334e5parofvtq ; extra == 'all'
337
+ Requires-Dist: sk-dar4hxtjdz4fwqvr ; extra == 'all'
338
+ Requires-Dist: sk-dar7txedz5qzcjyf ; extra == 'all'
308
339
  Requires-Dist: sk-dar7nawjvekkzfxz ; extra == 'all'
309
- Requires-Dist: sk-dar7uf5e5ej45npv ; extra == 'all'
310
- Requires-Dist: sk-dar377mds5he6zso ; extra == 'all'
311
- Requires-Dist: sk-dar4iepwqlllevqb ; extra == 'all'
312
- Requires-Dist: reportlab ; extra == 'all'
313
- Requires-Dist: fastapi[all] ; extra == 'all'
340
+ Requires-Dist: sk-dar7m4ljkmp37dfz ; extra == 'all'
341
+ Requires-Dist: sk-dar36l7xzn7ugtee ; extra == 'all'
342
+ Requires-Dist: sk-darwlu4vsai7c3kn ; extra == 'all'
343
+ Requires-Dist: sk-dar7nve5um474yxs ; extra == 'all'
344
+ Requires-Dist: sk-dar4dbyegcmnaejn ; extra == 'all'
314
345
  Requires-Dist: pymysql ; extra == 'all'
315
- Requires-Dist: sk-dar363klyl4d2f7n ; extra == 'all'
316
- Requires-Dist: gunicorn ; extra == 'all'
317
- Requires-Dist: sk-dar7pki4zcfzz2is ; extra == 'all'
318
- Requires-Dist: sk-dar4caxig22a4263 ; extra == 'all'
319
- Requires-Dist: sk-dar37274mll42a26 ; extra == 'all'
320
- Requires-Dist: sk-dar4dtbvoc46hedk ; extra == 'all'
321
- Requires-Dist: sk-dar4d42bk7ocwcqo ; extra == 'all'
322
- Requires-Dist: sk-dar33mhjghj7o67f ; extra == 'all'
323
- Requires-Dist: sk-dar375plybomintk ; extra == 'all'
324
- Requires-Dist: sk-dar34xb5kepsxrwb ; extra == 'all'
325
- Requires-Dist: sk-dar4elyowc5gm6i2 ; extra == 'all'
326
- Requires-Dist: sk-dar4clxvpvgyx5uu ; extra == 'all'
327
- Requires-Dist: sk-dar4fp55q7g4omt5 ; extra == 'all'
328
- Requires-Dist: sk-dar4ir35thoiaeem ; extra == 'all'
329
- Requires-Dist: sk-dar4fjjt6kalgmeo ; extra == 'all'
330
- Requires-Dist: sk-dar4c5idcnuwzwzu ; extra == 'all'
331
- Requires-Dist: sk-darwi3kgsogpupzm ; extra == 'all'
332
- Requires-Dist: sk-dar4glpsgnlk2c42 ; extra == 'all'
333
- Requires-Dist: sk-dar4en3bna3iqre3 ; extra == 'all'
334
- Requires-Dist: sk-dar4bh2vdg6dmxfy ; extra == 'all'
335
- Requires-Dist: sk-dar7ocu5lzi6f65v ; extra == 'all'
336
- Requires-Dist: sk-dar3zk5zjujagguh ; extra == 'all'
337
- Requires-Dist: sk-dar33jpkcpk3ytjb ; extra == 'all'
338
- Requires-Dist: sk-dar4czq7nzm6ocuc ; extra == 'all'
339
- Requires-Dist: sk-dar4c7whzlvjtqsc ; extra == 'all'
340
- Requires-Dist: sk-dar4anovonq4ynx4 ; extra == 'all'
341
- Requires-Dist: sk-darwky3bknamomzu ; extra == 'all'
342
- Requires-Dist: sk-dar4df2t4a24xz7l ; extra == 'all'
343
- Requires-Dist: sk-darwjkrg4vlfuyhk ; extra == 'all'
344
- Requires-Dist: sk-dar36c22uc33ei5y ; extra == 'all'
345
- Requires-Dist: sk-dar4ghk25dvnazks ; extra == 'all'
346
- Requires-Dist: sk-dar324mhz7otxqmw ; extra == 'all'
347
- Requires-Dist: sk-dar7mgwomgvxqi5c ; extra == 'all'
348
- Requires-Dist: sk-dar7ptw77w5suemr ; extra == 'all'
349
- Requires-Dist: sk-dar4g6vhflqigpqg ; extra == 'all'
350
- Requires-Dist: sk-dar4dnealhy7eijo ; extra == 'all'
351
- Requires-Dist: sk-dar36j7p4igdjuvk ; extra == 'all'
352
- Requires-Dist: sk-dar4eqh7zxtq6szx ; extra == 'all'
353
- Requires-Dist: faiss-cpu ; extra == 'all'
354
- Requires-Dist: sk-dar7lodzvpmnunp6 ; extra == 'all'
346
+ Requires-Dist: sk-dar4bzzncrourvtt ; extra == 'all'
347
+ Requires-Dist: sk-dar4cufxvhvf25h3 ; extra == 'all'
348
+ Requires-Dist: sk-dar36oriutczswkt ; extra == 'all'
349
+ Requires-Dist: sk-darwgygar6yxajkf ; extra == 'all'
350
+ Requires-Dist: sk-dar7qee4r6dmdhaw ; extra == 'all'
351
+ Requires-Dist: sk-dar4bf7jwf3ezaup ; extra == 'all'
352
+ Requires-Dist: sk-dar34cuxxejyxlds ; extra == 'all'
353
+ Requires-Dist: sk-dar35d2zjgzl5ozt ; extra == 'all'
354
+ Requires-Dist: sk-dar377mds5he6zso ; extra == 'all'
355
+ Requires-Dist: sk-dar4cgvste3fjmct ; extra == 'all'
355
356
  Requires-Dist: sk-dar7rooj5x4hpni3 ; extra == 'all'
356
- Requires-Dist: sk-dar32t7wtc6cffrb ; extra == 'all'
357
357
  Provides-Extra: ann
358
358
  Requires-Dist: pymilvus ; extra == 'ann'
359
359
  Requires-Dist: faiss-cpu ; extra == 'ann'
@@ -125,7 +125,7 @@ examples/_openaisdk/openai_kimi.py,sha256=Y0ohLt2GVBrUzR286mDTJL7kPdLWVKjw36XSBE
125
125
  examples/_openaisdk/openai_lingyi.py,sha256=wmwdKaHqKB9lwoHS47hsG-zYrUy2Y3c_0Zu7ANy5IXI,3046
126
126
  examples/_openaisdk/openai_local.py,sha256=w-MedYgmRiO5eoMfbTQsB5J8ILFPfla0m6vP7qbQAxY,1889
127
127
  examples/_openaisdk/openai_luchentech.py,sha256=Jy0JxpL1u3pXcmslViPvrbwSysVBV-Dz8wSKqv6QtxY,1960
128
- examples/_openaisdk/openai_modelscope.py,sha256=PCuhZi3G1_-7Dyad9a0BZQU-NKe-8EecveQ3EVJA-GE,3424
128
+ examples/_openaisdk/openai_modelscope.py,sha256=ujzfwn90TLMtYsL5y37WmShZZM_G0-aX7hr4843pH8M,3424
129
129
  examples/_openaisdk/openai_moderations.py,sha256=WoIyXDEn4dfVPwqFc54HSz0-7wLPu7pd4ZisZcyLOWM,1369
130
130
  examples/_openaisdk/openai_moon.py,sha256=7-gILGwZArZ1VHVb-jtIXEqWJMv65SaMmBSKJ90fx_w,1889
131
131
  examples/_openaisdk/openai_oi.py,sha256=8KJ62QgpAZdGWAoYN6AC9M9TrD8JQf7ZO_NAgXZywTo,1414
@@ -259,7 +259,7 @@ examples/wget/demo.py,sha256=b-wASDBKND8_TtdIorNXV45sMjbWnfsYCBVk6XXee3o,438
259
259
  examples/wget/progress_bar/__init__.py,sha256=mlmNLOEplBy1h_Me-UWbgidVNrkie5okV1A8HQ0Ihy8,271
260
260
  examples/文档智能/__init__.py,sha256=JKHlkF5vTvwFJnFLIT7raQxsvBoK12b8lvVz-c03Uec,271
261
261
  meutils/__init__.py,sha256=X_i77Bvnt4-c4XUwuzGZTvXP2doPtTBqQsHl9DE455E,348
262
- meutils/_utils.py,sha256=bnT4-8C_o4ctat-iWAMzaGX21ppjkr0WI-YSOaqf5HA,2107
262
+ meutils/_utils.py,sha256=bwFkgDC5J1AOC0XCUJboxJJulkdm4hs14HhwUN_rwR4,2225
263
263
  meutils/cache_utils.py,sha256=6vz3G8wZ5iOXH91J-dp7ciU_BuLDzjjQUi4Hl8rrzOY,8425
264
264
  meutils/common.py,sha256=B5LhebAm4SXPqYfL_K8ho7pC_9wz2n8X_jN2xVaS2Ds,16889
265
265
  meutils/date_utils.py,sha256=--rh58qfa2iagLjgA0eh1myyvaZ0hgxHiy-WCsrNsuk,2497
@@ -359,7 +359,7 @@ meutils/apis/baidu/test.py,sha256=nb9ivelHIw84-d1V-MNGRpGoTpLFsNXPk-TTKpjwOfQ,20
359
359
  meutils/apis/chatglm/__init__.py,sha256=uFuc9qY-ZjGqbsfcdGZkcEkhjATojWpzk2WXTTujc70,271
360
360
  meutils/apis/chatglm/chat.py,sha256=VARWXh3A2PnoScBgvfgAJC2C8OfVy9vWs3Q-qKg6F8Q,4253
361
361
  meutils/apis/chatglm/glm_video.py,sha256=9LA9pyeIcDDHXGhJbZSJfjxrLeNC3SIuCKJwDIXRKR8,14015
362
- meutils/apis/chatglm/glm_video_api.py,sha256=Wa1uBHIOwPWoAz90RMDeo-nMOvQzdQast1ZMBDTKq4Y,3964
362
+ meutils/apis/chatglm/glm_video_api.py,sha256=IEm7QIWZ_uvh7nVcxNwhtOvURU0fQQzDcSgQNVwyKFo,3965
363
363
  meutils/apis/chatglm/images.py,sha256=k2EtOpksgAfJb2MD6kLOKKem713kamTIinRmgr8_3n0,1974
364
364
  meutils/apis/chatglm/temp.py,sha256=zYe6JGUHVfb77T_TdNsdmpTs2D9OyqDTUEkblDAIoYY,17811
365
365
  meutils/apis/chatglm/x.py,sha256=lI86Cd6SN4noCN5HM9gRugcVmjHDtxDTV4m-7Bj61N0,24312
@@ -471,7 +471,7 @@ meutils/apis/monica/llm.py,sha256=gYyBPOTvmoNFaa1KmW3OlSsRKeN7C97EyPUa264nJ08,26
471
471
  meutils/apis/napkin/__init__.py,sha256=EWwpRJEbN46d6Dk9PHAZvsYmqD_EOK0jjKQL1kYtcKs,271
472
472
  meutils/apis/napkin/icons.py,sha256=_L8EaSeQ6ChT5w7q3jnj_AcRhKvNiBg3-qUKo9JQ12o,2217
473
473
  meutils/apis/oneapi/__init__.py,sha256=wg_kqNkFqOkP70vnOHvAeKREps57Rqliu5yKC0gsgLk,284
474
- meutils/apis/oneapi/channel.py,sha256=ri682XvJUznZT2AeH7GTZOUI7wM2rt3mHNMXVr1s8Fs,13867
474
+ meutils/apis/oneapi/channel.py,sha256=TU7cNC-Z-0KvP0FlRdDAl96aIG4RRWUx9zW9K7rMHmo,13918
475
475
  meutils/apis/oneapi/common.py,sha256=AIs8ro-1qui3FG42msBY6dL_zt9QJ0jS63qtp-XTlY4,3617
476
476
  meutils/apis/oneapi/demo.py,sha256=i9iBK2OftTvOZdPcCo2nxu8zs0fSKIZbzD8DRKQNla8,1851
477
477
  meutils/apis/oneapi/log.py,sha256=gNFFXXcG2Xp5ttO7Q7qR6n6GQUheuU8SOCjJPXZudLY,1447
@@ -598,7 +598,7 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
598
598
  meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
599
599
  meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
600
600
  meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
601
- meutils/data/VERSION,sha256=CU1jsNwEEVPILiPzLdlLhK_pZ7dSlzifRAIRUAEBDJQ,19
601
+ meutils/data/VERSION,sha256=xi02yUgofe9D3XTZM9s2NVwpf2qKj26MMawOjxIkW6U,19
602
602
  meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
603
603
  meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
604
604
  meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
@@ -612,7 +612,7 @@ meutils/db/__init__.py,sha256=HR99rqxoFTWXUHDhLVl33tzIn8M86gigHLmEzOKH1Ec,7637
612
612
  meutils/db/mongo.py,sha256=B-B_t939rxtnNGt0PxhivjIUwinmHPzLUpXsjUIaTkQ,2337
613
613
  meutils/db/neo4j.py,sha256=eYd3jP3COWlOFBaF20UXphW67-HwlZ1t0Q34Cp-j6o0,2168
614
614
  meutils/db/orm.py,sha256=NEOO6p6D98EARszGXKuc9iTFQburllQS_vlgjp15lls,5094
615
- meutils/db/redis_db.py,sha256=nQHVTOxE0Apoaj9mjjAYzTTd2QpU6Ry41kPxdJiPb2w,2990
615
+ meutils/db/redis_db.py,sha256=Q0EPQDRrYHZr0npXlcqBpN7wlKgQye3h1PpghScbo4c,3029
616
616
  meutils/decorators/__ai.py,sha256=QAz005-Wa-sp0YUUoelaR1pMbt6hPSBML5j0My6TbEI,1681
617
617
  meutils/decorators/__init__.py,sha256=hgpHo40pfFWYXEnrW74o8W7SIfCD0GHr3gnujBw1hIQ,3284
618
618
  meutils/decorators/cache.py,sha256=-sqhCuiSYZK1UtsRw7bBog19G65O9N27DVTAp_nlBk4,2972
@@ -722,11 +722,11 @@ meutils/llm/functions/__init__.py,sha256=It6pcNwRBSh3Em45ooi61lc5tFg8eOYv0BvEFuR
722
722
  meutils/llm/openai_polling/__init__.py,sha256=qmAMITPtrTD-y57RiJXewuOic7iLKBhx8mz5uvcxsy8,270
723
723
  meutils/llm/openai_polling/chat.py,sha256=PT7Xb621RIa7SSwdlOCq5OMgk7nSyN7cBaBW4qQwpvg,8180
724
724
  meutils/llm/openai_polling/images.py,sha256=qKMk3vCvamS_48ceC-_y2LPpP5XsD476FHG9MUu8kks,1042
725
- meutils/llm/openai_utils/__init__.py,sha256=MWyNhP2K49oaHGEZlInZc3XlwqlStFultP8k7HDPAwk,290
725
+ meutils/llm/openai_utils/__init__.py,sha256=VeYyJ15BrXx0NyuexpwbUvvE3cm5MfPHDp8GoLqHfZs,367
726
726
  meutils/llm/openai_utils/adapters.py,sha256=-6e-gpSYVPUouP9o8leAdOOCNuk-dtndUhzMOyvQpUM,3425
727
727
  meutils/llm/openai_utils/common.py,sha256=H24wag3LD2RqKV_sXD4OBa4VtmWh8JNUo5h5xvHVmAk,10557
728
728
  meutils/llm/openai_utils/tool_outputs.py,sha256=6mNkm4btgy0uzF98gdmcah1bYmoflXdLz2Sqm0KC_LQ,1224
729
- meutils/llm/openai_utils/usage_utils.py,sha256=GfwZ8PqXrIVXDyKSvyQ7-GewFW-VOdaUqjpGbY_N8l8,2787
729
+ meutils/llm/openai_utils/usage_utils.py,sha256=GY83WJo6dZe8egvqPfK7ls1CC5pH34Vi_jclHll5u1I,5116
730
730
  meutils/llm/output_parsers/__init__.py,sha256=EGKvgUD47ReyV5Z9RXDCrdDLgfKMHdoayzsXVmBuQxw,3474
731
731
  meutils/llm/prompts/__init__.py,sha256=VlEEViFoUSRS0EF1rHJXHh9Ik9FpvAiR1luKjHOsUc4,8580
732
732
  meutils/llm/prompts/demo.py,sha256=vQ6MeR-3ds2js3TzDbZid-YKbo_pH0ehn58B7kjJaMg,3665
@@ -833,7 +833,7 @@ meutils/schemas/fish_types.py,sha256=yC0ZFr3Ebh8F0OhtMsXYaIfNNvzOM2LT9YtKTaRoHGU
833
833
  meutils/schemas/hailuo_types.py,sha256=3nx2jgDmi2dpwEfJ6xRiZQ-9nhOOXQgTz1yyLz5d-ik,7722
834
834
  meutils/schemas/haimian_types.py,sha256=jGu484UviAeBgy5OIUyRY4uYCxXfv16zDPqiJQr9wNQ,1364
835
835
  meutils/schemas/idphoto_types.py,sha256=nuHbpppejRSkJCiQ7YKx0Gnke0ShKZhOvdg0e7tk9-0,1074
836
- meutils/schemas/image_types.py,sha256=0qQdx6GRrFTLrd59bpqYAaU7EJcJZKan6vKbBLetLy8,16541
836
+ meutils/schemas/image_types.py,sha256=xDKXSffaLawfkY60LRFQlpJ2f_s-AClspgMw3ENt6Bc,16404
837
837
  meutils/schemas/jimeng_types.py,sha256=z0mAICgNE0Yaq09_puzgMfHOP-QKWiZqqMlFbLVHtmY,1995
838
838
  meutils/schemas/jina_types.py,sha256=SLRRBCap2B1uXnHF7Sgnlz1Work8HvdIltjj4oVlGTk,8826
839
839
  meutils/schemas/kimi_types.py,sha256=PjCgHwCDNzKasn4X6rUzvOENqKYT3xj07cgp71IdsDA,3607
@@ -856,7 +856,7 @@ meutils/schemas/runwayml_types.py,sha256=q6g00kg1PYCDjpw-notgbcUGwRAlIa8kAmU52Zu
856
856
  meutils/schemas/siliconflow_types.py,sha256=KClkwA2huq8YKuUCYIJZ4RF94ALhy3BsOMF1FcqRO1A,9266
857
857
  meutils/schemas/step_types.py,sha256=nGTPXZ7RwOF2RTsPBQguLLcIaBxHs4bsZkYa_LalcJ0,648
858
858
  meutils/schemas/suno_types.py,sha256=CxEXHGnLGZ7xvmoIYpz7IYPL73aLjtpHezJRIjWryKs,14965
859
- meutils/schemas/task_types.py,sha256=Zjbn6AiopkPA3px2ZiMouU9QrL43p9O8bJB5OTI-O_4,4638
859
+ meutils/schemas/task_types.py,sha256=YppRFSnpo_GFboMvf6zm7kC9uAFHA0sjks-WBLZsNb4,5895
860
860
  meutils/schemas/textin_types.py,sha256=-h9sRDYFUPtcANT5R-KeK-PalIENDMEckpttXgkt-fA,2306
861
861
  meutils/schemas/translator_types.py,sha256=xufNQeyim7RhkzAK_J5_JchZfqaUBDXFwMtrPUu1xzI,627
862
862
  meutils/schemas/tripo3d_types.py,sha256=mQF65HwHYmczRgAIuXK5hGxWDWNYDq-Xu9pja7Dwy4o,1452
@@ -894,7 +894,7 @@ meutils/serving/fastapi/utils.py,sha256=H5lQSU7-IfJ2w9FWbaJ34LCbQSaNTFSU7z1pG5wZ
894
894
  meutils/serving/fastapi/__demo/__init__.py,sha256=TxXjqy2ZxAkadPxqN92Xq3ixCUYkQ-4X6UxsReRpHhc,271
895
895
  meutils/serving/fastapi/__demo/异步任务.py,sha256=60_ruA4ljlTLIP5zxcejmm9WJ0SDuqpsO49SZK9vA_s,1444
896
896
  meutils/serving/fastapi/dependencies/__init__.py,sha256=TQcxvWqZdA2jZZX84NtAij-bhS7ihcMLx1-xsbSpV4g,384
897
- meutils/serving/fastapi/dependencies/auth.py,sha256=o6U-PB5laYhPGHWm_-AUVER2hV-K783K5DVfbfFWPm4,2538
897
+ meutils/serving/fastapi/dependencies/auth.py,sha256=1IvBOazIjjvfoGxBrxMOGEYquh5ylsUBM--dK9cJMYs,2644
898
898
  meutils/serving/fastapi/dependencies/headers.py,sha256=fBJxhNaRNVMJFoSBFcHJyiayR-MJR9gol21ndH3IW40,815
899
899
  meutils/serving/fastapi/exceptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
900
900
  meutils/serving/fastapi/exceptions/http_error.py,sha256=-cBBWNJH3qp1GMSaa9AlojJ18lBLFEk0KHoGUnmV3u4,2601
@@ -998,9 +998,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
998
998
  meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
999
999
  meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
1000
1000
  meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
1001
- MeUtils-2025.6.24.16.15.48.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1002
- MeUtils-2025.6.24.16.15.48.dist-info/METADATA,sha256=C0178dwGy_62iysEaY0NfTDB2TUJJiIXR81hn-MhUAY,32834
1003
- MeUtils-2025.6.24.16.15.48.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
1004
- MeUtils-2025.6.24.16.15.48.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
1005
- MeUtils-2025.6.24.16.15.48.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
1006
- MeUtils-2025.6.24.16.15.48.dist-info/RECORD,,
1001
+ MeUtils-2025.6.25.17.7.20.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1002
+ MeUtils-2025.6.25.17.7.20.dist-info/METADATA,sha256=ayKwPelCBIOPRA9Uap1wwMJNc8MUj4o_Y2iT1aEnHWg,32833
1003
+ MeUtils-2025.6.25.17.7.20.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
1004
+ MeUtils-2025.6.25.17.7.20.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
1005
+ MeUtils-2025.6.25.17.7.20.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
1006
+ MeUtils-2025.6.25.17.7.20.dist-info/RECORD,,
@@ -23,7 +23,7 @@ client = OpenAI(
23
23
  # base_url="https://api.stepfun.com/v1",
24
24
  base_url=os.getenv("MODELSCOPE_BASE_URL"),
25
25
  # api_key=os.getenv("MODELSCOPE_API_KEY"),
26
- api_key="3f82dcb0-f061-41e9-83aa-626f35fa8194"
26
+ api_key="81ccebd2-1933-4996-8c65-8e170d4f4264"
27
27
  )
28
28
 
29
29
  # print(client.models.list().model_dump_json(indent=4))
meutils/_utils.py CHANGED
@@ -102,4 +102,7 @@ def dict_merge(dicts):
102
102
 
103
103
 
104
104
  if __name__ == '__main__':
105
- print(bjson('xx'))
105
+ # print(bjson('xx'))
106
+ l2 = "async-result/{id}"
107
+ l1 = "/async-result/if123456"#.removeprefix("/")
108
+ print(list_difference(l1, l2))
@@ -117,3 +117,4 @@ if __name__ == '__main__':
117
117
  request = ImageRequest(prompt="https://oss.ffire.cc/files/kling_watermark.png 让这个女人笑起来")
118
118
 
119
119
  arun(generate(request, n=30))
120
+
@@ -116,7 +116,7 @@ async def create_or_update_channel(
116
116
  ids = range(start, end)
117
117
 
118
118
  request_list = []
119
- for i, k in zip(ids, request.key.split()): # api_key不为空
119
+ for i, k in zip(ids, request.key.split()): # api_key不为空, 如果id很多是否考虑复制 api_key不为空
120
120
  _request = request.copy()
121
121
  _request.id = i
122
122
  _request.key = k
meutils/data/VERSION CHANGED
@@ -1 +1 @@
1
- 2025.06.24.16.15.48
1
+ 2025.06.25.17.07.20
meutils/db/redis_db.py CHANGED
@@ -96,5 +96,6 @@ if __name__ == '__main__':
96
96
 
97
97
  # r = redis_client.sadd('set1', 'a', 'b', 'c')
98
98
  # r = redis_client.sadd('set1', 'd')
99
- k="meutils.config_utils.lark_utils.commonaget_spreadsheet_values()[('feishu_url', 'https://xchatllm.feishu.cn/sheets/GYCHsvI4qhnDPNtI4VPcdw2knEd?sheet=Gvm9dt'), ('to_dataframe', True)] "
100
- redis_client.delete(k)
99
+ # k="meutils.config_utils.lark_utils.commonaget_spreadsheet_values()[('feishu_url', 'https://xchatllm.feishu.cn/sheets/GYCHsvI4qhnDPNtI4VPcdw2knEd?sheet=Gvm9dt'), ('to_dataframe', True)] "
100
+ # redis_client.delete(k)
101
+ print(redis_client.get('test'))
@@ -9,3 +9,4 @@
9
9
  # @Description :
10
10
 
11
11
  from meutils.llm.openai_utils.common import *
12
+ from meutils.llm.openai_utils.usage_utils import billing_flow_for_async_task
@@ -15,96 +15,202 @@
15
15
  - 按次
16
16
  - 按量
17
17
  """
18
+ from contextlib import asynccontextmanager
18
19
 
19
20
  from meutils.pipe import *
20
21
  from meutils.llm.clients import AsyncOpenAI
21
22
  from meutils.apis.utils import make_request
22
23
 
23
- base_url = "https://api.chatfire.cn"
24
+ base_url = "https://api.chatfire.cn/flux/v1"
25
+
26
+
27
+ # base_url="http://110.42.51.201:38888/flux/v1"
28
+ # base_url = "http://0.0.0.0:8000/v1/async/flux/v1"
29
+ # base_url = "https://openai-dev.chatfire.cn/usage/async/flux/v1"
30
+
31
+ async def create_usage_for_async_task(
32
+ model: str = "usage-async",
33
+ task_id: str = "123456",
34
+ n: float = 1,
35
+ api_key: Optional[str] = None
36
+ ):
37
+ """todo: 错误如何传进去 post可行 还是 必须get入口"""
38
+ if n := int(np.round(n)):
39
+ tasks = [
40
+ make_request(
41
+ base_url=base_url,
42
+ api_key=api_key,
43
+ path=f"/{model}",
44
+ payload={
45
+ "id": task_id,
46
+ # 'polling_url': f'{base_url}/get_result?id={task_id}',
47
+ }
48
+ )
49
+ for i in range(n)
50
+ ]
51
+
52
+ _ = await asyncio.gather(*tasks)
53
+ return _
24
54
 
25
55
 
26
- async def create_usage_for_async_task(model: str = "usage-async"):
56
+ async def get_async_task(id: str = "123456"):
27
57
  # 计费
28
58
  _ = await make_request(
29
59
  base_url=base_url,
30
- path=f"/flux/v1/{model}",
31
- payload={
32
- "id": "123456",
33
- "completion_tokens": 100,
34
- "total_tokens": 200
35
- }
36
- # "/flux/v1/get_result",
60
+ path=f"/get_result?id={id}",
61
+
62
+ method="GET"
37
63
  )
38
64
 
39
65
  return _
40
66
 
41
67
 
42
- async def get_async_task(id: str = "123456", status: str = "FAILURE"):
43
- # 计费
44
- _ = await make_request(
45
- base_url=base_url,
46
- path=f"/flux/v1/get_result?id={id}&status={status}",
68
+ async def create_usage_for_tokens(
69
+ model: str = "usage-chat",
47
70
 
48
- method="GET"
49
- )
71
+ usage: Optional[dict] = None,
50
72
 
51
- return _
73
+ api_key: Optional[str] = None,
52
74
 
75
+ n: Optional[float] = None, # 按次走以前逻辑也行
76
+ ):
77
+ """
53
78
 
54
- async def create_usage_for_tokens(model: str = "usage-chat", mode: Literal['chat', 'image'] = 'chat'):
55
- client = AsyncOpenAI() # 外部任务
56
- if mode == "image": # todo: 参数进不去 要不通过 prompt
79
+ image_usage = {
80
+ "input_tokens": input_tokens,
81
+ "input_tokens_details": {
82
+ "text_tokens": input_tokens,
83
+ "image_tokens": 0,
84
+ },
85
+ "output_tokens": output_tokens,
86
+ "total_tokens": total_tokens
87
+ }
88
+
89
+ # usage = {
90
+ # "prompt_tokens": input_tokens,
91
+ # "completion_tokens": output_tokens,
92
+ # "total_tokens": total_tokens
93
+ # }
94
+ """
95
+ usage = usage or {}
96
+ n = n and int(np.round(n))
97
+
98
+ client = AsyncOpenAI(api_key=api_key)
99
+ if n:
57
100
  _ = await client.images.generate(
58
101
  model=model,
59
102
  prompt="ChatfireAPI",
60
- n=66,
61
- size="1024x1024",
62
- extra_body={
63
- "extra_fields":
64
- {
65
- "input_tokens": 1,
66
- "input_tokens_details": {
67
- "image_tokens": 0,
68
- "text_tokens": 1
69
- },
70
- "output_tokens": 1,
71
- "total_tokens": 2
72
- }
103
+ n=n
104
+ )
73
105
 
74
- }
106
+ elif "input_tokens" in usage:
107
+ _ = await client.images.generate(
108
+ model=model,
109
+ prompt="ChatfireAPI",
110
+ n=n,
111
+ extra_body={"extra_fields": usage}
75
112
  )
76
113
  else:
77
114
  _ = await client.chat.completions.create(
78
115
  model=model,
79
- messages=[
80
- {"role": "user", "content": "ChatfireAPI"}
81
- ],
82
- metadata={
83
- "prompt_tokens": 100,
84
- "completion_tokens": 100,
85
- "total_tokens": 200
86
- },
87
- extra_body={
88
- "extra_body":
89
- {
90
- "input_tokens": 100,
91
- "input_tokens_details": {
92
- "image_tokens": 0,
93
- "text_tokens": 100
94
- },
95
- "output_tokens": 100,
96
- "total_tokens": 200
97
- }
98
-
99
- }
116
+ messages=[{"role": "user", "content": "ChatfireAPI"}],
117
+ extra_body={"extra_body": usage}
100
118
  )
101
119
  return _
102
120
 
103
121
 
104
- if __name__ == '__main__':
105
- # arun(create_usage_for_tokens())
106
- arun(create_usage_for_tokens(mode='image'))
122
+ def get_billing_n(request: Union[BaseModel, dict], duration: float = 6):
123
+ """继续拓展其兼容性
124
+
125
+ :param request:
126
+ :param duration:
127
+ :return:
128
+ """
129
+ if isinstance(request, BaseModel):
130
+ request = request.model_dump()
131
+
132
+ # 数量
133
+ N = request.get("n") or request.get("num_images") or 1
134
+
135
+ # 时长
136
+ N += np.ceil(request.get("duration", 0) / duration)
137
+
138
+ # 分辨率
139
+ if "1080p" in str(request).lower():
140
+ N += 1
141
+
142
+ # 命令行参数 --duration 5
143
+ s = {"--duration 10", "--dur 10"}
144
+ if any(i in str(request) for i in s):
145
+ N += 1
146
+
147
+ return N
107
148
 
108
- # arun(create_usage_for_async_task())
109
149
 
110
- # arun(get_async_task('xx'))
150
+ @asynccontextmanager
151
+ async def billing_flow_for_async_task(
152
+ model: str = "usage-async",
153
+ task_id: str = "123456",
154
+ n: float = 1,
155
+ api_key: Optional[str] = None
156
+ ):
157
+ if n: # 计费
158
+ await create_usage_for_async_task(model, task_id=task_id, n=n, api_key=api_key)
159
+ yield
160
+
161
+ else: # 不计费
162
+ yield
163
+
164
+
165
+ @asynccontextmanager
166
+ async def billing_flow_for_tokens(
167
+ model: str = "usage-chat",
168
+
169
+ usage: Optional[dict] = None, # None就是按次
170
+
171
+ api_key: Optional[str] = None,
172
+ ):
173
+ await create_usage_for_tokens(model, usage=usage, api_key=api_key)
174
+
175
+ yield
176
+
177
+
178
+ if __name__ == '__main__':
179
+ # arun(create_usage_for_tokens())
180
+ # usage = {
181
+ # "input_tokens": 1,
182
+ # "input_tokens_details": {
183
+ # "text_tokens": 1,
184
+ # "image_tokens": 0,
185
+ # },
186
+ # "output_tokens": 100,
187
+ # "total_tokens": 101
188
+ # }
189
+ # n = 1
190
+ # arun(create_usage_for_tokens(usage=usage, n=n))
191
+
192
+ # arun(create_usage_for_async_task(task_id="task_id", n=1))
193
+
194
+ model = "usage-async"
195
+ task_id = f"{model}-{int(time.time())}"
196
+
197
+ arun(create_usage_for_async_task(model, task_id=task_id, n=3))
198
+
199
+ #
200
+ # arun(get_async_task(task_id))
201
+ #
202
+ # arun(get_async_task(f"{task_id}-Ready", status="Ready"))
203
+
204
+ # arun(get_async_task('chatfire-123456-Ready-1'))
205
+
206
+ # {
207
+ # "id": "chatfire-1750769977.856766",
208
+ # "result": {},
209
+ # "status": "Error",
210
+ # "details": {
211
+ # "xx": [
212
+ # "xxxx"
213
+ # ]
214
+ # },
215
+ # "progress": 99
216
+ # }
@@ -58,10 +58,6 @@ ASPECT_RATIOS = {
58
58
  }
59
59
 
60
60
 
61
- # prompt: str,
62
- # model: Union[str, ImageModel, None] | NotGiven = NOT_GIVEN,
63
- # n: Optional[int] | NotGiven = NOT_GIVEN,
64
-
65
61
  class ImagesResponse(_ImagesResponse):
66
62
  created: int = Field(default_factory=lambda: int(time.time()))
67
63
 
@@ -155,7 +155,39 @@ class FileTask(BaseModel):
155
155
  url: Optional[str] = None
156
156
 
157
157
 
158
- # pass
158
+ class FluxTaskResponse(BaseModel):
159
+ id: Union[str, int] = Field(default_factory=lambda: shortuuid.random())
160
+
161
+ """Task not found, Pending, Request Moderated, Content Moderated, Ready, Error"""
162
+ status: Optional[Literal["Pending", "Ready", "Error", "Content Moderated"]] = None # Ready, Error, success, failed
163
+
164
+ result: Optional[dict] = None
165
+
166
+ details: Optional[dict] = None # Error才显示, 当做 metadata
167
+ progress: Optional[int] = None
168
+
169
+ def __init__(self, /, **data: Any):
170
+ super().__init__(**data)
171
+
172
+ self.details = self.details or self.result
173
+
174
+ if self.status is None and self.result:
175
+ if status := (
176
+ self.result.get("status")
177
+ and self.result.get("task_status")
178
+ and self.result.get("state")
179
+ and self.result.get("task_state")
180
+
181
+ ):
182
+ if status.lower().startswith(("succ", "ok", "compl")):
183
+ self.status = "Ready"
184
+
185
+ if status.lower().startswith(("fail", "error", "cancel")):
186
+ self.status = "Error"
187
+
188
+ if any(i in status.lower() for i in ("moder",)):
189
+ self.status = "Content Moderated"
190
+
159
191
 
160
192
  if __name__ == '__main__':
161
193
  # print(TaskType("kling").name)
@@ -193,3 +225,5 @@ if __name__ == '__main__':
193
225
  response.user_id = 1
194
226
 
195
227
  print(response)
228
+
229
+ print(FluxTaskResponse())
@@ -20,19 +20,9 @@ http_bearer = HTTPBearer()
20
20
 
21
21
 
22
22
  # 定义获取token的函数
23
+ async def parse_token(token: str) -> Optional[str]:
24
+ if token is None: return None
23
25
 
24
- async def get_bearer_token(
25
- auth: Optional[HTTPAuthorizationCredentials] = Depends(http_bearer)
26
- ) -> Optional[str]:
27
- """
28
- 获取Bearer token
29
- :param auth: HTTP认证凭证
30
- :return: token字符串
31
- """
32
- if auth is None:
33
- return None
34
-
35
- token = auth.credentials
36
26
  if token.startswith('redis:'): # redis里按序轮询
37
27
  if "feishu.cn" in token: # redis:https://xchatllm.feishu.cn/sheets/Bmjtst2f6hfMqFttbhLcdfRJnNf?sheet=Y7HVfo
38
28
  feishu_url = token.removeprefix("redis:")
@@ -59,6 +49,20 @@ async def get_bearer_token(
59
49
  return token
60
50
 
61
51
 
52
+ async def get_bearer_token(
53
+ auth: Optional[HTTPAuthorizationCredentials] = Depends(http_bearer)
54
+ ) -> Optional[str]:
55
+ """
56
+ 获取Bearer token
57
+ :param auth: HTTP认证凭证
58
+ :return: token字符串
59
+ """
60
+ if auth is None:
61
+ return None
62
+
63
+ return await parse_token(auth.credentials)
64
+
65
+
62
66
  # async def get_next_token(redis_key):
63
67
  # """轮询"""
64
68
  # if api_key := await redis_aclient.lpop(redis_key):