omdev 0.0.0.dev369__py3-none-any.whl → 0.0.0.dev371__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.
- omdev/scripts/ci.py +66 -0
- {omdev-0.0.0.dev369.dist-info → omdev-0.0.0.dev371.dist-info}/METADATA +2 -2
- {omdev-0.0.0.dev369.dist-info → omdev-0.0.0.dev371.dist-info}/RECORD +7 -7
- {omdev-0.0.0.dev369.dist-info → omdev-0.0.0.dev371.dist-info}/WHEEL +0 -0
- {omdev-0.0.0.dev369.dist-info → omdev-0.0.0.dev371.dist-info}/entry_points.txt +0 -0
- {omdev-0.0.0.dev369.dist-info → omdev-0.0.0.dev371.dist-info}/licenses/LICENSE +0 -0
- {omdev-0.0.0.dev369.dist-info → omdev-0.0.0.dev371.dist-info}/top_level.txt +0 -0
omdev/scripts/ci.py
CHANGED
@@ -1112,6 +1112,72 @@ def dataclass_repr_omit_falsey(obj: ta.Any) -> str:
|
|
1112
1112
|
return dataclass_repr_filtered(obj, lambda o, f, v: bool(v))
|
1113
1113
|
|
1114
1114
|
|
1115
|
+
##
|
1116
|
+
|
1117
|
+
|
1118
|
+
def dataclass_kw_only_init():
|
1119
|
+
def inner(cls):
|
1120
|
+
if not isinstance(cls, type) and dc.is_dataclass(cls):
|
1121
|
+
raise TypeError(cls)
|
1122
|
+
|
1123
|
+
real_init = cls.__init__ # type: ignore[misc]
|
1124
|
+
|
1125
|
+
flds = dc.fields(cls) # noqa
|
1126
|
+
|
1127
|
+
if any(f.name == 'self' for f in flds):
|
1128
|
+
self_name = '__dataclass_self__'
|
1129
|
+
else:
|
1130
|
+
self_name = 'self'
|
1131
|
+
|
1132
|
+
src = '\n'.join([
|
1133
|
+
'def __init__(',
|
1134
|
+
f' {self_name},',
|
1135
|
+
' *,',
|
1136
|
+
*[
|
1137
|
+
''.join([
|
1138
|
+
f' {f.name}: __dataclass_type_{f.name}__',
|
1139
|
+
f' = __dataclass_default_{f.name}__' if f.default is not dc.MISSING else '',
|
1140
|
+
',',
|
1141
|
+
])
|
1142
|
+
for f in flds
|
1143
|
+
],
|
1144
|
+
') -> __dataclass_None__:',
|
1145
|
+
' __dataclass_real_init__(',
|
1146
|
+
f' {self_name},',
|
1147
|
+
*[
|
1148
|
+
f' {f.name}={f.name},'
|
1149
|
+
for f in flds
|
1150
|
+
],
|
1151
|
+
' )',
|
1152
|
+
])
|
1153
|
+
|
1154
|
+
ns: dict = {
|
1155
|
+
'__dataclass_None__': None,
|
1156
|
+
'__dataclass_real_init__': real_init,
|
1157
|
+
**{
|
1158
|
+
f'__dataclass_type_{f.name}__': f.type
|
1159
|
+
for f in flds
|
1160
|
+
},
|
1161
|
+
**{
|
1162
|
+
f'__dataclass_default_{f.name}__': f.default
|
1163
|
+
for f in flds
|
1164
|
+
if f.default is not dc.MISSING
|
1165
|
+
},
|
1166
|
+
}
|
1167
|
+
|
1168
|
+
exec(src, ns)
|
1169
|
+
|
1170
|
+
kw_only_init = ns['__init__']
|
1171
|
+
|
1172
|
+
functools.update_wrapper(kw_only_init, real_init)
|
1173
|
+
|
1174
|
+
cls.__init__ = kw_only_init # type: ignore[misc]
|
1175
|
+
|
1176
|
+
return cls
|
1177
|
+
|
1178
|
+
return inner
|
1179
|
+
|
1180
|
+
|
1115
1181
|
########################################
|
1116
1182
|
# ../../../omlish/lite/json.py
|
1117
1183
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: omdev
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev371
|
4
4
|
Summary: omdev
|
5
5
|
Author: wrmsr
|
6
6
|
License: BSD-3-Clause
|
@@ -12,7 +12,7 @@ Classifier: Operating System :: OS Independent
|
|
12
12
|
Classifier: Operating System :: POSIX
|
13
13
|
Requires-Python: >=3.13
|
14
14
|
License-File: LICENSE
|
15
|
-
Requires-Dist: omlish==0.0.0.
|
15
|
+
Requires-Dist: omlish==0.0.0.dev371
|
16
16
|
Provides-Extra: all
|
17
17
|
Requires-Dist: black~=25.1; extra == "all"
|
18
18
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
@@ -252,7 +252,7 @@ omdev/pyproject/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
|
|
252
252
|
omdev/pyproject/resources/docker-dev.sh,sha256=DHkz5D18jok_oDolfg2mqrvGRWFoCe9GQo04dR1czcc,838
|
253
253
|
omdev/pyproject/resources/python.sh,sha256=rFaN4SiJ9hdLDXXsDTwugI6zsw6EPkgYMmtacZeTbvw,749
|
254
254
|
omdev/scripts/__init__.py,sha256=MKCvUAEQwsIvwLixwtPlpBqmkMXLCnjjXyAXvVpDwVk,91
|
255
|
-
omdev/scripts/ci.py,sha256=
|
255
|
+
omdev/scripts/ci.py,sha256=tzVEK-JKZ4WNDGAziUbXpw_HEuYGQiMhsxUmM-usvu0,360136
|
256
256
|
omdev/scripts/interp.py,sha256=T8EdNxuncwqCXfIBfCLoUcsYNqEhOrOE8V1hC9vTzqI,158095
|
257
257
|
omdev/scripts/pyproject.py,sha256=qBBXmbdKMYzqxnb0zEWYhCOg9Cy0pWno3wjulICFj_o,267626
|
258
258
|
omdev/scripts/slowcat.py,sha256=lssv4yrgJHiWfOiHkUut2p8E8Tq32zB-ujXESQxFFHY,2728
|
@@ -303,9 +303,9 @@ omdev/tools/jsonview/resources/jsonview.js,sha256=faDvXDOXKvEvjOuIlz4D3F2ReQXb_b
|
|
303
303
|
omdev/tools/pawk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
304
304
|
omdev/tools/pawk/__main__.py,sha256=VCqeRVnqT1RPEoIrqHFSu4PXVMg4YEgF4qCQm90-eRI,66
|
305
305
|
omdev/tools/pawk/pawk.py,sha256=ao5mdrpiSU4AZ8mBozoEaV3UVlmVTnRG9wD9XP70MZE,11429
|
306
|
-
omdev-0.0.0.
|
307
|
-
omdev-0.0.0.
|
308
|
-
omdev-0.0.0.
|
309
|
-
omdev-0.0.0.
|
310
|
-
omdev-0.0.0.
|
311
|
-
omdev-0.0.0.
|
306
|
+
omdev-0.0.0.dev371.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
307
|
+
omdev-0.0.0.dev371.dist-info/METADATA,sha256=j7bKLXweqn8EK5DBHrL9qUsx8ybrJe8uCYSx93TLKvo,1674
|
308
|
+
omdev-0.0.0.dev371.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
309
|
+
omdev-0.0.0.dev371.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
|
310
|
+
omdev-0.0.0.dev371.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
|
311
|
+
omdev-0.0.0.dev371.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|