termux-tts 1.4.1 → 1.4.3
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.
- package/.github/workflows/release.yml +98 -82
- package/CHANGELOG.md +29 -8
- package/README.md +384 -57
- package/README.pypi.md +413 -26
- package/package.json +29 -4
- package/pyproject.toml +37 -1
- package/setup.py +1 -1
- package/termux_tts/__init__.py +63 -63
- package/termux_tts/installer.py +66 -6
|
@@ -1,82 +1,98 @@
|
|
|
1
|
-
name: Release
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
|
|
6
|
-
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- name:
|
|
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
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
- name:
|
|
65
|
-
uses: actions/
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
- master
|
|
8
|
+
tags:
|
|
9
|
+
- 'v*'
|
|
10
|
+
workflow_dispatch:
|
|
11
|
+
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
publish-pypi:
|
|
17
|
+
name: Publish to PyPI
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
steps:
|
|
20
|
+
- name: Checkout repository
|
|
21
|
+
uses: actions/checkout@v4
|
|
22
|
+
|
|
23
|
+
- name: Check if PyPI project exists
|
|
24
|
+
id: check-py
|
|
25
|
+
run: |
|
|
26
|
+
if [ -f "pyproject.toml" ] || [ -f "setup.py" ]; then
|
|
27
|
+
echo "has_python=true" >> $GITHUB_OUTPUT
|
|
28
|
+
else
|
|
29
|
+
echo "has_python=false" >> $GITHUB_OUTPUT
|
|
30
|
+
fi
|
|
31
|
+
|
|
32
|
+
- name: Set up Python
|
|
33
|
+
if: steps.check-py.outputs.has_python == 'true'
|
|
34
|
+
uses: actions/setup-python@v5
|
|
35
|
+
with:
|
|
36
|
+
python-version: '3.11'
|
|
37
|
+
|
|
38
|
+
- name: Install build dependencies
|
|
39
|
+
if: steps.check-py.outputs.has_python == 'true'
|
|
40
|
+
run: |
|
|
41
|
+
python -m pip install --upgrade pip
|
|
42
|
+
pip install build twine
|
|
43
|
+
|
|
44
|
+
- name: Build distributions
|
|
45
|
+
if: steps.check-py.outputs.has_python == 'true'
|
|
46
|
+
run: python -m build
|
|
47
|
+
|
|
48
|
+
- name: Verify distribution archives
|
|
49
|
+
if: steps.check-py.outputs.has_python == 'true'
|
|
50
|
+
run: twine check dist/*
|
|
51
|
+
|
|
52
|
+
- name: Publish to PyPI
|
|
53
|
+
if: steps.check-py.outputs.has_python == 'true'
|
|
54
|
+
env:
|
|
55
|
+
TWINE_USERNAME: __token__
|
|
56
|
+
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
|
57
|
+
run: |
|
|
58
|
+
twine upload --skip-existing dist/*
|
|
59
|
+
|
|
60
|
+
publish-npm:
|
|
61
|
+
name: Publish to NPM
|
|
62
|
+
runs-on: ubuntu-latest
|
|
63
|
+
steps:
|
|
64
|
+
- name: Checkout repository
|
|
65
|
+
uses: actions/checkout@v4
|
|
66
|
+
|
|
67
|
+
- name: Set up Node.js
|
|
68
|
+
uses: actions/setup-node@v4
|
|
69
|
+
with:
|
|
70
|
+
node-version: '20'
|
|
71
|
+
registry-url: 'https://registry.npmjs.org'
|
|
72
|
+
|
|
73
|
+
- name: Publish NPM package
|
|
74
|
+
env:
|
|
75
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
76
|
+
run: |
|
|
77
|
+
if [ -f "package.json" ]; then
|
|
78
|
+
PKG_NAME=$(node -p "require('./package.json').name")
|
|
79
|
+
PKG_VER=$(node -p "require('./package.json').version")
|
|
80
|
+
if [ "$(npm view ${PKG_NAME}@${PKG_VER} version 2>/dev/null)" = "${PKG_VER}" ]; then
|
|
81
|
+
echo "Version ${PKG_VER} of ${PKG_NAME} is already published on NPM. Skipping."
|
|
82
|
+
else
|
|
83
|
+
echo "Publishing ${PKG_NAME}@${PKG_VER} to NPM..."
|
|
84
|
+
npm publish --access public
|
|
85
|
+
fi
|
|
86
|
+
elif [ -f "npm/package.json" ]; then
|
|
87
|
+
cd npm
|
|
88
|
+
PKG_NAME=$(node -p "require('./package.json').name")
|
|
89
|
+
PKG_VER=$(node -p "require('./package.json').version")
|
|
90
|
+
if [ "$(npm view ${PKG_NAME}@${PKG_VER} version 2>/dev/null)" = "${PKG_VER}" ]; then
|
|
91
|
+
echo "Version ${PKG_VER} of ${PKG_NAME} is already published on NPM. Skipping."
|
|
92
|
+
else
|
|
93
|
+
echo "Publishing ${PKG_NAME}@${PKG_VER} to NPM..."
|
|
94
|
+
npm publish --access public
|
|
95
|
+
fi
|
|
96
|
+
else
|
|
97
|
+
echo "No package.json found. Skipping NPM publish."
|
|
98
|
+
fi
|
package/CHANGELOG.md
CHANGED
|
@@ -2,14 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
-
## [1.4.
|
|
6
|
-
|
|
7
|
-
###
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
## [1.4.3] - 2026-09-07
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **Multi-Tier Dynamic Candidate Resolution**: Replaced single hardcoded `v1.0.0-vulkan` URL in `installer.py` with 4-tier candidate resolution (`TERMUX_TTS_RELEASE_TAG`, `v{__version__}`, `releases/latest/download`, `uno-km/ameva-runtime` SSOT fallback, and companion fallback).
|
|
9
|
+
- **Dual-Path Installation**: Installs and links precompiled Vulkan binary `sherpa-ncnn-offline-tts` to both `~/.local/bin` and `$PREFIX/bin` for instant global PATH resolution.
|
|
10
|
+
- **Dynamic SSOT User-Agent**: Injects dynamic package version into download requests.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## [1.4.2] - 2026-09-07
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
- Complete 12-tier enterprise English documentation overhaul for PyPI and GitHub/NPM.
|
|
18
|
+
- Detailed empirical mobile hardware benchmarks (Snapdragon 8 Elite / Adreno 830, Exynos 1380 / Mali-G68 MP5).
|
|
19
|
+
- Full GPU interconnect architecture documentation with SPIR-V compute shader details.
|
|
20
|
+
- Comprehensive CPU vs. GPU thermal dissipation and latency trade-off analysis.
|
|
21
|
+
- 3-stage 24/7 unattended background execution guide (Termux wake-lock, battery optimization, ADB phantom process killer).
|
|
22
|
+
- Expanded technical SEO metadata keywords (34 keywords).
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## [1.4.1] - 2026-09-07
|
|
27
|
+
|
|
28
|
+
### Fixed
|
|
29
|
+
- Fixed npm package.json bin path specification (removed './' prefix).
|
|
30
|
+
- Integrated GitHub Actions automated CI/CD release workflow.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
13
34
|
## [1.4.0] - 2026-09-07
|
|
14
35
|
|
|
15
36
|
### Added
|