muffin 1.1.0__py3-none-any.whl → 1.1.1__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.
muffin/manage.py CHANGED
@@ -86,7 +86,7 @@ class Manager:
86
86
 
87
87
  # We have to use sync mode here because of eventloop conflict with ipython/promt-toolkit
88
88
  def shell(*, ipython: bool = True):
89
- """Start the application's shell.
89
+ """Start an interactive shell with the application context.
90
90
 
91
91
  :param ipython: Use IPython as a shell
92
92
  """
@@ -108,7 +108,7 @@ class Manager:
108
108
  self(shell)
109
109
 
110
110
  def run(host: str = "localhost", port: int = 5000):
111
- """Start the application's server."""
111
+ """Run the application with the given host and port."""
112
112
  from uvicorn.main import run as urun
113
113
 
114
114
  cfg = self.app.cfg
@@ -235,6 +235,14 @@ class Manager:
235
235
  if prog:
236
236
  self.parser.prog = prog
237
237
 
238
+ # Sort subparsers by name
239
+ choices_actions = getattr(self.subparsers, "_choices_actions", None)
240
+ if choices_actions:
241
+ sorted_actions = sorted(choices_actions, key=lambda a: a.dest)
242
+ choices_actions.clear()
243
+ choices_actions.extend(sorted_actions)
244
+ self.subparsers.metavar = "{" + ",".join(a.dest for a in sorted_actions) + "}"
245
+
238
246
  ns, _ = self.parser.parse_known_args(args or sys.argv[1:])
239
247
  kwargs = dict(ns._get_kwargs())
240
248
  fn = self.commands.get(kwargs.pop("subparser"))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: muffin
3
- Version: 1.1.0
3
+ Version: 1.1.1
4
4
  Summary: Muffin is a fast, simple and asyncronous web-framework for Python 3 (asyncio, trio, curio)
5
5
  License: MIT
6
6
  Keywords: asgi,web,web framework,asyncio,trio,curio
@@ -3,13 +3,13 @@ muffin/app.py,sha256=6gPJUhWn9QSdzSwIl_8eP1uwOGaFIkHI-aXQrYwU1gY,5318
3
3
  muffin/constants.py,sha256=Ga1UJiEdXUk6dIEH_IEVYkFSZxQFPhxie7fCJwQY8V0,71
4
4
  muffin/errors.py,sha256=I-vKbMMBiMU07zPdKvoJKqA7s4xYAUA-4oZXrRMRzcM,701
5
5
  muffin/handler.py,sha256=_cvF0TV87YH5_ZDnwgsks-h_e0yI14P27j4HG5tWanc,3673
6
- muffin/manage.py,sha256=bXJqQf0pHjtgn3lyKqcvP9SBlh67v5vhQE3oZopF5JY,9663
6
+ muffin/manage.py,sha256=0OHt_jUnge16sOcV3fcnOUtf1h147LtkrxSR2BBcq_w,10100
7
7
  muffin/plugins.py,sha256=fGIocty5hHGTTY3zQrYBvkXjETlLndqRwAe5jmpyi3I,3417
8
8
  muffin/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  muffin/pytest.py,sha256=51pJ-JJ2vwqiPhR9TPqXvT78X35l3v3oEkN5LBnfY8E,2679
10
10
  muffin/types.py,sha256=wsUj5oAfqSZMoEf-wyFJLBlWa8Mc-eJGqKLr02HxuXE,153
11
11
  muffin/utils.py,sha256=O3JXRkFyDlZ3kJZeaHz2WHMTY6-lvHGDu7qFy0x8Zls,2896
12
- muffin-1.1.0.dist-info/METADATA,sha256=gq18wriPaxEZAy8-EOpKeXEdyzFwBwkklgzZ2OIh9rk,6243
13
- muffin-1.1.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
14
- muffin-1.1.0.dist-info/entry_points.txt,sha256=GvPS3M-tNVPzhUS5jnUpOmWw2NAqedY34VRCYgPYzlM,84
15
- muffin-1.1.0.dist-info/RECORD,,
12
+ muffin-1.1.1.dist-info/METADATA,sha256=RDLd1xaGVRY_KYG_Hc0kKKkF-Ijxq5jJ-k-BSCOeTbI,6243
13
+ muffin-1.1.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
14
+ muffin-1.1.1.dist-info/entry_points.txt,sha256=GvPS3M-tNVPzhUS5jnUpOmWw2NAqedY34VRCYgPYzlM,84
15
+ muffin-1.1.1.dist-info/RECORD,,
File without changes