omdev 0.0.0.dev210__py3-none-any.whl → 0.0.0.dev211__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/interp.py CHANGED
@@ -1189,7 +1189,7 @@ def deep_subclasses(cls: ta.Type[T]) -> ta.Iterator[ta.Type[T]]:
1189
1189
  ##
1190
1190
 
1191
1191
 
1192
- def camel_case(name: str, lower: bool = False) -> str:
1192
+ def camel_case(name: str, *, lower: bool = False) -> str:
1193
1193
  if not name:
1194
1194
  return ''
1195
1195
  s = ''.join(map(str.capitalize, name.split('_'))) # noqa
@@ -1206,6 +1206,27 @@ def snake_case(name: str) -> str:
1206
1206
  ##
1207
1207
 
1208
1208
 
1209
+ def is_dunder(name: str) -> bool:
1210
+ return (
1211
+ name[:2] == name[-2:] == '__' and
1212
+ name[2:3] != '_' and
1213
+ name[-3:-2] != '_' and
1214
+ len(name) > 4
1215
+ )
1216
+
1217
+
1218
+ def is_sunder(name: str) -> bool:
1219
+ return (
1220
+ name[0] == name[-1] == '_' and
1221
+ name[1:2] != '_' and
1222
+ name[-2:-1] != '_' and
1223
+ len(name) > 2
1224
+ )
1225
+
1226
+
1227
+ ##
1228
+
1229
+
1209
1230
  def strip_with_newline(s: str) -> str:
1210
1231
  if not s:
1211
1232
  return ''
@@ -1237,27 +1258,6 @@ def split_keep_delimiter(s, d):
1237
1258
  ##
1238
1259
 
1239
1260
 
1240
- def is_dunder(name: str) -> bool:
1241
- return (
1242
- name[:2] == name[-2:] == '__' and
1243
- name[2:3] != '_' and
1244
- name[-3:-2] != '_' and
1245
- len(name) > 4
1246
- )
1247
-
1248
-
1249
- def is_sunder(name: str) -> bool:
1250
- return (
1251
- name[0] == name[-1] == '_' and
1252
- name[1:2] != '_' and
1253
- name[-2:-1] != '_' and
1254
- len(name) > 2
1255
- )
1256
-
1257
-
1258
- ##
1259
-
1260
-
1261
1261
  def attr_repr(obj: ta.Any, *attrs: str) -> str:
1262
1262
  return f'{type(obj).__name__}({", ".join(f"{attr}={getattr(obj, attr)!r}" for attr in attrs)})'
1263
1263
 
@@ -2497,7 +2497,7 @@ def deep_subclasses(cls: ta.Type[T]) -> ta.Iterator[ta.Type[T]]:
2497
2497
  ##
2498
2498
 
2499
2499
 
2500
- def camel_case(name: str, lower: bool = False) -> str:
2500
+ def camel_case(name: str, *, lower: bool = False) -> str:
2501
2501
  if not name:
2502
2502
  return ''
2503
2503
  s = ''.join(map(str.capitalize, name.split('_'))) # noqa
@@ -2514,6 +2514,27 @@ def snake_case(name: str) -> str:
2514
2514
  ##
2515
2515
 
2516
2516
 
2517
+ def is_dunder(name: str) -> bool:
2518
+ return (
2519
+ name[:2] == name[-2:] == '__' and
2520
+ name[2:3] != '_' and
2521
+ name[-3:-2] != '_' and
2522
+ len(name) > 4
2523
+ )
2524
+
2525
+
2526
+ def is_sunder(name: str) -> bool:
2527
+ return (
2528
+ name[0] == name[-1] == '_' and
2529
+ name[1:2] != '_' and
2530
+ name[-2:-1] != '_' and
2531
+ len(name) > 2
2532
+ )
2533
+
2534
+
2535
+ ##
2536
+
2537
+
2517
2538
  def strip_with_newline(s: str) -> str:
2518
2539
  if not s:
2519
2540
  return ''
@@ -2545,27 +2566,6 @@ def split_keep_delimiter(s, d):
2545
2566
  ##
2546
2567
 
2547
2568
 
2548
- def is_dunder(name: str) -> bool:
2549
- return (
2550
- name[:2] == name[-2:] == '__' and
2551
- name[2:3] != '_' and
2552
- name[-3:-2] != '_' and
2553
- len(name) > 4
2554
- )
2555
-
2556
-
2557
- def is_sunder(name: str) -> bool:
2558
- return (
2559
- name[0] == name[-1] == '_' and
2560
- name[1:2] != '_' and
2561
- name[-2:-1] != '_' and
2562
- len(name) > 2
2563
- )
2564
-
2565
-
2566
- ##
2567
-
2568
-
2569
2569
  def attr_repr(obj: ta.Any, *attrs: str) -> str:
2570
2570
  return f'{type(obj).__name__}({", ".join(f"{attr}={getattr(obj, attr)!r}" for attr in attrs)})'
2571
2571
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: omdev
3
- Version: 0.0.0.dev210
3
+ Version: 0.0.0.dev211
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.12
14
14
  License-File: LICENSE
15
- Requires-Dist: omlish==0.0.0.dev210
15
+ Requires-Dist: omlish==0.0.0.dev211
16
16
  Provides-Extra: all
17
17
  Requires-Dist: black~=24.10; extra == "all"
18
18
  Requires-Dist: pycparser~=2.22; extra == "all"
@@ -72,13 +72,19 @@ omdev/cexts/_distutils/compilers/options.py,sha256=H7r5IcLvga5Fs3jjXWIT-6ap3JBdu
72
72
  omdev/cexts/_distutils/compilers/unixccompiler.py,sha256=o1h8QuyupLntv4F21_XjzAZmCiwwxJuTmOirvBSL-Qw,15419
73
73
  omdev/ci/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
74
  omdev/ci/__main__.py,sha256=Jsrv3P7LX2Cg08W7ByZfZ1JQT4lgLDPW1qNAmShFuMk,75
75
- omdev/ci/cache.py,sha256=nPEEABsYa4O5Ql9cqAsYR3h_Q307nSCFz6zUgGQwC_o,948
76
- omdev/ci/ci.py,sha256=uTZftlVeneDJbwICLtaLy0JmMF7iQCwmT_GS1HBV24g,6164
77
- omdev/ci/cli.py,sha256=21v_CzPoQDT04k5RvUnFY9t31cMfDNczveOchr09YTc,4012
78
- omdev/ci/compose.py,sha256=VaK_NlM5YmKYMjaE_qfdj_eMPq5V-WI08S_s3bRmT2c,4583
79
- omdev/ci/dockertars.py,sha256=Zi2ezzAR8qTRoE_qW2AOIhHxddcZj_6tUXk01DiKACI,2766
80
- omdev/ci/requirements.py,sha256=ZoG_gxCTC31zc4yp4RN5zTYpeb7uNr5cCyHN249Qmwk,2097
81
- omdev/ci/utils.py,sha256=j9CH6HvQG1NpSpb3531k19SvPtXYdTX0rWfMhJTYnSY,463
75
+ omdev/ci/cache.py,sha256=jGrsnYNHnnOLJGIEoyHJUdpVzCBdh4tmy2d22Xgarnk,4132
76
+ omdev/ci/ci.py,sha256=4ZbFrXL22NQLvOZydrUo-MgaW8I6u-hT-N57wDHakyI,7396
77
+ omdev/ci/cli.py,sha256=8y7Da3cPtlBrezXQ8393tVGFxoelngSxvCkDEKeK50w,5149
78
+ omdev/ci/compose.py,sha256=mUViov0mzj5ffAupl72TNkUdpBC2gB_hwG9aQmP6rAY,5082
79
+ omdev/ci/docker.py,sha256=BsKuqRHYSstqC1sQXnbHevNGUBWf5M9PYLobjZO7UMk,3218
80
+ omdev/ci/requirements.py,sha256=vZR1rjBUkhGNjXSfFZgMYhSHKAgcsbONqbCuUB5dqVo,2117
81
+ omdev/ci/shell.py,sha256=KTkVZb_piQeB5Z12M2jUS_zGJfLR_Y2W2uYkrQpJpyw,850
82
+ omdev/ci/utils.py,sha256=yiLSFOy4nNN9EY1C8rBe8fXdTmjpfBb6n1IgpzVJ00g,1605
83
+ omdev/ci/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
+ omdev/ci/github/bootstrap.py,sha256=KZxcg97DsbuE0UuL1G1qTqQEPjr3xiyJvALGnIyMz4s,249
85
+ omdev/ci/github/cache.py,sha256=NXEWvzrHA5RmvtrySSyOGchXNJIJc8HCnAaakIVv6HI,9563
86
+ omdev/ci/github/cacheapi.py,sha256=57RgaDGeD8Xpx5nDCCsXPNCQ63jAdoSwFcX4kCJLVc8,5206
87
+ omdev/ci/github/cli.py,sha256=FOuBlW0wxUa2KMxSPwrX9Sv8j2GRE-oPNMtO7MzHxdE,961
82
88
  omdev/cli/__init__.py,sha256=V_l6VP1SZMlJbO-8CJwSuO9TThOy2S_oaPepNYgIrbE,37
83
89
  omdev/cli/__main__.py,sha256=mOJpgc07o0r5luQ1DlX4tk2PqZkgmbwPbdzJ3KmtjgQ,138
84
90
  omdev/cli/_pathhack.py,sha256=kxqb2kHap68Lkh8b211rDbcgj06hidBiAKA3f9posyc,2119
@@ -166,12 +172,12 @@ omdev/pyproject/resources/docker-dev.sh,sha256=DHkz5D18jok_oDolfg2mqrvGRWFoCe9GQ
166
172
  omdev/pyproject/resources/python.sh,sha256=jvrwddYw2KNttpuImLbdCdJK0HsUNMrHtTnmLvhxQxg,757
167
173
  omdev/scripts/__init__.py,sha256=MKCvUAEQwsIvwLixwtPlpBqmkMXLCnjjXyAXvVpDwVk,91
168
174
  omdev/scripts/bumpversion.py,sha256=Kn7fo73Hs8uJh3Hi3EIyLOlzLPWAC6dwuD_lZ3cIzuY,1064
169
- omdev/scripts/ci.py,sha256=Gxbx0FTUY2EK9f0XJ_ASCw6_lOiZIJllFMJoKb1qxvE,56000
175
+ omdev/scripts/ci.py,sha256=52RkuVmRKgqcfAXaBA4sb1zgD8v8tAsPRaZ6LVxF7VM,87852
170
176
  omdev/scripts/execrss.py,sha256=mR0G0wERBYtQmVIn63lCIIFb5zkCM6X_XOENDFYDBKc,651
171
177
  omdev/scripts/exectime.py,sha256=sFb376GflU6s9gNX-2-we8hgH6w5MuQNS9g6i4SqJIo,610
172
178
  omdev/scripts/importtrace.py,sha256=oa7CtcWJVMNDbyIEiRHej6ICfABfErMeo4_haIqe18Q,14041
173
- omdev/scripts/interp.py,sha256=Ao8XtcH3uY1AyvG_Zma7KmtIxHm0EwoA5jJ4VSZ71lM,141260
174
- omdev/scripts/pyproject.py,sha256=waHFrUxnKtiJ8O7JnvilaLcY5vaB9HlD6xqiWwOwIJQ,243086
179
+ omdev/scripts/interp.py,sha256=EB8hRemH41IMY_Iho_tZdIYdP0i5Q5z4a-oWr7K4bLk,141263
180
+ omdev/scripts/pyproject.py,sha256=4KmTDZFqeTpNAdhW0DXTzmrH4LjHlp4rE6mRzhnBV1s,243089
175
181
  omdev/scripts/slowcat.py,sha256=lssv4yrgJHiWfOiHkUut2p8E8Tq32zB-ujXESQxFFHY,2728
176
182
  omdev/scripts/tmpexec.py,sha256=WTYcf56Tj2qjYV14AWmV8SfT0u6Y8eIU6cKgQRvEK3c,1442
177
183
  omdev/tools/__init__.py,sha256=iVJAOQ0viGTQOm0DLX4uZLro-9jOioYJGLg9s0kDx1A,78
@@ -198,9 +204,9 @@ omdev/tools/json/rendering.py,sha256=tMcjOW5edfozcMSTxxvF7WVTsbYLoe9bCKFh50qyaGw
198
204
  omdev/tools/pawk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
199
205
  omdev/tools/pawk/__main__.py,sha256=VCqeRVnqT1RPEoIrqHFSu4PXVMg4YEgF4qCQm90-eRI,66
200
206
  omdev/tools/pawk/pawk.py,sha256=zsEkfQX0jF5bn712uqPAyBSdJt2dno1LH2oeSMNfXQI,11424
201
- omdev-0.0.0.dev210.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
202
- omdev-0.0.0.dev210.dist-info/METADATA,sha256=J2l4WavyRSpaAci8p7lcOv2QfOtuOwxoFUDWqIAVAgo,1760
203
- omdev-0.0.0.dev210.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
204
- omdev-0.0.0.dev210.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
205
- omdev-0.0.0.dev210.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
206
- omdev-0.0.0.dev210.dist-info/RECORD,,
207
+ omdev-0.0.0.dev211.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
208
+ omdev-0.0.0.dev211.dist-info/METADATA,sha256=DEQf4B4GmTSCD3ojKQ0FEypSgogbvXVC9taoW9pCnpM,1760
209
+ omdev-0.0.0.dev211.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
210
+ omdev-0.0.0.dev211.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
211
+ omdev-0.0.0.dev211.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
212
+ omdev-0.0.0.dev211.dist-info/RECORD,,