equal-data 0.0.1__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.
- equal_data-0.0.1/.gitignore +0 -0
- equal_data-0.0.1/.idea/.gitignore +8 -0
- equal_data-0.0.1/.idea/.name +1 -0
- equal_data-0.0.1/.idea/equal-data.iml +10 -0
- equal_data-0.0.1/.idea/inspectionProfiles/Project_Default.xml +305 -0
- equal_data-0.0.1/.idea/inspectionProfiles/profiles_settings.xml +6 -0
- equal_data-0.0.1/.idea/misc.xml +4 -0
- equal_data-0.0.1/.idea/modules.xml +8 -0
- equal_data-0.0.1/.idea/workspace.xml +383 -0
- equal_data-0.0.1/LICENSE +10 -0
- equal_data-0.0.1/PKG-INFO +78 -0
- equal_data-0.0.1/README.md +50 -0
- equal_data-0.0.1/pyproject.toml +44 -0
- equal_data-0.0.1/src/__init__.py +12 -0
- equal_data-0.0.1/src/kjj/__init__.py +8 -0
- equal_data-0.0.1/src/kjj/common/__init__.py +12 -0
- equal_data-0.0.1/src/kjj/common/conf.py +13 -0
- equal_data-0.0.1/src/kjj/core.py +57 -0
- equal_data-0.0.1/src/kjj/utils/__init__.py +12 -0
- equal_data-0.0.1/src/kjj/utils/common_tools.py +17 -0
- equal_data-0.0.1/src/test/__init__.py +12 -0
- equal_data-0.0.1/src/test/t_1.py +59 -0
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
equal-data
|
|
@@ -0,0 +1,10 @@
|
|
|
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
|
+
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
|
6
|
+
</content>
|
|
7
|
+
<orderEntry type="inheritedJdk" />
|
|
8
|
+
<orderEntry type="sourceFolder" forTests="false" />
|
|
9
|
+
</component>
|
|
10
|
+
</module>
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
<component name="InspectionProjectProfileManager">
|
|
2
|
+
<profile version="1.0">
|
|
3
|
+
<option name="myName" value="Project Default" />
|
|
4
|
+
<inspection_tool class="DuplicatedCode" enabled="true" level="WEAK WARNING" enabled_by_default="true">
|
|
5
|
+
<Languages>
|
|
6
|
+
<language minSize="54" name="Python" />
|
|
7
|
+
</Languages>
|
|
8
|
+
</inspection_tool>
|
|
9
|
+
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
10
|
+
<inspection_tool class="PyPackageRequirementsInspection" enabled="true" level="WARNING" enabled_by_default="true">
|
|
11
|
+
<option name="ignoredPackages">
|
|
12
|
+
<value>
|
|
13
|
+
<list size="278">
|
|
14
|
+
<item index="0" class="java.lang.String" itemvalue="joblib" />
|
|
15
|
+
<item index="1" class="java.lang.String" itemvalue="threadpoolctl" />
|
|
16
|
+
<item index="2" class="java.lang.String" itemvalue="scikit-learn" />
|
|
17
|
+
<item index="3" class="java.lang.String" itemvalue="PyYAML" />
|
|
18
|
+
<item index="4" class="java.lang.String" itemvalue="crsts" />
|
|
19
|
+
<item index="5" class="java.lang.String" itemvalue="cycler" />
|
|
20
|
+
<item index="6" class="java.lang.String" itemvalue="numpy" />
|
|
21
|
+
<item index="7" class="java.lang.String" itemvalue="Flask-Bootstrap" />
|
|
22
|
+
<item index="8" class="java.lang.String" itemvalue="aiocontextvars" />
|
|
23
|
+
<item index="9" class="java.lang.String" itemvalue="win32-setctime" />
|
|
24
|
+
<item index="10" class="java.lang.String" itemvalue="elasticsearch" />
|
|
25
|
+
<item index="11" class="java.lang.String" itemvalue="fake-useragent" />
|
|
26
|
+
<item index="12" class="java.lang.String" itemvalue="scapy" />
|
|
27
|
+
<item index="13" class="java.lang.String" itemvalue="dpkt" />
|
|
28
|
+
<item index="14" class="java.lang.String" itemvalue="urllib3" />
|
|
29
|
+
<item index="15" class="java.lang.String" itemvalue="pyparsing" />
|
|
30
|
+
<item index="16" class="java.lang.String" itemvalue="hmmlearn" />
|
|
31
|
+
<item index="17" class="java.lang.String" itemvalue="Flask" />
|
|
32
|
+
<item index="18" class="java.lang.String" itemvalue="scipy" />
|
|
33
|
+
<item index="19" class="java.lang.String" itemvalue="kiwisolver" />
|
|
34
|
+
<item index="20" class="java.lang.String" itemvalue="loguru" />
|
|
35
|
+
<item index="21" class="java.lang.String" itemvalue="gunicorn" />
|
|
36
|
+
<item index="22" class="java.lang.String" itemvalue="pandas" />
|
|
37
|
+
<item index="23" class="java.lang.String" itemvalue="scikit-plot" />
|
|
38
|
+
<item index="24" class="java.lang.String" itemvalue="colorama" />
|
|
39
|
+
<item index="25" class="java.lang.String" itemvalue="contextvars" />
|
|
40
|
+
<item index="26" class="java.lang.String" itemvalue="matplotlib" />
|
|
41
|
+
<item index="27" class="java.lang.String" itemvalue="typing_extensions" />
|
|
42
|
+
<item index="28" class="java.lang.String" itemvalue="pytz" />
|
|
43
|
+
<item index="29" class="java.lang.String" itemvalue="Pillow" />
|
|
44
|
+
<item index="30" class="java.lang.String" itemvalue="Flask-Cors" />
|
|
45
|
+
<item index="31" class="java.lang.String" itemvalue="Flask-SocketIO" />
|
|
46
|
+
<item index="32" class="java.lang.String" itemvalue="Flask-CKEditor" />
|
|
47
|
+
<item index="33" class="java.lang.String" itemvalue="Babel" />
|
|
48
|
+
<item index="34" class="java.lang.String" itemvalue="pickleshare" />
|
|
49
|
+
<item index="35" class="java.lang.String" itemvalue="psycopg2" />
|
|
50
|
+
<item index="36" class="java.lang.String" itemvalue="defusedxml" />
|
|
51
|
+
<item index="37" class="java.lang.String" itemvalue="executing" />
|
|
52
|
+
<item index="38" class="java.lang.String" itemvalue="pycparser" />
|
|
53
|
+
<item index="39" class="java.lang.String" itemvalue="markdown-it-py" />
|
|
54
|
+
<item index="40" class="java.lang.String" itemvalue="paddlepaddle" />
|
|
55
|
+
<item index="41" class="java.lang.String" itemvalue="trio" />
|
|
56
|
+
<item index="42" class="java.lang.String" itemvalue="stanfordcorenlp" />
|
|
57
|
+
<item index="43" class="java.lang.String" itemvalue="Pygments" />
|
|
58
|
+
<item index="44" class="java.lang.String" itemvalue="starlette" />
|
|
59
|
+
<item index="45" class="java.lang.String" itemvalue="bleach" />
|
|
60
|
+
<item index="46" class="java.lang.String" itemvalue="anyjson" />
|
|
61
|
+
<item index="47" class="java.lang.String" itemvalue="multiprocess" />
|
|
62
|
+
<item index="48" class="java.lang.String" itemvalue="soupsieve" />
|
|
63
|
+
<item index="49" class="java.lang.String" itemvalue="aspose-ocr-python-net" />
|
|
64
|
+
<item index="50" class="java.lang.String" itemvalue="uvicorn" />
|
|
65
|
+
<item index="51" class="java.lang.String" itemvalue="paddle-bfloat" />
|
|
66
|
+
<item index="52" class="java.lang.String" itemvalue="jsonschema" />
|
|
67
|
+
<item index="53" class="java.lang.String" itemvalue="pywin32" />
|
|
68
|
+
<item index="54" class="java.lang.String" itemvalue="qtconsole" />
|
|
69
|
+
<item index="55" class="java.lang.String" itemvalue="terminado" />
|
|
70
|
+
<item index="56" class="java.lang.String" itemvalue="comm" />
|
|
71
|
+
<item index="57" class="java.lang.String" itemvalue="pydantic" />
|
|
72
|
+
<item index="58" class="java.lang.String" itemvalue="aspose-pdf" />
|
|
73
|
+
<item index="59" class="java.lang.String" itemvalue="Werkzeug" />
|
|
74
|
+
<item index="60" class="java.lang.String" itemvalue="asgiref" />
|
|
75
|
+
<item index="61" class="java.lang.String" itemvalue="jupyter-client" />
|
|
76
|
+
<item index="62" class="java.lang.String" itemvalue="jupyterlab-pygments" />
|
|
77
|
+
<item index="63" class="java.lang.String" itemvalue="click" />
|
|
78
|
+
<item index="64" class="java.lang.String" itemvalue="ipykernel" />
|
|
79
|
+
<item index="65" class="java.lang.String" itemvalue="nbconvert" />
|
|
80
|
+
<item index="66" class="java.lang.String" itemvalue="wsproto" />
|
|
81
|
+
<item index="67" class="java.lang.String" itemvalue="attrs" />
|
|
82
|
+
<item index="68" class="java.lang.String" itemvalue="contourpy" />
|
|
83
|
+
<item index="69" class="java.lang.String" itemvalue="psutil" />
|
|
84
|
+
<item index="70" class="java.lang.String" itemvalue="jedi" />
|
|
85
|
+
<item index="71" class="java.lang.String" itemvalue="pdfminer.six" />
|
|
86
|
+
<item index="72" class="java.lang.String" itemvalue="pure-eval" />
|
|
87
|
+
<item index="73" class="java.lang.String" itemvalue="aspose-tasks" />
|
|
88
|
+
<item index="74" class="java.lang.String" itemvalue="asttokens" />
|
|
89
|
+
<item index="75" class="java.lang.String" itemvalue="platformdirs" />
|
|
90
|
+
<item index="76" class="java.lang.String" itemvalue="notebook-shim" />
|
|
91
|
+
<item index="77" class="java.lang.String" itemvalue="Flask-Babel" />
|
|
92
|
+
<item index="78" class="java.lang.String" itemvalue="idna" />
|
|
93
|
+
<item index="79" class="java.lang.String" itemvalue="paddlenlp" />
|
|
94
|
+
<item index="80" class="java.lang.String" itemvalue="referencing" />
|
|
95
|
+
<item index="81" class="java.lang.String" itemvalue="decorator" />
|
|
96
|
+
<item index="82" class="java.lang.String" itemvalue="pkgutil-resolve-name" />
|
|
97
|
+
<item index="83" class="java.lang.String" itemvalue="json5" />
|
|
98
|
+
<item index="84" class="java.lang.String" itemvalue="trio-websocket" />
|
|
99
|
+
<item index="85" class="java.lang.String" itemvalue="cffi" />
|
|
100
|
+
<item index="86" class="java.lang.String" itemvalue="pandocfilters" />
|
|
101
|
+
<item index="87" class="java.lang.String" itemvalue="datasets" />
|
|
102
|
+
<item index="88" class="java.lang.String" itemvalue="jupyter-events" />
|
|
103
|
+
<item index="89" class="java.lang.String" itemvalue="sniffio" />
|
|
104
|
+
<item index="90" class="java.lang.String" itemvalue="websocket-client" />
|
|
105
|
+
<item index="91" class="java.lang.String" itemvalue="exceptiongroup" />
|
|
106
|
+
<item index="92" class="java.lang.String" itemvalue="celery" />
|
|
107
|
+
<item index="93" class="java.lang.String" itemvalue="jupyter" />
|
|
108
|
+
<item index="94" class="java.lang.String" itemvalue="selenium" />
|
|
109
|
+
<item index="95" class="java.lang.String" itemvalue="cron-descriptor" />
|
|
110
|
+
<item index="96" class="java.lang.String" itemvalue="seqeval" />
|
|
111
|
+
<item index="97" class="java.lang.String" itemvalue="stack-data" />
|
|
112
|
+
<item index="98" class="java.lang.String" itemvalue="zipp" />
|
|
113
|
+
<item index="99" class="java.lang.String" itemvalue="mdurl" />
|
|
114
|
+
<item index="100" class="java.lang.String" itemvalue="nest-asyncio" />
|
|
115
|
+
<item index="101" class="java.lang.String" itemvalue="prompt-toolkit" />
|
|
116
|
+
<item index="102" class="java.lang.String" itemvalue="itsdangerous" />
|
|
117
|
+
<item index="103" class="java.lang.String" itemvalue="django-cors-headers" />
|
|
118
|
+
<item index="104" class="java.lang.String" itemvalue="msgpack-python" />
|
|
119
|
+
<item index="105" class="java.lang.String" itemvalue="outcome" />
|
|
120
|
+
<item index="106" class="java.lang.String" itemvalue="ipywidgets" />
|
|
121
|
+
<item index="107" class="java.lang.String" itemvalue="blinker" />
|
|
122
|
+
<item index="108" class="java.lang.String" itemvalue="pyarrow" />
|
|
123
|
+
<item index="109" class="java.lang.String" itemvalue="annotated-types" />
|
|
124
|
+
<item index="110" class="java.lang.String" itemvalue="paddlefsl" />
|
|
125
|
+
<item index="111" class="java.lang.String" itemvalue="tornado" />
|
|
126
|
+
<item index="112" class="java.lang.String" itemvalue="django-celery-results" />
|
|
127
|
+
<item index="113" class="java.lang.String" itemvalue="astor" />
|
|
128
|
+
<item index="114" class="java.lang.String" itemvalue="jsonpointer" />
|
|
129
|
+
<item index="115" class="java.lang.String" itemvalue="Send2Trash" />
|
|
130
|
+
<item index="116" class="java.lang.String" itemvalue="overrides" />
|
|
131
|
+
<item index="117" class="java.lang.String" itemvalue="pyhanlp" />
|
|
132
|
+
<item index="118" class="java.lang.String" itemvalue="LAC" />
|
|
133
|
+
<item index="119" class="java.lang.String" itemvalue="sortedcontainers" />
|
|
134
|
+
<item index="120" class="java.lang.String" itemvalue="mistune" />
|
|
135
|
+
<item index="121" class="java.lang.String" itemvalue="importlib-resources" />
|
|
136
|
+
<item index="122" class="java.lang.String" itemvalue="pdfplumber" />
|
|
137
|
+
<item index="123" class="java.lang.String" itemvalue="future" />
|
|
138
|
+
<item index="124" class="java.lang.String" itemvalue="jupyter-console" />
|
|
139
|
+
<item index="125" class="java.lang.String" itemvalue="debugpy" />
|
|
140
|
+
<item index="126" class="java.lang.String" itemvalue="argon2-cffi" />
|
|
141
|
+
<item index="127" class="java.lang.String" itemvalue="multidict" />
|
|
142
|
+
<item index="128" class="java.lang.String" itemvalue="yarl" />
|
|
143
|
+
<item index="129" class="java.lang.String" itemvalue="pycryptodome" />
|
|
144
|
+
<item index="130" class="java.lang.String" itemvalue="aspose-words" />
|
|
145
|
+
<item index="131" class="java.lang.String" itemvalue="webencodings" />
|
|
146
|
+
<item index="132" class="java.lang.String" itemvalue="mysqlclient" />
|
|
147
|
+
<item index="133" class="java.lang.String" itemvalue="traitlets" />
|
|
148
|
+
<item index="134" class="java.lang.String" itemvalue="protobuf" />
|
|
149
|
+
<item index="135" class="java.lang.String" itemvalue="pywinpty" />
|
|
150
|
+
<item index="136" class="java.lang.String" itemvalue="rfc3339-validator" />
|
|
151
|
+
<item index="137" class="java.lang.String" itemvalue="colorlog" />
|
|
152
|
+
<item index="138" class="java.lang.String" itemvalue="arrow" />
|
|
153
|
+
<item index="139" class="java.lang.String" itemvalue="huggingface-hub" />
|
|
154
|
+
<item index="140" class="java.lang.String" itemvalue="opt-einsum" />
|
|
155
|
+
<item index="141" class="java.lang.String" itemvalue="bce-python-sdk" />
|
|
156
|
+
<item index="142" class="java.lang.String" itemvalue="python-dateutil" />
|
|
157
|
+
<item index="143" class="java.lang.String" itemvalue="nbclient" />
|
|
158
|
+
<item index="144" class="java.lang.String" itemvalue="QtPy" />
|
|
159
|
+
<item index="145" class="java.lang.String" itemvalue="MarkupSafe" />
|
|
160
|
+
<item index="146" class="java.lang.String" itemvalue="jupyter-server" />
|
|
161
|
+
<item index="147" class="java.lang.String" itemvalue="pydantic-core" />
|
|
162
|
+
<item index="148" class="java.lang.String" itemvalue="tinycss2" />
|
|
163
|
+
<item index="149" class="java.lang.String" itemvalue="frozenlist" />
|
|
164
|
+
<item index="150" class="java.lang.String" itemvalue="fsspec" />
|
|
165
|
+
<item index="151" class="java.lang.String" itemvalue="python-json-logger" />
|
|
166
|
+
<item index="152" class="java.lang.String" itemvalue="filelock" />
|
|
167
|
+
<item index="153" class="java.lang.String" itemvalue="jupyterlab-widgets" />
|
|
168
|
+
<item index="154" class="java.lang.String" itemvalue="pyzmq" />
|
|
169
|
+
<item index="155" class="java.lang.String" itemvalue="sentencepiece" />
|
|
170
|
+
<item index="156" class="java.lang.String" itemvalue="certifi" />
|
|
171
|
+
<item index="157" class="java.lang.String" itemvalue="anyio" />
|
|
172
|
+
<item index="158" class="java.lang.String" itemvalue="pypinyin" />
|
|
173
|
+
<item index="159" class="java.lang.String" itemvalue="notebook" />
|
|
174
|
+
<item index="160" class="java.lang.String" itemvalue="xxhash" />
|
|
175
|
+
<item index="161" class="java.lang.String" itemvalue="beautifulsoup4" />
|
|
176
|
+
<item index="162" class="java.lang.String" itemvalue="django-celery-beat" />
|
|
177
|
+
<item index="163" class="java.lang.String" itemvalue="isoduration" />
|
|
178
|
+
<item index="164" class="java.lang.String" itemvalue="jupyter-lsp" />
|
|
179
|
+
<item index="165" class="java.lang.String" itemvalue="fqdn" />
|
|
180
|
+
<item index="166" class="java.lang.String" itemvalue="cryptography" />
|
|
181
|
+
<item index="167" class="java.lang.String" itemvalue="fonttools" />
|
|
182
|
+
<item index="168" class="java.lang.String" itemvalue="backcall" />
|
|
183
|
+
<item index="169" class="java.lang.String" itemvalue="PySocks" />
|
|
184
|
+
<item index="170" class="java.lang.String" itemvalue="widgetsnbextension" />
|
|
185
|
+
<item index="171" class="java.lang.String" itemvalue="argon2-cffi-bindings" />
|
|
186
|
+
<item index="172" class="java.lang.String" itemvalue="charset-normalizer" />
|
|
187
|
+
<item index="173" class="java.lang.String" itemvalue="jionlp" />
|
|
188
|
+
<item index="174" class="java.lang.String" itemvalue="jupyter-core" />
|
|
189
|
+
<item index="175" class="java.lang.String" itemvalue="jieba" />
|
|
190
|
+
<item index="176" class="java.lang.String" itemvalue="matplotlib-inline" />
|
|
191
|
+
<item index="177" class="java.lang.String" itemvalue="webcolors" />
|
|
192
|
+
<item index="178" class="java.lang.String" itemvalue="hanlp-downloader" />
|
|
193
|
+
<item index="179" class="java.lang.String" itemvalue="SQLAlchemy" />
|
|
194
|
+
<item index="180" class="java.lang.String" itemvalue="importlib-metadata" />
|
|
195
|
+
<item index="181" class="java.lang.String" itemvalue="Jinja2" />
|
|
196
|
+
<item index="182" class="java.lang.String" itemvalue="rfc3986-validator" />
|
|
197
|
+
<item index="183" class="java.lang.String" itemvalue="types-python-dateutil" />
|
|
198
|
+
<item index="184" class="java.lang.String" itemvalue="sqlparse" />
|
|
199
|
+
<item index="185" class="java.lang.String" itemvalue="jsonschema-specifications" />
|
|
200
|
+
<item index="186" class="java.lang.String" itemvalue="rpds-py" />
|
|
201
|
+
<item index="187" class="java.lang.String" itemvalue="uri-template" />
|
|
202
|
+
<item index="188" class="java.lang.String" itemvalue="pypdfium2" />
|
|
203
|
+
<item index="189" class="java.lang.String" itemvalue="aspose-zip" />
|
|
204
|
+
<item index="190" class="java.lang.String" itemvalue="jupyterlab" />
|
|
205
|
+
<item index="191" class="java.lang.String" itemvalue="visualdl" />
|
|
206
|
+
<item index="192" class="java.lang.String" itemvalue="Aspose.Slides" />
|
|
207
|
+
<item index="193" class="java.lang.String" itemvalue="jiojio" />
|
|
208
|
+
<item index="194" class="java.lang.String" itemvalue="jupyter-server-terminals" />
|
|
209
|
+
<item index="195" class="java.lang.String" itemvalue="billiard" />
|
|
210
|
+
<item index="196" class="java.lang.String" itemvalue="typer" />
|
|
211
|
+
<item index="197" class="java.lang.String" itemvalue="parso" />
|
|
212
|
+
<item index="198" class="java.lang.String" itemvalue="jupyterlab-server" />
|
|
213
|
+
<item index="199" class="java.lang.String" itemvalue="nbformat" />
|
|
214
|
+
<item index="200" class="java.lang.String" itemvalue="tzdata" />
|
|
215
|
+
<item index="201" class="java.lang.String" itemvalue="ipython" />
|
|
216
|
+
<item index="202" class="java.lang.String" itemvalue="rich" />
|
|
217
|
+
<item index="203" class="java.lang.String" itemvalue="dill" />
|
|
218
|
+
<item index="204" class="java.lang.String" itemvalue="packaging" />
|
|
219
|
+
<item index="205" class="java.lang.String" itemvalue="fastjsonschema" />
|
|
220
|
+
<item index="206" class="java.lang.String" itemvalue="prometheus-client" />
|
|
221
|
+
<item index="207" class="java.lang.String" itemvalue="JPype1" />
|
|
222
|
+
<item index="208" class="java.lang.String" itemvalue="tqdm" />
|
|
223
|
+
<item index="209" class="java.lang.String" itemvalue="fastapi" />
|
|
224
|
+
<item index="210" class="java.lang.String" itemvalue="paddle2onnx" />
|
|
225
|
+
<item index="211" class="java.lang.String" itemvalue="django-timezone-field" />
|
|
226
|
+
<item index="212" class="java.lang.String" itemvalue="aiohttp" />
|
|
227
|
+
<item index="213" class="java.lang.String" itemvalue="zipfile36" />
|
|
228
|
+
<item index="214" class="java.lang.String" itemvalue="async-lru" />
|
|
229
|
+
<item index="215" class="java.lang.String" itemvalue="aiosignal" />
|
|
230
|
+
<item index="216" class="java.lang.String" itemvalue="httpx" />
|
|
231
|
+
<item index="217" class="java.lang.String" itemvalue="greenlet" />
|
|
232
|
+
<item index="218" class="java.lang.String" itemvalue="looseversion" />
|
|
233
|
+
<item index="219" class="java.lang.String" itemvalue="etelemetry" />
|
|
234
|
+
<item index="220" class="java.lang.String" itemvalue="python-dotenv" />
|
|
235
|
+
<item index="221" class="java.lang.String" itemvalue="h11" />
|
|
236
|
+
<item index="222" class="java.lang.String" itemvalue="marshmallow" />
|
|
237
|
+
<item index="223" class="java.lang.String" itemvalue="kombu" />
|
|
238
|
+
<item index="224" class="java.lang.String" itemvalue="redis" />
|
|
239
|
+
<item index="225" class="java.lang.String" itemvalue="pathlib" />
|
|
240
|
+
<item index="226" class="java.lang.String" itemvalue="backports.zoneinfo" />
|
|
241
|
+
<item index="227" class="java.lang.String" itemvalue="lxml" />
|
|
242
|
+
<item index="228" class="java.lang.String" itemvalue="vine" />
|
|
243
|
+
<item index="229" class="java.lang.String" itemvalue="dnspython" />
|
|
244
|
+
<item index="230" class="java.lang.String" itemvalue="nibabel" />
|
|
245
|
+
<item index="231" class="java.lang.String" itemvalue="rdflib" />
|
|
246
|
+
<item index="232" class="java.lang.String" itemvalue="reportlab" />
|
|
247
|
+
<item index="233" class="java.lang.String" itemvalue="PyMuPDFb" />
|
|
248
|
+
<item index="234" class="java.lang.String" itemvalue="pypdf" />
|
|
249
|
+
<item index="235" class="java.lang.String" itemvalue="simplejson" />
|
|
250
|
+
<item index="236" class="java.lang.String" itemvalue="openai" />
|
|
251
|
+
<item index="237" class="java.lang.String" itemvalue="pyxnat" />
|
|
252
|
+
<item index="238" class="java.lang.String" itemvalue="pydantic_core" />
|
|
253
|
+
<item index="239" class="java.lang.String" itemvalue="configparser" />
|
|
254
|
+
<item index="240" class="java.lang.String" itemvalue="milvus" />
|
|
255
|
+
<item index="241" class="java.lang.String" itemvalue="httpcore" />
|
|
256
|
+
<item index="242" class="java.lang.String" itemvalue="distro" />
|
|
257
|
+
<item index="243" class="java.lang.String" itemvalue="pydot" />
|
|
258
|
+
<item index="244" class="java.lang.String" itemvalue="environs" />
|
|
259
|
+
<item index="245" class="java.lang.String" itemvalue="networkx" />
|
|
260
|
+
<item index="246" class="java.lang.String" itemvalue="traits" />
|
|
261
|
+
<item index="247" class="java.lang.String" itemvalue="async-timeout" />
|
|
262
|
+
<item index="248" class="java.lang.String" itemvalue="isodate" />
|
|
263
|
+
<item index="249" class="java.lang.String" itemvalue="python-crontab" />
|
|
264
|
+
<item index="250" class="java.lang.String" itemvalue="nipype" />
|
|
265
|
+
<item index="251" class="java.lang.String" itemvalue="httplib2" />
|
|
266
|
+
<item index="252" class="java.lang.String" itemvalue="wcwidth" />
|
|
267
|
+
<item index="253" class="java.lang.String" itemvalue="requests" />
|
|
268
|
+
<item index="254" class="java.lang.String" itemvalue="click-didyoumean" />
|
|
269
|
+
<item index="255" class="java.lang.String" itemvalue="mysql-connector-python" />
|
|
270
|
+
<item index="256" class="java.lang.String" itemvalue="docker" />
|
|
271
|
+
<item index="257" class="java.lang.String" itemvalue="eventlet" />
|
|
272
|
+
<item index="258" class="java.lang.String" itemvalue="ci-info" />
|
|
273
|
+
<item index="259" class="java.lang.String" itemvalue="milvus-lite" />
|
|
274
|
+
<item index="260" class="java.lang.String" itemvalue="prov" />
|
|
275
|
+
<item index="261" class="java.lang.String" itemvalue="pymilvus" />
|
|
276
|
+
<item index="262" class="java.lang.String" itemvalue="PyMuPDF" />
|
|
277
|
+
<item index="263" class="java.lang.String" itemvalue="six" />
|
|
278
|
+
<item index="264" class="java.lang.String" itemvalue="importlib_resources" />
|
|
279
|
+
<item index="265" class="java.lang.String" itemvalue="prompt_toolkit" />
|
|
280
|
+
<item index="266" class="java.lang.String" itemvalue="amqp" />
|
|
281
|
+
<item index="267" class="java.lang.String" itemvalue="aiofiles" />
|
|
282
|
+
<item index="268" class="java.lang.String" itemvalue="socksio" />
|
|
283
|
+
<item index="269" class="java.lang.String" itemvalue="chardet" />
|
|
284
|
+
<item index="270" class="java.lang.String" itemvalue="Django" />
|
|
285
|
+
<item index="271" class="java.lang.String" itemvalue="configobj" />
|
|
286
|
+
<item index="272" class="java.lang.String" itemvalue="pillow" />
|
|
287
|
+
<item index="273" class="java.lang.String" itemvalue="grpcio" />
|
|
288
|
+
<item index="274" class="java.lang.String" itemvalue="click-repl" />
|
|
289
|
+
<item index="275" class="java.lang.String" itemvalue="click-plugins" />
|
|
290
|
+
<item index="276" class="java.lang.String" itemvalue="frontend" />
|
|
291
|
+
<item index="277" class="java.lang.String" itemvalue="ujson" />
|
|
292
|
+
</list>
|
|
293
|
+
</value>
|
|
294
|
+
</option>
|
|
295
|
+
</inspection_tool>
|
|
296
|
+
<inspection_tool class="PyUnresolvedReferencesInspection" enabled="true" level="WARNING" enabled_by_default="true">
|
|
297
|
+
<option name="ignoredIdentifiers">
|
|
298
|
+
<list>
|
|
299
|
+
<option value="dict.get" />
|
|
300
|
+
</list>
|
|
301
|
+
</option>
|
|
302
|
+
</inspection_tool>
|
|
303
|
+
<inspection_tool class="Stylelint" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
304
|
+
</profile>
|
|
305
|
+
</component>
|
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="AutoImportSettings">
|
|
4
|
+
<option name="autoReloadType" value="SELECTIVE" />
|
|
5
|
+
</component>
|
|
6
|
+
<component name="ChangeListManager">
|
|
7
|
+
<list default="true" id="60409865-bf43-4f6b-9523-f99905def12b" name="Changes" comment="" />
|
|
8
|
+
<option name="SHOW_DIALOG" value="false" />
|
|
9
|
+
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
10
|
+
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
|
11
|
+
<option name="LAST_RESOLUTION" value="IGNORE" />
|
|
12
|
+
</component>
|
|
13
|
+
<component name="FileTemplateManagerImpl">
|
|
14
|
+
<option name="RECENT_TEMPLATES">
|
|
15
|
+
<list>
|
|
16
|
+
<option value="Python Script" />
|
|
17
|
+
</list>
|
|
18
|
+
</option>
|
|
19
|
+
</component>
|
|
20
|
+
<component name="MarkdownSettingsMigration">
|
|
21
|
+
<option name="stateVersion" value="1" />
|
|
22
|
+
</component>
|
|
23
|
+
<component name="ProjectId" id="3AjmYHwjGn2QsNHdJumON2rVcQh" />
|
|
24
|
+
<component name="ProjectViewState">
|
|
25
|
+
<option name="autoscrollFromSource" value="true" />
|
|
26
|
+
<option name="hideEmptyMiddlePackages" value="true" />
|
|
27
|
+
<option name="showLibraryContents" value="true" />
|
|
28
|
+
</component>
|
|
29
|
+
<component name="PropertiesComponent"><![CDATA[{
|
|
30
|
+
"keyToString": {
|
|
31
|
+
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
|
32
|
+
"RunOnceActivity.ShowReadmeOnStart": "true",
|
|
33
|
+
"WebServerToolWindowFactoryState": "true",
|
|
34
|
+
"last_opened_file_path": "/Users/kaizan/workspace/tiger/kjiujing",
|
|
35
|
+
"node.js.detected.package.eslint": "true",
|
|
36
|
+
"node.js.detected.package.stylelint": "true",
|
|
37
|
+
"node.js.detected.package.tslint": "true",
|
|
38
|
+
"node.js.selected.package.eslint": "(autodetect)",
|
|
39
|
+
"node.js.selected.package.stylelint": "",
|
|
40
|
+
"node.js.selected.package.tslint": "(autodetect)",
|
|
41
|
+
"nodejs_package_manager_path": "npm",
|
|
42
|
+
"settings.editor.selected.configurable": "com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable",
|
|
43
|
+
"vue.rearranger.settings.migration": "true"
|
|
44
|
+
}
|
|
45
|
+
}]]></component>
|
|
46
|
+
<component name="RecentsManager">
|
|
47
|
+
<key name="MoveFile.RECENT_KEYS">
|
|
48
|
+
<recent name="$PROJECT_DIR$/src/kjiujing" />
|
|
49
|
+
<recent name="$PROJECT_DIR$/src/test" />
|
|
50
|
+
</key>
|
|
51
|
+
</component>
|
|
52
|
+
<component name="RunManager" selected="Python.core (2)">
|
|
53
|
+
<configuration default="true" type="DjangoTestsConfigurationType">
|
|
54
|
+
<module name="equal-data" />
|
|
55
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
56
|
+
<option name="PARENT_ENVS" value="true" />
|
|
57
|
+
<envs>
|
|
58
|
+
<env name="PYTHONUNBUFFERED" value="1" />
|
|
59
|
+
</envs>
|
|
60
|
+
<option name="SDK_HOME" value="" />
|
|
61
|
+
<option name="WORKING_DIRECTORY" value="" />
|
|
62
|
+
<option name="IS_MODULE_SDK" value="false" />
|
|
63
|
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
64
|
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
65
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
66
|
+
<option name="TARGET" value="" />
|
|
67
|
+
<option name="SETTINGS_FILE" value="" />
|
|
68
|
+
<option name="CUSTOM_SETTINGS" value="false" />
|
|
69
|
+
<option name="USE_OPTIONS" value="false" />
|
|
70
|
+
<option name="OPTIONS" value="" />
|
|
71
|
+
<method v="2" />
|
|
72
|
+
</configuration>
|
|
73
|
+
<configuration default="true" type="PyBehaveRunConfigurationType" factoryName="Behave">
|
|
74
|
+
<module name="equal-data" />
|
|
75
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
76
|
+
<option name="PARENT_ENVS" value="true" />
|
|
77
|
+
<option name="SDK_HOME" value="" />
|
|
78
|
+
<option name="WORKING_DIRECTORY" value="" />
|
|
79
|
+
<option name="IS_MODULE_SDK" value="true" />
|
|
80
|
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
81
|
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
82
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
83
|
+
<option name="ADDITIONAL_ARGS" value="" />
|
|
84
|
+
<method v="2" />
|
|
85
|
+
</configuration>
|
|
86
|
+
<configuration default="true" type="PythonConfigurationType" factoryName="Python">
|
|
87
|
+
<module name="equal-data" />
|
|
88
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
89
|
+
<option name="PARENT_ENVS" value="true" />
|
|
90
|
+
<envs>
|
|
91
|
+
<env name="PYTHONUNBUFFERED" value="1" />
|
|
92
|
+
</envs>
|
|
93
|
+
<option name="SDK_HOME" value="" />
|
|
94
|
+
<option name="WORKING_DIRECTORY" value="" />
|
|
95
|
+
<option name="IS_MODULE_SDK" value="false" />
|
|
96
|
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
97
|
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
98
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
99
|
+
<option name="SCRIPT_NAME" value="" />
|
|
100
|
+
<option name="PARAMETERS" value="" />
|
|
101
|
+
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
102
|
+
<option name="EMULATE_TERMINAL" value="false" />
|
|
103
|
+
<option name="MODULE_MODE" value="false" />
|
|
104
|
+
<option name="REDIRECT_INPUT" value="false" />
|
|
105
|
+
<option name="INPUT_FILE" value="" />
|
|
106
|
+
<method v="2" />
|
|
107
|
+
</configuration>
|
|
108
|
+
<configuration name="core (1)" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
|
109
|
+
<module name="equal-data" />
|
|
110
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
111
|
+
<option name="PARENT_ENVS" value="true" />
|
|
112
|
+
<envs>
|
|
113
|
+
<env name="PYTHONUNBUFFERED" value="1" />
|
|
114
|
+
</envs>
|
|
115
|
+
<option name="SDK_HOME" value="" />
|
|
116
|
+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/src/kjiujing" />
|
|
117
|
+
<option name="IS_MODULE_SDK" value="true" />
|
|
118
|
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
119
|
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
120
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
121
|
+
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/src/kjiujing/core.py" />
|
|
122
|
+
<option name="PARAMETERS" value="" />
|
|
123
|
+
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
124
|
+
<option name="EMULATE_TERMINAL" value="false" />
|
|
125
|
+
<option name="MODULE_MODE" value="false" />
|
|
126
|
+
<option name="REDIRECT_INPUT" value="false" />
|
|
127
|
+
<option name="INPUT_FILE" value="" />
|
|
128
|
+
<method v="2" />
|
|
129
|
+
</configuration>
|
|
130
|
+
<configuration name="core (2)" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
|
131
|
+
<module name="equal-data" />
|
|
132
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
133
|
+
<option name="PARENT_ENVS" value="true" />
|
|
134
|
+
<envs>
|
|
135
|
+
<env name="PYTHONUNBUFFERED" value="1" />
|
|
136
|
+
</envs>
|
|
137
|
+
<option name="SDK_HOME" value="" />
|
|
138
|
+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/src/equaldata" />
|
|
139
|
+
<option name="IS_MODULE_SDK" value="true" />
|
|
140
|
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
141
|
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
142
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
143
|
+
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/src/equaldata/core.py" />
|
|
144
|
+
<option name="PARAMETERS" value="" />
|
|
145
|
+
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
146
|
+
<option name="EMULATE_TERMINAL" value="false" />
|
|
147
|
+
<option name="MODULE_MODE" value="false" />
|
|
148
|
+
<option name="REDIRECT_INPUT" value="false" />
|
|
149
|
+
<option name="INPUT_FILE" value="" />
|
|
150
|
+
<method v="2" />
|
|
151
|
+
</configuration>
|
|
152
|
+
<configuration name="core" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
|
153
|
+
<module name="equal-data" />
|
|
154
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
155
|
+
<option name="PARENT_ENVS" value="true" />
|
|
156
|
+
<envs>
|
|
157
|
+
<env name="PYTHONUNBUFFERED" value="1" />
|
|
158
|
+
</envs>
|
|
159
|
+
<option name="SDK_HOME" value="" />
|
|
160
|
+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/src/api" />
|
|
161
|
+
<option name="IS_MODULE_SDK" value="true" />
|
|
162
|
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
163
|
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
164
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
165
|
+
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/src/api/core.py" />
|
|
166
|
+
<option name="PARAMETERS" value="" />
|
|
167
|
+
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
168
|
+
<option name="EMULATE_TERMINAL" value="false" />
|
|
169
|
+
<option name="MODULE_MODE" value="false" />
|
|
170
|
+
<option name="REDIRECT_INPUT" value="false" />
|
|
171
|
+
<option name="INPUT_FILE" value="" />
|
|
172
|
+
<method v="2" />
|
|
173
|
+
</configuration>
|
|
174
|
+
<configuration name="main" type="PythonConfigurationType" factoryName="Python" nameIsGenerated="true">
|
|
175
|
+
<module name="equal-data" />
|
|
176
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
177
|
+
<option name="PARENT_ENVS" value="true" />
|
|
178
|
+
<envs>
|
|
179
|
+
<env name="PYTHONUNBUFFERED" value="1" />
|
|
180
|
+
</envs>
|
|
181
|
+
<option name="SDK_HOME" value="" />
|
|
182
|
+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
|
183
|
+
<option name="IS_MODULE_SDK" value="true" />
|
|
184
|
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
185
|
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
186
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
187
|
+
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/main.py" />
|
|
188
|
+
<option name="PARAMETERS" value="" />
|
|
189
|
+
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
190
|
+
<option name="EMULATE_TERMINAL" value="false" />
|
|
191
|
+
<option name="MODULE_MODE" value="false" />
|
|
192
|
+
<option name="REDIRECT_INPUT" value="false" />
|
|
193
|
+
<option name="INPUT_FILE" value="" />
|
|
194
|
+
<method v="2" />
|
|
195
|
+
</configuration>
|
|
196
|
+
<configuration name="t_1" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
|
197
|
+
<module name="equal-data" />
|
|
198
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
199
|
+
<option name="PARENT_ENVS" value="true" />
|
|
200
|
+
<envs>
|
|
201
|
+
<env name="PYTHONUNBUFFERED" value="1" />
|
|
202
|
+
</envs>
|
|
203
|
+
<option name="SDK_HOME" value="" />
|
|
204
|
+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/src/kjiujing" />
|
|
205
|
+
<option name="IS_MODULE_SDK" value="true" />
|
|
206
|
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
207
|
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
208
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
209
|
+
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/src/test/t_1.py" />
|
|
210
|
+
<option name="PARAMETERS" value="" />
|
|
211
|
+
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
212
|
+
<option name="EMULATE_TERMINAL" value="false" />
|
|
213
|
+
<option name="MODULE_MODE" value="false" />
|
|
214
|
+
<option name="REDIRECT_INPUT" value="false" />
|
|
215
|
+
<option name="INPUT_FILE" value="" />
|
|
216
|
+
<method v="2" />
|
|
217
|
+
</configuration>
|
|
218
|
+
<configuration name="t_2" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
|
219
|
+
<module name="equal-data" />
|
|
220
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
221
|
+
<option name="PARENT_ENVS" value="true" />
|
|
222
|
+
<envs>
|
|
223
|
+
<env name="PYTHONUNBUFFERED" value="1" />
|
|
224
|
+
</envs>
|
|
225
|
+
<option name="SDK_HOME" value="" />
|
|
226
|
+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/src/test" />
|
|
227
|
+
<option name="IS_MODULE_SDK" value="true" />
|
|
228
|
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
229
|
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
230
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
231
|
+
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/src/test/t_2.py" />
|
|
232
|
+
<option name="PARAMETERS" value="" />
|
|
233
|
+
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
234
|
+
<option name="EMULATE_TERMINAL" value="false" />
|
|
235
|
+
<option name="MODULE_MODE" value="false" />
|
|
236
|
+
<option name="REDIRECT_INPUT" value="false" />
|
|
237
|
+
<option name="INPUT_FILE" value="" />
|
|
238
|
+
<method v="2" />
|
|
239
|
+
</configuration>
|
|
240
|
+
<configuration default="true" type="Python.FlaskServer">
|
|
241
|
+
<module name="equal-data" />
|
|
242
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
243
|
+
<option name="PARENT_ENVS" value="true" />
|
|
244
|
+
<option name="SDK_HOME" value="" />
|
|
245
|
+
<option name="WORKING_DIRECTORY" value="" />
|
|
246
|
+
<option name="IS_MODULE_SDK" value="false" />
|
|
247
|
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
248
|
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
249
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
250
|
+
<option name="launchJavascriptDebuger" value="false" />
|
|
251
|
+
<method v="2" />
|
|
252
|
+
</configuration>
|
|
253
|
+
<configuration default="true" type="Tox" factoryName="Tox">
|
|
254
|
+
<module name="equal-data" />
|
|
255
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
256
|
+
<option name="PARENT_ENVS" value="true" />
|
|
257
|
+
<option name="SDK_HOME" value="" />
|
|
258
|
+
<option name="WORKING_DIRECTORY" value="" />
|
|
259
|
+
<option name="IS_MODULE_SDK" value="false" />
|
|
260
|
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
261
|
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
262
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
263
|
+
<method v="2" />
|
|
264
|
+
</configuration>
|
|
265
|
+
<configuration default="true" type="docs" factoryName="Docutils task">
|
|
266
|
+
<module name="equal-data" />
|
|
267
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
268
|
+
<option name="PARENT_ENVS" value="true" />
|
|
269
|
+
<option name="SDK_HOME" value="" />
|
|
270
|
+
<option name="WORKING_DIRECTORY" value="" />
|
|
271
|
+
<option name="IS_MODULE_SDK" value="false" />
|
|
272
|
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
273
|
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
274
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
275
|
+
<option name="docutils_input_file" value="" />
|
|
276
|
+
<option name="docutils_output_file" value="" />
|
|
277
|
+
<option name="docutils_params" value="" />
|
|
278
|
+
<option name="docutils_task" value="" />
|
|
279
|
+
<option name="docutils_open_in_browser" value="false" />
|
|
280
|
+
<method v="2" />
|
|
281
|
+
</configuration>
|
|
282
|
+
<configuration default="true" type="docs" factoryName="Sphinx task">
|
|
283
|
+
<module name="equal-data" />
|
|
284
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
285
|
+
<option name="PARENT_ENVS" value="true" />
|
|
286
|
+
<option name="SDK_HOME" value="" />
|
|
287
|
+
<option name="WORKING_DIRECTORY" value="" />
|
|
288
|
+
<option name="IS_MODULE_SDK" value="false" />
|
|
289
|
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
290
|
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
291
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
292
|
+
<option name="docutils_input_file" value="" />
|
|
293
|
+
<option name="docutils_output_file" value="" />
|
|
294
|
+
<option name="docutils_params" value="" />
|
|
295
|
+
<option name="docutils_task" value="" />
|
|
296
|
+
<option name="docutils_open_in_browser" value="false" />
|
|
297
|
+
<method v="2" />
|
|
298
|
+
</configuration>
|
|
299
|
+
<configuration default="true" type="tests" factoryName="Autodetect">
|
|
300
|
+
<module name="equal-data" />
|
|
301
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
302
|
+
<option name="PARENT_ENVS" value="true" />
|
|
303
|
+
<option name="SDK_HOME" value="" />
|
|
304
|
+
<option name="WORKING_DIRECTORY" value="" />
|
|
305
|
+
<option name="IS_MODULE_SDK" value="false" />
|
|
306
|
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
307
|
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
308
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
309
|
+
<option name="_new_additionalArguments" value="""" />
|
|
310
|
+
<option name="_new_target" value="""" />
|
|
311
|
+
<option name="_new_targetType" value=""PATH"" />
|
|
312
|
+
<method v="2" />
|
|
313
|
+
</configuration>
|
|
314
|
+
<configuration default="true" type="tests" factoryName="Doctests">
|
|
315
|
+
<module name="equal-data" />
|
|
316
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
317
|
+
<option name="PARENT_ENVS" value="true" />
|
|
318
|
+
<option name="SDK_HOME" value="" />
|
|
319
|
+
<option name="WORKING_DIRECTORY" value="" />
|
|
320
|
+
<option name="IS_MODULE_SDK" value="false" />
|
|
321
|
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
322
|
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
323
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
324
|
+
<option name="SCRIPT_NAME" value="" />
|
|
325
|
+
<option name="CLASS_NAME" value="" />
|
|
326
|
+
<option name="METHOD_NAME" value="" />
|
|
327
|
+
<option name="FOLDER_NAME" value="" />
|
|
328
|
+
<option name="TEST_TYPE" value="TEST_SCRIPT" />
|
|
329
|
+
<option name="PATTERN" value="" />
|
|
330
|
+
<option name="USE_PATTERN" value="false" />
|
|
331
|
+
<method v="2" />
|
|
332
|
+
</configuration>
|
|
333
|
+
<recent_temporary>
|
|
334
|
+
<list>
|
|
335
|
+
<item itemvalue="Python.core (2)" />
|
|
336
|
+
<item itemvalue="Python.core (1)" />
|
|
337
|
+
<item itemvalue="Python.t_1" />
|
|
338
|
+
<item itemvalue="Python.t_2" />
|
|
339
|
+
<item itemvalue="Python.core" />
|
|
340
|
+
</list>
|
|
341
|
+
</recent_temporary>
|
|
342
|
+
</component>
|
|
343
|
+
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
|
344
|
+
<component name="TaskManager">
|
|
345
|
+
<task active="true" id="Default" summary="Default task">
|
|
346
|
+
<changelist id="60409865-bf43-4f6b-9523-f99905def12b" name="Changes" comment="" />
|
|
347
|
+
<created>1773114399905</created>
|
|
348
|
+
<option name="number" value="Default" />
|
|
349
|
+
<option name="presentableId" value="Default" />
|
|
350
|
+
<updated>1773114399905</updated>
|
|
351
|
+
<workItem from="1773114401077" duration="5815000" />
|
|
352
|
+
<workItem from="1773199615751" duration="5124000" />
|
|
353
|
+
<workItem from="1773365873362" duration="17542000" />
|
|
354
|
+
</task>
|
|
355
|
+
<servers />
|
|
356
|
+
</component>
|
|
357
|
+
<component name="TypeScriptGeneratedFilesManager">
|
|
358
|
+
<option name="version" value="3" />
|
|
359
|
+
</component>
|
|
360
|
+
<component name="XDebuggerManager">
|
|
361
|
+
<breakpoint-manager>
|
|
362
|
+
<breakpoints>
|
|
363
|
+
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
|
|
364
|
+
<url>file://$PROJECT_DIR$/../equal-data/src/test/t_1.py</url>
|
|
365
|
+
<line>59</line>
|
|
366
|
+
<option name="timeStamp" value="2" />
|
|
367
|
+
</line-breakpoint>
|
|
368
|
+
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
|
|
369
|
+
<url>file://$PROJECT_DIR$/../equal-data/src/kjj/core.py</url>
|
|
370
|
+
<line>36</line>
|
|
371
|
+
<option name="timeStamp" value="4" />
|
|
372
|
+
</line-breakpoint>
|
|
373
|
+
</breakpoints>
|
|
374
|
+
</breakpoint-manager>
|
|
375
|
+
</component>
|
|
376
|
+
<component name="com.intellij.coverage.CoverageDataManagerImpl">
|
|
377
|
+
<SUITE FILE_PATH="coverage/kjiujing$core__2_.coverage" NAME="core (2) Coverage Results" MODIFIED="1773713178018" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/src/equaldata" />
|
|
378
|
+
<SUITE FILE_PATH="coverage/kjiujing$core.coverage" NAME="core Coverage Results" MODIFIED="1773121844054" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/src/api" />
|
|
379
|
+
<SUITE FILE_PATH="coverage/kjiujing$t_1.coverage" NAME="t_1 Coverage Results" MODIFIED="1773387817510" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/src/kjiujing" />
|
|
380
|
+
<SUITE FILE_PATH="coverage/kjiujing$t_2.coverage" NAME="t_2 Coverage Results" MODIFIED="1773382810811" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/src/test" />
|
|
381
|
+
<SUITE FILE_PATH="coverage/kjiujing$core__1_.coverage" NAME="core (1) Coverage Results" MODIFIED="1773712533177" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/src/kjiujing" />
|
|
382
|
+
</component>
|
|
383
|
+
</project>
|
equal_data-0.0.1/LICENSE
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
|
|
2
|
+
### LICENSE
|
|
3
|
+
```text
|
|
4
|
+
MIT License
|
|
5
|
+
|
|
6
|
+
Copyright (c) 2024 Your Name
|
|
7
|
+
|
|
8
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
9
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
10
|
+
in the Software without restriction...
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: equal-data
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: 金融数据获取 Skill,支持 100+ 个金融数据接口。kjiujing 官方提供的SKILL工具包。
|
|
5
|
+
Project-URL: Homepage, https://github.com/username/my_project
|
|
6
|
+
Project-URL: Documentation, https://readthedocs.org
|
|
7
|
+
Project-URL: Repository, https://github.com/username/my_project.git
|
|
8
|
+
Project-URL: Issues, https://github.com/username/my_project/issues
|
|
9
|
+
Author-email: wangyanlei <wangyanlei310@163.com>
|
|
10
|
+
License: MIT
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Keywords: package,pypi,tutorial
|
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Requires-Python: >=3.8
|
|
23
|
+
Provides-Extra: dev
|
|
24
|
+
Requires-Dist: black; extra == 'dev'
|
|
25
|
+
Requires-Dist: mypy; extra == 'dev'
|
|
26
|
+
Requires-Dist: pytest>=7.0; extra == 'dev'
|
|
27
|
+
Description-Content-Type: text/markdown
|
|
28
|
+
|
|
29
|
+
# My Package
|
|
30
|
+
|
|
31
|
+
TuShare
|
|
32
|
+
===============
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
* easy to use as most of the data returned are pandas DataFrame objects
|
|
36
|
+
* can be easily saved as csv, excel or json files
|
|
37
|
+
* can be inserted into MySQL or Mongodb
|
|
38
|
+
|
|
39
|
+
Target Users
|
|
40
|
+
--------------
|
|
41
|
+
|
|
42
|
+
* financial market analyst of China
|
|
43
|
+
* learners of financial data analysis with pandas/NumPy
|
|
44
|
+
* people who are interested in China financial data
|
|
45
|
+
|
|
46
|
+
Installation
|
|
47
|
+
--------------
|
|
48
|
+
|
|
49
|
+
pip install kjiujing
|
|
50
|
+
|
|
51
|
+
Upgrade
|
|
52
|
+
---------------
|
|
53
|
+
|
|
54
|
+
pip install kjiujing --upgrade
|
|
55
|
+
|
|
56
|
+
Quick Start
|
|
57
|
+
--------------
|
|
58
|
+
|
|
59
|
+
::
|
|
60
|
+
|
|
61
|
+
import kjiujing as kjj
|
|
62
|
+
|
|
63
|
+
ts.get_hist_data('600848')
|
|
64
|
+
|
|
65
|
+
return::
|
|
66
|
+
|
|
67
|
+
open high close low volume p_change ma5
|
|
68
|
+
date
|
|
69
|
+
2012-01-11 6.880 7.380 7.060 6.880 14129.96 2.62 7.060
|
|
70
|
+
2012-01-12 7.050 7.100 6.980 6.900 7895.19 -1.13 7.020
|
|
71
|
+
2012-01-13 6.950 7.000 6.700 6.690 6611.87 -4.01 6.913
|
|
72
|
+
2012-01-16 6.680 6.750 6.510 6.480 2941.63 -2.84 6.813
|
|
73
|
+
2012-01-17 6.660 6.880 6.860 6.460 8642.57 5.38 6.822
|
|
74
|
+
2012-01-18 7.000 7.300 6.890 6.880 13075.40 0.44 6.788
|
|
75
|
+
2012-01-19 6.690 6.950 6.890 6.680 6117.32 0.00 6.770
|
|
76
|
+
2012-01-20 6.870 7.080 7.010 6.870 6813.09 1.74 6.832
|
|
77
|
+
|
|
78
|
+
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# My Package
|
|
2
|
+
|
|
3
|
+
TuShare
|
|
4
|
+
===============
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
* easy to use as most of the data returned are pandas DataFrame objects
|
|
8
|
+
* can be easily saved as csv, excel or json files
|
|
9
|
+
* can be inserted into MySQL or Mongodb
|
|
10
|
+
|
|
11
|
+
Target Users
|
|
12
|
+
--------------
|
|
13
|
+
|
|
14
|
+
* financial market analyst of China
|
|
15
|
+
* learners of financial data analysis with pandas/NumPy
|
|
16
|
+
* people who are interested in China financial data
|
|
17
|
+
|
|
18
|
+
Installation
|
|
19
|
+
--------------
|
|
20
|
+
|
|
21
|
+
pip install kjiujing
|
|
22
|
+
|
|
23
|
+
Upgrade
|
|
24
|
+
---------------
|
|
25
|
+
|
|
26
|
+
pip install kjiujing --upgrade
|
|
27
|
+
|
|
28
|
+
Quick Start
|
|
29
|
+
--------------
|
|
30
|
+
|
|
31
|
+
::
|
|
32
|
+
|
|
33
|
+
import kjiujing as kjj
|
|
34
|
+
|
|
35
|
+
ts.get_hist_data('600848')
|
|
36
|
+
|
|
37
|
+
return::
|
|
38
|
+
|
|
39
|
+
open high close low volume p_change ma5
|
|
40
|
+
date
|
|
41
|
+
2012-01-11 6.880 7.380 7.060 6.880 14129.96 2.62 7.060
|
|
42
|
+
2012-01-12 7.050 7.100 6.980 6.900 7895.19 -1.13 7.020
|
|
43
|
+
2012-01-13 6.950 7.000 6.700 6.690 6611.87 -4.01 6.913
|
|
44
|
+
2012-01-16 6.680 6.750 6.510 6.480 2941.63 -2.84 6.813
|
|
45
|
+
2012-01-17 6.660 6.880 6.860 6.460 8642.57 5.38 6.822
|
|
46
|
+
2012-01-18 7.000 7.300 6.890 6.880 13075.40 0.44 6.788
|
|
47
|
+
2012-01-19 6.690 6.950 6.890 6.680 6117.32 0.00 6.770
|
|
48
|
+
2012-01-20 6.870 7.080 7.010 6.870 6813.09 1.74 6.832
|
|
49
|
+
|
|
50
|
+
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling"] # 构建后端,也可用 "setuptools", "flit", "poetry"
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "equal-data" # PyPI 上的包名(必须唯一,用连字符)
|
|
7
|
+
version = "0.0.1" # 版本号
|
|
8
|
+
description = "金融数据获取 Skill,支持 100+ 个金融数据接口。kjiujing 官方提供的SKILL工具包。"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = {text = "MIT"} # 或 license = {file = "LICENSE"}
|
|
11
|
+
authors = [
|
|
12
|
+
{name = "wangyanlei", email = "wangyanlei310@163.com"}
|
|
13
|
+
]
|
|
14
|
+
keywords = ["pypi", "package", "tutorial"]
|
|
15
|
+
classifiers = [
|
|
16
|
+
"Development Status :: 3 - Alpha",
|
|
17
|
+
"Intended Audience :: Developers",
|
|
18
|
+
"License :: OSI Approved :: MIT License",
|
|
19
|
+
"Programming Language :: Python :: 3",
|
|
20
|
+
"Programming Language :: Python :: 3.8",
|
|
21
|
+
"Programming Language :: Python :: 3.9",
|
|
22
|
+
"Programming Language :: Python :: 3.10",
|
|
23
|
+
"Programming Language :: Python :: 3.11",
|
|
24
|
+
"Operating System :: OS Independent",
|
|
25
|
+
]
|
|
26
|
+
requires-python = ">=3.8" # Python 版本要求
|
|
27
|
+
dependencies = [ # 运行时依赖
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
[project.optional-dependencies] # 可选依赖(用户可用 pip install my-package[dev] 安装)
|
|
31
|
+
dev = [
|
|
32
|
+
"pytest>=7.0",
|
|
33
|
+
"black",
|
|
34
|
+
"mypy",
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
[project.urls] # PyPI 页面会显示这些链接
|
|
38
|
+
Homepage = "https://github.com/username/my_project"
|
|
39
|
+
Documentation = "https://readthedocs.org"
|
|
40
|
+
Repository = "https://github.com/username/my_project.git"
|
|
41
|
+
Issues = "https://github.com/username/my_project/issues"
|
|
42
|
+
|
|
43
|
+
[tool.hatch.build.targets.wheel] # 构建配置
|
|
44
|
+
packages = ["src/kjj"]
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
import sys
|
|
3
|
+
import os
|
|
4
|
+
|
|
5
|
+
curPath = os.path.abspath(os.path.dirname(__file__))
|
|
6
|
+
sys.path.append(curPath)
|
|
7
|
+
"""
|
|
8
|
+
@Description
|
|
9
|
+
@Author:yanlei.wang
|
|
10
|
+
@file: conf.py
|
|
11
|
+
@date:2026/3/13 15:47
|
|
12
|
+
"""
|
|
13
|
+
base_url = "https://equaldata.kanjiujing.cn/equal-data/api/tool/common/invoke"
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
import sys
|
|
3
|
+
import os
|
|
4
|
+
|
|
5
|
+
import requests
|
|
6
|
+
|
|
7
|
+
curPath = os.path.abspath(os.path.dirname(__file__))
|
|
8
|
+
sys.path.append(curPath)
|
|
9
|
+
"""
|
|
10
|
+
@Description
|
|
11
|
+
@Author:yanlei.wang
|
|
12
|
+
@file: core.py
|
|
13
|
+
@date:2026/3/10 11:57
|
|
14
|
+
"""
|
|
15
|
+
from datetime import datetime, timedelta
|
|
16
|
+
from kjj.utils.common_tools import to_camel_case
|
|
17
|
+
from kjj.common.conf import base_url
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class KjjApi:
|
|
21
|
+
def __init__(self, token):
|
|
22
|
+
self.token = token
|
|
23
|
+
self.base_url = base_url
|
|
24
|
+
|
|
25
|
+
def query_kjj_data(self, **kwargs):
|
|
26
|
+
"""
|
|
27
|
+
?interfaceId=15&requestType=GET&pageIndex=0&pageSize=10&changeType=1&startDate=2026-02-11&endDate=2026-03-13
|
|
28
|
+
"""
|
|
29
|
+
params = kwargs if kwargs else {}
|
|
30
|
+
# 注意:request 参数是服务端注入的,客户端无需传递
|
|
31
|
+
headers = {"Content-Type": "application/x-www-form-urlencoded",
|
|
32
|
+
"Token": self.token}
|
|
33
|
+
# 过滤 None 值
|
|
34
|
+
payload = {to_camel_case(k): v for k, v in params.items() if v is not None}
|
|
35
|
+
payload.update({"requestType": "GET"})
|
|
36
|
+
response = requests.get(self.base_url, params=payload, headers=headers)
|
|
37
|
+
response.raise_for_status()
|
|
38
|
+
data_lst = response.json().get("data", [])
|
|
39
|
+
if data_lst:
|
|
40
|
+
return data_lst
|
|
41
|
+
return response.json().get("msg", "接口请求异常!!")
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
if __name__ == '__main__':
|
|
45
|
+
api = KjjApi('bear ')
|
|
46
|
+
# 查询最近30天的增持记录
|
|
47
|
+
data = api.query_kjj_data(
|
|
48
|
+
interfaceId=115,
|
|
49
|
+
page_index=0,
|
|
50
|
+
page_size=50,
|
|
51
|
+
change_type=1, # 假设1为增持,请根据实际枚举值调整
|
|
52
|
+
start_date=(datetime.now() - timedelta(days=30)).strftime("%Y-%m-%d"),
|
|
53
|
+
end_date=datetime.now().strftime("%Y-%m-%d"),
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
print(data)
|
|
57
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
import sys
|
|
3
|
+
import os
|
|
4
|
+
|
|
5
|
+
curPath = os.path.abspath(os.path.dirname(__file__))
|
|
6
|
+
sys.path.append(curPath)
|
|
7
|
+
"""
|
|
8
|
+
@Description
|
|
9
|
+
@Author:yanlei.wang
|
|
10
|
+
@file: tools.py
|
|
11
|
+
@date:2026/3/13 13:37
|
|
12
|
+
"""
|
|
13
|
+
def to_camel_case(snake_str):
|
|
14
|
+
"""将 snake_case 转换为 camelCase"""
|
|
15
|
+
components = snake_str.split('_')
|
|
16
|
+
# 第一个单词保持小写,其余单词首字母大写
|
|
17
|
+
return components[0] + ''.join(x.capitalize() for x in components[1:])
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
import sys
|
|
4
|
+
import os
|
|
5
|
+
|
|
6
|
+
curPath = os.path.abspath(os.path.dirname(__file__))
|
|
7
|
+
sys.path.append(curPath)
|
|
8
|
+
"""
|
|
9
|
+
@Description
|
|
10
|
+
@Author:yanlei.wang
|
|
11
|
+
@file: t_1.py
|
|
12
|
+
@date:2026/3/13 09:38
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
import requests
|
|
16
|
+
from src.utils.common_tools import to_camel_case
|
|
17
|
+
from datetime import datetime, timedelta
|
|
18
|
+
import pandas as pd
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class KjjAPI:
|
|
22
|
+
def __init__(self):
|
|
23
|
+
self.base_url = "https://kjjapi.kanjiujing.cn/com-api"
|
|
24
|
+
|
|
25
|
+
def get_holding_changes(self, uri, **kwargs):
|
|
26
|
+
"""
|
|
27
|
+
"""
|
|
28
|
+
url = self.base_url + uri
|
|
29
|
+
params = kwargs if kwargs else {}
|
|
30
|
+
# 注意:request 参数是服务端注入的,客户端无需传递
|
|
31
|
+
headers = {"Content-Type": "application/x-www-form-urlencoded",
|
|
32
|
+
"Token": "abc......"}
|
|
33
|
+
# 过滤 None 值
|
|
34
|
+
payload = {to_camel_case(k): v for k, v in params.items() if v is not None}
|
|
35
|
+
|
|
36
|
+
response = requests.post(url, data=payload, headers=headers)
|
|
37
|
+
response.raise_for_status()
|
|
38
|
+
data_lst = response.json().get("data", [])
|
|
39
|
+
if isinstance(data_lst, list):
|
|
40
|
+
return pd.DataFrame(data_lst)
|
|
41
|
+
return pd.DataFrame()
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
# 使用示例
|
|
45
|
+
if __name__ == "__main__":
|
|
46
|
+
api = KjjAPI()
|
|
47
|
+
# 查询最近30天的增持记录
|
|
48
|
+
data = api.get_holding_changes(
|
|
49
|
+
uri="/api/tool/manager/holding/change/list",
|
|
50
|
+
page_index=0,
|
|
51
|
+
page_size=50,
|
|
52
|
+
change_type=1, # 假设1为增持,请根据实际枚举值调整
|
|
53
|
+
start_date=(datetime.now() - timedelta(days=30)).strftime("%Y-%m-%d"),
|
|
54
|
+
end_date=datetime.now().strftime("%Y-%m-%d"),
|
|
55
|
+
platform="lhh5"
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
print(data)
|
|
59
|
+
|