vssh 4.1.0__tar.gz → 4.1.1__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: vssh
3
- Version: 4.1.0
3
+ Version: 4.1.1
4
4
  Summary: vssh - installs Go binary
5
5
  Author-email: MeshPOP <mpop@mpop.dev>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "vssh"
7
- version = "4.1.0"
7
+ version = "4.1.1"
8
8
  description = "vssh - installs Go binary"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -28,3 +28,6 @@ Homepage = "https://github.com/meshpop/vssh"
28
28
  [tool.setuptools.packages.find]
29
29
  where = ["."]
30
30
  include = ["vssh*"]
31
+
32
+ [tool.setuptools.package-data]
33
+ vssh = ["bin/vssh-*"]
@@ -7,28 +7,32 @@ import urllib.request
7
7
  import stat
8
8
  from pathlib import Path
9
9
 
10
- __version__ = "4.1.0"
10
+ __version__ = "4.1.1"
11
11
 
12
- def get_binary_path():
13
- local_bin = Path.home() / ".local" / "bin"
14
- if local_bin.exists():
15
- return local_bin / "vssh"
16
- return Path(__file__).parent / "bin" / "vssh"
17
-
18
- def get_download_url():
12
+ def get_platform_name():
19
13
  system = platform.system().lower()
20
14
  machine = platform.machine().lower()
21
15
 
22
16
  os_name = "darwin" if system == "darwin" else "linux"
23
17
  arch = "arm64" if machine in ("arm64", "aarch64") else "amd64"
18
+ return f"vssh-{os_name}-{arch}"
19
+
20
+ def get_embedded_binary_path():
21
+ return Path(__file__).parent / "bin" / get_platform_name()
24
22
 
25
- return f"https://github.com/meshpop/vssh/releases/latest/download/vssh-{os_name}-{arch}"
23
+ def get_download_url():
24
+ return f"https://github.com/meshpop/vssh/releases/latest/download/{get_platform_name()}"
26
25
 
27
26
  def ensure_binary():
28
- binary_path = get_binary_path()
27
+ embedded = get_embedded_binary_path()
28
+ if embedded.exists():
29
+ embedded.chmod(embedded.stat().st_mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH)
30
+ return embedded
31
+
32
+ local_bin = Path.home() / ".local" / "bin"
33
+ binary_path = local_bin / "vssh"
29
34
  if binary_path.exists():
30
35
  return binary_path
31
-
32
36
  binary_path.parent.mkdir(parents=True, exist_ok=True)
33
37
  url = get_download_url()
34
38
  print(f"Downloading vssh from {url}...")
Binary file
Binary file
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vssh
3
- Version: 4.1.0
3
+ Version: 4.1.1
4
4
  Summary: vssh - installs Go binary
5
5
  Author-email: MeshPOP <mpop@mpop.dev>
6
6
  License: MIT
@@ -1,11 +1,13 @@
1
1
  LICENSE
2
2
  README.md
3
3
  pyproject.toml
4
- vssh.py
5
- vssh_mcp_server.py
6
4
  vssh/__init__.py
7
5
  vssh.egg-info/PKG-INFO
8
6
  vssh.egg-info/SOURCES.txt
9
7
  vssh.egg-info/dependency_links.txt
10
8
  vssh.egg-info/entry_points.txt
11
- vssh.egg-info/top_level.txt
9
+ vssh.egg-info/top_level.txt
10
+ vssh/bin/vssh-darwin-amd64
11
+ vssh/bin/vssh-darwin-arm64
12
+ vssh/bin/vssh-linux-amd64
13
+ vssh/bin/vssh-linux-arm64