freemt commited on
Commit
aa4d65d
·
1 Parent(s): b665d70

Update handling traditional chinese autmatically

Browse files
data/test_zh_t.txt ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 呼嘯山莊
2
+
3
+ -------------------------------------------------- ------------------------------
4
+
5
+ 第二章
6
+
7
+ 中文
8
+
9
+
10
+ 我想就在書房邊呼磨山霧了,想不想踩著雜草到。
11
+
12
+ 注意 注意 注意 吃 吃 飯 午飯 吃 並且 當作 所 房子 午 飯 的 附屬物 管家 , 一 位 的 這 位 的 這 位 的 這 位 的 這 位 並 開 意 的 太太 能 或 願 意 意 我 在 五 點 鐘 時 用 意 意 , 在 懷 懷 的 聯 系上一樓,邁一個進了屋子地上,有掃帚正在她她正在堆堆的煤渣搞一團散佈的立刻回頭了。場場初降鵝毛鵝毛大雪。
13
+
14
+ 在荒涼的涼涼裡,而而在山頂的樹叢中,踩著陸地的。到我的手指骨都痛了,狗狂吠起來。
15
+
16
+ “倒霉的人至少就沒有禮了,我就直接為我家就這樣了。”我還在搖家裡孤零零地打電話。它。苦臉的約瑟夫從穀倉的一個圓窗裡探出頭來。
17
+
18
+ “你幹嗎?”他大叫。 “主人在牛欄裡,你找他說話,就從這條路口繞過去。”
19
+
20
+ “屋裡開門嗎?”我也叫起來。
21
+
22
+ “除了老婆沒有別人。你就是騰到夜裡,她也不會開。”
23
+
24
+ “為什麼?你就不能告訴她我是誰,呃,約瑟夫?”
25
+
26
+ “別找我!我才不管這些閒事呢,”這個腦袋咕嚕著,又不見了。
27
+
28
+ 雪開始大 握住 門柄 門柄 又 沒有 一個 外衣 外衣 烤 , , 一草 耙 , 在 院子 裡 他 招呼 我 著 走 走 一 穿過 一個 一個 和 一 鋪 一地 的 、 有 抽水機抽水機 抽水機 鴿籠 鴿籠 到 到 我 使 接待 過 的 那 個 的 、 屋子老婆以前從來沒有她的料。這麼一她我的等候,以為我會叫坐下。望望我,往的椅子一靠,不動,也不出。
29
+
30
+ “天氣真!壞我我是老婆的老婆,說不定你的僕人大吃大喝,大勁才聽到,聽見了!我的”
31
+
32
+ 眼睛一瞪——也不開開。 總是一冷冷瞪她的神眸冷眼瞪住,使,而且不愉快
33
+
34
+ “坐下吧,”那粗聲粗氣說,“他來了。”
35
+
36
+ 我咳了一聲,叫那惡狗朱諾。臨到第二次會面,它總算賞臉,搖起尾巴人埆礆。服從表柆示。衘礆。
37
+
38
+ “好漂亮的狗我又開始說話了。”你是不是反對那些呢!
39
+
40
+ “這一些我的女刺客克厲克民的回答,比希希親可愛的回答的主人公更冷冷的說那些人。”
41
+
42
+ “,,我所愛的就是在一堆人身上!”
43
+
44
+ “誰會愛這些東西那才怪呢!”她輕蔑地說。
45
+
46
+ 倒霉,原來又是一堆死兔子。我輕咳一聲,向火爐湊近,又把今晚天氣不好的話評論一通。
47
+
48
+ “你本來就不會。。她說,站起來去拿”該台上的兩個茶葉罐。
49
+
50
+ 我沒有她的小官現在還沒有全身出現纖細的透明狀態,她的臉還沒有明顯的淡麗,而且她的身體還沒有明顯的淡麗。捲髮還不如說說,垂垂垂垂的她脖子上說說,輕而易舉地在與眼神能拒一些和說,要使人抗拒。一,而那張眼神 眼神 眼神 不是自然的。
51
+
52
+ 她夠不到。 動了 一動 ,她 猛 猛 猛 猛 地 向 像 像 守財奴 守財奴 他 他 的 金子 金子
53
+
54
+ “我不要你幫忙,”她怒氣沖沖地說,“我自己得到了。”
55
+
56
+ “對不起!”我連忙回答。
57
+
58
+ “是請你來喫茶的嗎?”她問,把一條圍裙系在那乾淨的黑衣服上,就這樣站著,拿一盒茶葉〣邌候茶葉〣邌候茶葉〣邌
59
+
60
+ “我很想喝杯茶。”我回答。
61
+
62
+ “是請你來的嗎?”她又問。
63
+
64
+ “沒有,”我說,勉強笑一笑。 “您請我喝茶。”
65
+
66
+
67
+
68
+
69
+ 目錄
70
+ 上一章
71
+ 下一章
72
+
73
+
74
+ 返回首頁
litbee/app.py CHANGED
@@ -55,12 +55,13 @@ from pathlib import Path
55
  from types import SimpleNamespace
56
  from typing import Optional
57
 
58
- import debee
59
- import dzbee
60
- import ezbee
61
  import loguru
62
  import logzero
63
  import pandas as pd
 
 
 
 
64
  import streamlit as st
65
  from loguru import logger as loggu
66
  from logzero import logger
@@ -68,25 +69,25 @@ from set_loglevel import set_loglevel
68
  from streamlit import session_state as state
69
 
70
  from litbee import __version__
71
- from litbee.home import home
72
- from litbee.info import info
73
- from litbee.multipage import Multipage
74
- from litbee.settings import settings
75
 
76
  # from litbee.files2df import files2df
77
  # from litbee.utils import sb_front_cover, instructions, menu_items
78
  # from litbee.ezbee_page import ezbee_page
79
  # from litbee.dzbee_page import dzbee_page
80
  # from litbee.xbee_page import xbee_page
81
- from litbee.utils import menu_items, style_css
82
-
83
- # from litbee.options import options
84
 
 
85
 
86
  # from litbee.fetch_upload import fetch_upload
87
  # from litbee.fetch_paste import fetch_paste
88
  # from litbee.fetch_urls import fetch_urls
89
 
 
 
 
 
90
 
91
  # from ezbee import ezbee
92
 
@@ -134,6 +135,7 @@ _ = dict(
134
  beetype="ezbee",
135
  sourcetype="upload",
136
  sourcecount=2,
 
137
  src_filename="",
138
  tgt_filename="",
139
  src_fileio=b"",
 
55
  from types import SimpleNamespace
56
  from typing import Optional
57
 
 
 
 
58
  import loguru
59
  import logzero
60
  import pandas as pd
61
+ import ezbee
62
+ import dzbee
63
+ import debee
64
+
65
  import streamlit as st
66
  from loguru import logger as loggu
67
  from logzero import logger
 
69
  from streamlit import session_state as state
70
 
71
  from litbee import __version__
72
+ # from litbee.options import options
 
 
 
73
 
74
  # from litbee.files2df import files2df
75
  # from litbee.utils import sb_front_cover, instructions, menu_items
76
  # from litbee.ezbee_page import ezbee_page
77
  # from litbee.dzbee_page import dzbee_page
78
  # from litbee.xbee_page import xbee_page
79
+ from litbee.utils import menu_items
 
 
80
 
81
+ from litbee.multipage import Multipage
82
 
83
  # from litbee.fetch_upload import fetch_upload
84
  # from litbee.fetch_paste import fetch_paste
85
  # from litbee.fetch_urls import fetch_urls
86
 
87
+ from litbee.home import home
88
+ from litbee.settings import settings
89
+ from litbee.info import info
90
+ from litbee.utils import style_css
91
 
92
  # from ezbee import ezbee
93
 
 
135
  beetype="ezbee",
136
  sourcetype="upload",
137
  sourcecount=2,
138
+ sent_ali=None,
139
  src_filename="",
140
  tgt_filename="",
141
  src_fileio=b"",
litbee/{fetch_upload.py → fetch_upload.py-} RENAMED
@@ -281,6 +281,9 @@ def fetch_upload(): # noqa
281
  _ = st.expander("done aligned")
282
  with _:
283
  st.table(df_a.astype(str))
 
 
 
284
 
285
  # insert seq no
286
  df_a.insert(0, "sn", range(len(df_a)))
 
281
  _ = st.expander("done aligned")
282
  with _:
283
  st.table(df_a.astype(str))
284
+ # st.markdown(df_a.astype(str).to_markdown())
285
+ # st.write("to_numpy().tolist()")
286
+ # st.write(df_a.astype(str).to_numpy().tolist())
287
 
288
  # insert seq no
289
  df_a.insert(0, "sn", range(len(df_a)))
litbee/files2df.py CHANGED
@@ -14,7 +14,7 @@ def files2df(file1, file2):
14
  text1 = [_.strip() for _ in process_upload(file1).splitlines() if _.strip()]
15
 
16
  # if file2 is tempfile._TemporaryFileWrapper:
17
- if isinstance(file2, tempfile._TemporaryFileWrapper):
18
  try:
19
  filename = file2.name
20
  except AttributeError:
 
14
  text1 = [_.strip() for _ in process_upload(file1).splitlines() if _.strip()]
15
 
16
  # if file2 is tempfile._TemporaryFileWrapper:
17
+ if isinstance(file2, tempfile._TemporaryFileWrapper): # pylint: disable=protected-access
18
  try:
19
  filename = file2.name
20
  except AttributeError:
litbee/home.py CHANGED
@@ -2,13 +2,16 @@
2
 
3
  org ezbee_page.py.
4
  """
 
 
5
  import inspect
6
 
7
  # pylint: disable=invalid-name
8
  from functools import partial
9
  from itertools import zip_longest
10
- from time import perf_counter
11
 
 
12
  import logzero
13
  import numpy as np
14
  import pandas as pd
@@ -29,7 +32,7 @@ from st_aggrid import AgGrid, GridOptionsBuilder, GridUpdateMode
29
  # from st_aggrid.grid_options_builder import GridOptionsBuilder
30
  from streamlit import session_state as state
31
 
32
- # logzero.loglevel(set_loglevel())
33
 
34
 
35
  def home(): # noqa
@@ -114,26 +117,35 @@ def home(): # noqa
114
  # proceed when Submit is clicked
115
  msg1 = ""
116
  if filename1:
117
- msg1 += f" file1: {filename1}"
118
  msg2 = ""
119
  if filename2:
120
- msg2 += f" file2: {filename2}"
121
  glue = ""
122
  if filename1 and filename2:
123
  glue = ", "
124
 
125
- st.write(f" Submitted upload: {msg1}{glue}{msg2}")
 
 
 
 
126
  if not submitted:
127
  return None
128
 
129
  if not (filename1 or filename2):
130
- st.write("| no file uploaded")
 
131
  return None
132
- elif not filename1:
133
- st.write("| file1 not ready")
 
 
134
  return None
135
- elif not filename2:
136
- st.write("| file2 not ready")
 
 
137
  return None
138
 
139
  try:
@@ -218,28 +230,28 @@ def home(): # noqa
218
  # logger.debug("fn.__doc__: %s", fn.__doc__)
219
  logger.debug("fn.__name__: %s", fn.__name__)
220
 
221
- from inspect import getabsfile
222
-
223
- logger.debug("getabsfile(fn): %s", getabsfile(fn))
224
-
225
- with st.spinner(" diggin..."):
226
- then = perf_counter()
227
- try:
228
- # aset = ezbee/dzbee/debee
229
- aset = globals()[state.ns.beetype](
230
- list1,
231
- list2,
232
- # eps=eps,
233
- # min_samples=min_samples,
234
- )
235
- except Exception as e:
236
- # logger.error("aset = ezbee(...) exc: %s", e)
237
- logger.exception("aset = globals()[state.ns.beetype](...) exc: %s", e)
238
- aset = ""
239
- # st.write(e)
240
- st.write("Collecting inputs...")
241
- return None
242
- st.success(f"Done, took {perf_counter() - then:.2f} s")
243
 
244
  else:
245
  try:
@@ -278,6 +290,8 @@ def home(): # noqa
278
  _ = st.expander("done aligned")
279
  with _:
280
  st.table(df_a.astype(str))
 
 
281
 
282
  # insert seq no
283
  df_a.insert(0, "sn", range(len(df_a)))
@@ -308,3 +322,5 @@ def home(): # noqa
308
  # fit_columns_on_grid_load=True,
309
  update_mode=GridUpdateMode.MODEL_CHANGED,
310
  )
 
 
 
2
 
3
  org ezbee_page.py.
4
  """
5
+ # pylint: disable=invalid-name
6
+ # pylint: disable=too-many-locals, too-many-return-statements, too-many-branches, too-many-statements
7
  import inspect
8
 
9
  # pylint: disable=invalid-name
10
  from functools import partial
11
  from itertools import zip_longest
12
+ from about_time import about_time
13
 
14
+ import hanzidentifier
15
  import logzero
16
  import numpy as np
17
  import pandas as pd
 
32
  # from st_aggrid.grid_options_builder import GridOptionsBuilder
33
  from streamlit import session_state as state
34
 
35
+ from litbee.t2s import t2s
36
 
37
 
38
  def home(): # noqa
 
117
  # proceed when Submit is clicked
118
  msg1 = ""
119
  if filename1:
120
+ msg1 += f" file1 {filename1}"
121
  msg2 = ""
122
  if filename2:
123
+ msg2 += f" file2 {filename2}"
124
  glue = ""
125
  if filename1 and filename2:
126
  glue = ", "
127
 
128
+ upload_placeholder = st.empty()
129
+ prefix = f" Submitted upload: {msg1}{glue}{msg2}"
130
+ upload_placeholder.write(prefix)
131
+
132
+ # st.write(f" Submitted upload: {msg1}{glue}{msg2}")
133
  if not submitted:
134
  return None
135
 
136
  if not (filename1 or filename2):
137
+ # st.write("| no file uploaded")
138
+ upload_placeholder.write(f"{prefix} no file uploaded")
139
  return None
140
+
141
+ if not filename1:
142
+ # st.write("| file1 not ready")
143
+ upload_placeholder.write(f"{prefix}, file1 not ready")
144
  return None
145
+
146
+ if not filename2:
147
+ # st.write("| file2 not ready")
148
+ upload_placeholder.write(f"{prefix}, file2 not ready")
149
  return None
150
 
151
  try:
 
230
  # logger.debug("fn.__doc__: %s", fn.__doc__)
231
  logger.debug("fn.__name__: %s", fn.__name__)
232
 
233
+ # from inspect import getabsfile
234
+ # logger.debug("getabsfile(fn): %s", getabsfile(fn))
235
+
236
+ # convert to simplified chinese if is_tranditional
237
+ with about_time() as t:
238
+ with st.spinner(" diggin..."):
239
+ try:
240
+ # aset = ezbee/dzbee/debee
241
+ aset = globals()[state.ns.beetype](
242
+ t2s(list1), # t2s, handle trand.chinese
243
+ t2s(list2),
244
+ # eps=eps,
245
+ # min_samples=min_samples,
246
+ )
247
+ except Exception as e:
248
+ # logger.error("aset = ezbee(...) exc: %s", e)
249
+ logger.exception("aset = globals()[state.ns.beetype](...) exc: %s", e)
250
+ aset = ""
251
+ # st.write(e)
252
+ st.write("Collecting inputs...")
253
+ return None
254
+ st.success(f"Done, took {t.duration_human}")
255
 
256
  else:
257
  try:
 
290
  _ = st.expander("done aligned")
291
  with _:
292
  st.table(df_a.astype(str))
293
+ # st.markdown(df_a.astype(str).to_markdown())
294
+ # st.markdown(df_a.astype(str).to_numpy().tolist())
295
 
296
  # insert seq no
297
  df_a.insert(0, "sn", range(len(df_a)))
 
322
  # fit_columns_on_grid_load=True,
323
  update_mode=GridUpdateMode.MODEL_CHANGED,
324
  )
325
+
326
+ return None
litbee/{options.py → options.py-} RENAMED
File without changes
poetry.lock CHANGED
@@ -1719,6 +1719,17 @@ python-versions = ">=3.6"
1719
  [package.dependencies]
1720
  streamlit = ">=0.63"
1721
 
 
 
 
 
 
 
 
 
 
 
 
1722
  [[package]]
1723
  name = "tenacity"
1724
  version = "8.0.1"
@@ -2016,7 +2027,7 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-
2016
  [metadata]
2017
  lock-version = "1.1"
2018
  python-versions = "^3.8.3"
2019
- content-hash = "eabc5b9c944b380d2a60b4ec1b1f218f4b1a3aea1426c7fb75fdc51d4889e57e"
2020
 
2021
  [metadata.files]
2022
  about-time = [
@@ -3167,6 +3178,10 @@ streamlit-option-menu = [
3167
  {file = "streamlit-option-menu-0.3.2.tar.gz", hash = "sha256:69d1aef6f30f83f29eda3dc9667733bc2e28cd640eb17b4b6ca315f633484c52"},
3168
  {file = "streamlit_option_menu-0.3.2-py3-none-any.whl", hash = "sha256:0b7eae3ffdb0276c81d15750465c72957d57d2f766cb027c586d053519731178"},
3169
  ]
 
 
 
 
3170
  tenacity = [
3171
  {file = "tenacity-8.0.1-py3-none-any.whl", hash = "sha256:f78f4ea81b0fabc06728c11dc2a8c01277bfc5181b321a4770471902e3eb844a"},
3172
  {file = "tenacity-8.0.1.tar.gz", hash = "sha256:43242a20e3e73291a28bcbcacfd6e000b02d3857a9a9fff56b297a27afdc932f"},
 
1719
  [package.dependencies]
1720
  streamlit = ">=0.63"
1721
 
1722
+ [[package]]
1723
+ name = "tabulate"
1724
+ version = "0.8.9"
1725
+ description = "Pretty-print tabular data"
1726
+ category = "main"
1727
+ optional = false
1728
+ python-versions = "*"
1729
+
1730
+ [package.extras]
1731
+ widechars = ["wcwidth"]
1732
+
1733
  [[package]]
1734
  name = "tenacity"
1735
  version = "8.0.1"
 
2027
  [metadata]
2028
  lock-version = "1.1"
2029
  python-versions = "^3.8.3"
2030
+ content-hash = "671c809c9707c753d7aab881b8319beb76c2311edd270ca629f40cfd10227faa"
2031
 
2032
  [metadata.files]
2033
  about-time = [
 
3178
  {file = "streamlit-option-menu-0.3.2.tar.gz", hash = "sha256:69d1aef6f30f83f29eda3dc9667733bc2e28cd640eb17b4b6ca315f633484c52"},
3179
  {file = "streamlit_option_menu-0.3.2-py3-none-any.whl", hash = "sha256:0b7eae3ffdb0276c81d15750465c72957d57d2f766cb027c586d053519731178"},
3180
  ]
3181
+ tabulate = [
3182
+ {file = "tabulate-0.8.9-py3-none-any.whl", hash = "sha256:d7c013fe7abbc5e491394e10fa845f8f32fe54f8dc60c6622c6cf482d25d47e4"},
3183
+ {file = "tabulate-0.8.9.tar.gz", hash = "sha256:eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7"},
3184
+ ]
3185
  tenacity = [
3186
  {file = "tenacity-8.0.1-py3-none-any.whl", hash = "sha256:f78f4ea81b0fabc06728c11dc2a8c01277bfc5181b321a4770471902e3eb844a"},
3187
  {file = "tenacity-8.0.1.tar.gz", hash = "sha256:43242a20e3e73291a28bcbcacfd6e000b02d3857a9a9fff56b297a27afdc932f"},
pyproject.toml CHANGED
@@ -25,6 +25,7 @@ streamlit-option-menu = "^0.3.2"
25
  plotly = "^5.8.0"
26
  hanzidentifier = "^1.0.2"
27
  opencc-python-reimplemented = "^0.1.6"
 
28
 
29
  [tool.poe.executor]
30
  type = "poetry"
@@ -32,6 +33,10 @@ type = "poetry"
32
  [tool.poe.tasks]
33
  memo = "echo poe test or poetry run poe test"
34
  test = "pytest tests"
 
 
 
 
35
  build = "poetry build"
36
  _publish = "poetry publish"
37
  release = ["test", "build", "_publish"]
 
25
  plotly = "^5.8.0"
26
  hanzidentifier = "^1.0.2"
27
  opencc-python-reimplemented = "^0.1.6"
28
+ tabulate = "^0.8.9"
29
 
30
  [tool.poe.executor]
31
  type = "poetry"
 
33
  [tool.poe.tasks]
34
  memo = "echo poe test or poetry run poe test"
35
  test = "pytest tests"
36
+ pyright = "pyright litbee"
37
+ flake8 = "flake8 litbee --ignore F401,E501,F841"
38
+ check = ["pyright", "flake8"]
39
+ export = "poetry export --without-hashes -f requirements.txt -o requirements.txt"
40
  build = "poetry build"
41
  _publish = "poetry publish"
42
  release = ["test", "build", "_publish"]
requirements.txt CHANGED
@@ -38,6 +38,7 @@ fasttext==0.9.2; python_version >= "3.8" and python_version < "4.0" and python_f
38
  gitdb==4.0.9; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.7"
39
  gitpython==3.1.27; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.7"
40
  grapheme==0.6.0; python_version >= "3.7" and python_version < "4" and python_full_version >= "3.8.3" and python_full_version < "4.0.0"
 
41
  icecream==2.1.2
42
  idna==3.3; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.6"
43
  importlib-metadata==4.11.4; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.7"
@@ -71,6 +72,7 @@ nest-asyncio==1.5.5; python_full_version >= "3.7.1" and python_version < "4.0" a
71
  nltk==3.7; python_full_version >= "3.8.3" and python_full_version < "4.0.0" and python_version >= "3.8" and python_version < "4.0"
72
  notebook==6.4.11; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.7"
73
  numpy==1.22.4
 
74
  packaging==21.3; python_full_version >= "3.8.3" and python_version < "4.0" and python_version >= "3.7" and python_full_version < "4.0.0"
75
  pandas==1.4.2; python_full_version >= "3.8.3" and python_version < "4.0" and python_version >= "3.8" and python_full_version < "4.0.0"
76
  pandocfilters==1.5.0; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.7"
@@ -78,6 +80,7 @@ parso==0.8.3; python_full_version >= "3.7.1" and python_version < "4.0" and pyth
78
  pexpect==4.8.0; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.8" and sys_platform != "win32"
79
  pickleshare==0.7.5; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.8"
80
  pillow==9.1.1; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.7"
 
81
  polyglot==16.7.4; python_full_version >= "3.8.3" and python_full_version < "4.0.0"
82
  prometheus-client==0.14.1; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.7"
83
  prompt-toolkit==3.0.29; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.8"
@@ -121,6 +124,8 @@ streamlit-aggrid==0.2.3.post2; python_full_version >= "3.7.1" and python_version
121
  streamlit-multipage==0.0.18; python_version >= "3.6"
122
  streamlit-option-menu==0.3.2; python_version >= "3.6"
123
  streamlit==1.9.2; python_version >= "3.6"
 
 
124
  terminado==0.15.0; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.7"
125
  threadpoolctl==3.1.0; python_full_version >= "3.8.3" and python_full_version < "4.0.0" and python_version < "4.0" and python_version >= "3.8"
126
  tinycss2==1.1.1; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.7"
@@ -143,4 +148,5 @@ widgetsnbextension==3.6.0; python_full_version >= "3.7.1" and python_version < "
143
  win32-setctime==1.1.0; sys_platform == "win32" and python_version >= "3.5"
144
  word2word==1.0.0; python_full_version >= "3.8.3" and python_full_version < "4.0.0" and python_version >= "3.6"
145
  xlsxwriter==3.0.3; python_full_version >= "3.8.3" and python_full_version < "4.0.0" and python_version >= "3.4"
 
146
  zipp==3.8.0; python_full_version >= "3.7.1" and python_version < "3.9" and python_version >= "3.7"
 
38
  gitdb==4.0.9; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.7"
39
  gitpython==3.1.27; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.7"
40
  grapheme==0.6.0; python_version >= "3.7" and python_version < "4" and python_full_version >= "3.8.3" and python_full_version < "4.0.0"
41
+ hanzidentifier==1.0.2
42
  icecream==2.1.2
43
  idna==3.3; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.6"
44
  importlib-metadata==4.11.4; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.7"
 
72
  nltk==3.7; python_full_version >= "3.8.3" and python_full_version < "4.0.0" and python_version >= "3.8" and python_version < "4.0"
73
  notebook==6.4.11; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.7"
74
  numpy==1.22.4
75
+ opencc-python-reimplemented==0.1.6
76
  packaging==21.3; python_full_version >= "3.8.3" and python_version < "4.0" and python_version >= "3.7" and python_full_version < "4.0.0"
77
  pandas==1.4.2; python_full_version >= "3.8.3" and python_version < "4.0" and python_version >= "3.8" and python_full_version < "4.0.0"
78
  pandocfilters==1.5.0; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.7"
 
80
  pexpect==4.8.0; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.8" and sys_platform != "win32"
81
  pickleshare==0.7.5; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.8"
82
  pillow==9.1.1; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.7"
83
+ plotly==5.8.0; python_version >= "3.6"
84
  polyglot==16.7.4; python_full_version >= "3.8.3" and python_full_version < "4.0.0"
85
  prometheus-client==0.14.1; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.7"
86
  prompt-toolkit==3.0.29; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.8"
 
124
  streamlit-multipage==0.0.18; python_version >= "3.6"
125
  streamlit-option-menu==0.3.2; python_version >= "3.6"
126
  streamlit==1.9.2; python_version >= "3.6"
127
+ tabulate==0.8.9
128
+ tenacity==8.0.1; python_version >= "3.6"
129
  terminado==0.15.0; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.7"
130
  threadpoolctl==3.1.0; python_full_version >= "3.8.3" and python_full_version < "4.0.0" and python_version < "4.0" and python_version >= "3.8"
131
  tinycss2==1.1.1; python_full_version >= "3.7.1" and python_version < "4.0" and python_version >= "3.7"
 
148
  win32-setctime==1.1.0; sys_platform == "win32" and python_version >= "3.5"
149
  word2word==1.0.0; python_full_version >= "3.8.3" and python_full_version < "4.0.0" and python_version >= "3.6"
150
  xlsxwriter==3.0.3; python_full_version >= "3.8.3" and python_full_version < "4.0.0" and python_version >= "3.4"
151
+ zhon==1.1.5
152
  zipp==3.8.0; python_full_version >= "3.7.1" and python_version < "3.9" and python_version >= "3.7"
run-poetry-export-requirements.sh ADDED
@@ -0,0 +1 @@
 
 
1
+ poetry export --without-hashes -f requirements.txt -o requirements.txt