not1mm 25.5.22__py3-none-any.whl → 25.5.26__py3-none-any.whl

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.
not1mm/vfo.py CHANGED
@@ -12,9 +12,11 @@ Purpose: Provide onscreen widget that interacts with DIY VFO knob and remote rig
12
12
  # usb-Raspberry_Pi_Pico_E6612483CB1B242A-if00
13
13
  # usb-Raspberry_Pi_Pico_W_E6614C311B331139-if00
14
14
 
15
+ import datetime
15
16
  import logging
16
17
  import os
17
18
  from json import loads
19
+ import sys
18
20
 
19
21
  import serial
20
22
  from PyQt6 import QtCore, QtWidgets, uic
@@ -37,6 +39,7 @@ class VfoWindow(QDockWidget):
37
39
  multicast_interface = None
38
40
  current_palette = None
39
41
  device_reconnect = False
42
+ stale = datetime.datetime.now()
40
43
 
41
44
  def __init__(self):
42
45
  super().__init__()
@@ -102,13 +105,23 @@ class VfoWindow(QDockWidget):
102
105
  Return the device ID if it is, or None if not found.
103
106
  """
104
107
 
105
- devices = None
108
+ devices = self.get_devices()
106
109
  data = None
107
- try:
108
- devices = os.listdir("/dev/serial/by-id")
109
- except FileNotFoundError:
110
+ if devices is None:
111
+ return None
112
+ if sys.platform == "darwin":
113
+ for device in devices:
114
+ if "usb" in device:
115
+ try:
116
+ with serial.Serial("/dev/" + device, 115200) as ser:
117
+ ser.timeout = 1000
118
+ ser.write(b"whatareyou\r")
119
+ data = ser.readline()
120
+ except serial.serialutil.SerialException:
121
+ return None
122
+ if "vfoknob" in data.decode().strip():
123
+ return "/dev/" + device
110
124
  return None
111
-
112
125
  for device in devices:
113
126
  if "usb-Raspberry_Pi_Pico" in device:
114
127
  try:
@@ -119,7 +132,16 @@ class VfoWindow(QDockWidget):
119
132
  except serial.serialutil.SerialException:
120
133
  return None
121
134
  if "vfoknob" in data.decode().strip():
122
- return device
135
+ return "/dev/serial/by-id/" + device
136
+
137
+ def get_devices(self):
138
+ try:
139
+ if sys.platform != "darwin":
140
+ return os.listdir("/dev/serial/by-id")
141
+ return os.listdir("/dev/")
142
+ except FileNotFoundError:
143
+ return None
144
+ return None
123
145
 
124
146
  def window_state_changed(self):
125
147
  """Setup vfo knob if window is toggled on"""
@@ -139,7 +161,7 @@ class VfoWindow(QDockWidget):
139
161
  device = self.discover_device()
140
162
  if device:
141
163
  try:
142
- self.pico = serial.Serial("/dev/serial/by-id/" + device, 115200)
164
+ self.pico = serial.Serial(device, 115200)
143
165
  self.pico.timeout = 100
144
166
  self.lcdNumber.setStyleSheet("QLCDNumber { color: white; }")
145
167
  self.device_reconnect = True
@@ -191,6 +213,8 @@ class VfoWindow(QDockWidget):
191
213
  """
192
214
  if not self.isVisible():
193
215
  return
216
+ if datetime.datetime.now() < self.stale:
217
+ return
194
218
  if self.rig_control:
195
219
  if self.rig_control.online is False:
196
220
  self.rig_control.reinit()
@@ -227,8 +251,12 @@ class VfoWindow(QDockWidget):
227
251
  while self.pico.in_waiting:
228
252
  result = self.pico.read(self.pico.in_waiting)
229
253
  result = result.decode().strip()
254
+
230
255
  if self.old_pico != result:
231
256
  self.old_pico = result
257
+ self.stale = datetime.datetime.now() + datetime.timedelta(
258
+ seconds=1
259
+ )
232
260
  if self.rig_control:
233
261
  self.rig_control.set_vfo(result)
234
262
  self.showNumber(result)
@@ -240,6 +268,8 @@ class VfoWindow(QDockWidget):
240
268
  except AttributeError:
241
269
  logger.critical("Unable to write to serial device.")
242
270
  self.pico = None
271
+ except KeyboardInterrupt:
272
+ ...
243
273
 
244
274
  def show_message_box(self, message: str) -> None:
245
275
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: not1mm
3
- Version: 25.5.22
3
+ Version: 25.5.26
4
4
  Summary: NOT1MM Logger
5
5
  Author-email: Michael Bridak <michael.bridak@gmail.com>
6
6
  License: GPL-3.0-or-later
@@ -164,8 +164,10 @@ and SQLite for the database.
164
164
  ### Target Environment
165
165
 
166
166
  The primary target for this application is Linux. It may be able to run on other
167
- platforms, BSD, Mac and Windows. But I don't have a way, or desire, to directly
168
- support them.
167
+ platforms, BSD and Windows. But I don't have a way, or desire, to directly support them.
168
+
169
+ I've recently purchased an M4 Mac Mini, So I'll probably put more effort into that platform as well.
170
+
169
171
 
170
172
  ### The Why
171
173
 
@@ -257,8 +259,14 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
257
259
 
258
260
  ## Recent Changes
259
261
 
262
+ - [25-5-26] Add ARI DX contest, Fix Canada Day mults.
263
+ - [25-5-25] Added {PREVNR} macro to resend last logged serial number.
264
+ - Add Bandmap mode indicators for CW, FT*, SSB, Beacons.
265
+ - Made tuning with the VFO knob smoother.
266
+ - Add MacOS support for VFO knob.
267
+ - Forced style to Fusion on MacOS, 'cause it looked like ass.
260
268
  - [25-5-22] Trap possible ValueError exception in settings.py
261
- -[25-5-21] Fix crash from unsafe dict key access when processing F1-F12.
269
+ - [25-5-21] Fix crash from unsafe dict key access when processing F1-F12.
262
270
  - [25-5-6] Merged PR from @JG3LLB, Koji-Kawano, Adding code to stop sending morse if using rigctld to send, and @alduhoo adding more control to CW serial number padding.
263
271
 
264
272
  See [CHANGELOG.md](CHANGELOG.md) for prior changes.
@@ -891,8 +899,26 @@ blue rectangle shows the receivers bandwidth if one is reported.
891
899
 
892
900
  ![Bandmap Window](https://github.com/mbridak/not1mm/raw/master/pic/VFO_and_bandwidth_markers.png)
893
901
 
894
- Clicked on spots now tune the radio and set the callsign field. Previously
895
- worked calls are displayed in red.
902
+ Clicking on a spots tunes the radio to the spot frequency and sets the callsign field.
903
+
904
+ Previously worked calls are displayed in Red.
905
+
906
+ Callsigns that were marked with CTRL-M to work later are displayed in a Yellow-ish color.
907
+
908
+ In between the spots call and time is now a little icon to visually tell you what kind of spot it is.
909
+
910
+ ![Bandmap Icons](https://github.com/mbridak/not1mm/raw/master/pic/bandmap_icons.png)
911
+
912
+ - ○ CW
913
+ - ⦿ FT*
914
+ - ⌾ RTTY
915
+ - 🗼 Beacons
916
+ - @ Everything else
917
+
918
+ Secondary Icons:
919
+
920
+ - [P] POTA
921
+ - [S] SOTA
896
922
 
897
923
  ### The Check Partial Window
898
924
 
@@ -920,7 +946,9 @@ This window contains QSO rates and counts.
920
946
 
921
947
  You can control the VFO on a remote rig by following the directions listed in
922
948
  the link below. It's a small hardware project with a BOM of under $20, and
923
- consisting of two parts.
949
+ consisting of two parts. The VFO knob is now detectable on MacOS. I've made the
950
+ operation of the knob smoother by having the knob ignore frequency updates from
951
+ the radio while it's in rotation.
924
952
 
925
953
  1. Making the [VFO](https://github.com/mbridak/not1mm/blob/master/usb_vfo_knob/vfo.md)...
926
954
  2. Then... `Window`>`VFO`
@@ -1,16 +1,16 @@
1
1
  not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- not1mm/__main__.py,sha256=7VUesI-jAYNa2W0IUWS1u3Y5nyQQfc2K9ZvIO-rKmgo,159536
3
- not1mm/bandmap.py,sha256=4Ieg3Z_PYdvo4KxGcAiPB5VohUXH6g8r9rCCXbHuKLc,30151
2
+ not1mm/__main__.py,sha256=FZZGObcnSJEzEFj7a2K_-DPJUivmDS2tV5boPVudSJs,169592
3
+ not1mm/bandmap.py,sha256=0JmZ32UvkaPjXs2xTgowX1GLvZo5zHU_Zo9y_GL-On4,31139
4
4
  not1mm/checkwindow.py,sha256=zEHlw40j6Wr3rvKbCQf2lcezCoiZqaBqEvBjQU5aKW0,7630
5
5
  not1mm/fsutils.py,sha256=ukHKxKTeNKxKwqRaJjtzRShL4X5Xl0jRBbADyy3Ifp8,1701
6
- not1mm/logwindow.py,sha256=e36t4ebyhLF6UR3y3HJWUwL1rzeqRFzdek7NAYINJNM,42565
6
+ not1mm/logwindow.py,sha256=hYzpCQKkwgILFUtP5uxQXy6uU9zCB0R-aBDAUsSOPFI,42625
7
7
  not1mm/lookupservice.py,sha256=GkY_qHZfrW6XHf8upIoaG4hCFqm0fg6Ganu9ConGrIc,2628
8
8
  not1mm/radio.py,sha256=4Lysf9BY3vdtYCHwKfzO5WN7IGyh4_lKSVuQ6F4Z08g,5536
9
- not1mm/ratewindow.py,sha256=vMM56sOWbglQXf16Rhhgx2V4uaiGzTkfmcOmhgNd1GQ,7018
9
+ not1mm/ratewindow.py,sha256=iBjqdOetIEX0wSwdGM89Ibt4gVlFdE-K8HQPnkVPVOg,6965
10
10
  not1mm/rtc_service.py,sha256=axAwnCBuTr-QL0YwXtWvg9tjwhcFsiiEZFgFjOofX6k,2816
11
- not1mm/statistics.py,sha256=YbXBCr8wtmXlF21ojgsh0jY_G-dnCApUFe87JZclZAI,7712
11
+ not1mm/statistics.py,sha256=_k65GU93N-TIb2-b0_Yta4NCT9pJd5t-SB_DvC-m_ZM,7712
12
12
  not1mm/test.py,sha256=BNhsSvLnNG5hN4pywIWnj4pUBI-wQYY4Ejfbl97knmw,1198
13
- not1mm/vfo.py,sha256=LbGjJKb6ipDEbEEcaeIR2DiEpReolamSzuY25rU3iOo,8997
13
+ not1mm/vfo.py,sha256=SsqinokSd8BqVp6l-_DGRKcNN9Uc9JiFYXDl9Ycep1o,10111
14
14
  not1mm/voice_keying.py,sha256=HZImqC5NgnyW2nknNYQ3b7I8-6S_hxpq5G4RcIRXn_k,3005
15
15
  not1mm/data/JetBrainsMono-Thin.ttf,sha256=B1bo6M8dZfp1GXdnZEebOXPvsVr09BnV1ydNwnrhtwI,270112
16
16
  not1mm/data/MASTER.SCP,sha256=LuF8dTtdRKaqSyzJ1nl7zW2-gs5ehQiXiI41t5Zo9Bo,362769
@@ -19,7 +19,9 @@ not1mm/data/alpha bravo charlie delta.txt,sha256=d5QMmSWEUAe4Rj1XbNjTPLa_5Be4Se6
19
19
  not1mm/data/bandmap.ui,sha256=V0RlAcaGTcP85VBI_Rkxu3kpDmP4EKZmwrqPTrUGv5w,8580
20
20
  not1mm/data/check.png,sha256=UvFOLr8V-79qnjW8wUaGItXk_OSP8m8hqPevs8NDlFY,387
21
21
  not1mm/data/checkwindow.ui,sha256=kRRfMXOsvyQwCk93Fm8CWTaL3DCWFTIfyqncciRY2MI,5064
22
- not1mm/data/configuration.ui,sha256=_Ya9xVphfBCh0wFV5dizrb61giUWkj0-6fmaiIPfwoc,77367
22
+ not1mm/data/cloud_green.png,sha256=MdXhls1n4XR7oM0Y84pqlsuay6byduAJF7NwgZ-g0DU,626
23
+ not1mm/data/cloud_red.png,sha256=vSIQ1X7_z484pv3xXjTRtdtfIontsUq11suTALSsaQA,482
24
+ not1mm/data/configuration.ui,sha256=Qze_mbSw3vS6Iwof5TyEz-3KycG1lconANEMXhPrFQQ,76372
23
25
  not1mm/data/contests.sql,sha256=4hmJCDvrbxnA_Y5S4T5o52TZieeFk6QUwFerwlFePNA,89307
24
26
  not1mm/data/cty.json,sha256=bwPhOrOAgvV9JiXUDT9kzCqfNWAhGuJQt489h0SKsCk,4925375
25
27
  not1mm/data/cwmacros.txt,sha256=NztufsX6R52gAO7VyJ2AHr7wOh41pJTwHKh5Lcs32ds,468
@@ -33,8 +35,8 @@ not1mm/data/k6gte.not1mm-32.png,sha256=XdTsCa3xqwTfn26Ga7RwO_Vlbg_77RKkSc8bMxVcC
33
35
  not1mm/data/k6gte.not1mm-64.png,sha256=6ku45Gq1g5ezh04F07osoKRtanb3e4kbx5XdIEh3N90,2925
34
36
  not1mm/data/logwindow.ui,sha256=vfkNdzJgFs3tTOBKLDavF2zVMvNHWOZ82fAErRi6pQY,1436
35
37
  not1mm/data/logwindowx.ui,sha256=9FzDJtLRpagvAWcDjFdB9NnvNZ4bVxdTNHy1Jit2ido,1610
36
- not1mm/data/main.ui,sha256=hqgvaffln0vxXiRKJGIEZ_kylqCaRz77BXKRREEz9Qw,64727
37
- not1mm/data/new_contest.ui,sha256=WKg2jy8jxHg2d3pZsBTcdSNObKcd0eVbO-OoW0u0uxA,25309
38
+ not1mm/data/main.ui,sha256=gEWmfXmqLM-DiujjnPdU-4buYJF9TQxS9gE0JlVv_4Y,65142
39
+ not1mm/data/new_contest.ui,sha256=uYEn8RU8kkGI2jUC7_gsH5HpVvJdG79cl_10OpvFCXw,25412
38
40
  not1mm/data/not1mm.html,sha256=c9-mfjMwDt4f5pySUruz2gREW33CQ2_rCddM2z5CZQo,23273
39
41
  not1mm/data/opon.ui,sha256=mC4OhoVIfR1H9IqHAKXliPMm8VOVmxSEadpsFQ7XnS4,2247
40
42
  not1mm/data/pickcontest.ui,sha256=Pbb_YEOzQfacyhIRkx-M3ZGugIIPL1KPztdwVv5c_q0,1696
@@ -100,9 +102,9 @@ not1mm/data/phonetics/yourcall.wav,sha256=4kheHJmCiRDL2kjhlgXQ8_u_eEMgKxiNGu5UBk
100
102
  not1mm/data/phonetics/z.wav,sha256=arafCi7fwmBLdVDI-PRyaL4U-03PIQDhffwY5noJ_2c,51768
101
103
  not1mm/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
104
  not1mm/lib/about.py,sha256=sWycfGcruN3SaEe4JmaJ61K6D8Itq0WxpUYT-lEcmYM,416
103
- not1mm/lib/cat_interface.py,sha256=f23U6LA2xydIE-ftV_sO_QGhb5GfSWpfKX46MxH5kkM,27209
105
+ not1mm/lib/cat_interface.py,sha256=jADt45E5AcdEx8FHN4rSDbngeQqVzbtIy43luGWGDK0,27222
104
106
  not1mm/lib/cwinterface.py,sha256=rKUnqljHQC_Iljq4TCmAgSPe49lWbKcfxg58cE8YX5Y,5177
105
- not1mm/lib/database.py,sha256=fykyaQaTa_Pwde51f09Odbexy1mlUqObv0fjZ7hf3E0,51693
107
+ not1mm/lib/database.py,sha256=ycc_O3e8fOhWyiGfZjTFf2U94BGMaUw3nCvXFbligaw,53358
106
108
  not1mm/lib/edit_contact.py,sha256=Ki9bGPpqyQQBB1cU8VIBDCal3lbXeQ6qxhzklmhE2_w,353
107
109
  not1mm/lib/edit_macro.py,sha256=raKWBwsHInj5EUKmvyLQ6gqc3ZFDlstsD3xqoM4PC8E,517
108
110
  not1mm/lib/edit_opon.py,sha256=j3qJ1aBsQoIOnQ9yiBl3lyeISvKTP0I_rtBYBPAfgeI,359
@@ -116,9 +118,9 @@ not1mm/lib/n1mm.py,sha256=H54mpgJF0GAmKavM-nb5OAq2SJFWYkux4eMWWiSRxJc,6288
116
118
  not1mm/lib/new_contest.py,sha256=IznTDMq7yXHB6zBoGUEC_WDYPCPpsSZW4wwMJi16zK0,816
117
119
  not1mm/lib/plugin_common.py,sha256=D1OBjyLmX7zuSPqgTCmHwXzAKA12J_zTQItvyIem-4Y,13299
118
120
  not1mm/lib/select_contest.py,sha256=WsptLuwkouIHeocJL3oZ6-eUfEnhpwdc-x7eMZ_TIVM,359
119
- not1mm/lib/settings.py,sha256=suvCQJavxNJ57b4utlfXhm6S3KozIVmkxQ2oryt_63E,15863
121
+ not1mm/lib/settings.py,sha256=5xnsagH48qGeCDhfxPWW9yaXtv8wT13yoIVvYt8h_Qs,16023
120
122
  not1mm/lib/super_check_partial.py,sha256=hwT2NRwobu0PLDyw6ltmbmcAtGBD02CKGFbgGWjXMqA,2334
121
- not1mm/lib/version.py,sha256=lL7Gbn7olTN8EWC9moHKqYDvZ1aNj4fI9EoQ_pZmSKU,48
123
+ not1mm/lib/version.py,sha256=cxRNTW7axUKEXgODc90wjsXYQxIl8QXaOMWrjWgJAus,49
122
124
  not1mm/lib/versiontest.py,sha256=8vDNptuBBunn-1IGkjNaquehqBYUJyjrPSF8Igmd4_Y,1286
123
125
  not1mm/plugins/10_10_fall_cw.py,sha256=oJh3JKqjOpnWElSlZpiQ631UnaOd8qra5s9bl_QoInk,14783
124
126
  not1mm/plugins/10_10_spring_cw.py,sha256=p7dSDtbFK0e6Xouw2V6swYn3VFVgHKyx4IfRWyBjMZY,14786
@@ -126,6 +128,7 @@ not1mm/plugins/10_10_summer_phone.py,sha256=NWWT5YTZN6CkPl5Jy4lCuTqHd1R_JodhsOLq
126
128
  not1mm/plugins/10_10_winter_phone.py,sha256=4xoWLbnE2di5XnUUlhsvTR__E0Z4kbhu-rcUitPMR0U,14795
127
129
  not1mm/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
130
  not1mm/plugins/ari_40_80.py,sha256=_CaUWEo0zJONXvxPqJKyqmStJezqxEsNxOnEdSLmxzY,15333
131
+ not1mm/plugins/ari_dx.py,sha256=H1eBKS6m-6ZH7l6wUTb6BjQnS8JTiwEv99xzSZnB0ac,18284
129
132
  not1mm/plugins/arrl_10m.py,sha256=9p7EX2vAXVilF8y6AYHG4fXczU6g9QuMA2Pvj64pSXE,18389
130
133
  not1mm/plugins/arrl_160m.py,sha256=rdWDhmPN0h9ADTlYaRLk-5j8KVye0rUEs1tyD-kfHV0,20300
131
134
  not1mm/plugins/arrl_dx_cw.py,sha256=Bx6_PBmTHKf4l52XwLFVeR2y6F134kXbGTfEXC_1agk,18890
@@ -137,7 +140,7 @@ not1mm/plugins/arrl_ss_phone.py,sha256=PzybC--tSB7_oNLbbN9xYkMnftH-z6qgcGZUp3-JG
137
140
  not1mm/plugins/arrl_vhf_jan.py,sha256=paYrF_o1EotBRmXn_x9_hEM16SWx7sLDzoSoXcYXcCY,20201
138
141
  not1mm/plugins/arrl_vhf_jun.py,sha256=WwQ-UGFekIZj26bIbq3sLacTYMmUzBYySHhPz2APm2M,19293
139
142
  not1mm/plugins/arrl_vhf_sep.py,sha256=kq5Rncru74G9B76VwfXMeTaF9AL8hq-1vw9ZMYmJmvM,19326
140
- not1mm/plugins/canada_day.py,sha256=89aGXm4S9PjKL9FYm3z7BMFRz--MugQQilwQnzLJvv0,15770
143
+ not1mm/plugins/canada_day.py,sha256=L8pBKcfZGUycBfRS3g9PfeavNIL8CTRAUYk-fVMXDoU,15771
141
144
  not1mm/plugins/cq_160_cw.py,sha256=bmHtxVcIWsqmgqpMCMso7DCBERtAr9fIKIjgymSKtms,18711
142
145
  not1mm/plugins/cq_160_ssb.py,sha256=9KKDmmapETEebm1azfEzUWk1NyW3TBnYtBlFIPZYHBs,18754
143
146
  not1mm/plugins/cq_wpx_cw.py,sha256=F5lLuXumrviNHnNEk377OKeEJCnv_j9vnjHEcV70gFc,18249
@@ -180,9 +183,9 @@ not1mm/plugins/ukeidx.py,sha256=0ABGW7_9Ui0Rgr8mkPBxOJokAIerM1a4-HWnl6VsnV8,1910
180
183
  not1mm/plugins/vhf_sprint.py,sha256=a9QFTpv8XUbZ_GLjdVCh7svykFa-gXOWwKFZ6MD3uQM,19289
181
184
  not1mm/plugins/weekly_rtty.py,sha256=C8Xs3Q5UgSYx-mFFar8BVARWtmqlyrbeC98Ubzb4UN8,20128
182
185
  not1mm/plugins/winter_field_day.py,sha256=hmAMgkdqIXtnCNyUp8J9Bb8liN8wj10wps6ROuG-Bok,15284
183
- not1mm-25.5.22.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
184
- not1mm-25.5.22.dist-info/METADATA,sha256=L0h2P4UrdnBLuv9f4h5cLIw4E-lMEwrInq5nEtzCizY,40882
185
- not1mm-25.5.22.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
186
- not1mm-25.5.22.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
187
- not1mm-25.5.22.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
188
- not1mm-25.5.22.dist-info/RECORD,,
186
+ not1mm-25.5.26.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
187
+ not1mm-25.5.26.dist-info/METADATA,sha256=ADt5-FyZpdmXoqQlQzxeDeb2hnYOaXNyhCgg1cA7YmQ,41888
188
+ not1mm-25.5.26.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
189
+ not1mm-25.5.26.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
190
+ not1mm-25.5.26.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
191
+ not1mm-25.5.26.dist-info/RECORD,,