drift-ml 0.1.7__py3-none-any.whl → 0.1.9__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.
drift/engine_launcher.py CHANGED
@@ -61,7 +61,12 @@ def _engine_running() -> bool:
61
61
 
62
62
 
63
63
  def _get_asset_download_url(asset_name: str) -> str:
64
- """Resolve GitHub release asset to download URL."""
64
+ """Resolve GitHub release asset to download URL. Prefer direct URL (no API)."""
65
+ return f"https://github.com/{GITHUB_REPO}/releases/download/{ENGINE_TAG}/{asset_name}"
66
+
67
+
68
+ def _get_asset_download_url_via_api(asset_name: str) -> str:
69
+ """Fallback: get URL via GitHub API (for private repos)."""
65
70
  token = os.environ.get("DRIFT_GITHUB_TOKEN") or os.environ.get("GITHUB_TOKEN")
66
71
  headers = {
67
72
  "User-Agent": "Drift-Engine-Launcher/1.0",
@@ -79,14 +84,9 @@ def _get_asset_download_url(asset_name: str) -> str:
79
84
  data = r.json()
80
85
  for a in data.get("assets", []):
81
86
  if a.get("name") == asset_name:
82
- # Prefer browser_download_url for public repos (no auth needed)
83
- url = a.get("browser_download_url")
87
+ url = a.get("browser_download_url") or a.get("url")
84
88
  if url:
85
89
  return url
86
- # API URL requires Accept: application/octet-stream
87
- api_url = a.get("url")
88
- if api_url:
89
- return api_url
90
90
  raise RuntimeError(f"Asset {asset_name} not found in release {ENGINE_TAG}")
91
91
 
92
92
 
@@ -135,8 +135,16 @@ def ensure_engine() -> bool:
135
135
  url = _get_asset_download_url(asset)
136
136
  _download_file(url, bin_path)
137
137
  except Exception as e:
138
- print(f"drift: Download failed: {e}", file=sys.stderr)
139
- return False
138
+ if "404" in str(e) or "Not Found" in str(e):
139
+ try:
140
+ url = _get_asset_download_url_via_api(asset)
141
+ _download_file(url, bin_path)
142
+ except Exception as e2:
143
+ print(f"drift: Download failed: {e2}", file=sys.stderr)
144
+ return False
145
+ else:
146
+ print(f"drift: Download failed: {e}", file=sys.stderr)
147
+ return False
140
148
  if platform.system() != "Windows":
141
149
  bin_path.chmod(0o755)
142
150
  if platform.system() == "Darwin":
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: drift-ml
3
- Version: 0.1.7
3
+ Version: 0.1.9
4
4
  Summary: Terminal-first AutoML CLI - chat-based ML engineer
5
5
  Requires-Python: >=3.10
6
6
  Requires-Dist: requests>=2.28.0
@@ -1,6 +1,6 @@
1
1
  drift/__init__.py,sha256=X0NUP5ZAZSz-rBFfjvmmS4IYWP2_CZtu187mqwpWwqk,127
2
2
  drift/__main__.py,sha256=RnBMIqpDEMHknOKn-s5Q2MTUWm_UsKSkYuOArzShQeo,693
3
- drift/engine_launcher.py,sha256=LoOoLR_V_EI7vmJOAyMdeHLDphCU9a4nTyfzJF1UGC8,5462
3
+ drift/engine_launcher.py,sha256=gz9PQ9LwDdedwXDdZxlHFzIdYqhdgUkDNzesd3Dq7XM,5862
4
4
  drift/cli/__init__.py,sha256=OQt7M06e98e_L_60Qz-HsmSqGXKWdH53SvgETJ_BZZ0,172
5
5
  drift/cli/client.py,sha256=hGxz-J8fC_gGV9BZnpCBwkQZg4Q0_s9-Agk2PuXQ5MQ,5527
6
6
  drift/cli/repl.py,sha256=hRnx4nfP_StnXDbdRZXnnjA8aNvrdQSV-uTNsuaaO60,8262
@@ -9,8 +9,8 @@ drift/llm_adapters/__init__.py,sha256=y1UhZWlC8Ik_OKfLcOp0JZP-FKR3MBBCemWwsL6Tnk
9
9
  drift/llm_adapters/base.py,sha256=KlZUPYpvCI8pafklBWel0GHHLNtVKVwSHA92MZt3VsI,1331
10
10
  drift/llm_adapters/gemini_cli.py,sha256=Z61wY3yFiZqPrQrpJAQrBtMbBkr2qLWBkni-A4p9lZo,2163
11
11
  drift/llm_adapters/local_llm.py,sha256=Z6j6z1CXk2LMeQ5ZnY4o38PiYkHYmcIkgJGkHdU50M8,2279
12
- drift_ml-0.1.7.dist-info/METADATA,sha256=jKJYNTlBG2MSvcqA9K8eT0yzE0I74KESeEBqoA51Usw,168
13
- drift_ml-0.1.7.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
14
- drift_ml-0.1.7.dist-info/entry_points.txt,sha256=aCY7U9M8nhYj_tIfTXJmYkVmXY3ZoxF0tebDZzYswv8,46
15
- drift_ml-0.1.7.dist-info/top_level.txt,sha256=3u2KGqsciGZQ2uCoBivm55t3e8er8S4xnqkgdQ_8oeM,6
16
- drift_ml-0.1.7.dist-info/RECORD,,
12
+ drift_ml-0.1.9.dist-info/METADATA,sha256=tds6F8gmV3g7qSqsaib6kn8KgdQz7nJ7iBTOWE7E7Gk,168
13
+ drift_ml-0.1.9.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
14
+ drift_ml-0.1.9.dist-info/entry_points.txt,sha256=aCY7U9M8nhYj_tIfTXJmYkVmXY3ZoxF0tebDZzYswv8,46
15
+ drift_ml-0.1.9.dist-info/top_level.txt,sha256=3u2KGqsciGZQ2uCoBivm55t3e8er8S4xnqkgdQ_8oeM,6
16
+ drift_ml-0.1.9.dist-info/RECORD,,