utterpy 0.0.6__tar.gz → 0.0.7__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.
- {utterpy-0.0.6 → utterpy-0.0.7}/CHANGELOG.md +10 -0
- {utterpy-0.0.6 → utterpy-0.0.7}/Cargo.lock +15 -15
- {utterpy-0.0.6 → utterpy-0.0.7}/Cargo.toml +3 -3
- {utterpy-0.0.6 → utterpy-0.0.7}/PKG-INFO +3 -2
- {utterpy-0.0.6 → utterpy-0.0.7}/README.md +1 -1
- {utterpy-0.0.6 → utterpy-0.0.7}/pyproject.toml +2 -1
- {utterpy-0.0.6 → utterpy-0.0.7}/python/utterpy/__init__.pyi +7 -0
- {utterpy-0.0.6 → utterpy-0.0.7}/scripts/release.sh +1 -1
- {utterpy-0.0.6 → utterpy-0.0.7}/src/lib.rs +5 -0
- {utterpy-0.0.6 → utterpy-0.0.7}/LICENSE +0 -0
- {utterpy-0.0.6 → utterpy-0.0.7}/python/utterpy/__init__.py +0 -0
- {utterpy-0.0.6 → utterpy-0.0.7}/python/utterpy/py.typed +0 -0
- {utterpy-0.0.6 → utterpy-0.0.7}/rust-toolchain.toml +0 -0
|
@@ -4,6 +4,16 @@ Notable changes to the wheel, newest first. The project follows semantic
|
|
|
4
4
|
versioning; release dates are recorded by the git tags and the GitHub
|
|
5
5
|
releases.
|
|
6
6
|
|
|
7
|
+
## 0.0.7
|
|
8
|
+
|
|
9
|
+
- `SetMergeMargin(nats)`, from utter 0.0.7: where two paths with
|
|
10
|
+
different words meet in the search, the loser is kept when within
|
|
11
|
+
`nats` of the winner and listed among `partial_alternatives` and the
|
|
12
|
+
final's `alternatives`. Rank 0 and every endpoint are unchanged; 0 or
|
|
13
|
+
None removes it, and it is off by default.
|
|
14
|
+
- Python 3.15: tested in CI and listed in the classifiers. The abi3
|
|
15
|
+
wheels were already installable on it.
|
|
16
|
+
|
|
7
17
|
## 0.0.6
|
|
8
18
|
|
|
9
19
|
- TitaNet-small speaker evidence, from utter 0.0.6: `SpkModel(path)`
|
|
@@ -37,9 +37,9 @@ dependencies = [
|
|
|
37
37
|
|
|
38
38
|
[[package]]
|
|
39
39
|
name = "pyo3"
|
|
40
|
-
version = "0.
|
|
40
|
+
version = "0.30.1"
|
|
41
41
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
42
|
-
checksum = "
|
|
42
|
+
checksum = "229ca13b8a15bb0d1487b81ab975bfcd97513416499a8312011b6036e42e0de4"
|
|
43
43
|
dependencies = [
|
|
44
44
|
"libc",
|
|
45
45
|
"once_cell",
|
|
@@ -51,18 +51,18 @@ dependencies = [
|
|
|
51
51
|
|
|
52
52
|
[[package]]
|
|
53
53
|
name = "pyo3-build-config"
|
|
54
|
-
version = "0.
|
|
54
|
+
version = "0.30.1"
|
|
55
55
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
56
|
-
checksum = "
|
|
56
|
+
checksum = "70130e2b6dd1ee589a8788026a429561ca5c40fa7a2fa7914c2282eddae24700"
|
|
57
57
|
dependencies = [
|
|
58
58
|
"target-lexicon",
|
|
59
59
|
]
|
|
60
60
|
|
|
61
61
|
[[package]]
|
|
62
62
|
name = "pyo3-ffi"
|
|
63
|
-
version = "0.
|
|
63
|
+
version = "0.30.1"
|
|
64
64
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
65
|
-
checksum = "
|
|
65
|
+
checksum = "5e7ff73c555c286d212d4ce7e5fbda845a973c4f61bd5f160f5f2c3c2a04d1c4"
|
|
66
66
|
dependencies = [
|
|
67
67
|
"libc",
|
|
68
68
|
"pyo3-build-config",
|
|
@@ -70,9 +70,9 @@ dependencies = [
|
|
|
70
70
|
|
|
71
71
|
[[package]]
|
|
72
72
|
name = "pyo3-macros"
|
|
73
|
-
version = "0.
|
|
73
|
+
version = "0.30.1"
|
|
74
74
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
75
|
-
checksum = "
|
|
75
|
+
checksum = "c46d2e5862c7bb8207e3b639f713dda3c499933444784154c11d013c5a691b60"
|
|
76
76
|
dependencies = [
|
|
77
77
|
"proc-macro2",
|
|
78
78
|
"pyo3-macros-backend",
|
|
@@ -82,9 +82,9 @@ dependencies = [
|
|
|
82
82
|
|
|
83
83
|
[[package]]
|
|
84
84
|
name = "pyo3-macros-backend"
|
|
85
|
-
version = "0.
|
|
85
|
+
version = "0.30.1"
|
|
86
86
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
87
|
-
checksum = "
|
|
87
|
+
checksum = "38b89f066f2ae72a2aef52d1537ca2fcd104440ebfadee06e97aa90738a25b9b"
|
|
88
88
|
dependencies = [
|
|
89
89
|
"heck",
|
|
90
90
|
"proc-macro2",
|
|
@@ -103,9 +103,9 @@ dependencies = [
|
|
|
103
103
|
|
|
104
104
|
[[package]]
|
|
105
105
|
name = "syn"
|
|
106
|
-
version = "
|
|
106
|
+
version = "3.0.9"
|
|
107
107
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
108
|
-
checksum = "
|
|
108
|
+
checksum = "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b"
|
|
109
109
|
dependencies = [
|
|
110
110
|
"proc-macro2",
|
|
111
111
|
"quote",
|
|
@@ -126,13 +126,13 @@ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
|
|
|
126
126
|
|
|
127
127
|
[[package]]
|
|
128
128
|
name = "utter"
|
|
129
|
-
version = "0.0.
|
|
129
|
+
version = "0.0.7"
|
|
130
130
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
131
|
-
checksum = "
|
|
131
|
+
checksum = "605813c04049b949f14666340cc4c19ef77c9c0bc8194f464f456bbda0aaa18e"
|
|
132
132
|
|
|
133
133
|
[[package]]
|
|
134
134
|
name = "utterpy"
|
|
135
|
-
version = "0.0.
|
|
135
|
+
version = "0.0.7"
|
|
136
136
|
dependencies = [
|
|
137
137
|
"pyo3",
|
|
138
138
|
"utter",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "utterpy"
|
|
3
|
-
version = "0.0.
|
|
3
|
+
version = "0.0.7"
|
|
4
4
|
edition = "2021"
|
|
5
5
|
rust-version = "1.93"
|
|
6
6
|
license = "MIT"
|
|
@@ -13,8 +13,8 @@ name = "utterpy"
|
|
|
13
13
|
crate-type = ["cdylib"]
|
|
14
14
|
|
|
15
15
|
[dependencies]
|
|
16
|
-
pyo3 = { version = "0.
|
|
17
|
-
utter = "0.0.
|
|
16
|
+
pyo3 = { version = "0.30", features = ["extension-module", "abi3-py39"] }
|
|
17
|
+
utter = "0.0.7"
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
[profile.release]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: utterpy
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.7
|
|
4
4
|
Classifier: Programming Language :: Rust
|
|
5
5
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
6
6
|
Classifier: Programming Language :: Python :: 3.9
|
|
@@ -9,6 +9,7 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.12
|
|
10
10
|
Classifier: Programming Language :: Python :: 3.13
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.14
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
12
13
|
Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
|
|
13
14
|
Classifier: Typing :: Typed
|
|
14
15
|
License-File: LICENSE
|
|
@@ -224,7 +225,7 @@ sees the API without a separate stubs package.
|
|
|
224
225
|
|
|
225
226
|
GitHub Actions builds wheels for Linux x86_64 and aarch64 (manylinux
|
|
226
227
|
2_28 and musllinux 1.2), Windows x64 and arm64, and macOS x86_64 and
|
|
227
|
-
arm64 on every push, runs the tests on Python 3.9 to 3.
|
|
228
|
+
arm64 on every push, runs the tests on Python 3.9 to 3.15, and on a
|
|
228
229
|
`v*` tag attaches them to a GitHub release with the notes under
|
|
229
230
|
`docs/release-notes` as its body and publishes to PyPI through trusted
|
|
230
231
|
publishing. Every wheel carries a build-provenance attestation, and the
|
|
@@ -206,7 +206,7 @@ sees the API without a separate stubs package.
|
|
|
206
206
|
|
|
207
207
|
GitHub Actions builds wheels for Linux x86_64 and aarch64 (manylinux
|
|
208
208
|
2_28 and musllinux 1.2), Windows x64 and arm64, and macOS x86_64 and
|
|
209
|
-
arm64 on every push, runs the tests on Python 3.9 to 3.
|
|
209
|
+
arm64 on every push, runs the tests on Python 3.9 to 3.15, and on a
|
|
210
210
|
`v*` tag attaches them to a GitHub release with the notes under
|
|
211
211
|
`docs/release-notes` as its body and publishes to PyPI through trusted
|
|
212
212
|
publishing. Every wheel carries a build-provenance attestation, and the
|
|
@@ -4,7 +4,7 @@ build-backend = "maturin"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "utterpy"
|
|
7
|
-
version = "0.0.
|
|
7
|
+
version = "0.0.7"
|
|
8
8
|
description = "Python bindings for utter, the zero-dependency pure-Rust streaming speech decoder for Vosk (Kaldi nnet3) models"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { file = "LICENSE" }
|
|
@@ -18,6 +18,7 @@ classifiers = [
|
|
|
18
18
|
"Programming Language :: Python :: 3.12",
|
|
19
19
|
"Programming Language :: Python :: 3.13",
|
|
20
20
|
"Programming Language :: Python :: 3.14",
|
|
21
|
+
"Programming Language :: Python :: 3.15",
|
|
21
22
|
"Topic :: Multimedia :: Sound/Audio :: Speech",
|
|
22
23
|
"Typing :: Typed",
|
|
23
24
|
]
|
|
@@ -76,6 +76,13 @@ class KaldiRecognizer:
|
|
|
76
76
|
frames are not. Such a final names "floor" as its endpoint. 0 or None removes the margin.
|
|
77
77
|
"""
|
|
78
78
|
|
|
79
|
+
def SetMergeMargin(self, nats: float | None) -> None:
|
|
80
|
+
"""Keep a reading a merge overwrites when within nats of the path that wins it.
|
|
81
|
+
|
|
82
|
+
Kept readings are listed among partial_alternatives and the final's alternatives like
|
|
83
|
+
any other. Rank 0 is unchanged. 0 or None removes the margin.
|
|
84
|
+
"""
|
|
85
|
+
|
|
79
86
|
def SetPartialAlternatives(self, n: int) -> None: ...
|
|
80
87
|
def SetMaxAlternatives(self, n: int) -> None: ...
|
|
81
88
|
def AcceptWaveform(self, data: bytes) -> bool:
|
|
@@ -45,7 +45,7 @@ ok "tag $tag is free"
|
|
|
45
45
|
[ "$(git config --get tag.gpgSign)" = true ] || fail "tag.gpgSign is not on; the tag must be signed"
|
|
46
46
|
ok "tags are signed"
|
|
47
47
|
# The workflow publishes only while this variable is true, so the PyPI checks follow it.
|
|
48
|
-
pypi=$(gh
|
|
48
|
+
pypi=$(gh api "repos/{owner}/{repo}/actions/variables/PYPI_PUBLISH" --jq .value 2>/dev/null || true)
|
|
49
49
|
if [ "$pypi" = true ]; then
|
|
50
50
|
code=$(curl -s -o /dev/null -w '%{http_code}' -A "utterpy release script" "https://pypi.org/pypi/utterpy/$version/json")
|
|
51
51
|
[ "$code" = 404 ] || fail "PyPI answers $code for utterpy $version; expected 404 before publishing"
|
|
@@ -165,6 +165,11 @@ impl PyRecognizer {
|
|
|
165
165
|
self.inner
|
|
166
166
|
.set_endpoint_floor_margin(margin_db.filter(|&m| m > 0.0));
|
|
167
167
|
}
|
|
168
|
+
/// Keep a reading a merge overwrites when within `nats` of the path that wins it, reported
|
|
169
|
+
/// among the partial's and the final's alternatives. Rank 0 is unchanged. 0 or None removes it.
|
|
170
|
+
fn SetMergeMargin(&mut self, nats: Option<f32>) {
|
|
171
|
+
self.inner.set_merge_margin(nats.filter(|&n| n > 0.0));
|
|
172
|
+
}
|
|
168
173
|
fn SetPartialAlternatives(&mut self, n: usize) {
|
|
169
174
|
self.inner.set_alternatives(n);
|
|
170
175
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|