-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfxnc.py
More file actions
49 lines (44 loc) · 1.45 KB
/
fxnc.py
File metadata and controls
49 lines (44 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#
# Muna
# Copyright © 2026 NatML Inc. All Rights Reserved.
#
from argparse import ArgumentParser
from pathlib import Path
from requests import get
from shutil import unpack_archive
parser = ArgumentParser()
parser.add_argument("--version", type=str, required=True)
def _download_fxnc(url: str, path: Path):
path.parent.mkdir(parents=True, exist_ok=True)
response = get(url)
response.raise_for_status()
with open(path, "wb") as f:
f.write(response.content)
print(f"Wrote {url} to path: {path}")
if path.suffix == ".zip":
unpack_archive(path, extract_dir=path.parent)
path.unlink()
print(f"Extracted {path}")
def main():
args = parser.parse_args()
version = args.version
LIBS = [
# Android
{
"url": f"https://cdn.fxn.ai/fxnc/{version}/libFunction-android-armeabi-v7a.so",
"path": Path("android") / "src" / "main" / "jniLibs" / "armeabi-v7a" / "libFunction.so"
},
{
"url": f"https://cdn.fxn.ai/fxnc/{version}/libFunction-android-arm64-v8a.so",
"path": Path("android") / "src" / "main" / "jniLibs" / "arm64-v8a" / "libFunction.so"
},
# iOS
{
"url": f"https://cdn.fxn.ai/fxnc/{version}/Function.xcframework.zip",
"path": Path("ios") / "Function.xcframework.zip"
},
]
for lib in LIBS:
_download_fxnc(lib["url"], lib["path"])
if __name__ == "__main__":
main()