simo 2.0.21__py3-none-any.whl → 2.0.22__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.
Potentially problematic release.
This version of simo might be problematic. Click here for more details.
- simo/core/__pycache__/admin.cpython-38.pyc +0 -0
- simo/core/__pycache__/api_meta.cpython-38.pyc +0 -0
- simo/core/__pycache__/forms.cpython-38.pyc +0 -0
- simo/core/__pycache__/models.cpython-38.pyc +0 -0
- simo/core/__pycache__/serializers.cpython-38.pyc +0 -0
- simo/core/admin.py +1 -1
- simo/core/api_meta.py +3 -1
- simo/core/forms.py +2 -3
- simo/core/migrations/0031_auto_20240429_1231.py +28 -0
- simo/core/migrations/__pycache__/0031_auto_20240429_1231.cpython-38.pyc +0 -0
- simo/core/models.py +2 -0
- simo/core/serializers.py +21 -12
- {simo-2.0.21.dist-info → simo-2.0.22.dist-info}/METADATA +1 -1
- {simo-2.0.21.dist-info → simo-2.0.22.dist-info}/RECORD +17 -15
- {simo-2.0.21.dist-info → simo-2.0.22.dist-info}/LICENSE.md +0 -0
- {simo-2.0.21.dist-info → simo-2.0.22.dist-info}/WHEEL +0 -0
- {simo-2.0.21.dist-info → simo-2.0.22.dist-info}/top_level.txt +0 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
simo/core/admin.py
CHANGED
|
@@ -269,7 +269,7 @@ class ComponentAdmin(admin.ModelAdmin):
|
|
|
269
269
|
'alarm_category', 'arm_status'
|
|
270
270
|
)
|
|
271
271
|
|
|
272
|
-
search_fields = 'name',
|
|
272
|
+
search_fields = 'id', 'name', 'value', 'config', 'meta', 'notes'
|
|
273
273
|
list_per_page = 100
|
|
274
274
|
change_list_template = 'admin/component_change_list.html'
|
|
275
275
|
inlines = ComponentPermissionInline,
|
simo/core/api_meta.py
CHANGED
|
@@ -4,7 +4,8 @@ from rest_framework import serializers
|
|
|
4
4
|
from rest_framework.metadata import SimpleMetadata
|
|
5
5
|
from rest_framework.utils.field_mapping import ClassLookupDict
|
|
6
6
|
from .serializers import (
|
|
7
|
-
HiddenSerializerField, ComponentManyToManyRelatedField
|
|
7
|
+
HiddenSerializerField, ComponentManyToManyRelatedField,
|
|
8
|
+
TextAreaSerializerField
|
|
8
9
|
)
|
|
9
10
|
|
|
10
11
|
|
|
@@ -36,6 +37,7 @@ class SIMOAPIMetadata(SimpleMetadata):
|
|
|
36
37
|
serializers.ManyRelatedField: 'many related objects',
|
|
37
38
|
ComponentManyToManyRelatedField: 'many related objects',
|
|
38
39
|
HiddenSerializerField: 'hidden',
|
|
40
|
+
TextAreaSerializerField: 'textarea',
|
|
39
41
|
})
|
|
40
42
|
|
|
41
43
|
def get_field_info(self, field):
|
simo/core/forms.py
CHANGED
|
@@ -34,7 +34,6 @@ class HiddenField(forms.CharField):
|
|
|
34
34
|
super().__init__(widget=forms.HiddenInput())
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
|
|
38
37
|
class HubConfigForm(forms.Form):
|
|
39
38
|
name = forms.CharField(
|
|
40
39
|
label=_("Hub Name"), required=True,
|
|
@@ -300,7 +299,6 @@ class ComponentAdminForm(forms.ModelForm):
|
|
|
300
299
|
'category': autocomplete.ModelSelect2(
|
|
301
300
|
url='autocomplete-category', attrs={'data-html': True}
|
|
302
301
|
),
|
|
303
|
-
#'instance_methods': PythonCode
|
|
304
302
|
}
|
|
305
303
|
|
|
306
304
|
def __init__(self, *args, **kwargs):
|
|
@@ -334,6 +332,7 @@ class ComponentAdminForm(forms.ModelForm):
|
|
|
334
332
|
#'instance_methods',
|
|
335
333
|
'value_units',
|
|
336
334
|
'alarm_category', 'arm_status',
|
|
335
|
+
'notes'
|
|
337
336
|
)
|
|
338
337
|
base_fields = ['id', 'gateway', 'base_type', 'name']
|
|
339
338
|
if cls.has_icon:
|
|
@@ -348,7 +347,7 @@ class ComponentAdminForm(forms.ModelForm):
|
|
|
348
347
|
|
|
349
348
|
base_fields.append('show_in_app')
|
|
350
349
|
base_fields.append('control')
|
|
351
|
-
|
|
350
|
+
base_fields.append('notes')
|
|
352
351
|
|
|
353
352
|
fieldsets = [
|
|
354
353
|
(_("Base settings"), {'fields': base_fields}),
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Generated by Django 3.2.9 on 2024-04-29 12:31
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
('core', '0030_alter_instance_timezone'),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.AddField(
|
|
14
|
+
model_name='component',
|
|
15
|
+
name='notes',
|
|
16
|
+
field=models.TextField(blank=True, null=True),
|
|
17
|
+
),
|
|
18
|
+
migrations.AlterField(
|
|
19
|
+
model_name='category',
|
|
20
|
+
name='header_image',
|
|
21
|
+
field=models.ImageField(blank=True, help_text='Will be cropped down to: 830x430', null=True, upload_to='categories'),
|
|
22
|
+
),
|
|
23
|
+
migrations.AlterField(
|
|
24
|
+
model_name='instance',
|
|
25
|
+
name='cover_image',
|
|
26
|
+
field=models.ImageField(blank=True, null=True, upload_to='hub_covers'),
|
|
27
|
+
),
|
|
28
|
+
]
|
|
Binary file
|
simo/core/models.py
CHANGED
|
@@ -361,6 +361,8 @@ class Component(DirtyFieldsMixin, models.Model, SimoAdminMixin, OnChangeMixin):
|
|
|
361
361
|
|
|
362
362
|
show_in_app = models.BooleanField(default=True, db_index=True)
|
|
363
363
|
|
|
364
|
+
notes = models.TextField(null=True, blank=True)
|
|
365
|
+
|
|
364
366
|
# Feature for global superusers.
|
|
365
367
|
# Good candidate for reworking in to something more API oriented
|
|
366
368
|
# instead of injecting the code directly.
|
simo/core/serializers.py
CHANGED
|
@@ -93,6 +93,10 @@ class HiddenSerializerField(serializers.CharField):
|
|
|
93
93
|
pass
|
|
94
94
|
|
|
95
95
|
|
|
96
|
+
class TextAreaSerializerField(serializers.CharField):
|
|
97
|
+
pass
|
|
98
|
+
|
|
99
|
+
|
|
96
100
|
class ComponentFormsetField(FormSerializer):
|
|
97
101
|
|
|
98
102
|
class Meta:
|
|
@@ -130,6 +134,7 @@ class ComponentFormsetField(FormSerializer):
|
|
|
130
134
|
continue
|
|
131
135
|
|
|
132
136
|
cls_type = form_field.__class__
|
|
137
|
+
|
|
133
138
|
try:
|
|
134
139
|
serializer_field_class = field_mapping[cls_type]
|
|
135
140
|
except KeyError:
|
|
@@ -280,22 +285,26 @@ class ComponentSerializer(FormSerializer):
|
|
|
280
285
|
form_field = form[field_name]
|
|
281
286
|
|
|
282
287
|
cls = form_field.field.__class__
|
|
283
|
-
|
|
284
|
-
serializer_field_class =
|
|
285
|
-
|
|
286
|
-
|
|
288
|
+
if field_name == 'notes':
|
|
289
|
+
serializer_field_class = TextAreaSerializerField
|
|
290
|
+
print("TEXTAREA!~!!!")
|
|
291
|
+
else:
|
|
287
292
|
try:
|
|
288
293
|
serializer_field_class = field_mapping[cls]
|
|
289
294
|
except KeyError:
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
serializer
|
|
296
|
-
|
|
295
|
+
cls = form_field.field.__class__.__bases__[0]
|
|
296
|
+
try:
|
|
297
|
+
serializer_field_class = field_mapping[cls]
|
|
298
|
+
except KeyError:
|
|
299
|
+
raise TypeError(
|
|
300
|
+
"{field} is not mapped to a serializer field. "
|
|
301
|
+
"Please add {field} to {serializer}.Meta.field_mapping. "
|
|
302
|
+
"Currently mapped fields: {mapped}".format(
|
|
303
|
+
field=form_field.field.__class__.__name__,
|
|
304
|
+
serializer=self.__class__.__name__,
|
|
305
|
+
mapped=', '.join(sorted([i.__name__ for i in field_mapping.keys()]))
|
|
306
|
+
)
|
|
297
307
|
)
|
|
298
|
-
)
|
|
299
308
|
|
|
300
309
|
ret[field_name] = self._get_field(
|
|
301
310
|
form_field.field, serializer_field_class
|
|
@@ -25,10 +25,10 @@ simo/_hub_template/hub/settings.py,sha256=4QhvhbtLRxHvAntwqG_qeAAtpDUqKvN4jzw9u3
|
|
|
25
25
|
simo/_hub_template/hub/supervisor.conf,sha256=IY3fdK0fDD2eAothB0n54xhjQj8LYoXIR96-Adda5Z8,1353
|
|
26
26
|
simo/_hub_template/hub/urls.py,sha256=Ydm-1BkYAzWeEF-MKSDIFf-7aE4qNLPm48-SA51XgJQ,25
|
|
27
27
|
simo/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
-
simo/core/admin.py,sha256=
|
|
28
|
+
simo/core/admin.py,sha256=cPOC2x45Gjf0T8MKtmE2wJZk7DAuHMsvvy5Nk3YUIG8,17675
|
|
29
29
|
simo/core/api.py,sha256=H4KJBiU377zEj8dJGSnBUKgyeyA2512WmSh9I0nH4WM,23760
|
|
30
30
|
simo/core/api_auth.py,sha256=_3hG4e1eLKrcRnSAOB_xTL6cwtOJ2_7JS7GZU_iqTgA,1251
|
|
31
|
-
simo/core/api_meta.py,sha256=
|
|
31
|
+
simo/core/api_meta.py,sha256=ySmmhtVrWatI3yqnYPuP5ipapmJfyfEbl32w-7_W5O4,3551
|
|
32
32
|
simo/core/app_widgets.py,sha256=EEQOto3fGR0syDqpJE38tQrx8DoTTyg26nF5kYzHY38,2018
|
|
33
33
|
simo/core/auto_urls.py,sha256=0gu-IL7PHobrmKW6ksffiOkAYu-aIorykWdxRNtwGYo,1194
|
|
34
34
|
simo/core/autocomplete_views.py,sha256=JT5LA2_Wtr60XYSAIqaXFKFYPjrmkEf6yunXD9y2zco,4022
|
|
@@ -38,15 +38,15 @@ simo/core/controllers.py,sha256=SHqdSRhF7G-hmRtcWEODkUs-b17y6gEHDdZM3V01uVs,2697
|
|
|
38
38
|
simo/core/dynamic_settings.py,sha256=U2WNL96JzVXdZh0EqMPWrxqO6BaRR2Eo5KTDqz7MC4o,1943
|
|
39
39
|
simo/core/events.py,sha256=LvtonJGNyCb6HLozs4EG0WZItnDwNdtnGQ4vTcnKvUs,4438
|
|
40
40
|
simo/core/filters.py,sha256=ghtOZcrwNAkIyF5_G9Sn73NkiI71mXv0NhwCk4IyMIM,411
|
|
41
|
-
simo/core/forms.py,sha256=
|
|
41
|
+
simo/core/forms.py,sha256=FnnK4pHZ8EaMvubN0NQbz2SdTTgMXvGM-heklzN4RZo,22465
|
|
42
42
|
simo/core/gateways.py,sha256=s_c2W0v2_te89i6LS4Nj7F2wn9UwjZXPT7pfy6SToVo,3714
|
|
43
43
|
simo/core/loggers.py,sha256=EBdq23gTQScVfQVH-xeP90-wII2DQFDjoROAW6ggUP4,1645
|
|
44
44
|
simo/core/managers.py,sha256=WoQ4OX3akIvoroSYji-nLVqXBSJzCiC1u_IiWkKbKmA,2413
|
|
45
45
|
simo/core/middleware.py,sha256=64PYjnyRnYf4sgMvPfR0oQqf9UEtxUwnhJe3RV6z_HI,2040
|
|
46
|
-
simo/core/models.py,sha256=
|
|
46
|
+
simo/core/models.py,sha256=c_MnZO-h02qYEu_6vnhkuW6l2OuYuKuUqlE5bc2CB_0,19453
|
|
47
47
|
simo/core/permissions.py,sha256=UmFjGPDWtAUbaWxJsWORb2q6BREHqndv9mkSIpnmdLk,1379
|
|
48
48
|
simo/core/routing.py,sha256=X1_IHxyA-_Q7hw1udDoviVP4_FSBDl8GYETTC2zWTbY,499
|
|
49
|
-
simo/core/serializers.py,sha256=
|
|
49
|
+
simo/core/serializers.py,sha256=KVkp4u_FEnNySDlwO-3bDe4l_cdBJBV6Di8Smi1fNFk,17541
|
|
50
50
|
simo/core/signal_receivers.py,sha256=EZ8NSYZxUgSaLS16YZdK7T__l8dl0joMRllOxx5PUt4,2809
|
|
51
51
|
simo/core/socket_consumers.py,sha256=n7VE2Fvqt4iEAYLTRbTPOcI-7tszMAADu7gimBxB-Fg,9635
|
|
52
52
|
simo/core/storage.py,sha256=YlxmdRs-zhShWtFKgpJ0qp2NDBuIkJGYC1OJzqkbttQ,572
|
|
@@ -56,10 +56,10 @@ simo/core/types.py,sha256=WJEq48mIbFi_5Alt4wxWMGXxNxUTXqfQU5koH7wqHHI,1108
|
|
|
56
56
|
simo/core/views.py,sha256=hlAKpAbCbqI3a-uL5tDp532T2oLFiF0MBzKUJ_SNzo0,5833
|
|
57
57
|
simo/core/widgets.py,sha256=J9e06C6I22F6xKic3VMgG7WeX07glAcl-4bF2Mg180A,2827
|
|
58
58
|
simo/core/__pycache__/__init__.cpython-38.pyc,sha256=y0IW37wBUIGa3Eh_ZG28pRqHKoLiPyTgUX2OnbkEPlc,158
|
|
59
|
-
simo/core/__pycache__/admin.cpython-38.pyc,sha256=
|
|
59
|
+
simo/core/__pycache__/admin.cpython-38.pyc,sha256=EqwHQhU8qQrjfSChyCZXN6J-1Eira9alYIqR45-3OnE,13475
|
|
60
60
|
simo/core/__pycache__/api.cpython-38.pyc,sha256=kH2ORVfI8xtwe7M1wdOEtaqJR_SqKR8V1wrCdhazVhc,18883
|
|
61
61
|
simo/core/__pycache__/api_auth.cpython-38.pyc,sha256=5UTBr3rDMERAfc0OuOVDwGeQkt6Q7GLBtZJAMBse1sg,1712
|
|
62
|
-
simo/core/__pycache__/api_meta.cpython-38.pyc,sha256=
|
|
62
|
+
simo/core/__pycache__/api_meta.cpython-38.pyc,sha256=94T3_rybn2T1_bkaDQnQRyjy21LBaGOnz-mmkJ6T0N8,2840
|
|
63
63
|
simo/core/__pycache__/app_widgets.cpython-38.pyc,sha256=9Es2wZNduzUJv-jZ_HX0-L3vqwpXWBbseEwoC5K6b-w,3465
|
|
64
64
|
simo/core/__pycache__/auto_urls.cpython-38.pyc,sha256=SVl4fF0-yiq7e9gt08jIM6_rL4JYcR0cNHzR9jCEi1M,931
|
|
65
65
|
simo/core/__pycache__/autocomplete_views.cpython-38.pyc,sha256=hJ6JILI1LqrAtpQMvxnLvljGdW1v1gpvBsD79vFkZ58,3972
|
|
@@ -69,15 +69,15 @@ simo/core/__pycache__/controllers.cpython-38.pyc,sha256=vGRcRD7VPUdpP2WMtn2IIrnk
|
|
|
69
69
|
simo/core/__pycache__/dynamic_settings.cpython-38.pyc,sha256=ELu06Hub4DOidja71ybvD3ZM4HdXiyZjNJrZfnXZXNA,2476
|
|
70
70
|
simo/core/__pycache__/events.cpython-38.pyc,sha256=A1Axx-qftd1r7st7wkO3DkvTdt9-RkcJe5KJhpzJVk8,5109
|
|
71
71
|
simo/core/__pycache__/filters.cpython-38.pyc,sha256=VIMADCBiYhziIyRmxAyUDJluZvuZmiC4bNYWTRsGSao,721
|
|
72
|
-
simo/core/__pycache__/forms.cpython-38.pyc,sha256=
|
|
72
|
+
simo/core/__pycache__/forms.cpython-38.pyc,sha256=U5pV_JyfoGwymn3tsws8FR2GrxihjKFa5dmtdzijexA,19071
|
|
73
73
|
simo/core/__pycache__/gateways.cpython-38.pyc,sha256=XBiwMfBkjoQ2re6jvADJOwK0_0Aav-crzie9qtfqT9U,4599
|
|
74
74
|
simo/core/__pycache__/loggers.cpython-38.pyc,sha256=Z-cdQnC6XlIonPV4Sl4E52tP4NMEdPAiHK0cFaIL7I8,1623
|
|
75
75
|
simo/core/__pycache__/managers.cpython-38.pyc,sha256=5vstOMfm997CZBBkaSiaS7EojhLTWZlbeA_EQ8u-yfg,2554
|
|
76
76
|
simo/core/__pycache__/middleware.cpython-38.pyc,sha256=bGOFJNEhJeLbpsZp8LYn1VA3paLF5HULHQ6IFKa7Juc,2022
|
|
77
|
-
simo/core/__pycache__/models.cpython-38.pyc,sha256=
|
|
77
|
+
simo/core/__pycache__/models.cpython-38.pyc,sha256=Nz3g-p6PIKDgOdreXyjurfKXsBhmTh1P3MnqbZPKfRc,17029
|
|
78
78
|
simo/core/__pycache__/permissions.cpython-38.pyc,sha256=uygjPbfRQiEzyo5-McCxsuMDJLbDYO_TLu55U7bJbR0,1809
|
|
79
79
|
simo/core/__pycache__/routing.cpython-38.pyc,sha256=3T3FPJ8Cn99xZCGvMyg2xjl7al-Shm9CelbSpkJtNP8,599
|
|
80
|
-
simo/core/__pycache__/serializers.cpython-38.pyc,sha256=
|
|
80
|
+
simo/core/__pycache__/serializers.cpython-38.pyc,sha256=1-Xs9UtjmUZ8YCh7zkKqmet7XRpy06W1HLijyqluMTk,16871
|
|
81
81
|
simo/core/__pycache__/signal_receivers.cpython-38.pyc,sha256=sgjH_wv-1U99auH5uHb3or0qettPeHAlsz8P7B03ajY,2430
|
|
82
82
|
simo/core/__pycache__/socket_consumers.cpython-38.pyc,sha256=NJUr7nRyHFvmAumxxWpsod5wzVVZM99rCEuJs1utHA4,8432
|
|
83
83
|
simo/core/__pycache__/storage.cpython-38.pyc,sha256=BTkYH8QQyjqI0WOtJC8fHNtgu0YA1vjqZclXjC2vCVI,1116
|
|
@@ -172,6 +172,7 @@ simo/core/migrations/0027_remove_component_tags.py,sha256=V0o_lgKiVU3HfG5V8MTO-j
|
|
|
172
172
|
simo/core/migrations/0028_rename_subcomponents_component_slaves.py,sha256=ioQcfO2_IIfPc_BZzETmSodsYstzygR9U0ULnhET6ac,373
|
|
173
173
|
simo/core/migrations/0029_auto_20240229_1331.py,sha256=BYXPNwjXApAx7mxE5li3QssfksWTsSjDf_VPQ8iGV8c,1140
|
|
174
174
|
simo/core/migrations/0030_alter_instance_timezone.py,sha256=XZuYr2eD9MvE21Jxfdat8RC3sbc7PaGUfNPaqqxBNzE,23248
|
|
175
|
+
simo/core/migrations/0031_auto_20240429_1231.py,sha256=kskD8dylxqg-l-ZQgxl6ZdZd7iNcJ52rOGPJFa9s-wk,829
|
|
175
176
|
simo/core/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
176
177
|
simo/core/migrations/__pycache__/0001_initial.cpython-38.pyc,sha256=w6GiBXVxWj30Bg4Sn_pFVeA041d-pCrkaq8mR3KuF70,5381
|
|
177
178
|
simo/core/migrations/__pycache__/0002_load_icons.cpython-38.pyc,sha256=Nb9RrPjVYo_RpZ5PmzoaEIWGCeVt4kicpmGiKlBrpIw,2123
|
|
@@ -203,6 +204,7 @@ simo/core/migrations/__pycache__/0027_remove_component_tags.cpython-38.pyc,sha25
|
|
|
203
204
|
simo/core/migrations/__pycache__/0028_rename_subcomponents_component_slaves.cpython-38.pyc,sha256=PSiMp1yDzZ36Ei36U2tcIlvyzGgB5RuvGImrJ__7Q5s,593
|
|
204
205
|
simo/core/migrations/__pycache__/0029_auto_20240229_1331.cpython-38.pyc,sha256=nO6lBU-1SxMQv67jQs7cGgNnot722UVL9pj3UE14I1k,1086
|
|
205
206
|
simo/core/migrations/__pycache__/0030_alter_instance_timezone.cpython-38.pyc,sha256=paRgdijg5o8QzluT4GjSEQIMk6UAF7XmSwjqknXPE_4,16333
|
|
207
|
+
simo/core/migrations/__pycache__/0031_auto_20240429_1231.cpython-38.pyc,sha256=Kl76gU1VUyTWMz9RIZUrbnb_xeteWLDSRfs_GtNCVow,863
|
|
206
208
|
simo/core/migrations/__pycache__/__init__.cpython-38.pyc,sha256=VZmDQ57BTcebuM0KMhjiTOabgWZCBxQmSJzWZos9SO8,169
|
|
207
209
|
simo/core/static/ansi_styles.css,sha256=4ieJGrjZPKyPSago9FdB_gflHoGE1vxCHi8qVn5tY-Y,37352
|
|
208
210
|
simo/core/static/admin/Img/plus.svg,sha256=2NpSFPWqGIjpAQGFI7LDQHPKagEhYkJiJX95ufCoZaI,741
|
|
@@ -10446,8 +10448,8 @@ simo/users/templates/invitations/expired_msg.html,sha256=47DEQpj8HBSa-_TImW-5JCe
|
|
|
10446
10448
|
simo/users/templates/invitations/expired_suggestion.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10447
10449
|
simo/users/templates/invitations/taken_msg.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10448
10450
|
simo/users/templates/invitations/taken_suggestion.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10449
|
-
simo-2.0.
|
|
10450
|
-
simo-2.0.
|
|
10451
|
-
simo-2.0.
|
|
10452
|
-
simo-2.0.
|
|
10453
|
-
simo-2.0.
|
|
10451
|
+
simo-2.0.22.dist-info/LICENSE.md,sha256=M7wm1EmMGDtwPRdg7kW4d00h1uAXjKOT3HFScYQMeiE,34916
|
|
10452
|
+
simo-2.0.22.dist-info/METADATA,sha256=FwvdMlZV2ue45i8GkzfigcN5aynl1_HPlxcxQnXO5hc,1730
|
|
10453
|
+
simo-2.0.22.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
10454
|
+
simo-2.0.22.dist-info/top_level.txt,sha256=GmS1hrAbpVqn9OWZh6UX82eIOdRLgYA82RG9fe8v4Rs,5
|
|
10455
|
+
simo-2.0.22.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|