mcli-framework 7.12.0__py3-none-any.whl → 7.12.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.

Potentially problematic release.


This version of mcli-framework might be problematic. Click here for more details.

mcli/app/main.py CHANGED
@@ -467,54 +467,14 @@ def create_app() -> click.Group:
467
467
 
468
468
  app = click.Group(name="mcli")
469
469
 
470
- # Clean top-level commands
471
- @app.command()
472
- @click.option("--verbose", "-v", is_flag=True, help="Show additional system information")
473
- def version(verbose: bool):
474
- """Show mcli version and system information"""
475
- message = get_version_info(verbose)
476
- logger.info(message)
477
- info(message)
478
-
470
+ # Version command moved to self group (mcli self version)
479
471
  # Add lazy-loaded command groups
480
472
  _add_lazy_commands(app)
481
473
 
482
474
  return app
483
475
 
484
476
 
485
- @lru_cache()
486
- def get_version_info(verbose: bool = False) -> str:
487
- """Get version info, cached to prevent multiple calls."""
488
- try:
489
- # Try mcli-framework first (PyPI package name), then mcli (local dev)
490
- mcli_version = None
491
- meta = None
492
-
493
- for pkg_name in ["mcli-framework", "mcli"]:
494
- try:
495
- mcli_version = version(pkg_name)
496
- meta = metadata(pkg_name)
497
- break
498
- except Exception:
499
- continue
500
-
501
- if mcli_version is None:
502
- return "Could not determine version: Package metadata not found"
503
-
504
- info = [f"mcli version {mcli_version}"]
505
-
506
- if verbose:
507
- info.extend(
508
- [
509
- f"\nPython: {sys.version.split()[0]}",
510
- f"Platform: {platform.platform()}",
511
- f"Description: {meta.get('Summary', 'Not available')}",
512
- f"Author: {meta.get('Author', 'Not available')}",
513
- ]
514
- )
515
- return "\n".join(info)
516
- except Exception as e:
517
- return f"Could not determine version: {e}"
477
+ # get_version_info moved to self_cmd.py
518
478
 
519
479
 
520
480
  def main():
mcli/self/self_cmd.py CHANGED
@@ -8,9 +8,13 @@ import importlib
8
8
  import inspect
9
9
  import json
10
10
  import os
11
+ import platform
11
12
  import re
13
+ import sys
12
14
  import time
13
15
  from datetime import datetime
16
+ from functools import lru_cache
17
+ from importlib.metadata import metadata, version
14
18
  from pathlib import Path
15
19
  from typing import Any, Dict, List, Optional
16
20
 
@@ -48,6 +52,43 @@ console = Console()
48
52
 
49
53
  LOCKFILE_PATH = Path.home() / ".local" / "mcli" / "command_lock.json"
50
54
 
55
+
56
+ # Version info utility
57
+ @lru_cache()
58
+ def get_version_info(verbose: bool = False) -> str:
59
+ """Get version info, cached to prevent multiple calls."""
60
+ try:
61
+ # Try mcli-framework first (PyPI package name), then mcli (local dev)
62
+ mcli_version = None
63
+ meta = None
64
+
65
+ for pkg_name in ["mcli-framework", "mcli"]:
66
+ try:
67
+ mcli_version = version(pkg_name)
68
+ meta = metadata(pkg_name)
69
+ break
70
+ except Exception:
71
+ continue
72
+
73
+ if mcli_version is None:
74
+ return "Could not determine version: Package metadata not found"
75
+
76
+ info = [f"mcli version {mcli_version}"]
77
+
78
+ if verbose:
79
+ info.extend(
80
+ [
81
+ f"\nPython: {sys.version.split()[0]}",
82
+ f"Platform: {platform.platform()}",
83
+ f"Description: {meta.get('Summary', 'Not available')}",
84
+ f"Author: {meta.get('Author', 'Not available')}",
85
+ ]
86
+ )
87
+ return "\n".join(info)
88
+ except Exception as e:
89
+ return f"Error getting version info: {e}"
90
+
91
+
51
92
  # Utility functions for command state lockfile
52
93
 
53
94
 
@@ -649,6 +690,17 @@ def plugin_update(plugin_name):
649
690
  return 0
650
691
 
651
692
 
693
+ @self_app.command("version")
694
+ @click.option("--verbose", "-v", is_flag=True, help="Show additional system information")
695
+ def version_cmd(verbose: bool):
696
+ """Show mcli version and system information."""
697
+ from mcli.lib.ui.styling import info
698
+
699
+ message = get_version_info(verbose)
700
+ logger.info(message)
701
+ info(message)
702
+
703
+
652
704
  @self_app.command("hello")
653
705
  @click.argument("name", default="World")
654
706
  def hello(name: str):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcli-framework
3
- Version: 7.12.0
3
+ Version: 7.12.1
4
4
  Summary: Portable workflow framework - transform any script into a versioned, schedulable command. Store in ~/.mcli/workflows/, version with lockfile, run as daemon or cron job.
5
5
  Author-email: Luis Fernandez de la Vara <luis@lefv.io>
6
6
  Maintainer-email: Luis Fernandez de la Vara <luis@lefv.io>
@@ -7,7 +7,7 @@ mcli/app/commands_cmd.py,sha256=RAwkNQIy2XFUQxn56M6rIKas7Qb9BhIFWB4iOj4zTFA,5025
7
7
  mcli/app/completion_helpers.py,sha256=e62C6w2N-XoD66GYYHgtvKKoD3kYMuIeBBGzVKbuL04,7497
8
8
  mcli/app/init_cmd.py,sha256=Pueg96Gi10VJB20xdEwfw_tDj4v5A5f_dEzKj_130UU,12451
9
9
  mcli/app/lock_cmd.py,sha256=dlMk94Lw7FtKDZC92H4GSOBKJva2sKWExIafIr1ftcQ,10146
10
- mcli/app/main.py,sha256=wFfvILpaP9JmGvRaLqHoLYIAiUGhvPBzh2L149rn9zo,20561
10
+ mcli/app/main.py,sha256=QX_NMi3TqsPbH0_1mCpA1we3jyGca0LpZAv4ljFf9lo,19210
11
11
  mcli/app/model_cmd.py,sha256=LQQD8FaebFoaJGK3u_kt19wZ3HJyo_ecwSMYyC2xIp8,2497
12
12
  mcli/app/store_cmd.py,sha256=Pr2S0G-TEC1UuGSIzyNnJBxPEc1lH42Cs8WCUsZHJ8I,14316
13
13
  mcli/app/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -204,7 +204,7 @@ mcli/self/completion_cmd.py,sha256=JXJ70p_yyfC8KlC5QifkQWLNeS2hgUFmNw8xdiix5O8,7
204
204
  mcli/self/logs_cmd.py,sha256=SCzZ4VZs6p42hksun_w4WN33xIZgmq7RjdWX8P2WcT4,15056
205
205
  mcli/self/migrate_cmd.py,sha256=DalSn-pvfez4KdYYaYlYi1hqqtZM6bgS--pNZzfVsE8,14665
206
206
  mcli/self/redis_cmd.py,sha256=Cl0LQ3Mqt27gLeb542_xw6bJBbIE-CBmWyMmaUTSk8c,9426
207
- mcli/self/self_cmd.py,sha256=m0GhY8u2o5Xo0ws9QaTO_UbdwloOtNQin0vrQEY0o44,38017
207
+ mcli/self/self_cmd.py,sha256=F8_W82ZoMYa3amdsweQA-EbW4f9zOBDK8elvG0JadPo,39606
208
208
  mcli/self/store_cmd.py,sha256=O6arjRr4qWQKh1QyVWtzyXq5R7yZEBL87FSI59Db7IY,13320
209
209
  mcli/self/test_cmd.py,sha256=WjzgoH1WFa79wc8A7O6UMuJfookLfgciUNcCMbKHAQQ,21
210
210
  mcli/self/visual_cmd.py,sha256=jXighahHxeM9HANQ2Brk6nKFgi2ZuQBOBH7PE5xhebk,9428
@@ -271,9 +271,9 @@ mcli/workflow/sync/test_cmd.py,sha256=neVgs9zEnKSxlvzDpFkuCGucqnzjrShm2OvJtHibsl
271
271
  mcli/workflow/videos/__init__.py,sha256=aV3DEoO7qdKJY4odWKoQbOKDQq4ludTeCLnZcupOFIM,25
272
272
  mcli/workflow/wakatime/__init__.py,sha256=wKG8cVIHVtMPhNRFGFtX43bRnocHqOMMkFMkmW-M6pU,2626
273
273
  mcli/workflow/wakatime/wakatime.py,sha256=sEjsUKa3-XyE8Ni6sAb_D3GAY5jDcA30KknW9YTbLTA,142
274
- mcli_framework-7.12.0.dist-info/licenses/LICENSE,sha256=sahwAMfrJv2-V66HNPTp7A9UmMjxtyejwTZZoWQvEcI,1075
275
- mcli_framework-7.12.0.dist-info/METADATA,sha256=OohrTi2RR9BjdVJQlLsX7skMsOYiC5Gfd5EGQVCmmcY,18635
276
- mcli_framework-7.12.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
277
- mcli_framework-7.12.0.dist-info/entry_points.txt,sha256=dYrZbDIm-KUPsl1wfv600Kx_8sMy89phMkCihbDRgP8,261
278
- mcli_framework-7.12.0.dist-info/top_level.txt,sha256=_bnO8J2EUkliWivey_1le0UrnocFKmyVMQjbQ8iVXjc,5
279
- mcli_framework-7.12.0.dist-info/RECORD,,
274
+ mcli_framework-7.12.1.dist-info/licenses/LICENSE,sha256=sahwAMfrJv2-V66HNPTp7A9UmMjxtyejwTZZoWQvEcI,1075
275
+ mcli_framework-7.12.1.dist-info/METADATA,sha256=-7iQ0odIxDfHeORmikt58Hygxb_RvJsU0ir1CaUay8E,18635
276
+ mcli_framework-7.12.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
277
+ mcli_framework-7.12.1.dist-info/entry_points.txt,sha256=dYrZbDIm-KUPsl1wfv600Kx_8sMy89phMkCihbDRgP8,261
278
+ mcli_framework-7.12.1.dist-info/top_level.txt,sha256=_bnO8J2EUkliWivey_1le0UrnocFKmyVMQjbQ8iVXjc,5
279
+ mcli_framework-7.12.1.dist-info/RECORD,,