ragtime-cli 0.2.0__py3-none-any.whl → 0.2.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 ragtime-cli might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ragtime-cli
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Local-first memory and RAG system for Claude Code - semantic search over code, docs, and team knowledge
5
5
  Author-email: Bret Martineau <bretwardjames@gmail.com>
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
- ragtime_cli-0.2.0.dist-info/licenses/LICENSE,sha256=9A0wJs2PRDciGRH4F8JUJ-aMKYQyq_gVu2ixrXs-l5A,1070
1
+ ragtime_cli-0.2.1.dist-info/licenses/LICENSE,sha256=9A0wJs2PRDciGRH4F8JUJ-aMKYQyq_gVu2ixrXs-l5A,1070
2
2
  src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- src/cli.py,sha256=z7h-8E6ADXzJU8yEg0Vbh3lFXR9ZVaQh1NHUZJrw-Ek,36310
3
+ src/cli.py,sha256=uZldKb8m53E3lKdhEVHjBYEnTvFSIv90AQ2iyuXIhDA,38083
4
4
  src/config.py,sha256=_zSMnGSO8uFFF8Was_Jtm2m1JDPGhT3Lh8Zz2rcQs98,3232
5
5
  src/db.py,sha256=BKrlhilXYHNaj-ZcffinSXVhdUqowmwpFPBx7aLxamU,4642
6
6
  src/mcp_server.py,sha256=Tx0i73GXO0YmcVrdO7UjRMS0auN8fBG2LOpHuf_LUC0,20374
@@ -14,8 +14,8 @@ src/commands/save.md,sha256=7gTpW46AU9Y4l8XVZ8f4h1sEdBfVqIRA7hlidUxMAC4,251
14
14
  src/commands/start.md,sha256=qoqhkMgET74DBx8YPIT1-wqCiVBUDxlmevigsCinHSY,6506
15
15
  src/indexers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  src/indexers/docs.py,sha256=7FENHaKSvC1T557bRzvmrjyaG_vK94GuQG9XMZdr89w,3349
17
- ragtime_cli-0.2.0.dist-info/METADATA,sha256=C8Di3ToJJqt1K3FEzvgfZ-Js2C5qz31T5IXk8oMWFm8,5311
18
- ragtime_cli-0.2.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
19
- ragtime_cli-0.2.0.dist-info/entry_points.txt,sha256=cWLbeyMxZNbew-THS3bHXTpCRXt1EaUy5QUOXGXLjl4,75
20
- ragtime_cli-0.2.0.dist-info/top_level.txt,sha256=74rtVfumQlgAPzR5_2CgYN24MB0XARCg0t-gzk6gTrM,4
21
- ragtime_cli-0.2.0.dist-info/RECORD,,
17
+ ragtime_cli-0.2.1.dist-info/METADATA,sha256=Cg_bRuQ87B6OuOLhQ4TBQ_uUMQS7dGBL_Q-ZtkjI3JY,5311
18
+ ragtime_cli-0.2.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
19
+ ragtime_cli-0.2.1.dist-info/entry_points.txt,sha256=cWLbeyMxZNbew-THS3bHXTpCRXt1EaUy5QUOXGXLjl4,75
20
+ ragtime_cli-0.2.1.dist-info/top_level.txt,sha256=74rtVfumQlgAPzR5_2CgYN24MB0XARCg0t-gzk6gTrM,4
21
+ ragtime_cli-0.2.1.dist-info/RECORD,,
src/cli.py CHANGED
@@ -166,7 +166,7 @@ def get_remote_branches_with_ragtime(path: Path) -> list[str]:
166
166
 
167
167
 
168
168
  @click.group()
169
- @click.version_option(version="0.2.0")
169
+ @click.version_option(version="0.2.1")
170
170
  def main():
171
171
  """Ragtime - semantic search over code and documentation."""
172
172
  pass
@@ -1105,5 +1105,56 @@ def daemon_status(path: Path):
1105
1105
  pid_file.unlink()
1106
1106
 
1107
1107
 
1108
+ @main.command()
1109
+ @click.option("--check", is_flag=True, help="Only check for updates, don't install")
1110
+ def update(check: bool):
1111
+ """Check for and install ragtime updates."""
1112
+ import json
1113
+ from urllib.request import urlopen
1114
+ from urllib.error import URLError
1115
+
1116
+ current = "0.2.1"
1117
+
1118
+ click.echo(f"Current version: {current}")
1119
+ click.echo("Checking PyPI for updates...")
1120
+
1121
+ try:
1122
+ with urlopen("https://pypi.org/pypi/ragtime-cli/json", timeout=10) as resp:
1123
+ data = json.loads(resp.read().decode())
1124
+ latest = data["info"]["version"]
1125
+ except (URLError, json.JSONDecodeError, KeyError) as e:
1126
+ click.echo(f"✗ Could not check for updates: {e}", err=True)
1127
+ return
1128
+
1129
+ # Compare versions
1130
+ def parse_version(v):
1131
+ return tuple(int(x) for x in v.split("."))
1132
+
1133
+ current_v = parse_version(current)
1134
+ latest_v = parse_version(latest)
1135
+
1136
+ if latest_v > current_v:
1137
+ click.echo(f"✓ New version available: {latest}")
1138
+
1139
+ if check:
1140
+ click.echo(f"\nUpdate with: pip install --upgrade ragtime-cli")
1141
+ return
1142
+
1143
+ if click.confirm(f"\nInstall {latest}?", default=True):
1144
+ result = subprocess.run(
1145
+ [sys.executable, "-m", "pip", "install", "--upgrade", "ragtime-cli"],
1146
+ capture_output=False,
1147
+ )
1148
+ if result.returncode == 0:
1149
+ click.echo(f"\n✓ Updated to {latest}")
1150
+ click.echo(" Restart your shell to use the new version")
1151
+ else:
1152
+ click.echo(f"\n✗ Update failed", err=True)
1153
+ elif latest_v < current_v:
1154
+ click.echo(f"✓ You're ahead of PyPI ({current} > {latest})")
1155
+ else:
1156
+ click.echo(f"✓ You're on the latest version ({current})")
1157
+
1158
+
1108
1159
  if __name__ == "__main__":
1109
1160
  main()