AzefAziz commited on
Commit
d6b6614
·
verified ·
1 Parent(s): bc5c13b

Upload 3 files

Browse files
Files changed (3) hide show
  1. app .py +71 -0
  2. export.pkl +3 -0
  3. requirements.txt +662 -0
app .py ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import tensorflow as tf
2
+ import numpy as np
3
+ from PIL import Image
4
+ import gradio as gr
5
+ import pickle
6
+ import os
7
+
8
+ # Define image dimensions (must match training dimensions)
9
+ img_height = 224
10
+ img_width = 224
11
+
12
+ # Load the trained Keras model from export.pkl
13
+ # Ensure 'export.pkl' is in the same directory as app.py
14
+ try:
15
+ with open('export.pkl', 'rb') as file:
16
+ model = pickle.load(file)
17
+ print("Model loaded from 'export.pkl' successfully.")
18
+ except FileNotFoundError:
19
+ print("Error: 'export.pkl' not found. Make sure the model file exists.")
20
+ exit()
21
+ except Exception as e:
22
+ print(f"Error loading model: {e}")
23
+ exit()
24
+
25
+ # Define the class indices mapping explicitly
26
+ # This needs to match the order used by ImageDataGenerator during training
27
+ class_indices_map = {'Non Venomous': 0, 'Venomous': 1}
28
+ # Reverse the map to get class names from indices for prediction output
29
+ label_map = {v: k for k, v in class_indices_map.items()}
30
+
31
+ def predict_snake_class(img):
32
+ # 1. Convert to PIL Image (if not already) and resize
33
+ if not isinstance(img, Image.Image):
34
+ img = Image.fromarray(img)
35
+ img = img.resize((img_width, img_height))
36
+
37
+ # 2. Convert to NumPy array
38
+ img_array = np.array(img)
39
+
40
+ # 3. Normalize the image
41
+ img_array = img_array / 255.0
42
+
43
+ # 4. Expand dimensions to create a batch
44
+ img_array = np.expand_dims(img_array, axis=0)
45
+
46
+ # 5. Make a prediction
47
+ predictions = model.predict(img_array)
48
+
49
+ # 6. Determine the predicted class and confidence
50
+ predicted_class_index = np.argmax(predictions[0])
51
+ confidence_score = predictions[0][predicted_class_index]
52
+
53
+ predicted_class_name = label_map[predicted_class_index]
54
+
55
+ # Format output for Gradio Label component
56
+ return {label_map[i]: float(predictions[0][i]) for i in range(len(label_map))}
57
+
58
+
59
+ # Set up the Gradio interface
60
+ iface = gr.Interface(
61
+ fn=predict_snake_class, # Our prediction function
62
+ inputs=gr.Image(type="pil", label="Upload Snake Image"), # Input is an image
63
+ outputs=gr.Label(num_top_classes=2), # Output is a label with top 2 classes
64
+ title="Snake Classification Model",
65
+ description="Upload an image of a snake to predict if it's Non Venomous or Venomous.",
66
+ live=True
67
+ )
68
+
69
+ # Launch the interface
70
+ iface.launch(share=True)
71
+ print("Gradio interface script created in app.py.")
export.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:26058275b8206b5c946fec15f7b4123e0c8ce9b2c1c3baf33810b7cde70ee773
3
+ size 21877586
requirements.txt ADDED
@@ -0,0 +1,662 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ absl-py==1.4.0
2
+ accelerate==1.12.0
3
+ access==1.1.10.post3
4
+ affine==2.4.0
5
+ aiofiles==24.1.0
6
+ aiohappyeyeballs==2.6.1
7
+ aiohttp==3.13.3
8
+ aiosignal==1.4.0
9
+ aiosqlite==0.22.1
10
+ alabaster==1.0.0
11
+ albucore==0.0.24
12
+ albumentations==2.0.8
13
+ ale-py==0.11.2
14
+ alembic==1.18.4
15
+ altair==5.5.0
16
+ annotated-doc==0.0.4
17
+ annotated-types==0.7.0
18
+ antlr4-python3-runtime==4.9.3
19
+ anyio==4.12.1
20
+ anywidget==0.9.21
21
+ apsw==3.51.2.0
22
+ apswutils==0.1.2
23
+ argon2-cffi==25.1.0
24
+ argon2-cffi-bindings==25.1.0
25
+ array_record==0.8.3
26
+ arrow==1.4.0
27
+ arviz==0.22.0
28
+ astropy==7.2.0
29
+ astropy-iers-data==0.2026.2.23.0.48.33
30
+ astunparse==1.6.3
31
+ atpublic==5.1
32
+ attrs==25.4.0
33
+ audioread==3.1.0
34
+ Authlib==1.6.8
35
+ autograd==1.8.0
36
+ babel==2.18.0
37
+ backcall==0.2.0
38
+ beartype==0.22.9
39
+ beautifulsoup4==4.13.5
40
+ betterproto==2.0.0b6
41
+ bigframes==2.35.0
42
+ bigquery-magics==0.10.3
43
+ bleach==6.3.0
44
+ blinker==1.9.0
45
+ blis==1.3.3
46
+ blobfile==3.2.0
47
+ blosc2==4.0.0
48
+ bokeh==3.8.2
49
+ Bottleneck==1.4.2
50
+ bqplot==0.12.45
51
+ branca==0.8.2
52
+ brotli==1.2.0
53
+ CacheControl==0.14.4
54
+ cachetools==6.2.6
55
+ catalogue==2.0.10
56
+ certifi==2026.1.4
57
+ cffi==2.0.0
58
+ chardet==5.2.0
59
+ charset-normalizer==3.4.4
60
+ clarabel==0.11.1
61
+ click==8.3.1
62
+ click-plugins==1.1.1.2
63
+ cligj==0.7.2
64
+ cloudpathlib==0.23.0
65
+ cloudpickle==3.1.2
66
+ cmake==3.31.10
67
+ cmdstanpy==1.3.0
68
+ colorcet==3.1.0
69
+ colorlover==0.3.0
70
+ colour==0.1.5
71
+ community==1.0.0b1
72
+ confection==0.1.5
73
+ cons==0.4.7
74
+ contourpy==1.3.3
75
+ cramjam==2.11.0
76
+ cryptography==43.0.3
77
+ cufflinks==0.17.3
78
+ curl_cffi==0.14.0
79
+ cvxopt==1.3.2
80
+ cvxpy==1.6.7
81
+ cycler==0.12.1
82
+ cyipopt==1.5.0
83
+ cymem==2.0.13
84
+ Cython==3.0.12
85
+ dask==2026.1.2
86
+ dataproc-spark-connect==1.0.2
87
+ datasets==4.0.0
88
+ db-dtypes==1.5.0
89
+ dbus-python==1.2.18
90
+ debugpy==1.8.15
91
+ decorator==4.4.2
92
+ defusedxml==0.7.1
93
+ deprecation==2.1.0
94
+ diffusers==0.36.0
95
+ dill==0.3.8
96
+ distro==1.9.0
97
+ dlib==19.24.6
98
+ dm-tree==0.1.9
99
+ docstring_parser==0.17.0
100
+ docutils==0.21.2
101
+ dopamine_rl==4.1.2
102
+ duckdb==1.3.2
103
+ earthengine-api==1.5.24
104
+ easydict==1.13
105
+ editdistance==0.8.1
106
+ eerepr==0.1.2
107
+ einops==0.8.2
108
+ en_core_web_sm @ https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.8.0/en_core_web_sm-3.8.0-py3-none-any.whl#sha256=1932429db727d4bff3deed6b34cfc05df17794f4a52eeb26cf8928f7c1a0fb85
109
+ entrypoints==0.4
110
+ esda==2.8.1
111
+ et_xmlfile==2.0.0
112
+ etils==1.13.0
113
+ etuples==0.3.10
114
+ Farama-Notifications==0.0.4
115
+ fastai==2.8.7
116
+ fastapi==0.133.0
117
+ fastcore==1.12.16
118
+ fastdownload==0.0.7
119
+ fastjsonschema==2.21.2
120
+ fastlite==0.2.4
121
+ fastprogress==1.1.5
122
+ fasttransform==0.0.2
123
+ ffmpy==1.0.0
124
+ filelock==3.24.3
125
+ fiona==1.10.1
126
+ firebase-admin==6.9.0
127
+ Flask==3.1.3
128
+ flatbuffers==25.12.19
129
+ flax==0.11.2
130
+ folium==0.20.0
131
+ fonttools==4.61.1
132
+ fqdn==1.5.1
133
+ frozendict==2.4.7
134
+ frozenlist==1.8.0
135
+ fsspec==2025.3.0
136
+ future==1.0.0
137
+ gast==0.7.0
138
+ gcsfs==2025.3.0
139
+ GDAL==3.8.4
140
+ gdown==5.2.1
141
+ geemap==0.35.3
142
+ geocoder==1.38.1
143
+ geographiclib==2.1
144
+ geopandas==1.1.2
145
+ geopy==2.4.1
146
+ giddy==2.3.8
147
+ gin-config==0.5.0
148
+ gitdb==4.0.12
149
+ GitPython==3.1.46
150
+ glob2==0.7
151
+ google==3.0.0
152
+ google-adk==1.25.1
153
+ google-ai-generativelanguage==0.6.15
154
+ google-api-core==2.30.0
155
+ google-api-python-client==2.190.0
156
+ google-auth==2.47.0
157
+ google-auth-httplib2==0.3.0
158
+ google-auth-oauthlib==1.2.4
159
+ google-cloud-aiplatform==1.138.0
160
+ google-cloud-appengine-logging==1.8.0
161
+ google-cloud-audit-log==0.4.0
162
+ google-cloud-bigquery==3.40.1
163
+ google-cloud-bigquery-connection==1.20.0
164
+ google-cloud-bigquery-storage==2.36.2
165
+ google-cloud-bigtable==2.35.0
166
+ google-cloud-core==2.5.0
167
+ google-cloud-dataproc==5.25.0
168
+ google-cloud-datastore==2.23.0
169
+ google-cloud-discoveryengine==0.13.12
170
+ google-cloud-firestore==2.23.0
171
+ google-cloud-functions==1.22.0
172
+ google-cloud-iam==2.21.0
173
+ google-cloud-language==2.19.0
174
+ google-cloud-logging==3.13.0
175
+ google-cloud-monitoring==2.29.1
176
+ google-cloud-pubsub==2.35.0
177
+ google-cloud-resource-manager==1.16.0
178
+ google-cloud-secret-manager==2.26.0
179
+ google-cloud-spanner==3.63.0
180
+ google-cloud-speech==2.36.1
181
+ google-cloud-storage==3.9.0
182
+ google-cloud-trace==1.18.0
183
+ google-cloud-translate==3.24.0
184
+ google-colab @ file:///colabtools/dist/google_colab-1.0.0.tar.gz
185
+ google-crc32c==1.8.0
186
+ google-genai==1.64.0
187
+ google-generativeai==0.8.6
188
+ google-pasta==0.2.0
189
+ google-resumable-media==2.8.0
190
+ googleapis-common-protos==1.72.0
191
+ googledrivedownloader==1.1.0
192
+ gradio==5.50.0
193
+ gradio_client==1.14.0
194
+ grain==0.2.15
195
+ graphviz==0.21
196
+ greenlet==3.3.2
197
+ groovy==0.1.2
198
+ grpc-google-iam-v1==0.14.3
199
+ grpc-interceptor==0.15.4
200
+ grpcio==1.78.1
201
+ grpcio-status==1.71.2
202
+ grpclib==0.4.9
203
+ gspread==6.2.1
204
+ gspread-dataframe==4.0.0
205
+ gym==0.25.2
206
+ gym-notices==0.1.0
207
+ gymnasium==1.2.3
208
+ h11==0.16.0
209
+ h2==4.3.0
210
+ h5netcdf==1.8.1
211
+ h5py==3.15.1
212
+ hdbscan==0.8.41
213
+ hf-xet==1.3.0
214
+ highspy==1.13.1
215
+ holidays==0.91
216
+ holoviews==1.22.1
217
+ hpack==4.1.0
218
+ html5lib==1.1
219
+ httpcore==1.0.9
220
+ httpimport==1.4.1
221
+ httplib2==0.31.2
222
+ httptools==0.7.1
223
+ httpx==0.28.1
224
+ httpx-sse==0.4.3
225
+ huggingface_hub==1.4.1
226
+ humanize==4.15.0
227
+ hyperframe==6.1.0
228
+ hyperopt==0.2.7
229
+ ibis-framework==9.5.0
230
+ idna==3.11
231
+ ImageIO==2.37.2
232
+ imageio-ffmpeg==0.6.0
233
+ imagesize==1.4.1
234
+ imbalanced-learn==0.14.1
235
+ immutabledict==4.3.1
236
+ importlib_metadata==8.7.1
237
+ importlib_resources==6.5.2
238
+ imutils==0.5.4
239
+ inequality==1.1.2
240
+ inflect==7.5.0
241
+ iniconfig==2.3.0
242
+ intel-cmplr-lib-ur==2025.3.2
243
+ intel-openmp==2025.3.2
244
+ ipyevents==2.0.4
245
+ ipyfilechooser==0.6.0
246
+ ipykernel==6.17.1
247
+ ipyleaflet==0.20.0
248
+ ipyparallel==8.8.0
249
+ ipython==7.34.0
250
+ ipython-genutils==0.2.0
251
+ ipython-sql==0.5.0
252
+ ipytree==0.2.2
253
+ ipywidgets==7.7.1
254
+ isoduration==20.11.0
255
+ itsdangerous==2.2.0
256
+ jaraco.classes==3.4.0
257
+ jaraco.context==6.1.0
258
+ jaraco.functools==4.4.0
259
+ jax==0.7.2
260
+ jaxlib==0.7.2
261
+ jeepney==0.9.0
262
+ jieba==0.42.1
263
+ Jinja2==3.1.6
264
+ jiter==0.13.0
265
+ joblib==1.5.3
266
+ jsonpatch==1.33
267
+ jsonpickle==4.1.1
268
+ jsonpointer==3.0.0
269
+ jsonschema==4.26.0
270
+ jsonschema-specifications==2025.9.1
271
+ jupyter-console==6.6.3
272
+ jupyter-events==0.12.0
273
+ jupyter-leaflet==0.20.0
274
+ jupyter_client==7.4.9
275
+ jupyter_core==5.9.1
276
+ jupyter_kernel_gateway @ git+https://github.com/googlecolab/kernel_gateway@b134e9945df25c2dcb98ade9129399be10788671
277
+ jupyter_server==2.14.0
278
+ jupyter_server_terminals==0.5.4
279
+ jupyterlab_pygments==0.3.0
280
+ jupyterlab_widgets==3.0.16
281
+ jupytext==1.19.1
282
+ kaggle==1.7.4.5
283
+ kagglehub==0.3.13
284
+ keras==3.10.0
285
+ keras-hub==0.21.1
286
+ keras-nlp==0.21.1
287
+ keyring==25.7.0
288
+ keyrings.google-artifactregistry-auth==1.1.2
289
+ kiwisolver==1.4.9
290
+ langchain==1.2.10
291
+ langchain-core==1.2.15
292
+ langgraph==1.0.9
293
+ langgraph-checkpoint==4.0.0
294
+ langgraph-prebuilt==1.0.8
295
+ langgraph-sdk==0.3.9
296
+ langsmith==0.7.6
297
+ lark==1.3.1
298
+ launchpadlib==1.10.16
299
+ lazr.restfulclient==0.14.4
300
+ lazr.uri==1.0.6
301
+ lazy_loader==0.4
302
+ libclang==18.1.1
303
+ libpysal==4.14.1
304
+ librosa==0.11.0
305
+ lightgbm==4.6.0
306
+ linkify-it-py==2.0.3
307
+ llvmlite==0.43.0
308
+ locket==1.0.0
309
+ logical-unification==0.4.7
310
+ lxml==6.0.2
311
+ Mako==1.3.10
312
+ mapclassify==2.10.0
313
+ Markdown==3.10.2
314
+ markdown-it-py==4.0.0
315
+ MarkupSafe==3.0.3
316
+ matplotlib==3.10.0
317
+ matplotlib-inline==0.2.1
318
+ matplotlib-venn==1.1.2
319
+ mcp==1.26.0
320
+ mdit-py-plugins==0.5.0
321
+ mdurl==0.1.2
322
+ mgwr==2.2.1
323
+ miniKanren==1.0.5
324
+ missingno==0.5.2
325
+ mistune==3.2.0
326
+ mizani==0.13.5
327
+ mkl==2025.3.1
328
+ ml_dtypes==0.5.4
329
+ mlxtend==0.23.4
330
+ mmh3==5.2.0
331
+ momepy==0.11.0
332
+ more-itertools==10.8.0
333
+ moviepy==1.0.3
334
+ mpmath==1.3.0
335
+ msgpack==1.1.2
336
+ multidict==6.7.1
337
+ multipledispatch==1.0.0
338
+ multiprocess==0.70.16
339
+ multitasking==0.0.12
340
+ murmurhash==1.0.15
341
+ music21==9.9.1
342
+ namex==0.1.0
343
+ narwhals==2.17.0
344
+ natsort==8.4.0
345
+ nbclassic==1.3.3
346
+ nbclient==0.10.4
347
+ nbconvert==7.17.0
348
+ nbformat==5.10.4
349
+ ndindex==1.10.1
350
+ nest-asyncio==1.6.0
351
+ networkx==3.6.1
352
+ nibabel==5.3.3
353
+ nltk==3.9.1
354
+ notebook==6.5.7
355
+ notebook_shim==0.2.4
356
+ numba==0.60.0
357
+ numexpr==2.14.1
358
+ numpy==2.0.2
359
+ nvidia-nccl-cu12==2.29.3
360
+ oauth2client==4.1.3
361
+ oauthlib==3.3.1
362
+ omegaconf==2.3.0
363
+ onemkl-license==2025.3.1
364
+ openai==2.23.0
365
+ opencv-contrib-python==4.13.0.92
366
+ opencv-python==4.13.0.92
367
+ opencv-python-headless==4.13.0.92
368
+ openpyxl==3.1.5
369
+ opentelemetry-api==1.38.0
370
+ opentelemetry-exporter-gcp-logging==1.11.0a0
371
+ opentelemetry-exporter-gcp-monitoring==1.11.0a0
372
+ opentelemetry-exporter-gcp-trace==1.11.0
373
+ opentelemetry-exporter-otlp-proto-common==1.38.0
374
+ opentelemetry-exporter-otlp-proto-http==1.38.0
375
+ opentelemetry-proto==1.38.0
376
+ opentelemetry-resourcedetector-gcp==1.11.0a0
377
+ opentelemetry-sdk==1.38.0
378
+ opentelemetry-semantic-conventions==0.59b0
379
+ opt_einsum==3.4.0
380
+ optax==0.2.7
381
+ optree==0.19.0
382
+ orbax-checkpoint==0.11.33
383
+ orjson==3.11.7
384
+ ormsgpack==1.12.2
385
+ osqp==1.1.1
386
+ overrides==7.7.0
387
+ packaging==26.0
388
+ pandas==2.2.2
389
+ pandas-datareader==0.10.0
390
+ pandas-gbq==0.30.0
391
+ pandas-stubs==2.2.2.240909
392
+ pandocfilters==1.5.1
393
+ panel==1.8.7
394
+ param==2.3.2
395
+ parso==0.8.6
396
+ parsy==2.2
397
+ partd==1.4.2
398
+ patsy==1.0.2
399
+ peewee==4.0.0
400
+ peft==0.18.1
401
+ pexpect==4.9.0
402
+ pickleshare==0.7.5
403
+ pillow==11.3.0
404
+ platformdirs==4.9.2
405
+ plotly==5.24.1
406
+ plotnine==0.14.5
407
+ pluggy==1.6.0
408
+ plum-dispatch==2.7.1
409
+ pointpats==2.5.5
410
+ polars==1.35.2
411
+ polars-runtime-32==1.35.2
412
+ pooch==1.9.0
413
+ portpicker==1.5.2
414
+ preshed==3.0.12
415
+ prettytable==3.17.0
416
+ proglog==0.1.12
417
+ progressbar2==4.5.0
418
+ prometheus_client==0.24.1
419
+ promise==2.3
420
+ prompt_toolkit==3.0.52
421
+ propcache==0.4.1
422
+ prophet==1.3.0
423
+ proto-plus==1.27.1
424
+ protobuf==5.29.6
425
+ psutil==5.9.5
426
+ psycopg2==2.9.11
427
+ psygnal==0.15.1
428
+ ptyprocess==0.7.0
429
+ PuLP==3.3.0
430
+ py-cpuinfo==9.0.0
431
+ py4j==0.10.9.9
432
+ pyarrow==18.1.0
433
+ pyasn1==0.6.2
434
+ pyasn1_modules==0.4.2
435
+ pycairo==1.29.0
436
+ pycocotools==2.0.11
437
+ pycparser==3.0
438
+ pycryptodomex==3.23.0
439
+ pydantic==2.12.3
440
+ pydantic-settings==2.13.1
441
+ pydantic_core==2.41.4
442
+ pydata-google-auth==1.9.1
443
+ pydot==4.0.1
444
+ pydotplus==2.0.2
445
+ PyDrive2==1.21.3
446
+ pydub==0.25.1
447
+ pyerfa==2.0.1.5
448
+ pygame==2.6.1
449
+ pygit2==1.19.1
450
+ Pygments==2.19.2
451
+ PyGObject==3.48.2
452
+ PyJWT==2.11.0
453
+ pymc==5.28.0
454
+ pynndescent==0.6.0
455
+ pyogrio==0.12.1
456
+ pyomo==6.10.0
457
+ PyOpenGL==3.1.10
458
+ pyOpenSSL==24.2.1
459
+ pyparsing==3.3.2
460
+ pyperclip==1.11.0
461
+ pyproj==3.7.2
462
+ pysal==25.7
463
+ pyshp==3.0.3
464
+ PySocks==1.7.1
465
+ pyspark==4.0.2
466
+ pytensor==2.38.0
467
+ pytest==8.4.2
468
+ python-apt==0.0.0
469
+ python-box==7.4.1
470
+ python-dateutil==2.9.0.post0
471
+ python-dotenv==1.2.1
472
+ python-fasthtml==0.12.47
473
+ python-json-logger==4.0.0
474
+ python-louvain==0.16
475
+ python-multipart==0.0.22
476
+ python-slugify==8.0.4
477
+ python-snappy==0.7.3
478
+ python-utils==3.9.1
479
+ pytz==2025.2
480
+ pyviz_comms==3.0.6
481
+ PyWavelets==1.9.0
482
+ PyYAML==6.0.3
483
+ pyzmq==26.2.1
484
+ quantecon==0.11.0
485
+ rasterio==1.5.0
486
+ rasterstats==0.20.0
487
+ ratelim==0.1.6
488
+ referencing==0.37.0
489
+ regex==2025.11.3
490
+ requests==2.32.4
491
+ requests-oauthlib==2.0.0
492
+ requests-toolbelt==1.0.0
493
+ requirements-parser==0.9.0
494
+ rfc3339-validator==0.1.4
495
+ rfc3986-validator==0.1.1
496
+ rfc3987-syntax==1.1.0
497
+ rich==13.9.4
498
+ roman-numerals==4.1.0
499
+ roman-numerals-py==4.1.0
500
+ rpds-py==0.30.0
501
+ rpy2==3.5.17
502
+ rsa==4.9.1
503
+ rtree==1.4.1
504
+ ruff==0.15.2
505
+ safehttpx==0.1.7
506
+ safetensors==0.7.0
507
+ scikit-image==0.25.2
508
+ scikit-learn==1.6.1
509
+ scipy==1.16.3
510
+ scooby==0.11.0
511
+ scs==3.2.11
512
+ seaborn==0.13.2
513
+ SecretStorage==3.5.0
514
+ segregation==2.5.3
515
+ semantic-version==2.10.0
516
+ Send2Trash==2.1.0
517
+ sentence-transformers==5.2.3
518
+ sentencepiece==0.2.1
519
+ sentry-sdk==2.53.0
520
+ setuptools==75.2.0
521
+ shap==0.50.0
522
+ shapely==2.1.2
523
+ shellingham==1.5.4
524
+ simple-parsing==0.1.8
525
+ simplejson==3.20.2
526
+ simsimd==6.5.13
527
+ six==1.17.0
528
+ sklearn-compat==0.1.5
529
+ sklearn-pandas==2.2.0
530
+ slicer==0.0.8
531
+ smart_open==7.5.1
532
+ smmap==5.0.2
533
+ sniffio==1.3.1
534
+ snowballstemmer==3.0.1
535
+ soundfile==0.13.1
536
+ soupsieve==2.8.3
537
+ soxr==1.0.0
538
+ spacy==3.8.11
539
+ spacy-legacy==3.0.12
540
+ spacy-loggers==1.0.5
541
+ spaghetti==1.7.6
542
+ spanner-graph-notebook==1.1.8
543
+ spglm==1.1.0
544
+ Sphinx==8.2.3
545
+ sphinxcontrib-applehelp==2.0.0
546
+ sphinxcontrib-devhelp==2.0.0
547
+ sphinxcontrib-htmlhelp==2.1.0
548
+ sphinxcontrib-jsmath==1.0.1
549
+ sphinxcontrib-qthelp==2.0.0
550
+ sphinxcontrib-serializinghtml==2.0.0
551
+ spint==1.0.7
552
+ splot==1.1.7
553
+ spopt==0.7.0
554
+ spreg==1.8.5
555
+ SQLAlchemy==2.0.47
556
+ sqlalchemy-spanner==1.17.2
557
+ sqlglot==25.20.2
558
+ sqlparse==0.5.5
559
+ srsly==2.5.2
560
+ sse-starlette==3.2.0
561
+ stanio==0.5.1
562
+ starlette==0.52.1
563
+ statsmodels==0.14.6
564
+ stringzilla==4.6.0
565
+ stumpy==1.13.0
566
+ sympy==1.14.0
567
+ tables==3.10.2
568
+ tabulate==0.9.0
569
+ tbb==2022.3.1
570
+ tcmlib==1.4.1
571
+ tenacity==9.1.4
572
+ tensorboard==2.19.0
573
+ tensorboard-data-server==0.7.2
574
+ tensorflow==2.19.0
575
+ tensorflow-datasets==4.9.9
576
+ tensorflow-hub==0.16.1
577
+ tensorflow-metadata==1.17.3
578
+ tensorflow-probability==0.25.0
579
+ tensorflow-text==2.19.0
580
+ tensorflow_decision_forests==1.12.0
581
+ tensorstore==0.1.81
582
+ termcolor==3.3.0
583
+ terminado==0.18.1
584
+ text-unidecode==1.3
585
+ textblob==0.19.0
586
+ tf-slim==1.1.0
587
+ tf_keras==2.19.0
588
+ thinc==8.3.10
589
+ threadpoolctl==3.6.0
590
+ tifffile==2026.2.20
591
+ tiktoken==0.12.0
592
+ timm==1.0.25
593
+ tinycss2==1.4.0
594
+ tobler==0.13.0
595
+ tokenizers==0.22.2
596
+ toml==0.10.2
597
+ tomlkit==0.13.3
598
+ toolz==0.12.1
599
+ torch @ https://download.pytorch.org/whl/cpu/torch-2.10.0%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl
600
+ torchao==0.10.0
601
+ torchaudio @ https://download.pytorch.org/whl/cpu/torchaudio-2.10.0%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl
602
+ torchcodec @ https://download.pytorch.org/whl/cpu/torchcodec-0.10.0-cp312-cp312-manylinux_2_28_x86_64.whl
603
+ torchdata==0.11.0
604
+ torchsummary==1.5.1
605
+ torchtune==0.6.1
606
+ torchvision @ https://download.pytorch.org/whl/cpu/torchvision-0.25.0%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl
607
+ tornado==6.5.1
608
+ tqdm==4.67.3
609
+ traitlets==5.7.1
610
+ traittypes==0.2.3
611
+ transformers==5.0.0
612
+ treescope==0.1.10
613
+ tsfresh==0.21.1
614
+ tweepy==4.16.0
615
+ typeguard==4.5.1
616
+ typer==0.24.1
617
+ typer-slim==0.24.0
618
+ types-pytz==2025.2.0.20251108
619
+ types-setuptools==80.9.0.20251223
620
+ typing-inspection==0.4.2
621
+ typing_extensions==4.15.0
622
+ tzdata==2025.3
623
+ tzlocal==5.3.1
624
+ uc-micro-py==1.0.3
625
+ umap-learn==0.5.11
626
+ umf==1.0.3
627
+ uri-template==1.3.0
628
+ uritemplate==4.2.0
629
+ urllib3==2.5.0
630
+ uuid_utils==0.14.1
631
+ uvicorn==0.41.0
632
+ uvloop==0.22.1
633
+ vega-datasets==0.9.0
634
+ wadllib==1.3.6
635
+ wandb==0.25.0
636
+ wasabi==1.1.3
637
+ watchdog==6.0.0
638
+ watchfiles==1.1.1
639
+ wcwidth==0.6.0
640
+ weasel==0.4.3
641
+ webcolors==25.10.0
642
+ webencodings==0.5.1
643
+ websocket-client==1.9.0
644
+ websockets==15.0.1
645
+ Werkzeug==3.1.6
646
+ wheel==0.46.3
647
+ widgetsnbextension==3.6.10
648
+ wordcloud==1.9.6
649
+ wrapt==2.1.1
650
+ wurlitzer==3.1.1
651
+ xarray==2025.12.0
652
+ xarray-einstats==0.10.0
653
+ xgboost==3.2.0
654
+ xlrd==2.0.2
655
+ xxhash==3.6.0
656
+ xyzservices==2025.11.0
657
+ yarl==1.22.0
658
+ ydf==0.15.0
659
+ yellowbrick==1.5
660
+ yfinance==0.2.66
661
+ zipp==3.23.0
662
+ zstandard==0.25.0