pogucam 0.1.3__tar.gz → 0.1.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pogucam-0.1.3 → pogucam-0.1.5}/.bumpversion.cfg +1 -1
- pogucam-0.1.5/PKG-INFO +18 -0
- {pogucam-0.1.3 → pogucam-0.1.5}/pyproject.toml +13 -3
- {pogucam-0.1.3 → pogucam-0.1.5}/src/pogucam/explore_u24_uni.py +3 -3
- pogucam-0.1.5/src/pogucam/installation.md +8 -0
- pogucam-0.1.5/src/pogucam/text_write.py +535 -0
- pogucam-0.1.5/uv.lock +415 -0
- pogucam-0.1.3/PKG-INFO +0 -10
- {pogucam-0.1.3 → pogucam-0.1.5}/.gitignore +0 -0
- {pogucam-0.1.3 → pogucam-0.1.5}/.python-version +0 -0
- {pogucam-0.1.3 → pogucam-0.1.5}/README.md +0 -0
- {pogucam-0.1.3 → pogucam-0.1.5}/src/pogucam/__init__.py +0 -0
pogucam-0.1.5/PKG-INFO
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: pogucam
|
3
|
+
Version: 0.1.5
|
4
|
+
Summary: Add your description here
|
5
|
+
Author-email: jaromrax <jaromrax@gmail.com>
|
6
|
+
Requires-Python: >=3.12
|
7
|
+
Requires-Dist: astropy>=7.1.0
|
8
|
+
Requires-Dist: click>=8.2.1
|
9
|
+
Requires-Dist: console>=0.9911
|
10
|
+
Requires-Dist: numpy>=2.3.0
|
11
|
+
Requires-Dist: opencv-python>=4.11.0.86
|
12
|
+
Requires-Dist: pillow>=11.2.1
|
13
|
+
Requires-Dist: pyqt6>=6.9.1
|
14
|
+
Requires-Dist: requests>=2.32.4
|
15
|
+
Description-Content-Type: text/markdown
|
16
|
+
|
17
|
+
# POor GUy CAMera tool
|
18
|
+
|
@@ -1,17 +1,27 @@
|
|
1
1
|
[project]
|
2
2
|
name = "pogucam"
|
3
|
-
version = "0.1.
|
3
|
+
version = "0.1.5"
|
4
4
|
description = "Add your description here"
|
5
5
|
readme = "README.md"
|
6
6
|
authors = [
|
7
7
|
{ name = "jaromrax", email = "jaromrax@gmail.com" }
|
8
8
|
]
|
9
9
|
requires-python = ">=3.12"
|
10
|
-
dependencies = [
|
10
|
+
dependencies = [
|
11
|
+
"astropy>=7.1.0",
|
12
|
+
"click>=8.2.1",
|
13
|
+
"console>=0.9911",
|
14
|
+
"numpy>=2.3.0",
|
15
|
+
"opencv-python>=4.11.0.86",
|
16
|
+
"pillow>=11.2.1",
|
17
|
+
"pyqt6>=6.9.1",
|
18
|
+
"requests>=2.32.4",
|
19
|
+
]
|
11
20
|
|
12
21
|
[project.scripts]
|
13
22
|
#pogucam = "pogucam:main"
|
14
|
-
pogucam = "explore_u24_uni:handle_cli"
|
23
|
+
pogucam = "pogucam.explore_u24_uni:handle_cli"
|
24
|
+
|
15
25
|
|
16
26
|
|
17
27
|
[build-system]
|
@@ -63,7 +63,7 @@ import base64
|
|
63
63
|
import getpass
|
64
64
|
import time
|
65
65
|
|
66
|
-
from
|
66
|
+
from pogucam.text_write import iprint, fonts_available, get_f_height, get_f_width, get_def_font, set_def_font
|
67
67
|
from console import fg, bg, fx
|
68
68
|
|
69
69
|
from astropy.io import fits
|
@@ -87,8 +87,8 @@ UPDATE_INTERVAL = 1
|
|
87
87
|
|
88
88
|
# ---------- files:
|
89
89
|
FILE_USERPASS = "~/.config/flashcam/.flashcam_upw" # will extend
|
90
|
-
FILE_REDCROSS0 = "~/.config/
|
91
|
-
FILE_REDCROSS = "~/.config/
|
90
|
+
FILE_REDCROSS0 = "~/.config/pogucam/crossred" # will extend
|
91
|
+
FILE_REDCROSS = "~/.config/pogucam/crossred" # will extend
|
92
92
|
|
93
93
|
# ================================================================================
|
94
94
|
# RA "00 12 45.2"
|
@@ -0,0 +1,535 @@
|
|
1
|
+
|
2
|
+
#!/usr/bin/env python3
|
3
|
+
|
4
|
+
#from fire import Fire
|
5
|
+
#from flashcam.version import __version__
|
6
|
+
import os
|
7
|
+
import cv2
|
8
|
+
from PIL import ImageFont, ImageDraw, Image
|
9
|
+
import numpy as np
|
10
|
+
|
11
|
+
|
12
|
+
# Code: ttfname, FSize(pt), KERN, FHieght, FWidth
|
13
|
+
#Fheight=>shiftUP txt by it
|
14
|
+
# default 10,0,10,5
|
15
|
+
fonts_available = {
|
16
|
+
"s8":["small_pixel.ttf",8,0,7,5],
|
17
|
+
"s6":["small_pixel.ttf",6,0,6,5],
|
18
|
+
"pr":["prstartk.ttf",6,-1,6,5],
|
19
|
+
"pr4":["prstartk.ttf",10,-1,10,9],
|
20
|
+
"fj":["PixelFJVerdana12pt.ttf",4,0,6,5],
|
21
|
+
"fj6":["PixelFJVerdana12pt.ttf",6,0,12,6],
|
22
|
+
"re":["retganon.ttf",12,0,9,4],
|
23
|
+
"p8":["pixelFJ8pt1__.TTF",8,0,6,5] ,
|
24
|
+
"p7":["pixelFJ8pt1__.TTF",7,0,6,5] ,
|
25
|
+
"ty":["TypographerFraktur-Medium.ttf",14,0,16,7],
|
26
|
+
"v1":["visitor1.ttf",10,0,7,5],
|
27
|
+
"v14":["visitor1.ttf",14,0,10,7 ],
|
28
|
+
"v18":["visitor1.ttf",18,0,13,9 ],
|
29
|
+
"v2":["visitor2.ttf",12,0,6,5],
|
30
|
+
"co":["coders_crux.ttf",16,-1,7,5],
|
31
|
+
# "ji":["JikiTourai.ttf",10,0,10,6],
|
32
|
+
# "ca":["Caracas.ttf",10,0,10,7],
|
33
|
+
# "sa":["SAIBA-45.ttf",12,0,10,7],
|
34
|
+
# "ni":["NimbusMono-Regular.otf",12,0,9,7],
|
35
|
+
# "nib":["NimbusMono-Bold.otf",12,0,9,7],
|
36
|
+
# "li":["LiberationMono-Regular.ttf",12,0,10,7],
|
37
|
+
# "cu":["COURIERO.TTF",10,0,8,7],
|
38
|
+
"di":["digital-7.mono.ttf",10,0,8,5],
|
39
|
+
"di2":["digital-7.mono.ttf",20,0,16,10],
|
40
|
+
# "di":["digital-7.mono.ttf",9,0,7,6],
|
41
|
+
"di99":["digital-7.mono.ttf",120,0,170,15],
|
42
|
+
"di90":["digital-7.mono.ttf",110,0,155,14],
|
43
|
+
"vt":["VT323-Regular.ttf",12,-1,6,5],
|
44
|
+
"vt4":["VT323-Regular.ttf",14,-1,13,5],
|
45
|
+
"utfu":[ "Uni_Sans_Thin.otf", 24, 0, 24, 8 ], # uppercase thin
|
46
|
+
"utfo":[ "OpenSans-Regular.ttf", 24, 0, 30, 12 ],
|
47
|
+
"utfg":[ "good_times_rg.otf", 24, 0, 24, 8 ], # uppercase - broad
|
48
|
+
# "utfp":[ "pricedown_bl.otf", 24, 0, 24, 8 ], # uppercase BoldSignature
|
49
|
+
"utfh":[ "hemi_head_bd_it.otf", 24, -2, 24, 14 ]
|
50
|
+
}
|
51
|
+
|
52
|
+
LAST_FONT = None
|
53
|
+
|
54
|
+
MSG_FONT = "v14"
|
55
|
+
WIDGET_DEFAULT_GREEN = (0, 255, 0)
|
56
|
+
WIDGET_DEFAULT_ALERTRED = (50, 50, 255)
|
57
|
+
#
|
58
|
+
WIDGET_DEFAULT_DGREEN = (0, 120, 0)
|
59
|
+
WIDGET_DEFAULT_YELLOW = (0, 255, 255) #(100, 255, 185)
|
60
|
+
#WIDGET_DEFAULT_COLOR = (255, 250, 255) # BGR
|
61
|
+
#WIDGET_DEFAULT_COLOR = (255, 0, 0) # blu
|
62
|
+
#WIDGET_DEFAULT_COLOR = (0, 255, 255) # yell
|
63
|
+
#WIDGET_DEFAULT_COLOR = (100, 205, 105) #
|
64
|
+
WIDGET_DEFAULT_COLOR = WIDGET_DEFAULT_YELLOW
|
65
|
+
WIDGET_DEFAULT_COLOR_DARK = WIDGET_DEFAULT_DGREEN
|
66
|
+
WIDGET_DEFAULT_COLOR_BLACK = (0, 0, 0)
|
67
|
+
WIDGET_DEFAULT_COLOR_WHITE = (255, 255, 255)
|
68
|
+
# for auto color
|
69
|
+
WIDGET_COLOR_THRESHOLD = 210
|
70
|
+
WIDGET_COLOR_THRESHOLD_LOW = 140
|
71
|
+
|
72
|
+
def set_def_font( font ):
|
73
|
+
global LAST_FONT
|
74
|
+
if font is None: LAST_FONT = "p8"
|
75
|
+
if font in fonts_available.keys():
|
76
|
+
LAST_FONT = font
|
77
|
+
else:
|
78
|
+
LAST_FONT = "p8"
|
79
|
+
|
80
|
+
|
81
|
+
def get_def_font():
|
82
|
+
global LAST_FONT
|
83
|
+
return LAST_FONT
|
84
|
+
|
85
|
+
|
86
|
+
def get_f_width(font = None):
|
87
|
+
global LAST_FONT
|
88
|
+
mfont = font
|
89
|
+
if mfont is None: mfont = LAST_FONT
|
90
|
+
if mfont is None: return 5
|
91
|
+
if mfont in fonts_available.keys():
|
92
|
+
#LAST_FONT = mfont
|
93
|
+
return fonts_available[mfont][4]
|
94
|
+
else:
|
95
|
+
return 5
|
96
|
+
|
97
|
+
def get_f_height(font = None):
|
98
|
+
global LAST_FONT
|
99
|
+
mfont = font
|
100
|
+
if mfont is None: mfont = LAST_FONT
|
101
|
+
if mfont is None: return 25
|
102
|
+
if mfont in fonts_available.keys():
|
103
|
+
#LAST_FONT = mfont
|
104
|
+
return fonts_available[mfont][3]
|
105
|
+
else:
|
106
|
+
return 25
|
107
|
+
|
108
|
+
#def iprint( frame, drtext, font, position , color_bgra=(100,0,0,0) ):
|
109
|
+
# mess - it seems RGB is needed
|
110
|
+
#
|
111
|
+
def iprint( frame, drtext, font, position , color_rgb=(0,255,0) ):
|
112
|
+
global LAST_FONT
|
113
|
+
|
114
|
+
if drtext is None: return
|
115
|
+
if type(drtext) is not str:
|
116
|
+
drtext = str(drtext)
|
117
|
+
mfont = font
|
118
|
+
if mfont is None: mfont = LAST_FONT
|
119
|
+
if mfont is None: return frame
|
120
|
+
if mfont in fonts_available.keys():
|
121
|
+
#print("D.... FONT ACCEPTED:", mfont )
|
122
|
+
#print("D.... FONT ACCEPTED:", fonts_available[mfont][0] )
|
123
|
+
#LAST_FONT = mfont
|
124
|
+
# prepare font
|
125
|
+
fname = fonts_available[mfont][0]
|
126
|
+
fsize = fonts_available[mfont][1]
|
127
|
+
fkern = fonts_available[mfont][2]
|
128
|
+
fheig = fonts_available[mfont][3]
|
129
|
+
fontpath = os.path.expanduser(f"~/.config/flashcam/{fname}")
|
130
|
+
font = ImageFont.truetype(fontpath, fsize)
|
131
|
+
#### draw
|
132
|
+
#### img_pil = Image.fromarray(frame.astype('uint8'), 'RGB') # sometimes crashes
|
133
|
+
# img_pil = Image.fromarray(frame) ##### BUGBUG !!!!!!!!!!!!!!!!
|
134
|
+
|
135
|
+
# Tying to repair:
|
136
|
+
# Ensure the frame has correct data type
|
137
|
+
if frame.dtype != np.uint8:
|
138
|
+
frame = (255 * frame).astype(np.uint8) if frame.max() <= 1 else frame.astype(np.uint8)
|
139
|
+
img_pil = Image.fromarray(frame) # Correct data type
|
140
|
+
# emd of repair
|
141
|
+
|
142
|
+
draw = ImageDraw.Draw(img_pil )
|
143
|
+
|
144
|
+
letter_spacing = fkern
|
145
|
+
x,y=position
|
146
|
+
# Draw each character with custom spacing
|
147
|
+
for chara in drtext:
|
148
|
+
#print(f"D... #fill@draw.text: {frame.shape} {color_rgb} {type(color_rgb)} CHAR={chara}/{ord(chara)}/; {(x, y-fheig)}")
|
149
|
+
#color_rgb = (255,255,255)
|
150
|
+
|
151
|
+
try:
|
152
|
+
draw.text((x, y-fheig), str(chara), fill=color_rgb, font=font, align="left")
|
153
|
+
except:
|
154
|
+
draw.text((x, y-fheig), chara, font=font, align="left")
|
155
|
+
|
156
|
+
# THIS WORKS ONLY WITH pillow==9.0.1 ####################
|
157
|
+
#char_width, _ = draw.textsize(chara, font=font)
|
158
|
+
#char_width, _ = draw.textsize(chara, font=font)
|
159
|
+
#x += char_width + letter_spacing
|
160
|
+
# replacing with
|
161
|
+
bbox = draw.textbbox((0, 0), chara, font=font)
|
162
|
+
char_width = bbox[2] - bbox[0]
|
163
|
+
x += char_width + letter_spacing
|
164
|
+
|
165
|
+
frame = np.array(img_pil)
|
166
|
+
return frame
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
def get_color_based_on_brightness(frame, left_up_point , right_down_point):
|
171
|
+
(x1, y1) = left_up_point
|
172
|
+
(x2, y2) = right_down_point
|
173
|
+
x1 = max(0, x1)
|
174
|
+
x2 = min( frame.shape[1], x2)
|
175
|
+
y1 = max(0, y1)
|
176
|
+
y2 = min(frame.shape[0], y2)
|
177
|
+
# Extract the region of interest (ROI)
|
178
|
+
roi = frame[y1:y2, x1:x2]
|
179
|
+
|
180
|
+
# Convert the ROI to grayscale
|
181
|
+
gray_roi = cv2.cvtColor(roi, cv2.COLOR_BGR2GRAY)
|
182
|
+
# Calculate the average brightness - no, maximum!
|
183
|
+
avg_brightness = int(np.mean(gray_roi))
|
184
|
+
max_brightness = int(np.max(gray_roi))
|
185
|
+
|
186
|
+
# if average_brightness < WIDGET_COLOR_THRESHOLD:
|
187
|
+
if max_brightness < WIDGET_COLOR_THRESHOLD:
|
188
|
+
return tuple( WIDGET_DEFAULT_COLOR )
|
189
|
+
else:
|
190
|
+
# it is bright
|
191
|
+
min_brightness = int(np.min(gray_roi))
|
192
|
+
avg_brightness = int(np.mean(gray_roi))
|
193
|
+
#print(f"------{min_brightness} {avg_brightness} {max_brightness}----")
|
194
|
+
if (min_brightness > 40) and (avg_brightness < 150):
|
195
|
+
return tuple(WIDGET_DEFAULT_COLOR_BLACK)
|
196
|
+
if (min_brightness > 40) and (avg_brightness >= 150):
|
197
|
+
return tuple(WIDGET_DEFAULT_COLOR_DARK)
|
198
|
+
if (min_brightness <= 40) and (avg_brightness >= 100):
|
199
|
+
return tuple(WIDGET_DEFAULT_COLOR_DARK) #?
|
200
|
+
if (min_brightness <= 40) and (avg_brightness < 100):
|
201
|
+
return tuple(WIDGET_DEFAULT_COLOR_WHITE)
|
202
|
+
return tuple(WIDGET_DEFAULT_COLOR_WHITE)
|
203
|
+
|
204
|
+
# # Convert the ROI to HSV color space
|
205
|
+
# hsv_roi = cv2.cvtColor(roi, cv2.COLOR_BGR2HSV)
|
206
|
+
# # Extract the Hue channel
|
207
|
+
# hue_channel = hsv_roi[:, :, 0]
|
208
|
+
# # Calculate the average hue
|
209
|
+
# average_hue = np.mean(hue_channel)
|
210
|
+
# # Calculate the contrasting hue
|
211
|
+
# contrasting_hue = (average_hue + 20) % 180 # Adding 90 for a contrasting color in OpenCV's 0-180 range
|
212
|
+
# #contrasting_hue = average_hue
|
213
|
+
# print( int(average_hue), " ",int(contrasting_hue) , end=" ")
|
214
|
+
# # Define the allowed hue ranges (in OpenCV's 0-180 hue range)
|
215
|
+
# allowed_ranges = [(20, 40), (40, 80), (140, 160), (80, 100)] # Yellow, green, pink, cyan
|
216
|
+
# allowed_ranges = [(0, 180)] # Yellow, green, pink, cyan
|
217
|
+
# allowed_ranges = [(4, 25)] # Yellow, green, pink, cyan
|
218
|
+
# allowed_ranges = [(6, 255)] # Yellow, green, pink, cyan
|
219
|
+
|
220
|
+
# # Define the ranges to avoid (in OpenCV's 0-180 hue range)
|
221
|
+
# avoid_ranges = [(0, 15), (165, 180), (105, 135)] # Deep red, deep blue, violet
|
222
|
+
|
223
|
+
# # Adjust the contrasting hue to fall within the allowed ranges
|
224
|
+
# for low, high in allowed_ranges:
|
225
|
+
# if low <= contrasting_hue <= high:
|
226
|
+
# break
|
227
|
+
# else:
|
228
|
+
# # If the initial contrasting hue is not in any allowed range, pick the closest allowed range
|
229
|
+
# closest_range = min(allowed_ranges, key=lambda r: min(abs(contrasting_hue - r[0]), abs(contrasting_hue - r[1])))
|
230
|
+
# contrasting_hue = (closest_range[0] + closest_range[1]) // 2
|
231
|
+
|
232
|
+
# # # Adjust the contrasting hue to avoid the specified ranges
|
233
|
+
# # for low, high in avoid_ranges:
|
234
|
+
# # if low <= contrasting_hue <= high:
|
235
|
+
# # contrasting_hue = (high + 15) % 180
|
236
|
+
# # break
|
237
|
+
|
238
|
+
# # Create an HSV image with the contrasting hue
|
239
|
+
# hsv_contrasting = np.zeros((1, 1, 3), dtype=np.uint8)
|
240
|
+
# hsv_contrasting[0, 0, 0] = contrasting_hue
|
241
|
+
# hsv_contrasting[0, 0, 1] = 245 # Full saturation
|
242
|
+
# hsv_contrasting[0, 0, 2] = 255 # Full value (brightness)
|
243
|
+
|
244
|
+
# floor = 70 # base green
|
245
|
+
# tresh = 150
|
246
|
+
# if average_brightness>tresh:
|
247
|
+
# nc = floor
|
248
|
+
# else:
|
249
|
+
# nc = (tresh-average_brightness)/(tresh)
|
250
|
+
# nc = int((255-floor)*nc*nc)+floor
|
251
|
+
# #nc = 255 - average_brightness
|
252
|
+
# if nc>255:nc=255
|
253
|
+
# if nc<60:nc=60
|
254
|
+
# hsv_contrasting[0, 0, 2] = nc # Full value (brightness)
|
255
|
+
|
256
|
+
# # Convert the HSV image to BGR
|
257
|
+
# bgr_contrasting = cv2.cvtColor(hsv_contrasting, cv2.COLOR_HSV2BGR)
|
258
|
+
# # Get the BGR values
|
259
|
+
# bgr_values = bgr_contrasting[0, 0]
|
260
|
+
|
261
|
+
# # # # Find the maximum component value
|
262
|
+
# #max_component = np.max(bgr_values) # Calculate the scaling factor to make the maximum component 255
|
263
|
+
# #scaling_factor = 255 / max_component # Scale the color components
|
264
|
+
# #bgr_values = np.clip(bgr_values * scaling_factor, 0, 255).astype(np.uint8)
|
265
|
+
|
266
|
+
|
267
|
+
# #print(f" {bgr_values} avgb= {average_brightness} x trsh={tresh} /FLO{floor} NC={nc} ")
|
268
|
+
# return tuple(bgr_values)
|
269
|
+
|
270
|
+
|
271
|
+
|
272
|
+
def dial(frame, position, radius=30, thickness=10, color=WIDGET_DEFAULT_COLOR, percentage=100, value = 12.3, title=""):
|
273
|
+
"""
|
274
|
+
AI generated: too many iterations
|
275
|
+
use with text:
|
276
|
+
FO="v14"
|
277
|
+
frame = iprint( frame,
|
278
|
+
str(round(100*overtextalpha/255)),
|
279
|
+
FO,
|
280
|
+
position = (post[0]-2*get_f_width(FO)//2,
|
281
|
+
post[1] +get_f_height(FO)//2 ),
|
282
|
+
color_rgb= (0,255, 0, 255-int(overtextalpha))
|
283
|
+
)
|
284
|
+
|
285
|
+
"""
|
286
|
+
MY_CIRC_COLOR = WIDGET_DEFAULT_GREEN
|
287
|
+
#if percentage <= 0: MY_CIRC_COLOR = (100, 100, 255) # BGR
|
288
|
+
if percentage >= 100:
|
289
|
+
MY_CIRC_COLOR = WIDGET_DEFAULT_ALERTRED #(50, 50, 255) # BGR
|
290
|
+
# Calculate the bounding box of the circle
|
291
|
+
left_up_point = (position[0] - radius, position[1] - radius)
|
292
|
+
right_down_point = (position[0] + radius, position[1] + radius)
|
293
|
+
#ncolor = get_color_based_on_brightness( frame, left_up_point , right_down_point)
|
294
|
+
ncolor = color
|
295
|
+
|
296
|
+
# Convert the image to a PIL Image
|
297
|
+
pil_img = Image.fromarray(frame)
|
298
|
+
draw = ImageDraw.Draw(pil_img)
|
299
|
+
|
300
|
+
|
301
|
+
|
302
|
+
|
303
|
+
|
304
|
+
# Calculate the start angle based on the percentage for clockwise drawing
|
305
|
+
end_angle = 270 # Ending at the top (north)
|
306
|
+
start_angle = end_angle - (360 * (percentage / 100.0))
|
307
|
+
|
308
|
+
# Draw the partial circle (arc)
|
309
|
+
draw.arc([left_up_point, right_down_point], start=start_angle, end=end_angle, fill=MY_CIRC_COLOR , width=thickness)
|
310
|
+
|
311
|
+
# Draw a thin full circle as a guide
|
312
|
+
guide_thickness = 1 # Set the thickness of the guide circle
|
313
|
+
draw.ellipse([left_up_point, right_down_point], outline=MY_CIRC_COLOR , width=guide_thickness)
|
314
|
+
|
315
|
+
# Convert back to OpenCV image
|
316
|
+
|
317
|
+
|
318
|
+
frame = np.array(pil_img)
|
319
|
+
FO="v14"
|
320
|
+
FO=MSG_FONT
|
321
|
+
frame = iprint( frame,
|
322
|
+
str( value),
|
323
|
+
FO,
|
324
|
+
position = (position[0]-2*get_f_width(FO)//2,
|
325
|
+
position[1] +get_f_height(FO)//2 ),
|
326
|
+
color_rgb= ncolor
|
327
|
+
)
|
328
|
+
frame = iprint( frame,
|
329
|
+
str( title),
|
330
|
+
FO,
|
331
|
+
position = (position[0]-len(title)*get_f_width(FO)//2,
|
332
|
+
position[1] + radius + get_f_height(FO) ),
|
333
|
+
color_rgb= ncolor
|
334
|
+
)
|
335
|
+
return frame
|
336
|
+
|
337
|
+
|
338
|
+
def tacho(frame, position, radius=30, thickness=10, color=WIDGET_DEFAULT_COLOR, percentage=100, value = 12.3, title=""):
|
339
|
+
"""
|
340
|
+
|
341
|
+
"""
|
342
|
+
|
343
|
+
# Calculate the bounding box of the circle
|
344
|
+
left_up_point = (position[0] - radius, position[1] - radius)
|
345
|
+
right_down_point = (position[0] + radius, position[1] + radius)
|
346
|
+
#ncolor = get_color_based_on_brightness( frame, left_up_point , right_down_point)
|
347
|
+
ncolor = color
|
348
|
+
|
349
|
+
# Convert the image to a PIL Image
|
350
|
+
pil_img = Image.fromarray(frame)
|
351
|
+
draw = ImageDraw.Draw(pil_img)
|
352
|
+
|
353
|
+
|
354
|
+
|
355
|
+
# Calculate the start angle based on the percentage for clockwise drawing
|
356
|
+
end_angle = 180 # Ending at the top (north)
|
357
|
+
start_angle = end_angle - (180 * (percentage / 100.0))
|
358
|
+
|
359
|
+
start_angle = 180 # 90 is bottom 180 is left
|
360
|
+
end_angle = start_angle + (180 * (percentage / 100.0)) # Ending at the top (north)
|
361
|
+
|
362
|
+
# Draw the partial circle (arc)
|
363
|
+
draw.arc([left_up_point, right_down_point], start=start_angle, end=end_angle, fill=WIDGET_DEFAULT_GREEN , width=thickness)
|
364
|
+
|
365
|
+
# Draw a thin full circle as a guide
|
366
|
+
guide_thickness = 1 # Set the thickness of the guide circle
|
367
|
+
draw.arc([left_up_point, right_down_point], start=start_angle, end=start_angle + 180, fill=WIDGET_DEFAULT_GREEN , width=1)
|
368
|
+
#draw.ellipse([left_up_point, right_down_point], outline=WIDGET_DEFAULT_GREEN , width=guide_thickness)
|
369
|
+
|
370
|
+
# Convert back to OpenCV image
|
371
|
+
|
372
|
+
|
373
|
+
frame = np.array(pil_img)
|
374
|
+
FO="v14"
|
375
|
+
FO=MSG_FONT
|
376
|
+
frame = iprint( frame,
|
377
|
+
str( value),
|
378
|
+
FO,
|
379
|
+
position = (position[0]-2*get_f_width(FO)//2,
|
380
|
+
position[1] +get_f_height(FO)//2 ),
|
381
|
+
color_rgb= ncolor
|
382
|
+
)
|
383
|
+
frame = iprint( frame,
|
384
|
+
str( title),
|
385
|
+
FO,
|
386
|
+
position = (position[0]-len(title)*get_f_width(FO)//2,
|
387
|
+
right_down_point[1] - get_f_height(FO)),
|
388
|
+
color_rgb= ncolor
|
389
|
+
) # tacho righd==lowlow
|
390
|
+
return frame
|
391
|
+
|
392
|
+
|
393
|
+
def signal_strength(frame, position, radius=30, color=WIDGET_DEFAULT_COLOR, percentage=100, value = 0.0, title=""):
|
394
|
+
"""
|
395
|
+
by AI:
|
396
|
+
"""
|
397
|
+
ratio = 2.33
|
398
|
+
# size = 50 # with this I started
|
399
|
+
size = int(radius * 5 / 3) # To keep compatibility with dial+tacho
|
400
|
+
#print( type(position), position[0], position[1] )
|
401
|
+
# Calculate the vertices of the triangle
|
402
|
+
bottom_left = (position[0] - int(size / 2), position[1] + int(size / 2) )
|
403
|
+
|
404
|
+
bottom_right = (position[0] + int(size / 2), position[1] + int(size / 2) )
|
405
|
+
|
406
|
+
top_right = (position[0] + int(size / 2), position[1] - int(size / ratio) )
|
407
|
+
|
408
|
+
# Draw the hollow green triangle
|
409
|
+
cv2.line(frame, bottom_left, bottom_right, WIDGET_DEFAULT_GREEN, 1)
|
410
|
+
cv2.line(frame, bottom_right, top_right, WIDGET_DEFAULT_GREEN, 1)
|
411
|
+
|
412
|
+
# print( bottom_left, " ___ ", bottom_right )
|
413
|
+
# print( bottom_right, " /// ", top_right )
|
414
|
+
#cv2.line(image, top_right, bottom_left, (0, 255, 0), 1)
|
415
|
+
|
416
|
+
# Calculate the fill level based on the percentage
|
417
|
+
fill_level = int( size * (percentage / 100.0))
|
418
|
+
|
419
|
+
# Draw the filled part of the triangle
|
420
|
+
if fill_level > 0:
|
421
|
+
pts = np.array([[
|
422
|
+
bottom_left,
|
423
|
+
(bottom_left[0] + fill_level, bottom_left[1]),
|
424
|
+
(bottom_left[0] + fill_level, bottom_left[1] - int( fill_level /ratio ) )
|
425
|
+
] ],
|
426
|
+
np.int32)
|
427
|
+
|
428
|
+
cv2.fillPoly(frame, [pts], WIDGET_DEFAULT_GREEN )
|
429
|
+
|
430
|
+
FO="v14"
|
431
|
+
FO=MSG_FONT
|
432
|
+
|
433
|
+
frame = iprint( frame,
|
434
|
+
str( value),
|
435
|
+
#str( round(percentage)),
|
436
|
+
FO,
|
437
|
+
position = (position[0] -get_f_width(FO)//2,
|
438
|
+
position[1] -get_f_height(FO) ),
|
439
|
+
color_rgb= ( color[0],color[1], color[2] )
|
440
|
+
)
|
441
|
+
frame = iprint( frame,
|
442
|
+
str( title),
|
443
|
+
FO,
|
444
|
+
position = (position[0]-len(title)*get_f_width(FO)//2,
|
445
|
+
position[1] + size // 2 + get_f_height(FO) ),
|
446
|
+
color_rgb= ( color[0],color[1], color[2] )
|
447
|
+
) # signal; size//2==ontheline; size==lowlow;
|
448
|
+
return frame
|
449
|
+
|
450
|
+
|
451
|
+
def text_box(image, position, color=WIDGET_DEFAULT_COLOR, split_height=20, title="Title", values = "rate 123.2 uSv\n tot 220 mSv"):
|
452
|
+
# Calculate the corners of the box
|
453
|
+
FO="v14"
|
454
|
+
FO=MSG_FONT
|
455
|
+
|
456
|
+
maxw=0
|
457
|
+
shift2left = 0
|
458
|
+
xmargin = 30 # keep min
|
459
|
+
|
460
|
+
# ';' is already used for a standard min;max;timeout
|
461
|
+
# '# for lines SPLIT
|
462
|
+
mylines = values.split("\n")
|
463
|
+
if len(mylines) == 1:
|
464
|
+
mylines = mylines[0].split("#")
|
465
|
+
|
466
|
+
#print("D... box write:", mylines)
|
467
|
+
for i in mylines:
|
468
|
+
a = get_f_width(FO)*(len(str(i))+2)
|
469
|
+
if a>maxw: maxw=a
|
470
|
+
a = get_f_width(FO)*(len(str(title))+2)
|
471
|
+
if a>maxw: maxw=a
|
472
|
+
# I hava maxw == text wid
|
473
|
+
|
474
|
+
|
475
|
+
startx = position[0] - maxw // 2
|
476
|
+
|
477
|
+
if maxw + startx > image.shape[1]-xmargin:
|
478
|
+
delta = maxw + startx - image.shape[1] + xmargin
|
479
|
+
startx = startx - delta
|
480
|
+
|
481
|
+
#xbox_size[1] = maxw
|
482
|
+
if len(mylines)>0:
|
483
|
+
xbox_size = [ maxw , get_f_height(FO)* (len(mylines)+3) ]
|
484
|
+
else:
|
485
|
+
xbox_size = [ maxw , get_f_height(FO)* (len(mylines)+1) ]
|
486
|
+
|
487
|
+
top_left = ( startx - shift2left, position[1] )
|
488
|
+
bottom_right = (startx + xbox_size[0] - shift2left, position[1] + xbox_size[1] )
|
489
|
+
#bottom_left = (position[0], position[1] + xbox_size[1])
|
490
|
+
#top_right = (position[0] + xbox_size[0], position[1])
|
491
|
+
# Draw the rectangle for the text box in green
|
492
|
+
|
493
|
+
|
494
|
+
cv2.rectangle(image, top_left, bottom_right, WIDGET_DEFAULT_GREEN , 1)
|
495
|
+
|
496
|
+
# Draw the horizontal split line in green
|
497
|
+
split_line_start = (startx -shift2left, position[1] + split_height)
|
498
|
+
split_line_end = (startx + xbox_size[0]-shift2left, position[1] + split_height)
|
499
|
+
|
500
|
+
if len(mylines)>0:
|
501
|
+
cv2.line(image, split_line_start, split_line_end, WIDGET_DEFAULT_GREEN , 1)
|
502
|
+
|
503
|
+
FO = "v14"
|
504
|
+
image = iprint( image,
|
505
|
+
str( title ),
|
506
|
+
FO,
|
507
|
+
position = (startx +get_f_width(FO)-shift2left,
|
508
|
+
position[1] + 1.2*get_f_height(FO) ),
|
509
|
+
color_rgb= ( color[0],color[1], color[2] )
|
510
|
+
)
|
511
|
+
|
512
|
+
if len(title)>0:
|
513
|
+
nsk=0
|
514
|
+
else:
|
515
|
+
nsk=-2
|
516
|
+
|
517
|
+
if len(mylines) > 0:
|
518
|
+
for i in mylines:
|
519
|
+
image = iprint( image,
|
520
|
+
str( i),
|
521
|
+
FO,
|
522
|
+
position = (startx +get_f_width(FO)-shift2left,
|
523
|
+
position[1] +(nsk+3)* get_f_height(FO) + int(split_height / 2) - 2),
|
524
|
+
color_rgb= ( color[0],color[1], color[2] )
|
525
|
+
)
|
526
|
+
nsk+=1
|
527
|
+
|
528
|
+
|
529
|
+
return image
|
530
|
+
|
531
|
+
def main():
|
532
|
+
print()
|
533
|
+
|
534
|
+
if __name__=="__main__":
|
535
|
+
main()
|
pogucam-0.1.5/uv.lock
ADDED
@@ -0,0 +1,415 @@
|
|
1
|
+
version = 1
|
2
|
+
revision = 2
|
3
|
+
requires-python = ">=3.12"
|
4
|
+
resolution-markers = [
|
5
|
+
"sys_platform == 'darwin'",
|
6
|
+
"platform_machine == 'aarch64' and sys_platform == 'linux'",
|
7
|
+
"(platform_machine != 'aarch64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')",
|
8
|
+
]
|
9
|
+
|
10
|
+
[[package]]
|
11
|
+
name = "ansicon"
|
12
|
+
version = "1.89.0"
|
13
|
+
source = { registry = "https://pypi.org/simple" }
|
14
|
+
sdist = { url = "https://files.pythonhosted.org/packages/b6/e2/1c866404ddbd280efedff4a9f15abfe943cb83cde6e895022370f3a61f85/ansicon-1.89.0.tar.gz", hash = "sha256:e4d039def5768a47e4afec8e89e83ec3ae5a26bf00ad851f914d1240b444d2b1", size = 67312, upload-time = "2019-04-29T20:23:57.314Z" }
|
15
|
+
wheels = [
|
16
|
+
{ url = "https://files.pythonhosted.org/packages/75/f9/f1c10e223c7b56a38109a3f2eb4e7fe9a757ea3ed3a166754fb30f65e466/ansicon-1.89.0-py2.py3-none-any.whl", hash = "sha256:f1def52d17f65c2c9682cf8370c03f541f410c1752d6a14029f97318e4b9dfec", size = 63675, upload-time = "2019-04-29T20:23:53.83Z" },
|
17
|
+
]
|
18
|
+
|
19
|
+
[[package]]
|
20
|
+
name = "astropy"
|
21
|
+
version = "7.1.0"
|
22
|
+
source = { registry = "https://pypi.org/simple" }
|
23
|
+
dependencies = [
|
24
|
+
{ name = "astropy-iers-data" },
|
25
|
+
{ name = "numpy" },
|
26
|
+
{ name = "packaging" },
|
27
|
+
{ name = "pyerfa" },
|
28
|
+
{ name = "pyyaml" },
|
29
|
+
]
|
30
|
+
sdist = { url = "https://files.pythonhosted.org/packages/83/91/124d020cea78e4e4b6db7ff726c2c2e4a5865293d0a4355d13b0312d99f1/astropy-7.1.0.tar.gz", hash = "sha256:c8f254322295b1b8cf24303d6f155bf7efdb6c1282882b966ce3040eff8c53c5", size = 6976116, upload-time = "2025-05-20T13:40:10.557Z" }
|
31
|
+
wheels = [
|
32
|
+
{ url = "https://files.pythonhosted.org/packages/cf/9a/ed2b35b55e28a6317471b61456d2feda7798b2dd3601e17859620e8eae4c/astropy-7.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e0fec2f4b5265caab68020eaa320704e7ce9433ae8dbea75c300468fed695437", size = 6381273, upload-time = "2025-05-20T13:39:45.481Z" },
|
33
|
+
{ url = "https://files.pythonhosted.org/packages/5c/45/333bc1072f3b2ac31aec33063bb7122661405a97cb7fec702e95af707bd4/astropy-7.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e4bb022f863cf13eefeb406692f58824c0d9bdb1aa36ae786e87c096d8ebdd07", size = 6301716, upload-time = "2025-05-20T13:39:47.339Z" },
|
34
|
+
{ url = "https://files.pythonhosted.org/packages/58/90/bfb7a1b5d9e3401967e351cf31add576cddf7466d2030cc6f4d1d841a18d/astropy-7.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c811a4aedd8fbf6d7611d64d40af1f0c1c1e6621e5992e7e1a7b5fec47dc1fa1", size = 10096600, upload-time = "2025-05-20T13:39:49.169Z" },
|
35
|
+
{ url = "https://files.pythonhosted.org/packages/fb/69/a34f20db7146912f25e2487c5283f1ae2aed5d24f615fa976439ece35f7e/astropy-7.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:654261df547c150e5b6a022f3785f47a2e547e0cc1c06fbcf6293b5f4e85722a", size = 10160320, upload-time = "2025-05-20T13:39:51.079Z" },
|
36
|
+
{ url = "https://files.pythonhosted.org/packages/7a/be/0b874f551acbac27ff3d5d73bdf3c0860a8b78c6db574b19e6d0b7d363e4/astropy-7.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6bd25761ba1385bb99a189401fbc486e0884d97129e271b655b6efa956a12a77", size = 10137307, upload-time = "2025-05-20T13:39:53.175Z" },
|
37
|
+
{ url = "https://files.pythonhosted.org/packages/ea/1c/132241ab2006a52b4809ee82a71fde793c0159916ae45dae374b0412b037/astropy-7.1.0-cp312-cp312-win32.whl", hash = "sha256:f637e39622b23750a12b19ab4642f2e3970f6cb84f2228587725f15bf1d80d03", size = 6152433, upload-time = "2025-05-20T13:39:54.933Z" },
|
38
|
+
{ url = "https://files.pythonhosted.org/packages/11/39/0a38241008905a9c1048f7b351310deee71cf42e0de1f929e84a10878864/astropy-7.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:06ba650db237557912fdd7bb8ffdd87838e23e58b0fa0001b4d43c2bb5a79412", size = 6279663, upload-time = "2025-05-20T13:39:56.274Z" },
|
39
|
+
{ url = "https://files.pythonhosted.org/packages/a3/d6/ec68703aff787ca1bb2ed92a109256a6e4d9975aeee0b4bd2b0ab84b2993/astropy-7.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:116149abdebafab193f7ca16427bd6bb4afc111677c78c32f48cffbc0ecb6a18", size = 6375607, upload-time = "2025-05-20T13:39:57.6Z" },
|
40
|
+
{ url = "https://files.pythonhosted.org/packages/2b/79/0f6eacbe575c3b677d70193c22b68c3a95bec68204ccf53068b657c7ed06/astropy-7.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:734d5e93e76d2e2175f991b17ca130463f2edb56c107fbc07c6532ca461a6ea7", size = 6296640, upload-time = "2025-05-20T13:39:58.973Z" },
|
41
|
+
{ url = "https://files.pythonhosted.org/packages/c7/c1/06bd8bd17b2302c05d75079ca89d79825dede63c00876e439ec91f120405/astropy-7.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fd94f755f2e9104c5caf0afe69175d2620708828233d387c1dad0044e79f543", size = 10030192, upload-time = "2025-05-20T13:40:01.129Z" },
|
42
|
+
{ url = "https://files.pythonhosted.org/packages/17/ce/f9e103e6be3d801cadffef8eb814bd10e4de3603b9ba9f97dd41c6a59bde/astropy-7.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49effea6de855dcdba09a211d51ca279766c66284c8db3d911b4523bbd96eae9", size = 10079889, upload-time = "2025-05-20T13:40:03.076Z" },
|
43
|
+
{ url = "https://files.pythonhosted.org/packages/a3/fe/605a09e74b03ea2981632cd9a9a3720bd8d232ddaa729fc63ce46d538218/astropy-7.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:52709e6bbe65c6d6c2a342506ad8c2801ff2aed80cc0a5d7817387122e0ac616", size = 10084024, upload-time = "2025-05-20T13:40:04.776Z" },
|
44
|
+
{ url = "https://files.pythonhosted.org/packages/af/e9/8259c4699227e5ee71d5d15a297f1e9469b99a980a1fd3140ecf68e98c4d/astropy-7.1.0-cp313-cp313-win32.whl", hash = "sha256:a77d07a104ec24ed7f8a45de3935f46071551aa2eb6d6b62efebdc888f65b6d6", size = 6150536, upload-time = "2025-05-20T13:40:06.638Z" },
|
45
|
+
{ url = "https://files.pythonhosted.org/packages/0b/dd/d9c55247172f7156696d85c9146b64b41c30405bf86b775a731bed4d52f8/astropy-7.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:8e317f34e33a8f5517bc9fc6fbc005f42730d3be7d2820ef41e0468bcb796843", size = 6278127, upload-time = "2025-05-20T13:40:08.643Z" },
|
46
|
+
]
|
47
|
+
|
48
|
+
[[package]]
|
49
|
+
name = "astropy-iers-data"
|
50
|
+
version = "0.2025.6.9.14.9.37"
|
51
|
+
source = { registry = "https://pypi.org/simple" }
|
52
|
+
sdist = { url = "https://files.pythonhosted.org/packages/05/e8/53e07cc2caa39247917f92f0874794a9451e4e0825c63818bafbc3bca737/astropy_iers_data-0.2025.6.9.14.9.37.tar.gz", hash = "sha256:d2281011e650ab9a9012405601a6ce4fad8754ce3025cfe6b9c81e4c2ac794a4", size = 1899652, upload-time = "2025-06-09T14:10:16.218Z" }
|
53
|
+
wheels = [
|
54
|
+
{ url = "https://files.pythonhosted.org/packages/ea/32/ff50513caf194e33fad927a49b3ac2ddd2a1827c7d957f71250ff86a319c/astropy_iers_data-0.2025.6.9.14.9.37-py3-none-any.whl", hash = "sha256:03ff93fd659630eb75019be5e4519f01cf7f09448eea4e6b6745b7405d461812", size = 1955083, upload-time = "2025-06-09T14:10:14.828Z" },
|
55
|
+
]
|
56
|
+
|
57
|
+
[[package]]
|
58
|
+
name = "certifi"
|
59
|
+
version = "2025.4.26"
|
60
|
+
source = { registry = "https://pypi.org/simple" }
|
61
|
+
sdist = { url = "https://files.pythonhosted.org/packages/e8/9e/c05b3920a3b7d20d3d3310465f50348e5b3694f4f88c6daf736eef3024c4/certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6", size = 160705, upload-time = "2025-04-26T02:12:29.51Z" }
|
62
|
+
wheels = [
|
63
|
+
{ url = "https://files.pythonhosted.org/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3", size = 159618, upload-time = "2025-04-26T02:12:27.662Z" },
|
64
|
+
]
|
65
|
+
|
66
|
+
[[package]]
|
67
|
+
name = "charset-normalizer"
|
68
|
+
version = "3.4.2"
|
69
|
+
source = { registry = "https://pypi.org/simple" }
|
70
|
+
sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" }
|
71
|
+
wheels = [
|
72
|
+
{ url = "https://files.pythonhosted.org/packages/d7/a4/37f4d6035c89cac7930395a35cc0f1b872e652eaafb76a6075943754f095/charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", size = 199936, upload-time = "2025-05-02T08:32:33.712Z" },
|
73
|
+
{ url = "https://files.pythonhosted.org/packages/ee/8a/1a5e33b73e0d9287274f899d967907cd0bf9c343e651755d9307e0dbf2b3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", size = 143790, upload-time = "2025-05-02T08:32:35.768Z" },
|
74
|
+
{ url = "https://files.pythonhosted.org/packages/66/52/59521f1d8e6ab1482164fa21409c5ef44da3e9f653c13ba71becdd98dec3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", size = 153924, upload-time = "2025-05-02T08:32:37.284Z" },
|
75
|
+
{ url = "https://files.pythonhosted.org/packages/86/2d/fb55fdf41964ec782febbf33cb64be480a6b8f16ded2dbe8db27a405c09f/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", size = 146626, upload-time = "2025-05-02T08:32:38.803Z" },
|
76
|
+
{ url = "https://files.pythonhosted.org/packages/8c/73/6ede2ec59bce19b3edf4209d70004253ec5f4e319f9a2e3f2f15601ed5f7/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", size = 148567, upload-time = "2025-05-02T08:32:40.251Z" },
|
77
|
+
{ url = "https://files.pythonhosted.org/packages/09/14/957d03c6dc343c04904530b6bef4e5efae5ec7d7990a7cbb868e4595ee30/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", size = 150957, upload-time = "2025-05-02T08:32:41.705Z" },
|
78
|
+
{ url = "https://files.pythonhosted.org/packages/0d/c8/8174d0e5c10ccebdcb1b53cc959591c4c722a3ad92461a273e86b9f5a302/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", size = 145408, upload-time = "2025-05-02T08:32:43.709Z" },
|
79
|
+
{ url = "https://files.pythonhosted.org/packages/58/aa/8904b84bc8084ac19dc52feb4f5952c6df03ffb460a887b42615ee1382e8/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", size = 153399, upload-time = "2025-05-02T08:32:46.197Z" },
|
80
|
+
{ url = "https://files.pythonhosted.org/packages/c2/26/89ee1f0e264d201cb65cf054aca6038c03b1a0c6b4ae998070392a3ce605/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", size = 156815, upload-time = "2025-05-02T08:32:48.105Z" },
|
81
|
+
{ url = "https://files.pythonhosted.org/packages/fd/07/68e95b4b345bad3dbbd3a8681737b4338ff2c9df29856a6d6d23ac4c73cb/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", size = 154537, upload-time = "2025-05-02T08:32:49.719Z" },
|
82
|
+
{ url = "https://files.pythonhosted.org/packages/77/1a/5eefc0ce04affb98af07bc05f3bac9094513c0e23b0562d64af46a06aae4/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", size = 149565, upload-time = "2025-05-02T08:32:51.404Z" },
|
83
|
+
{ url = "https://files.pythonhosted.org/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357, upload-time = "2025-05-02T08:32:53.079Z" },
|
84
|
+
{ url = "https://files.pythonhosted.org/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776, upload-time = "2025-05-02T08:32:54.573Z" },
|
85
|
+
{ url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload-time = "2025-05-02T08:32:56.363Z" },
|
86
|
+
{ url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload-time = "2025-05-02T08:32:58.551Z" },
|
87
|
+
{ url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload-time = "2025-05-02T08:33:00.342Z" },
|
88
|
+
{ url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload-time = "2025-05-02T08:33:02.081Z" },
|
89
|
+
{ url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload-time = "2025-05-02T08:33:04.063Z" },
|
90
|
+
{ url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload-time = "2025-05-02T08:33:06.418Z" },
|
91
|
+
{ url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload-time = "2025-05-02T08:33:08.183Z" },
|
92
|
+
{ url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload-time = "2025-05-02T08:33:09.986Z" },
|
93
|
+
{ url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload-time = "2025-05-02T08:33:11.814Z" },
|
94
|
+
{ url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload-time = "2025-05-02T08:33:13.707Z" },
|
95
|
+
{ url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" },
|
96
|
+
{ url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" },
|
97
|
+
{ url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" },
|
98
|
+
{ url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" },
|
99
|
+
]
|
100
|
+
|
101
|
+
[[package]]
|
102
|
+
name = "click"
|
103
|
+
version = "8.2.1"
|
104
|
+
source = { registry = "https://pypi.org/simple" }
|
105
|
+
dependencies = [
|
106
|
+
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
107
|
+
]
|
108
|
+
sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" }
|
109
|
+
wheels = [
|
110
|
+
{ url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" },
|
111
|
+
]
|
112
|
+
|
113
|
+
[[package]]
|
114
|
+
name = "colorama"
|
115
|
+
version = "0.4.6"
|
116
|
+
source = { registry = "https://pypi.org/simple" }
|
117
|
+
sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" }
|
118
|
+
wheels = [
|
119
|
+
{ url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" },
|
120
|
+
]
|
121
|
+
|
122
|
+
[[package]]
|
123
|
+
name = "console"
|
124
|
+
version = "0.9911"
|
125
|
+
source = { registry = "https://pypi.org/simple" }
|
126
|
+
dependencies = [
|
127
|
+
{ name = "colorama", marker = "(os_name == 'nt' and platform_machine != 'aarch64' and platform_version < '10.0.10586' and sys_platform == 'linux') or (os_name == 'nt' and platform_version < '10.0.10586' and sys_platform != 'darwin' and sys_platform != 'linux')" },
|
128
|
+
{ name = "ezenv" },
|
129
|
+
{ name = "jinxed", marker = "(os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" },
|
130
|
+
]
|
131
|
+
sdist = { url = "https://files.pythonhosted.org/packages/c3/c5/3912bf8e7d7efb61068a16cceaf588968cead447d679e76c3656b3bc4080/console-0.9911.tar.gz", hash = "sha256:d60e947807e9e6ebe5752cd0fc9710c03d7d6d7ae7ed1191519bd3badc1aef75", size = 96946, upload-time = "2025-03-03T22:16:19.375Z" }
|
132
|
+
wheels = [
|
133
|
+
{ url = "https://files.pythonhosted.org/packages/d4/85/a1695da9d3f2429363ed2548370cc48f7d687bcbf0661b45426f84ee97a3/console-0.9911-py3-none-any.whl", hash = "sha256:845b0113d1c0c245d1b7c6d1e43c7f98b172fa1d818d4a4ad7146eadcad75a75", size = 96856, upload-time = "2025-03-03T22:16:17.189Z" },
|
134
|
+
]
|
135
|
+
|
136
|
+
[[package]]
|
137
|
+
name = "ezenv"
|
138
|
+
version = "0.92"
|
139
|
+
source = { registry = "https://pypi.org/simple" }
|
140
|
+
sdist = { url = "https://files.pythonhosted.org/packages/82/2f/781f71802c462cdab8fcb4c826d18a2e4a410ab302d164a39b5e977dda10/ezenv-0.92.tar.gz", hash = "sha256:a5a5d001a2352517b5992322c1795890dd3c9cf0ac6ad7912b0768fe84f33173", size = 14154, upload-time = "2021-01-04T05:39:58.311Z" }
|
141
|
+
wheels = [
|
142
|
+
{ url = "https://files.pythonhosted.org/packages/bc/6e/253ac7fee0cfd7db2ea5a51577dabaaeefcf3a71b9a8ac2fe060c84e5f84/ezenv-0.92-py2.py3-none-any.whl", hash = "sha256:fe4b20071c7497071d33530040f52f12a00dc938e5b5f7d5c4b7f922196c4ac6", size = 10921, upload-time = "2021-01-04T05:40:00.345Z" },
|
143
|
+
]
|
144
|
+
|
145
|
+
[[package]]
|
146
|
+
name = "idna"
|
147
|
+
version = "3.10"
|
148
|
+
source = { registry = "https://pypi.org/simple" }
|
149
|
+
sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" }
|
150
|
+
wheels = [
|
151
|
+
{ url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" },
|
152
|
+
]
|
153
|
+
|
154
|
+
[[package]]
|
155
|
+
name = "jinxed"
|
156
|
+
version = "1.3.0"
|
157
|
+
source = { registry = "https://pypi.org/simple" }
|
158
|
+
dependencies = [
|
159
|
+
{ name = "ansicon", marker = "sys_platform == 'win32'" },
|
160
|
+
]
|
161
|
+
sdist = { url = "https://files.pythonhosted.org/packages/20/d0/59b2b80e7a52d255f9e0ad040d2e826342d05580c4b1d7d7747cfb8db731/jinxed-1.3.0.tar.gz", hash = "sha256:1593124b18a41b7a3da3b078471442e51dbad3d77b4d4f2b0c26ab6f7d660dbf", size = 80981, upload-time = "2024-07-31T22:39:18.854Z" }
|
162
|
+
wheels = [
|
163
|
+
{ url = "https://files.pythonhosted.org/packages/27/e3/0e0014d6ab159d48189e92044ace13b1e1fe9aa3024ba9f4e8cf172aa7c2/jinxed-1.3.0-py2.py3-none-any.whl", hash = "sha256:b993189f39dc2d7504d802152671535b06d380b26d78070559551cbf92df4fc5", size = 33085, upload-time = "2024-07-31T22:39:17.426Z" },
|
164
|
+
]
|
165
|
+
|
166
|
+
[[package]]
|
167
|
+
name = "numpy"
|
168
|
+
version = "2.3.0"
|
169
|
+
source = { registry = "https://pypi.org/simple" }
|
170
|
+
sdist = { url = "https://files.pythonhosted.org/packages/f3/db/8e12381333aea300890829a0a36bfa738cac95475d88982d538725143fd9/numpy-2.3.0.tar.gz", hash = "sha256:581f87f9e9e9db2cba2141400e160e9dd644ee248788d6f90636eeb8fd9260a6", size = 20382813, upload-time = "2025-06-07T14:54:32.608Z" }
|
171
|
+
wheels = [
|
172
|
+
{ url = "https://files.pythonhosted.org/packages/89/59/9df493df81ac6f76e9f05cdbe013cdb0c9a37b434f6e594f5bd25e278908/numpy-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:389b85335838155a9076e9ad7f8fdba0827496ec2d2dc32ce69ce7898bde03ba", size = 20897025, upload-time = "2025-06-07T14:40:33.558Z" },
|
173
|
+
{ url = "https://files.pythonhosted.org/packages/2f/86/4ff04335901d6cf3a6bb9c748b0097546ae5af35e455ae9b962ebff4ecd7/numpy-2.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9498f60cd6bb8238d8eaf468a3d5bb031d34cd12556af53510f05fcf581c1b7e", size = 14129882, upload-time = "2025-06-07T14:40:55.034Z" },
|
174
|
+
{ url = "https://files.pythonhosted.org/packages/71/8d/a942cd4f959de7f08a79ab0c7e6cecb7431d5403dce78959a726f0f57aa1/numpy-2.3.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:622a65d40d8eb427d8e722fd410ac3ad4958002f109230bc714fa551044ebae2", size = 5110181, upload-time = "2025-06-07T14:41:04.4Z" },
|
175
|
+
{ url = "https://files.pythonhosted.org/packages/86/5d/45850982efc7b2c839c5626fb67fbbc520d5b0d7c1ba1ae3651f2f74c296/numpy-2.3.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:b9446d9d8505aadadb686d51d838f2b6688c9e85636a0c3abaeb55ed54756459", size = 6647581, upload-time = "2025-06-07T14:41:14.695Z" },
|
176
|
+
{ url = "https://files.pythonhosted.org/packages/1a/c0/c871d4a83f93b00373d3eebe4b01525eee8ef10b623a335ec262b58f4dc1/numpy-2.3.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:50080245365d75137a2bf46151e975de63146ae6d79f7e6bd5c0e85c9931d06a", size = 14262317, upload-time = "2025-06-07T14:41:35.862Z" },
|
177
|
+
{ url = "https://files.pythonhosted.org/packages/b7/f6/bc47f5fa666d5ff4145254f9e618d56e6a4ef9b874654ca74c19113bb538/numpy-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:c24bb4113c66936eeaa0dc1e47c74770453d34f46ee07ae4efd853a2ed1ad10a", size = 16633919, upload-time = "2025-06-07T14:42:00.622Z" },
|
178
|
+
{ url = "https://files.pythonhosted.org/packages/f5/b4/65f48009ca0c9b76df5f404fccdea5a985a1bb2e34e97f21a17d9ad1a4ba/numpy-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4d8d294287fdf685281e671886c6dcdf0291a7c19db3e5cb4178d07ccf6ecc67", size = 15567651, upload-time = "2025-06-07T14:42:24.429Z" },
|
179
|
+
{ url = "https://files.pythonhosted.org/packages/f1/62/5367855a2018578e9334ed08252ef67cc302e53edc869666f71641cad40b/numpy-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6295f81f093b7f5769d1728a6bd8bf7466de2adfa771ede944ce6711382b89dc", size = 18361723, upload-time = "2025-06-07T14:42:51.167Z" },
|
180
|
+
{ url = "https://files.pythonhosted.org/packages/d4/75/5baed8cd867eabee8aad1e74d7197d73971d6a3d40c821f1848b8fab8b84/numpy-2.3.0-cp312-cp312-win32.whl", hash = "sha256:e6648078bdd974ef5d15cecc31b0c410e2e24178a6e10bf511e0557eed0f2570", size = 6318285, upload-time = "2025-06-07T14:43:02.052Z" },
|
181
|
+
{ url = "https://files.pythonhosted.org/packages/bc/49/d5781eaa1a15acb3b3a3f49dc9e2ff18d92d0ce5c2976f4ab5c0a7360250/numpy-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:0898c67a58cdaaf29994bc0e2c65230fd4de0ac40afaf1584ed0b02cd74c6fdd", size = 12732594, upload-time = "2025-06-07T14:43:21.071Z" },
|
182
|
+
{ url = "https://files.pythonhosted.org/packages/c2/1c/6d343e030815c7c97a1f9fbad00211b47717c7fe446834c224bd5311e6f1/numpy-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:bd8df082b6c4695753ad6193018c05aac465d634834dca47a3ae06d4bb22d9ea", size = 9891498, upload-time = "2025-06-07T14:43:36.332Z" },
|
183
|
+
{ url = "https://files.pythonhosted.org/packages/73/fc/1d67f751fd4dbafc5780244fe699bc4084268bad44b7c5deb0492473127b/numpy-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5754ab5595bfa2c2387d241296e0381c21f44a4b90a776c3c1d39eede13a746a", size = 20889633, upload-time = "2025-06-07T14:44:06.839Z" },
|
184
|
+
{ url = "https://files.pythonhosted.org/packages/e8/95/73ffdb69e5c3f19ec4530f8924c4386e7ba097efc94b9c0aff607178ad94/numpy-2.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d11fa02f77752d8099573d64e5fe33de3229b6632036ec08f7080f46b6649959", size = 14151683, upload-time = "2025-06-07T14:44:28.847Z" },
|
185
|
+
{ url = "https://files.pythonhosted.org/packages/64/d5/06d4bb31bb65a1d9c419eb5676173a2f90fd8da3c59f816cc54c640ce265/numpy-2.3.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:aba48d17e87688a765ab1cd557882052f238e2f36545dfa8e29e6a91aef77afe", size = 5102683, upload-time = "2025-06-07T14:44:38.417Z" },
|
186
|
+
{ url = "https://files.pythonhosted.org/packages/12/8b/6c2cef44f8ccdc231f6b56013dff1d71138c48124334aded36b1a1b30c5a/numpy-2.3.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:4dc58865623023b63b10d52f18abaac3729346a7a46a778381e0e3af4b7f3beb", size = 6640253, upload-time = "2025-06-07T14:44:49.359Z" },
|
187
|
+
{ url = "https://files.pythonhosted.org/packages/62/aa/fca4bf8de3396ddb59544df9b75ffe5b73096174de97a9492d426f5cd4aa/numpy-2.3.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:df470d376f54e052c76517393fa443758fefcdd634645bc9c1f84eafc67087f0", size = 14258658, upload-time = "2025-06-07T14:45:10.156Z" },
|
188
|
+
{ url = "https://files.pythonhosted.org/packages/1c/12/734dce1087eed1875f2297f687e671cfe53a091b6f2f55f0c7241aad041b/numpy-2.3.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:87717eb24d4a8a64683b7a4e91ace04e2f5c7c77872f823f02a94feee186168f", size = 16628765, upload-time = "2025-06-07T14:45:35.076Z" },
|
189
|
+
{ url = "https://files.pythonhosted.org/packages/48/03/ffa41ade0e825cbcd5606a5669962419528212a16082763fc051a7247d76/numpy-2.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d8fa264d56882b59dcb5ea4d6ab6f31d0c58a57b41aec605848b6eb2ef4a43e8", size = 15564335, upload-time = "2025-06-07T14:45:58.797Z" },
|
190
|
+
{ url = "https://files.pythonhosted.org/packages/07/58/869398a11863310aee0ff85a3e13b4c12f20d032b90c4b3ee93c3b728393/numpy-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e651756066a0eaf900916497e20e02fe1ae544187cb0fe88de981671ee7f6270", size = 18360608, upload-time = "2025-06-07T14:46:25.687Z" },
|
191
|
+
{ url = "https://files.pythonhosted.org/packages/2f/8a/5756935752ad278c17e8a061eb2127c9a3edf4ba2c31779548b336f23c8d/numpy-2.3.0-cp313-cp313-win32.whl", hash = "sha256:e43c3cce3b6ae5f94696669ff2a6eafd9a6b9332008bafa4117af70f4b88be6f", size = 6310005, upload-time = "2025-06-07T14:50:13.138Z" },
|
192
|
+
{ url = "https://files.pythonhosted.org/packages/08/60/61d60cf0dfc0bf15381eaef46366ebc0c1a787856d1db0c80b006092af84/numpy-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:81ae0bf2564cf475f94be4a27ef7bcf8af0c3e28da46770fc904da9abd5279b5", size = 12729093, upload-time = "2025-06-07T14:50:31.82Z" },
|
193
|
+
{ url = "https://files.pythonhosted.org/packages/66/31/2f2f2d2b3e3c32d5753d01437240feaa32220b73258c9eef2e42a0832866/numpy-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:c8738baa52505fa6e82778580b23f945e3578412554d937093eac9205e845e6e", size = 9885689, upload-time = "2025-06-07T14:50:47.888Z" },
|
194
|
+
{ url = "https://files.pythonhosted.org/packages/f1/89/c7828f23cc50f607ceb912774bb4cff225ccae7131c431398ad8400e2c98/numpy-2.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:39b27d8b38942a647f048b675f134dd5a567f95bfff481f9109ec308515c51d8", size = 20986612, upload-time = "2025-06-07T14:46:56.077Z" },
|
195
|
+
{ url = "https://files.pythonhosted.org/packages/dd/46/79ecf47da34c4c50eedec7511e53d57ffdfd31c742c00be7dc1d5ffdb917/numpy-2.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0eba4a1ea88f9a6f30f56fdafdeb8da3774349eacddab9581a21234b8535d3d3", size = 14298953, upload-time = "2025-06-07T14:47:18.053Z" },
|
196
|
+
{ url = "https://files.pythonhosted.org/packages/59/44/f6caf50713d6ff4480640bccb2a534ce1d8e6e0960c8f864947439f0ee95/numpy-2.3.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:b0f1f11d0a1da54927436505a5a7670b154eac27f5672afc389661013dfe3d4f", size = 5225806, upload-time = "2025-06-07T14:47:27.524Z" },
|
197
|
+
{ url = "https://files.pythonhosted.org/packages/a6/43/e1fd1aca7c97e234dd05e66de4ab7a5be54548257efcdd1bc33637e72102/numpy-2.3.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:690d0a5b60a47e1f9dcec7b77750a4854c0d690e9058b7bef3106e3ae9117808", size = 6735169, upload-time = "2025-06-07T14:47:38.057Z" },
|
198
|
+
{ url = "https://files.pythonhosted.org/packages/84/89/f76f93b06a03177c0faa7ca94d0856c4e5c4bcaf3c5f77640c9ed0303e1c/numpy-2.3.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:8b51ead2b258284458e570942137155978583e407babc22e3d0ed7af33ce06f8", size = 14330701, upload-time = "2025-06-07T14:47:59.113Z" },
|
199
|
+
{ url = "https://files.pythonhosted.org/packages/aa/f5/4858c3e9ff7a7d64561b20580cf7cc5d085794bd465a19604945d6501f6c/numpy-2.3.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:aaf81c7b82c73bd9b45e79cfb9476cb9c29e937494bfe9092c26aece812818ad", size = 16692983, upload-time = "2025-06-07T14:48:24.196Z" },
|
200
|
+
{ url = "https://files.pythonhosted.org/packages/08/17/0e3b4182e691a10e9483bcc62b4bb8693dbf9ea5dc9ba0b77a60435074bb/numpy-2.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:f420033a20b4f6a2a11f585f93c843ac40686a7c3fa514060a97d9de93e5e72b", size = 15641435, upload-time = "2025-06-07T14:48:47.712Z" },
|
201
|
+
{ url = "https://files.pythonhosted.org/packages/4e/d5/463279fda028d3c1efa74e7e8d507605ae87f33dbd0543cf4c4527c8b882/numpy-2.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d344ca32ab482bcf8735d8f95091ad081f97120546f3d250240868430ce52555", size = 18433798, upload-time = "2025-06-07T14:49:14.866Z" },
|
202
|
+
{ url = "https://files.pythonhosted.org/packages/0e/1e/7a9d98c886d4c39a2b4d3a7c026bffcf8fbcaf518782132d12a301cfc47a/numpy-2.3.0-cp313-cp313t-win32.whl", hash = "sha256:48a2e8eaf76364c32a1feaa60d6925eaf32ed7a040183b807e02674305beef61", size = 6438632, upload-time = "2025-06-07T14:49:25.67Z" },
|
203
|
+
{ url = "https://files.pythonhosted.org/packages/fe/ab/66fc909931d5eb230107d016861824f335ae2c0533f422e654e5ff556784/numpy-2.3.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ba17f93a94e503551f154de210e4d50c5e3ee20f7e7a1b5f6ce3f22d419b93bb", size = 12868491, upload-time = "2025-06-07T14:49:44.898Z" },
|
204
|
+
{ url = "https://files.pythonhosted.org/packages/ee/e8/2c8a1c9e34d6f6d600c83d5ce5b71646c32a13f34ca5c518cc060639841c/numpy-2.3.0-cp313-cp313t-win_arm64.whl", hash = "sha256:f14e016d9409680959691c109be98c436c6249eaf7f118b424679793607b5944", size = 9935345, upload-time = "2025-06-07T14:50:02.311Z" },
|
205
|
+
]
|
206
|
+
|
207
|
+
[[package]]
|
208
|
+
name = "opencv-python"
|
209
|
+
version = "4.11.0.86"
|
210
|
+
source = { registry = "https://pypi.org/simple" }
|
211
|
+
dependencies = [
|
212
|
+
{ name = "numpy" },
|
213
|
+
]
|
214
|
+
sdist = { url = "https://files.pythonhosted.org/packages/17/06/68c27a523103dad5837dc5b87e71285280c4f098c60e4fe8a8db6486ab09/opencv-python-4.11.0.86.tar.gz", hash = "sha256:03d60ccae62304860d232272e4a4fda93c39d595780cb40b161b310244b736a4", size = 95171956, upload-time = "2025-01-16T13:52:24.737Z" }
|
215
|
+
wheels = [
|
216
|
+
{ url = "https://files.pythonhosted.org/packages/05/4d/53b30a2a3ac1f75f65a59eb29cf2ee7207ce64867db47036ad61743d5a23/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_arm64.whl", hash = "sha256:432f67c223f1dc2824f5e73cdfcd9db0efc8710647d4e813012195dc9122a52a", size = 37326322, upload-time = "2025-01-16T13:52:25.887Z" },
|
217
|
+
{ url = "https://files.pythonhosted.org/packages/3b/84/0a67490741867eacdfa37bc18df96e08a9d579583b419010d7f3da8ff503/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_x86_64.whl", hash = "sha256:9d05ef13d23fe97f575153558653e2d6e87103995d54e6a35db3f282fe1f9c66", size = 56723197, upload-time = "2025-01-16T13:55:21.222Z" },
|
218
|
+
{ url = "https://files.pythonhosted.org/packages/f3/bd/29c126788da65c1fb2b5fb621b7fed0ed5f9122aa22a0868c5e2c15c6d23/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b92ae2c8852208817e6776ba1ea0d6b1e0a1b5431e971a2a0ddd2a8cc398202", size = 42230439, upload-time = "2025-01-16T13:51:35.822Z" },
|
219
|
+
{ url = "https://files.pythonhosted.org/packages/2c/8b/90eb44a40476fa0e71e05a0283947cfd74a5d36121a11d926ad6f3193cc4/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b02611523803495003bd87362db3e1d2a0454a6a63025dc6658a9830570aa0d", size = 62986597, upload-time = "2025-01-16T13:52:08.836Z" },
|
220
|
+
{ url = "https://files.pythonhosted.org/packages/fb/d7/1d5941a9dde095468b288d989ff6539dd69cd429dbf1b9e839013d21b6f0/opencv_python-4.11.0.86-cp37-abi3-win32.whl", hash = "sha256:810549cb2a4aedaa84ad9a1c92fbfdfc14090e2749cedf2c1589ad8359aa169b", size = 29384337, upload-time = "2025-01-16T13:52:13.549Z" },
|
221
|
+
{ url = "https://files.pythonhosted.org/packages/a4/7d/f1c30a92854540bf789e9cd5dde7ef49bbe63f855b85a2e6b3db8135c591/opencv_python-4.11.0.86-cp37-abi3-win_amd64.whl", hash = "sha256:085ad9b77c18853ea66283e98affefe2de8cc4c1f43eda4c100cf9b2721142ec", size = 39488044, upload-time = "2025-01-16T13:52:21.928Z" },
|
222
|
+
]
|
223
|
+
|
224
|
+
[[package]]
|
225
|
+
name = "packaging"
|
226
|
+
version = "25.0"
|
227
|
+
source = { registry = "https://pypi.org/simple" }
|
228
|
+
sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" }
|
229
|
+
wheels = [
|
230
|
+
{ url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" },
|
231
|
+
]
|
232
|
+
|
233
|
+
[[package]]
|
234
|
+
name = "pillow"
|
235
|
+
version = "11.2.1"
|
236
|
+
source = { registry = "https://pypi.org/simple" }
|
237
|
+
sdist = { url = "https://files.pythonhosted.org/packages/af/cb/bb5c01fcd2a69335b86c22142b2bccfc3464087efb7fd382eee5ffc7fdf7/pillow-11.2.1.tar.gz", hash = "sha256:a64dd61998416367b7ef979b73d3a85853ba9bec4c2925f74e588879a58716b6", size = 47026707, upload-time = "2025-04-12T17:50:03.289Z" }
|
238
|
+
wheels = [
|
239
|
+
{ url = "https://files.pythonhosted.org/packages/c7/40/052610b15a1b8961f52537cc8326ca6a881408bc2bdad0d852edeb6ed33b/pillow-11.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:78afba22027b4accef10dbd5eed84425930ba41b3ea0a86fa8d20baaf19d807f", size = 3190185, upload-time = "2025-04-12T17:48:00.417Z" },
|
240
|
+
{ url = "https://files.pythonhosted.org/packages/e5/7e/b86dbd35a5f938632093dc40d1682874c33dcfe832558fc80ca56bfcb774/pillow-11.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:78092232a4ab376a35d68c4e6d5e00dfd73454bd12b230420025fbe178ee3b0b", size = 3030306, upload-time = "2025-04-12T17:48:02.391Z" },
|
241
|
+
{ url = "https://files.pythonhosted.org/packages/a4/5c/467a161f9ed53e5eab51a42923c33051bf8d1a2af4626ac04f5166e58e0c/pillow-11.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25a5f306095c6780c52e6bbb6109624b95c5b18e40aab1c3041da3e9e0cd3e2d", size = 4416121, upload-time = "2025-04-12T17:48:04.554Z" },
|
242
|
+
{ url = "https://files.pythonhosted.org/packages/62/73/972b7742e38ae0e2ac76ab137ca6005dcf877480da0d9d61d93b613065b4/pillow-11.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c7b29dbd4281923a2bfe562acb734cee96bbb129e96e6972d315ed9f232bef4", size = 4501707, upload-time = "2025-04-12T17:48:06.831Z" },
|
243
|
+
{ url = "https://files.pythonhosted.org/packages/e4/3a/427e4cb0b9e177efbc1a84798ed20498c4f233abde003c06d2650a6d60cb/pillow-11.2.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:3e645b020f3209a0181a418bffe7b4a93171eef6c4ef6cc20980b30bebf17b7d", size = 4522921, upload-time = "2025-04-12T17:48:09.229Z" },
|
244
|
+
{ url = "https://files.pythonhosted.org/packages/fe/7c/d8b1330458e4d2f3f45d9508796d7caf0c0d3764c00c823d10f6f1a3b76d/pillow-11.2.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b2dbea1012ccb784a65349f57bbc93730b96e85b42e9bf7b01ef40443db720b4", size = 4612523, upload-time = "2025-04-12T17:48:11.631Z" },
|
245
|
+
{ url = "https://files.pythonhosted.org/packages/b3/2f/65738384e0b1acf451de5a573d8153fe84103772d139e1e0bdf1596be2ea/pillow-11.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:da3104c57bbd72948d75f6a9389e6727d2ab6333c3617f0a89d72d4940aa0443", size = 4587836, upload-time = "2025-04-12T17:48:13.592Z" },
|
246
|
+
{ url = "https://files.pythonhosted.org/packages/6a/c5/e795c9f2ddf3debb2dedd0df889f2fe4b053308bb59a3cc02a0cd144d641/pillow-11.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:598174aef4589af795f66f9caab87ba4ff860ce08cd5bb447c6fc553ffee603c", size = 4669390, upload-time = "2025-04-12T17:48:15.938Z" },
|
247
|
+
{ url = "https://files.pythonhosted.org/packages/96/ae/ca0099a3995976a9fce2f423166f7bff9b12244afdc7520f6ed38911539a/pillow-11.2.1-cp312-cp312-win32.whl", hash = "sha256:1d535df14716e7f8776b9e7fee118576d65572b4aad3ed639be9e4fa88a1cad3", size = 2332309, upload-time = "2025-04-12T17:48:17.885Z" },
|
248
|
+
{ url = "https://files.pythonhosted.org/packages/7c/18/24bff2ad716257fc03da964c5e8f05d9790a779a8895d6566e493ccf0189/pillow-11.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:14e33b28bf17c7a38eede290f77db7c664e4eb01f7869e37fa98a5aa95978941", size = 2676768, upload-time = "2025-04-12T17:48:19.655Z" },
|
249
|
+
{ url = "https://files.pythonhosted.org/packages/da/bb/e8d656c9543276517ee40184aaa39dcb41e683bca121022f9323ae11b39d/pillow-11.2.1-cp312-cp312-win_arm64.whl", hash = "sha256:21e1470ac9e5739ff880c211fc3af01e3ae505859392bf65458c224d0bf283eb", size = 2415087, upload-time = "2025-04-12T17:48:21.991Z" },
|
250
|
+
{ url = "https://files.pythonhosted.org/packages/36/9c/447528ee3776e7ab8897fe33697a7ff3f0475bb490c5ac1456a03dc57956/pillow-11.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fdec757fea0b793056419bca3e9932eb2b0ceec90ef4813ea4c1e072c389eb28", size = 3190098, upload-time = "2025-04-12T17:48:23.915Z" },
|
251
|
+
{ url = "https://files.pythonhosted.org/packages/b5/09/29d5cd052f7566a63e5b506fac9c60526e9ecc553825551333e1e18a4858/pillow-11.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b0e130705d568e2f43a17bcbe74d90958e8a16263868a12c3e0d9c8162690830", size = 3030166, upload-time = "2025-04-12T17:48:25.738Z" },
|
252
|
+
{ url = "https://files.pythonhosted.org/packages/71/5d/446ee132ad35e7600652133f9c2840b4799bbd8e4adba881284860da0a36/pillow-11.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bdb5e09068332578214cadd9c05e3d64d99e0e87591be22a324bdbc18925be0", size = 4408674, upload-time = "2025-04-12T17:48:27.908Z" },
|
253
|
+
{ url = "https://files.pythonhosted.org/packages/69/5f/cbe509c0ddf91cc3a03bbacf40e5c2339c4912d16458fcb797bb47bcb269/pillow-11.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d189ba1bebfbc0c0e529159631ec72bb9e9bc041f01ec6d3233d6d82eb823bc1", size = 4496005, upload-time = "2025-04-12T17:48:29.888Z" },
|
254
|
+
{ url = "https://files.pythonhosted.org/packages/f9/b3/dd4338d8fb8a5f312021f2977fb8198a1184893f9b00b02b75d565c33b51/pillow-11.2.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:191955c55d8a712fab8934a42bfefbf99dd0b5875078240943f913bb66d46d9f", size = 4518707, upload-time = "2025-04-12T17:48:31.874Z" },
|
255
|
+
{ url = "https://files.pythonhosted.org/packages/13/eb/2552ecebc0b887f539111c2cd241f538b8ff5891b8903dfe672e997529be/pillow-11.2.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:ad275964d52e2243430472fc5d2c2334b4fc3ff9c16cb0a19254e25efa03a155", size = 4610008, upload-time = "2025-04-12T17:48:34.422Z" },
|
256
|
+
{ url = "https://files.pythonhosted.org/packages/72/d1/924ce51bea494cb6e7959522d69d7b1c7e74f6821d84c63c3dc430cbbf3b/pillow-11.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:750f96efe0597382660d8b53e90dd1dd44568a8edb51cb7f9d5d918b80d4de14", size = 4585420, upload-time = "2025-04-12T17:48:37.641Z" },
|
257
|
+
{ url = "https://files.pythonhosted.org/packages/43/ab/8f81312d255d713b99ca37479a4cb4b0f48195e530cdc1611990eb8fd04b/pillow-11.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fe15238d3798788d00716637b3d4e7bb6bde18b26e5d08335a96e88564a36b6b", size = 4667655, upload-time = "2025-04-12T17:48:39.652Z" },
|
258
|
+
{ url = "https://files.pythonhosted.org/packages/94/86/8f2e9d2dc3d308dfd137a07fe1cc478df0a23d42a6c4093b087e738e4827/pillow-11.2.1-cp313-cp313-win32.whl", hash = "sha256:3fe735ced9a607fee4f481423a9c36701a39719252a9bb251679635f99d0f7d2", size = 2332329, upload-time = "2025-04-12T17:48:41.765Z" },
|
259
|
+
{ url = "https://files.pythonhosted.org/packages/6d/ec/1179083b8d6067a613e4d595359b5fdea65d0a3b7ad623fee906e1b3c4d2/pillow-11.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:74ee3d7ecb3f3c05459ba95eed5efa28d6092d751ce9bf20e3e253a4e497e691", size = 2676388, upload-time = "2025-04-12T17:48:43.625Z" },
|
260
|
+
{ url = "https://files.pythonhosted.org/packages/23/f1/2fc1e1e294de897df39fa8622d829b8828ddad938b0eaea256d65b84dd72/pillow-11.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:5119225c622403afb4b44bad4c1ca6c1f98eed79db8d3bc6e4e160fc6339d66c", size = 2414950, upload-time = "2025-04-12T17:48:45.475Z" },
|
261
|
+
{ url = "https://files.pythonhosted.org/packages/c4/3e/c328c48b3f0ead7bab765a84b4977acb29f101d10e4ef57a5e3400447c03/pillow-11.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8ce2e8411c7aaef53e6bb29fe98f28cd4fbd9a1d9be2eeea434331aac0536b22", size = 3192759, upload-time = "2025-04-12T17:48:47.866Z" },
|
262
|
+
{ url = "https://files.pythonhosted.org/packages/18/0e/1c68532d833fc8b9f404d3a642991441d9058eccd5606eab31617f29b6d4/pillow-11.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9ee66787e095127116d91dea2143db65c7bb1e232f617aa5957c0d9d2a3f23a7", size = 3033284, upload-time = "2025-04-12T17:48:50.189Z" },
|
263
|
+
{ url = "https://files.pythonhosted.org/packages/b7/cb/6faf3fb1e7705fd2db74e070f3bf6f88693601b0ed8e81049a8266de4754/pillow-11.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9622e3b6c1d8b551b6e6f21873bdcc55762b4b2126633014cea1803368a9aa16", size = 4445826, upload-time = "2025-04-12T17:48:52.346Z" },
|
264
|
+
{ url = "https://files.pythonhosted.org/packages/07/94/8be03d50b70ca47fb434a358919d6a8d6580f282bbb7af7e4aa40103461d/pillow-11.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63b5dff3a68f371ea06025a1a6966c9a1e1ee452fc8020c2cd0ea41b83e9037b", size = 4527329, upload-time = "2025-04-12T17:48:54.403Z" },
|
265
|
+
{ url = "https://files.pythonhosted.org/packages/fd/a4/bfe78777076dc405e3bd2080bc32da5ab3945b5a25dc5d8acaa9de64a162/pillow-11.2.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:31df6e2d3d8fc99f993fd253e97fae451a8db2e7207acf97859732273e108406", size = 4549049, upload-time = "2025-04-12T17:48:56.383Z" },
|
266
|
+
{ url = "https://files.pythonhosted.org/packages/65/4d/eaf9068dc687c24979e977ce5677e253624bd8b616b286f543f0c1b91662/pillow-11.2.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:062b7a42d672c45a70fa1f8b43d1d38ff76b63421cbbe7f88146b39e8a558d91", size = 4635408, upload-time = "2025-04-12T17:48:58.782Z" },
|
267
|
+
{ url = "https://files.pythonhosted.org/packages/1d/26/0fd443365d9c63bc79feb219f97d935cd4b93af28353cba78d8e77b61719/pillow-11.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4eb92eca2711ef8be42fd3f67533765d9fd043b8c80db204f16c8ea62ee1a751", size = 4614863, upload-time = "2025-04-12T17:49:00.709Z" },
|
268
|
+
{ url = "https://files.pythonhosted.org/packages/49/65/dca4d2506be482c2c6641cacdba5c602bc76d8ceb618fd37de855653a419/pillow-11.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f91ebf30830a48c825590aede79376cb40f110b387c17ee9bd59932c961044f9", size = 4692938, upload-time = "2025-04-12T17:49:02.946Z" },
|
269
|
+
{ url = "https://files.pythonhosted.org/packages/b3/92/1ca0c3f09233bd7decf8f7105a1c4e3162fb9142128c74adad0fb361b7eb/pillow-11.2.1-cp313-cp313t-win32.whl", hash = "sha256:e0b55f27f584ed623221cfe995c912c61606be8513bfa0e07d2c674b4516d9dd", size = 2335774, upload-time = "2025-04-12T17:49:04.889Z" },
|
270
|
+
{ url = "https://files.pythonhosted.org/packages/a5/ac/77525347cb43b83ae905ffe257bbe2cc6fd23acb9796639a1f56aa59d191/pillow-11.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:36d6b82164c39ce5482f649b437382c0fb2395eabc1e2b1702a6deb8ad647d6e", size = 2681895, upload-time = "2025-04-12T17:49:06.635Z" },
|
271
|
+
{ url = "https://files.pythonhosted.org/packages/67/32/32dc030cfa91ca0fc52baebbba2e009bb001122a1daa8b6a79ad830b38d3/pillow-11.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:225c832a13326e34f212d2072982bb1adb210e0cc0b153e688743018c94a2681", size = 2417234, upload-time = "2025-04-12T17:49:08.399Z" },
|
272
|
+
]
|
273
|
+
|
274
|
+
[[package]]
|
275
|
+
name = "pogucam"
|
276
|
+
version = "0.1.3"
|
277
|
+
source = { editable = "." }
|
278
|
+
dependencies = [
|
279
|
+
{ name = "astropy" },
|
280
|
+
{ name = "click" },
|
281
|
+
{ name = "console" },
|
282
|
+
{ name = "numpy" },
|
283
|
+
{ name = "opencv-python" },
|
284
|
+
{ name = "pillow" },
|
285
|
+
{ name = "pyqt6" },
|
286
|
+
{ name = "requests" },
|
287
|
+
]
|
288
|
+
|
289
|
+
[package.metadata]
|
290
|
+
requires-dist = [
|
291
|
+
{ name = "astropy", specifier = ">=7.1.0" },
|
292
|
+
{ name = "click", specifier = ">=8.2.1" },
|
293
|
+
{ name = "console", specifier = ">=0.9911" },
|
294
|
+
{ name = "numpy", specifier = ">=2.3.0" },
|
295
|
+
{ name = "opencv-python", specifier = ">=4.11.0.86" },
|
296
|
+
{ name = "pillow", specifier = ">=11.2.1" },
|
297
|
+
{ name = "pyqt6", specifier = ">=6.9.1" },
|
298
|
+
{ name = "requests", specifier = ">=2.32.4" },
|
299
|
+
]
|
300
|
+
|
301
|
+
[[package]]
|
302
|
+
name = "pyerfa"
|
303
|
+
version = "2.0.1.5"
|
304
|
+
source = { registry = "https://pypi.org/simple" }
|
305
|
+
dependencies = [
|
306
|
+
{ name = "numpy" },
|
307
|
+
]
|
308
|
+
sdist = { url = "https://files.pythonhosted.org/packages/71/39/63cc8291b0cf324ae710df41527faf7d331bce573899199d926b3e492260/pyerfa-2.0.1.5.tar.gz", hash = "sha256:17d6b24fe4846c65d5e7d8c362dcb08199dc63b30a236aedd73875cc83e1f6c0", size = 818430, upload-time = "2024-11-11T15:22:30.852Z" }
|
309
|
+
wheels = [
|
310
|
+
{ url = "https://files.pythonhosted.org/packages/7d/d9/3448a57cb5bd19950de6d6ab08bd8fbb3df60baa71726de91d73d76c481b/pyerfa-2.0.1.5-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:b282d7c60c4c47cf629c484c17ac504fcb04abd7b3f4dfcf53ee042afc3a5944", size = 341818, upload-time = "2024-11-11T15:22:16.467Z" },
|
311
|
+
{ url = "https://files.pythonhosted.org/packages/11/4a/31a363370478b63c6289a34743f2ba2d3ae1bd8223e004d18ab28fb92385/pyerfa-2.0.1.5-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:be1aeb70390dd03a34faf96749d5cabc58437410b4aab7213c512323932427df", size = 329370, upload-time = "2024-11-11T15:22:17.829Z" },
|
312
|
+
{ url = "https://files.pythonhosted.org/packages/cb/96/b6210fc624123c8ae13e1eecb68fb75e3f3adff216d95eee1c7b05843e3e/pyerfa-2.0.1.5-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0603e8e1b839327d586c8a627cdc634b795e18b007d84f0cda5500a0908254e", size = 692794, upload-time = "2024-11-11T15:22:19.429Z" },
|
313
|
+
{ url = "https://files.pythonhosted.org/packages/e5/e0/050018d855d26d3c0b4a7d1b2ed692be758ce276d8289e2a2b44ba1014a5/pyerfa-2.0.1.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e43c7194e3242083f2350b46c09fd4bf8ba1bcc0ebd1460b98fc47fe2389906", size = 738711, upload-time = "2024-11-11T15:22:20.661Z" },
|
314
|
+
{ url = "https://files.pythonhosted.org/packages/b9/f5/ff91ee77308793ae32fa1e1de95e9edd4551456dd888b4e87c5938657ca5/pyerfa-2.0.1.5-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:07b80cd70701f5d066b1ac8cce406682cfcd667a1186ec7d7ade597239a6021d", size = 722966, upload-time = "2024-11-11T15:22:21.905Z" },
|
315
|
+
{ url = "https://files.pythonhosted.org/packages/2c/56/b22b35c8551d2228ff8d445e63787112927ca13f6dc9e2c04f69d742c95b/pyerfa-2.0.1.5-cp39-abi3-win32.whl", hash = "sha256:d30b9b0df588ed5467e529d851ea324a67239096dd44703125072fd11b351ea2", size = 339955, upload-time = "2024-11-11T15:22:23.087Z" },
|
316
|
+
{ url = "https://files.pythonhosted.org/packages/b4/11/97233cf23ad5411ac6f13b1d6ee3888f90ace4f974d9bf9db887aa428912/pyerfa-2.0.1.5-cp39-abi3-win_amd64.whl", hash = "sha256:66292d437dcf75925b694977aa06eb697126e7b86553e620371ed3e48b5e0ad0", size = 349410, upload-time = "2024-11-11T15:22:24.817Z" },
|
317
|
+
]
|
318
|
+
|
319
|
+
[[package]]
|
320
|
+
name = "pyqt6"
|
321
|
+
version = "6.9.1"
|
322
|
+
source = { registry = "https://pypi.org/simple" }
|
323
|
+
dependencies = [
|
324
|
+
{ name = "pyqt6-qt6" },
|
325
|
+
{ name = "pyqt6-sip" },
|
326
|
+
]
|
327
|
+
sdist = { url = "https://files.pythonhosted.org/packages/32/1b/567f46eb43ca961efd38d7a0b73efb70d7342854f075fd919179fdb2a571/pyqt6-6.9.1.tar.gz", hash = "sha256:50642be03fb40f1c2111a09a1f5a0f79813e039c15e78267e6faaf8a96c1c3a6", size = 1067230, upload-time = "2025-06-06T08:49:30.307Z" }
|
328
|
+
wheels = [
|
329
|
+
{ url = "https://files.pythonhosted.org/packages/18/c4/fc2a69cf3df09b213185ef5a677c3940cd20e7855d29e40061a685b9c6ee/pyqt6-6.9.1-cp39-abi3-macosx_10_14_universal2.whl", hash = "sha256:33c23d28f6608747ecc8bfd04c8795f61631af9db4fb1e6c2a7523ec4cc916d9", size = 59770566, upload-time = "2025-06-06T08:48:20.331Z" },
|
330
|
+
{ url = "https://files.pythonhosted.org/packages/d5/78/92f3c46440a83ebe22ae614bd6792e7b052bcb58ff128f677f5662015184/pyqt6-6.9.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:37884df27f774e2e1c0c96fa41e817a222329b80ffc6241725b0dc8c110acb35", size = 37804959, upload-time = "2025-06-06T08:48:39.587Z" },
|
331
|
+
{ url = "https://files.pythonhosted.org/packages/5a/5e/e77fa2761d809cd08d724f44af01a4b6ceb0ff9648e43173187b0e4fac4e/pyqt6-6.9.1-cp39-abi3-manylinux_2_39_aarch64.whl", hash = "sha256:055870b703c1a49ca621f8a89e2ec4d848e6c739d39367eb9687af3b056d9aa3", size = 40414608, upload-time = "2025-06-06T08:49:00.26Z" },
|
332
|
+
{ url = "https://files.pythonhosted.org/packages/c4/09/69cf80456b6a985e06dd24ed0c2d3451e43567bf2807a5f3a86ef7a74a2e/pyqt6-6.9.1-cp39-abi3-win_amd64.whl", hash = "sha256:15b95bd273bb6288b070ed7a9503d5ff377aa4882dd6d175f07cad28cdb21da0", size = 25717996, upload-time = "2025-06-06T08:49:13.208Z" },
|
333
|
+
{ url = "https://files.pythonhosted.org/packages/52/b3/0839d8fd18b86362a4de384740f2f6b6885b5d06fda7720f8a335425e316/pyqt6-6.9.1-cp39-abi3-win_arm64.whl", hash = "sha256:08792c72d130a02e3248a120f0b9bbb4bf4319095f92865bc5b365b00518f53d", size = 25212132, upload-time = "2025-06-06T08:49:27.41Z" },
|
334
|
+
]
|
335
|
+
|
336
|
+
[[package]]
|
337
|
+
name = "pyqt6-qt6"
|
338
|
+
version = "6.9.1"
|
339
|
+
source = { registry = "https://pypi.org/simple" }
|
340
|
+
wheels = [
|
341
|
+
{ url = "https://files.pythonhosted.org/packages/51/40/04f652e714f85ba6b0c24f4ead860f2c5769f9e64737f415524d792d5914/pyqt6_qt6-6.9.1-py3-none-macosx_10_14_x86_64.whl", hash = "sha256:3854c7f83ee4e8c2d91e23ab88b77f90e2ca7ace34fe72f634a446959f2b4d4a", size = 66236777, upload-time = "2025-06-03T14:53:17.684Z" },
|
342
|
+
{ url = "https://files.pythonhosted.org/packages/57/31/e4fa40568a59953ce5cf9a5adfbd1be4a806dafd94e39072d3cc0bed5468/pyqt6_qt6-6.9.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:123e4aeb037c099bb4696a3ea8edcb1d9d62cedd0b2b950556b26024c97f3293", size = 60551574, upload-time = "2025-06-03T14:53:48.42Z" },
|
343
|
+
{ url = "https://files.pythonhosted.org/packages/aa/8d/7c8073cbbefe9c103ec8add70f29ffee1db95a3755b429b9f47cd6afa41b/pyqt6_qt6-6.9.1-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:cc5bd193ebd2d1a3ec66e1eee65bf532d762c239459bce1ecebf56177243e89b", size = 82000130, upload-time = "2025-06-03T14:54:26.585Z" },
|
344
|
+
{ url = "https://files.pythonhosted.org/packages/1e/60/a4ab932028b0c15c0501cb52eb1e7f24f4ce2e4c78d46c7cce58a375a88c/pyqt6_qt6-6.9.1-py3-none-manylinux_2_39_aarch64.whl", hash = "sha256:b065af7243d1d450a49470a8185301196a18b1d41085d3ef476eb55bbb225083", size = 80463127, upload-time = "2025-06-03T14:55:03.272Z" },
|
345
|
+
{ url = "https://files.pythonhosted.org/packages/e7/85/552710819019a96d39d924071324a474aec54b31c410d7de8ebb398adcc1/pyqt6_qt6-6.9.1-py3-none-win_amd64.whl", hash = "sha256:f9e54c424bc921ecb76792a75d123e4ecfc26b00b0c57dae526f41f1d57951d3", size = 73778423, upload-time = "2025-06-03T14:55:39.756Z" },
|
346
|
+
{ url = "https://files.pythonhosted.org/packages/16/b4/70f6b18a4913f2326dcf7acb15c12cc0b91cb3932c2ba3b5728811f22acd/pyqt6_qt6-6.9.1-py3-none-win_arm64.whl", hash = "sha256:432caaedf5570bc8a9b7c75bc6af6a26bf88589536472eca73417ac019f59d41", size = 49617924, upload-time = "2025-06-03T14:57:13.038Z" },
|
347
|
+
]
|
348
|
+
|
349
|
+
[[package]]
|
350
|
+
name = "pyqt6-sip"
|
351
|
+
version = "13.10.2"
|
352
|
+
source = { registry = "https://pypi.org/simple" }
|
353
|
+
sdist = { url = "https://files.pythonhosted.org/packages/2f/4a/96daf6c2e4f689faae9bd8cebb52754e76522c58a6af9b5ec86a2e8ec8b4/pyqt6_sip-13.10.2.tar.gz", hash = "sha256:464ad156bf526500ce6bd05cac7a82280af6309974d816739b4a9a627156fafe", size = 92548, upload-time = "2025-05-23T12:26:49.901Z" }
|
354
|
+
wheels = [
|
355
|
+
{ url = "https://files.pythonhosted.org/packages/22/5b/1240017e0d59575289ba52b58fd7f95e7ddf0ed2ede95f3f7e2dc845d337/pyqt6_sip-13.10.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:83e6a56d3e715f748557460600ec342cbd77af89ec89c4f2a68b185fa14ea46c", size = 112199, upload-time = "2025-05-23T12:26:32.503Z" },
|
356
|
+
{ url = "https://files.pythonhosted.org/packages/51/11/1fc3bae02a12a3ac8354aa579b56206286e8b5ca9586677b1058c81c2f74/pyqt6_sip-13.10.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ccf197f8fa410e076936bee28ad9abadb450931d5be5625446fd20e0d8b27a6", size = 322757, upload-time = "2025-05-23T12:26:33.752Z" },
|
357
|
+
{ url = "https://files.pythonhosted.org/packages/21/40/de9491213f480a27199690616959a17a0f234962b86aa1dd4ca2584e922d/pyqt6_sip-13.10.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:37af463dcce39285e686d49523d376994d8a2508b9acccb7616c4b117c9c4ed7", size = 304251, upload-time = "2025-05-23T12:26:35.66Z" },
|
358
|
+
{ url = "https://files.pythonhosted.org/packages/02/21/cc80e03f1052408c62c341e9fe9b81454c94184f4bd8a95d29d2ec86df92/pyqt6_sip-13.10.2-cp312-cp312-win_amd64.whl", hash = "sha256:c7b34a495b92790c70eae690d9e816b53d3b625b45eeed6ae2c0fe24075a237e", size = 53519, upload-time = "2025-05-23T12:26:36.797Z" },
|
359
|
+
{ url = "https://files.pythonhosted.org/packages/77/cf/53bd0863252b260a502659cb3124d9c9fe38047df9360e529b437b4ac890/pyqt6_sip-13.10.2-cp312-cp312-win_arm64.whl", hash = "sha256:c80cc059d772c632f5319632f183e7578cd0976b9498682833035b18a3483e92", size = 45349, upload-time = "2025-05-23T12:26:37.729Z" },
|
360
|
+
{ url = "https://files.pythonhosted.org/packages/a1/1e/979ea64c98ca26979d8ce11e9a36579e17d22a71f51d7366d6eec3c82c13/pyqt6_sip-13.10.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8b5d06a0eac36038fa8734657d99b5fe92263ae7a0cd0a67be6acfe220a063e1", size = 112227, upload-time = "2025-05-23T12:26:38.758Z" },
|
361
|
+
{ url = "https://files.pythonhosted.org/packages/d9/21/84c230048e3bfef4a9209d16e56dcd2ae10590d03a31556ae8b5f1dcc724/pyqt6_sip-13.10.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad376a6078da37b049fdf9d6637d71b52727e65c4496a80b753ddc8d27526aca", size = 322920, upload-time = "2025-05-23T12:26:39.856Z" },
|
362
|
+
{ url = "https://files.pythonhosted.org/packages/b0/1e/c6a28a142f14e735088534cc92951c3f48cccd77cdd4f3b10d7996be420f/pyqt6_sip-13.10.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:3dde8024d055f496eba7d44061c5a1ba4eb72fc95e5a9d7a0dbc908317e0888b", size = 303833, upload-time = "2025-05-23T12:26:41.075Z" },
|
363
|
+
{ url = "https://files.pythonhosted.org/packages/89/63/e5adf350c1c3123d4865c013f164c5265512fa79f09ad464fb2fdf9f9e61/pyqt6_sip-13.10.2-cp313-cp313-win_amd64.whl", hash = "sha256:0b097eb58b4df936c4a2a88a2f367c8bb5c20ff049a45a7917ad75d698e3b277", size = 53527, upload-time = "2025-05-23T12:26:42.625Z" },
|
364
|
+
{ url = "https://files.pythonhosted.org/packages/58/74/2df4195306d050fbf4963fb5636108a66e5afa6dc05fd9e81e51ec96c384/pyqt6_sip-13.10.2-cp313-cp313-win_arm64.whl", hash = "sha256:cc6a1dfdf324efaac6e7b890a608385205e652845c62130de919fd73a6326244", size = 45373, upload-time = "2025-05-23T12:26:43.536Z" },
|
365
|
+
]
|
366
|
+
|
367
|
+
[[package]]
|
368
|
+
name = "pyyaml"
|
369
|
+
version = "6.0.2"
|
370
|
+
source = { registry = "https://pypi.org/simple" }
|
371
|
+
sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" }
|
372
|
+
wheels = [
|
373
|
+
{ url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload-time = "2024-08-06T20:32:25.131Z" },
|
374
|
+
{ url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload-time = "2024-08-06T20:32:26.511Z" },
|
375
|
+
{ url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload-time = "2024-08-06T20:32:28.363Z" },
|
376
|
+
{ url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload-time = "2024-08-06T20:32:30.058Z" },
|
377
|
+
{ url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload-time = "2024-08-06T20:32:31.881Z" },
|
378
|
+
{ url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload-time = "2024-08-06T20:32:37.083Z" },
|
379
|
+
{ url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload-time = "2024-08-06T20:32:38.898Z" },
|
380
|
+
{ url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload-time = "2024-08-06T20:32:40.241Z" },
|
381
|
+
{ url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload-time = "2024-08-06T20:32:41.93Z" },
|
382
|
+
{ url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309, upload-time = "2024-08-06T20:32:43.4Z" },
|
383
|
+
{ url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679, upload-time = "2024-08-06T20:32:44.801Z" },
|
384
|
+
{ url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428, upload-time = "2024-08-06T20:32:46.432Z" },
|
385
|
+
{ url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361, upload-time = "2024-08-06T20:32:51.188Z" },
|
386
|
+
{ url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523, upload-time = "2024-08-06T20:32:53.019Z" },
|
387
|
+
{ url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660, upload-time = "2024-08-06T20:32:54.708Z" },
|
388
|
+
{ url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload-time = "2024-08-06T20:32:56.985Z" },
|
389
|
+
{ url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload-time = "2024-08-06T20:33:03.001Z" },
|
390
|
+
{ url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" },
|
391
|
+
]
|
392
|
+
|
393
|
+
[[package]]
|
394
|
+
name = "requests"
|
395
|
+
version = "2.32.4"
|
396
|
+
source = { registry = "https://pypi.org/simple" }
|
397
|
+
dependencies = [
|
398
|
+
{ name = "certifi" },
|
399
|
+
{ name = "charset-normalizer" },
|
400
|
+
{ name = "idna" },
|
401
|
+
{ name = "urllib3" },
|
402
|
+
]
|
403
|
+
sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258, upload-time = "2025-06-09T16:43:07.34Z" }
|
404
|
+
wheels = [
|
405
|
+
{ url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847, upload-time = "2025-06-09T16:43:05.728Z" },
|
406
|
+
]
|
407
|
+
|
408
|
+
[[package]]
|
409
|
+
name = "urllib3"
|
410
|
+
version = "2.4.0"
|
411
|
+
source = { registry = "https://pypi.org/simple" }
|
412
|
+
sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload-time = "2025-04-10T15:23:39.232Z" }
|
413
|
+
wheels = [
|
414
|
+
{ url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload-time = "2025-04-10T15:23:37.377Z" },
|
415
|
+
]
|
pogucam-0.1.3/PKG-INFO
DELETED
File without changes
|
File without changes
|
File without changes
|
File without changes
|