scios-cli 0.1.6__tar.gz → 0.1.7__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: scios-cli
3
- Version: 0.1.6
3
+ Version: 0.1.7
4
4
  Summary: Scios Local Agent Workspace Sync CLI — bridge your terminal to the Scios Cloud backend
5
5
  Author: Scios Team
6
6
  License: Apache-2.0
@@ -51,10 +51,15 @@ Scios CLI requires **Python 3.9+** and can be installed in one command:
51
51
  pip install scios-cli
52
52
  ```
53
53
 
54
- > **Note:** If `scios-init` / `scios-sync` aren't found after install, use the `python3 -m` form instead:
54
+ > **Note:** If `scios-init` / `scios-sync` aren't found after install (common on Windows where Python's `Scripts` folder isn't in PATH), use the module form instead:
55
55
  > ```bash
56
+ > # macOS / Linux
56
57
  > python3 -m scios_cli init # same as scios-init
57
58
  > python3 -m scios_cli sync # same as scios-sync
59
+ >
60
+ > # Windows
61
+ > python -m scios_cli init
62
+ > python -m scios_cli sync
58
63
  > ```
59
64
 
60
65
  ### Install Deep Link Handler (Critical) 🔗
@@ -21,10 +21,15 @@ Scios CLI requires **Python 3.9+** and can be installed in one command:
21
21
  pip install scios-cli
22
22
  ```
23
23
 
24
- > **Note:** If `scios-init` / `scios-sync` aren't found after install, use the `python3 -m` form instead:
24
+ > **Note:** If `scios-init` / `scios-sync` aren't found after install (common on Windows where Python's `Scripts` folder isn't in PATH), use the module form instead:
25
25
  > ```bash
26
+ > # macOS / Linux
26
27
  > python3 -m scios_cli init # same as scios-init
27
28
  > python3 -m scios_cli sync # same as scios-sync
29
+ >
30
+ > # Windows
31
+ > python -m scios_cli init
32
+ > python -m scios_cli sync
28
33
  > ```
29
34
 
30
35
  ### Install Deep Link Handler (Critical) 🔗
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "scios-cli"
7
- version = "0.1.6"
7
+ version = "0.1.7"
8
8
  description = "Scios Local Agent Workspace Sync CLI — bridge your terminal to the Scios Cloud backend"
9
9
  readme = "README.md"
10
10
  license = {text = "Apache-2.0"}
@@ -160,14 +160,14 @@ if __name__ == "__main__":
160
160
  def _find_scios_sync() -> str:
161
161
  """Find the scios-sync executable path."""
162
162
  import sys
163
+ import sysconfig
163
164
  from pathlib import Path
164
165
 
165
166
  is_windows = sys.platform == "win32"
166
167
  exe_name = "scios-sync.exe" if is_windows else "scios-sync"
167
168
 
168
- # Check next to the current python executable (works for venvs and global installs)
169
+ # 1. Check next to the current python executable (works for venvs and global installs)
169
170
  python_dir = Path(sys.executable).parent
170
- # On Windows, pip installs scripts into a Scripts/ subdirectory
171
171
  if is_windows:
172
172
  scripts_dir = python_dir / "Scripts"
173
173
  sibling_sync = scripts_dir / exe_name
@@ -177,28 +177,42 @@ def _find_scios_sync() -> str:
177
177
  if sibling_sync.exists() and (is_windows or os.access(sibling_sync, os.X_OK)):
178
178
  return str(sibling_sync)
179
179
 
180
- # Check common locations
180
+ # 2. Check the user scripts directory (pip install --user puts scripts here)
181
+ try:
182
+ user_scripts = sysconfig.get_path("scripts", scheme="nt_user" if is_windows else "posix_user")
183
+ if user_scripts:
184
+ user_sync = Path(user_scripts) / exe_name
185
+ if user_sync.exists():
186
+ return str(user_sync)
187
+ except Exception:
188
+ pass
189
+
190
+ # 3. Check common locations with dynamic version detection
191
+ vi = sys.version_info
192
+ versions = [f"{vi.major}{vi.minor}"] # Current version first
193
+ for minor in range(15, 8, -1): # 3.15 down to 3.9
194
+ v = f"3{minor}"
195
+ if v not in versions:
196
+ versions.append(v)
197
+
181
198
  if is_windows:
182
- # Common Windows pip install locations
183
- candidates = [
184
- str(Path.home() / "AppData" / "Local" / "Programs" / "Python" / f"Python{v}" / "Scripts" / exe_name)
185
- for v in ["313", "312", "311", "310", "39"]
186
- ] + [
187
- str(Path.home() / "AppData" / "Roaming" / "Python" / f"Python{v}" / "Scripts" / exe_name)
188
- for v in ["313", "312", "311", "310", "39"]
189
- ]
199
+ candidates = []
200
+ for v in versions:
201
+ candidates.append(str(Path.home() / "AppData" / "Roaming" / "Python" / f"Python{v}" / "Scripts" / exe_name))
202
+ candidates.append(str(Path.home() / "AppData" / "Local" / "Programs" / "Python" / f"Python{v}" / "Scripts" / exe_name))
190
203
  else:
191
204
  candidates = [
192
- "/Library/Frameworks/Python.framework/Versions/3.12/bin/scios-sync",
193
- "/Library/Frameworks/Python.framework/Versions/3.13/bin/scios-sync",
194
205
  "/usr/local/bin/scios-sync",
195
206
  str(Path.home() / ".local" / "bin" / "scios-sync"),
196
207
  ]
208
+ for v in versions:
209
+ candidates.append(f"/Library/Frameworks/Python.framework/Versions/3.{v[1:]}/bin/scios-sync")
210
+
197
211
  for candidate in candidates:
198
212
  if os.path.isfile(candidate) and (is_windows or os.access(candidate, os.X_OK)):
199
213
  return candidate
200
214
 
201
- # Try `which` (Unix) or `where` (Windows)
215
+ # 4. Try `which` (Unix) or `where` (Windows)
202
216
  try:
203
217
  find_cmd = "where" if is_windows else "which"
204
218
  result = subprocess.run(
@@ -210,7 +224,7 @@ def _find_scios_sync() -> str:
210
224
  except Exception:
211
225
  pass
212
226
 
213
- # Fallback — will be searched in PATH at runtime
227
+ # 5. Fallback — will be searched in PATH at runtime
214
228
  return "scios-sync"
215
229
 
216
230
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scios-cli
3
- Version: 0.1.6
3
+ Version: 0.1.7
4
4
  Summary: Scios Local Agent Workspace Sync CLI — bridge your terminal to the Scios Cloud backend
5
5
  Author: Scios Team
6
6
  License: Apache-2.0
@@ -51,10 +51,15 @@ Scios CLI requires **Python 3.9+** and can be installed in one command:
51
51
  pip install scios-cli
52
52
  ```
53
53
 
54
- > **Note:** If `scios-init` / `scios-sync` aren't found after install, use the `python3 -m` form instead:
54
+ > **Note:** If `scios-init` / `scios-sync` aren't found after install (common on Windows where Python's `Scripts` folder isn't in PATH), use the module form instead:
55
55
  > ```bash
56
+ > # macOS / Linux
56
57
  > python3 -m scios_cli init # same as scios-init
57
58
  > python3 -m scios_cli sync # same as scios-sync
59
+ >
60
+ > # Windows
61
+ > python -m scios_cli init
62
+ > python -m scios_cli sync
58
63
  > ```
59
64
 
60
65
  ### Install Deep Link Handler (Critical) 🔗
File without changes
File without changes
File without changes
File without changes