omlish 0.0.0.dev209__py3-none-any.whl → 0.0.0.dev210__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
omlish/__about__.py CHANGED
@@ -1,5 +1,5 @@
1
- __version__ = '0.0.0.dev209'
2
- __revision__ = '314f6224b877d8afdb8708faee9e19b7c81cdd0f'
1
+ __version__ = '0.0.0.dev210'
2
+ __revision__ = '29187c4cc91a051a62ad46cd89206ced7ea76add'
3
3
 
4
4
 
5
5
  #
@@ -77,7 +77,7 @@ class Project(ProjectBase):
77
77
  ],
78
78
 
79
79
  'misc': [
80
- 'wrapt ~= 1.14',
80
+ 'wrapt ~= 1.17',
81
81
  ],
82
82
 
83
83
  'secrets': [
omlish/argparse/cli.py CHANGED
@@ -10,6 +10,7 @@ TODO:
10
10
  import argparse
11
11
  import dataclasses as dc
12
12
  import functools
13
+ import inspect
13
14
  import sys
14
15
  import typing as ta
15
16
 
@@ -280,8 +281,23 @@ class ArgparseCli:
280
281
 
281
282
  #
282
283
 
283
- async def async_cli_run(self) -> ta.Optional[int]:
284
+ async def async_cli_run(
285
+ self,
286
+ *,
287
+ force_async: bool = False,
288
+ ) -> ta.Optional[int]:
284
289
  if (fn := self.prepare_cli_run()) is None:
285
290
  return 0
286
291
 
287
- return await fn()
292
+ if force_async:
293
+ is_async = True
294
+ else:
295
+ tfn = fn
296
+ if isinstance(tfn, ArgparseCmd):
297
+ tfn = tfn.fn
298
+ is_async = inspect.iscoroutinefunction(tfn)
299
+
300
+ if is_async:
301
+ return await fn()
302
+ else:
303
+ return fn()
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env python3
2
1
  import argparse
3
2
  import dataclasses as dc
4
3
  import sys
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: omlish
3
- Version: 0.0.0.dev209
3
+ Version: 0.0.0.dev210
4
4
  Summary: omlish
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -32,7 +32,7 @@ Requires-Dist: pyyaml~=6.0; extra == "all"
32
32
  Requires-Dist: cbor2~=5.6; extra == "all"
33
33
  Requires-Dist: cloudpickle~=3.1; extra == "all"
34
34
  Requires-Dist: httpx[http2]~=0.28; extra == "all"
35
- Requires-Dist: wrapt~=1.14; extra == "all"
35
+ Requires-Dist: wrapt~=1.17; extra == "all"
36
36
  Requires-Dist: cryptography~=43.0; extra == "all"
37
37
  Requires-Dist: sqlalchemy[asyncio]~=2.0; extra == "all"
38
38
  Requires-Dist: pg8000~=1.31; extra == "all"
@@ -50,7 +50,7 @@ Requires-Dist: asttokens~=3.0; extra == "all"
50
50
  Requires-Dist: executing~=2.1; extra == "all"
51
51
  Requires-Dist: orjson~=3.10; extra == "all"
52
52
  Requires-Dist: pyyaml~=6.0; extra == "all"
53
- Requires-Dist: wrapt~=1.14; extra == "all"
53
+ Requires-Dist: wrapt~=1.17; extra == "all"
54
54
  Provides-Extra: async
55
55
  Requires-Dist: anyio~=4.8; extra == "async"
56
56
  Requires-Dist: sniffio~=1.3; extra == "async"
@@ -76,7 +76,7 @@ Requires-Dist: cloudpickle~=3.1; extra == "formats"
76
76
  Provides-Extra: http
77
77
  Requires-Dist: httpx[http2]~=0.28; extra == "http"
78
78
  Provides-Extra: misc
79
- Requires-Dist: wrapt~=1.14; extra == "misc"
79
+ Requires-Dist: wrapt~=1.17; extra == "misc"
80
80
  Provides-Extra: secrets
81
81
  Requires-Dist: cryptography~=43.0; extra == "secrets"
82
82
  Provides-Extra: sqlalchemy
@@ -99,4 +99,4 @@ Requires-Dist: asttokens~=3.0; extra == "plus"
99
99
  Requires-Dist: executing~=2.1; extra == "plus"
100
100
  Requires-Dist: orjson~=3.10; extra == "plus"
101
101
  Requires-Dist: pyyaml~=6.0; extra == "plus"
102
- Requires-Dist: wrapt~=1.14; extra == "plus"
102
+ Requires-Dist: wrapt~=1.17; extra == "plus"
@@ -1,5 +1,5 @@
1
1
  omlish/.manifests.json,sha256=dyIpveH7Z8OnQp2pTn6NVv7LCDXVrozJWAzbk8PBavg,7950
2
- omlish/__about__.py,sha256=l7B4fp3NAgnK7i0QN5U2wJtZ9gnavNAADXg1748jh7U,3409
2
+ omlish/__about__.py,sha256=k-LReuWcQzDYGLPwBQIiwvv6bYv80UaqeQ2bGjZEhuY,3409
3
3
  omlish/__init__.py,sha256=SsyiITTuK0v74XpKV8dqNaCmjOlan1JZKrHQv5rWKPA,253
4
4
  omlish/c3.py,sha256=ubu7lHwss5V4UznbejAI0qXhXahrU01MysuHOZI9C4U,8116
5
5
  omlish/cached.py,sha256=UI-XTFBwA6YXWJJJeBn-WkwBkfzDjLBBaZf4nIJA9y0,510
@@ -83,7 +83,7 @@ omlish/antlr/_runtime/xpath/XPathLexer.py,sha256=WvGKQjQnu7pX5C4CFKtsCzba2B2W6ie
83
83
  omlish/antlr/_runtime/xpath/__init__.py,sha256=lMd_BbXYdlDhZQN_q0TKN978XW5G0pq618F0NaLkpFE,71
84
84
  omlish/argparse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
85
  omlish/argparse/all.py,sha256=2qhVgFTq3w_tJ_okEnw_D-2k4jlJD7EcM5hNEow6M2M,1030
86
- omlish/argparse/cli.py,sha256=Kjq3bzd_E2XwV0T7-cddDdrm68N4AWptTKdJty8vN8g,8217
86
+ omlish/argparse/cli.py,sha256=nMn4D2Oce2HNGGVuc_EtJuNSqoIfNdzWd_eKFBSfxEs,8586
87
87
  omlish/asyncs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
88
  omlish/asyncs/all.py,sha256=uUz9ziKh4_QrgmdhKFMgq6j7mFbiZd3LiogguDCQsGI,587
89
89
  omlish/asyncs/anyio.py,sha256=gfpx-D8QGmUfhnQxHEaHXcAP8zSMQjcGw4COFTGNnHI,8021
@@ -494,7 +494,7 @@ omlish/specs/jmespath/LICENSE,sha256=IH-ZZlZkS8XMkf_ubNVD1aYHQ2l_wd0tmHtXrCcYpRU
494
494
  omlish/specs/jmespath/__init__.py,sha256=9tsrquw1kXe1KAhTP3WeL0GlGBiTguQVxsC-lUYTWP4,2087
495
495
  omlish/specs/jmespath/__main__.py,sha256=wIXm6bs08etNG_GZlN2rBkADPb0rKfL2HSkm8spnpxw,200
496
496
  omlish/specs/jmespath/ast.py,sha256=XhcUGodHIdsY3-hVZEfpeW6LBehRjLbxVFXkMfZhRdk,5386
497
- omlish/specs/jmespath/cli.py,sha256=RYVTFVEwIFFZ8jYOsvaadzyFmweZxpENQfCe79iMa5U,2205
497
+ omlish/specs/jmespath/cli.py,sha256=3KZwgbPXjJF_yd8H40f0vCNTNkcYLGbV7OQjp1etOdg,2182
498
498
  omlish/specs/jmespath/exceptions.py,sha256=Co1HiUBPFNwFgZY3FV_ayuZoSgZIAmDcImImxauYNxc,4435
499
499
  omlish/specs/jmespath/functions.py,sha256=lE_MlW5rDQirDCE9HtcAG-17kuHhH36RaPaQfk97xDY,22595
500
500
  omlish/specs/jmespath/lexer.py,sha256=hlPGCXPzGhd9ySj-z2cGTbyC9z3e0Io78IMYJZSEwNk,12647
@@ -609,9 +609,9 @@ omlish/text/indent.py,sha256=YjtJEBYWuk8--b9JU_T6q4yxV85_TR7VEVr5ViRCFwk,1336
609
609
  omlish/text/minja.py,sha256=jZC-fp3Xuhx48ppqsf2Sf1pHbC0t8XBB7UpUUoOk2Qw,5751
610
610
  omlish/text/parts.py,sha256=7vPF1aTZdvLVYJ4EwBZVzRSy8XB3YqPd7JwEnNGGAOo,6495
611
611
  omlish/text/random.py,sha256=jNWpqiaKjKyTdMXC-pWAsSC10AAP-cmRRPVhm59ZWLk,194
612
- omlish-0.0.0.dev209.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
613
- omlish-0.0.0.dev209.dist-info/METADATA,sha256=FjfbdnxVwRrgkC_Q2RzHSOYVJU_zpvpdro5xBvOxTPk,4264
614
- omlish-0.0.0.dev209.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
615
- omlish-0.0.0.dev209.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
616
- omlish-0.0.0.dev209.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
617
- omlish-0.0.0.dev209.dist-info/RECORD,,
612
+ omlish-0.0.0.dev210.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
613
+ omlish-0.0.0.dev210.dist-info/METADATA,sha256=aS3RF2o9QVbMbqBTFY99L9-OWMdcVv3KVcm3AlSy-vo,4264
614
+ omlish-0.0.0.dev210.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
615
+ omlish-0.0.0.dev210.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
616
+ omlish-0.0.0.dev210.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
617
+ omlish-0.0.0.dev210.dist-info/RECORD,,