Archisman Karmakar
commited on
Commit
·
0426d64
1
Parent(s):
ce3ea5f
2025.03.24.post1 MAJOR
Browse files- .devcontainer/.env +8 -0
- app_main_hf.py +1 -0
- emotionMoodtag_analysis/emotion_analysis_main.py +29 -20
- poetry.lock +405 -4
- pyproject.toml +2 -1
- pyprojectOLD.toml +2 -1
- requirements.txt +16 -1
- sentimentPolarity_analysis/sentiment_analysis_main.py +28 -19
- transformation_and_Normalization/transformationNormalization_main.py +200 -31
.devcontainer/.env
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
user=postgres.ttijgixlummlpurhzjik
|
| 2 |
+
password=[YOUR-PASSWORD]
|
| 3 |
+
host=aws-0-ap-southeast-1.pooler.supabase.com
|
| 4 |
+
port=6543
|
| 5 |
+
dbname=postgres
|
| 6 |
+
anon_key=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InR0aWpnaXhsdW1tbHB1cmh6amlrIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDI3NDM0NjAsImV4cCI6MjA1ODMxOTQ2MH0.ZmYcemp2SL_cykuYeKBis47jfmZROQ_HOvs-8pco2GY
|
| 7 |
+
SUPABASE_URL=https://ttijgixlummlpurhzjik.supabase.co
|
| 8 |
+
table3_name=Tachygraphy-Microtext-Analysis-and-Normalization-Stage3-Correct
|
app_main_hf.py
CHANGED
|
@@ -179,6 +179,7 @@ def main():
|
|
| 179 |
|
| 180 |
|
| 181 |
if st.session_state.current_page != selection:
|
|
|
|
| 182 |
st.cache_resource.clear()
|
| 183 |
free_memory()
|
| 184 |
st.session_state.current_page = selection
|
|
|
|
| 179 |
|
| 180 |
|
| 181 |
if st.session_state.current_page != selection:
|
| 182 |
+
st.cache_data.clear()
|
| 183 |
st.cache_resource.clear()
|
| 184 |
free_memory()
|
| 185 |
st.session_state.current_page = selection
|
emotionMoodtag_analysis/emotion_analysis_main.py
CHANGED
|
@@ -251,34 +251,43 @@ def show_emotion_analysis():
|
|
| 251 |
|
| 252 |
# model, tokenizer = load_model()
|
| 253 |
# model, tokenizer = load_selected_model(selected_model)
|
| 254 |
-
with st.spinner("Please wait..."):
|
| 255 |
-
model, tokenizer, predict_func = load_selected_model(selected_model)
|
| 256 |
-
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
| 257 |
|
| 258 |
-
|
| 259 |
-
|
| 260 |
-
|
| 261 |
-
|
| 262 |
|
| 263 |
-
|
| 264 |
-
|
| 265 |
-
model
|
|
|
|
| 266 |
|
| 267 |
-
|
|
|
|
|
|
|
|
|
|
| 268 |
|
| 269 |
-
|
| 270 |
-
|
|
|
|
| 271 |
|
| 272 |
-
|
| 273 |
-
predictions_array = predictions.squeeze()
|
| 274 |
|
| 275 |
-
|
| 276 |
-
|
| 277 |
-
|
| 278 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 279 |
|
| 280 |
# Update progress bar for prediction and model loading
|
| 281 |
-
|
|
|
|
|
|
|
| 282 |
|
| 283 |
# Display raw predictions
|
| 284 |
st.write(f"**Predicted Emotion Scores:** {predictions_array}")
|
|
|
|
| 251 |
|
| 252 |
# model, tokenizer = load_model()
|
| 253 |
# model, tokenizer = load_selected_model(selected_model)
|
|
|
|
|
|
|
|
|
|
| 254 |
|
| 255 |
+
col_spinner, col_warning = st.columns(2)
|
| 256 |
+
with col_warning:
|
| 257 |
+
warning_placeholder = st.empty()
|
| 258 |
+
warning_placeholder.warning("Don't change the text data or any input parameters or switch models or pages while inference is loading...")
|
| 259 |
|
| 260 |
+
with col_spinner:
|
| 261 |
+
with st.spinner("Please wait, inference is loading..."):
|
| 262 |
+
model, tokenizer, predict_func = load_selected_model(selected_model)
|
| 263 |
+
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
| 264 |
|
| 265 |
+
if model is None:
|
| 266 |
+
st.error(
|
| 267 |
+
"⚠️ Error: Model failed to load! Check model selection or configuration.")
|
| 268 |
+
st.stop()
|
| 269 |
|
| 270 |
+
# model.to(device)
|
| 271 |
+
if hasattr(model, "to"):
|
| 272 |
+
model.to(device)
|
| 273 |
|
| 274 |
+
# predictions = predict(user_input, model, tokenizer, device)
|
|
|
|
| 275 |
|
| 276 |
+
predictions = predict_func(user_input, model, tokenizer, device)
|
| 277 |
+
print(predictions)
|
| 278 |
+
|
| 279 |
+
# Squeeze predictions to remove extra dimensions
|
| 280 |
+
predictions_array = predictions.squeeze()
|
| 281 |
+
|
| 282 |
+
# Convert to binary predictions (argmax)
|
| 283 |
+
binary_predictions = np.zeros_like(predictions_array)
|
| 284 |
+
max_indices = np.argmax(predictions_array)
|
| 285 |
+
binary_predictions[max_indices] = 1
|
| 286 |
|
| 287 |
# Update progress bar for prediction and model loading
|
| 288 |
+
update_progress(progress_bar, 10, 100)
|
| 289 |
+
|
| 290 |
+
warning_placeholder.empty()
|
| 291 |
|
| 292 |
# Display raw predictions
|
| 293 |
st.write(f"**Predicted Emotion Scores:** {predictions_array}")
|
poetry.lock
CHANGED
|
@@ -199,6 +199,18 @@ dev = ["duckdb (>=1.0)", "geopandas", "hatch (>=1.13.0)", "ipython[kernel]", "mi
|
|
| 199 |
doc = ["docutils", "jinja2", "myst-parser", "numpydoc", "pillow (>=9,<10)", "pydata-sphinx-theme (>=0.14.1)", "scipy", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinxext-altair"]
|
| 200 |
save = ["vl-convert-python (>=1.7.0)"]
|
| 201 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 202 |
[[package]]
|
| 203 |
name = "anyio"
|
| 204 |
version = "4.9.0"
|
|
@@ -975,6 +987,21 @@ files = [
|
|
| 975 |
{file = "decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360"},
|
| 976 |
]
|
| 977 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 978 |
[[package]]
|
| 979 |
name = "diffusers"
|
| 980 |
version = "0.32.2"
|
|
@@ -1591,6 +1618,22 @@ files = [
|
|
| 1591 |
[package.dependencies]
|
| 1592 |
six = "*"
|
| 1593 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1594 |
[[package]]
|
| 1595 |
name = "grpcio"
|
| 1596 |
version = "1.71.0"
|
|
@@ -1667,6 +1710,22 @@ files = [
|
|
| 1667 |
{file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"},
|
| 1668 |
]
|
| 1669 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1670 |
[[package]]
|
| 1671 |
name = "h2o"
|
| 1672 |
version = "3.46.0.6"
|
|
@@ -1724,6 +1783,18 @@ files = [
|
|
| 1724 |
[package.dependencies]
|
| 1725 |
numpy = ">=1.19.3"
|
| 1726 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1727 |
[[package]]
|
| 1728 |
name = "htbuilder"
|
| 1729 |
version = "0.9.0"
|
|
@@ -1772,6 +1843,7 @@ files = [
|
|
| 1772 |
[package.dependencies]
|
| 1773 |
anyio = "*"
|
| 1774 |
certifi = "*"
|
|
|
|
| 1775 |
httpcore = "==1.*"
|
| 1776 |
idna = "*"
|
| 1777 |
|
|
@@ -1817,6 +1889,18 @@ testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gr
|
|
| 1817 |
torch = ["safetensors[torch]", "torch"]
|
| 1818 |
typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)"]
|
| 1819 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1820 |
[[package]]
|
| 1821 |
name = "idna"
|
| 1822 |
version = "3.10"
|
|
@@ -4006,6 +4090,23 @@ docs = ["sphinx (>=1.7.1)"]
|
|
| 4006 |
redis = ["redis"]
|
| 4007 |
tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "pytest-rerunfailures (>=15.0)", "pytest-timeout (>=2.1.0)", "redis", "sphinx (>=6.0.0)", "types-redis"]
|
| 4008 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4009 |
[[package]]
|
| 4010 |
name = "prometheus-client"
|
| 4011 |
version = "0.21.1"
|
|
@@ -4346,6 +4447,140 @@ files = [
|
|
| 4346 |
{file = "pycurl-7.45.6.tar.gz", hash = "sha256:2b73e66b22719ea48ac08a93fc88e57ef36d46d03cb09d972063c9aa86bb74e6"},
|
| 4347 |
]
|
| 4348 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4349 |
[[package]]
|
| 4350 |
name = "pydeck"
|
| 4351 |
version = "0.9.1"
|
|
@@ -4402,14 +4637,14 @@ extra = ["pygments (>=2.19.1)"]
|
|
| 4402 |
|
| 4403 |
[[package]]
|
| 4404 |
name = "pyparsing"
|
| 4405 |
-
version = "3.2.
|
| 4406 |
description = "pyparsing module - Classes and methods to define and execute parsing grammars"
|
| 4407 |
optional = false
|
| 4408 |
python-versions = ">=3.9"
|
| 4409 |
groups = ["main"]
|
| 4410 |
files = [
|
| 4411 |
-
{file = "pyparsing-3.2.
|
| 4412 |
-
{file = "pyparsing-3.2.
|
| 4413 |
]
|
| 4414 |
|
| 4415 |
[package.extras]
|
|
@@ -4816,6 +5051,24 @@ files = [
|
|
| 4816 |
[package.extras]
|
| 4817 |
all = ["numpy"]
|
| 4818 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4819 |
[[package]]
|
| 4820 |
name = "referencing"
|
| 4821 |
version = "0.36.2"
|
|
@@ -5556,6 +5809,22 @@ pure-eval = "*"
|
|
| 5556 |
[package.extras]
|
| 5557 |
tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"]
|
| 5558 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5559 |
[[package]]
|
| 5560 |
name = "streamlit"
|
| 5561 |
version = "1.43.2"
|
|
@@ -5798,6 +6067,59 @@ files = [
|
|
| 5798 |
[package.dependencies]
|
| 5799 |
streamlit = ">=1.22.0"
|
| 5800 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5801 |
[[package]]
|
| 5802 |
name = "sympy"
|
| 5803 |
version = "1.13.1"
|
|
@@ -6547,6 +6869,85 @@ files = [
|
|
| 6547 |
{file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"},
|
| 6548 |
]
|
| 6549 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6550 |
[[package]]
|
| 6551 |
name = "werkzeug"
|
| 6552 |
version = "3.1.3"
|
|
@@ -7134,4 +7535,4 @@ cffi = ["cffi (>=1.11)"]
|
|
| 7134 |
[metadata]
|
| 7135 |
lock-version = "2.1"
|
| 7136 |
python-versions = ">=3.12,<4.0"
|
| 7137 |
-
content-hash = "
|
|
|
|
| 199 |
doc = ["docutils", "jinja2", "myst-parser", "numpydoc", "pillow (>=9,<10)", "pydata-sphinx-theme (>=0.14.1)", "scipy", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinxext-altair"]
|
| 200 |
save = ["vl-convert-python (>=1.7.0)"]
|
| 201 |
|
| 202 |
+
[[package]]
|
| 203 |
+
name = "annotated-types"
|
| 204 |
+
version = "0.7.0"
|
| 205 |
+
description = "Reusable constraint types to use with typing.Annotated"
|
| 206 |
+
optional = false
|
| 207 |
+
python-versions = ">=3.8"
|
| 208 |
+
groups = ["main"]
|
| 209 |
+
files = [
|
| 210 |
+
{file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"},
|
| 211 |
+
{file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"},
|
| 212 |
+
]
|
| 213 |
+
|
| 214 |
[[package]]
|
| 215 |
name = "anyio"
|
| 216 |
version = "4.9.0"
|
|
|
|
| 987 |
{file = "decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360"},
|
| 988 |
]
|
| 989 |
|
| 990 |
+
[[package]]
|
| 991 |
+
name = "deprecation"
|
| 992 |
+
version = "2.1.0"
|
| 993 |
+
description = "A library to handle automated deprecations"
|
| 994 |
+
optional = false
|
| 995 |
+
python-versions = "*"
|
| 996 |
+
groups = ["main"]
|
| 997 |
+
files = [
|
| 998 |
+
{file = "deprecation-2.1.0-py2.py3-none-any.whl", hash = "sha256:a10811591210e1fb0e768a8c25517cabeabcba6f0bf96564f8ff45189f90b14a"},
|
| 999 |
+
{file = "deprecation-2.1.0.tar.gz", hash = "sha256:72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff"},
|
| 1000 |
+
]
|
| 1001 |
+
|
| 1002 |
+
[package.dependencies]
|
| 1003 |
+
packaging = "*"
|
| 1004 |
+
|
| 1005 |
[[package]]
|
| 1006 |
name = "diffusers"
|
| 1007 |
version = "0.32.2"
|
|
|
|
| 1618 |
[package.dependencies]
|
| 1619 |
six = "*"
|
| 1620 |
|
| 1621 |
+
[[package]]
|
| 1622 |
+
name = "gotrue"
|
| 1623 |
+
version = "2.11.4"
|
| 1624 |
+
description = "Python Client Library for Supabase Auth"
|
| 1625 |
+
optional = false
|
| 1626 |
+
python-versions = "<4.0,>=3.9"
|
| 1627 |
+
groups = ["main"]
|
| 1628 |
+
files = [
|
| 1629 |
+
{file = "gotrue-2.11.4-py3-none-any.whl", hash = "sha256:712e5018acc00d93cfc6d7bfddc3114eb3c420ab03b945757a8ba38c5fc3caa8"},
|
| 1630 |
+
{file = "gotrue-2.11.4.tar.gz", hash = "sha256:a9ced242b16c6d6bedc43bca21bbefea1ba5fb35fcdaad7d529342099d3b1767"},
|
| 1631 |
+
]
|
| 1632 |
+
|
| 1633 |
+
[package.dependencies]
|
| 1634 |
+
httpx = {version = ">=0.26,<0.29", extras = ["http2"]}
|
| 1635 |
+
pydantic = ">=1.10,<3"
|
| 1636 |
+
|
| 1637 |
[[package]]
|
| 1638 |
name = "grpcio"
|
| 1639 |
version = "1.71.0"
|
|
|
|
| 1710 |
{file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"},
|
| 1711 |
]
|
| 1712 |
|
| 1713 |
+
[[package]]
|
| 1714 |
+
name = "h2"
|
| 1715 |
+
version = "4.2.0"
|
| 1716 |
+
description = "Pure-Python HTTP/2 protocol implementation"
|
| 1717 |
+
optional = false
|
| 1718 |
+
python-versions = ">=3.9"
|
| 1719 |
+
groups = ["main"]
|
| 1720 |
+
files = [
|
| 1721 |
+
{file = "h2-4.2.0-py3-none-any.whl", hash = "sha256:479a53ad425bb29af087f3458a61d30780bc818e4ebcf01f0b536ba916462ed0"},
|
| 1722 |
+
{file = "h2-4.2.0.tar.gz", hash = "sha256:c8a52129695e88b1a0578d8d2cc6842bbd79128ac685463b887ee278126ad01f"},
|
| 1723 |
+
]
|
| 1724 |
+
|
| 1725 |
+
[package.dependencies]
|
| 1726 |
+
hpack = ">=4.1,<5"
|
| 1727 |
+
hyperframe = ">=6.1,<7"
|
| 1728 |
+
|
| 1729 |
[[package]]
|
| 1730 |
name = "h2o"
|
| 1731 |
version = "3.46.0.6"
|
|
|
|
| 1783 |
[package.dependencies]
|
| 1784 |
numpy = ">=1.19.3"
|
| 1785 |
|
| 1786 |
+
[[package]]
|
| 1787 |
+
name = "hpack"
|
| 1788 |
+
version = "4.1.0"
|
| 1789 |
+
description = "Pure-Python HPACK header encoding"
|
| 1790 |
+
optional = false
|
| 1791 |
+
python-versions = ">=3.9"
|
| 1792 |
+
groups = ["main"]
|
| 1793 |
+
files = [
|
| 1794 |
+
{file = "hpack-4.1.0-py3-none-any.whl", hash = "sha256:157ac792668d995c657d93111f46b4535ed114f0c9c8d672271bbec7eae1b496"},
|
| 1795 |
+
{file = "hpack-4.1.0.tar.gz", hash = "sha256:ec5eca154f7056aa06f196a557655c5b009b382873ac8d1e66e79e87535f1dca"},
|
| 1796 |
+
]
|
| 1797 |
+
|
| 1798 |
[[package]]
|
| 1799 |
name = "htbuilder"
|
| 1800 |
version = "0.9.0"
|
|
|
|
| 1843 |
[package.dependencies]
|
| 1844 |
anyio = "*"
|
| 1845 |
certifi = "*"
|
| 1846 |
+
h2 = {version = ">=3,<5", optional = true, markers = "extra == \"http2\""}
|
| 1847 |
httpcore = "==1.*"
|
| 1848 |
idna = "*"
|
| 1849 |
|
|
|
|
| 1889 |
torch = ["safetensors[torch]", "torch"]
|
| 1890 |
typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)"]
|
| 1891 |
|
| 1892 |
+
[[package]]
|
| 1893 |
+
name = "hyperframe"
|
| 1894 |
+
version = "6.1.0"
|
| 1895 |
+
description = "Pure-Python HTTP/2 framing"
|
| 1896 |
+
optional = false
|
| 1897 |
+
python-versions = ">=3.9"
|
| 1898 |
+
groups = ["main"]
|
| 1899 |
+
files = [
|
| 1900 |
+
{file = "hyperframe-6.1.0-py3-none-any.whl", hash = "sha256:b03380493a519fce58ea5af42e4a42317bf9bd425596f7a0835ffce80f1a42e5"},
|
| 1901 |
+
{file = "hyperframe-6.1.0.tar.gz", hash = "sha256:f630908a00854a7adeabd6382b43923a4c4cd4b821fcb527e6ab9e15382a3b08"},
|
| 1902 |
+
]
|
| 1903 |
+
|
| 1904 |
[[package]]
|
| 1905 |
name = "idna"
|
| 1906 |
version = "3.10"
|
|
|
|
| 4090 |
redis = ["redis"]
|
| 4091 |
tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "pytest-rerunfailures (>=15.0)", "pytest-timeout (>=2.1.0)", "redis", "sphinx (>=6.0.0)", "types-redis"]
|
| 4092 |
|
| 4093 |
+
[[package]]
|
| 4094 |
+
name = "postgrest"
|
| 4095 |
+
version = "0.19.3"
|
| 4096 |
+
description = "PostgREST client for Python. This library provides an ORM interface to PostgREST."
|
| 4097 |
+
optional = false
|
| 4098 |
+
python-versions = "<4.0,>=3.9"
|
| 4099 |
+
groups = ["main"]
|
| 4100 |
+
files = [
|
| 4101 |
+
{file = "postgrest-0.19.3-py3-none-any.whl", hash = "sha256:03a7e638962454d10bb712c35e63a8a4bc452917917a4e9eb7427bd5b3c6c485"},
|
| 4102 |
+
{file = "postgrest-0.19.3.tar.gz", hash = "sha256:28a70f03bf3a975aa865a10487b1ce09b7195f56453f7c318a70d3117a3d323c"},
|
| 4103 |
+
]
|
| 4104 |
+
|
| 4105 |
+
[package.dependencies]
|
| 4106 |
+
deprecation = ">=2.1.0,<3.0.0"
|
| 4107 |
+
httpx = {version = ">=0.26,<0.29", extras = ["http2"]}
|
| 4108 |
+
pydantic = ">=1.9,<3.0"
|
| 4109 |
+
|
| 4110 |
[[package]]
|
| 4111 |
name = "prometheus-client"
|
| 4112 |
version = "0.21.1"
|
|
|
|
| 4447 |
{file = "pycurl-7.45.6.tar.gz", hash = "sha256:2b73e66b22719ea48ac08a93fc88e57ef36d46d03cb09d972063c9aa86bb74e6"},
|
| 4448 |
]
|
| 4449 |
|
| 4450 |
+
[[package]]
|
| 4451 |
+
name = "pydantic"
|
| 4452 |
+
version = "2.10.6"
|
| 4453 |
+
description = "Data validation using Python type hints"
|
| 4454 |
+
optional = false
|
| 4455 |
+
python-versions = ">=3.8"
|
| 4456 |
+
groups = ["main"]
|
| 4457 |
+
files = [
|
| 4458 |
+
{file = "pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584"},
|
| 4459 |
+
{file = "pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236"},
|
| 4460 |
+
]
|
| 4461 |
+
|
| 4462 |
+
[package.dependencies]
|
| 4463 |
+
annotated-types = ">=0.6.0"
|
| 4464 |
+
pydantic-core = "2.27.2"
|
| 4465 |
+
typing-extensions = ">=4.12.2"
|
| 4466 |
+
|
| 4467 |
+
[package.extras]
|
| 4468 |
+
email = ["email-validator (>=2.0.0)"]
|
| 4469 |
+
timezone = ["tzdata ; python_version >= \"3.9\" and platform_system == \"Windows\""]
|
| 4470 |
+
|
| 4471 |
+
[[package]]
|
| 4472 |
+
name = "pydantic-core"
|
| 4473 |
+
version = "2.27.2"
|
| 4474 |
+
description = "Core functionality for Pydantic validation and serialization"
|
| 4475 |
+
optional = false
|
| 4476 |
+
python-versions = ">=3.8"
|
| 4477 |
+
groups = ["main"]
|
| 4478 |
+
files = [
|
| 4479 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2d367ca20b2f14095a8f4fa1210f5a7b78b8a20009ecced6b12818f455b1e9fa"},
|
| 4480 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:491a2b73db93fab69731eaee494f320faa4e093dbed776be1a829c2eb222c34c"},
|
| 4481 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7969e133a6f183be60e9f6f56bfae753585680f3b7307a8e555a948d443cc05a"},
|
| 4482 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3de9961f2a346257caf0aa508a4da705467f53778e9ef6fe744c038119737ef5"},
|
| 4483 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2bb4d3e5873c37bb3dd58714d4cd0b0e6238cebc4177ac8fe878f8b3aa8e74c"},
|
| 4484 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:280d219beebb0752699480fe8f1dc61ab6615c2046d76b7ab7ee38858de0a4e7"},
|
| 4485 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47956ae78b6422cbd46f772f1746799cbb862de838fd8d1fbd34a82e05b0983a"},
|
| 4486 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:14d4a5c49d2f009d62a2a7140d3064f686d17a5d1a268bc641954ba181880236"},
|
| 4487 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:337b443af21d488716f8d0b6164de833e788aa6bd7e3a39c005febc1284f4962"},
|
| 4488 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:03d0f86ea3184a12f41a2d23f7ccb79cdb5a18e06993f8a45baa8dfec746f0e9"},
|
| 4489 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7041c36f5680c6e0f08d922aed302e98b3745d97fe1589db0a3eebf6624523af"},
|
| 4490 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-win32.whl", hash = "sha256:50a68f3e3819077be2c98110c1f9dcb3817e93f267ba80a2c05bb4f8799e2ff4"},
|
| 4491 |
+
{file = "pydantic_core-2.27.2-cp310-cp310-win_amd64.whl", hash = "sha256:e0fd26b16394ead34a424eecf8a31a1f5137094cabe84a1bcb10fa6ba39d3d31"},
|
| 4492 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc"},
|
| 4493 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7"},
|
| 4494 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15"},
|
| 4495 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306"},
|
| 4496 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99"},
|
| 4497 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459"},
|
| 4498 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048"},
|
| 4499 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d"},
|
| 4500 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b"},
|
| 4501 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474"},
|
| 4502 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6"},
|
| 4503 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c"},
|
| 4504 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc"},
|
| 4505 |
+
{file = "pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4"},
|
| 4506 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0"},
|
| 4507 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef"},
|
| 4508 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7"},
|
| 4509 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934"},
|
| 4510 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6"},
|
| 4511 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c"},
|
| 4512 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2"},
|
| 4513 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4"},
|
| 4514 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3"},
|
| 4515 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4"},
|
| 4516 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57"},
|
| 4517 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc"},
|
| 4518 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9"},
|
| 4519 |
+
{file = "pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b"},
|
| 4520 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b"},
|
| 4521 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154"},
|
| 4522 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9"},
|
| 4523 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9"},
|
| 4524 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1"},
|
| 4525 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a"},
|
| 4526 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e"},
|
| 4527 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4"},
|
| 4528 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27"},
|
| 4529 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee"},
|
| 4530 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1"},
|
| 4531 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130"},
|
| 4532 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee"},
|
| 4533 |
+
{file = "pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b"},
|
| 4534 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d3e8d504bdd3f10835468f29008d72fc8359d95c9c415ce6e767203db6127506"},
|
| 4535 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:521eb9b7f036c9b6187f0b47318ab0d7ca14bd87f776240b90b21c1f4f149320"},
|
| 4536 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85210c4d99a0114f5a9481b44560d7d1e35e32cc5634c656bc48e590b669b145"},
|
| 4537 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d716e2e30c6f140d7560ef1538953a5cd1a87264c737643d481f2779fc247fe1"},
|
| 4538 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f66d89ba397d92f840f8654756196d93804278457b5fbede59598a1f9f90b228"},
|
| 4539 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:669e193c1c576a58f132e3158f9dfa9662969edb1a250c54d8fa52590045f046"},
|
| 4540 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdbe7629b996647b99c01b37f11170a57ae675375b14b8c13b8518b8320ced5"},
|
| 4541 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d262606bf386a5ba0b0af3b97f37c83d7011439e3dc1a9298f21efb292e42f1a"},
|
| 4542 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:cabb9bcb7e0d97f74df8646f34fc76fbf793b7f6dc2438517d7a9e50eee4f14d"},
|
| 4543 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_armv7l.whl", hash = "sha256:d2d63f1215638d28221f664596b1ccb3944f6e25dd18cd3b86b0a4c408d5ebb9"},
|
| 4544 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bca101c00bff0adb45a833f8451b9105d9df18accb8743b08107d7ada14bd7da"},
|
| 4545 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-win32.whl", hash = "sha256:f6f8e111843bbb0dee4cb6594cdc73e79b3329b526037ec242a3e49012495b3b"},
|
| 4546 |
+
{file = "pydantic_core-2.27.2-cp38-cp38-win_amd64.whl", hash = "sha256:fd1aea04935a508f62e0d0ef1f5ae968774a32afc306fb8545e06f5ff5cdf3ad"},
|
| 4547 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c10eb4f1659290b523af58fa7cffb452a61ad6ae5613404519aee4bfbf1df993"},
|
| 4548 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ef592d4bad47296fb11f96cd7dc898b92e795032b4894dfb4076cfccd43a9308"},
|
| 4549 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c61709a844acc6bf0b7dce7daae75195a10aac96a596ea1b776996414791ede4"},
|
| 4550 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c5f762659e47fdb7b16956c71598292f60a03aa92f8b6351504359dbdba6cf"},
|
| 4551 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c9775e339e42e79ec99c441d9730fccf07414af63eac2f0e48e08fd38a64d76"},
|
| 4552 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57762139821c31847cfb2df63c12f725788bd9f04bc2fb392790959b8f70f118"},
|
| 4553 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d1e85068e818c73e048fe28cfc769040bb1f475524f4745a5dc621f75ac7630"},
|
| 4554 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:097830ed52fd9e427942ff3b9bc17fab52913b2f50f2880dc4a5611446606a54"},
|
| 4555 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:044a50963a614ecfae59bb1eaf7ea7efc4bc62f49ed594e18fa1e5d953c40e9f"},
|
| 4556 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:4e0b4220ba5b40d727c7f879eac379b822eee5d8fff418e9d3381ee45b3b0362"},
|
| 4557 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5e4f4bb20d75e9325cc9696c6802657b58bc1dbbe3022f32cc2b2b632c3fbb96"},
|
| 4558 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-win32.whl", hash = "sha256:cca63613e90d001b9f2f9a9ceb276c308bfa2a43fafb75c8031c4f66039e8c6e"},
|
| 4559 |
+
{file = "pydantic_core-2.27.2-cp39-cp39-win_amd64.whl", hash = "sha256:77d1bca19b0f7021b3a982e6f903dcd5b2b06076def36a652e3907f596e29f67"},
|
| 4560 |
+
{file = "pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2bf14caea37e91198329b828eae1618c068dfb8ef17bb33287a7ad4b61ac314e"},
|
| 4561 |
+
{file = "pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0cb791f5b45307caae8810c2023a184c74605ec3bcbb67d13846c28ff731ff8"},
|
| 4562 |
+
{file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688d3fd9fcb71f41c4c015c023d12a79d1c4c0732ec9eb35d96e3388a120dcf3"},
|
| 4563 |
+
{file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d591580c34f4d731592f0e9fe40f9cc1b430d297eecc70b962e93c5c668f15f"},
|
| 4564 |
+
{file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82f986faf4e644ffc189a7f1aafc86e46ef70372bb153e7001e8afccc6e54133"},
|
| 4565 |
+
{file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bec317a27290e2537f922639cafd54990551725fc844249e64c523301d0822fc"},
|
| 4566 |
+
{file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:0296abcb83a797db256b773f45773da397da75a08f5fcaef41f2044adec05f50"},
|
| 4567 |
+
{file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0d75070718e369e452075a6017fbf187f788e17ed67a3abd47fa934d001863d9"},
|
| 4568 |
+
{file = "pydantic_core-2.27.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7e17b560be3c98a8e3aa66ce828bdebb9e9ac6ad5466fba92eb74c4c95cb1151"},
|
| 4569 |
+
{file = "pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c33939a82924da9ed65dab5a65d427205a73181d8098e79b6b426bdf8ad4e656"},
|
| 4570 |
+
{file = "pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:00bad2484fa6bda1e216e7345a798bd37c68fb2d97558edd584942aa41b7d278"},
|
| 4571 |
+
{file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c817e2b40aba42bac6f457498dacabc568c3b7a986fc9ba7c8d9d260b71485fb"},
|
| 4572 |
+
{file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:251136cdad0cb722e93732cb45ca5299fb56e1344a833640bf93b2803f8d1bfd"},
|
| 4573 |
+
{file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2088237af596f0a524d3afc39ab3b036e8adb054ee57cbb1dcf8e09da5b29cc"},
|
| 4574 |
+
{file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d4041c0b966a84b4ae7a09832eb691a35aec90910cd2dbe7a208de59be77965b"},
|
| 4575 |
+
{file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:8083d4e875ebe0b864ffef72a4304827015cff328a1be6e22cc850753bfb122b"},
|
| 4576 |
+
{file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f141ee28a0ad2123b6611b6ceff018039df17f32ada8b534e6aa039545a3efb2"},
|
| 4577 |
+
{file = "pydantic_core-2.27.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7d0c8399fcc1848491f00e0314bd59fb34a9c008761bcb422a057670c3f65e35"},
|
| 4578 |
+
{file = "pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39"},
|
| 4579 |
+
]
|
| 4580 |
+
|
| 4581 |
+
[package.dependencies]
|
| 4582 |
+
typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0"
|
| 4583 |
+
|
| 4584 |
[[package]]
|
| 4585 |
name = "pydeck"
|
| 4586 |
version = "0.9.1"
|
|
|
|
| 4637 |
|
| 4638 |
[[package]]
|
| 4639 |
name = "pyparsing"
|
| 4640 |
+
version = "3.2.2"
|
| 4641 |
description = "pyparsing module - Classes and methods to define and execute parsing grammars"
|
| 4642 |
optional = false
|
| 4643 |
python-versions = ">=3.9"
|
| 4644 |
groups = ["main"]
|
| 4645 |
files = [
|
| 4646 |
+
{file = "pyparsing-3.2.2-py3-none-any.whl", hash = "sha256:6ab05e1cb111cc72acc8ed811a3ca4c2be2af8d7b6df324347f04fd057d8d793"},
|
| 4647 |
+
{file = "pyparsing-3.2.2.tar.gz", hash = "sha256:2a857aee851f113c2de9d4bfd9061baea478cb0f1c7ca6cbf594942d6d111575"},
|
| 4648 |
]
|
| 4649 |
|
| 4650 |
[package.extras]
|
|
|
|
| 5051 |
[package.extras]
|
| 5052 |
all = ["numpy"]
|
| 5053 |
|
| 5054 |
+
[[package]]
|
| 5055 |
+
name = "realtime"
|
| 5056 |
+
version = "2.4.1"
|
| 5057 |
+
description = ""
|
| 5058 |
+
optional = false
|
| 5059 |
+
python-versions = "<4.0,>=3.9"
|
| 5060 |
+
groups = ["main"]
|
| 5061 |
+
files = [
|
| 5062 |
+
{file = "realtime-2.4.1-py3-none-any.whl", hash = "sha256:6aacfec1ca3519fbb87219ce250dee3b6797156f5a091eb48d0e19945bc6d103"},
|
| 5063 |
+
{file = "realtime-2.4.1.tar.gz", hash = "sha256:8e77616d8c721f0f17ea0a256f6b5cd6d626b0eb66b305544d5f330c3a6d9a4c"},
|
| 5064 |
+
]
|
| 5065 |
+
|
| 5066 |
+
[package.dependencies]
|
| 5067 |
+
aiohttp = ">=3.11.13,<4.0.0"
|
| 5068 |
+
python-dateutil = ">=2.8.1,<3.0.0"
|
| 5069 |
+
typing-extensions = ">=4.12.2,<5.0.0"
|
| 5070 |
+
websockets = ">=11,<15"
|
| 5071 |
+
|
| 5072 |
[[package]]
|
| 5073 |
name = "referencing"
|
| 5074 |
version = "0.36.2"
|
|
|
|
| 5809 |
[package.extras]
|
| 5810 |
tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"]
|
| 5811 |
|
| 5812 |
+
[[package]]
|
| 5813 |
+
name = "storage3"
|
| 5814 |
+
version = "0.11.3"
|
| 5815 |
+
description = "Supabase Storage client for Python."
|
| 5816 |
+
optional = false
|
| 5817 |
+
python-versions = "<4.0,>=3.9"
|
| 5818 |
+
groups = ["main"]
|
| 5819 |
+
files = [
|
| 5820 |
+
{file = "storage3-0.11.3-py3-none-any.whl", hash = "sha256:090c42152217d5d39bd94af3ddeb60c8982f3a283dcd90b53d058f2db33e6007"},
|
| 5821 |
+
{file = "storage3-0.11.3.tar.gz", hash = "sha256:883637132aad36d9d92b7c497a8a56dff7c51f15faf2ff7acbccefbbd5e97347"},
|
| 5822 |
+
]
|
| 5823 |
+
|
| 5824 |
+
[package.dependencies]
|
| 5825 |
+
httpx = {version = ">=0.26,<0.29", extras = ["http2"]}
|
| 5826 |
+
python-dateutil = ">=2.8.2,<3.0.0"
|
| 5827 |
+
|
| 5828 |
[[package]]
|
| 5829 |
name = "streamlit"
|
| 5830 |
version = "1.43.2"
|
|
|
|
| 6067 |
[package.dependencies]
|
| 6068 |
streamlit = ">=1.22.0"
|
| 6069 |
|
| 6070 |
+
[[package]]
|
| 6071 |
+
name = "strenum"
|
| 6072 |
+
version = "0.4.15"
|
| 6073 |
+
description = "An Enum that inherits from str."
|
| 6074 |
+
optional = false
|
| 6075 |
+
python-versions = "*"
|
| 6076 |
+
groups = ["main"]
|
| 6077 |
+
files = [
|
| 6078 |
+
{file = "StrEnum-0.4.15-py3-none-any.whl", hash = "sha256:a30cda4af7cc6b5bf52c8055bc4bf4b2b6b14a93b574626da33df53cf7740659"},
|
| 6079 |
+
{file = "StrEnum-0.4.15.tar.gz", hash = "sha256:878fb5ab705442070e4dd1929bb5e2249511c0bcf2b0eeacf3bcd80875c82eff"},
|
| 6080 |
+
]
|
| 6081 |
+
|
| 6082 |
+
[package.extras]
|
| 6083 |
+
docs = ["myst-parser[linkify]", "sphinx", "sphinx-rtd-theme"]
|
| 6084 |
+
release = ["twine"]
|
| 6085 |
+
test = ["pylint", "pytest", "pytest-black", "pytest-cov", "pytest-pylint"]
|
| 6086 |
+
|
| 6087 |
+
[[package]]
|
| 6088 |
+
name = "supabase"
|
| 6089 |
+
version = "2.14.0"
|
| 6090 |
+
description = "Supabase client for Python."
|
| 6091 |
+
optional = false
|
| 6092 |
+
python-versions = "<4.0,>=3.9"
|
| 6093 |
+
groups = ["main"]
|
| 6094 |
+
files = [
|
| 6095 |
+
{file = "supabase-2.14.0-py3-none-any.whl", hash = "sha256:397c3fc1e8cfe167a3de3e20b79a2952f2b2aa572a1aaf3c3fdd51d4b1ee065e"},
|
| 6096 |
+
{file = "supabase-2.14.0.tar.gz", hash = "sha256:fd5919ceff91c61b6be05fa8c05b0d7329218598cc05edbdacc141c0c808183c"},
|
| 6097 |
+
]
|
| 6098 |
+
|
| 6099 |
+
[package.dependencies]
|
| 6100 |
+
gotrue = ">=2.11.0,<3.0.0"
|
| 6101 |
+
httpx = ">=0.26,<0.29"
|
| 6102 |
+
postgrest = ">=0.19,<0.20"
|
| 6103 |
+
realtime = ">=2.4.0,<2.5.0"
|
| 6104 |
+
storage3 = ">=0.10,<0.12"
|
| 6105 |
+
supafunc = ">=0.9,<0.10"
|
| 6106 |
+
|
| 6107 |
+
[[package]]
|
| 6108 |
+
name = "supafunc"
|
| 6109 |
+
version = "0.9.3"
|
| 6110 |
+
description = "Library for Supabase Functions"
|
| 6111 |
+
optional = false
|
| 6112 |
+
python-versions = "<4.0,>=3.9"
|
| 6113 |
+
groups = ["main"]
|
| 6114 |
+
files = [
|
| 6115 |
+
{file = "supafunc-0.9.3-py3-none-any.whl", hash = "sha256:83e36ed5e94d2dd0484011aad0b09337d35a87992adbc97acc31c8201aca05d0"},
|
| 6116 |
+
{file = "supafunc-0.9.3.tar.gz", hash = "sha256:29a06d0dc9fe049ecc1249e53ccf3d2a80d72239200f69b510740217aca6497c"},
|
| 6117 |
+
]
|
| 6118 |
+
|
| 6119 |
+
[package.dependencies]
|
| 6120 |
+
httpx = {version = ">=0.26,<0.29", extras = ["http2"]}
|
| 6121 |
+
strenum = ">=0.4.15,<0.5.0"
|
| 6122 |
+
|
| 6123 |
[[package]]
|
| 6124 |
name = "sympy"
|
| 6125 |
version = "1.13.1"
|
|
|
|
| 6869 |
{file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"},
|
| 6870 |
]
|
| 6871 |
|
| 6872 |
+
[[package]]
|
| 6873 |
+
name = "websockets"
|
| 6874 |
+
version = "14.2"
|
| 6875 |
+
description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)"
|
| 6876 |
+
optional = false
|
| 6877 |
+
python-versions = ">=3.9"
|
| 6878 |
+
groups = ["main"]
|
| 6879 |
+
files = [
|
| 6880 |
+
{file = "websockets-14.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e8179f95323b9ab1c11723e5d91a89403903f7b001828161b480a7810b334885"},
|
| 6881 |
+
{file = "websockets-14.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0d8c3e2cdb38f31d8bd7d9d28908005f6fa9def3324edb9bf336d7e4266fd397"},
|
| 6882 |
+
{file = "websockets-14.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:714a9b682deb4339d39ffa674f7b674230227d981a37d5d174a4a83e3978a610"},
|
| 6883 |
+
{file = "websockets-14.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2e53c72052f2596fb792a7acd9704cbc549bf70fcde8a99e899311455974ca3"},
|
| 6884 |
+
{file = "websockets-14.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3fbd68850c837e57373d95c8fe352203a512b6e49eaae4c2f4088ef8cf21980"},
|
| 6885 |
+
{file = "websockets-14.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b27ece32f63150c268593d5fdb82819584831a83a3f5809b7521df0685cd5d8"},
|
| 6886 |
+
{file = "websockets-14.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4daa0faea5424d8713142b33825fff03c736f781690d90652d2c8b053345b0e7"},
|
| 6887 |
+
{file = "websockets-14.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:bc63cee8596a6ec84d9753fd0fcfa0452ee12f317afe4beae6b157f0070c6c7f"},
|
| 6888 |
+
{file = "websockets-14.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7a570862c325af2111343cc9b0257b7119b904823c675b22d4ac547163088d0d"},
|
| 6889 |
+
{file = "websockets-14.2-cp310-cp310-win32.whl", hash = "sha256:75862126b3d2d505e895893e3deac0a9339ce750bd27b4ba515f008b5acf832d"},
|
| 6890 |
+
{file = "websockets-14.2-cp310-cp310-win_amd64.whl", hash = "sha256:cc45afb9c9b2dc0852d5c8b5321759cf825f82a31bfaf506b65bf4668c96f8b2"},
|
| 6891 |
+
{file = "websockets-14.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3bdc8c692c866ce5fefcaf07d2b55c91d6922ac397e031ef9b774e5b9ea42166"},
|
| 6892 |
+
{file = "websockets-14.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c93215fac5dadc63e51bcc6dceca72e72267c11def401d6668622b47675b097f"},
|
| 6893 |
+
{file = "websockets-14.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1c9b6535c0e2cf8a6bf938064fb754aaceb1e6a4a51a80d884cd5db569886910"},
|
| 6894 |
+
{file = "websockets-14.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a52a6d7cf6938e04e9dceb949d35fbdf58ac14deea26e685ab6368e73744e4c"},
|
| 6895 |
+
{file = "websockets-14.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9f05702e93203a6ff5226e21d9b40c037761b2cfb637187c9802c10f58e40473"},
|
| 6896 |
+
{file = "websockets-14.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22441c81a6748a53bfcb98951d58d1af0661ab47a536af08920d129b4d1c3473"},
|
| 6897 |
+
{file = "websockets-14.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd9b868d78b194790e6236d9cbc46d68aba4b75b22497eb4ab64fa640c3af56"},
|
| 6898 |
+
{file = "websockets-14.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1a5a20d5843886d34ff8c57424cc65a1deda4375729cbca4cb6b3353f3ce4142"},
|
| 6899 |
+
{file = "websockets-14.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:34277a29f5303d54ec6468fb525d99c99938607bc96b8d72d675dee2b9f5bf1d"},
|
| 6900 |
+
{file = "websockets-14.2-cp311-cp311-win32.whl", hash = "sha256:02687db35dbc7d25fd541a602b5f8e451a238ffa033030b172ff86a93cb5dc2a"},
|
| 6901 |
+
{file = "websockets-14.2-cp311-cp311-win_amd64.whl", hash = "sha256:862e9967b46c07d4dcd2532e9e8e3c2825e004ffbf91a5ef9dde519ee2effb0b"},
|
| 6902 |
+
{file = "websockets-14.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1f20522e624d7ffbdbe259c6b6a65d73c895045f76a93719aa10cd93b3de100c"},
|
| 6903 |
+
{file = "websockets-14.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:647b573f7d3ada919fd60e64d533409a79dcf1ea21daeb4542d1d996519ca967"},
|
| 6904 |
+
{file = "websockets-14.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6af99a38e49f66be5a64b1e890208ad026cda49355661549c507152113049990"},
|
| 6905 |
+
{file = "websockets-14.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:091ab63dfc8cea748cc22c1db2814eadb77ccbf82829bac6b2fbe3401d548eda"},
|
| 6906 |
+
{file = "websockets-14.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b374e8953ad477d17e4851cdc66d83fdc2db88d9e73abf755c94510ebddceb95"},
|
| 6907 |
+
{file = "websockets-14.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a39d7eceeea35db85b85e1169011bb4321c32e673920ae9c1b6e0978590012a3"},
|
| 6908 |
+
{file = "websockets-14.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0a6f3efd47ffd0d12080594f434faf1cd2549b31e54870b8470b28cc1d3817d9"},
|
| 6909 |
+
{file = "websockets-14.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:065ce275e7c4ffb42cb738dd6b20726ac26ac9ad0a2a48e33ca632351a737267"},
|
| 6910 |
+
{file = "websockets-14.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e9d0e53530ba7b8b5e389c02282f9d2aa47581514bd6049d3a7cffe1385cf5fe"},
|
| 6911 |
+
{file = "websockets-14.2-cp312-cp312-win32.whl", hash = "sha256:20e6dd0984d7ca3037afcb4494e48c74ffb51e8013cac71cf607fffe11df7205"},
|
| 6912 |
+
{file = "websockets-14.2-cp312-cp312-win_amd64.whl", hash = "sha256:44bba1a956c2c9d268bdcdf234d5e5ff4c9b6dc3e300545cbe99af59dda9dcce"},
|
| 6913 |
+
{file = "websockets-14.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6f1372e511c7409a542291bce92d6c83320e02c9cf392223272287ce55bc224e"},
|
| 6914 |
+
{file = "websockets-14.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4da98b72009836179bb596a92297b1a61bb5a830c0e483a7d0766d45070a08ad"},
|
| 6915 |
+
{file = "websockets-14.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8a86a269759026d2bde227652b87be79f8a734e582debf64c9d302faa1e9f03"},
|
| 6916 |
+
{file = "websockets-14.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:86cf1aaeca909bf6815ea714d5c5736c8d6dd3a13770e885aafe062ecbd04f1f"},
|
| 6917 |
+
{file = "websockets-14.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9b0f6c3ba3b1240f602ebb3971d45b02cc12bd1845466dd783496b3b05783a5"},
|
| 6918 |
+
{file = "websockets-14.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:669c3e101c246aa85bc8534e495952e2ca208bd87994650b90a23d745902db9a"},
|
| 6919 |
+
{file = "websockets-14.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eabdb28b972f3729348e632ab08f2a7b616c7e53d5414c12108c29972e655b20"},
|
| 6920 |
+
{file = "websockets-14.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2066dc4cbcc19f32c12a5a0e8cc1b7ac734e5b64ac0a325ff8353451c4b15ef2"},
|
| 6921 |
+
{file = "websockets-14.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ab95d357cd471df61873dadf66dd05dd4709cae001dd6342edafc8dc6382f307"},
|
| 6922 |
+
{file = "websockets-14.2-cp313-cp313-win32.whl", hash = "sha256:a9e72fb63e5f3feacdcf5b4ff53199ec8c18d66e325c34ee4c551ca748623bbc"},
|
| 6923 |
+
{file = "websockets-14.2-cp313-cp313-win_amd64.whl", hash = "sha256:b439ea828c4ba99bb3176dc8d9b933392a2413c0f6b149fdcba48393f573377f"},
|
| 6924 |
+
{file = "websockets-14.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7cd5706caec1686c5d233bc76243ff64b1c0dc445339bd538f30547e787c11fe"},
|
| 6925 |
+
{file = "websockets-14.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ec607328ce95a2f12b595f7ae4c5d71bf502212bddcea528290b35c286932b12"},
|
| 6926 |
+
{file = "websockets-14.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:da85651270c6bfb630136423037dd4975199e5d4114cae6d3066641adcc9d1c7"},
|
| 6927 |
+
{file = "websockets-14.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c3ecadc7ce90accf39903815697917643f5b7cfb73c96702318a096c00aa71f5"},
|
| 6928 |
+
{file = "websockets-14.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1979bee04af6a78608024bad6dfcc0cc930ce819f9e10342a29a05b5320355d0"},
|
| 6929 |
+
{file = "websockets-14.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dddacad58e2614a24938a50b85969d56f88e620e3f897b7d80ac0d8a5800258"},
|
| 6930 |
+
{file = "websockets-14.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:89a71173caaf75fa71a09a5f614f450ba3ec84ad9fca47cb2422a860676716f0"},
|
| 6931 |
+
{file = "websockets-14.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:6af6a4b26eea4fc06c6818a6b962a952441e0e39548b44773502761ded8cc1d4"},
|
| 6932 |
+
{file = "websockets-14.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:80c8efa38957f20bba0117b48737993643204645e9ec45512579132508477cfc"},
|
| 6933 |
+
{file = "websockets-14.2-cp39-cp39-win32.whl", hash = "sha256:2e20c5f517e2163d76e2729104abc42639c41cf91f7b1839295be43302713661"},
|
| 6934 |
+
{file = "websockets-14.2-cp39-cp39-win_amd64.whl", hash = "sha256:b4c8cef610e8d7c70dea92e62b6814a8cd24fbd01d7103cc89308d2bfe1659ef"},
|
| 6935 |
+
{file = "websockets-14.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d7d9cafbccba46e768be8a8ad4635fa3eae1ffac4c6e7cb4eb276ba41297ed29"},
|
| 6936 |
+
{file = "websockets-14.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c76193c1c044bd1e9b3316dcc34b174bbf9664598791e6fb606d8d29000e070c"},
|
| 6937 |
+
{file = "websockets-14.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd475a974d5352390baf865309fe37dec6831aafc3014ffac1eea99e84e83fc2"},
|
| 6938 |
+
{file = "websockets-14.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2c6c0097a41968b2e2b54ed3424739aab0b762ca92af2379f152c1aef0187e1c"},
|
| 6939 |
+
{file = "websockets-14.2-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d7ff794c8b36bc402f2e07c0b2ceb4a2424147ed4785ff03e2a7af03711d60a"},
|
| 6940 |
+
{file = "websockets-14.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:dec254fcabc7bd488dab64846f588fc5b6fe0d78f641180030f8ea27b76d72c3"},
|
| 6941 |
+
{file = "websockets-14.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:bbe03eb853e17fd5b15448328b4ec7fb2407d45fb0245036d06a3af251f8e48f"},
|
| 6942 |
+
{file = "websockets-14.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:a3c4aa3428b904d5404a0ed85f3644d37e2cb25996b7f096d77caeb0e96a3b42"},
|
| 6943 |
+
{file = "websockets-14.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:577a4cebf1ceaf0b65ffc42c54856214165fb8ceeba3935852fc33f6b0c55e7f"},
|
| 6944 |
+
{file = "websockets-14.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad1c1d02357b7665e700eca43a31d52814ad9ad9b89b58118bdabc365454b574"},
|
| 6945 |
+
{file = "websockets-14.2-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f390024a47d904613577df83ba700bd189eedc09c57af0a904e5c39624621270"},
|
| 6946 |
+
{file = "websockets-14.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3c1426c021c38cf92b453cdf371228d3430acd775edee6bac5a4d577efc72365"},
|
| 6947 |
+
{file = "websockets-14.2-py3-none-any.whl", hash = "sha256:7a6ceec4ea84469f15cf15807a747e9efe57e369c384fa86e022b3bea679b79b"},
|
| 6948 |
+
{file = "websockets-14.2.tar.gz", hash = "sha256:5059ed9c54945efb321f097084b4c7e52c246f2c869815876a69d1efc4ad6eb5"},
|
| 6949 |
+
]
|
| 6950 |
+
|
| 6951 |
[[package]]
|
| 6952 |
name = "werkzeug"
|
| 6953 |
version = "3.1.3"
|
|
|
|
| 7535 |
[metadata]
|
| 7536 |
lock-version = "2.1"
|
| 7537 |
python-versions = ">=3.12,<4.0"
|
| 7538 |
+
content-hash = "416e5bf0ee0f402734ae1c44b8285e9bb698ad7fda638e6ad65fcd0d8068168c"
|
pyproject.toml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
[project]
|
| 2 |
name = "tachygraphy-microtext-analysis-and-normalization"
|
| 3 |
-
version = "2025.03.
|
| 4 |
description = ""
|
| 5 |
authors = [
|
| 6 |
{ name = "Archisman Karmakar", email = "[email protected]" },
|
|
@@ -201,6 +201,7 @@ dependencies = [
|
|
| 201 |
"poetry-plugin-export (>=1.9.0,<2.0.0)",
|
| 202 |
"python-dotenv (>=1.0.1,<2.0.0)",
|
| 203 |
"psycopg2 (>=2.9.10,<3.0.0)",
|
|
|
|
| 204 |
]
|
| 205 |
|
| 206 |
|
|
|
|
| 1 |
[project]
|
| 2 |
name = "tachygraphy-microtext-analysis-and-normalization"
|
| 3 |
+
version = "2025.03.24.post1"
|
| 4 |
description = ""
|
| 5 |
authors = [
|
| 6 |
{ name = "Archisman Karmakar", email = "[email protected]" },
|
|
|
|
| 201 |
"poetry-plugin-export (>=1.9.0,<2.0.0)",
|
| 202 |
"python-dotenv (>=1.0.1,<2.0.0)",
|
| 203 |
"psycopg2 (>=2.9.10,<3.0.0)",
|
| 204 |
+
"supabase (>=2.14.0,<3.0.0)",
|
| 205 |
]
|
| 206 |
|
| 207 |
|
pyprojectOLD.toml
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
[project]
|
| 2 |
name = "tachygraphy-microtext-analysis-and-normalization"
|
| 3 |
-
version = "2025.03.
|
|
|
|
| 4 |
# version = "2025.03.18.post5"
|
| 5 |
# version = "2025.03.18.post4_3"
|
| 6 |
# version = "2025.03.18.post3"
|
|
|
|
| 1 |
[project]
|
| 2 |
name = "tachygraphy-microtext-analysis-and-normalization"
|
| 3 |
+
version = "2025.03.22.post1"
|
| 4 |
+
# version = "2025.03.21.post1"
|
| 5 |
# version = "2025.03.18.post5"
|
| 6 |
# version = "2025.03.18.post4_3"
|
| 7 |
# version = "2025.03.18.post3"
|
requirements.txt
CHANGED
|
@@ -4,6 +4,7 @@ aiohappyeyeballs==2.6.1 ; python_version >= "3.12" and python_version < "4.0"
|
|
| 4 |
aiohttp==3.11.14 ; python_version >= "3.12" and python_version < "4.0"
|
| 5 |
aiosignal==1.3.2 ; python_version >= "3.12" and python_version < "4.0"
|
| 6 |
altair==5.5.0 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 7 |
anyio==4.9.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 8 |
appnope==0.1.4 ; python_version >= "3.12" and python_version < "4.0" and platform_system == "Darwin"
|
| 9 |
asttokens==3.0.0 ; python_version >= "3.12" and python_version < "4.0"
|
|
@@ -33,6 +34,7 @@ dask==2025.3.0 ; python_version >= "3.12" and python_version < "4.0"
|
|
| 33 |
datasets==3.4.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 34 |
debugpy==1.8.13 ; python_version >= "3.12" and python_version < "4.0"
|
| 35 |
decorator==5.2.1 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 36 |
diffusers==0.32.2 ; python_version >= "3.12" and python_version < "4.0"
|
| 37 |
dill==0.3.8 ; python_version >= "3.12" and python_version < "4.0"
|
| 38 |
distlib==0.3.9 ; python_version >= "3.12" and python_version < "4.0"
|
|
@@ -56,14 +58,18 @@ gast==0.6.0 ; python_version >= "3.12" and python_version < "4.0"
|
|
| 56 |
gitdb==4.0.12 ; python_version >= "3.12" and python_version < "4.0"
|
| 57 |
gitpython==3.1.44 ; python_version >= "3.12" and python_version < "4.0"
|
| 58 |
google-pasta==0.2.0 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 59 |
grpcio==1.71.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 60 |
h11==0.14.0 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 61 |
h2o==3.46.0.6 ; python_version >= "3.12" and python_version < "4.0"
|
| 62 |
h5py==3.13.0 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 63 |
htbuilder==0.9.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 64 |
httpcore==1.0.7 ; python_version >= "3.12" and python_version < "4.0"
|
| 65 |
httpx==0.28.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 66 |
huggingface-hub==0.29.3 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 67 |
idna==3.10 ; python_version >= "3.12" and python_version < "4.0"
|
| 68 |
importlib-metadata==8.6.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 69 |
importlib==1.0.4 ; python_version >= "3.12" and python_version < "4.0"
|
|
@@ -142,6 +148,7 @@ poetry-core==2.1.1 ; python_version >= "3.12" and python_version < "4.0"
|
|
| 142 |
poetry-plugin-export==1.9.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 143 |
poetry==2.1.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 144 |
portalocker==3.1.1 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 145 |
prometheus-client==0.21.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 146 |
prompt-toolkit==3.0.50 ; python_version >= "3.12" and python_version < "4.0"
|
| 147 |
propcache==0.3.0 ; python_version >= "3.12" and python_version < "4.0"
|
|
@@ -153,10 +160,12 @@ pure-eval==0.2.3 ; python_version >= "3.12" and python_version < "4.0"
|
|
| 153 |
pyarrow==19.0.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 154 |
pycparser==2.22 ; python_version >= "3.12" and python_version < "4.0" and (sys_platform == "linux" or sys_platform == "darwin" or implementation_name == "pypy" or platform_python_implementation == "PyPy")
|
| 155 |
pycurl==7.45.6 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
|
|
|
| 156 |
pydeck==0.9.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 157 |
pygments==2.19.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 158 |
pymdown-extensions==10.14.3 ; python_version >= "3.12" and python_version < "4.0"
|
| 159 |
-
pyparsing==3.2.
|
| 160 |
pyproject-hooks==1.2.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 161 |
python-dateutil==2.9.0.post0 ; python_version >= "3.12" and python_version < "4.0"
|
| 162 |
python-dotenv==1.0.1 ; python_version >= "3.12" and python_version < "4.0"
|
|
@@ -167,6 +176,7 @@ pywin32==309 ; python_version >= "3.12" and python_version < "4.0" and (sys_plat
|
|
| 167 |
pyyaml==6.0.2 ; python_version >= "3.12" and python_version < "4.0"
|
| 168 |
pyzmq==26.3.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 169 |
rapidfuzz==3.12.2 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 170 |
referencing==0.36.2 ; python_version >= "3.12" and python_version < "4.0"
|
| 171 |
regex==2024.11.6 ; python_version >= "3.12" and python_version < "4.0"
|
| 172 |
requests-toolbelt==1.0.0 ; python_version >= "3.12" and python_version < "4.0"
|
|
@@ -191,6 +201,7 @@ soupsieve==2.6 ; python_version >= "3.12" and python_version < "4.0"
|
|
| 191 |
st-annotated-text==4.0.2 ; python_version >= "3.12" and python_version < "4.0"
|
| 192 |
st-theme==1.2.3 ; python_version >= "3.12" and python_version < "4.0"
|
| 193 |
stack-data==0.6.3 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 194 |
streamlit-avatar==0.1.3 ; python_version >= "3.12" and python_version < "4.0"
|
| 195 |
streamlit-camera-input-live==0.2.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 196 |
streamlit-card==1.0.2 ; python_version >= "3.12" and python_version < "4.0"
|
|
@@ -204,6 +215,9 @@ streamlit-option-menu==0.4.0 ; python_version >= "3.12" and python_version < "4.
|
|
| 204 |
streamlit-toggle-switch==1.0.2 ; python_version >= "3.12" and python_version < "4.0"
|
| 205 |
streamlit-vertical-slider==2.5.5 ; python_version >= "3.12" and python_version < "4.0"
|
| 206 |
streamlit==1.43.2 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
|
|
|
|
|
|
| 207 |
sympy==1.13.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 208 |
tabulate==0.9.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 209 |
tblib==3.0.0 ; python_version >= "3.12" and python_version < "4.0"
|
|
@@ -235,6 +249,7 @@ validators==0.34.0 ; python_version >= "3.12" and python_version < "4.0"
|
|
| 235 |
virtualenv==20.29.3 ; python_version >= "3.12" and python_version < "4.0"
|
| 236 |
watchdog==6.0.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 237 |
wcwidth==0.2.13 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 238 |
werkzeug==3.1.3 ; python_version >= "3.12" and python_version < "4.0"
|
| 239 |
wheel==0.45.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 240 |
wrapt==1.17.2 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 4 |
aiohttp==3.11.14 ; python_version >= "3.12" and python_version < "4.0"
|
| 5 |
aiosignal==1.3.2 ; python_version >= "3.12" and python_version < "4.0"
|
| 6 |
altair==5.5.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 7 |
+
annotated-types==0.7.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 8 |
anyio==4.9.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 9 |
appnope==0.1.4 ; python_version >= "3.12" and python_version < "4.0" and platform_system == "Darwin"
|
| 10 |
asttokens==3.0.0 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 34 |
datasets==3.4.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 35 |
debugpy==1.8.13 ; python_version >= "3.12" and python_version < "4.0"
|
| 36 |
decorator==5.2.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 37 |
+
deprecation==2.1.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 38 |
diffusers==0.32.2 ; python_version >= "3.12" and python_version < "4.0"
|
| 39 |
dill==0.3.8 ; python_version >= "3.12" and python_version < "4.0"
|
| 40 |
distlib==0.3.9 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 58 |
gitdb==4.0.12 ; python_version >= "3.12" and python_version < "4.0"
|
| 59 |
gitpython==3.1.44 ; python_version >= "3.12" and python_version < "4.0"
|
| 60 |
google-pasta==0.2.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 61 |
+
gotrue==2.11.4 ; python_version >= "3.12" and python_version < "4.0"
|
| 62 |
grpcio==1.71.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 63 |
h11==0.14.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 64 |
+
h2==4.2.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 65 |
h2o==3.46.0.6 ; python_version >= "3.12" and python_version < "4.0"
|
| 66 |
h5py==3.13.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 67 |
+
hpack==4.1.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 68 |
htbuilder==0.9.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 69 |
httpcore==1.0.7 ; python_version >= "3.12" and python_version < "4.0"
|
| 70 |
httpx==0.28.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 71 |
huggingface-hub==0.29.3 ; python_version >= "3.12" and python_version < "4.0"
|
| 72 |
+
hyperframe==6.1.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 73 |
idna==3.10 ; python_version >= "3.12" and python_version < "4.0"
|
| 74 |
importlib-metadata==8.6.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 75 |
importlib==1.0.4 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 148 |
poetry-plugin-export==1.9.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 149 |
poetry==2.1.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 150 |
portalocker==3.1.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 151 |
+
postgrest==0.19.3 ; python_version >= "3.12" and python_version < "4.0"
|
| 152 |
prometheus-client==0.21.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 153 |
prompt-toolkit==3.0.50 ; python_version >= "3.12" and python_version < "4.0"
|
| 154 |
propcache==0.3.0 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 160 |
pyarrow==19.0.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 161 |
pycparser==2.22 ; python_version >= "3.12" and python_version < "4.0" and (sys_platform == "linux" or sys_platform == "darwin" or implementation_name == "pypy" or platform_python_implementation == "PyPy")
|
| 162 |
pycurl==7.45.6 ; python_version >= "3.12" and python_version < "4.0"
|
| 163 |
+
pydantic-core==2.27.2 ; python_version >= "3.12" and python_version < "4.0"
|
| 164 |
+
pydantic==2.10.6 ; python_version >= "3.12" and python_version < "4.0"
|
| 165 |
pydeck==0.9.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 166 |
pygments==2.19.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 167 |
pymdown-extensions==10.14.3 ; python_version >= "3.12" and python_version < "4.0"
|
| 168 |
+
pyparsing==3.2.2 ; python_version >= "3.12" and python_version < "4.0"
|
| 169 |
pyproject-hooks==1.2.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 170 |
python-dateutil==2.9.0.post0 ; python_version >= "3.12" and python_version < "4.0"
|
| 171 |
python-dotenv==1.0.1 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 176 |
pyyaml==6.0.2 ; python_version >= "3.12" and python_version < "4.0"
|
| 177 |
pyzmq==26.3.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 178 |
rapidfuzz==3.12.2 ; python_version >= "3.12" and python_version < "4.0"
|
| 179 |
+
realtime==2.4.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 180 |
referencing==0.36.2 ; python_version >= "3.12" and python_version < "4.0"
|
| 181 |
regex==2024.11.6 ; python_version >= "3.12" and python_version < "4.0"
|
| 182 |
requests-toolbelt==1.0.0 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 201 |
st-annotated-text==4.0.2 ; python_version >= "3.12" and python_version < "4.0"
|
| 202 |
st-theme==1.2.3 ; python_version >= "3.12" and python_version < "4.0"
|
| 203 |
stack-data==0.6.3 ; python_version >= "3.12" and python_version < "4.0"
|
| 204 |
+
storage3==0.11.3 ; python_version >= "3.12" and python_version < "4.0"
|
| 205 |
streamlit-avatar==0.1.3 ; python_version >= "3.12" and python_version < "4.0"
|
| 206 |
streamlit-camera-input-live==0.2.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 207 |
streamlit-card==1.0.2 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 215 |
streamlit-toggle-switch==1.0.2 ; python_version >= "3.12" and python_version < "4.0"
|
| 216 |
streamlit-vertical-slider==2.5.5 ; python_version >= "3.12" and python_version < "4.0"
|
| 217 |
streamlit==1.43.2 ; python_version >= "3.12" and python_version < "4.0"
|
| 218 |
+
strenum==0.4.15 ; python_version >= "3.12" and python_version < "4.0"
|
| 219 |
+
supabase==2.14.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 220 |
+
supafunc==0.9.3 ; python_version >= "3.12" and python_version < "4.0"
|
| 221 |
sympy==1.13.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 222 |
tabulate==0.9.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 223 |
tblib==3.0.0 ; python_version >= "3.12" and python_version < "4.0"
|
|
|
|
| 249 |
virtualenv==20.29.3 ; python_version >= "3.12" and python_version < "4.0"
|
| 250 |
watchdog==6.0.0 ; python_version >= "3.12" and python_version < "4.0"
|
| 251 |
wcwidth==0.2.13 ; python_version >= "3.12" and python_version < "4.0"
|
| 252 |
+
websockets==14.2 ; python_version >= "3.12" and python_version < "4.0"
|
| 253 |
werkzeug==3.1.3 ; python_version >= "3.12" and python_version < "4.0"
|
| 254 |
wheel==0.45.1 ; python_version >= "3.12" and python_version < "4.0"
|
| 255 |
wrapt==1.17.2 ; python_version >= "3.12" and python_version < "4.0"
|
sentimentPolarity_analysis/sentiment_analysis_main.py
CHANGED
|
@@ -249,33 +249,42 @@ def show_sentiment_analysis():
|
|
| 249 |
|
| 250 |
# model, tokenizer = load_model()
|
| 251 |
# model, tokenizer = load_selected_model(selected_model)
|
| 252 |
-
with st.spinner("Please wait..."):
|
| 253 |
-
model, tokenizer, predict_func = load_selected_model(selected_model)
|
| 254 |
-
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
| 255 |
|
| 256 |
-
|
| 257 |
-
|
| 258 |
-
|
| 259 |
-
|
| 260 |
|
| 261 |
-
|
| 262 |
-
|
| 263 |
-
model
|
|
|
|
| 264 |
|
| 265 |
-
|
|
|
|
|
|
|
|
|
|
| 266 |
|
| 267 |
-
|
|
|
|
|
|
|
| 268 |
|
| 269 |
-
|
| 270 |
-
predictions_array = predictions.squeeze()
|
| 271 |
|
| 272 |
-
|
| 273 |
-
|
| 274 |
-
|
| 275 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 276 |
|
| 277 |
# Update progress bar for prediction and model loading
|
| 278 |
-
|
|
|
|
|
|
|
| 279 |
|
| 280 |
# Display raw predictions
|
| 281 |
st.write(f"**Predicted Sentiment Scores:** {predictions_array}")
|
|
|
|
| 249 |
|
| 250 |
# model, tokenizer = load_model()
|
| 251 |
# model, tokenizer = load_selected_model(selected_model)
|
|
|
|
|
|
|
|
|
|
| 252 |
|
| 253 |
+
col_spinner, col_warning = st.columns(2)
|
| 254 |
+
with col_warning:
|
| 255 |
+
warning_placeholder = st.empty()
|
| 256 |
+
warning_placeholder.warning("Don't change the text data or any input parameters or switch models or pages while inference is loading...")
|
| 257 |
|
| 258 |
+
with col_spinner:
|
| 259 |
+
with st.spinner("Please wait, inference is loading..."):
|
| 260 |
+
model, tokenizer, predict_func = load_selected_model(selected_model)
|
| 261 |
+
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
| 262 |
|
| 263 |
+
if model is None:
|
| 264 |
+
st.error(
|
| 265 |
+
"⚠️ Error: Model failed to load! Check model selection or configuration.")
|
| 266 |
+
st.stop()
|
| 267 |
|
| 268 |
+
# model.to(device)
|
| 269 |
+
if hasattr(model, "to"):
|
| 270 |
+
model.to(device)
|
| 271 |
|
| 272 |
+
# predictions = predict(user_input, model, tokenizer, device)
|
|
|
|
| 273 |
|
| 274 |
+
predictions = predict_func(user_input, model, tokenizer, device)
|
| 275 |
+
|
| 276 |
+
# Squeeze predictions to remove extra dimensions
|
| 277 |
+
predictions_array = predictions.squeeze()
|
| 278 |
+
|
| 279 |
+
# Convert to binary predictions (argmax)
|
| 280 |
+
binary_predictions = np.zeros_like(predictions_array)
|
| 281 |
+
max_indices = np.argmax(predictions_array)
|
| 282 |
+
binary_predictions[max_indices] = 1
|
| 283 |
|
| 284 |
# Update progress bar for prediction and model loading
|
| 285 |
+
update_progress(progress_bar, 10, 100)
|
| 286 |
+
|
| 287 |
+
warning_placeholder.empty()
|
| 288 |
|
| 289 |
# Display raw predictions
|
| 290 |
st.write(f"**Predicted Sentiment Scores:** {predictions_array}")
|
transformation_and_Normalization/transformationNormalization_main.py
CHANGED
|
@@ -8,9 +8,17 @@ from imports import *
|
|
| 8 |
import os
|
| 9 |
import sys
|
| 10 |
import time
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
|
| 12 |
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), )))
|
| 13 |
|
|
|
|
|
|
|
| 14 |
# from transformers.utils import move_cache_to_trash
|
| 15 |
# from huggingface_hub import delete_cache
|
| 16 |
|
|
@@ -34,6 +42,17 @@ current_tokenizer = None
|
|
| 34 |
|
| 35 |
# Enabling Resource caching
|
| 36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
|
| 38 |
# @st.cache_resource
|
| 39 |
def load_model_config():
|
|
@@ -175,10 +194,17 @@ def update_progress(progress_bar, start, end, delay=0.1):
|
|
| 175 |
|
| 176 |
# Function to update session state when model changes
|
| 177 |
def on_model_change():
|
|
|
|
| 178 |
st.cache_resource.clear()
|
| 179 |
free_memory()
|
| 180 |
st.session_state.model_changed = True # Mark model as changed
|
| 181 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 182 |
|
| 183 |
# Function to update session state when text changes
|
| 184 |
|
|
@@ -186,14 +212,70 @@ def on_model_change():
|
|
| 186 |
def on_text_change():
|
| 187 |
st.session_state.text_changed = True # Mark text as changed
|
| 188 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 189 |
|
| 190 |
def update_top_k_from_slider():
|
| 191 |
st.session_state.top_k = st.session_state.top_k_slider
|
| 192 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 193 |
|
| 194 |
def update_top_k_from_input():
|
| 195 |
st.session_state.top_k = st.session_state.top_k_input
|
| 196 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 197 |
|
| 198 |
# Initialize session state variables
|
| 199 |
if "selected_model" not in st.session_state:
|
|
@@ -256,24 +338,28 @@ def transform_and_normalize():
|
|
| 256 |
"Enter text for emotions mood-tag analysis:", key="user_input_stage3", on_change=on_text_change
|
| 257 |
)
|
| 258 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 259 |
st.markdown("#### Generation Parameters")
|
| 260 |
col1, col2 = st.columns(2)
|
| 261 |
|
| 262 |
with col1:
|
| 263 |
-
use_beam = st.checkbox("Use Beam Search", value=False)
|
| 264 |
if use_beam:
|
| 265 |
-
beams = st.number_input("Number of beams:", min_value=1, max_value=10, value=3, step=1)
|
| 266 |
do_sample = False
|
| 267 |
temp = None
|
| 268 |
top_p = None
|
| 269 |
top_k = None
|
| 270 |
else:
|
| 271 |
beams = None
|
| 272 |
-
do_sample = st.checkbox("Enable Sampling", value=True)
|
| 273 |
-
temp = st.slider("Temperature:", min_value=0.1, max_value=2.0, value=0.4, step=0.1) if do_sample else None
|
| 274 |
|
| 275 |
with col2:
|
| 276 |
-
top_p = st.slider("Top-p (nucleus sampling):", min_value=0.0, max_value=1.0, value=0.9, step=0.05) if (not use_beam and do_sample) else None
|
| 277 |
model_config = MODEL_OPTIONS[selected_model]
|
| 278 |
max_top_k = model_config.get("max_top_k", 50)
|
| 279 |
if not use_beam and do_sample:
|
|
@@ -305,8 +391,8 @@ def transform_and_normalize():
|
|
| 305 |
|
| 306 |
col_tokens, col_return = st.columns(2)
|
| 307 |
with col_tokens:
|
| 308 |
-
max_new_tokens = st.number_input("Max New Tokens:", min_value=1, value=1024, step=1)
|
| 309 |
-
early_stopping = st.checkbox("Early Stopping", value=True)
|
| 310 |
with col_return:
|
| 311 |
if beams is not None:
|
| 312 |
num_return_sequences = st.number_input(
|
|
@@ -314,7 +400,8 @@ def transform_and_normalize():
|
|
| 314 |
min_value=1,
|
| 315 |
max_value=beams,
|
| 316 |
value=1,
|
| 317 |
-
step=1
|
|
|
|
| 318 |
)
|
| 319 |
else:
|
| 320 |
num_return_sequences = st.number_input(
|
|
@@ -322,39 +409,51 @@ def transform_and_normalize():
|
|
| 322 |
min_value=1,
|
| 323 |
max_value=3,
|
| 324 |
value=1,
|
| 325 |
-
step=1
|
|
|
|
| 326 |
)
|
| 327 |
user_input_copy = user_input
|
| 328 |
|
| 329 |
current_time = time.time()
|
| 330 |
-
if user_input.strip() and (current_time - st.session_state.last_change >= 1.25):
|
| 331 |
st.session_state.last_processed_input = user_input
|
| 332 |
|
| 333 |
progress_bar = st.progress(0)
|
| 334 |
update_progress(progress_bar, 0, 10)
|
| 335 |
-
|
| 336 |
-
|
| 337 |
-
|
| 338 |
-
|
| 339 |
-
|
| 340 |
-
|
| 341 |
-
|
| 342 |
-
|
| 343 |
-
|
| 344 |
-
|
| 345 |
-
|
| 346 |
-
|
| 347 |
-
|
| 348 |
-
|
| 349 |
-
|
| 350 |
-
|
| 351 |
-
|
| 352 |
-
|
| 353 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 354 |
update_progress(progress_bar, 10, 100)
|
| 355 |
-
|
|
|
|
|
|
|
|
|
|
| 356 |
if len(predictions) > 1:
|
| 357 |
-
st.write("### Predictions:")
|
| 358 |
for i, pred in enumerate(predictions, start=1):
|
| 359 |
st.markdown(f"**Prediction Sequence {i}:** {pred}")
|
| 360 |
else:
|
|
@@ -363,6 +462,71 @@ def transform_and_normalize():
|
|
| 363 |
progress_bar.empty()
|
| 364 |
# else:
|
| 365 |
# st.info("Waiting for input to settle...")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 366 |
|
| 367 |
if __name__ == "__main__":
|
| 368 |
transform_and_normalize()
|
|
@@ -370,6 +534,11 @@ if __name__ == "__main__":
|
|
| 370 |
|
| 371 |
|
| 372 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 373 |
# # Main function to show the app
|
| 374 |
# def transform_and_normalize():
|
| 375 |
|
|
|
|
| 8 |
import os
|
| 9 |
import sys
|
| 10 |
import time
|
| 11 |
+
import uuid
|
| 12 |
+
|
| 13 |
+
from dotenv import load_dotenv
|
| 14 |
+
import psycopg2
|
| 15 |
+
from supabase import create_client, Client
|
| 16 |
+
from datetime import datetime, timezone
|
| 17 |
|
| 18 |
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), )))
|
| 19 |
|
| 20 |
+
env_path = os.path.join(os.path.dirname(__file__), "..", ".devcontainer", ".env")
|
| 21 |
+
|
| 22 |
# from transformers.utils import move_cache_to_trash
|
| 23 |
# from huggingface_hub import delete_cache
|
| 24 |
|
|
|
|
| 42 |
|
| 43 |
# Enabling Resource caching
|
| 44 |
|
| 45 |
+
# Load environment variables from .env
|
| 46 |
+
# load_dotenv()
|
| 47 |
+
|
| 48 |
+
# @st.cache_resource
|
| 49 |
+
# DATABASE_URL = os.environ.get("DATABASE_URL")
|
| 50 |
+
|
| 51 |
+
# def get_connection():
|
| 52 |
+
# # """Establish a connection to the database."""
|
| 53 |
+
# # return psycopg2.connect(os.environ.get("DATABASE_URL"))
|
| 54 |
+
# supabase: Client = create_client(os.environ.get("SUPABASE_URL"), os.environ.get("anon_key"))
|
| 55 |
+
# return supabase
|
| 56 |
|
| 57 |
# @st.cache_resource
|
| 58 |
def load_model_config():
|
|
|
|
| 194 |
|
| 195 |
# Function to update session state when model changes
|
| 196 |
def on_model_change():
|
| 197 |
+
st.cache_data.clear()
|
| 198 |
st.cache_resource.clear()
|
| 199 |
free_memory()
|
| 200 |
st.session_state.model_changed = True # Mark model as changed
|
| 201 |
|
| 202 |
+
# Reset flags to trigger new prediction and show feedback form
|
| 203 |
+
st.session_state.prediction_generated = False
|
| 204 |
+
st.session_state.feedback_submitted = False
|
| 205 |
+
st.session_state.predictions = None
|
| 206 |
+
st.session_state.last_processed_input = ""
|
| 207 |
+
|
| 208 |
|
| 209 |
# Function to update session state when text changes
|
| 210 |
|
|
|
|
| 212 |
def on_text_change():
|
| 213 |
st.session_state.text_changed = True # Mark text as changed
|
| 214 |
|
| 215 |
+
st.session_state.prediction_generated = False
|
| 216 |
+
st.session_state.feedback_submitted = False
|
| 217 |
+
st.session_state.predictions = None
|
| 218 |
+
# st.session_state.last_processed_input = ""
|
| 219 |
+
|
| 220 |
|
| 221 |
def update_top_k_from_slider():
|
| 222 |
st.session_state.top_k = st.session_state.top_k_slider
|
| 223 |
|
| 224 |
+
st.session_state.prediction_generated = False
|
| 225 |
+
st.session_state.feedback_submitted = False
|
| 226 |
+
st.session_state.predictions = None
|
| 227 |
+
# st.session_state.last_processed_input = ""
|
| 228 |
+
|
| 229 |
|
| 230 |
def update_top_k_from_input():
|
| 231 |
st.session_state.top_k = st.session_state.top_k_input
|
| 232 |
|
| 233 |
+
st.session_state.prediction_generated = False
|
| 234 |
+
st.session_state.feedback_submitted = False
|
| 235 |
+
st.session_state.predictions = None
|
| 236 |
+
# st.session_state.last_processed_input = ""
|
| 237 |
+
|
| 238 |
+
def on_temperature_change():
|
| 239 |
+
st.session_state.prediction_generated = False
|
| 240 |
+
st.session_state.feedback_submitted = False
|
| 241 |
+
st.session_state.predictions = None
|
| 242 |
+
# st.session_state.last_processed_input = ""
|
| 243 |
+
|
| 244 |
+
def on_top_p_change():
|
| 245 |
+
st.session_state.prediction_generated = False
|
| 246 |
+
st.session_state.feedback_submitted = False
|
| 247 |
+
st.session_state.predictions = None
|
| 248 |
+
# st.session_state.last_processed_input = ""
|
| 249 |
+
|
| 250 |
+
def on_beam_checkbox_change():
|
| 251 |
+
st.session_state.prediction_generated = False
|
| 252 |
+
st.session_state.feedback_submitted = False
|
| 253 |
+
st.session_state.predictions = None
|
| 254 |
+
# st.session_state.last_processed_input = ""
|
| 255 |
+
|
| 256 |
+
def on_enable_sampling_checkbox_change():
|
| 257 |
+
st.session_state.prediction_generated = False
|
| 258 |
+
st.session_state.feedback_submitted = False
|
| 259 |
+
st.session_state.predictions = None
|
| 260 |
+
# st.session_state.last_processed_input = ""
|
| 261 |
+
|
| 262 |
+
def on_enable_earlyStopping_checkbox_change():
|
| 263 |
+
st.session_state.prediction_generated = False
|
| 264 |
+
st.session_state.feedback_submitted = False
|
| 265 |
+
st.session_state.predictions = None
|
| 266 |
+
# st.session_state.last_processed_input = ""
|
| 267 |
+
|
| 268 |
+
def on_max_new_tokens_change():
|
| 269 |
+
st.session_state.prediction_generated = False
|
| 270 |
+
st.session_state.feedback_submitted = False
|
| 271 |
+
st.session_state.predictions = None
|
| 272 |
+
# st.session_state.last_processed_input = ""
|
| 273 |
+
|
| 274 |
+
def on_num_return_sequences_change():
|
| 275 |
+
st.session_state.prediction_generated = False
|
| 276 |
+
st.session_state.feedback_submitted = False
|
| 277 |
+
st.session_state.predictions = None
|
| 278 |
+
# st.session_state.last_processed_input = ""
|
| 279 |
|
| 280 |
# Initialize session state variables
|
| 281 |
if "selected_model" not in st.session_state:
|
|
|
|
| 338 |
"Enter text for emotions mood-tag analysis:", key="user_input_stage3", on_change=on_text_change
|
| 339 |
)
|
| 340 |
|
| 341 |
+
if st.session_state.get("last_processed_input", "") != user_input:
|
| 342 |
+
st.session_state.prediction_generated = False
|
| 343 |
+
st.session_state.feedback_submitted = False
|
| 344 |
+
|
| 345 |
st.markdown("#### Generation Parameters")
|
| 346 |
col1, col2 = st.columns(2)
|
| 347 |
|
| 348 |
with col1:
|
| 349 |
+
use_beam = st.checkbox("Use Beam Search", value=False, on_change=on_beam_checkbox_change)
|
| 350 |
if use_beam:
|
| 351 |
+
beams = st.number_input("Number of beams:", min_value=1, max_value=10, value=3, step=1, on_change=on_beam_checkbox_change)
|
| 352 |
do_sample = False
|
| 353 |
temp = None
|
| 354 |
top_p = None
|
| 355 |
top_k = None
|
| 356 |
else:
|
| 357 |
beams = None
|
| 358 |
+
do_sample = st.checkbox("Enable Sampling", value=True, on_change=on_enable_sampling_checkbox_change)
|
| 359 |
+
temp = st.slider("Temperature:", min_value=0.1, max_value=2.0, value=0.4, step=0.1, on_change=on_temperature_change) if do_sample else None
|
| 360 |
|
| 361 |
with col2:
|
| 362 |
+
top_p = st.slider("Top-p (nucleus sampling):", min_value=0.0, max_value=1.0, value=0.9, step=0.05, on_change=on_top_p_change) if (not use_beam and do_sample) else None
|
| 363 |
model_config = MODEL_OPTIONS[selected_model]
|
| 364 |
max_top_k = model_config.get("max_top_k", 50)
|
| 365 |
if not use_beam and do_sample:
|
|
|
|
| 391 |
|
| 392 |
col_tokens, col_return = st.columns(2)
|
| 393 |
with col_tokens:
|
| 394 |
+
max_new_tokens = st.number_input("Max New Tokens:", min_value=1, value=1024, step=1, on_change=on_max_new_tokens_change)
|
| 395 |
+
early_stopping = st.checkbox("Early Stopping", value=True, on_change=on_enable_earlyStopping_checkbox_change)
|
| 396 |
with col_return:
|
| 397 |
if beams is not None:
|
| 398 |
num_return_sequences = st.number_input(
|
|
|
|
| 400 |
min_value=1,
|
| 401 |
max_value=beams,
|
| 402 |
value=1,
|
| 403 |
+
step=1,
|
| 404 |
+
on_change=on_num_return_sequences_change
|
| 405 |
)
|
| 406 |
else:
|
| 407 |
num_return_sequences = st.number_input(
|
|
|
|
| 409 |
min_value=1,
|
| 410 |
max_value=3,
|
| 411 |
value=1,
|
| 412 |
+
step=1,
|
| 413 |
+
on_change=on_num_return_sequences_change
|
| 414 |
)
|
| 415 |
user_input_copy = user_input
|
| 416 |
|
| 417 |
current_time = time.time()
|
| 418 |
+
if user_input.strip() and (current_time - st.session_state.last_change >= 1.25) and st.session_state.get("prediction_generated", False) is False:
|
| 419 |
st.session_state.last_processed_input = user_input
|
| 420 |
|
| 421 |
progress_bar = st.progress(0)
|
| 422 |
update_progress(progress_bar, 0, 10)
|
| 423 |
+
col_spinner, col_warning = st.columns(2)
|
| 424 |
+
|
| 425 |
+
with col_warning:
|
| 426 |
+
warning_placeholder = st.empty()
|
| 427 |
+
warning_placeholder.warning("Don't change the text data or any input parameters or switch models or pages while inference is loading...")
|
| 428 |
+
|
| 429 |
+
with col_spinner:
|
| 430 |
+
with st.spinner("Please wait, inference is loading..."):
|
| 431 |
+
model, tokenizer, predict_func = load_selected_model(selected_model)
|
| 432 |
+
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
| 433 |
+
if model is None:
|
| 434 |
+
st.error("⚠️ Error: Model failed to load!")
|
| 435 |
+
st.stop()
|
| 436 |
+
if hasattr(model, "to"):
|
| 437 |
+
model.to(device)
|
| 438 |
+
predictions = predict_func(
|
| 439 |
+
model, tokenizer, user_input, device,
|
| 440 |
+
num_return_sequences,
|
| 441 |
+
beams,
|
| 442 |
+
do_sample,
|
| 443 |
+
temp,
|
| 444 |
+
top_p,
|
| 445 |
+
final_top_k,
|
| 446 |
+
max_new_tokens,
|
| 447 |
+
early_stopping
|
| 448 |
+
)
|
| 449 |
+
|
| 450 |
update_progress(progress_bar, 10, 100)
|
| 451 |
+
|
| 452 |
+
warning_placeholder.empty()
|
| 453 |
+
|
| 454 |
+
st.session_state.predictions = predictions
|
| 455 |
if len(predictions) > 1:
|
| 456 |
+
st.write("### Most Probable Predictions:")
|
| 457 |
for i, pred in enumerate(predictions, start=1):
|
| 458 |
st.markdown(f"**Prediction Sequence {i}:** {pred}")
|
| 459 |
else:
|
|
|
|
| 462 |
progress_bar.empty()
|
| 463 |
# else:
|
| 464 |
# st.info("Waiting for input to settle...")
|
| 465 |
+
|
| 466 |
+
# Mark that a prediction has been generated
|
| 467 |
+
st.session_state.prediction_generated = True
|
| 468 |
+
|
| 469 |
+
else:
|
| 470 |
+
# If predictions are already generated, display the stored ones
|
| 471 |
+
if st.session_state.get("predictions"):
|
| 472 |
+
predictions = st.session_state.predictions
|
| 473 |
+
if len(predictions) > 1:
|
| 474 |
+
st.write("### Most Probable Predictions:")
|
| 475 |
+
for i, pred in enumerate(predictions, start=1):
|
| 476 |
+
st.markdown(f"**Prediction Sequence {i}:** {pred}")
|
| 477 |
+
else:
|
| 478 |
+
st.write("### Predicted Sequence:")
|
| 479 |
+
st.write(predictions[0])
|
| 480 |
+
|
| 481 |
+
# Only show the feedback form if a prediction has been generated
|
| 482 |
+
if st.session_state.get("prediction_generated", False):
|
| 483 |
+
if not st.session_state.get("feedback_submitted", False):
|
| 484 |
+
with st.form("feedback_form", clear_on_submit=True, border=False):
|
| 485 |
+
st.error("New API keys are coming in Q2 2025, May 1st, old API authentication will be deprecated and blocked by Postgrest.")
|
| 486 |
+
st.warning("This form and database are running in test mode, please be careful with your data.")
|
| 487 |
+
st.write("### Data Collection Form")
|
| 488 |
+
st.write("#### If the predictions generated are wrong, please provide feedback to help improve the model.")
|
| 489 |
+
col1, col2 = st.columns(2)
|
| 490 |
+
with col1:
|
| 491 |
+
feedback = st.text_input(
|
| 492 |
+
"Enter the correct expanded standard formal English text:",
|
| 493 |
+
key="feedback_input"
|
| 494 |
+
)
|
| 495 |
+
with col2:
|
| 496 |
+
feedback2 = st.text_input(
|
| 497 |
+
"Enter any one of the wrongly predicted text:",
|
| 498 |
+
key="feedback_input2"
|
| 499 |
+
)
|
| 500 |
+
submit_feedback = st.form_submit_button("Submit Feedback")
|
| 501 |
+
if submit_feedback and feedback.strip() and feedback2.strip():
|
| 502 |
+
data_to_insert = {
|
| 503 |
+
# "id" : str(uuid.uuid4()), # text
|
| 504 |
+
# "created_at": datetime.now(timezone.utc).isoformat(), # timestamp
|
| 505 |
+
"input_text": user_input, # text
|
| 506 |
+
"correct_text_by_user": feedback, # text
|
| 507 |
+
"model_used": selected_model, # text
|
| 508 |
+
"wrong_pred_any": feedback2 if feedback2.strip() else ""
|
| 509 |
+
}
|
| 510 |
+
# Here we use the supabase client already created above
|
| 511 |
+
# supabase = get_connection()
|
| 512 |
+
# load_dotenv()
|
| 513 |
+
# print("SUPABASE_URL:", os.environ.get("SUPABASE_URL"))
|
| 514 |
+
# print("anon_key:", os.environ.get("anon_key"))
|
| 515 |
+
# print("table3_name:", os.environ.get("table3_name"))
|
| 516 |
+
# load_dotenv(dotenv_path=env_path)
|
| 517 |
+
load_dotenv()
|
| 518 |
+
# supabase: Client = create_client(os.environ.get("SUPABASE_URL"), os.environ.get("anon_key"))
|
| 519 |
+
# response = supabase.table(os.environ.get("table3_name")).insert(data_to_insert, returning="minimal").execute()
|
| 520 |
+
try:
|
| 521 |
+
supabase: Client = create_client(os.environ.get("SUPABASE_DB_TACHYGRAPHY_DB_URL"), os.environ.get("SUPABASE_DB_TACHYGRAPHY_ANON_API_KEY"))
|
| 522 |
+
response = supabase.table("SUPABASE_DB_TACHYGRAPHY_DB_STAGE3_TABLE").insert(data_to_insert, returning="minimal").execute()
|
| 523 |
+
st.success("Feedback submitted successfully!")
|
| 524 |
+
st.session_state.feedback_submitted = True
|
| 525 |
+
except Exception as e:
|
| 526 |
+
st.error(f"Feedback submission failed: {e}")
|
| 527 |
+
|
| 528 |
+
else:
|
| 529 |
+
st.info("Feedback already submitted for this prediction.")
|
| 530 |
|
| 531 |
if __name__ == "__main__":
|
| 532 |
transform_and_normalize()
|
|
|
|
| 534 |
|
| 535 |
|
| 536 |
|
| 537 |
+
|
| 538 |
+
|
| 539 |
+
|
| 540 |
+
|
| 541 |
+
|
| 542 |
# # Main function to show the app
|
| 543 |
# def transform_and_normalize():
|
| 544 |
|