falyx 0.1.52__py3-none-any.whl → 0.1.54__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.
falyx/parser/parsers.py CHANGED
@@ -76,14 +76,14 @@ def get_root_parser(
76
76
  help="Run in non-interactive mode with all prompts bypassed.",
77
77
  )
78
78
  parser.add_argument(
79
- "-v", "--verbose", action="store_true", help="Enable debug logging for Falyx."
79
+ "-v", "--verbose", action="store_true", help=f"Enable debug logging for {prog}."
80
80
  )
81
81
  parser.add_argument(
82
82
  "--debug-hooks",
83
83
  action="store_true",
84
84
  help="Enable default lifecycle debug logging",
85
85
  )
86
- parser.add_argument("--version", action="store_true", help="Show Falyx version")
86
+ parser.add_argument("--version", action="store_true", help=f"Show {prog} version")
87
87
  return parser
88
88
 
89
89
 
@@ -98,7 +98,6 @@ def get_subparsers(
98
98
  subparsers = parser.add_subparsers(
99
99
  title=title,
100
100
  description=description,
101
- metavar="COMMAND",
102
101
  dest="command",
103
102
  )
104
103
  return subparsers
@@ -124,6 +123,8 @@ def get_arg_parsers(
124
123
  subparsers: _SubParsersAction | None = None,
125
124
  ) -> FalyxParsers:
126
125
  """Returns the argument parser for the CLI."""
126
+ if epilog is None:
127
+ epilog = f"Tip: Use '{prog} run ?[COMMAND]' to preview any command from the CLI."
127
128
  if root_parser is None:
128
129
  parser = get_root_parser(
129
130
  prog=prog,
@@ -145,7 +146,14 @@ def get_arg_parsers(
145
146
  parser = root_parser
146
147
 
147
148
  if subparsers is None:
148
- subparsers = get_subparsers(parser)
149
+ if prog == "falyx":
150
+ subparsers = get_subparsers(
151
+ parser,
152
+ title="Falyx Commands",
153
+ description="Available commands for the Falyx CLI.",
154
+ )
155
+ else:
156
+ subparsers = get_subparsers(parser, title="subcommands", description=None)
149
157
  if not isinstance(subparsers, _SubParsersAction):
150
158
  raise TypeError("subparsers must be an instance of _SubParsersAction")
151
159
 
@@ -154,10 +162,10 @@ def get_arg_parsers(
154
162
  if isinstance(commands, dict):
155
163
  for command in commands.values():
156
164
  run_description.append(command.usage)
157
- command_description = command.description or command.help_text
165
+ command_description = command.help_text or command.description
158
166
  run_description.append(f"{' '*24}{command_description}")
159
167
  run_epilog = (
160
- "Tip: Use 'falyx run ?[COMMAND]' to preview commands by their key or alias."
168
+ f"Tip: Use '{prog} run ?[COMMAND]' to preview commands by their key or alias."
161
169
  )
162
170
  run_parser = subparsers.add_parser(
163
171
  "run",
@@ -259,7 +267,7 @@ def get_arg_parsers(
259
267
  "-t", "--tag", help="Filter commands by tag (case-insensitive)", default=None
260
268
  )
261
269
 
262
- version_parser = subparsers.add_parser("version", help="Show the Falyx version")
270
+ version_parser = subparsers.add_parser("version", help=f"Show {prog} version")
263
271
 
264
272
  return FalyxParsers(
265
273
  root=parser,
falyx/parser/utils.py CHANGED
@@ -6,7 +6,7 @@ from typing import Any, Literal, Union, get_args, get_origin
6
6
 
7
7
  from dateutil import parser as date_parser
8
8
 
9
- from falyx.action.base import BaseAction
9
+ from falyx.action.base_action import BaseAction
10
10
  from falyx.logger import logger
11
11
  from falyx.parser.signature import infer_args_from_func
12
12
 
@@ -33,7 +33,6 @@ def coerce_enum(value: Any, enum_type: EnumMeta) -> Any:
33
33
  pass
34
34
 
35
35
  base_type = type(next(iter(enum_type)).value)
36
- print(base_type)
37
36
  try:
38
37
  coerced_value = base_type(value)
39
38
  return enum_type(coerced_value)
falyx/protocols.py CHANGED
@@ -2,14 +2,16 @@
2
2
  """protocols.py"""
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Any, Awaitable, Protocol, runtime_checkable
5
+ from typing import Any, Awaitable, Callable, Protocol, runtime_checkable
6
6
 
7
- from falyx.action.base import BaseAction
7
+ from falyx.action.base_action import BaseAction
8
8
 
9
9
 
10
10
  @runtime_checkable
11
11
  class ActionFactoryProtocol(Protocol):
12
- async def __call__(self, *args: Any, **kwargs: Any) -> Awaitable[BaseAction]: ...
12
+ async def __call__(
13
+ self, *args: Any, **kwargs: Any
14
+ ) -> Callable[..., Awaitable[BaseAction]]: ...
13
15
 
14
16
 
15
17
  @runtime_checkable
falyx/retry_utils.py CHANGED
@@ -1,7 +1,7 @@
1
1
  # Falyx CLI Framework — (c) 2025 rtj.dev LLC — MIT Licensed
2
2
  """retry_utils.py"""
3
3
  from falyx.action.action import Action
4
- from falyx.action.base import BaseAction
4
+ from falyx.action.base_action import BaseAction
5
5
  from falyx.hook_manager import HookType
6
6
  from falyx.retry import RetryHandler, RetryPolicy
7
7
 
falyx/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.1.52"
1
+ __version__ = "0.1.54"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: falyx
3
- Version: 0.1.52
3
+ Version: 0.1.54
4
4
  Summary: Reliable and introspectable async CLI action framework.
5
5
  License: MIT
6
6
  Author: Roland Thomas Jr
@@ -0,0 +1,66 @@
1
+ falyx/.pytyped,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ falyx/__init__.py,sha256=Gh88lQ5pbD7xbGWrBgslE2kSTZKY9TkvKSa53rZ3l8U,305
3
+ falyx/__main__.py,sha256=xHO4pB45rccixo-ougF84QJeB36ef8mEZXWVK_CJL9M,3420
4
+ falyx/action/.pytyped,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ falyx/action/__init__.py,sha256=6TECS8p4BFP_l0Y8MvV4JMtUrZPd-WU0K_WtJl00gCg,1334
6
+ falyx/action/action.py,sha256=Pm9lnxKhJoI1vs-fadAJrXkcDGYcBCMwvQ81HHxd0HA,5879
7
+ falyx/action/action_factory.py,sha256=WosLeaYf79e83XHAAkxKi62zi8jJEiVlzvgOC84Z7t0,4840
8
+ falyx/action/action_group.py,sha256=pv5wJ3nSLk8cdIwGd2KqvwEq0JEaNEhbgs--KYWKwVE,7457
9
+ falyx/action/action_mixins.py,sha256=oUrjbweCeateshg3tqtbQiGuV8u4GvlioIZCUr9D1m4,1244
10
+ falyx/action/action_types.py,sha256=oG8qIFObZdiU1VZQlnWzR8uBDq8rcxzkCli9A31_tMI,1460
11
+ falyx/action/base_action.py,sha256=vnbcB3807eHFILy1z7RaIlGKDKnLG6XFQWJ8_B-3dcE,5812
12
+ falyx/action/chained_action.py,sha256=ARbyPm2AZLsqmap8aFuZuliSSuRtR4_4PXTS2aeILF0,8988
13
+ falyx/action/fallback_action.py,sha256=3FGWfoR1MIgY0ZkDNOpKu8p3JqPWzh5ON3943mfgDGs,1708
14
+ falyx/action/http_action.py,sha256=DNeSBWh58UTFGlfFyTk2GnhS54hpLAJLC0QNbq2cYic,5799
15
+ falyx/action/io_action.py,sha256=V888tQgAynqsVvkhICnEeE4wRs2vvdTcdlEpDSEbHqo,6128
16
+ falyx/action/literal_input_action.py,sha256=ShXXiUYKg01BMZRChlxEWlNcaLXV1B1LW-w5A8mOPvA,1387
17
+ falyx/action/load_file_action.py,sha256=DMCjJM9nfMmzcCwdalVbqDehdUaDPxG8PtXhJXIX3lA,8158
18
+ falyx/action/menu_action.py,sha256=ODghp2RcQhnSgVKhq3l8tH7pQ5HL5cT-Y0TuoWF8z84,6076
19
+ falyx/action/process_action.py,sha256=nUNcJD6Ms34vmj8njWzv1R1P9xJTyJmelnyJksHcp7M,4666
20
+ falyx/action/process_pool_action.py,sha256=XeL6e7vsy4OkOWGQHD0ET14CzuyJ0TL-c1W5VIgdCP8,6204
21
+ falyx/action/prompt_menu_action.py,sha256=SYgSDURsyjeQbEm_lbJCEVjVGPSGN59-xtT_VDyJqVY,5293
22
+ falyx/action/save_file_action.py,sha256=Ji5ND_zXGo82LkyEfyKGNK3x1nrhgu2oMLXV-aZ0Om4,1331
23
+ falyx/action/select_file_action.py,sha256=6zEG_AlmVR4RX6tpOEHxyM_QgxblZYcEbqcd961Q7_o,9967
24
+ falyx/action/selection_action.py,sha256=f3m4sYpGVu6nwydtx76OMvp7HFMZqSEr_nL9lwaPd_A,15749
25
+ falyx/action/shell_action.py,sha256=0A_kvZLsYmeLHInMM_4Jpe8GCSnXzGBm7H9PnXPvbAs,4055
26
+ falyx/action/signal_action.py,sha256=5UMqvzy7fBnLANGwYUWoe1VRhrr7e-yOVeLdOnCBiJo,1350
27
+ falyx/action/user_input_action.py,sha256=DnIYy4Bwl3dPbNSiM4ojuv-Y3WDYgIF2cUE3YPu-xCE,3848
28
+ falyx/bottom_bar.py,sha256=KPACb9VC0I3dv_pYZLqy7e4uA_KT5dSfwnvuknyV0FI,7388
29
+ falyx/command.py,sha256=9eRSPJGP7oNzwZPdSr3KV_KZe4nVVZCx-uzqvL03w3Q,16482
30
+ falyx/config.py,sha256=JkGLssxRYgSOFqGhLT19q4dqyLdLQj_NAtzZpcYSU2M,9665
31
+ falyx/context.py,sha256=b9PGkIfhc1BbFUmaqmr4AojzONfKG1c9WP2uixzCJGQ,10806
32
+ falyx/debug.py,sha256=pguI0XQcZ-7jte5YUPexAufa1oxxalYO1JgmO6GU3rI,1557
33
+ falyx/exceptions.py,sha256=58D4BYkyJ7PlpZoNk37GsUsFThm_gIlb2Ex2XXhLklI,1099
34
+ falyx/execution_registry.py,sha256=7t_96-Q7R7MAJBvWwAt5IAERp0TjbGZPGeeJ1s24ey8,7628
35
+ falyx/falyx.py,sha256=IGNgkaSgrF0jydQQulJUl0hJZT56tmy2UCDmC9DSWB8,49773
36
+ falyx/hook_manager.py,sha256=TFuHQnAncS_rk6vuw-VSx8bnAppLuHfrZCrzLwqcO9o,2979
37
+ falyx/hooks.py,sha256=xMfQROib0BNsaQF4AXJpmCiGePoE1f1xpcdibgnVZWM,2913
38
+ falyx/init.py,sha256=F9jg7mLPoBWXdJnc_fyWG7zVQSnrAO8ueDiP8AJxDWE,3331
39
+ falyx/logger.py,sha256=-qAn6fiqCDDgpx30lYieyA6YyzBTPkrjSKPbdnvIUXU,148
40
+ falyx/menu.py,sha256=9kvLZhkC8PoSQvv1NZQsPIFSDy11dXfFgqVAuDmtfsM,3752
41
+ falyx/options_manager.py,sha256=dFAnQw543tQ6Xupvh1PwBrhiSWlSACHw8K-sHP_lUh4,2842
42
+ falyx/parser/.pytyped,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
+ falyx/parser/__init__.py,sha256=NbxAovKIY-duFTs6DAsdM_OzL7s3VIu19KMOmltX9ts,512
44
+ falyx/parser/argument.py,sha256=25fyytWj6sH5UROSL-MEEKlDYXm-LwONCBTsn6pbzZ0,3443
45
+ falyx/parser/argument_action.py,sha256=rNVeth0eMpkZRU_eT1RPVxOGzD4pbdAMx9Kq07T4mG4,709
46
+ falyx/parser/command_argument_parser.py,sha256=nIWjwCxSvGHQMUqAG1_VFAYcV5kmcD_aY2s-KhWxCv0,34014
47
+ falyx/parser/parsers.py,sha256=X3eEltxBbwRwWG5Q1A1GqSdQCJZAYN5Eub0_U6dlBN4,9159
48
+ falyx/parser/signature.py,sha256=fSltLEr8ctj1qpbU-OvTMnREjlb8OTG5t-guJFR7j4E,2529
49
+ falyx/parser/utils.py,sha256=HYoTRR9-XbuzV2cz2BCfcHaGlzzFj4j3tlfuAx6-9t4,2942
50
+ falyx/prompt_utils.py,sha256=qgk0bXs7mwzflqzWyFhEOTpKQ_ZtMIqGhKeg-ocwNnE,1542
51
+ falyx/protocols.py,sha256=vd9JL-TXdLEiAQXLw2UKLd3MUMivoG7iMLo08ZggwYQ,539
52
+ falyx/retry.py,sha256=sGRE9QhdZK98M99G8F15WUsJ_fYLNyLlCgu3UANaSQs,3744
53
+ falyx/retry_utils.py,sha256=IqvEy_F0dXG8Yl2UoEJVLX-6OXk-dh-D72_SWv4w-p0,730
54
+ falyx/selection.py,sha256=TPSM_KKGHedJblWI0AzxTZR2haZjRF3k-gQoQeR3L28,15239
55
+ falyx/signals.py,sha256=Y_neFXpfHs7qY0syw9XcfR9WeAGRcRw1nG_2L1JJqKE,1083
56
+ falyx/tagged_table.py,sha256=4SV-SdXFrAhy1JNToeBCvyxT-iWVf6cWY7XETTys4n8,1067
57
+ falyx/themes/__init__.py,sha256=1CZhEUCin9cUk8IGYBUFkVvdHRNNJBEFXccHwpUKZCA,284
58
+ falyx/themes/colors.py,sha256=4aaeAHJetmeNInI0Zytg4E3YqKfPFelpf04vtjSvsS8,19776
59
+ falyx/utils.py,sha256=U45xnZFUdoFC4xiji_9S1jHS5V7MvxSDtufP8EgB0SM,6732
60
+ falyx/validators.py,sha256=Pbdxh5777Y03HxyArAh2ApeVSx23in4w4K38G43Vt98,5197
61
+ falyx/version.py,sha256=0U9S9zRz7MduvARyiWFUbfYZNKDf9XCo9-1NqTcx3CU,23
62
+ falyx-0.1.54.dist-info/LICENSE,sha256=B0yqgaHuSdhN7T3OBmgQSiDTy8HqT5Oe_dLypRe4Ra4,1073
63
+ falyx-0.1.54.dist-info/METADATA,sha256=kQeZSj95kTb7PTH-BuWbKia2ai2ssAXzQXo3AducOOI,5561
64
+ falyx-0.1.54.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
65
+ falyx-0.1.54.dist-info/entry_points.txt,sha256=j8owOSl2j1Ss8DtGMnKfgehKaolqnIPhVFHaUBLUnMs,45
66
+ falyx-0.1.54.dist-info/RECORD,,
@@ -1,64 +0,0 @@
1
- falyx/.pytyped,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- falyx/__init__.py,sha256=Gh88lQ5pbD7xbGWrBgslE2kSTZKY9TkvKSa53rZ3l8U,305
3
- falyx/__main__.py,sha256=xHO4pB45rccixo-ougF84QJeB36ef8mEZXWVK_CJL9M,3420
4
- falyx/action/.pytyped,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- falyx/action/__init__.py,sha256=xpsZJVtMFP9vtmg6LSS3QjZrezD2ZxGZUBAjv4axuuw,1272
6
- falyx/action/action.py,sha256=j9ANO0xRfWoiNK6z-46T04EKAJ7GhjVrzb8_U8afEAA,5753
7
- falyx/action/action_factory.py,sha256=br-P7Oip-4tZkO8qVT_ECwLe6idYjJa_GuBi5QR7vS4,4832
8
- falyx/action/action_group.py,sha256=NT2m9aLHUV2CqJxaDTAXFOH5_9F07TaCDmhybrO5dvU,6920
9
- falyx/action/base.py,sha256=B7mt66oznmhv2qpSOwOuScgMckVXrxjRMU2buzZkRD8,5866
10
- falyx/action/chained_action.py,sha256=0qSZBtL8G1Mb4S-iisBjOlsX8GDq8iB6iecf0vvp2L8,8589
11
- falyx/action/fallback_action.py,sha256=3FGWfoR1MIgY0ZkDNOpKu8p3JqPWzh5ON3943mfgDGs,1708
12
- falyx/action/http_action.py,sha256=DNeSBWh58UTFGlfFyTk2GnhS54hpLAJLC0QNbq2cYic,5799
13
- falyx/action/io_action.py,sha256=uOehF3ryqSUf0ye4cyQrHyNvf7TMnwfgt2EtZNEeHr0,6121
14
- falyx/action/literal_input_action.py,sha256=ShXXiUYKg01BMZRChlxEWlNcaLXV1B1LW-w5A8mOPvA,1387
15
- falyx/action/menu_action.py,sha256=SLqwmQ1TOt8kl_cgIWogBYfx8lYPLZa4E-Yy6M2cX_w,6069
16
- falyx/action/mixins.py,sha256=xWFyiGAcocTb9yTtHtTiAuuYdIc8vqLPreJAHPA6jBs,1197
17
- falyx/action/process_action.py,sha256=UdE6ab5fwS03iRY3Xk6fehpPZ47wo7yQT9tZmWiSTgw,4659
18
- falyx/action/process_pool_action.py,sha256=soHrecetIVN-dzgCS4jSdC0cnabDZQGwCWjPPOAFUIs,6032
19
- falyx/action/prompt_menu_action.py,sha256=corzjpPNVMYKncfueeRUWwklnlZHN-Fc61psOzbZELg,5286
20
- falyx/action/select_file_action.py,sha256=2T4I1CLvHLAAqNUD2rFBIpdi74BP5amU4yTHUOGnd64,9911
21
- falyx/action/selection_action.py,sha256=Mav39iTkVIJPDvmDek8R2bSF18f-mII56l5sSzZSPII,15735
22
- falyx/action/shell_action.py,sha256=0A_kvZLsYmeLHInMM_4Jpe8GCSnXzGBm7H9PnXPvbAs,4055
23
- falyx/action/signal_action.py,sha256=5UMqvzy7fBnLANGwYUWoe1VRhrr7e-yOVeLdOnCBiJo,1350
24
- falyx/action/types.py,sha256=ml-KMelDjYnXdUTR1n7mHEwZFpAIdtB3RTnJS0KdVCQ,1478
25
- falyx/action/user_input_action.py,sha256=ywbuHciMhXfZpLuHFBF8PBcm_bnmH3VLib66RrKFSx0,3841
26
- falyx/bottom_bar.py,sha256=KPACb9VC0I3dv_pYZLqy7e4uA_KT5dSfwnvuknyV0FI,7388
27
- falyx/command.py,sha256=v6GOVOPDmcjfKq0uR4EYXuqXSAYOVFp9Iy1hlZq4W5w,16432
28
- falyx/config.py,sha256=Cm1F9SfNSbugPALxaEz7NRqp1wrk-g2jYq35bQzN2uE,9658
29
- falyx/context.py,sha256=b9PGkIfhc1BbFUmaqmr4AojzONfKG1c9WP2uixzCJGQ,10806
30
- falyx/debug.py,sha256=pguI0XQcZ-7jte5YUPexAufa1oxxalYO1JgmO6GU3rI,1557
31
- falyx/exceptions.py,sha256=kK9k1v7LVNjJSwYztRa9Krhr3ZOI-6Htq2ZjlYICPKg,922
32
- falyx/execution_registry.py,sha256=7t_96-Q7R7MAJBvWwAt5IAERp0TjbGZPGeeJ1s24ey8,7628
33
- falyx/falyx.py,sha256=zOAah7OYHZgMRI60zwXjNgfeEHs8y87SDs3Meslood0,49805
34
- falyx/hook_manager.py,sha256=TFuHQnAncS_rk6vuw-VSx8bnAppLuHfrZCrzLwqcO9o,2979
35
- falyx/hooks.py,sha256=xMfQROib0BNsaQF4AXJpmCiGePoE1f1xpcdibgnVZWM,2913
36
- falyx/init.py,sha256=F9jg7mLPoBWXdJnc_fyWG7zVQSnrAO8ueDiP8AJxDWE,3331
37
- falyx/logger.py,sha256=1Mfb_vJFJ1tQwziuyU2p-cSMi2Js8N2byniFEnI6vOQ,132
38
- falyx/menu.py,sha256=E580qZsx08bnWcqRVjJuD2Fy8Zh_1zIexp5f0lC7L2c,3745
39
- falyx/options_manager.py,sha256=dFAnQw543tQ6Xupvh1PwBrhiSWlSACHw8K-sHP_lUh4,2842
40
- falyx/parser/.pytyped,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
- falyx/parser/__init__.py,sha256=NbxAovKIY-duFTs6DAsdM_OzL7s3VIu19KMOmltX9ts,512
42
- falyx/parser/argument.py,sha256=5udUzYOgxdOz4thI0bxuRsqGFf_YuId4LP7MZ6n0dYc,3362
43
- falyx/parser/argument_action.py,sha256=rNVeth0eMpkZRU_eT1RPVxOGzD4pbdAMx9Kq07T4mG4,709
44
- falyx/parser/command_argument_parser.py,sha256=c6mHuOxAWdt5CXMnZv-ZvAf0DDdNhSWaOYu2KIJGAFA,33892
45
- falyx/parser/parsers.py,sha256=MXWC8OQ3apDaeKfY0O4J8NnkxofWVOCRnKatC00lGm0,8796
46
- falyx/parser/signature.py,sha256=fSltLEr8ctj1qpbU-OvTMnREjlb8OTG5t-guJFR7j4E,2529
47
- falyx/parser/utils.py,sha256=W3uuvzftwE7Yuiwp_YsrvkIpJp0WcFEIdrRv8SCsnds,2956
48
- falyx/prompt_utils.py,sha256=qgk0bXs7mwzflqzWyFhEOTpKQ_ZtMIqGhKeg-ocwNnE,1542
49
- falyx/protocols.py,sha256=-9GbCBUzzsEgw2_KOCYqxxzWJuez0eHmwnZp_ShY0jc,493
50
- falyx/retry.py,sha256=sGRE9QhdZK98M99G8F15WUsJ_fYLNyLlCgu3UANaSQs,3744
51
- falyx/retry_utils.py,sha256=vwoZmFVCGVqZ13BX_xi3qZZVsmSxkp-jfaf6kJtBV9c,723
52
- falyx/selection.py,sha256=TPSM_KKGHedJblWI0AzxTZR2haZjRF3k-gQoQeR3L28,15239
53
- falyx/signals.py,sha256=Y_neFXpfHs7qY0syw9XcfR9WeAGRcRw1nG_2L1JJqKE,1083
54
- falyx/tagged_table.py,sha256=4SV-SdXFrAhy1JNToeBCvyxT-iWVf6cWY7XETTys4n8,1067
55
- falyx/themes/__init__.py,sha256=1CZhEUCin9cUk8IGYBUFkVvdHRNNJBEFXccHwpUKZCA,284
56
- falyx/themes/colors.py,sha256=4aaeAHJetmeNInI0Zytg4E3YqKfPFelpf04vtjSvsS8,19776
57
- falyx/utils.py,sha256=U45xnZFUdoFC4xiji_9S1jHS5V7MvxSDtufP8EgB0SM,6732
58
- falyx/validators.py,sha256=Pbdxh5777Y03HxyArAh2ApeVSx23in4w4K38G43Vt98,5197
59
- falyx/version.py,sha256=xEFLBJ_IHewFRxpAOMcKAhQVPVf06lsExSa2472N2G8,23
60
- falyx-0.1.52.dist-info/LICENSE,sha256=B0yqgaHuSdhN7T3OBmgQSiDTy8HqT5Oe_dLypRe4Ra4,1073
61
- falyx-0.1.52.dist-info/METADATA,sha256=KEyMpUA-OEVmqKEHDTXguJV_id4mevnq9TDAAHSIcgM,5561
62
- falyx-0.1.52.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
63
- falyx-0.1.52.dist-info/entry_points.txt,sha256=j8owOSl2j1Ss8DtGMnKfgehKaolqnIPhVFHaUBLUnMs,45
64
- falyx-0.1.52.dist-info/RECORD,,
File without changes