methodproof 0.7.3__tar.gz → 0.7.4__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.
Files changed (65) hide show
  1. {methodproof-0.7.3 → methodproof-0.7.4}/PKG-INFO +1 -1
  2. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/__init__.py +1 -1
  3. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/cli.py +7 -4
  4. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/config.py +13 -3
  5. {methodproof-0.7.3 → methodproof-0.7.4}/pyproject.toml +1 -1
  6. {methodproof-0.7.3 → methodproof-0.7.4}/.github/workflows/ci.yml +0 -0
  7. {methodproof-0.7.3 → methodproof-0.7.4}/.gitignore +0 -0
  8. {methodproof-0.7.3 → methodproof-0.7.4}/CHANGELOG.md +0 -0
  9. {methodproof-0.7.3 → methodproof-0.7.4}/LICENSE +0 -0
  10. {methodproof-0.7.3 → methodproof-0.7.4}/README.md +0 -0
  11. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/__main__.py +0 -0
  12. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/_daemon.py +0 -0
  13. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/agents/__init__.py +0 -0
  14. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/agents/base.py +0 -0
  15. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/agents/music.py +0 -0
  16. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/agents/terminal.py +0 -0
  17. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/agents/watcher.py +0 -0
  18. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/analysis.py +0 -0
  19. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/binding.py +0 -0
  20. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/bip39.py +0 -0
  21. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/bridge.py +0 -0
  22. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/crypto.py +0 -0
  23. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/e2e.py +0 -0
  24. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/graph.py +0 -0
  25. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/hook.py +0 -0
  26. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/hooks/__init__.py +0 -0
  27. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/hooks/claude_code.py +0 -0
  28. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/hooks/claude_code.sh +0 -0
  29. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/hooks/cline_hook.sh +0 -0
  30. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/hooks/codex_hook.sh +0 -0
  31. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/hooks/gemini_hook.sh +0 -0
  32. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/hooks/install.py +0 -0
  33. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/hooks/kiro_hook.sh +0 -0
  34. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/hooks/mcp_register.py +0 -0
  35. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/hooks/openclaw/HOOK.md +0 -0
  36. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/hooks/openclaw/handler.ts +0 -0
  37. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/hooks/openclaw_install.py +0 -0
  38. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/hooks/opencode_plugin.js +0 -0
  39. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/hooks/wrappers.py +0 -0
  40. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/integrity.py +0 -0
  41. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/kdf.py +0 -0
  42. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/keychain.py +0 -0
  43. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/live.py +0 -0
  44. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/lock.py +0 -0
  45. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/mcp.py +0 -0
  46. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/migrate_db.py +0 -0
  47. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/proxy.py +0 -0
  48. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/proxy_daemon.py +0 -0
  49. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/repos.py +0 -0
  50. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/skills/methodproof/SKILL.md +0 -0
  51. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/store.py +0 -0
  52. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/sync.py +0 -0
  53. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/viewer.py +0 -0
  54. {methodproof-0.7.3 → methodproof-0.7.4}/methodproof/wordlist.py +0 -0
  55. {methodproof-0.7.3 → methodproof-0.7.4}/test_windows_compat.py +0 -0
  56. {methodproof-0.7.3 → methodproof-0.7.4}/tests/__init__.py +0 -0
  57. {methodproof-0.7.3 → methodproof-0.7.4}/tests/test_analysis.py +0 -0
  58. {methodproof-0.7.3 → methodproof-0.7.4}/tests/test_graph.py +0 -0
  59. {methodproof-0.7.3 → methodproof-0.7.4}/tests/test_hooks.py +0 -0
  60. {methodproof-0.7.3 → methodproof-0.7.4}/tests/test_live.py +0 -0
  61. {methodproof-0.7.3 → methodproof-0.7.4}/tests/test_openclaw_hooks.py +0 -0
  62. {methodproof-0.7.3 → methodproof-0.7.4}/tests/test_security.py +0 -0
  63. {methodproof-0.7.3 → methodproof-0.7.4}/tests/test_store.py +0 -0
  64. {methodproof-0.7.3 → methodproof-0.7.4}/tests/test_wrappers.py +0 -0
  65. {methodproof-0.7.3 → methodproof-0.7.4}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: methodproof
3
- Version: 0.7.3
3
+ Version: 0.7.4
4
4
  Summary: See how you code. Capture and visualize your engineering process.
5
5
  License-Expression: Apache-2.0
6
6
  License-File: LICENSE
@@ -1,3 +1,3 @@
1
1
  """MethodProof — see how you code."""
2
2
 
3
- __version__ = "0.7.3"
3
+ __version__ = "0.7.4"
@@ -1329,13 +1329,15 @@ def cmd_login(args: argparse.Namespace) -> None:
1329
1329
 
1330
1330
 
1331
1331
  def cmd_push(args: argparse.Namespace) -> None:
1332
- cfg = config.load()
1332
+ local = getattr(args, "local", False)
1333
+ cfg = config.load(local=local)
1333
1334
  if not cfg.get("token"):
1334
- print("Run `methodproof login` first.")
1335
+ target = "local API" if local else "platform"
1336
+ print(f"Run `methodproof login{' --api-url http://localhost:8000' if local else ''}` first.")
1335
1337
  sys.exit(1)
1336
1338
  from methodproof.sync import sync_research_consent
1337
1339
  sync_research_consent(cfg["token"], cfg["api_url"])
1338
- cfg = config.load()
1340
+ cfg = config.load(local=local)
1339
1341
  sid = args.session_id or _latest()
1340
1342
  if not sid:
1341
1343
  print("No sessions to push.")
@@ -1343,7 +1345,7 @@ def cmd_push(args: argparse.Namespace) -> None:
1343
1345
  from methodproof.sync import push
1344
1346
  remote_id = push(sid, cfg["token"], cfg["api_url"])
1345
1347
  app = _app_url(cfg["api_url"])
1346
- print(f"Pushed {sid[:8]} (private).")
1348
+ print(f"Pushed {sid[:8]} → {cfg['api_url']} (private).")
1347
1349
  print(f" View: {app}/personal/sessions/{remote_id}")
1348
1350
  print(f" Publish: mp publish {sid[:8]}")
1349
1351
 
@@ -1744,6 +1746,7 @@ def main() -> None:
1744
1746
  sub.add_parser("logout", help="Clear login credentials (keeps consent and sessions)")
1745
1747
  pu = sub.add_parser("push", help="Upload privately to your account")
1746
1748
  pu.add_argument("session_id", nargs="?")
1749
+ pu.add_argument("--local", action="store_true", help="Push to local dev API (localhost:8000)")
1747
1750
  tg = sub.add_parser("tag", help="Tag a session")
1748
1751
  tg.add_argument("session_id", help="Session ID (prefix ok)")
1749
1752
  tg.add_argument("tags", help="Comma-separated tags")
@@ -134,10 +134,20 @@ def secure_file(path: Path) -> None:
134
134
  path.chmod(0o600)
135
135
 
136
136
 
137
- def load() -> dict[str, Any]:
137
+ LOCAL_API_URL = "http://localhost:8000"
138
+
139
+
140
+ def load(local: bool = False) -> dict[str, Any]:
138
141
  if not CONFIG.exists():
139
- return dict(_DEFAULTS)
140
- return {**_DEFAULTS, **json.loads(CONFIG.read_text())}
142
+ cfg = dict(_DEFAULTS)
143
+ else:
144
+ cfg = {**_DEFAULTS, **json.loads(CONFIG.read_text())}
145
+ env_url = os.environ.get("METHODPROOF_API_URL")
146
+ if local:
147
+ cfg["api_url"] = LOCAL_API_URL
148
+ elif env_url:
149
+ cfg["api_url"] = env_url
150
+ return cfg
141
151
 
142
152
 
143
153
  def save(cfg: dict[str, Any]) -> None:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "methodproof"
3
- version = "0.7.3"
3
+ version = "0.7.4"
4
4
  description = "See how you code. Capture and visualize your engineering process."
5
5
  requires-python = ">=3.11"
6
6
  dependencies = ["watchdog>=4.0", "websocket-client>=1.7", "cryptography>=43.0", "keyring>=25.0"]
File without changes
File without changes
File without changes
File without changes
File without changes