termux-vision 1.1.0 → 1.1.2

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.
Files changed (3) hide show
  1. package/README.md +71 -75
  2. package/README.pypi.md +8 -3
  3. package/package.json +58 -58
package/README.md CHANGED
@@ -1,75 +1,71 @@
1
- # Termux-Vision
2
-
3
- [![PyPI](https://img.shields.io/pypi/v/termux-vision.svg?style=flat-square&color=0369a1)](https://pypi.org/project/termux-vision/)
4
- [![Python](https://img.shields.io/pypi/pyversions/termux-vision.svg?style=flat-square)](https://pypi.org/project/termux-vision/)
5
- [![npm](https://img.shields.io/npm/v/termux-vision.svg?style=flat-square&color=b91c1c)](https://www.npmjs.com/package/termux-vision)
6
- [![npm downloads](https://img.shields.io/npm/dm/termux-vision.svg?style=flat-square&color=b91c1c)](https://www.npmjs.com/package/termux-vision)
7
- [![License](https://img.shields.io/badge/License-Apache_2.0-004499.svg?style=flat-square)](https://github.com/uno-km/termux-vision)
8
-
9
- > **안드로이드 Termux 위한 제로 디펜던시 온디바이스 컴퓨터 비전 & VLM 멀티모달 추론 엔진**
10
- > *Zero-Dependency On-Device Computer Vision & Multimodal VLM Inference Engine for Android Termux*
11
-
12
- ---
13
-
14
- ## Architecture & Overview
15
-
16
- - **초고속 C/C++ CPU 비전 커널**: 8-방향 2차원 BFS Hysteresis Canny 에지 검출, Sobel 3x3, 적분 영상 필터링을 스레드 로컬 0-Allocation 스크래치 버퍼로 1ms 내에 완료.
17
- - **AMEVA Vulkan Runtime 완전 통합**: 기기 드라이버 및 칩셋 버그(Quirks)를 자동 패치하고 `--device auto -ngl 99`로 모바일 GPU 가속 완전 위임.
18
- - **스마트 4단계 해상도 프리셋**: `fast` (384px), `optimal` (768px), `high` (1280px), `original`로 모바일 메모리 한계 내에서 VLM 추론 최적화.
19
- - **듀얼 엔진 지원**: Python (`pip`) 및 Node.js (`npm`) 양대 언어에서 100% 동일한 비전 파이프라인 제공.
20
-
21
- ---
22
-
23
- ## Installation & Quickstart
24
-
25
- ### One-Touch Installer (Recommended)
26
- ```bash
27
- curl -sL https://raw.githubusercontent.com/uno-km/termux-vision/main/install.sh | bash
28
- ```
29
-
30
- ### Python (PyPI)
31
- ```bash
32
- pip install termux-vision && termux-llama install
33
- ```
34
- ```python
35
- import termux_vision as tv
36
-
37
- # 1. Classical CV Filters (Sub-millisecond C/C++ Engine)
38
- img = tv.io.load_image("photo.jpg")
39
- edges = tv.cv.canny(tv.transforms.to_grayscale(img), 40, 120)
40
-
41
- # 2. On-Device VLM Multimodal Inference
42
- with tv.vlm.load("smolvlm-500m-q4", quality="optimal") as engine:
43
- res = engine.describe("photo.jpg", prompt="Describe this scene in detail.")
44
- print(f"[{res.metrics.backend.upper()}] {res.text}")
45
- ```
46
-
47
- ### Node.js / TypeScript (npm)
48
- ```bash
49
- npm install -g termux-vision && pkg install termux-llamacpp
50
- ```
51
- ```typescript
52
- import tv from 'termux-vision';
53
-
54
- // 1. Diagnostics & Hardware Probe
55
- const doc = tv.doctor(true);
56
- console.log(`Vulkan GPU: ${doc.vulkan.status} | Cores: ${doc.hardware.cpuCores}`);
57
-
58
- // 2. Multimodal VLM Inference
59
- const engine = await tv.load({ modelId: 'smolvlm-500m-q4' });
60
- const result = await engine.describe('photo.jpg', { prompt: 'What is inside this image?' });
61
- console.log(`[${result.metrics.backend.toUpperCase()}] ${result.text}`);
62
- engine.close();
63
- ```
64
-
65
- ---
66
-
67
- ## Official Documentation & Benchmarks
68
- - [Official Architecture & API Reference](https://uno-km.vercel.app/lib/vision/)
69
- - [Ecosystem Metrics & Registry Stats](https://uno-km.vercel.app/foundation/metrics)
70
- - [AMEVA Open-Source Foundation Portal](https://uno-km.vercel.app/foundation/index.html)
71
-
72
- ---
73
-
74
- ## License
75
- Licensed under the Apache-2.0 License. Copyright (c) 2026 Eunho Kim ([@uno-km](https://github.com/uno-km)).
1
+ # Termux-Vision
2
+
3
+ [![PyPI](https://img.shields.io/pypi/v/termux-vision.svg?style=flat-square&color=0369a1)](https://pypi.org/project/termux-vision/)
4
+ [![Python](https://img.shields.io/pypi/pyversions/termux-vision.svg?style=flat-square)](https://pypi.org/project/termux-vision/)
5
+ [![npm](https://img.shields.io/npm/v/termux-vision.svg?style=flat-square&color=b91c1c)](https://www.npmjs.com/package/termux-vision)
6
+ [![npm downloads](https://img.shields.io/npm/dm/termux-vision.svg?style=flat-square&color=b91c1c)](https://www.npmjs.com/package/termux-vision)
7
+ [![License](https://img.shields.io/badge/License-Apache_2.0-004499.svg?style=flat-square)](https://github.com/uno-km/termux-vision)
8
+
9
+ > **디바이스 리소스를 활용한 안드로이드 Termux 제로 디펜던시 온디바이스 컴퓨터 비전 & VLM 멀티모달 추론 엔진**
10
+ > *Zero-Dependency On-Device Computer Vision & Multimodal VLM Inference Engine Utilizing Device Resources for Android Termux*
11
+
12
+ ---
13
+
14
+ ## 📌 Architecture & Overview
15
+
16
+ 순수 ARM64 NEON 커널과 4단계 화질 프리셋(fast, optimal, high, original), 디바이스 리소스 최적화 연산을 결합하여 메모리 격리 환경에서 엣지 검출과 VLM 멀티모달 시각 추론을 실현합니다.
17
+
18
+ Eliminates heavy C++ dependencies by integrating SIMD NEON spatial image transforms with on-device VLM (Qwen2-VL, SmolVLM) multi-tier resolution presets (fast, optimal, high, original) utilizing device resources under strict memory isolation.
19
+
20
+ ---
21
+
22
+ ## 🚀 Installation & Quickstart
23
+
24
+ ### Python (PyPI)
25
+ ```bash
26
+ pip install termux-vision
27
+ ```
28
+ ```python
29
+ import termux_vision as tv
30
+
31
+ # 1. Zero-Dependency Spatial Filtering (0.01s ultra-fast)
32
+ img = tv.io.load_image("photo.jpg")
33
+ edges = tv.cv.canny(tv.transforms.to_grayscale(img), 40, 120)
34
+
35
+ # 2. On-Device VLM Multimodal Inference with 4-Tier Quality Presets
36
+ with tv.vlm.load("qwen2-vl-2b-q4", quality="optimal") as engine:
37
+ res = engine.describe("photo.jpg", prompt="Describe this scene in detail.", quality="optimal")
38
+ print(f"Generated ({res.metrics.tokens_per_second:.1f} t/s): {res.text}")
39
+
40
+ ```
41
+
42
+ ### Node.js / TypeScript (npm)
43
+ ```bash
44
+ npm install termux-vision
45
+ ```
46
+ ```typescript
47
+ import tv from 'termux-vision';
48
+
49
+ // 1. Diagnostics & Hardware Probe
50
+ const doc = tv.doctor(true);
51
+ console.log(`Vulkan GPU: ${doc.vulkan.status} | RAM: ${doc.hardware.availableRamMb} MB`);
52
+
53
+ // 2. Multimodal VLM Inference with Quality Preset
54
+ const engine = await tv.load({ modelId: 'qwen2-vl-2b-q4', contextLimit: 4096 });
55
+ const result = await engine.describe('photo.jpg', { quality: 'optimal', maxTokens: 300 });
56
+ console.log(`[${result.metrics.backend.toUpperCase()}] ${result.text}`);
57
+ engine.close();
58
+
59
+ ```
60
+
61
+ ---
62
+
63
+ ## 📖 Official Documentation & Benchmarks
64
+ - [Official Architecture & API Reference](https://uno-km.vercel.app/lib/vision/)
65
+ - [Ecosystem Metrics & Registry Stats](https://uno-km.vercel.app/foundation/metrics)
66
+ - [AMEVA Open-Source Foundation Portal](https://uno-km.vercel.app/foundation/index.html)
67
+
68
+ ---
69
+
70
+ ## 📄 License
71
+ Licensed under the Apache-2.0 License. Copyright (c) 2026 Eunho Kim ([@uno-km](https://github.com/uno-km)).
package/README.pypi.md CHANGED
@@ -4,8 +4,8 @@
4
4
  [![Python](https://img.shields.io/pypi/pyversions/termux-vision.svg?style=flat-square)](https://pypi.org/project/termux-vision/)
5
5
  [![License](https://img.shields.io/badge/License-Apache_2.0-004499.svg?style=flat-square)](https://github.com/uno-km/termux-vision)
6
6
 
7
- > **안드로이드 Termux 위한 제로 디펜던시 온디바이스 컴퓨터 비전 & VLM 멀티모달 추론 엔진**
8
- > *Zero-Dependency On-Device Computer Vision & Multimodal VLM Inference Engine for Android Termux*
7
+ > **디바이스 리소스를 활용한 안드로이드 Termux 제로 디펜던시 온디바이스 컴퓨터 비전 & VLM 멀티모달 추론 엔진**
8
+ > *Zero-Dependency On-Device Computer Vision & Multimodal VLM Inference Engine Utilizing Device Resources for Android Termux*
9
9
 
10
10
  ## Installation
11
11
 
@@ -17,15 +17,20 @@ pip install termux-vision
17
17
 
18
18
  ```python
19
19
  import termux_vision as tv
20
+
21
+ # 1. Zero-Dependency Spatial Filtering (0.01s ultra-fast)
20
22
  img = tv.io.load_image("photo.jpg")
21
23
  edges = tv.cv.canny(tv.transforms.to_grayscale(img), 40, 120)
24
+
25
+ # 2. On-Device VLM Multimodal Inference with 4-Tier Quality Presets
22
26
  with tv.vlm.load("qwen2-vl-2b-q4", quality="optimal") as engine:
23
27
  res = engine.describe("photo.jpg", prompt="Describe this scene in detail.", quality="optimal")
24
28
  print(f"Generated ({res.metrics.tokens_per_second:.1f} t/s): {res.text}")
29
+
25
30
  ```
26
31
 
27
32
  ## Description
28
- Eliminates heavy C++ dependencies by integrating SIMD NEON spatial image transforms with on-device VLM (Qwen2-VL, SmolVLM) multi-tier resolution presets (fast, optimal, high, original) and Vulkan GPU acceleration under strict memory isolation.
33
+ Eliminates heavy C++ dependencies by integrating SIMD NEON spatial image transforms with on-device VLM (Qwen2-VL, SmolVLM) multi-tier resolution presets (fast, optimal, high, original) utilizing device resources under strict memory isolation.
29
34
 
30
35
  ## Documentation
31
36
  - [Official Documentation & API Reference](https://uno-km.vercel.app/lib/vision/)
package/package.json CHANGED
@@ -1,58 +1,58 @@
1
- {
2
- "name": "termux-vision",
3
- "version": "1.1.0",
4
- "description": "Native On-Device Computer Vision & VLM Multimodal Inference Framework for Android Termux & ARM64 (Dual-Engine Python & Node.js/TypeScript)",
5
- "main": "index.js",
6
- "types": "index.d.ts",
7
- "bin": {
8
- "termux-vision": "bin/cli.js",
9
- "tv": "bin/cli.js"
10
- },
11
- "files": [
12
- "index.js",
13
- "index.d.ts",
14
- "bin",
15
- "lib",
16
- "README.md",
17
- "LICENSE",
18
- "NOTICE"
19
- ],
20
- "scripts": {
21
- "test": "node tests/node_smoke.test.js"
22
- },
23
- "keywords": [
24
- "termux",
25
- "vision",
26
- "vlm",
27
- "multimodal",
28
- "computer-vision",
29
- "smolvlm",
30
- "qwen2-vl",
31
- "edge-ai",
32
- "on-device-ai",
33
- "vulkan",
34
- "arm64",
35
- "android",
36
- "llama-cli",
37
- "gguf",
38
- "canny",
39
- "haar-cascade",
40
- "open-source"
41
- ],
42
- "author": "uno-km (AMEVA Foundation) <dev@amevafoundation.org>",
43
- "license": "Apache-2.0",
44
- "homepage": "https://uno-km.vercel.app/lib/vision/",
45
- "repository": {
46
- "type": "git",
47
- "url": "git+https://github.com/uno-km/termux-vision.git"
48
- },
49
- "bugs": {
50
- "url": "https://github.com/uno-km/termux-vision/issues"
51
- },
52
- "dependencies": {
53
- "ameva-vulkan-runtime": ">=1.0.0"
54
- },
55
- "engines": {
56
- "node": ">=16.0.0"
57
- }
58
- }
1
+ {
2
+ "name": "termux-vision",
3
+ "version": "1.1.2",
4
+ "description": "On-device computer vision & VLM multimodal inference framework utilizing device resources for Android Termux & ARM64",
5
+ "main": "index.js",
6
+ "types": "index.d.ts",
7
+ "bin": {
8
+ "termux-vision": "bin/cli.js",
9
+ "tv": "bin/cli.js"
10
+ },
11
+ "files": [
12
+ "index.js",
13
+ "index.d.ts",
14
+ "bin",
15
+ "lib",
16
+ "README.md",
17
+ "LICENSE",
18
+ "NOTICE"
19
+ ],
20
+ "scripts": {
21
+ "test": "node tests/node_smoke.test.js"
22
+ },
23
+ "keywords": [
24
+ "termux",
25
+ "vision",
26
+ "vlm",
27
+ "multimodal",
28
+ "computer-vision",
29
+ "smolvlm",
30
+ "qwen2-vl",
31
+ "edge-ai",
32
+ "on-device-ai",
33
+ "vulkan",
34
+ "arm64",
35
+ "android",
36
+ "llama-cli",
37
+ "gguf",
38
+ "canny",
39
+ "haar-cascade",
40
+ "open-source"
41
+ ],
42
+ "author": "uno-km (AMEVA Foundation) <dev@amevafoundation.org>",
43
+ "license": "Apache-2.0",
44
+ "homepage": "https://uno-km.vercel.app/lib/vision/",
45
+ "repository": {
46
+ "type": "git",
47
+ "url": "git+https://github.com/uno-km/termux-vision.git"
48
+ },
49
+ "bugs": {
50
+ "url": "https://github.com/uno-km/termux-vision/issues"
51
+ },
52
+ "dependencies": {
53
+ "ameva-vulkan-runtime": ">=1.0.0"
54
+ },
55
+ "engines": {
56
+ "node": ">=16.0.0"
57
+ }
58
+ }