Spaces:
Running
on
A10G
Running
on
A10G
GitLab CI
commited on
Commit
·
457d4b2
1
Parent(s):
5813146
Update game build from GitLab CI
Browse files- poetry.lock +346 -2
- pyproject.toml +1 -0
- server/ActionProcessor.py +28 -3
- server/AudioTranscriber.py +8 -6
- server/__main__.py +2 -2
- server/static/godot/index.pck +0 -0
poetry.lock
CHANGED
@@ -1,4 +1,37 @@
|
|
1 |
-
# This file is automatically @generated by Poetry 1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
[[package]]
|
4 |
name = "av"
|
@@ -251,6 +284,34 @@ numpy = "*"
|
|
251 |
pyyaml = ">=5.3,<7"
|
252 |
setuptools = "*"
|
253 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
254 |
[[package]]
|
255 |
name = "faster-whisper"
|
256 |
version = "1.1.1"
|
@@ -397,6 +458,62 @@ setproctitle = ["setproctitle"]
|
|
397 |
testing = ["coverage", "eventlet", "gevent", "pytest", "pytest-cov"]
|
398 |
tornado = ["tornado (>=0.2)"]
|
399 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
400 |
[[package]]
|
401 |
name = "huggingface-hub"
|
402 |
version = "0.27.1"
|
@@ -487,6 +604,17 @@ MarkupSafe = ">=2.0"
|
|
487 |
[package.extras]
|
488 |
i18n = ["Babel (>=2.7)"]
|
489 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
490 |
[[package]]
|
491 |
name = "markupsafe"
|
492 |
version = "3.0.2"
|
@@ -557,6 +685,28 @@ files = [
|
|
557 |
{file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"},
|
558 |
]
|
559 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
560 |
[[package]]
|
561 |
name = "mpmath"
|
562 |
version = "1.3.0"
|
@@ -574,6 +724,17 @@ docs = ["sphinx"]
|
|
574 |
gmpy = ["gmpy2 (>=2.1.0a4)"]
|
575 |
tests = ["pytest (>=4.6)"]
|
576 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
577 |
[[package]]
|
578 |
name = "networkx"
|
579 |
version = "3.4.2"
|
@@ -894,6 +1055,138 @@ files = [
|
|
894 |
[package.extras]
|
895 |
test = ["numpy"]
|
896 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
897 |
[[package]]
|
898 |
name = "pyreadline3"
|
899 |
version = "3.5.4"
|
@@ -908,6 +1201,20 @@ files = [
|
|
908 |
[package.extras]
|
909 |
dev = ["build", "flake8", "mypy", "pytest", "twine"]
|
910 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
911 |
[[package]]
|
912 |
name = "pyyaml"
|
913 |
version = "6.0.2"
|
@@ -1011,6 +1318,28 @@ enabler = ["pytest-enabler (>=2.2)"]
|
|
1011 |
test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"]
|
1012 |
type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.14.*)", "pytest-mypy"]
|
1013 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1014 |
[[package]]
|
1015 |
name = "sympy"
|
1016 |
version = "1.13.1"
|
@@ -1187,6 +1516,21 @@ files = [
|
|
1187 |
{file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"},
|
1188 |
]
|
1189 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1190 |
[[package]]
|
1191 |
name = "urllib3"
|
1192 |
version = "2.3.0"
|
@@ -1224,4 +1568,4 @@ watchdog = ["watchdog (>=2.3)"]
|
|
1224 |
[metadata]
|
1225 |
lock-version = "2.0"
|
1226 |
python-versions = "^3.10"
|
1227 |
-
content-hash = "
|
|
|
1 |
+
# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand.
|
2 |
+
|
3 |
+
[[package]]
|
4 |
+
name = "annotated-types"
|
5 |
+
version = "0.7.0"
|
6 |
+
description = "Reusable constraint types to use with typing.Annotated"
|
7 |
+
optional = false
|
8 |
+
python-versions = ">=3.8"
|
9 |
+
files = [
|
10 |
+
{file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"},
|
11 |
+
{file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"},
|
12 |
+
]
|
13 |
+
|
14 |
+
[[package]]
|
15 |
+
name = "anyio"
|
16 |
+
version = "4.8.0"
|
17 |
+
description = "High level compatibility layer for multiple asynchronous event loop implementations"
|
18 |
+
optional = false
|
19 |
+
python-versions = ">=3.9"
|
20 |
+
files = [
|
21 |
+
{file = "anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a"},
|
22 |
+
{file = "anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a"},
|
23 |
+
]
|
24 |
+
|
25 |
+
[package.dependencies]
|
26 |
+
exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""}
|
27 |
+
idna = ">=2.8"
|
28 |
+
sniffio = ">=1.1"
|
29 |
+
typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""}
|
30 |
+
|
31 |
+
[package.extras]
|
32 |
+
doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx_rtd_theme"]
|
33 |
+
test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21)"]
|
34 |
+
trio = ["trio (>=0.26.1)"]
|
35 |
|
36 |
[[package]]
|
37 |
name = "av"
|
|
|
284 |
pyyaml = ">=5.3,<7"
|
285 |
setuptools = "*"
|
286 |
|
287 |
+
[[package]]
|
288 |
+
name = "eval-type-backport"
|
289 |
+
version = "0.2.2"
|
290 |
+
description = "Like `typing._eval_type`, but lets older Python versions use newer typing features."
|
291 |
+
optional = false
|
292 |
+
python-versions = ">=3.8"
|
293 |
+
files = [
|
294 |
+
{file = "eval_type_backport-0.2.2-py3-none-any.whl", hash = "sha256:cb6ad7c393517f476f96d456d0412ea80f0a8cf96f6892834cd9340149111b0a"},
|
295 |
+
{file = "eval_type_backport-0.2.2.tar.gz", hash = "sha256:f0576b4cf01ebb5bd358d02314d31846af5e07678387486e2c798af0e7d849c1"},
|
296 |
+
]
|
297 |
+
|
298 |
+
[package.extras]
|
299 |
+
tests = ["pytest"]
|
300 |
+
|
301 |
+
[[package]]
|
302 |
+
name = "exceptiongroup"
|
303 |
+
version = "1.2.2"
|
304 |
+
description = "Backport of PEP 654 (exception groups)"
|
305 |
+
optional = false
|
306 |
+
python-versions = ">=3.7"
|
307 |
+
files = [
|
308 |
+
{file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"},
|
309 |
+
{file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"},
|
310 |
+
]
|
311 |
+
|
312 |
+
[package.extras]
|
313 |
+
test = ["pytest (>=6)"]
|
314 |
+
|
315 |
[[package]]
|
316 |
name = "faster-whisper"
|
317 |
version = "1.1.1"
|
|
|
458 |
testing = ["coverage", "eventlet", "gevent", "pytest", "pytest-cov"]
|
459 |
tornado = ["tornado (>=0.2)"]
|
460 |
|
461 |
+
[[package]]
|
462 |
+
name = "h11"
|
463 |
+
version = "0.14.0"
|
464 |
+
description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
|
465 |
+
optional = false
|
466 |
+
python-versions = ">=3.7"
|
467 |
+
files = [
|
468 |
+
{file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"},
|
469 |
+
{file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"},
|
470 |
+
]
|
471 |
+
|
472 |
+
[[package]]
|
473 |
+
name = "httpcore"
|
474 |
+
version = "1.0.7"
|
475 |
+
description = "A minimal low-level HTTP client."
|
476 |
+
optional = false
|
477 |
+
python-versions = ">=3.8"
|
478 |
+
files = [
|
479 |
+
{file = "httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd"},
|
480 |
+
{file = "httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c"},
|
481 |
+
]
|
482 |
+
|
483 |
+
[package.dependencies]
|
484 |
+
certifi = "*"
|
485 |
+
h11 = ">=0.13,<0.15"
|
486 |
+
|
487 |
+
[package.extras]
|
488 |
+
asyncio = ["anyio (>=4.0,<5.0)"]
|
489 |
+
http2 = ["h2 (>=3,<5)"]
|
490 |
+
socks = ["socksio (==1.*)"]
|
491 |
+
trio = ["trio (>=0.22.0,<1.0)"]
|
492 |
+
|
493 |
+
[[package]]
|
494 |
+
name = "httpx"
|
495 |
+
version = "0.28.1"
|
496 |
+
description = "The next generation HTTP client."
|
497 |
+
optional = false
|
498 |
+
python-versions = ">=3.8"
|
499 |
+
files = [
|
500 |
+
{file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"},
|
501 |
+
{file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"},
|
502 |
+
]
|
503 |
+
|
504 |
+
[package.dependencies]
|
505 |
+
anyio = "*"
|
506 |
+
certifi = "*"
|
507 |
+
httpcore = "==1.*"
|
508 |
+
idna = "*"
|
509 |
+
|
510 |
+
[package.extras]
|
511 |
+
brotli = ["brotli", "brotlicffi"]
|
512 |
+
cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"]
|
513 |
+
http2 = ["h2 (>=3,<5)"]
|
514 |
+
socks = ["socksio (==1.*)"]
|
515 |
+
zstd = ["zstandard (>=0.18.0)"]
|
516 |
+
|
517 |
[[package]]
|
518 |
name = "huggingface-hub"
|
519 |
version = "0.27.1"
|
|
|
604 |
[package.extras]
|
605 |
i18n = ["Babel (>=2.7)"]
|
606 |
|
607 |
+
[[package]]
|
608 |
+
name = "jsonpath-python"
|
609 |
+
version = "1.0.6"
|
610 |
+
description = "A more powerful JSONPath implementation in modern python"
|
611 |
+
optional = false
|
612 |
+
python-versions = ">=3.6"
|
613 |
+
files = [
|
614 |
+
{file = "jsonpath-python-1.0.6.tar.gz", hash = "sha256:dd5be4a72d8a2995c3f583cf82bf3cd1a9544cfdabf2d22595b67aff07349666"},
|
615 |
+
{file = "jsonpath_python-1.0.6-py3-none-any.whl", hash = "sha256:1e3b78df579f5efc23565293612decee04214609208a2335884b3ee3f786b575"},
|
616 |
+
]
|
617 |
+
|
618 |
[[package]]
|
619 |
name = "markupsafe"
|
620 |
version = "3.0.2"
|
|
|
685 |
{file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"},
|
686 |
]
|
687 |
|
688 |
+
[[package]]
|
689 |
+
name = "mistralai"
|
690 |
+
version = "1.4.0"
|
691 |
+
description = "Python Client SDK for the Mistral AI API."
|
692 |
+
optional = false
|
693 |
+
python-versions = ">=3.8"
|
694 |
+
files = [
|
695 |
+
{file = "mistralai-1.4.0-py3-none-any.whl", hash = "sha256:74a8b8f5b737b199c83ccc89721cb82a71e8b093b38b27c99d38cbcdf550668c"},
|
696 |
+
{file = "mistralai-1.4.0.tar.gz", hash = "sha256:b8a09eda1864cba02ebf70439ca1925025e073d3f6f3eeccfdd146ad0f2260fb"},
|
697 |
+
]
|
698 |
+
|
699 |
+
[package.dependencies]
|
700 |
+
eval-type-backport = ">=0.2.0"
|
701 |
+
httpx = ">=0.27.0"
|
702 |
+
jsonpath-python = ">=1.0.6"
|
703 |
+
pydantic = ">=2.9.0"
|
704 |
+
python-dateutil = ">=2.8.2"
|
705 |
+
typing-inspect = ">=0.9.0"
|
706 |
+
|
707 |
+
[package.extras]
|
708 |
+
gcp = ["google-auth (>=2.27.0)", "requests (>=2.32.3)"]
|
709 |
+
|
710 |
[[package]]
|
711 |
name = "mpmath"
|
712 |
version = "1.3.0"
|
|
|
724 |
gmpy = ["gmpy2 (>=2.1.0a4)"]
|
725 |
tests = ["pytest (>=4.6)"]
|
726 |
|
727 |
+
[[package]]
|
728 |
+
name = "mypy-extensions"
|
729 |
+
version = "1.0.0"
|
730 |
+
description = "Type system extensions for programs checked with the mypy type checker."
|
731 |
+
optional = false
|
732 |
+
python-versions = ">=3.5"
|
733 |
+
files = [
|
734 |
+
{file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"},
|
735 |
+
{file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"},
|
736 |
+
]
|
737 |
+
|
738 |
[[package]]
|
739 |
name = "networkx"
|
740 |
version = "3.4.2"
|
|
|
1055 |
[package.extras]
|
1056 |
test = ["numpy"]
|
1057 |
|
1058 |
+
[[package]]
|
1059 |
+
name = "pydantic"
|
1060 |
+
version = "2.10.6"
|
1061 |
+
description = "Data validation using Python type hints"
|
1062 |
+
optional = false
|
1063 |
+
python-versions = ">=3.8"
|
1064 |
+
files = [
|
1065 |
+
{file = "pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584"},
|
1066 |
+
{file = "pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236"},
|
1067 |
+
]
|
1068 |
+
|
1069 |
+
[package.dependencies]
|
1070 |
+
annotated-types = ">=0.6.0"
|
1071 |
+
pydantic-core = "2.27.2"
|
1072 |
+
typing-extensions = ">=4.12.2"
|
1073 |
+
|
1074 |
+
[package.extras]
|
1075 |
+
email = ["email-validator (>=2.0.0)"]
|
1076 |
+
timezone = ["tzdata"]
|
1077 |
+
|
1078 |
+
[[package]]
|
1079 |
+
name = "pydantic-core"
|
1080 |
+
version = "2.27.2"
|
1081 |
+
description = "Core functionality for Pydantic validation and serialization"
|
1082 |
+
optional = false
|
1083 |
+
python-versions = ">=3.8"
|
1084 |
+
files = [
|
1085 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2d367ca20b2f14095a8f4fa1210f5a7b78b8a20009ecced6b12818f455b1e9fa"},
|
1086 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:491a2b73db93fab69731eaee494f320faa4e093dbed776be1a829c2eb222c34c"},
|
1087 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7969e133a6f183be60e9f6f56bfae753585680f3b7307a8e555a948d443cc05a"},
|
1088 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3de9961f2a346257caf0aa508a4da705467f53778e9ef6fe744c038119737ef5"},
|
1089 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2bb4d3e5873c37bb3dd58714d4cd0b0e6238cebc4177ac8fe878f8b3aa8e74c"},
|
1090 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:280d219beebb0752699480fe8f1dc61ab6615c2046d76b7ab7ee38858de0a4e7"},
|
1091 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47956ae78b6422cbd46f772f1746799cbb862de838fd8d1fbd34a82e05b0983a"},
|
1092 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:14d4a5c49d2f009d62a2a7140d3064f686d17a5d1a268bc641954ba181880236"},
|
1093 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:337b443af21d488716f8d0b6164de833e788aa6bd7e3a39c005febc1284f4962"},
|
1094 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:03d0f86ea3184a12f41a2d23f7ccb79cdb5a18e06993f8a45baa8dfec746f0e9"},
|
1095 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7041c36f5680c6e0f08d922aed302e98b3745d97fe1589db0a3eebf6624523af"},
|
1096 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-win32.whl", hash = "sha256:50a68f3e3819077be2c98110c1f9dcb3817e93f267ba80a2c05bb4f8799e2ff4"},
|
1097 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-win_amd64.whl", hash = "sha256:e0fd26b16394ead34a424eecf8a31a1f5137094cabe84a1bcb10fa6ba39d3d31"},
|
1098 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc"},
|
1099 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7"},
|
1100 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15"},
|
1101 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306"},
|
1102 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99"},
|
1103 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459"},
|
1104 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048"},
|
1105 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d"},
|
1106 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b"},
|
1107 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474"},
|
1108 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6"},
|
1109 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c"},
|
1110 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc"},
|
1111 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4"},
|
1112 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0"},
|
1113 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef"},
|
1114 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7"},
|
1115 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934"},
|
1116 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6"},
|
1117 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c"},
|
1118 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2"},
|
1119 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4"},
|
1120 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3"},
|
1121 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4"},
|
1122 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57"},
|
1123 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc"},
|
1124 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9"},
|
1125 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b"},
|
1126 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b"},
|
1127 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154"},
|
1128 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9"},
|
1129 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9"},
|
1130 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1"},
|
1131 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a"},
|
1132 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e"},
|
1133 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4"},
|
1134 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27"},
|
1135 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee"},
|
1136 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1"},
|
1137 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130"},
|
1138 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee"},
|
1139 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b"},
|
1140 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d3e8d504bdd3f10835468f29008d72fc8359d95c9c415ce6e767203db6127506"},
|
1141 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:521eb9b7f036c9b6187f0b47318ab0d7ca14bd87f776240b90b21c1f4f149320"},
|
1142 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85210c4d99a0114f5a9481b44560d7d1e35e32cc5634c656bc48e590b669b145"},
|
1143 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d716e2e30c6f140d7560ef1538953a5cd1a87264c737643d481f2779fc247fe1"},
|
1144 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f66d89ba397d92f840f8654756196d93804278457b5fbede59598a1f9f90b228"},
|
1145 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:669e193c1c576a58f132e3158f9dfa9662969edb1a250c54d8fa52590045f046"},
|
1146 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdbe7629b996647b99c01b37f11170a57ae675375b14b8c13b8518b8320ced5"},
|
1147 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d262606bf386a5ba0b0af3b97f37c83d7011439e3dc1a9298f21efb292e42f1a"},
|
1148 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:cabb9bcb7e0d97f74df8646f34fc76fbf793b7f6dc2438517d7a9e50eee4f14d"},
|
1149 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_armv7l.whl", hash = "sha256:d2d63f1215638d28221f664596b1ccb3944f6e25dd18cd3b86b0a4c408d5ebb9"},
|
1150 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bca101c00bff0adb45a833f8451b9105d9df18accb8743b08107d7ada14bd7da"},
|
1151 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-win32.whl", hash = "sha256:f6f8e111843bbb0dee4cb6594cdc73e79b3329b526037ec242a3e49012495b3b"},
|
1152 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-win_amd64.whl", hash = "sha256:fd1aea04935a508f62e0d0ef1f5ae968774a32afc306fb8545e06f5ff5cdf3ad"},
|
1153 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c10eb4f1659290b523af58fa7cffb452a61ad6ae5613404519aee4bfbf1df993"},
|
1154 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ef592d4bad47296fb11f96cd7dc898b92e795032b4894dfb4076cfccd43a9308"},
|
1155 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c61709a844acc6bf0b7dce7daae75195a10aac96a596ea1b776996414791ede4"},
|
1156 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c5f762659e47fdb7b16956c71598292f60a03aa92f8b6351504359dbdba6cf"},
|
1157 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c9775e339e42e79ec99c441d9730fccf07414af63eac2f0e48e08fd38a64d76"},
|
1158 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57762139821c31847cfb2df63c12f725788bd9f04bc2fb392790959b8f70f118"},
|
1159 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d1e85068e818c73e048fe28cfc769040bb1f475524f4745a5dc621f75ac7630"},
|
1160 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:097830ed52fd9e427942ff3b9bc17fab52913b2f50f2880dc4a5611446606a54"},
|
1161 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:044a50963a614ecfae59bb1eaf7ea7efc4bc62f49ed594e18fa1e5d953c40e9f"},
|
1162 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:4e0b4220ba5b40d727c7f879eac379b822eee5d8fff418e9d3381ee45b3b0362"},
|
1163 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5e4f4bb20d75e9325cc9696c6802657b58bc1dbbe3022f32cc2b2b632c3fbb96"},
|
1164 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-win32.whl", hash = "sha256:cca63613e90d001b9f2f9a9ceb276c308bfa2a43fafb75c8031c4f66039e8c6e"},
|
1165 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-win_amd64.whl", hash = "sha256:77d1bca19b0f7021b3a982e6f903dcd5b2b06076def36a652e3907f596e29f67"},
|
1166 |
+
{file = "pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2bf14caea37e91198329b828eae1618c068dfb8ef17bb33287a7ad4b61ac314e"},
|
1167 |
+
{file = "pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0cb791f5b45307caae8810c2023a184c74605ec3bcbb67d13846c28ff731ff8"},
|
1168 |
+
{file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688d3fd9fcb71f41c4c015c023d12a79d1c4c0732ec9eb35d96e3388a120dcf3"},
|
1169 |
+
{file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d591580c34f4d731592f0e9fe40f9cc1b430d297eecc70b962e93c5c668f15f"},
|
1170 |
+
{file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82f986faf4e644ffc189a7f1aafc86e46ef70372bb153e7001e8afccc6e54133"},
|
1171 |
+
{file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bec317a27290e2537f922639cafd54990551725fc844249e64c523301d0822fc"},
|
1172 |
+
{file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:0296abcb83a797db256b773f45773da397da75a08f5fcaef41f2044adec05f50"},
|
1173 |
+
{file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0d75070718e369e452075a6017fbf187f788e17ed67a3abd47fa934d001863d9"},
|
1174 |
+
{file = "pydantic_core-2.27.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7e17b560be3c98a8e3aa66ce828bdebb9e9ac6ad5466fba92eb74c4c95cb1151"},
|
1175 |
+
{file = "pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c33939a82924da9ed65dab5a65d427205a73181d8098e79b6b426bdf8ad4e656"},
|
1176 |
+
{file = "pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:00bad2484fa6bda1e216e7345a798bd37c68fb2d97558edd584942aa41b7d278"},
|
1177 |
+
{file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c817e2b40aba42bac6f457498dacabc568c3b7a986fc9ba7c8d9d260b71485fb"},
|
1178 |
+
{file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:251136cdad0cb722e93732cb45ca5299fb56e1344a833640bf93b2803f8d1bfd"},
|
1179 |
+
{file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2088237af596f0a524d3afc39ab3b036e8adb054ee57cbb1dcf8e09da5b29cc"},
|
1180 |
+
{file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d4041c0b966a84b4ae7a09832eb691a35aec90910cd2dbe7a208de59be77965b"},
|
1181 |
+
{file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:8083d4e875ebe0b864ffef72a4304827015cff328a1be6e22cc850753bfb122b"},
|
1182 |
+
{file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f141ee28a0ad2123b6611b6ceff018039df17f32ada8b534e6aa039545a3efb2"},
|
1183 |
+
{file = "pydantic_core-2.27.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7d0c8399fcc1848491f00e0314bd59fb34a9c008761bcb422a057670c3f65e35"},
|
1184 |
+
{file = "pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39"},
|
1185 |
+
]
|
1186 |
+
|
1187 |
+
[package.dependencies]
|
1188 |
+
typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0"
|
1189 |
+
|
1190 |
[[package]]
|
1191 |
name = "pyreadline3"
|
1192 |
version = "3.5.4"
|
|
|
1201 |
[package.extras]
|
1202 |
dev = ["build", "flake8", "mypy", "pytest", "twine"]
|
1203 |
|
1204 |
+
[[package]]
|
1205 |
+
name = "python-dateutil"
|
1206 |
+
version = "2.9.0.post0"
|
1207 |
+
description = "Extensions to the standard Python datetime module"
|
1208 |
+
optional = false
|
1209 |
+
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
|
1210 |
+
files = [
|
1211 |
+
{file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"},
|
1212 |
+
{file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"},
|
1213 |
+
]
|
1214 |
+
|
1215 |
+
[package.dependencies]
|
1216 |
+
six = ">=1.5"
|
1217 |
+
|
1218 |
[[package]]
|
1219 |
name = "pyyaml"
|
1220 |
version = "6.0.2"
|
|
|
1318 |
test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"]
|
1319 |
type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.14.*)", "pytest-mypy"]
|
1320 |
|
1321 |
+
[[package]]
|
1322 |
+
name = "six"
|
1323 |
+
version = "1.17.0"
|
1324 |
+
description = "Python 2 and 3 compatibility utilities"
|
1325 |
+
optional = false
|
1326 |
+
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
|
1327 |
+
files = [
|
1328 |
+
{file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"},
|
1329 |
+
{file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"},
|
1330 |
+
]
|
1331 |
+
|
1332 |
+
[[package]]
|
1333 |
+
name = "sniffio"
|
1334 |
+
version = "1.3.1"
|
1335 |
+
description = "Sniff out which async library your code is running under"
|
1336 |
+
optional = false
|
1337 |
+
python-versions = ">=3.7"
|
1338 |
+
files = [
|
1339 |
+
{file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"},
|
1340 |
+
{file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"},
|
1341 |
+
]
|
1342 |
+
|
1343 |
[[package]]
|
1344 |
name = "sympy"
|
1345 |
version = "1.13.1"
|
|
|
1516 |
{file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"},
|
1517 |
]
|
1518 |
|
1519 |
+
[[package]]
|
1520 |
+
name = "typing-inspect"
|
1521 |
+
version = "0.9.0"
|
1522 |
+
description = "Runtime inspection utilities for typing module."
|
1523 |
+
optional = false
|
1524 |
+
python-versions = "*"
|
1525 |
+
files = [
|
1526 |
+
{file = "typing_inspect-0.9.0-py3-none-any.whl", hash = "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f"},
|
1527 |
+
{file = "typing_inspect-0.9.0.tar.gz", hash = "sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78"},
|
1528 |
+
]
|
1529 |
+
|
1530 |
+
[package.dependencies]
|
1531 |
+
mypy-extensions = ">=0.3.0"
|
1532 |
+
typing-extensions = ">=3.7.4"
|
1533 |
+
|
1534 |
[[package]]
|
1535 |
name = "urllib3"
|
1536 |
version = "2.3.0"
|
|
|
1568 |
[metadata]
|
1569 |
lock-version = "2.0"
|
1570 |
python-versions = "^3.10"
|
1571 |
+
content-hash = "3d8320a1f34408ca9b2c464d1537cd4fa963cdfbefff9c665e473c7079581760"
|
pyproject.toml
CHANGED
@@ -15,6 +15,7 @@ pyaudio = "^0.2.14"
|
|
15 |
torch = {version = "^2.5.1+cu121", source = "pytorch"}
|
16 |
torchaudio = {version = "^2.5.1+cu121", source = "pytorch"}
|
17 |
ctranslate2 = "4.4.0"
|
|
|
18 |
|
19 |
|
20 |
[[tool.poetry.source]]
|
|
|
15 |
torch = {version = "^2.5.1+cu121", source = "pytorch"}
|
16 |
torchaudio = {version = "^2.5.1+cu121", source = "pytorch"}
|
17 |
ctranslate2 = "4.4.0"
|
18 |
+
mistralai = "^1.4.0"
|
19 |
|
20 |
|
21 |
[[tool.poetry.source]]
|
server/ActionProcessor.py
CHANGED
@@ -5,6 +5,7 @@ import json
|
|
5 |
import re
|
6 |
import logging
|
7 |
import sys
|
|
|
8 |
|
9 |
# Configure logging
|
10 |
logging.basicConfig(
|
@@ -26,11 +27,35 @@ class ActionProcessor(Thread):
|
|
26 |
super().__init__()
|
27 |
self.text_queue = text_queue
|
28 |
self.action_queue = action_queue
|
29 |
-
self.
|
30 |
self.daemon = True # Thread will exit when main program exits
|
31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
def process_text(self, text: str) -> Dict[str, Any] | None:
|
33 |
"""Convert text into an action if a complete command is detected."""
|
|
|
|
|
|
|
34 |
# Define command patterns
|
35 |
command_patterns = {
|
36 |
r"(?i)\b(stop|now)\b": "stop",
|
@@ -46,13 +71,13 @@ class ActionProcessor(Thread):
|
|
46 |
# TODO: Remove this test thing
|
47 |
if len(text) <= 3:
|
48 |
return None
|
49 |
-
return {"type": text}
|
50 |
|
51 |
# Check each pattern
|
52 |
for pattern, action_type in command_patterns.items():
|
53 |
match = re.search(pattern, text.lower())
|
54 |
if match:
|
55 |
-
return {"type": action_type}
|
56 |
|
57 |
return None
|
58 |
|
|
|
5 |
import re
|
6 |
import logging
|
7 |
import sys
|
8 |
+
from mistralai.client import MistralClient
|
9 |
|
10 |
# Configure logging
|
11 |
logging.basicConfig(
|
|
|
27 |
super().__init__()
|
28 |
self.text_queue = text_queue
|
29 |
self.action_queue = action_queue
|
30 |
+
self.mistral_client = MistralClient(api_key=mistral_api_key)
|
31 |
self.daemon = True # Thread will exit when main program exits
|
32 |
|
33 |
+
def get_sentiment(self, input_text: str) -> str:
|
34 |
+
"""Get sentiment analysis for input text."""
|
35 |
+
stream_response = self.mistral_client.chat_stream(
|
36 |
+
model="mistral-large-latest",
|
37 |
+
messages=[
|
38 |
+
{
|
39 |
+
"role": "user",
|
40 |
+
"content": f"""You are a sentiment classifier of positive or negative parenting.
|
41 |
+
Classify the following sentence, output "negative" or "positive", do not justify:
|
42 |
+
"{input_text}"
|
43 |
+
""",
|
44 |
+
},
|
45 |
+
],
|
46 |
+
)
|
47 |
+
|
48 |
+
response = ""
|
49 |
+
for chunk in stream_response:
|
50 |
+
response += chunk.choices[0].delta.content
|
51 |
+
|
52 |
+
return response.strip()
|
53 |
+
|
54 |
def process_text(self, text: str) -> Dict[str, Any] | None:
|
55 |
"""Convert text into an action if a complete command is detected."""
|
56 |
+
# Get sentiment first
|
57 |
+
sentiment = self.get_sentiment(text)
|
58 |
+
|
59 |
# Define command patterns
|
60 |
command_patterns = {
|
61 |
r"(?i)\b(stop|now)\b": "stop",
|
|
|
71 |
# TODO: Remove this test thing
|
72 |
if len(text) <= 3:
|
73 |
return None
|
74 |
+
return {"type": text, "sentiment": sentiment}
|
75 |
|
76 |
# Check each pattern
|
77 |
for pattern, action_type in command_patterns.items():
|
78 |
match = re.search(pattern, text.lower())
|
79 |
if match:
|
80 |
+
return {"type": action_type, "sentiment": sentiment}
|
81 |
|
82 |
return None
|
83 |
|
server/AudioTranscriber.py
CHANGED
@@ -25,6 +25,7 @@ class AudioTranscriber(threading.Thread):
|
|
25 |
audio_queue: "Queue[io.BytesIO]",
|
26 |
text_queue: "Queue[str]",
|
27 |
language: str = "en",
|
|
|
28 |
):
|
29 |
super().__init__()
|
30 |
self.audio_queue = audio_queue
|
@@ -32,7 +33,7 @@ class AudioTranscriber(threading.Thread):
|
|
32 |
self.daemon = True # Thread will exit when main program exits
|
33 |
self.max_buffer_size = 3
|
34 |
self.language = language
|
35 |
-
|
36 |
self.buffer: List[io.BytesIO] = []
|
37 |
self.transcriber = WhisperModel(
|
38 |
"large",
|
@@ -62,11 +63,12 @@ class AudioTranscriber(threading.Thread):
|
|
62 |
|
63 |
# Put the transcription results in the output queue
|
64 |
for segment in segments:
|
65 |
-
self.
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
|
|
70 |
|
71 |
except Empty:
|
72 |
continue # If queue is empty, continue waiting
|
|
|
25 |
audio_queue: "Queue[io.BytesIO]",
|
26 |
text_queue: "Queue[str]",
|
27 |
language: str = "en",
|
28 |
+
confidence_threshold: float = -0.5,
|
29 |
):
|
30 |
super().__init__()
|
31 |
self.audio_queue = audio_queue
|
|
|
33 |
self.daemon = True # Thread will exit when main program exits
|
34 |
self.max_buffer_size = 3
|
35 |
self.language = language
|
36 |
+
self.confidence_threshold = confidence_threshold
|
37 |
self.buffer: List[io.BytesIO] = []
|
38 |
self.transcriber = WhisperModel(
|
39 |
"large",
|
|
|
63 |
|
64 |
# Put the transcription results in the output queue
|
65 |
for segment in segments:
|
66 |
+
if segment.avg_logprob <= self.confidence_threshold:
|
67 |
+
self.action_queue.put(segment.text)
|
68 |
+
# Still print for debugging
|
69 |
+
logger.info(
|
70 |
+
f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}"
|
71 |
+
)
|
72 |
|
73 |
except Empty:
|
74 |
continue # If queue is empty, continue waiting
|
server/__main__.py
CHANGED
@@ -188,8 +188,8 @@ if __name__ == "__main__":
|
|
188 |
"worker_class": "sync",
|
189 |
"timeout": 120,
|
190 |
"forwarded_allow_ips": "*",
|
191 |
-
"accesslog":
|
192 |
-
"errorlog": "-", #
|
193 |
"capture_output": True,
|
194 |
"enable_stdio_inheritance": True,
|
195 |
}
|
|
|
188 |
"worker_class": "sync",
|
189 |
"timeout": 120,
|
190 |
"forwarded_allow_ips": "*",
|
191 |
+
"accesslog": None, # Disable access logging
|
192 |
+
"errorlog": "-", # Keep error logging to stderr
|
193 |
"capture_output": True,
|
194 |
"enable_stdio_inheritance": True,
|
195 |
}
|
server/static/godot/index.pck
CHANGED
Binary files a/server/static/godot/index.pck and b/server/static/godot/index.pck differ
|
|