freemt commited on
Commit
8b6cf81
·
1 Parent(s): 4dc9e2b

Update tenacity

Browse files
Files changed (5) hide show
  1. app.py +65 -9
  2. generated_image.png +0 -0
  3. poetry.lock +503 -1
  4. pyproject.toml +20 -0
  5. requirements.txt +25 -2
app.py CHANGED
@@ -1,10 +1,16 @@
1
  """See https://huggingface.co/spaces/Gradio-Blocks/Story-to-video/blob/main/app.py."""
2
- import gradio as gr
3
  import base64
4
  import io
 
 
 
 
 
 
5
  from logzero import logger
6
  from PIL import Image # opencv-python
7
- from random import choice
 
8
 
9
  # from PIL import Image
10
  # from transformers import AutoTokenizer, AutoModelForSeq2SeqLM,pipeline
@@ -13,11 +19,58 @@ from random import choice
13
 
14
  image_gen = gr.Interface.load("spaces/multimodalart/latentdiffusion")
15
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
 
17
  def generate_images(phrase: str, steps: int = 125):
18
  if not phrase.strip():
19
- phrase = choice(["an apple", "a cat", "blue moon", "metaverse"])
 
20
  generated_text = phrase
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  # steps = 125
22
  width = 256
23
  height = 256
@@ -26,16 +79,18 @@ def generate_images(phrase: str, steps: int = 125):
26
  diversity = 6
27
 
28
  try:
29
- image_bytes = image_gen(generated_text, steps, width, height, num_images, diversity)
 
 
30
  except Exception as exc:
31
  logger.error(exc)
32
- return img, f"phrase: {phrase}, errors: str(exc). Try again."
33
 
34
  # Algo from spaces/Gradio-Blocks/latent_gpt2_story/blob/main/app.py
35
  # generated_images = []
36
 
37
  img = None
38
- err_msg = phrase
39
  for image in image_bytes[1]:
40
  image_str = image[0]
41
  try:
@@ -43,7 +98,7 @@ def generate_images(phrase: str, steps: int = 125):
43
  except Exception as exc:
44
  logger.error(exc)
45
  err_msg = str(exc)
46
- return None, f"Error: {err_msg}. Try again."
47
  decoded_bytes = base64.decodebytes(bytes(image_str, "utf-8"))
48
  img = Image.open(io.BytesIO(decoded_bytes))
49
 
@@ -54,12 +109,13 @@ def generate_images(phrase: str, steps: int = 125):
54
  return img, err_msg
55
 
56
 
57
- examples = [["an apple", 125], ["Donald Trump", 125]]
 
58
 
59
  inputs = [
60
  # "text",
61
  gr.Text(value="a dog with a funny hat"),
62
- gr.Slider(minimum=2, maximum=500, value=115, step=5),
63
  ]
64
 
65
  iface = gr.Interface(
 
1
  """See https://huggingface.co/spaces/Gradio-Blocks/Story-to-video/blob/main/app.py."""
 
2
  import base64
3
  import io
4
+ import re
5
+ from random import choice
6
+
7
+ import gradio as gr
8
+ import translators as ts
9
+ from fastlid import fastlid
10
  from logzero import logger
11
  from PIL import Image # opencv-python
12
+ from tenacity import retry
13
+ from tenacity.stop import stop_after_attempt, stop_after_delay
14
 
15
  # from PIL import Image
16
  # from transformers import AutoTokenizer, AutoModelForSeq2SeqLM,pipeline
 
19
 
20
  image_gen = gr.Interface.load("spaces/multimodalart/latentdiffusion")
21
 
22
+ examples_ = [
23
+ "蓝色的夜,森林中好多萤火虫",
24
+ "黑云压城城欲摧 ,甲光向日金鳞开。",
25
+ "黄金在河里流淌,宝石遍地,空中铺满巨大的彩虹。",
26
+ "季姬寂,集鸡,鸡即棘鸡。棘鸡饥叽,季姬及箕稷济鸡。",
27
+ "an apple",
28
+ "a cat",
29
+ "blue moon",
30
+ "metaverse",
31
+ ]
32
+
33
+
34
+ @retry(stop=(stop_after_delay(10) | stop_after_attempt(5)))
35
+ def tr_(text: str) -> str:
36
+ """Wrap [ts.deepl, ts.sogou, ts.baidu, ts.google] with tenacity."""
37
+ for tr in [ts.deepl, ts.sogou, ts.baidu, ts.google]:
38
+ try:
39
+ res = tr(text)
40
+ logger.info(" api used: %s", tr.__name__)
41
+ tr_.api_used = tr.__name__
42
+ break
43
+ except Exception:
44
+ continue
45
+ else:
46
+ res = "Something is probably wong, ping dev to fix it if you like."
47
+ return res
48
+
49
 
50
  def generate_images(phrase: str, steps: int = 125):
51
  if not phrase.strip():
52
+ phrase = choice(examples_)
53
+
54
  generated_text = phrase
55
+ detected = "en"
56
+ api_used = ""
57
+ try:
58
+ detected = fastlid(phrase)[0]
59
+ except Exception as exc:
60
+ logger.error(exc)
61
+
62
+ # safe guard short Chinese phrases
63
+ if len(phrase) < 10 and re.search(r"[一-龟]+", phrase):
64
+ detected = "zh"
65
+
66
+ if detected not in ["en"]:
67
+ try:
68
+ generated_text = tr_(phrase)
69
+ api_used = f"({tr_.api_used})"
70
+ except Exception as exc:
71
+ logger.error(exc)
72
+ return None, f"{phrase:}, errors: {str(exc)}"
73
+
74
  # steps = 125
75
  width = 256
76
  height = 256
 
79
  diversity = 6
80
 
81
  try:
82
+ image_bytes = image_gen(
83
+ generated_text, steps, width, height, num_images, diversity
84
+ )
85
  except Exception as exc:
86
  logger.error(exc)
87
+ return None, f"phrase: {phrase}, errors: {str(exc)}. Try again."
88
 
89
  # Algo from spaces/Gradio-Blocks/latent_gpt2_story/blob/main/app.py
90
  # generated_images = []
91
 
92
  img = None
93
+ err_msg = f"{phrase} {api_used}"
94
  for image in image_bytes[1]:
95
  image_str = image[0]
96
  try:
 
98
  except Exception as exc:
99
  logger.error(exc)
100
  err_msg = str(exc)
101
+ return None, f"errors: {err_msg}. Try again."
102
  decoded_bytes = base64.decodebytes(bytes(image_str, "utf-8"))
103
  img = Image.open(io.BytesIO(decoded_bytes))
104
 
 
109
  return img, err_msg
110
 
111
 
112
+ # examples = [["an apple", 125], ["Donald Trump", 125]]
113
+ examples = [list(_) for _ in zip(examples_, [125] * len(examples_))]
114
 
115
  inputs = [
116
  # "text",
117
  gr.Text(value="a dog with a funny hat"),
118
+ gr.Slider(minimum=2, maximum=250, value=115, step=5),
119
  ]
120
 
121
  iface = gr.Interface(
generated_image.png DELETED
Binary file (67.6 kB)
 
poetry.lock CHANGED
@@ -1,3 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  [[package]]
2
  name = "colorama"
3
  version = "0.4.5"
@@ -6,6 +25,50 @@ category = "main"
6
  optional = false
7
  python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  [[package]]
10
  name = "install"
11
  version = "1.3.5"
@@ -14,6 +77,21 @@ category = "main"
14
  optional = false
15
  python-versions = ">=2.7, >=3.5"
16
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  [[package]]
18
  name = "logzero"
19
  version = "1.7.0"
@@ -25,21 +103,445 @@ python-versions = "*"
25
  [package.dependencies]
26
  colorama = {version = "*", markers = "sys_platform == \"win32\""}
27
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  [metadata]
29
  lock-version = "1.1"
30
  python-versions = "^3.8"
31
- content-hash = "99de593375f55736457752f5abe46a79ef864a037b1bd84592a3983d44b410c2"
32
 
33
  [metadata.files]
 
 
 
 
 
 
 
 
34
  colorama = [
35
  {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"},
36
  {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"},
37
  ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  install = [
39
  {file = "install-1.3.5-py3-none-any.whl", hash = "sha256:0d3fadf4aa62c95efe8d34757c8507eb46177f86c016c21c6551eafc6a53d5a9"},
40
  {file = "install-1.3.5.tar.gz", hash = "sha256:e67c8a0be5ccf8cb4ffa17d090f3a61b6e820e6a7e21cd1d2c0f7bc59b18e647"},
41
  ]
 
 
 
 
42
  logzero = [
43
  {file = "logzero-1.7.0-py2.py3-none-any.whl", hash = "sha256:23eb1f717a2736f9ab91ca0d43160fd2c996ad49ae6bad34652d47aba908769d"},
44
  {file = "logzero-1.7.0.tar.gz", hash = "sha256:7f73ddd3ae393457236f081ffebd044a3aa2e423a47ae6ddb5179ab90d0ad082"},
45
  ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [[package]]
2
+ name = "certifi"
3
+ version = "2022.6.15"
4
+ description = "Python package for providing Mozilla's CA Bundle."
5
+ category = "main"
6
+ optional = false
7
+ python-versions = ">=3.6"
8
+
9
+ [[package]]
10
+ name = "charset-normalizer"
11
+ version = "2.1.0"
12
+ description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
13
+ category = "main"
14
+ optional = false
15
+ python-versions = ">=3.6.0"
16
+
17
+ [package.extras]
18
+ unicode_backport = ["unicodedata2"]
19
+
20
  [[package]]
21
  name = "colorama"
22
  version = "0.4.5"
 
25
  optional = false
26
  python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
27
 
28
+ [[package]]
29
+ name = "dill"
30
+ version = "0.3.5.1"
31
+ description = "serialize all of python"
32
+ category = "main"
33
+ optional = false
34
+ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*"
35
+
36
+ [package.extras]
37
+ graph = ["objgraph (>=1.7.2)"]
38
+
39
+ [[package]]
40
+ name = "fastlid"
41
+ version = "0.1.7"
42
+ description = "Detect languages via a fasttext model"
43
+ category = "main"
44
+ optional = false
45
+ python-versions = ">=3.6,<4.0"
46
+
47
+ [package.dependencies]
48
+ fasttext = ">=0.9.2,<0.10.0"
49
+ logzero = ">=1.7.0,<2.0.0"
50
+ numpy = ">=1.20.3,<2.0.0"
51
+
52
+ [[package]]
53
+ name = "fasttext"
54
+ version = "0.9.2"
55
+ description = "fasttext Python bindings"
56
+ category = "main"
57
+ optional = false
58
+ python-versions = "*"
59
+
60
+ [package.dependencies]
61
+ numpy = "*"
62
+ pybind11 = ">=2.2"
63
+
64
+ [[package]]
65
+ name = "idna"
66
+ version = "3.3"
67
+ description = "Internationalized Domain Names in Applications (IDNA)"
68
+ category = "main"
69
+ optional = false
70
+ python-versions = ">=3.5"
71
+
72
  [[package]]
73
  name = "install"
74
  version = "1.3.5"
 
77
  optional = false
78
  python-versions = ">=2.7, >=3.5"
79
 
80
+ [[package]]
81
+ name = "loguru"
82
+ version = "0.6.0"
83
+ description = "Python logging made (stupidly) simple"
84
+ category = "main"
85
+ optional = false
86
+ python-versions = ">=3.5"
87
+
88
+ [package.dependencies]
89
+ colorama = {version = ">=0.3.4", markers = "sys_platform == \"win32\""}
90
+ win32-setctime = {version = ">=1.0.0", markers = "sys_platform == \"win32\""}
91
+
92
+ [package.extras]
93
+ dev = ["colorama (>=0.3.4)", "docutils (==0.16)", "flake8 (>=3.7.7)", "tox (>=3.9.0)", "pytest (>=4.6.2)", "pytest-cov (>=2.7.1)", "black (>=19.10b0)", "isort (>=5.1.1)", "Sphinx (>=4.1.1)", "sphinx-autobuild (>=0.7.1)", "sphinx-rtd-theme (>=0.4.3)"]
94
+
95
  [[package]]
96
  name = "logzero"
97
  version = "1.7.0"
 
103
  [package.dependencies]
104
  colorama = {version = "*", markers = "sys_platform == \"win32\""}
105
 
106
+ [[package]]
107
+ name = "lxml"
108
+ version = "4.9.1"
109
+ description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API."
110
+ category = "main"
111
+ optional = false
112
+ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*"
113
+
114
+ [package.extras]
115
+ cssselect = ["cssselect (>=0.7)"]
116
+ html5 = ["html5lib"]
117
+ htmlsoup = ["beautifulsoup4"]
118
+ source = ["Cython (>=0.29.7)"]
119
+
120
+ [[package]]
121
+ name = "multiprocess"
122
+ version = "0.70.13"
123
+ description = "better multiprocessing and multithreading in python"
124
+ category = "main"
125
+ optional = false
126
+ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*"
127
+
128
+ [package.dependencies]
129
+ dill = ">=0.3.5.1"
130
+
131
+ [[package]]
132
+ name = "numpy"
133
+ version = "1.23.1"
134
+ description = "NumPy is the fundamental package for array computing with Python."
135
+ category = "main"
136
+ optional = false
137
+ python-versions = ">=3.8"
138
+
139
+ [[package]]
140
+ name = "opencv-python"
141
+ version = "4.6.0.66"
142
+ description = "Wrapper package for OpenCV python bindings."
143
+ category = "main"
144
+ optional = false
145
+ python-versions = ">=3.6"
146
+
147
+ [package.dependencies]
148
+ numpy = [
149
+ {version = ">=1.21.2", markers = "python_version >= \"3.10\" or python_version >= \"3.6\" and platform_system == \"Darwin\" and platform_machine == \"arm64\""},
150
+ {version = ">=1.19.3", markers = "python_version >= \"3.6\" and platform_system == \"Linux\" and platform_machine == \"aarch64\" or python_version >= \"3.9\""},
151
+ {version = ">=1.14.5", markers = "python_version >= \"3.7\""},
152
+ {version = ">=1.17.3", markers = "python_version >= \"3.8\""},
153
+ ]
154
+
155
+ [[package]]
156
+ name = "pastel"
157
+ version = "0.2.1"
158
+ description = "Bring colors to your terminal."
159
+ category = "dev"
160
+ optional = false
161
+ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
162
+
163
+ [[package]]
164
+ name = "pathos"
165
+ version = "0.2.9"
166
+ description = "parallel graph management and execution in heterogeneous computing"
167
+ category = "main"
168
+ optional = false
169
+ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*"
170
+
171
+ [package.dependencies]
172
+ dill = ">=0.3.5.1"
173
+ multiprocess = ">=0.70.13"
174
+ pox = ">=0.3.1"
175
+ ppft = ">=1.7.6.5"
176
+
177
+ [[package]]
178
+ name = "poethepoet"
179
+ version = "0.16.0"
180
+ description = "A task runner that works well with poetry."
181
+ category = "dev"
182
+ optional = false
183
+ python-versions = ">=3.7"
184
+
185
+ [package.dependencies]
186
+ pastel = ">=0.2.1,<0.3.0"
187
+ tomli = ">=1.2.2"
188
+
189
+ [package.extras]
190
+ poetry_plugin = ["poetry (>=1.0,<2.0)"]
191
+
192
+ [[package]]
193
+ name = "pox"
194
+ version = "0.3.1"
195
+ description = "utilities for filesystem exploration and automated builds"
196
+ category = "main"
197
+ optional = false
198
+ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*"
199
+
200
+ [[package]]
201
+ name = "ppft"
202
+ version = "1.7.6.5"
203
+ description = "distributed and parallel python"
204
+ category = "main"
205
+ optional = false
206
+ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*"
207
+
208
+ [package.dependencies]
209
+ six = ">=1.7.3"
210
+
211
+ [package.extras]
212
+ dill = ["dill (>=0.3.5)"]
213
+
214
+ [[package]]
215
+ name = "pybind11"
216
+ version = "2.10.0"
217
+ description = "Seamless operability between C++11 and Python"
218
+ category = "main"
219
+ optional = false
220
+ python-versions = ">=3.6"
221
+
222
+ [package.extras]
223
+ global = ["pybind11-global (==2.10.0)"]
224
+
225
+ [[package]]
226
+ name = "pyexecjs"
227
+ version = "1.5.1"
228
+ description = "Run JavaScript code from Python"
229
+ category = "main"
230
+ optional = false
231
+ python-versions = "*"
232
+
233
+ [package.dependencies]
234
+ six = ">=1.10.0"
235
+
236
+ [[package]]
237
+ name = "requests"
238
+ version = "2.28.1"
239
+ description = "Python HTTP for Humans."
240
+ category = "main"
241
+ optional = false
242
+ python-versions = ">=3.7, <4"
243
+
244
+ [package.dependencies]
245
+ certifi = ">=2017.4.17"
246
+ charset-normalizer = ">=2,<3"
247
+ idna = ">=2.5,<4"
248
+ urllib3 = ">=1.21.1,<1.27"
249
+
250
+ [package.extras]
251
+ socks = ["PySocks (>=1.5.6,!=1.5.7)"]
252
+ use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"]
253
+
254
+ [[package]]
255
+ name = "six"
256
+ version = "1.16.0"
257
+ description = "Python 2 and 3 compatibility utilities"
258
+ category = "main"
259
+ optional = false
260
+ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
261
+
262
+ [[package]]
263
+ name = "tenacity"
264
+ version = "8.0.1"
265
+ description = "Retry code until it succeeds"
266
+ category = "main"
267
+ optional = false
268
+ python-versions = ">=3.6"
269
+
270
+ [package.extras]
271
+ doc = ["reno", "sphinx", "tornado (>=4.5)"]
272
+
273
+ [[package]]
274
+ name = "tomli"
275
+ version = "2.0.1"
276
+ description = "A lil' TOML parser"
277
+ category = "dev"
278
+ optional = false
279
+ python-versions = ">=3.7"
280
+
281
+ [[package]]
282
+ name = "translators"
283
+ version = "5.3.1"
284
+ description = "Translators is a library which aims to bring free, multiple, enjoyable translation to individuals and students in Python."
285
+ category = "main"
286
+ optional = false
287
+ python-versions = "*"
288
+
289
+ [package.dependencies]
290
+ loguru = ">=0.6.0"
291
+ lxml = ">=4.8.0"
292
+ pathos = ">=0.2.8"
293
+ PyExecJS = ">=1.5.1"
294
+ requests = ">=2.27.1"
295
+
296
+ [[package]]
297
+ name = "urllib3"
298
+ version = "1.26.10"
299
+ description = "HTTP library with thread-safe connection pooling, file post, and more."
300
+ category = "main"
301
+ optional = false
302
+ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4"
303
+
304
+ [package.extras]
305
+ brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"]
306
+ secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
307
+ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
308
+
309
+ [[package]]
310
+ name = "win32-setctime"
311
+ version = "1.1.0"
312
+ description = "A small Python utility to set file creation time on Windows"
313
+ category = "main"
314
+ optional = false
315
+ python-versions = ">=3.5"
316
+
317
+ [package.extras]
318
+ dev = ["pytest (>=4.6.2)", "black (>=19.3b0)"]
319
+
320
  [metadata]
321
  lock-version = "1.1"
322
  python-versions = "^3.8"
323
+ content-hash = "baf5e4643ec2f4cf1e675a8167e711f58987ee8b6c0755a89e5eb3d82f93b27f"
324
 
325
  [metadata.files]
326
+ certifi = [
327
+ {file = "certifi-2022.6.15-py3-none-any.whl", hash = "sha256:fe86415d55e84719d75f8b69414f6438ac3547d2078ab91b67e779ef69378412"},
328
+ {file = "certifi-2022.6.15.tar.gz", hash = "sha256:84c85a9078b11105f04f3036a9482ae10e4621616db313fe045dd24743a0820d"},
329
+ ]
330
+ charset-normalizer = [
331
+ {file = "charset-normalizer-2.1.0.tar.gz", hash = "sha256:575e708016ff3a5e3681541cb9d79312c416835686d054a23accb873b254f413"},
332
+ {file = "charset_normalizer-2.1.0-py3-none-any.whl", hash = "sha256:5189b6f22b01957427f35b6a08d9a0bc45b46d3788ef5a92e978433c7a35f8a5"},
333
+ ]
334
  colorama = [
335
  {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"},
336
  {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"},
337
  ]
338
+ dill = [
339
+ {file = "dill-0.3.5.1-py2.py3-none-any.whl", hash = "sha256:33501d03270bbe410c72639b350e941882a8b0fd55357580fbc873fba0c59302"},
340
+ {file = "dill-0.3.5.1.tar.gz", hash = "sha256:d75e41f3eff1eee599d738e76ba8f4ad98ea229db8b085318aa2b3333a208c86"},
341
+ ]
342
+ fastlid = [
343
+ {file = "fastlid-0.1.7-py3-none-any.whl", hash = "sha256:591dbee44ac501c9aa89abb97a13b11cf964c3b8c4add1bdf02b44d30463e18f"},
344
+ {file = "fastlid-0.1.7.tar.gz", hash = "sha256:a6693ea05b9e070b4656ce9320704688c0c0c6f09bf873d0add5184e96bdb055"},
345
+ ]
346
+ fasttext = [
347
+ {file = "fasttext-0.9.2.tar.gz", hash = "sha256:665556f1f6dcb4fcbe25fa8ebcd4f71b18fa96a090de09d88d97a60cbd29dcb5"},
348
+ ]
349
+ idna = [
350
+ {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"},
351
+ {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"},
352
+ ]
353
  install = [
354
  {file = "install-1.3.5-py3-none-any.whl", hash = "sha256:0d3fadf4aa62c95efe8d34757c8507eb46177f86c016c21c6551eafc6a53d5a9"},
355
  {file = "install-1.3.5.tar.gz", hash = "sha256:e67c8a0be5ccf8cb4ffa17d090f3a61b6e820e6a7e21cd1d2c0f7bc59b18e647"},
356
  ]
357
+ loguru = [
358
+ {file = "loguru-0.6.0-py3-none-any.whl", hash = "sha256:4e2414d534a2ab57573365b3e6d0234dfb1d84b68b7f3b948e6fb743860a77c3"},
359
+ {file = "loguru-0.6.0.tar.gz", hash = "sha256:066bd06758d0a513e9836fd9c6b5a75bfb3fd36841f4b996bc60b547a309d41c"},
360
+ ]
361
  logzero = [
362
  {file = "logzero-1.7.0-py2.py3-none-any.whl", hash = "sha256:23eb1f717a2736f9ab91ca0d43160fd2c996ad49ae6bad34652d47aba908769d"},
363
  {file = "logzero-1.7.0.tar.gz", hash = "sha256:7f73ddd3ae393457236f081ffebd044a3aa2e423a47ae6ddb5179ab90d0ad082"},
364
  ]
365
+ lxml = [
366
+ {file = "lxml-4.9.1-cp27-cp27m-macosx_10_15_x86_64.whl", hash = "sha256:98cafc618614d72b02185ac583c6f7796202062c41d2eeecdf07820bad3295ed"},
367
+ {file = "lxml-4.9.1-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c62e8dd9754b7debda0c5ba59d34509c4688f853588d75b53c3791983faa96fc"},
368
+ {file = "lxml-4.9.1-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:21fb3d24ab430fc538a96e9fbb9b150029914805d551deeac7d7822f64631dfc"},
369
+ {file = "lxml-4.9.1-cp27-cp27m-win32.whl", hash = "sha256:86e92728ef3fc842c50a5cb1d5ba2bc66db7da08a7af53fb3da79e202d1b2cd3"},
370
+ {file = "lxml-4.9.1-cp27-cp27m-win_amd64.whl", hash = "sha256:4cfbe42c686f33944e12f45a27d25a492cc0e43e1dc1da5d6a87cbcaf2e95627"},
371
+ {file = "lxml-4.9.1-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dad7b164905d3e534883281c050180afcf1e230c3d4a54e8038aa5cfcf312b84"},
372
+ {file = "lxml-4.9.1-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a614e4afed58c14254e67862456d212c4dcceebab2eaa44d627c2ca04bf86837"},
373
+ {file = "lxml-4.9.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:f9ced82717c7ec65a67667bb05865ffe38af0e835cdd78728f1209c8fffe0cad"},
374
+ {file = "lxml-4.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:d9fc0bf3ff86c17348dfc5d322f627d78273eba545db865c3cd14b3f19e57fa5"},
375
+ {file = "lxml-4.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:e5f66bdf0976ec667fc4594d2812a00b07ed14d1b44259d19a41ae3fff99f2b8"},
376
+ {file = "lxml-4.9.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:fe17d10b97fdf58155f858606bddb4e037b805a60ae023c009f760d8361a4eb8"},
377
+ {file = "lxml-4.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8caf4d16b31961e964c62194ea3e26a0e9561cdf72eecb1781458b67ec83423d"},
378
+ {file = "lxml-4.9.1-cp310-cp310-win32.whl", hash = "sha256:4780677767dd52b99f0af1f123bc2c22873d30b474aa0e2fc3fe5e02217687c7"},
379
+ {file = "lxml-4.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:b122a188cd292c4d2fcd78d04f863b789ef43aa129b233d7c9004de08693728b"},
380
+ {file = "lxml-4.9.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:be9eb06489bc975c38706902cbc6888f39e946b81383abc2838d186f0e8b6a9d"},
381
+ {file = "lxml-4.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:f1be258c4d3dc609e654a1dc59d37b17d7fef05df912c01fc2e15eb43a9735f3"},
382
+ {file = "lxml-4.9.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:927a9dd016d6033bc12e0bf5dee1dde140235fc8d0d51099353c76081c03dc29"},
383
+ {file = "lxml-4.9.1-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9232b09f5efee6a495a99ae6824881940d6447debe272ea400c02e3b68aad85d"},
384
+ {file = "lxml-4.9.1-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:04da965dfebb5dac2619cb90fcf93efdb35b3c6994fea58a157a834f2f94b318"},
385
+ {file = "lxml-4.9.1-cp35-cp35m-win32.whl", hash = "sha256:4d5bae0a37af799207140652a700f21a85946f107a199bcb06720b13a4f1f0b7"},
386
+ {file = "lxml-4.9.1-cp35-cp35m-win_amd64.whl", hash = "sha256:4878e667ebabe9b65e785ac8da4d48886fe81193a84bbe49f12acff8f7a383a4"},
387
+ {file = "lxml-4.9.1-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:1355755b62c28950f9ce123c7a41460ed9743c699905cbe664a5bcc5c9c7c7fb"},
388
+ {file = "lxml-4.9.1-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:bcaa1c495ce623966d9fc8a187da80082334236a2a1c7e141763ffaf7a405067"},
389
+ {file = "lxml-4.9.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6eafc048ea3f1b3c136c71a86db393be36b5b3d9c87b1c25204e7d397cee9536"},
390
+ {file = "lxml-4.9.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:13c90064b224e10c14dcdf8086688d3f0e612db53766e7478d7754703295c7c8"},
391
+ {file = "lxml-4.9.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:206a51077773c6c5d2ce1991327cda719063a47adc02bd703c56a662cdb6c58b"},
392
+ {file = "lxml-4.9.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e8f0c9d65da595cfe91713bc1222af9ecabd37971762cb830dea2fc3b3bb2acf"},
393
+ {file = "lxml-4.9.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:8f0a4d179c9a941eb80c3a63cdb495e539e064f8054230844dcf2fcb812b71d3"},
394
+ {file = "lxml-4.9.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:830c88747dce8a3e7525defa68afd742b4580df6aa2fdd6f0855481e3994d391"},
395
+ {file = "lxml-4.9.1-cp36-cp36m-win32.whl", hash = "sha256:1e1cf47774373777936c5aabad489fef7b1c087dcd1f426b621fda9dcc12994e"},
396
+ {file = "lxml-4.9.1-cp36-cp36m-win_amd64.whl", hash = "sha256:5974895115737a74a00b321e339b9c3f45c20275d226398ae79ac008d908bff7"},
397
+ {file = "lxml-4.9.1-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:1423631e3d51008871299525b541413c9b6c6423593e89f9c4cfbe8460afc0a2"},
398
+ {file = "lxml-4.9.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:2aaf6a0a6465d39b5ca69688fce82d20088c1838534982996ec46633dc7ad6cc"},
399
+ {file = "lxml-4.9.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:9f36de4cd0c262dd9927886cc2305aa3f2210db437aa4fed3fb4940b8bf4592c"},
400
+ {file = "lxml-4.9.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:ae06c1e4bc60ee076292e582a7512f304abdf6c70db59b56745cca1684f875a4"},
401
+ {file = "lxml-4.9.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:57e4d637258703d14171b54203fd6822fda218c6c2658a7d30816b10995f29f3"},
402
+ {file = "lxml-4.9.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6d279033bf614953c3fc4a0aa9ac33a21e8044ca72d4fa8b9273fe75359d5cca"},
403
+ {file = "lxml-4.9.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:a60f90bba4c37962cbf210f0188ecca87daafdf60271f4c6948606e4dabf8785"},
404
+ {file = "lxml-4.9.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:6ca2264f341dd81e41f3fffecec6e446aa2121e0b8d026fb5130e02de1402785"},
405
+ {file = "lxml-4.9.1-cp37-cp37m-win32.whl", hash = "sha256:27e590352c76156f50f538dbcebd1925317a0f70540f7dc8c97d2931c595783a"},
406
+ {file = "lxml-4.9.1-cp37-cp37m-win_amd64.whl", hash = "sha256:eea5d6443b093e1545ad0210e6cf27f920482bfcf5c77cdc8596aec73523bb7e"},
407
+ {file = "lxml-4.9.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:f05251bbc2145349b8d0b77c0d4e5f3b228418807b1ee27cefb11f69ed3d233b"},
408
+ {file = "lxml-4.9.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:487c8e61d7acc50b8be82bda8c8d21d20e133c3cbf41bd8ad7eb1aaeb3f07c97"},
409
+ {file = "lxml-4.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:8d1a92d8e90b286d491e5626af53afef2ba04da33e82e30744795c71880eaa21"},
410
+ {file = "lxml-4.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:b570da8cd0012f4af9fa76a5635cd31f707473e65a5a335b186069d5c7121ff2"},
411
+ {file = "lxml-4.9.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5ef87fca280fb15342726bd5f980f6faf8b84a5287fcc2d4962ea8af88b35130"},
412
+ {file = "lxml-4.9.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:93e414e3206779ef41e5ff2448067213febf260ba747fc65389a3ddaa3fb8715"},
413
+ {file = "lxml-4.9.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6653071f4f9bac46fbc30f3c7838b0e9063ee335908c5d61fb7a4a86c8fd2036"},
414
+ {file = "lxml-4.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:32a73c53783becdb7eaf75a2a1525ea8e49379fb7248c3eeefb9412123536387"},
415
+ {file = "lxml-4.9.1-cp38-cp38-win32.whl", hash = "sha256:1a7c59c6ffd6ef5db362b798f350e24ab2cfa5700d53ac6681918f314a4d3b94"},
416
+ {file = "lxml-4.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:1436cf0063bba7888e43f1ba8d58824f085410ea2025befe81150aceb123e345"},
417
+ {file = "lxml-4.9.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:4beea0f31491bc086991b97517b9683e5cfb369205dac0148ef685ac12a20a67"},
418
+ {file = "lxml-4.9.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:41fb58868b816c202e8881fd0f179a4644ce6e7cbbb248ef0283a34b73ec73bb"},
419
+ {file = "lxml-4.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:bd34f6d1810d9354dc7e35158aa6cc33456be7706df4420819af6ed966e85448"},
420
+ {file = "lxml-4.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:edffbe3c510d8f4bf8640e02ca019e48a9b72357318383ca60e3330c23aaffc7"},
421
+ {file = "lxml-4.9.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6d949f53ad4fc7cf02c44d6678e7ff05ec5f5552b235b9e136bd52e9bf730b91"},
422
+ {file = "lxml-4.9.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:079b68f197c796e42aa80b1f739f058dcee796dc725cc9a1be0cdb08fc45b000"},
423
+ {file = "lxml-4.9.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9c3a88d20e4fe4a2a4a84bf439a5ac9c9aba400b85244c63a1ab7088f85d9d25"},
424
+ {file = "lxml-4.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4e285b5f2bf321fc0857b491b5028c5f276ec0c873b985d58d7748ece1d770dd"},
425
+ {file = "lxml-4.9.1-cp39-cp39-win32.whl", hash = "sha256:ef72013e20dd5ba86a8ae1aed7f56f31d3374189aa8b433e7b12ad182c0d2dfb"},
426
+ {file = "lxml-4.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:10d2017f9150248563bb579cd0d07c61c58da85c922b780060dcc9a3aa9f432d"},
427
+ {file = "lxml-4.9.1-pp37-pypy37_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0538747a9d7827ce3e16a8fdd201a99e661c7dee3c96c885d8ecba3c35d1032c"},
428
+ {file = "lxml-4.9.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:0645e934e940107e2fdbe7c5b6fb8ec6232444260752598bc4d09511bd056c0b"},
429
+ {file = "lxml-4.9.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:6daa662aba22ef3258934105be2dd9afa5bb45748f4f702a3b39a5bf53a1f4dc"},
430
+ {file = "lxml-4.9.1-pp38-pypy38_pp73-macosx_10_15_x86_64.whl", hash = "sha256:603a464c2e67d8a546ddaa206d98e3246e5db05594b97db844c2f0a1af37cf5b"},
431
+ {file = "lxml-4.9.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:c4b2e0559b68455c085fb0f6178e9752c4be3bba104d6e881eb5573b399d1eb2"},
432
+ {file = "lxml-4.9.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0f3f0059891d3254c7b5fb935330d6db38d6519ecd238ca4fce93c234b4a0f73"},
433
+ {file = "lxml-4.9.1-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:c852b1530083a620cb0de5f3cd6826f19862bafeaf77586f1aef326e49d95f0c"},
434
+ {file = "lxml-4.9.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:287605bede6bd36e930577c5925fcea17cb30453d96a7b4c63c14a257118dbb9"},
435
+ {file = "lxml-4.9.1.tar.gz", hash = "sha256:fe749b052bb7233fe5d072fcb549221a8cb1a16725c47c37e42b0b9cb3ff2c3f"},
436
+ ]
437
+ multiprocess = [
438
+ {file = "multiprocess-0.70.13-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:b9a3be43ecee6776a9e7223af96914a0164f306affcf4624b213885172236b77"},
439
+ {file = "multiprocess-0.70.13-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:7e6a689da3490412caa7b3e27c3385d8aaa49135f3a353ace94ca47e4c926d37"},
440
+ {file = "multiprocess-0.70.13-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:17cb4229aa43e6973679d67c66a454cbf8b6b0d038425cba3220ea5a06d61b58"},
441
+ {file = "multiprocess-0.70.13-cp27-cp27m-win32.whl", hash = "sha256:99bb68dd0d5b3d30fe104721bee26e4637667112d5951b51feb81479fd560876"},
442
+ {file = "multiprocess-0.70.13-cp27-cp27m-win_amd64.whl", hash = "sha256:6cdde49defcb933062df382ebc9b5299beebcd157a98b3a65291c1c94a2edc41"},
443
+ {file = "multiprocess-0.70.13-pp27-pypy_73-macosx_10_7_x86_64.whl", hash = "sha256:92003c247436f8699b7692e95346a238446710f078500eb364bc23bb0503dd4f"},
444
+ {file = "multiprocess-0.70.13-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:3ec1c8015e19182bfa01b5887a9c25805c48df3c71863f48fe83803147cde5d6"},
445
+ {file = "multiprocess-0.70.13-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b7415f61bddfffdade73396904551be8124a4a363322aa9c72d42e349c5fca39"},
446
+ {file = "multiprocess-0.70.13-pp37-pypy37_pp73-manylinux_2_24_i686.whl", hash = "sha256:5436d1cd9f901f7ddc4f20b6fd0b462c87dcc00d941cc13eeb2401fc5bd00e42"},
447
+ {file = "multiprocess-0.70.13-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:34e9703bd5b9fee5455c93a74e44dbabe55481c214d03be1e65f037be9d0c520"},
448
+ {file = "multiprocess-0.70.13-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:af0a48440aa8f793d8bb100f20102c12f192de5a608638819a998f2cc59e1fcd"},
449
+ {file = "multiprocess-0.70.13-pp38-pypy38_pp73-manylinux_2_24_i686.whl", hash = "sha256:c4a97216e8319039c69a266252cc68a392b96f9e67e3ed02ad88be9e6f2d2969"},
450
+ {file = "multiprocess-0.70.13-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:48315eefe02c35dd7560da3fa8af66d9f4a61b9dc8f7c40801c5f972ab4604b1"},
451
+ {file = "multiprocess-0.70.13-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5a6dca5f29f0224c855d0d5cad963476175cfc8de112d3eebe85914cb735f130"},
452
+ {file = "multiprocess-0.70.13-pp39-pypy39_pp73-manylinux_2_24_i686.whl", hash = "sha256:5974bdad390ba466cc130288d2ef1048fdafedd01cf4641fc024f6088af70bfe"},
453
+ {file = "multiprocess-0.70.13-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:01c1137d2f18d0cd262d0fdb7294b1fe9fc3e8dc8b126e506085434ae8eb3677"},
454
+ {file = "multiprocess-0.70.13-py310-none-any.whl", hash = "sha256:0f4faf4811019efdb2f91db09240f893ee40cbfcb06978f3b8ed8c248e73babe"},
455
+ {file = "multiprocess-0.70.13-py37-none-any.whl", hash = "sha256:62e556a0c31ec7176e28aa331663ac26c276ee3536b5e9bb5e850681e7a00f11"},
456
+ {file = "multiprocess-0.70.13-py38-none-any.whl", hash = "sha256:7be9e320a41d2d0d0eddacfe693cfb07b4cb9c0d3d10007f4304255c15215778"},
457
+ {file = "multiprocess-0.70.13-py39-none-any.whl", hash = "sha256:00ef48461d43d1e30f8f4b2e1b287ecaaffec325a37053beb5503e0d69e5a3cd"},
458
+ {file = "multiprocess-0.70.13.tar.gz", hash = "sha256:2e096dd618a84d15aa369a9cf6695815e5539f853dc8fa4f4b9153b11b1d0b32"},
459
+ ]
460
+ numpy = [
461
+ {file = "numpy-1.23.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b15c3f1ed08df4980e02cc79ee058b788a3d0bef2fb3c9ca90bb8cbd5b8a3a04"},
462
+ {file = "numpy-1.23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9ce242162015b7e88092dccd0e854548c0926b75c7924a3495e02c6067aba1f5"},
463
+ {file = "numpy-1.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e0d7447679ae9a7124385ccf0ea990bb85bb869cef217e2ea6c844b6a6855073"},
464
+ {file = "numpy-1.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3119daed207e9410eaf57dcf9591fdc68045f60483d94956bee0bfdcba790953"},
465
+ {file = "numpy-1.23.1-cp310-cp310-win32.whl", hash = "sha256:3ab67966c8d45d55a2bdf40701536af6443763907086c0a6d1232688e27e5447"},
466
+ {file = "numpy-1.23.1-cp310-cp310-win_amd64.whl", hash = "sha256:1865fdf51446839ca3fffaab172461f2b781163f6f395f1aed256b1ddc253622"},
467
+ {file = "numpy-1.23.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aeba539285dcf0a1ba755945865ec61240ede5432df41d6e29fab305f4384db2"},
468
+ {file = "numpy-1.23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7e8229f3687cdadba2c4faef39204feb51ef7c1a9b669247d49a24f3e2e1617c"},
469
+ {file = "numpy-1.23.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68b69f52e6545af010b76516f5daaef6173e73353e3295c5cb9f96c35d755641"},
470
+ {file = "numpy-1.23.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1408c3527a74a0209c781ac82bde2182b0f0bf54dea6e6a363fe0cc4488a7ce7"},
471
+ {file = "numpy-1.23.1-cp38-cp38-win32.whl", hash = "sha256:47f10ab202fe4d8495ff484b5561c65dd59177949ca07975663f4494f7269e3e"},
472
+ {file = "numpy-1.23.1-cp38-cp38-win_amd64.whl", hash = "sha256:37e5ebebb0eb54c5b4a9b04e6f3018e16b8ef257d26c8945925ba8105008e645"},
473
+ {file = "numpy-1.23.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:173f28921b15d341afadf6c3898a34f20a0569e4ad5435297ba262ee8941e77b"},
474
+ {file = "numpy-1.23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:876f60de09734fbcb4e27a97c9a286b51284df1326b1ac5f1bf0ad3678236b22"},
475
+ {file = "numpy-1.23.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35590b9c33c0f1c9732b3231bb6a72d1e4f77872390c47d50a615686ae7ed3fd"},
476
+ {file = "numpy-1.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a35c4e64dfca659fe4d0f1421fc0f05b8ed1ca8c46fb73d9e5a7f175f85696bb"},
477
+ {file = "numpy-1.23.1-cp39-cp39-win32.whl", hash = "sha256:c2f91f88230042a130ceb1b496932aa717dcbd665350beb821534c5c7e15881c"},
478
+ {file = "numpy-1.23.1-cp39-cp39-win_amd64.whl", hash = "sha256:37ece2bd095e9781a7156852e43d18044fd0d742934833335599c583618181b9"},
479
+ {file = "numpy-1.23.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8002574a6b46ac3b5739a003b5233376aeac5163e5dcd43dd7ad062f3e186129"},
480
+ {file = "numpy-1.23.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d732d17b8a9061540a10fda5bfeabca5785700ab5469a5e9b93aca5e2d3a5fb"},
481
+ {file = "numpy-1.23.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:55df0f7483b822855af67e38fb3a526e787adf189383b4934305565d71c4b148"},
482
+ {file = "numpy-1.23.1.tar.gz", hash = "sha256:d748ef349bfef2e1194b59da37ed5a29c19ea8d7e6342019921ba2ba4fd8b624"},
483
+ ]
484
+ opencv-python = [
485
+ {file = "opencv-python-4.6.0.66.tar.gz", hash = "sha256:c5bfae41ad4031e66bb10ec4a0a2ffd3e514d092652781e8b1ac98d1b59f1158"},
486
+ {file = "opencv_python-4.6.0.66-cp36-abi3-macosx_10_15_x86_64.whl", hash = "sha256:e6e448b62afc95c5b58f97e87ef84699e6607fe5c58730a03301c52496005cae"},
487
+ {file = "opencv_python-4.6.0.66-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5af8ba35a4fcb8913ffb86e92403e9a656a4bff4a645d196987468f0f8947875"},
488
+ {file = "opencv_python-4.6.0.66-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbdc84a9b4ea2cbae33861652d25093944b9959279200b7ae0badd32439f74de"},
489
+ {file = "opencv_python-4.6.0.66-cp36-abi3-win32.whl", hash = "sha256:f482e78de6e7b0b060ff994ffd859bddc3f7f382bb2019ef157b0ea8ca8712f5"},
490
+ {file = "opencv_python-4.6.0.66-cp36-abi3-win_amd64.whl", hash = "sha256:0dc82a3d8630c099d2f3ac1b1aabee164e8188db54a786abb7a4e27eba309440"},
491
+ {file = "opencv_python-4.6.0.66-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:6e32af22e3202748bd233ed8f538741876191863882eba44e332d1a34993165b"},
492
+ ]
493
+ pastel = [
494
+ {file = "pastel-0.2.1-py2.py3-none-any.whl", hash = "sha256:4349225fcdf6c2bb34d483e523475de5bb04a5c10ef711263452cb37d7dd4364"},
495
+ {file = "pastel-0.2.1.tar.gz", hash = "sha256:e6581ac04e973cac858828c6202c1e1e81fee1dc7de7683f3e1ffe0bfd8a573d"},
496
+ ]
497
+ pathos = [
498
+ {file = "pathos-0.2.9-py2-none-any.whl", hash = "sha256:6a6ddb514ce2719f63fb88d5ec4f4490e436b636b54f1102d952c9f7c52f18e2"},
499
+ {file = "pathos-0.2.9-py3-none-any.whl", hash = "sha256:1c44373d8692897d5d15a8aa3b3a442ddc0814c5e848f4ff0ded5491f34b1dac"},
500
+ {file = "pathos-0.2.9.tar.gz", hash = "sha256:a8dbddcd3d9af32ada7c6dc088d845588c513a29a0ba19ab9f64c5cd83692934"},
501
+ ]
502
+ poethepoet = [
503
+ {file = "poethepoet-0.16.0-py3-none-any.whl", hash = "sha256:87482ea8bba4e5db4abbd8e6360baee73b2ce0f3d5f5e99e81cdfa39d72d118f"},
504
+ {file = "poethepoet-0.16.0.tar.gz", hash = "sha256:6455aec39f198be92dbf210a4416e1635119e967204c092b431c8b10024db1d1"},
505
+ ]
506
+ pox = [
507
+ {file = "pox-0.3.1-py2.py3-none-any.whl", hash = "sha256:541b5c845aacb806c1364d4142003efb809d654c9ca8db82e650ee86c81e680b"},
508
+ {file = "pox-0.3.1.tar.gz", hash = "sha256:cbb0c0acd650c0ffb620999da611e93aae5105c46a084c4ceaf2f704ed708c1e"},
509
+ ]
510
+ ppft = [
511
+ {file = "ppft-1.7.6.5-py2.py3-none-any.whl", hash = "sha256:07166097d7dd45af7b98859654390d579d11dadf20780f6baca4bded3f55a580"},
512
+ {file = "ppft-1.7.6.5.tar.gz", hash = "sha256:47e0dab87a516c0b9992cd5b0c908348e4c7d964304d106b227fad28ae03219e"},
513
+ ]
514
+ pybind11 = [
515
+ {file = "pybind11-2.10.0-py3-none-any.whl", hash = "sha256:6bbc7a2f79689307f0d8d240172851955fc214b33e4cbd7fdbc9cd7176a09260"},
516
+ {file = "pybind11-2.10.0.tar.gz", hash = "sha256:18977589c10f595f65ec1be90b0a0763b43e458d25d97be9db75b958eb1f43fe"},
517
+ ]
518
+ pyexecjs = [
519
+ {file = "PyExecJS-1.5.1.tar.gz", hash = "sha256:34cc1d070976918183ff7bdc0ad71f8157a891c92708c00c5fbbff7a769f505c"},
520
+ ]
521
+ requests = [
522
+ {file = "requests-2.28.1-py3-none-any.whl", hash = "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"},
523
+ {file = "requests-2.28.1.tar.gz", hash = "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983"},
524
+ ]
525
+ six = [
526
+ {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
527
+ {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
528
+ ]
529
+ tenacity = [
530
+ {file = "tenacity-8.0.1-py3-none-any.whl", hash = "sha256:f78f4ea81b0fabc06728c11dc2a8c01277bfc5181b321a4770471902e3eb844a"},
531
+ {file = "tenacity-8.0.1.tar.gz", hash = "sha256:43242a20e3e73291a28bcbcacfd6e000b02d3857a9a9fff56b297a27afdc932f"},
532
+ ]
533
+ tomli = [
534
+ {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"},
535
+ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"},
536
+ ]
537
+ translators = [
538
+ {file = "translators-5.3.1-py3-none-any.whl", hash = "sha256:94f725a837eabc8860820a9833da52994c1c2175ac56b90e12cdee652e549ca8"},
539
+ ]
540
+ urllib3 = [
541
+ {file = "urllib3-1.26.10-py2.py3-none-any.whl", hash = "sha256:8298d6d56d39be0e3bc13c1c97d133f9b45d797169a0e11cdd0e0489d786f7ec"},
542
+ {file = "urllib3-1.26.10.tar.gz", hash = "sha256:879ba4d1e89654d9769ce13121e0f94310ea32e8d2f8cf587b77c08bbcdb30d6"},
543
+ ]
544
+ win32-setctime = [
545
+ {file = "win32_setctime-1.1.0-py3-none-any.whl", hash = "sha256:231db239e959c2fe7eb1d7dc129f11172354f98361c4fa2d6d2d7e278baa8aad"},
546
+ {file = "win32_setctime-1.1.0.tar.gz", hash = "sha256:15cf5750465118d6929ae4de4eb46e8edae9a5634350c01ba582df868e932cb2"},
547
+ ]
pyproject.toml CHANGED
@@ -8,9 +8,29 @@ authors = ["Your Name <you@example.com>"]
8
  python = "^3.8"
9
  logzero = "^1.7.0"
10
  install = "^1.3.5"
 
 
 
 
11
 
12
  [tool.poetry.dev-dependencies]
 
13
 
14
  [build-system]
15
  requires = ["poetry-core>=1.0.0"]
16
  build-backend = "poetry.core.masonry.api"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  python = "^3.8"
9
  logzero = "^1.7.0"
10
  install = "^1.3.5"
11
+ translators = "^5.3.1"
12
+ tenacity = "^8.0.1"
13
+ opencv-python = "^4.6.0"
14
+ fastlid = "^0.1.7"
15
 
16
  [tool.poetry.dev-dependencies]
17
+ poethepoet = "^0.16.0"
18
 
19
  [build-system]
20
  requires = ["poetry-core>=1.0.0"]
21
  build-backend = "poetry.core.masonry.api"
22
+
23
+ [tool.black]
24
+ skip-string-normalization = 0
25
+
26
+ [tool.poe.tasks]
27
+ memo = "echo poe test or poetry run poe test"
28
+ test = "pytest tests"
29
+ pyright = "pyright ptextpad"
30
+ flake8 = "flake8 ptextpad --ignore F401,E501,F841"
31
+ check = ["pyright", "flake8"]
32
+ export = "poetry export --without-hashes -f requirements.txt -o requirements.txt"
33
+
34
+ [tool.isort]
35
+ profile = "black"
36
+ multi_line_output = 3
requirements.txt CHANGED
@@ -1,2 +1,25 @@
1
- logzero
2
- opencv-python
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ certifi==2022.6.15; python_version >= "3.7" and python_version < "4"
2
+ charset-normalizer==2.1.0; python_version >= "3.7" and python_version < "4" and python_full_version >= "3.6.0"
3
+ colorama==0.4.5; python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "win32" and python_version < "4.0" or python_full_version >= "3.5.0" and sys_platform == "win32" and python_version >= "3.6" and python_version < "4.0"
4
+ dill==0.3.5.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.7.0"
5
+ fastlid==0.1.7; python_version >= "3.6" and python_version < "4.0"
6
+ fasttext==0.9.2; python_version >= "3.6" and python_version < "4.0"
7
+ idna==3.3; python_version >= "3.7" and python_version < "4"
8
+ install==1.3.5; python_version >= "3.5"
9
+ loguru==0.6.0; python_version >= "3.5"
10
+ logzero==1.7.0
11
+ lxml==4.9.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
12
+ multiprocess==0.70.13; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.7.0"
13
+ numpy==1.23.1; python_version >= "3.10" and platform_system == "Linux" and platform_machine == "aarch64" and python_version < "4.0" or python_version >= "3.10" and python_version < "4.0" or python_version >= "3.9" and platform_system == "Darwin" and platform_machine == "arm64" and python_version < "4.0"
14
+ opencv-python==4.6.0.66; python_version >= "3.6"
15
+ pathos==0.2.9; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.7.0"
16
+ pox==0.3.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.7.0"
17
+ ppft==1.7.6.5; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.7.0"
18
+ pybind11==2.10.0; python_version >= "3.6" and python_version < "4.0"
19
+ pyexecjs==1.5.1
20
+ requests==2.28.1; python_version >= "3.7" and python_version < "4"
21
+ six==1.16.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.7.0"
22
+ tenacity==8.0.1; python_version >= "3.6"
23
+ translators==5.3.1
24
+ urllib3==1.26.10; python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4" or python_full_version >= "3.6.0" and python_version < "4" and python_version >= "3.7"
25
+ win32-setctime==1.1.0; sys_platform == "win32" and python_version >= "3.5"