pctr 0.3.1__tar.gz → 0.3.2__tar.gz

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pctr
3
- Version: 0.3.1
3
+ Version: 0.3.2
4
4
  Summary: Element-based Windows UI Automation CLI for AI agents. Find controls by name/type/id and click, type, hold, drag, and screenshot - no pixel coordinates.
5
5
  Author: Space-lab515
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pctr"
7
- version = "0.3.1"
7
+ version = "0.3.2"
8
8
  description = "Element-based Windows UI Automation CLI for AI agents. Find controls by name/type/id and click, type, hold, drag, and screenshot - no pixel coordinates."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -0,0 +1 @@
1
+ __version__ = "0.3.2"
@@ -16,6 +16,12 @@ from pywinauto import Desktop
16
16
 
17
17
  DESCRIPTION = "Element-based Windows UI Automation CLI for AI agents."
18
18
 
19
+ try:
20
+ from importlib.metadata import version as _pkg_version
21
+ _VERSION = _pkg_version("pctr")
22
+ except Exception:
23
+ _VERSION = "unknown"
24
+
19
25
 
20
26
  def _fail(msg, code=2) -> NoReturn:
21
27
  """Print a clean one-line error and exit non-zero (no traceback)."""
@@ -854,7 +860,8 @@ def _validate(args):
854
860
 
855
861
  def build_parser():
856
862
  ap = argparse.ArgumentParser(prog="pctr", description=DESCRIPTION, formatter_class=argparse.RawDescriptionHelpFormatter)
857
- sub = ap.add_subparsers(dest="cmd", required=True)
863
+ ap.add_argument("--version", action="version", version="pctr %s" % _VERSION)
864
+ sub = ap.add_subparsers(dest="cmd", required=False)
858
865
 
859
866
  w = sub.add_parser("windows", help="List top-level windows")
860
867
  w.add_argument("--filter", default=None)
@@ -1040,7 +1047,11 @@ def build_parser():
1040
1047
 
1041
1048
 
1042
1049
  def main():
1043
- args = build_parser().parse_args()
1050
+ ap = build_parser()
1051
+ args = ap.parse_args()
1052
+ if not getattr(args, "cmd", None):
1053
+ ap.print_help()
1054
+ return
1044
1055
  _validate(args)
1045
1056
  try:
1046
1057
  args.func(args)
@@ -1050,3 +1061,7 @@ def main():
1050
1061
  raise SystemExit(130)
1051
1062
  except Exception as e:
1052
1063
  _fail("%s: %s" % (type(e).__name__, e))
1064
+
1065
+
1066
+ if __name__ == "__main__":
1067
+ main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pctr
3
- Version: 0.3.1
3
+ Version: 0.3.2
4
4
  Summary: Element-based Windows UI Automation CLI for AI agents. Find controls by name/type/id and click, type, hold, drag, and screenshot - no pixel coordinates.
5
5
  Author: Space-lab515
6
6
  License-Expression: MIT
@@ -1 +0,0 @@
1
- __version__ = "0.3.1"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes