fast-ctc-decoder 0.3.9__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.
- fast_ctc_decoder-0.3.9/.github/actionlint-matcher.json +17 -0
- fast_ctc_decoder-0.3.9/.github/workflows/build-wheels.sh +18 -0
- fast_ctc_decoder-0.3.9/.github/workflows/release.yaml +184 -0
- fast_ctc_decoder-0.3.9/.github/workflows/secret-scanning.yaml +21 -0
- fast_ctc_decoder-0.3.9/.github/workflows/test.yml +21 -0
- fast_ctc_decoder-0.3.9/.github/workflows/workflow-lint.yaml +26 -0
- fast_ctc_decoder-0.3.9/.gitignore +9 -0
- fast_ctc_decoder-0.3.9/.release-please-manifest.json +3 -0
- fast_ctc_decoder-0.3.9/CHANGELOG.md +17 -0
- fast_ctc_decoder-0.3.9/Cargo.lock +445 -0
- fast_ctc_decoder-0.3.9/Cargo.toml +35 -0
- fast_ctc_decoder-0.3.9/LICENSE +21 -0
- fast_ctc_decoder-0.3.9/Makefile +23 -0
- fast_ctc_decoder-0.3.9/PKG-INFO +87 -0
- fast_ctc_decoder-0.3.9/README.md +74 -0
- fast_ctc_decoder-0.3.9/build.rs +6 -0
- fast_ctc_decoder-0.3.9/pyproject.toml +7 -0
- fast_ctc_decoder-0.3.9/release-please-config.json +12 -0
- fast_ctc_decoder-0.3.9/rust-toolchain.toml +3 -0
- fast_ctc_decoder-0.3.9/src/duplex.rs +994 -0
- fast_ctc_decoder-0.3.9/src/fastexp.rs +63 -0
- fast_ctc_decoder-0.3.9/src/lib.rs +537 -0
- fast_ctc_decoder-0.3.9/src/search.rs +637 -0
- fast_ctc_decoder-0.3.9/src/tree.rs +270 -0
- fast_ctc_decoder-0.3.9/src/vec2d.rs +41 -0
- fast_ctc_decoder-0.3.9/tests/benchmark.py +85 -0
- fast_ctc_decoder-0.3.9/tests/test_decode.py +416 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"problemMatcher": [
|
|
3
|
+
{
|
|
4
|
+
"owner": "actionlint",
|
|
5
|
+
"pattern": [
|
|
6
|
+
{
|
|
7
|
+
"regexp": "^(?:\\x1b\\[\\d+m)?(.+?)(?:\\x1b\\[\\d+m)*:(?:\\x1b\\[\\d+m)*(\\d+)(?:\\x1b\\[\\d+m)*:(?:\\x1b\\[\\d+m)*(\\d+)(?:\\x1b\\[\\d+m)*: (?:\\x1b\\[\\d+m)*(.+?)(?:\\x1b\\[\\d+m)* \\[(.+?)\\]$",
|
|
8
|
+
"file": 1,
|
|
9
|
+
"line": 2,
|
|
10
|
+
"column": 3,
|
|
11
|
+
"message": 4,
|
|
12
|
+
"code": 5
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -e -x
|
|
3
|
+
|
|
4
|
+
curl https://sh.rustup.rs -sSf | sh -s -- -y
|
|
5
|
+
source $HOME/.cargo/env
|
|
6
|
+
make setup-rust
|
|
7
|
+
|
|
8
|
+
free -h
|
|
9
|
+
cargo build --jobs 1 --config net.git-fetch-with-cli=true
|
|
10
|
+
|
|
11
|
+
for PYBIN in /opt/python/cp3[91]*/bin; do
|
|
12
|
+
"${PYBIN}/pip" install maturin
|
|
13
|
+
"${PYBIN}/maturin" build -F python -i "${PYBIN}/python" --release
|
|
14
|
+
done
|
|
15
|
+
|
|
16
|
+
for wheel in target/wheels/*.whl; do
|
|
17
|
+
auditwheel repair "${wheel}"
|
|
18
|
+
done
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: write
|
|
10
|
+
issues: write
|
|
11
|
+
pull-requests: write
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
release-please:
|
|
15
|
+
name: Release Please
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
outputs:
|
|
18
|
+
release_created: ${{ steps.release.outputs.release_created }}
|
|
19
|
+
tag_name: ${{ steps.release.outputs.tag_name }}
|
|
20
|
+
version: ${{ steps.release.outputs.version }}
|
|
21
|
+
steps:
|
|
22
|
+
- uses: googleapis/release-please-action@v4
|
|
23
|
+
id: release
|
|
24
|
+
with:
|
|
25
|
+
config-file: release-please-config.json
|
|
26
|
+
manifest-file: .release-please-manifest.json
|
|
27
|
+
|
|
28
|
+
test:
|
|
29
|
+
name: Test (${{ matrix.os }})
|
|
30
|
+
needs: release-please
|
|
31
|
+
if: ${{ needs.release-please.outputs.release_created == 'true' }}
|
|
32
|
+
strategy:
|
|
33
|
+
fail-fast: false
|
|
34
|
+
matrix:
|
|
35
|
+
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
36
|
+
runs-on: ${{ matrix.os }}
|
|
37
|
+
steps:
|
|
38
|
+
- uses: actions/checkout@v4
|
|
39
|
+
|
|
40
|
+
- name: Install Rust toolchain
|
|
41
|
+
if: runner.os != 'Windows'
|
|
42
|
+
run: make setup-rust
|
|
43
|
+
|
|
44
|
+
- name: Install Rust toolchain
|
|
45
|
+
if: runner.os == 'Windows'
|
|
46
|
+
run: rustup toolchain install --profile minimal
|
|
47
|
+
|
|
48
|
+
- name: Rust unit tests
|
|
49
|
+
run: cargo test
|
|
50
|
+
|
|
51
|
+
- uses: actions/setup-python@v5
|
|
52
|
+
with:
|
|
53
|
+
python-version: '3.12'
|
|
54
|
+
|
|
55
|
+
- name: Python unit tests
|
|
56
|
+
run: |
|
|
57
|
+
python -m pip install numpy .
|
|
58
|
+
python tests/test_decode.py
|
|
59
|
+
|
|
60
|
+
linux-x86-wheels:
|
|
61
|
+
name: Build Linux x86 wheels
|
|
62
|
+
needs: [release-please, test]
|
|
63
|
+
if: ${{ needs.release-please.outputs.release_created == 'true' }}
|
|
64
|
+
runs-on: ubuntu-latest
|
|
65
|
+
container: quay.io/pypa/manylinux_2_28
|
|
66
|
+
steps:
|
|
67
|
+
- uses: actions/checkout@v4
|
|
68
|
+
- name: Build wheels
|
|
69
|
+
run: bash .github/workflows/build-wheels.sh
|
|
70
|
+
- uses: actions/upload-artifact@v4
|
|
71
|
+
with:
|
|
72
|
+
name: linux-x86-wheels
|
|
73
|
+
path: wheelhouse/*.whl
|
|
74
|
+
|
|
75
|
+
linux-aarch-wheels:
|
|
76
|
+
name: Build Linux aarch64 wheels
|
|
77
|
+
needs: [release-please, test]
|
|
78
|
+
if: ${{ needs.release-please.outputs.release_created == 'true' }}
|
|
79
|
+
runs-on: ubuntu-latest
|
|
80
|
+
steps:
|
|
81
|
+
- uses: actions/checkout@v4
|
|
82
|
+
- name: Install QEMU
|
|
83
|
+
run: docker run --privileged --rm tonistiigi/binfmt --install arm64
|
|
84
|
+
- name: Build wheels
|
|
85
|
+
run: |
|
|
86
|
+
docker run --platform linux/arm64 --workdir /src -v "${PWD}:/src" quay.io/pypa/manylinux_2_28 /bin/bash .github/workflows/build-wheels.sh
|
|
87
|
+
- uses: actions/upload-artifact@v4
|
|
88
|
+
with:
|
|
89
|
+
name: linux-aarch-wheels
|
|
90
|
+
path: wheelhouse/*.whl
|
|
91
|
+
|
|
92
|
+
osx-wheels:
|
|
93
|
+
name: Build macOS wheels
|
|
94
|
+
needs: [release-please, test]
|
|
95
|
+
if: ${{ needs.release-please.outputs.release_created == 'true' }}
|
|
96
|
+
runs-on: macos-latest
|
|
97
|
+
strategy:
|
|
98
|
+
matrix:
|
|
99
|
+
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
|
|
100
|
+
steps:
|
|
101
|
+
- uses: actions/checkout@v4
|
|
102
|
+
- name: Install Rust toolchain
|
|
103
|
+
run: make setup-rust
|
|
104
|
+
- uses: actions/setup-python@v5
|
|
105
|
+
with:
|
|
106
|
+
python-version: ${{ matrix.python-version }}
|
|
107
|
+
- name: Build wheels
|
|
108
|
+
run: |
|
|
109
|
+
python -m pip install maturin
|
|
110
|
+
rustup target add x86_64-apple-darwin
|
|
111
|
+
rustup target add aarch64-apple-darwin
|
|
112
|
+
maturin build --release --strip --target universal2-apple-darwin
|
|
113
|
+
- uses: actions/upload-artifact@v4
|
|
114
|
+
with:
|
|
115
|
+
name: osx-${{ matrix.python-version }}-wheel
|
|
116
|
+
path: target/wheels/*.whl
|
|
117
|
+
|
|
118
|
+
windows-wheels:
|
|
119
|
+
name: Build Windows wheels
|
|
120
|
+
needs: [release-please, test]
|
|
121
|
+
if: ${{ needs.release-please.outputs.release_created == 'true' }}
|
|
122
|
+
runs-on: windows-latest
|
|
123
|
+
steps:
|
|
124
|
+
- uses: actions/checkout@v4
|
|
125
|
+
- name: Install Rust toolchain
|
|
126
|
+
run: rustup toolchain install --profile minimal
|
|
127
|
+
- uses: actions/setup-python@v5
|
|
128
|
+
- name: Build wheels
|
|
129
|
+
run: |
|
|
130
|
+
python -m pip install maturin
|
|
131
|
+
maturin build --release
|
|
132
|
+
- uses: actions/upload-artifact@v4
|
|
133
|
+
with:
|
|
134
|
+
name: windows-wheels
|
|
135
|
+
path: target/wheels/*.whl
|
|
136
|
+
|
|
137
|
+
sdist:
|
|
138
|
+
name: Build sdist
|
|
139
|
+
needs: [release-please, test]
|
|
140
|
+
if: ${{ needs.release-please.outputs.release_created == 'true' }}
|
|
141
|
+
runs-on: ubuntu-latest
|
|
142
|
+
steps:
|
|
143
|
+
- uses: actions/checkout@v4
|
|
144
|
+
- name: Install Rust toolchain
|
|
145
|
+
run: make setup-rust
|
|
146
|
+
- uses: actions/setup-python@v5
|
|
147
|
+
with:
|
|
148
|
+
python-version: '3.12'
|
|
149
|
+
- name: Build sdist
|
|
150
|
+
run: |
|
|
151
|
+
python -m pip install maturin
|
|
152
|
+
maturin sdist --out dist
|
|
153
|
+
- uses: actions/upload-artifact@v4
|
|
154
|
+
with:
|
|
155
|
+
name: sdist
|
|
156
|
+
path: dist/*.tar.gz
|
|
157
|
+
|
|
158
|
+
publish-to-pypi:
|
|
159
|
+
name: Publish to PyPI
|
|
160
|
+
needs:
|
|
161
|
+
- release-please
|
|
162
|
+
- linux-x86-wheels
|
|
163
|
+
- linux-aarch-wheels
|
|
164
|
+
- osx-wheels
|
|
165
|
+
- windows-wheels
|
|
166
|
+
- sdist
|
|
167
|
+
if: ${{ needs.release-please.outputs.release_created == 'true' }}
|
|
168
|
+
runs-on: ubuntu-latest
|
|
169
|
+
environment:
|
|
170
|
+
name: pypi
|
|
171
|
+
url: https://pypi.org/p/fast-ctc-decoder
|
|
172
|
+
permissions:
|
|
173
|
+
contents: read
|
|
174
|
+
id-token: write
|
|
175
|
+
steps:
|
|
176
|
+
- uses: actions/download-artifact@v4
|
|
177
|
+
with:
|
|
178
|
+
path: dist
|
|
179
|
+
merge-multiple: true
|
|
180
|
+
|
|
181
|
+
- name: Publish distributions to PyPI
|
|
182
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
183
|
+
with:
|
|
184
|
+
packages-dir: dist
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
on:
|
|
2
|
+
push:
|
|
3
|
+
branches:
|
|
4
|
+
- main
|
|
5
|
+
pull_request:
|
|
6
|
+
branches:
|
|
7
|
+
- '**'
|
|
8
|
+
|
|
9
|
+
name: Secret Leaks
|
|
10
|
+
jobs:
|
|
11
|
+
trufflehog:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- name: Checkout code
|
|
15
|
+
uses: actions/checkout@v4
|
|
16
|
+
with:
|
|
17
|
+
fetch-depth: 0
|
|
18
|
+
- name: Secret Scanning
|
|
19
|
+
uses: trufflesecurity/trufflehog@main
|
|
20
|
+
with:
|
|
21
|
+
extra_args: --results=verified,unknown
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
name: test-fast-ctc-decoder
|
|
2
|
+
|
|
3
|
+
on: [push]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
|
|
7
|
+
test:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
steps:
|
|
10
|
+
- uses: actions/checkout@v4
|
|
11
|
+
- name: Install Rust toolchain
|
|
12
|
+
run: make setup-rust
|
|
13
|
+
- name: Rust unit tests
|
|
14
|
+
run: make rust-test
|
|
15
|
+
- uses: actions/setup-python@v5
|
|
16
|
+
with:
|
|
17
|
+
python-version: '3.12'
|
|
18
|
+
- name: Python unit tests
|
|
19
|
+
run: |
|
|
20
|
+
python3 -m pip install numpy .
|
|
21
|
+
python3 tests/test_decode.py
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
name: Lint GitHub Actions workflows
|
|
2
|
+
on:
|
|
3
|
+
pull_request:
|
|
4
|
+
paths:
|
|
5
|
+
- '.github/workflows/**/*.yaml'
|
|
6
|
+
- '.github/workflows/**/*.yml'
|
|
7
|
+
push:
|
|
8
|
+
branches: [ main ]
|
|
9
|
+
paths:
|
|
10
|
+
- '.github/workflows/**/*.yaml'
|
|
11
|
+
- '.github/workflows/**/*.yml'
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
actionlint:
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
|
+
|
|
19
|
+
- name: Enable matcher for actionlint
|
|
20
|
+
run: echo "::add-matcher::.github/actionlint-matcher.json"
|
|
21
|
+
|
|
22
|
+
- name: Download and run actionlint
|
|
23
|
+
run: |
|
|
24
|
+
bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
|
|
25
|
+
./actionlint -color
|
|
26
|
+
shell: bash
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [0.3.9](https://github.com/ankandrew/fast-ctc-decoder/compare/v0.3.8...v0.3.9) (2026-05-16)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* error in running py unit tests ([111e56d](https://github.com/ankandrew/fast-ctc-decoder/commit/111e56d986958c409d6344594b7a031c24a01931))
|
|
9
|
+
* update README.md ([bcf100d](https://github.com/ankandrew/fast-ctc-decoder/commit/bcf100d081b791a35b4bb2a1beac9c3ce1fe8b38))
|
|
10
|
+
|
|
11
|
+
## [0.3.8](https://github.com/ankandrew/fast-ctc-decoder/compare/v0.3.7...v0.3.8) (2026-05-16)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* add missing actionlint-matcher.json ([2466060](https://github.com/ankandrew/fast-ctc-decoder/commit/24660607e38af46840ce797f1235181f566e9e65))
|
|
17
|
+
* use release-please and update release workflows ([a035985](https://github.com/ankandrew/fast-ctc-decoder/commit/a0359853b83f26064a8eea7289b1ce631b639d4c))
|