athulnambiar commited on
Commit
2ada91a
·
verified ·
1 Parent(s): 5f64e5e

Upload 3 files

Browse files
Files changed (3) hide show
  1. app.py +293 -0
  2. requirements.txt +835 -0
  3. yolov8n.pt +3 -0
app.py ADDED
@@ -0,0 +1,293 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import cv2
3
+ import numpy as np
4
+ from ultralytics import YOLO
5
+ import pytesseract
6
+ from PIL import Image
7
+ import os
8
+
9
+ # Set page title and icon
10
+ st.set_page_config(page_title="Motorcycle Helmet Detection", layout="wide")
11
+
12
+ # Set Tesseract path
13
+ pytesseract.pytesseract.tesseract_cmd = '/opt/homebrew/bin/tesseract'
14
+
15
+ # Load models
16
+ @st.cache_resource
17
+ def load_models():
18
+ # Load YOLO models
19
+ detection_model = YOLO("yolov8n.pt")
20
+
21
+ # Load face detection model
22
+ face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
23
+
24
+ return detection_model, face_cascade
25
+
26
+ # Load the models
27
+ try:
28
+ detection_model, face_cascade = load_models()
29
+ st.sidebar.success("✅ Models loaded successfully")
30
+ except Exception as e:
31
+ st.error(f"Error loading models: {str(e)}")
32
+ st.stop()
33
+
34
+ def extract_license_plate(image, roi=None):
35
+ """Extract license plate from image or region of interest"""
36
+ if roi is not None:
37
+ # If a region is specified, use it
38
+ target = roi
39
+ else:
40
+ # Otherwise use the whole image
41
+ target = image
42
+
43
+ plate_text = None
44
+
45
+ try:
46
+ # Convert to grayscale
47
+ gray = cv2.cvtColor(target, cv2.COLOR_BGR2GRAY)
48
+ gray = cv2.bilateralFilter(gray, 11, 17, 17)
49
+ edged = cv2.Canny(gray, 30, 200)
50
+
51
+ # Find contours
52
+ contours, _ = cv2.findContours(edged.copy(), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
53
+ contours = sorted(contours, key=cv2.contourArea, reverse=True)[:10]
54
+
55
+ for contour in contours:
56
+ perimeter = cv2.arcLength(contour, True)
57
+ approx = cv2.approxPolyDP(contour, 0.02 * perimeter, True)
58
+
59
+ # License plates are typically rectangular (4 points)
60
+ if len(approx) == 4:
61
+ x, y, w, h = cv2.boundingRect(approx)
62
+
63
+ # Filter by aspect ratio - license plates are typically wider than tall
64
+ aspect_ratio = float(w) / h
65
+ if 1.5 < aspect_ratio < 5.0:
66
+ plate_roi = gray[y:y+h, x:x+w]
67
+
68
+ if plate_roi.size > 0:
69
+ # Resize for better OCR
70
+ plate_roi = cv2.resize(plate_roi, None, fx=2, fy=2)
71
+ # Apply threshold to improve text extraction
72
+ _, plate_roi = cv2.threshold(plate_roi, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
73
+ # Extract text
74
+ plate_text = pytesseract.image_to_string(plate_roi,
75
+ config='--psm 7 --oem 3 -c tessedit_char_whitelist=ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789')
76
+ plate_text = ''.join(e for e in plate_text if e.isalnum())
77
+
78
+ if len(plate_text) > 3: # Basic validation
79
+ return plate_text
80
+ except Exception as e:
81
+ print(f"Error extracting license plate: {e}")
82
+
83
+ return plate_text
84
+
85
+ def detect_helmet_with_circle_detection(image, head_region):
86
+ """Detect helmet using circle detection"""
87
+ try:
88
+ # Extract head region
89
+ x, y, w, h = head_region
90
+ head = image[y:y+h, x:x+w]
91
+
92
+ # Convert to grayscale
93
+ gray = cv2.cvtColor(head, cv2.COLOR_BGR2GRAY)
94
+
95
+ # Apply GaussianBlur to reduce noise
96
+ gray = cv2.GaussianBlur(gray, (5, 5), 0)
97
+
98
+ # Detect circles
99
+ circles = cv2.HoughCircles(
100
+ gray, cv2.HOUGH_GRADIENT, dp=1, minDist=20,
101
+ param1=50, param2=30, minRadius=int(w*0.2), maxRadius=int(w*0.6)
102
+ )
103
+
104
+ # If circles detected, likely a helmet
105
+ return circles is not None and len(circles[0]) > 0
106
+ except:
107
+ return False
108
+
109
+ def detect_helmet_with_color(image, head_region):
110
+ """Detect helmet using color analysis"""
111
+ try:
112
+ # Extract head region
113
+ x, y, w, h = head_region
114
+ head = image[y:y+h, x:x+w]
115
+
116
+ # Convert to HSV
117
+ hsv = cv2.cvtColor(head, cv2.COLOR_BGR2HSV)
118
+
119
+ # Define color ranges for common helmet colors (black, white, red, blue)
120
+ # Black
121
+ lower_black = np.array([0, 0, 0])
122
+ upper_black = np.array([180, 255, 50])
123
+ black_mask = cv2.inRange(hsv, lower_black, upper_black)
124
+
125
+ # White
126
+ lower_white = np.array([0, 0, 200])
127
+ upper_white = np.array([180, 30, 255])
128
+ white_mask = cv2.inRange(hsv, lower_white, upper_white)
129
+
130
+ # Red (two ranges)
131
+ lower_red1 = np.array([0, 100, 100])
132
+ upper_red1 = np.array([10, 255, 255])
133
+ red_mask1 = cv2.inRange(hsv, lower_red1, upper_red1)
134
+
135
+ lower_red2 = np.array([160, 100, 100])
136
+ upper_red2 = np.array([180, 255, 255])
137
+ red_mask2 = cv2.inRange(hsv, lower_red2, upper_red2)
138
+
139
+ # Blue
140
+ lower_blue = np.array([100, 100, 100])
141
+ upper_blue = np.array([140, 255, 255])
142
+ blue_mask = cv2.inRange(hsv, lower_blue, upper_blue)
143
+
144
+ # Combine masks
145
+ combined_mask = black_mask + white_mask + red_mask1 + red_mask2 + blue_mask
146
+
147
+ # Calculate percentage of helmet colors
148
+ helmet_color_percentage = np.sum(combined_mask > 0) / (w * h)
149
+
150
+ # If more than 30% of the head region has helmet-like colors, likely a helmet
151
+ return helmet_color_percentage > 0.3
152
+ except:
153
+ return False
154
+
155
+ def process_image(image):
156
+ if isinstance(image, Image.Image):
157
+ # Convert PIL image to OpenCV format
158
+ image = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR)
159
+
160
+ # Make a copy for annotation
161
+ annotated_img = image.copy()
162
+
163
+ # Run YOLO detection for motorcycle and person
164
+ results = detection_model(image)[0]
165
+
166
+ # Initialize variables
167
+ helmet_detected = False
168
+ person_detected = False
169
+ motorcycle_detected = False
170
+ plate_text = None
171
+
172
+ # Variables to store bounding boxes
173
+ person_boxes = []
174
+ motorcycle_boxes = []
175
+
176
+ # Check detections
177
+ for box in results.boxes:
178
+ cls = int(box.cls[0])
179
+ conf = float(box.conf[0])
180
+
181
+ if conf > 0.3: # Confidence threshold
182
+ x1, y1, x2, y2 = map(int, box.xyxy[0])
183
+
184
+ # Standard YOLOv8 classes
185
+ if cls == 0: # Person
186
+ person_detected = True
187
+ person_boxes.append((x1, y1, x2, y2))
188
+ # Get head region (top 30% of person bounding box)
189
+ head_x = x1
190
+ head_y = y1
191
+ head_w = x2 - x1
192
+ head_h = int((y2 - y1) * 0.3)
193
+ head_region = (head_x, head_y, head_w, head_h)
194
+
195
+ # Draw head region for debugging
196
+ cv2.rectangle(annotated_img, (head_x, head_y), (head_x + head_w, head_y + head_h), (0, 255, 255), 2)
197
+
198
+ # Extract head image
199
+ head_img = image[head_y:head_y+head_h, head_x:head_x+head_w]
200
+
201
+ # Use multiple methods to detect helmet
202
+ if head_img.size > 0:
203
+ # Method 1: Check for faces - visible face might indicate no helmet
204
+ gray = cv2.cvtColor(head_img, cv2.COLOR_BGR2GRAY)
205
+ faces = face_cascade.detectMultiScale(gray, 1.3, 5)
206
+
207
+ if len(faces) > 0:
208
+ # Face detected, likely no helmet
209
+ helmet_detected = False
210
+ cv2.putText(annotated_img, "Face Detected", (head_x, head_y - 10),
211
+ cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2)
212
+ else:
213
+ # No face detected, check other methods
214
+ # Method 2: Circle detection
215
+ helmet_detected = detect_helmet_with_circle_detection(image, head_region)
216
+
217
+ # Method 3: Color analysis
218
+ if not helmet_detected:
219
+ helmet_detected = detect_helmet_with_color(image, head_region)
220
+
221
+ elif cls == 3: # Motorcycle
222
+ motorcycle_detected = True
223
+ motorcycle_boxes.append((x1, y1, x2, y2))
224
+
225
+ # Extract license plate from motorcycle region
226
+ roi = image[y1:y2, x1:x2]
227
+ if roi.size > 0:
228
+ moto_plate = extract_license_plate(image, roi)
229
+ if moto_plate:
230
+ plate_text = moto_plate
231
+
232
+ # If a person on a motorcycle is detected, but no license plate found yet, try on full image
233
+ if person_detected and motorcycle_detected and not plate_text:
234
+ plate_text = extract_license_plate(image)
235
+
236
+ # Add manual override option via sidebar
237
+ st.sidebar.markdown("### Detection Override")
238
+ if st.sidebar.checkbox("Override automatic detection"):
239
+ helmet_detected = st.sidebar.radio("Helmet Status:", [True, False], index=0 if helmet_detected else 1)
240
+
241
+ return helmet_detected, plate_text, cv2.cvtColor(annotated_img, cv2.COLOR_BGR2RGB)
242
+
243
+ # Streamlit UI
244
+ st.title("🏍️ Motorcycle Helmet Detection System")
245
+ st.write("Upload an image to detect helmet usage and license plate")
246
+
247
+ uploaded_file = st.file_uploader("Choose an image", type=['jpg', 'jpeg', 'png'])
248
+
249
+ if uploaded_file is not None:
250
+ image = Image.open(uploaded_file)
251
+
252
+ col1, col2 = st.columns(2)
253
+
254
+ with col1:
255
+ st.image(image, caption="Uploaded Image", use_column_width=True)
256
+
257
+ with st.spinner('Processing image...'):
258
+ helmet_detected, plate_text, processed_image = process_image(image)
259
+
260
+ with col2:
261
+ st.image(processed_image, caption="Processed Image", use_column_width=True)
262
+
263
+ # Display results with custom styling
264
+ if helmet_detected:
265
+ st.markdown("""
266
+ <div style='padding: 20px; background-color: #d4edda; border-radius: 5px; margin: 10px 0;'>
267
+ <h3 style='color: #155724; margin: 0;'>✅ Helmet Detected!</h3>
268
+ </div>
269
+ """, unsafe_allow_html=True)
270
+ else:
271
+ st.markdown("""
272
+ <div style='padding: 20px; background-color: #f8d7da; border-radius: 5px; margin: 10px 0;'>
273
+ <h3 style='color: #721c24; margin: 0;'>❌ No Helmet Detected - Violation!</h3>
274
+ </div>
275
+ """, unsafe_allow_html=True)
276
+
277
+ # Always show license plate if detected, but emphasize when violation occurs
278
+ if plate_text:
279
+ st.markdown(f"""
280
+ <div style='padding: 20px; background-color: #f8d7da; border-radius: 5px; margin: 10px 0;'>
281
+ <h3 style='color: #721c24; margin: 0;'>License Plate Number:</h3>
282
+ <p style='font-size: 24px; margin: 10px 0 0 0;'>{plate_text}</p>
283
+ </div>
284
+ """, unsafe_allow_html=True)
285
+
286
+ # Only show license plate in neutral box if compliant
287
+ if helmet_detected and plate_text:
288
+ st.markdown(f"""
289
+ <div style='padding: 20px; background-color: #e2e3e5; border-radius: 5px; margin: 10px 0;'>
290
+ <h3 style='color: #383d41; margin: 0;'>License Plate Number:</h3>
291
+ <p style='font-size: 24px; margin: 10px 0 0 0;'>{plate_text}</p>
292
+ </div>
293
+ """, unsafe_allow_html=True)
requirements.txt ADDED
@@ -0,0 +1,835 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ absl-py==2.1.0
2
+ aiobotocore @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_71xswk40o_/croot/aiobotocore_1682537536268/work
3
+ aiofiles @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_f56ag8l7kr/croot/aiofiles_1683773599608/work
4
+ aiohappyeyeballs==2.4.4
5
+ aiohttp==3.11.11
6
+ aioitertools @ file:///tmp/build/80754af9/aioitertools_1607109665762/work
7
+ aiosignal @ file:///tmp/build/80754af9/aiosignal_1637843061372/work
8
+ aiosqlite @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_3d75lecab1/croot/aiosqlite_1683773918307/work
9
+ alabaster @ file:///home/ktietz/src/ci/alabaster_1611921544520/work
10
+ altair==5.0.1
11
+ anaconda-catalogs @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_e8tmw882qa/croot/anaconda-catalogs_1685727305051/work
12
+ anaconda-client==1.11.3
13
+ anaconda-navigator==2.4.2
14
+ anaconda-project @ file:///Users/cbousseau/work/recipes/ci_py311/anaconda-project_1677964558977/work
15
+ aniso8601==9.0.1
16
+ annotated-types==0.7.0
17
+ anthropic==0.45.2
18
+ anyio==4.8.0
19
+ appdirs==1.4.4
20
+ applaunchservices @ file:///Users/cbousseau/work/recipes/ci_py311/applaunchservices_1677955996025/work
21
+ appnope @ file:///Users/cbousseau/work/recipes/ci_py311/appnope_1677917710869/work
22
+ appscript @ file:///Users/cbousseau/work/recipes/ci_py311/appscript_1677956964648/work
23
+ argon2-cffi @ file:///opt/conda/conda-bld/argon2-cffi_1645000214183/work
24
+ argon2-cffi-bindings @ file:///Users/cbousseau/work/recipes/ci_py311/argon2-cffi-bindings_1677915727169/work
25
+ arrow @ file:///Users/cbousseau/work/recipes/ci_py311/arrow_1677931434012/work
26
+ asgiref==3.8.1
27
+ astroid==3.2.2
28
+ astropy @ file:///Users/cbousseau/work/recipes/ci_py311_2/astropy_1678994125362/work
29
+ asttokens @ file:///opt/conda/conda-bld/asttokens_1646925590279/work
30
+ astunparse==1.6.3
31
+ async-generator==1.10
32
+ async-lru==2.0.4
33
+ async-timeout @ file:///Users/cbousseau/work/recipes/ci_py311/async-timeout_1677925030615/work
34
+ atomicwrites==1.4.0
35
+ attrs==23.1.0
36
+ autograd==1.7.0
37
+ Automat @ file:///tmp/build/80754af9/automat_1600298431173/work
38
+ autopep8==2.0.4
39
+ autoray==0.6.12
40
+ babel==2.17.0
41
+ backcall @ file:///home/ktietz/src/ci/backcall_1611930011877/work
42
+ backoff==2.2.1
43
+ backports.functools-lru-cache @ file:///tmp/build/80754af9/backports.functools_lru_cache_1618170165463/work
44
+ backports.tempfile @ file:///home/linux1/recipes/ci/backports.tempfile_1610991236607/work
45
+ backports.weakref==1.0.post1
46
+ bcrypt==4.2.1
47
+ beautifulsoup4==4.12.3
48
+ binaryornot @ file:///tmp/build/80754af9/binaryornot_1617751525010/work
49
+ black==24.4.2
50
+ bleach @ file:///opt/conda/conda-bld/bleach_1641577558959/work
51
+ blinker==1.6.2
52
+ blosc2==2.6.2
53
+ bokeh @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_7ftqpigyao/croot/bokeh_1684534021168/work
54
+ boltons @ file:///Users/cbousseau/work/recipes/ci_py311/boltons_1677965141748/work
55
+ bota==4.0.4
56
+ botasaurus==4.0.3
57
+ botasaurus-api==4.0.1
58
+ botasaurus-proxy-authentication==1.0.12
59
+ botasaurus-server==4.0.9
60
+ boto3==1.36.21
61
+ botocore==1.36.21
62
+ bottle==0.12.25
63
+ Bottleneck @ file:///Users/cbousseau/work/recipes/ci_py311/bottleneck_1677925122241/work
64
+ brotlipy==0.7.0
65
+ browser-cookie3==0.19.1
66
+ -e git+https://github.com/browser-use/browser-use@2d0f95f80150bffe788041c1811d14bc394481e3#egg=browser_use
67
+ bs4==0.0.1
68
+ build==1.2.2.post1
69
+ cachetools==5.3.1
70
+ capsolver-extension-python==1.0.1
71
+ casefy==0.1.7
72
+ certifi==2024.12.14
73
+ cffi @ file:///Users/cbousseau/work/recipes/ci_py311/cffi_1677903595907/work
74
+ cfgv==3.4.0
75
+ chardet @ file:///Users/cbousseau/work/recipes/ci_py311/chardet_1677931647221/work
76
+ charset-normalizer==3.4.1
77
+ chroma-hnswlib==0.7.6
78
+ chromadb==0.6.3
79
+ chrome-extension-python==1.0.1
80
+ chromedriver-autoinstaller-fix==1.0.6
81
+ click==8.1.7
82
+ cloudinary==1.41.0
83
+ cloudpickle @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_da31odypvn/croot/cloudpickle_1683040013858/work
84
+ cloudscraper==1.2.71
85
+ clyent==1.2.2
86
+ colorama @ file:///Users/cbousseau/work/recipes/ci_py311/colorama_1677925183444/work
87
+ colorcet @ file:///Users/cbousseau/work/recipes/ci_py311/colorcet_1677936559489/work
88
+ coloredlogs==15.0.1
89
+ comm @ file:///Users/cbousseau/work/recipes/ci_py311/comm_1677919149446/work
90
+ conda @ file:///private/var/folders/k1/30mswbxs7r1g6zwn8y4fyt500000gp/T/abs_0cwmmds6q9/croot/conda_1689269929143/work
91
+ conda-build @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_83sb1t82jg/croot/conda-build_1685026138255/work
92
+ conda-content-trust @ file:///Users/cbousseau/work/recipes/ci_py311/conda-content-trust_1677970020347/work
93
+ conda-libmamba-solver @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_48qgqxi1ys/croot/conda-libmamba-solver_1685032355439/work/src
94
+ conda-pack @ file:///tmp/build/80754af9/conda-pack_1611163042455/work
95
+ conda-package-handling @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_57h_oo3f_8/croot/conda-package-handling_1685024802254/work
96
+ conda-repo-cli==1.0.41
97
+ conda-token @ file:///Users/paulyim/miniconda3/envs/c3i/conda-bld/conda-token_1662660369760/work
98
+ conda-verify==3.4.2
99
+ conda_index @ file:///Users/cbousseau/work/recipes/ci_py311/conda-index_1677970042779/work
100
+ conda_package_streaming @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_4fwljxujl7/croot/conda-package-streaming_1685019683894/work
101
+ constantly==15.1.0
102
+ contourpy==1.3.1
103
+ cookiecutter @ file:///opt/conda/conda-bld/cookiecutter_1649151442564/work
104
+ courlan==1.3.2
105
+ cryptography @ file:///Users/cbousseau/work/recipes/ci_py311_2/cryptography_1678994456782/work
106
+ cssselect==1.1.0
107
+ curl-cffi==0.5.7
108
+ cycler @ file:///tmp/build/80754af9/cycler_1637851556182/work
109
+ cytoolz @ file:///Users/cbousseau/work/recipes/ci_py311/cytoolz_1677931761799/work
110
+ dask @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_f3jad8spw3/croot/dask-core_1686782923467/work
111
+ dataclasses-json==0.5.14
112
+ datasets @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_5eqct1blor/croot/datasets_1684482935720/work
113
+ datashader @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_45d140pymm/croot/datashader_1685542975108/work
114
+ datashape==0.5.4
115
+ datedelta==1.4
116
+ dateparser==1.2.1
117
+ dateutils==0.6.12
118
+ debugpy==1.8.1
119
+ decorator @ file:///opt/conda/conda-bld/decorator_1643638310831/work
120
+ defusedxml @ file:///tmp/build/80754af9/defusedxml_1615228127516/work
121
+ Deprecated==1.2.15
122
+ diff-match-patch @ file:///Users/ktietz/demo/mc3/conda-bld/diff-match-patch_1630511840874/work
123
+ dill @ file:///Users/cbousseau/work/recipes/ci_py311/dill_1677926161443/work
124
+ dirtyjson==1.0.8
125
+ distlib==0.3.8
126
+ distributed @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_46b2z6ud_6/croot/distributed_1686866053959/work
127
+ distro==1.9.0
128
+ dnspython==2.4.2
129
+ docopt==0.6.2
130
+ docstring-to-markdown @ file:///Users/cbousseau/work/recipes/ci_py311/docstring-to-markdown_1677931891483/work
131
+ docutils @ file:///Users/cbousseau/work/recipes/ci_py311/docutils_1677907269557/work
132
+ easyocr==1.7.2
133
+ efficientnet-pytorch==0.7.1
134
+ email-validator==2.0.0.post2
135
+ emoji==1.7.0
136
+ entrypoints @ file:///Users/cbousseau/work/recipes/ci_py311/entrypoints_1677911798787/work
137
+ et-xmlfile==1.1.0
138
+ exceptiongroup==1.1.1
139
+ executing @ file:///opt/conda/conda-bld/executing_1646925071911/work
140
+ fake-useragent==1.2.1
141
+ fastapi==0.115.8
142
+ fastapi-cli==0.0.7
143
+ fastdtw==0.3.4
144
+ fastjsonschema @ file:///Users/cbousseau/work/recipes/ci_py311_2/python-fastjsonschema_1678996913062/work
145
+ ffmpy==0.3.1
146
+ filelock==3.16.1
147
+ filetype==1.2.0
148
+ fireworks-ai==0.15.12
149
+ flake8==7.0.0
150
+ Flask==2.3.2
151
+ flask-babel==3.1.0
152
+ Flask-Cors==3.0.10
153
+ Flask-RESTful==0.3.10
154
+ flatbuffers==24.3.25
155
+ flex==6.14.1
156
+ fonttools==4.25.0
157
+ fqdn==1.5.1
158
+ frozenlist @ file:///Users/cbousseau/work/recipes/ci_py311/frozenlist_1677923867353/work
159
+ fsspec==2023.6.0
160
+ future @ file:///Users/cbousseau/work/recipes/ci_py311_2/future_1678994664110/work
161
+ fuzzywuzzy==0.18.0
162
+ gast==0.4.0
163
+ gensim @ file:///Users/cbousseau/work/recipes/ci_py311/gensim_1677971806459/work
164
+ git-filter-repo==2.47.0
165
+ gitdb==4.0.10
166
+ GitPython==3.1.32
167
+ glob2 @ file:///home/linux1/recipes/ci/glob2_1610991677669/work
168
+ gmpy2 @ file:///Users/cbousseau/work/recipes/ci_py311/gmpy2_1677937751357/work
169
+ google-ai-generativelanguage==0.6.15
170
+ google-api-core==2.24.1
171
+ google-api-python-client==2.131.0
172
+ google-auth==2.28.2
173
+ google-auth-httplib2==0.2.0
174
+ google-auth-oauthlib==1.0.0
175
+ google-generativeai==0.8.4
176
+ google-pasta==0.2.0
177
+ googleapis-common-protos==1.63.1
178
+ gpt-index==0.4.24
179
+ gradio==3.40.1
180
+ gradio_client==0.4.0
181
+ grapheme==0.6.0
182
+ greenlet==3.1.1
183
+ grpcio==1.64.1
184
+ grpcio-status==1.62.2
185
+ gTTS==2.3.2
186
+ h11==0.14.0
187
+ h5py==3.10.0
188
+ hatch==1.14.0
189
+ hatchling==1.27.0
190
+ HeapDict @ file:///Users/ktietz/demo/mc3/conda-bld/heapdict_1630598515714/work
191
+ holoviews @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_32bnigmm6q/croot/holoviews_1686339345383/work
192
+ html2text==2024.2.26
193
+ htmldate==1.9.3
194
+ httpcore==1.0.7
195
+ httplib2==0.22.0
196
+ httptools==0.6.4
197
+ httpx==0.28.1
198
+ httpx-sse==0.4.0
199
+ httpx-ws==0.5.1
200
+ huggingface-hub @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_a3pjdbppt5/croot/huggingface_hub_1686693687731/work
201
+ humanfriendly==10.0
202
+ hvplot @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_30omxxom8t/croot/hvplot_1686021066828/work
203
+ hyperlink @ file:///tmp/build/80754af9/hyperlink_1610130746837/work
204
+ identify==2.6.1
205
+ idna==3.7
206
+ imagecodecs @ file:///Users/cbousseau/work/recipes/ci_py311_2/imagecodecs_1678994839331/work
207
+ imageio @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_c1sh4q1483/croot/imageio_1687264958491/work
208
+ imagesize @ file:///Users/cbousseau/work/recipes/ci_py311/imagesize_1677932611633/work
209
+ imbalanced-learn @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_26_yvb9nba/croot/imbalanced-learn_1685020915768/work
210
+ importlib-metadata==6.11.0
211
+ importlib-resources==6.0.1
212
+ incremental @ file:///tmp/build/80754af9/incremental_1636629750599/work
213
+ inflection==0.5.1
214
+ iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
215
+ intake @ file:///Users/cbousseau/work/recipes/ci_py311_2/intake_1678994948878/work
216
+ intervaltree @ file:///Users/ktietz/demo/mc3/conda-bld/intervaltree_1630511889664/work
217
+ ipykernel==6.29.4
218
+ ipython==8.12.0
219
+ ipython-genutils @ file:///tmp/build/80754af9/ipython_genutils_1606773439826/work
220
+ ipywidgets @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_f07ugy1hvo/croot/ipywidgets_1679394821999/work
221
+ isoduration==20.11.0
222
+ isort @ file:///tmp/build/80754af9/isort_1628603791788/work
223
+ itemadapter @ file:///tmp/build/80754af9/itemadapter_1626442940632/work
224
+ itemloaders @ file:///opt/conda/conda-bld/itemloaders_1646805235997/work
225
+ itsdangerous==2.2.0
226
+ jaraco.classes @ file:///tmp/build/80754af9/jaraco.classes_1620983179379/work
227
+ javascript-fixes==1.1.21
228
+ jax==0.4.33
229
+ jaxlib==0.4.33
230
+ jdcal==1.4.1
231
+ jedi @ file:///Users/cbousseau/work/recipes/ci_py311_2/jedi_1678994967789/work
232
+ jellyfish @ file:///Users/cbousseau/work/recipes/ci_py311/jellyfish_1677959705446/work
233
+ Jinja2 @ file:///Users/cbousseau/work/recipes/ci_py311/jinja2_1677916113134/work
234
+ jinja2-time @ file:///opt/conda/conda-bld/jinja2-time_1649251842261/work
235
+ jiter==0.8.2
236
+ jmespath @ file:///Users/ktietz/demo/mc3/conda-bld/jmespath_1630583964805/work
237
+ joblib==1.3.2
238
+ json5==0.9.25
239
+ jsonlines==4.0.0
240
+ jsonpatch==1.33
241
+ jsonpointer==2.1
242
+ jsonschema @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_2a92785vxi/croot/jsonschema_1678983423459/work
243
+ jsonschema-spec==0.1.6
244
+ jupyter @ file:///Users/cbousseau/work/recipes/ci_py311/jupyter_1677932849424/work
245
+ jupyter-console @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_62liw5pns2/croot/jupyter_console_1679999641189/work
246
+ jupyter-events @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_23dk3_r5iy/croot/jupyter_events_1684268066707/work
247
+ jupyter-lsp==2.2.5
248
+ jupyter-ydoc @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_1djmqkjwof/croot/jupyter_ydoc_1683747243427/work
249
+ jupyter_client @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_701yya0pqm/croot/jupyter_client_1680171868326/work
250
+ jupyter_core @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_d1sy1hlz9t/croot/jupyter_core_1679906585151/work
251
+ jupyter_server @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_b4vtj5855n/croot/jupyter_server_1686064262138/work
252
+ jupyter_server_fileid @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_a5j1mo_1cs/croot/jupyter_server_fileid_1684273608144/work
253
+ jupyter_server_terminals @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_e7ryd60iuw/croot/jupyter_server_terminals_1686870731283/work
254
+ jupyter_server_ydoc @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_47q6o0w705/croot/jupyter_server_ydoc_1686767400324/work
255
+ jupyterlab==4.0.6
256
+ jupyterlab-pygments @ file:///tmp/build/80754af9/jupyterlab_pygments_1601490720602/work
257
+ jupyterlab-widgets @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_65wwn9cwab/croot/jupyterlab_widgets_1679055283460/work
258
+ jupyterlab_server @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_0fmfqwbrd7/croot/jupyterlab_server_1680792517631/work
259
+ jusText==3.0.1
260
+ kaggle==1.6.6
261
+ keras==3.5.0
262
+ keyring @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_8bd22k84zo/croot/keyring_1678999224442/work
263
+ kiwisolver @ file:///Users/cbousseau/work/recipes/ci_py311/kiwisolver_1677925326358/work
264
+ kubernetes==29.0.0
265
+ langchain==0.3.14
266
+ langchain-anthropic==0.3.3
267
+ langchain-aws==0.2.12
268
+ langchain-core==0.3.35
269
+ langchain-fireworks==0.2.7
270
+ langchain-google-genai==2.0.8
271
+ langchain-ollama==0.2.2
272
+ langchain-openai==0.3.1
273
+ langchain-text-splitters==0.3.6
274
+ langsmith==0.2.11
275
+ lazy-object-proxy==1.10.0
276
+ lazy_loader @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_9c4sl77tg1/croot/lazy_loader_1687264096938/work
277
+ Levenshtein==0.21.1
278
+ libarchive-c @ file:///tmp/build/80754af9/python-libarchive-c_1617780486945/work
279
+ libclang==18.1.1
280
+ libmambapy @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_ba7rom_bbt/croot/mamba-split_1680092817644/work/libmambapy
281
+ linkify-it-py @ file:///Users/cbousseau/work/recipes/ci_py311/linkify-it-py_1677973036983/work
282
+ llama-cloud==0.1.7
283
+ llama-index==0.12.9
284
+ llama-index-agent-openai==0.4.1
285
+ llama-index-cli==0.4.0
286
+ llama-index-core==0.12.9
287
+ llama-index-embeddings-openai==0.3.1
288
+ llama-index-indices-managed-llama-cloud==0.6.3
289
+ llama-index-llms-openai==0.3.12
290
+ llama-index-multi-modal-llms-openai==0.4.1
291
+ llama-index-program-openai==0.3.1
292
+ llama-index-question-gen-openai==0.3.0
293
+ llama-index-readers-file==0.4.1
294
+ llama-index-readers-llama-parse==0.4.0
295
+ llama-parse==0.5.19
296
+ llvmlite @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_fcgbla6sbr/croot/llvmlite_1683555144762/work
297
+ lmdb @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_6fumkuh_c0/croot/python-lmdb_1682522347231/work
298
+ lmnr==0.4.60
299
+ locket @ file:///Users/cbousseau/work/recipes/ci_py311/locket_1677925419801/work
300
+ loguru==0.7.0
301
+ lxml==5.3.1
302
+ lxml_html_clean==0.4.1
303
+ lz4 @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_f0mtitgo6y/croot/lz4_1686063770247/work
304
+ MailGw-Temporary-Email==0.0.2
305
+ MainContentExtractor==0.0.4
306
+ Markdown @ file:///Users/cbousseau/work/recipes/ci_py311/markdown_1677932925449/work
307
+ markdown-it-py @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_43l_4ajkho/croot/markdown-it-py_1684279912406/work
308
+ markdownify==0.14.1
309
+ MarkupSafe @ file:///Users/cbousseau/work/recipes/ci_py311/markupsafe_1677914270710/work
310
+ marshmallow==3.20.1
311
+ matplotlib==3.8.2
312
+ matplotlib-inline @ file:///Users/cbousseau/work/recipes/ci_py311/matplotlib-inline_1677918241899/work
313
+ mccabe @ file:///opt/conda/conda-bld/mccabe_1644221741721/work
314
+ mdit-py-plugins @ file:///Users/cbousseau/work/recipes/ci_py311/mdit-py-plugins_1677995322132/work
315
+ mdurl @ file:///Users/cbousseau/work/recipes/ci_py311/mdurl_1677942260967/work
316
+ mediapipe==0.10.15
317
+ mistune @ file:///Users/cbousseau/work/recipes/ci_py311/mistune_1677916714667/work
318
+ ml-dtypes==0.4.1
319
+ mmh3==5.1.0
320
+ mo-dots==9.401.23144
321
+ mo-future==7.401.23144
322
+ mo-imports==7.401.23144
323
+ mo-parsing==8.401.23144
324
+ mo-sql-parsing==9.402.23144
325
+ monotonic==1.6
326
+ more-itertools @ file:///tmp/build/80754af9/more-itertools_1637733554872/work
327
+ mpmath==1.2.1
328
+ msgpack @ file:///Users/cbousseau/work/recipes/ci_py311/msgpack-python_1677909260136/work
329
+ multidict @ file:///Users/cbousseau/work/recipes/ci_py311/multidict_1677923908690/work
330
+ multipledispatch @ file:///Users/cbousseau/work/recipes/ci_py311/multipledispatch_1677960800437/work
331
+ multiprocess @ file:///Users/cbousseau/work/recipes/ci_py311/multiprocess_1677942297511/work
332
+ munkres==1.1.4
333
+ mypy-extensions==0.4.3
334
+ names==0.3.0
335
+ namex==0.0.7
336
+ navigator-updater==0.4.0
337
+ nbclassic @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_d6oy9w0m3l/croot/nbclassic_1681756176477/work
338
+ nbclient @ file:///Users/cbousseau/work/recipes/ci_py311/nbclient_1677916908988/work
339
+ nbconvert @ file:///Users/cbousseau/work/recipes/ci_py311/nbconvert_1677918402558/work
340
+ nbformat @ file:///Users/cbousseau/work/recipes/ci_py311/nbformat_1677914501406/work
341
+ ndindex==1.8
342
+ nest-asyncio==1.6.0
343
+ networkx==3.4.2
344
+ ninja==1.11.1.3
345
+ nltk==3.9.1
346
+ nodeenv==1.9.1
347
+ notebook @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_a38gtdrjqf/croot/notebook_1681756176593/work
348
+ notebook_shim @ file:///Users/cbousseau/work/recipes/ci_py311/notebook-shim_1677921216909/work
349
+ numba @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_bar0txilh4/croot/numba_1684245494553/work
350
+ numexpr @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_76yyu1p9jk/croot/numexpr_1683221830860/work
351
+ numpy==1.24.4
352
+ numpydoc @ file:///Users/cbousseau/work/recipes/ci_py311/numpydoc_1677960919550/work
353
+ oauthlib==3.2.2
354
+ ollama==0.4.7
355
+ onnxruntime==1.15.1
356
+ openai==1.58.1
357
+ openapi-schema-pydantic==1.2.4
358
+ openapi-schema-validator==0.4.4
359
+ openapi-spec-validator==0.5.6
360
+ opencv-contrib-python==4.10.0.84
361
+ opencv-python==4.9.0.80
362
+ opencv-python-headless==4.10.0.84
363
+ openpyxl==2.4.11
364
+ opentelemetry-api==1.30.0
365
+ opentelemetry-exporter-otlp-proto-common==1.30.0
366
+ opentelemetry-exporter-otlp-proto-grpc==1.30.0
367
+ opentelemetry-exporter-otlp-proto-http==1.30.0
368
+ opentelemetry-instrumentation==0.51b0
369
+ opentelemetry-instrumentation-asgi==0.51b0
370
+ opentelemetry-instrumentation-fastapi==0.51b0
371
+ opentelemetry-instrumentation-langchain==0.38.6
372
+ opentelemetry-instrumentation-requests==0.51b0
373
+ opentelemetry-instrumentation-sqlalchemy==0.51b0
374
+ opentelemetry-instrumentation-threading==0.51b0
375
+ opentelemetry-instrumentation-urllib3==0.51b0
376
+ opentelemetry-proto==1.30.0
377
+ opentelemetry-sdk==1.30.0
378
+ opentelemetry-semantic-conventions==0.51b0
379
+ opentelemetry-semantic-conventions-ai==0.4.2
380
+ opentelemetry-util-http==0.51b0
381
+ opt-einsum==3.3.0
382
+ optree==0.11.0
383
+ orjson==3.10.3
384
+ outcome==1.2.0
385
+ overrides==7.4.0
386
+ packaging==23.2
387
+ paho-mqtt==1.6.1
388
+ pandas==1.5.3
389
+ pandocfilters @ file:///opt/conda/conda-bld/pandocfilters_1643405455980/work
390
+ panel @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_078ihoit_6/croot/panel_1686063758214/work
391
+ param @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_cfp588uo3i/croot/param_1684915323490/work
392
+ parsel @ file:///Users/cbousseau/work/recipes/ci_py311/parsel_1678068232273/work
393
+ parso @ file:///opt/conda/conda-bld/parso_1641458642106/work
394
+ partd @ file:///opt/conda/conda-bld/partd_1647245470509/work
395
+ pathable==0.4.3
396
+ pathlib @ file:///Users/ktietz/demo/mc3/conda-bld/pathlib_1629713961906/work
397
+ pathspec @ file:///Users/cbousseau/work/recipes/ci_py311_2/pathspec_1678995598596/work
398
+ patsy==0.5.3
399
+ pbr==6.1.0
400
+ PennyLane==0.38.0
401
+ PennyLane_Lightning==0.38.0
402
+ pep8==1.7.1
403
+ pexpect @ file:///tmp/build/80754af9/pexpect_1605563209008/work
404
+ pickleshare @ file:///tmp/build/80754af9/pickleshare_1606932040724/work
405
+ Pillow==9.4.0
406
+ pkginfo @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_d1oq9rhye6/croot/pkginfo_1679431178842/work
407
+ platformdirs==4.2.2
408
+ playwright==1.50.0
409
+ plotly @ file:///Users/cbousseau/work/recipes/ci_py311/plotly_1677953301864/work
410
+ pluggy==1.5.0
411
+ ply==3.11
412
+ pooch @ file:///tmp/build/80754af9/pooch_1623324770023/work
413
+ posthog==3.13.0
414
+ poyo @ file:///tmp/build/80754af9/poyo_1617751526755/work
415
+ prance==0.22.11.4.0
416
+ pre_commit==4.0.0
417
+ prometheus-client @ file:///Users/cbousseau/work/recipes/ci_py311_2/prometheus_client_1678996808082/work
418
+ prompt_toolkit==3.0.45
419
+ propcache==0.2.1
420
+ Protego @ file:///tmp/build/80754af9/protego_1598657180827/work
421
+ proto-plus==1.26.0
422
+ protobuf==4.25.6
423
+ psutil @ file:///Users/cbousseau/work/recipes/ci_py311_2/psutil_1678995687212/work
424
+ ptyprocess @ file:///tmp/build/80754af9/ptyprocess_1609355006118/work/dist/ptyprocess-0.7.0-py2.py3-none-any.whl
425
+ pulsar-client==3.2.0
426
+ pure-eval @ file:///opt/conda/conda-bld/pure_eval_1646925070566/work
427
+ py-cpuinfo @ file:///Users/ktietz/demo/mc3/conda-bld/py-cpuinfo_1629480366017/work
428
+ pyarrow==11.0.0
429
+ pyasn1 @ file:///Users/ktietz/demo/mc3/conda-bld/pyasn1_1629708007385/work
430
+ pyasn1-modules==0.2.8
431
+ pycharts==0.1.5
432
+ pyclipper==1.3.0.post6
433
+ pycodestyle==2.11.1
434
+ pycosat @ file:///Users/cbousseau/work/recipes/ci_py311/pycosat_1677933552468/work
435
+ pycparser @ file:///tmp/build/80754af9/pycparser_1636541352034/work
436
+ pycryptodome==3.18.0
437
+ pycryptodomex==3.18.0
438
+ pyct @ file:///Users/cbousseau/work/recipes/ci_py311/pyct_1677933596803/work
439
+ pycurl==7.45.2
440
+ pydantic==2.10.6
441
+ pydantic-extra-types==2.10.1
442
+ pydantic-settings==2.7.1
443
+ pydantic_core==2.27.2
444
+ pydeck==0.8.0
445
+ PyDispatcher==2.0.5
446
+ pydocstyle @ file:///Users/cbousseau/work/recipes/ci_py311/pydocstyle_1677933616104/work
447
+ pydub==0.25.1
448
+ pyee==12.1.1
449
+ pyerfa @ file:///Users/cbousseau/work/recipes/ci_py311/pyerfa_1677933632816/work
450
+ PyExecJS==1.5.1
451
+ pyflakes==3.2.0
452
+ pygame==2.6.0
453
+ Pygments @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_29bs9f_dh9/croot/pygments_1684279974747/work
454
+ PyJWT @ file:///Users/cbousseau/work/recipes/ci_py311/pyjwt_1677933681463/work
455
+ pylint==3.2.2
456
+ pylint-venv==3.0.3
457
+ pyls-spyder==0.4.0
458
+ pymailtm==1.1.1
459
+ pymongo==4.3.3
460
+ Pympler==1.0.1
461
+ pyobjc==10.3.1
462
+ pyobjc-core==10.3.1
463
+ pyobjc-framework-Accessibility==10.3.1
464
+ pyobjc-framework-Accounts==10.3.1
465
+ pyobjc-framework-AddressBook==10.3.1
466
+ pyobjc-framework-AdServices==10.3.1
467
+ pyobjc-framework-AdSupport==10.3.1
468
+ pyobjc-framework-AppleScriptKit==10.3.1
469
+ pyobjc-framework-AppleScriptObjC==10.3.1
470
+ pyobjc-framework-ApplicationServices==10.3.1
471
+ pyobjc-framework-AppTrackingTransparency==10.3.1
472
+ pyobjc-framework-AudioVideoBridging==10.3.1
473
+ pyobjc-framework-AuthenticationServices==10.3.1
474
+ pyobjc-framework-AutomaticAssessmentConfiguration==10.3.1
475
+ pyobjc-framework-Automator==10.3.1
476
+ pyobjc-framework-AVFoundation==10.3.1
477
+ pyobjc-framework-AVKit==10.3.1
478
+ pyobjc-framework-AVRouting==10.3.1
479
+ pyobjc-framework-BackgroundAssets==10.3.1
480
+ pyobjc-framework-BrowserEngineKit==10.3.1
481
+ pyobjc-framework-BusinessChat==10.3.1
482
+ pyobjc-framework-CalendarStore==10.3.1
483
+ pyobjc-framework-CallKit==10.3.1
484
+ pyobjc-framework-CFNetwork==10.3.1
485
+ pyobjc-framework-Cinematic==10.3.1
486
+ pyobjc-framework-ClassKit==10.3.1
487
+ pyobjc-framework-CloudKit==10.3.1
488
+ pyobjc-framework-Cocoa==10.3.1
489
+ pyobjc-framework-Collaboration==10.3.1
490
+ pyobjc-framework-ColorSync==10.3.1
491
+ pyobjc-framework-Contacts==10.3.1
492
+ pyobjc-framework-ContactsUI==10.3.1
493
+ pyobjc-framework-CoreAudio==10.3.1
494
+ pyobjc-framework-CoreAudioKit==10.3.1
495
+ pyobjc-framework-CoreBluetooth==10.3.1
496
+ pyobjc-framework-CoreData==10.3.1
497
+ pyobjc-framework-CoreHaptics==10.3.1
498
+ pyobjc-framework-CoreLocation==10.3.1
499
+ pyobjc-framework-CoreMedia==10.3.1
500
+ pyobjc-framework-CoreMediaIO==10.3.1
501
+ pyobjc-framework-CoreMIDI==10.3.1
502
+ pyobjc-framework-CoreML==10.3.1
503
+ pyobjc-framework-CoreMotion==10.3.1
504
+ pyobjc-framework-CoreServices==10.3.1
505
+ pyobjc-framework-CoreSpotlight==10.3.1
506
+ pyobjc-framework-CoreText==10.3.1
507
+ pyobjc-framework-CoreWLAN==10.3.1
508
+ pyobjc-framework-CryptoTokenKit==10.3.1
509
+ pyobjc-framework-DataDetection==10.3.1
510
+ pyobjc-framework-DeviceCheck==10.3.1
511
+ pyobjc-framework-DictionaryServices==10.3.1
512
+ pyobjc-framework-DiscRecording==10.3.1
513
+ pyobjc-framework-DiscRecordingUI==10.3.1
514
+ pyobjc-framework-DiskArbitration==10.3.1
515
+ pyobjc-framework-DVDPlayback==10.3.1
516
+ pyobjc-framework-EventKit==10.3.1
517
+ pyobjc-framework-ExceptionHandling==10.3.1
518
+ pyobjc-framework-ExecutionPolicy==10.3.1
519
+ pyobjc-framework-ExtensionKit==10.3.1
520
+ pyobjc-framework-ExternalAccessory==10.3.1
521
+ pyobjc-framework-FileProvider==10.3.1
522
+ pyobjc-framework-FileProviderUI==10.3.1
523
+ pyobjc-framework-FinderSync==10.3.1
524
+ pyobjc-framework-FSEvents==10.3.1
525
+ pyobjc-framework-GameCenter==10.3.1
526
+ pyobjc-framework-GameController==10.3.1
527
+ pyobjc-framework-GameKit==10.3.1
528
+ pyobjc-framework-GameplayKit==10.3.1
529
+ pyobjc-framework-HealthKit==10.3.1
530
+ pyobjc-framework-ImageCaptureCore==10.3.1
531
+ pyobjc-framework-InputMethodKit==10.3.1
532
+ pyobjc-framework-InstallerPlugins==10.3.1
533
+ pyobjc-framework-InstantMessage==10.3.1
534
+ pyobjc-framework-Intents==10.3.1
535
+ pyobjc-framework-IntentsUI==10.3.1
536
+ pyobjc-framework-IOBluetooth==10.3.1
537
+ pyobjc-framework-IOBluetoothUI==10.3.1
538
+ pyobjc-framework-IOSurface==10.3.1
539
+ pyobjc-framework-iTunesLibrary==10.3.1
540
+ pyobjc-framework-KernelManagement==10.3.1
541
+ pyobjc-framework-LatentSemanticMapping==10.3.1
542
+ pyobjc-framework-LaunchServices==10.3.1
543
+ pyobjc-framework-libdispatch==10.3.1
544
+ pyobjc-framework-libxpc==10.3.1
545
+ pyobjc-framework-LinkPresentation==10.3.1
546
+ pyobjc-framework-LocalAuthentication==10.3.1
547
+ pyobjc-framework-LocalAuthenticationEmbeddedUI==10.3.1
548
+ pyobjc-framework-MailKit==10.3.1
549
+ pyobjc-framework-MapKit==10.3.1
550
+ pyobjc-framework-MediaAccessibility==10.3.1
551
+ pyobjc-framework-MediaLibrary==10.3.1
552
+ pyobjc-framework-MediaPlayer==10.3.1
553
+ pyobjc-framework-MediaToolbox==10.3.1
554
+ pyobjc-framework-Metal==10.3.1
555
+ pyobjc-framework-MetalFX==10.3.1
556
+ pyobjc-framework-MetalKit==10.3.1
557
+ pyobjc-framework-MetalPerformanceShaders==10.3.1
558
+ pyobjc-framework-MetalPerformanceShadersGraph==10.3.1
559
+ pyobjc-framework-MetricKit==10.3.1
560
+ pyobjc-framework-MLCompute==10.3.1
561
+ pyobjc-framework-ModelIO==10.3.1
562
+ pyobjc-framework-MultipeerConnectivity==10.3.1
563
+ pyobjc-framework-NaturalLanguage==10.3.1
564
+ pyobjc-framework-NetFS==10.3.1
565
+ pyobjc-framework-Network==10.3.1
566
+ pyobjc-framework-NetworkExtension==10.3.1
567
+ pyobjc-framework-NotificationCenter==10.3.1
568
+ pyobjc-framework-OpenDirectory==10.3.1
569
+ pyobjc-framework-OSAKit==10.3.1
570
+ pyobjc-framework-OSLog==10.3.1
571
+ pyobjc-framework-PassKit==10.3.1
572
+ pyobjc-framework-PencilKit==10.3.1
573
+ pyobjc-framework-PHASE==10.3.1
574
+ pyobjc-framework-Photos==10.3.1
575
+ pyobjc-framework-PhotosUI==10.3.1
576
+ pyobjc-framework-PreferencePanes==10.3.1
577
+ pyobjc-framework-PushKit==10.3.1
578
+ pyobjc-framework-Quartz==10.3.1
579
+ pyobjc-framework-QuickLookThumbnailing==10.3.1
580
+ pyobjc-framework-ReplayKit==10.3.1
581
+ pyobjc-framework-SafariServices==10.3.1
582
+ pyobjc-framework-SafetyKit==10.3.1
583
+ pyobjc-framework-SceneKit==10.3.1
584
+ pyobjc-framework-ScreenCaptureKit==10.3.1
585
+ pyobjc-framework-ScreenSaver==10.3.1
586
+ pyobjc-framework-ScreenTime==10.3.1
587
+ pyobjc-framework-ScriptingBridge==10.3.1
588
+ pyobjc-framework-SearchKit==10.3.1
589
+ pyobjc-framework-Security==10.3.1
590
+ pyobjc-framework-SecurityFoundation==10.3.1
591
+ pyobjc-framework-SecurityInterface==10.3.1
592
+ pyobjc-framework-SensitiveContentAnalysis==10.3.1
593
+ pyobjc-framework-ServiceManagement==10.3.1
594
+ pyobjc-framework-SharedWithYou==10.3.1
595
+ pyobjc-framework-SharedWithYouCore==10.3.1
596
+ pyobjc-framework-ShazamKit==10.3.1
597
+ pyobjc-framework-Social==10.3.1
598
+ pyobjc-framework-SoundAnalysis==10.3.1
599
+ pyobjc-framework-Speech==10.3.1
600
+ pyobjc-framework-SpriteKit==10.3.1
601
+ pyobjc-framework-StoreKit==10.3.1
602
+ pyobjc-framework-Symbols==10.3.1
603
+ pyobjc-framework-SyncServices==10.3.1
604
+ pyobjc-framework-SystemConfiguration==10.3.1
605
+ pyobjc-framework-SystemExtensions==10.3.1
606
+ pyobjc-framework-ThreadNetwork==10.3.1
607
+ pyobjc-framework-UniformTypeIdentifiers==10.3.1
608
+ pyobjc-framework-UserNotifications==10.3.1
609
+ pyobjc-framework-UserNotificationsUI==10.3.1
610
+ pyobjc-framework-VideoSubscriberAccount==10.3.1
611
+ pyobjc-framework-VideoToolbox==10.3.1
612
+ pyobjc-framework-Virtualization==10.3.1
613
+ pyobjc-framework-Vision==10.3.1
614
+ pyobjc-framework-WebKit==10.3.1
615
+ pyodbc @ file:///Users/cbousseau/work/recipes/ci_py311/pyodbc_1678001241548/work
616
+ pyOpenSSL @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_ddecjfxr7g/croot/pyopenssl_1678965309681/work
617
+ pyparsing @ file:///Users/cbousseau/work/recipes/ci_py311/pyparsing_1677910832141/work
618
+ PyPasser==0.0.5
619
+ pypdf==5.1.0
620
+ PyPDF2==3.0.1
621
+ pyperclip==1.8.2
622
+ PyPika==0.48.9
623
+ pyproject_hooks==1.2.0
624
+ PyQt5==5.15.10
625
+ PyQt5-Qt5==5.15.14
626
+ PyQt5-sip==12.13.0
627
+ PyQtWebEngine==5.15.6
628
+ PyQtWebEngine-Qt5==5.15.14
629
+ pyrsistent @ file:///Users/cbousseau/work/recipes/ci_py311/pyrsistent_1677909782145/work
630
+ PySocks @ file:///Users/cbousseau/work/recipes/ci_py311/pysocks_1677906386870/work
631
+ pytest==8.3.4
632
+ pytest-asyncio==0.25.3
633
+ python-bidi==0.6.6
634
+ python-dateutil==2.9.0.post0
635
+ python-dotenv==1.0.1
636
+ python-json-logger @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_c3baq2ko4j/croot/python-json-logger_1683823815343/work
637
+ python-lsp-black==2.0.0
638
+ python-lsp-jsonrpc==1.1.2
639
+ python-lsp-server==1.11.0
640
+ python-magic==0.4.27
641
+ python-multipart==0.0.20
642
+ python-slugify @ file:///tmp/build/80754af9/python-slugify_1620405669636/work
643
+ python-snappy @ file:///Users/cbousseau/work/recipes/ci_py311/python-snappy_1677954153933/work
644
+ pytoolconfig @ file:///Users/cbousseau/work/recipes/ci_py311/pytoolconfig_1677952331058/work
645
+ pyttsx3==2.98
646
+ pytz==2025.1
647
+ pytz-deprecation-shim==0.1.0.post0
648
+ pyviz-comms @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_54a2e0jluq/croot/pyviz_comms_1685030719530/work
649
+ PyWavelets @ file:///Users/cbousseau/work/recipes/ci_py311/pywavelets_1677934749412/work
650
+ PyYAML==6.0.2
651
+ pyzmq @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_23n9bfwjq5/croot/pyzmq_1686601381911/work
652
+ QDarkStyle==3.2.3
653
+ qiskit==1.2.2
654
+ qiskit-aer==0.15.1
655
+ qiskit-algorithms==0.3.0
656
+ qiskit-machine-learning==0.7.2
657
+ qstylizer @ file:///Users/cbousseau/work/recipes/ci_py311/qstylizer_1678072198813/work/dist/qstylizer-0.2.2-py2.py3-none-any.whl
658
+ QtAwesome==1.3.1
659
+ qtconsole==5.5.2
660
+ QtPy==2.4.1
661
+ queuelib==1.5.0
662
+ random-password-generator==2.2.0
663
+ random-username==1.0.2
664
+ rapidfuzz==3.2.0
665
+ recognizers-text==1.0.2a2
666
+ recognizers-text-choice==1.0.2a2
667
+ recognizers-text-date-time==1.0.2a2
668
+ recognizers-text-number==1.0.2a2
669
+ recognizers-text-number-with-unit==1.0.2a2
670
+ recognizers-text-sequence==1.0.2a2
671
+ recognizers-text-suite==1.0.2a2
672
+ records==0.5.3
673
+ redis==5.1.1
674
+ regex @ file:///Users/cbousseau/work/recipes/ci_py311/regex_1677961821876/work
675
+ requests==2.32.3
676
+ requests-file @ file:///Users/ktietz/demo/mc3/conda-bld/requests-file_1629455781986/work
677
+ requests-oauthlib==1.4.0
678
+ requests-toolbelt==1.0.0
679
+ responses @ file:///tmp/build/80754af9/responses_1619800270522/work
680
+ retrying==1.3.4
681
+ rfc3339-validator @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_76ae5cu30h/croot/rfc3339-validator_1683077051957/work
682
+ rfc3986-validator @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_d0l5zd97kt/croot/rfc3986-validator_1683058998431/work
683
+ rfc3987==1.3.8
684
+ rich==13.9.4
685
+ rich-toolkit==0.12.0
686
+ roboflow==1.1.54
687
+ rope==1.13.0
688
+ rsa==4.9
689
+ Rtree @ file:///Users/cbousseau/work/recipes/ci_py311/rtree_1677961892694/work
690
+ ruamel-yaml-conda @ file:///Users/cbousseau/work/recipes/ci_py311/ruamel_yaml_1677961911260/work
691
+ ruamel.yaml @ file:///Users/cbousseau/work/recipes/ci_py311/ruamel.yaml_1677934845850/work
692
+ rustworkx==0.15.1
693
+ s3fs @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_94qu8izf0w/croot/s3fs_1682551484893/work
694
+ s3transfer==0.11.2
695
+ sacremoses @ file:///tmp/build/80754af9/sacremoses_1633107328213/work
696
+ scikit-image @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_12rg0hdzgk/croot/scikit-image_1682528304529/work
697
+ scikit-learn==1.5.2
698
+ scipy==1.10.1
699
+ Scrapy @ file:///Users/cbousseau/work/recipes/ci_py311/scrapy_1678002824834/work
700
+ seaborn @ file:///Users/cbousseau/work/recipes/ci_py311/seaborn_1677961968762/work
701
+ selenium==4.5.0
702
+ semantic-version==2.10.0
703
+ semver==2.13.0
704
+ Send2Trash @ file:///tmp/build/80754af9/send2trash_1632406701022/work
705
+ service-identity @ file:///Users/ktietz/demo/mc3/conda-bld/service_identity_1629460757137/work
706
+ shapely==2.0.7
707
+ shellingham==1.5.4
708
+ sip @ file:///Users/cbousseau/work/recipes/ci_py311/sip_1677923661665/work
709
+ six @ file:///tmp/build/80754af9/six_1644875935023/work
710
+ smart-open @ file:///Users/cbousseau/work/recipes/ci_py311/smart_open_1677955621457/work
711
+ smmap==5.0.0
712
+ sniffio==1.3.0
713
+ snowballstemmer @ file:///tmp/build/80754af9/snowballstemmer_1637937080595/work
714
+ sortedcontainers @ file:///tmp/build/80754af9/sortedcontainers_1623949099177/work
715
+ sounddevice==0.5.0
716
+ soupsieve==2.4.1
717
+ SpeechRecognition==3.8.1
718
+ Sphinx @ file:///Users/cbousseau/work/recipes/ci_py311/sphinx_1677955655588/work
719
+ sphinxcontrib-applehelp @ file:///home/ktietz/src/ci/sphinxcontrib-applehelp_1611920841464/work
720
+ sphinxcontrib-devhelp @ file:///home/ktietz/src/ci/sphinxcontrib-devhelp_1611920923094/work
721
+ sphinxcontrib-htmlhelp @ file:///tmp/build/80754af9/sphinxcontrib-htmlhelp_1623945626792/work
722
+ sphinxcontrib-jsmath @ file:///home/ktietz/src/ci/sphinxcontrib-jsmath_1611920942228/work
723
+ sphinxcontrib-qthelp @ file:///home/ktietz/src/ci/sphinxcontrib-qthelp_1611921055322/work
724
+ sphinxcontrib-serializinghtml @ file:///tmp/build/80754af9/sphinxcontrib-serializinghtml_1624451540180/work
725
+ spyder==5.5.4
726
+ spyder-kernels==2.5.1
727
+ SQLAlchemy==2.0.36
728
+ sqlparse==0.4.2
729
+ stack-data @ file:///opt/conda/conda-bld/stack_data_1646927590127/work
730
+ starlette==0.45.3
731
+ statsmodels @ file:///Users/cbousseau/work/recipes/ci_py311/statsmodels_1677962091868/work
732
+ stevedore==5.3.0
733
+ streamlit==1.25.0
734
+ strict-rfc3339==0.7
735
+ striprtf==0.0.26
736
+ supervision==0.25.1
737
+ symengine==0.11.0
738
+ sympy @ file:///Users/cbousseau/work/recipes/ci_py311_2/sympy_1678995976952/work
739
+ tables==3.9.2
740
+ tablib==3.6.1
741
+ tabulate @ file:///Users/cbousseau/work/recipes/ci_py311/tabulate_1678003852126/work
742
+ TBB==0.2
743
+ tblib @ file:///Users/ktietz/demo/mc3/conda-bld/tblib_1629402031467/work
744
+ tenacity==8.5.0
745
+ tensorboard==2.17.1
746
+ tensorboard-data-server==0.7.2
747
+ tensorflow==2.17.0
748
+ tensorflow-estimator==2.13.0
749
+ tensorflow-hub==0.12.0
750
+ tensorflow-io-gcs-filesystem==0.36.0
751
+ tensorflow-macos==2.13.0
752
+ termcolor==2.4.0
753
+ terminado @ file:///Users/cbousseau/work/recipes/ci_py311/terminado_1677918849903/work
754
+ text-unidecode @ file:///Users/ktietz/demo/mc3/conda-bld/text-unidecode_1629401354553/work
755
+ textdistance @ file:///tmp/build/80754af9/textdistance_1612461398012/work
756
+ threadpoolctl==3.5.0
757
+ three-merge @ file:///tmp/build/80754af9/three-merge_1607553261110/work
758
+ tifffile @ file:///tmp/build/80754af9/tifffile_1627275862826/work
759
+ tiktoken==0.9.0
760
+ tinycss2 @ file:///Users/cbousseau/work/recipes/ci_py311/tinycss2_1677917352983/work
761
+ tld==0.13
762
+ tldextract @ file:///opt/conda/conda-bld/tldextract_1646638314385/work
763
+ tls-client==0.2.1
764
+ tmdbsimple==2.9.1
765
+ tokencost==0.1.18
766
+ tokenizers @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_123g4rizbe/croot/tokenizers_1687191917415/work
767
+ toml @ file:///tmp/build/80754af9/toml_1616166611790/work
768
+ tomli @ file:///Users/cbousseau/work/recipes/ci_py311/tomli_1677905024737/work
769
+ tomli_w==1.2.0
770
+ tomlkit @ file:///Users/cbousseau/work/recipes/ci_py311/tomlkit_1677911131859/work
771
+ toolz @ file:///Users/cbousseau/work/recipes/ci_py311/toolz_1677925870232/work
772
+ torch==2.4.0
773
+ torchvision==0.19.0
774
+ tornado==6.3.3
775
+ tqdm==4.67.1
776
+ trafilatura==2.0.0
777
+ traitlets==5.14.3
778
+ transformers @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_aecnjml9j7/croot/transformers_1684843867688/work
779
+ trio==0.22.0
780
+ trio-websocket==0.10.3
781
+ trove-classifiers==2025.1.15.22
782
+ Twisted @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_3c_lnc4s5c/croot/twisted_1683796895946/work
783
+ TwoCaptcha==0.0.1
784
+ typer==0.15.1
785
+ types-requests==0.1.13
786
+ typing-inspect==0.8.0
787
+ typing_extensions==4.12.2
788
+ tzdata==2023.3
789
+ tzlocal==4.3.1
790
+ uc-micro-py @ file:///Users/cbousseau/work/recipes/ci_py311/uc-micro-py_1677963537430/work
791
+ ujson @ file:///Users/cbousseau/work/recipes/ci_py311/ujson_1677927397272/work
792
+ ultralytics==8.3.81
793
+ ultralytics-thop==2.0.14
794
+ undetected-chromedriver==3.5.3
795
+ Unidecode @ file:///tmp/build/80754af9/unidecode_1614712377438/work
796
+ unstructured==0.9.2
797
+ uri-template==1.3.0
798
+ uritemplate==4.1.1
799
+ urllib3==1.26.18
800
+ userpath==1.9.2
801
+ uv==0.6.0
802
+ uvicorn==0.34.0
803
+ uvloop==0.17.0
804
+ validate-email==1.3
805
+ validators==0.21.2
806
+ virtualenv==20.26.6
807
+ w3lib @ file:///Users/ktietz/demo/mc3/conda-bld/w3lib_1629359764703/work
808
+ watchdog==6.0.0
809
+ watchfiles==0.19.0
810
+ wcwidth @ file:///Users/ktietz/demo/mc3/conda-bld/wcwidth_1629357192024/work
811
+ webcolors==24.6.0
812
+ webdriver-manager==3.8.6
813
+ webencodings==0.5.1
814
+ websocket-client @ file:///Users/cbousseau/work/recipes/ci_py311/websocket-client_1677918996745/work
815
+ websockets==11.0.3
816
+ Werkzeug==3.0.4
817
+ whatthepatch @ file:///Users/cbousseau/work/recipes/ci_py311/whatthepatch_1677934976505/work
818
+ widgetsnbextension @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_cd_nvw5x1_/croot/widgetsnbextension_1679313872684/work
819
+ wrapt @ file:///Users/cbousseau/work/recipes/ci_py311/wrapt_1677925966862/work
820
+ wsproto==1.2.0
821
+ wurlitzer @ file:///Users/cbousseau/work/recipes/ci_py311/wurlitzer_1677955854875/work
822
+ xarray @ file:///Users/cbousseau/work/recipes/ci_py311/xarray_1677963740356/work
823
+ xgboost==2.0.3
824
+ XlsxWriter==3.2.0
825
+ xlwings @ file:///Users/cbousseau/work/recipes/ci_py311_2/xlwings_1678996173448/work
826
+ xxhash @ file:///Users/cbousseau/work/recipes/ci_py311/python-xxhash_1677954188023/work
827
+ xyzservices @ file:///Users/cbousseau/work/recipes/ci_py311/xyzservices_1677927443768/work
828
+ y-py @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_58d555zc6u/croot/y-py_1683555409055/work
829
+ yapf==0.40.2
830
+ yarl==1.18.3
831
+ ypy-websocket @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_e638ipunz1/croot/ypy-websocket_1684192343550/work
832
+ zict @ file:///private/var/folders/nz/j6p8yfhx1mv_0grj5xl4650h0000gp/T/abs_06f3lix4ji/croot/zict_1682698748419/work
833
+ zipp @ file:///Users/cbousseau/work/recipes/ci_py311/zipp_1677907997878/work
834
+ zope.interface @ file:///Users/cbousseau/work/recipes/ci_py311/zope.interface_1678055276546/work
835
+ zstandard @ file:///Users/cbousseau/work/recipes/ci_py311_2/zstandard_1678996192313/work
yolov8n.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f59b3d833e2ff32e194b5bb8e08d211dc7c5bdf144b90d2c8412c47ccfc83b36
3
+ size 6549796