|
5 | 5 | import sys |
6 | 6 | from pathlib import Path |
7 | 7 |
|
8 | | -POSTALKIT_VERSION = "v1.0.6" |
| 8 | +POSTALKIT_VERSION = "v1.0.7" |
9 | 9 | REPO_URL = f"https://github.com/jayeshmepani/libpostal-ffi-python/releases/download/{POSTALKIT_VERSION}" |
10 | 10 |
|
11 | 11 | TARGETS = { |
12 | | - 'linux-x64': 'libpostal-linux-x64.tar.gz', |
13 | | - 'linux-arm64': 'libpostal-linux-arm64.tar.gz', |
14 | | - 'macos-x64': 'libpostal-macos-x64.tar.gz', |
15 | | - 'macos-arm64': 'libpostal-macos-arm64.tar.gz', |
16 | | - 'windows-x64': 'libpostal-windows-x64.zip', |
| 12 | + "linux-x64": "libpostal-linux-x64.tar.gz", |
| 13 | + "linux-arm64": "libpostal-linux-arm64.tar.gz", |
| 14 | + "macos-x64": "libpostal-macos-x64.tar.gz", |
| 15 | + "macos-arm64": "libpostal-macos-arm64.tar.gz", |
| 16 | + "windows-x64": "libpostal-windows-x64.zip", |
17 | 17 | } |
18 | 18 |
|
| 19 | + |
19 | 20 | def fetch_prebuilt(): |
20 | 21 | libs_dir = Path(__file__).parent.parent / "postalkit" / "libs" |
21 | | - |
| 22 | + |
22 | 23 | for target, filename in TARGETS.items(): |
23 | 24 | target_dir = libs_dir / target |
24 | 25 | target_dir.mkdir(parents=True, exist_ok=True) |
25 | | - |
| 26 | + |
26 | 27 | url = f"{REPO_URL}/{filename}" |
27 | 28 | dest = target_dir / filename |
28 | | - |
| 29 | + |
29 | 30 | print(f"Downloading {url}...") |
30 | 31 | try: |
31 | 32 | urllib.request.urlretrieve(url, dest) |
32 | 33 | except Exception as e: |
33 | 34 | print(f"Failed to download {url}: {e}") |
34 | 35 | continue |
35 | | - |
| 36 | + |
36 | 37 | print(f"Extracting {dest}...") |
37 | | - if filename.endswith('.zip'): |
38 | | - with zipfile.ZipFile(dest, 'r') as zip_ref: |
| 38 | + if filename.endswith(".zip"): |
| 39 | + with zipfile.ZipFile(dest, "r") as zip_ref: |
39 | 40 | zip_ref.extractall(target_dir) |
40 | 41 | else: |
41 | 42 | with tarfile.open(dest, "r:gz") as tar: |
42 | 43 | tar.extractall(path=target_dir) |
43 | | - |
| 44 | + |
44 | 45 | os.remove(dest) |
45 | 46 | print(f"Successfully setup {target}") |
46 | 47 |
|
| 48 | + |
47 | 49 | if __name__ == "__main__": |
48 | 50 | fetch_prebuilt() |
0 commit comments