python-voiceio 0.4.0__py3-none-any.whl → 0.5.0__py3-none-any.whl
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.
- {python_voiceio-0.4.0.dist-info → python_voiceio-0.5.0.dist-info}/METADATA +14 -6
- {python_voiceio-0.4.0.dist-info → python_voiceio-0.5.0.dist-info}/RECORD +27 -25
- voiceio/__init__.py +1 -1
- voiceio/app.py +289 -80
- voiceio/cli.py +148 -30
- voiceio/clipboard_read.py +47 -1
- voiceio/config.py +129 -0
- voiceio/consent.py +57 -0
- voiceio/demo.py +2 -2
- voiceio/health.py +13 -4
- voiceio/history.py +94 -1
- voiceio/ibus/engine.py +18 -8
- voiceio/ibus/pending.py +43 -0
- voiceio/llm_api.py +37 -0
- voiceio/platform.py +121 -0
- voiceio/postcorrect.py +7 -0
- voiceio/recorder.py +26 -12
- voiceio/retention.py +13 -1
- voiceio/streaming.py +91 -5
- voiceio/transcriber.py +38 -4
- voiceio/typers/ibus.py +49 -8
- voiceio/typers/ydotool.py +40 -2
- voiceio/wizard.py +433 -80
- {python_voiceio-0.4.0.dist-info → python_voiceio-0.5.0.dist-info}/WHEEL +0 -0
- {python_voiceio-0.4.0.dist-info → python_voiceio-0.5.0.dist-info}/entry_points.txt +0 -0
- {python_voiceio-0.4.0.dist-info → python_voiceio-0.5.0.dist-info}/licenses/LICENSE +0 -0
- {python_voiceio-0.4.0.dist-info → python_voiceio-0.5.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-voiceio
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: Voice dictation for Linux. Speak → text, locally, instantly.
|
|
5
5
|
Author: Hugo Montenegro
|
|
6
6
|
License-Expression: MIT
|
|
@@ -40,6 +40,10 @@ Requires-Dist: edge-tts>=6.1.0; extra == "tts-cloud"
|
|
|
40
40
|
Provides-Extra: dev
|
|
41
41
|
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
42
42
|
Requires-Dist: pytest-mock; extra == "dev"
|
|
43
|
+
Provides-Extra: linux
|
|
44
|
+
Requires-Dist: pystray>=0.19; extra == "linux"
|
|
45
|
+
Requires-Dist: Pillow>=10.0; extra == "linux"
|
|
46
|
+
Requires-Dist: piper-tts>=1.2.0; extra == "linux"
|
|
43
47
|
Dynamic: license-file
|
|
44
48
|
|
|
45
49
|
# voiceio
|
|
@@ -74,8 +78,9 @@ Open-source, sovereign voice input/output. Your speech is transcribed on your ow
|
|
|
74
78
|
## Quick start
|
|
75
79
|
|
|
76
80
|
```bash
|
|
77
|
-
# 1. Install system dependencies (Ubuntu/Debian)
|
|
78
|
-
|
|
81
|
+
# 1. Install system dependencies (Ubuntu/Debian). build-essential + python3-dev
|
|
82
|
+
# are needed to compile evdev (no prebuilt wheel); portaudio for the mic.
|
|
83
|
+
sudo apt install pipx build-essential python3-dev portaudio19-dev ibus gir1.2-ibus-1.0 python3-gi
|
|
79
84
|
|
|
80
85
|
# 2. Install voiceio
|
|
81
86
|
pipx install python-voiceio
|
|
@@ -86,11 +91,14 @@ voiceio setup
|
|
|
86
91
|
|
|
87
92
|
That's it. Press **Ctrl+Alt+V** (or your chosen hotkey) to start dictating.
|
|
88
93
|
|
|
94
|
+
**Installing with an AI agent?** Point it at [INSTALL.md](INSTALL.md) — a terse,
|
|
95
|
+
copy-pasteable runbook (`voiceio setup --defaults` / `--answers '{json}'`, no TTY needed).
|
|
96
|
+
|
|
89
97
|
<details>
|
|
90
98
|
<summary><strong>Fedora</strong></summary>
|
|
91
99
|
|
|
92
100
|
```bash
|
|
93
|
-
sudo dnf install pipx
|
|
101
|
+
sudo dnf install pipx gcc gcc-c++ make python3-devel portaudio-devel ibus ibus-libs python3-gobject
|
|
94
102
|
pipx install python-voiceio
|
|
95
103
|
voiceio setup
|
|
96
104
|
```
|
|
@@ -100,8 +108,8 @@ voiceio setup
|
|
|
100
108
|
<summary><strong>Arch Linux</strong></summary>
|
|
101
109
|
|
|
102
110
|
```bash
|
|
103
|
-
sudo pacman -S python-pipx ibus python-gobject
|
|
104
|
-
#
|
|
111
|
+
sudo pacman -S python-pipx base-devel portaudio ibus python-gobject
|
|
112
|
+
# base-devel provides gcc/make; the python package ships headers.
|
|
105
113
|
pipx install python-voiceio
|
|
106
114
|
voiceio setup
|
|
107
115
|
```
|
|
@@ -1,38 +1,39 @@
|
|
|
1
|
-
python_voiceio-0.
|
|
2
|
-
voiceio/__init__.py,sha256=
|
|
1
|
+
python_voiceio-0.5.0.dist-info/licenses/LICENSE,sha256=Gz61o8jFTAvZUZyB3nWDB3DQQVuipjfPkVu9W8hBHM0,1072
|
|
2
|
+
voiceio/__init__.py,sha256=LBK46heutvn3KmsCrKIYu8RQikbfnjZaj2xFrXaeCzQ,22
|
|
3
3
|
voiceio/__main__.py,sha256=xT5QCGGreYMisHO7Lh_Y-xAQ2TOzG2D7npKknGNcWSY,53
|
|
4
|
-
voiceio/app.py,sha256=
|
|
4
|
+
voiceio/app.py,sha256=Xrd3UKJD109Bge0Qp6MiI_M_ztoHE7-18ltMxrpVUoI,63884
|
|
5
5
|
voiceio/audit.py,sha256=vX3x-YAhmt6EZYRZd0_6wvTquZu5sxGMvH45BhSBnCk,14915
|
|
6
6
|
voiceio/autocorrect.py,sha256=jGsglEYwAHWk2uWedeEZzyAMW2LWO_8nQGZgrWYy4Dc,26552
|
|
7
7
|
voiceio/autocorrect_state.py,sha256=BNzdHP5slcOV_-OU4MlaKE7xgVJzrPncsYFK30JWTs8,6858
|
|
8
8
|
voiceio/backends.py,sha256=-rs1YhPblub4NjFb6qCD7Ih9FqBRXtPuvjVv9bQoQ1w,368
|
|
9
|
-
voiceio/cli.py,sha256=
|
|
10
|
-
voiceio/clipboard_read.py,sha256=
|
|
9
|
+
voiceio/cli.py,sha256=_HfcWQt2Jf34YfI4W1RavsyqegQy9jrg0nwLe6DvD6E,71639
|
|
10
|
+
voiceio/clipboard_read.py,sha256=CqbHSvOztcQ3u2I2EzFm0jdcDVKv56gl0T1YfWxNpmI,3390
|
|
11
11
|
voiceio/commands.py,sha256=Vhtn8s5G5OcCbRN44YZ-_14Fa85ISXl_3Ix-KqSHs2A,4694
|
|
12
|
-
voiceio/config.py,sha256=
|
|
12
|
+
voiceio/config.py,sha256=L8_us8nthnNWFH1igJzyofuHf3ZQvGt-tz2WiXLRh7A,12925
|
|
13
|
+
voiceio/consent.py,sha256=jtdp1TkTbicUSTCDmV4qo4SdbS4kQpYzy1Kjc_7pJVw,1883
|
|
13
14
|
voiceio/corrections.py,sha256=7moKhkVvo5CZU1mZobV2-MajkcHiwliKBY1dSBFh0w0,7445
|
|
14
|
-
voiceio/demo.py,sha256=
|
|
15
|
+
voiceio/demo.py,sha256=QRNJuNObXCsjwGD-Cz3dh81cfb21xiuSeVyyU720U9Q,8673
|
|
15
16
|
voiceio/feedback.py,sha256=TyUy_wy5HNTO0u3opx58aaPXz7mAqeN98UbNdLfnoiw,5136
|
|
16
|
-
voiceio/health.py,sha256=
|
|
17
|
+
voiceio/health.py,sha256=5YNu1mMzwTo6I_Z_Mu3Bs46ZHDpVmxP0AXyMNAbaczc,15707
|
|
17
18
|
voiceio/hints.py,sha256=dmoiMAJ0YGTWwFc9kIPvEs_BQJN7UEUiwYuLUD_GoQQ,1415
|
|
18
|
-
voiceio/history.py,sha256=
|
|
19
|
+
voiceio/history.py,sha256=v7ciyZui8MndaKtTF5TdTKmql2ALOZNYKguE0Mo_lTY,5581
|
|
19
20
|
voiceio/llm.py,sha256=_m13jodMVB1iEtze3VGkBCafkg85OssTPBEVyaRabgA,9250
|
|
20
|
-
voiceio/llm_api.py,sha256=
|
|
21
|
+
voiceio/llm_api.py,sha256=ex1brY10a8xNtw4cHCYC0yCth3Z02NkCQaHdB4XQPag,7497
|
|
21
22
|
voiceio/numbers.py,sha256=MP8jag4_F2OqUU5H14KzOmR9L8gWg48yQhLoUbGg_YI,8376
|
|
22
23
|
voiceio/pidlock.py,sha256=RInlF_8H7wR0nqkdlhUfxYs7OGzHIvb5p-XDjjQSTNg,619
|
|
23
|
-
voiceio/platform.py,sha256=
|
|
24
|
-
voiceio/postcorrect.py,sha256=
|
|
24
|
+
voiceio/platform.py,sha256=f_8MmC5q1sCEuEPyKjRqlVvV9FExuGmwn_aJXhkpiEk,11809
|
|
25
|
+
voiceio/postcorrect.py,sha256=lxm3zxdz3yzoR6qpf0bKRycBrF5y91bVnU4DqyTRbxU,8163
|
|
25
26
|
voiceio/postprocess.py,sha256=9grkq3I6XgiQV6ZQbIw2_fOUe57tzC7GBPvLXqhhdTs,2979
|
|
26
27
|
voiceio/prompt.py,sha256=9iza8KoQxvO_U9NPMJ8Ep7j-zkIs9nW8N5sacCRpsEk,2904
|
|
27
|
-
voiceio/recorder.py,sha256=
|
|
28
|
-
voiceio/retention.py,sha256=
|
|
28
|
+
voiceio/recorder.py,sha256=p1r0mH_plBD3BHqBbIGV_m2N4Mj5RAF7LfMu8u6mk5I,12813
|
|
29
|
+
voiceio/retention.py,sha256=VrN261qL4C2_mSbjI6yPnMNiTVMxpo16wYua27TQb_Q,3330
|
|
29
30
|
voiceio/service.py,sha256=jqX1opZyQh_dOJMK4bVf8Aoei0zOuuk1Ogta9BXTWGY,12106
|
|
30
31
|
voiceio/snapshots.py,sha256=bm-lzIeYucDUDlPBZiFiWd-jyB2I6Ft1jRANZCO6go4,2351
|
|
31
|
-
voiceio/streaming.py,sha256=
|
|
32
|
-
voiceio/transcriber.py,sha256=
|
|
32
|
+
voiceio/streaming.py,sha256=90D6r162DQJd-s4fTb1NuLylrdh9gVyAnfNbaMbLQ6Y,15916
|
|
33
|
+
voiceio/transcriber.py,sha256=D6_RLO8K3bGUV4CsS2q_k5rxkHTMB_6DqnzDka5mEb0,9939
|
|
33
34
|
voiceio/vad.py,sha256=72_ICk4jSuSPYvTHdHYtHzY8W5uaGEOz5FTdqkolJi8,5327
|
|
34
35
|
voiceio/vocabulary.py,sha256=eGV7QZs3tN6Cw5YpyoZsVEk2M5fJvie1n2XFi9CD4hw,6321
|
|
35
|
-
voiceio/wizard.py,sha256=
|
|
36
|
+
voiceio/wizard.py,sha256=AwjwrocrQp0DPSOMZ0m6z6G3hlo9VPceEwPzR9-xXe0,80227
|
|
36
37
|
voiceio/wordfreq.py,sha256=2UMjW1xIFqo5EchXzsXPizUhRb9N18CVgjnXso1wsgw,2382
|
|
37
38
|
voiceio/worker.py,sha256=M6e4s6P0-4UGQzw0j8Mq68nypvwZleOSwuRhjuOqlVE,2563
|
|
38
39
|
voiceio/hotkeys/__init__.py,sha256=rGXSGZLD2mS_Ep2HfVdRdkUKNr4xagySlL1FM00cYgk,735
|
|
@@ -42,7 +43,8 @@ voiceio/hotkeys/evdev.py,sha256=DHmd2IASBkYnyY5JEGFIoYfZtw3T9Ij6wKclkx-6m94,5109
|
|
|
42
43
|
voiceio/hotkeys/pynput_backend.py,sha256=_rLb8p0JakR9T32LJclHVTch49M_mnB3UeUsI_IkfLk,3576
|
|
43
44
|
voiceio/hotkeys/socket_backend.py,sha256=xLNFa8FvJbL5VLKqMRhKPeaKdhztYwxyVV_VOlG1PkM,3373
|
|
44
45
|
voiceio/ibus/__init__.py,sha256=12n0pSsb1ZPE1kkscDFmcQjZzovC8zrAnmYbvIuv1AI,284
|
|
45
|
-
voiceio/ibus/engine.py,sha256=
|
|
46
|
+
voiceio/ibus/engine.py,sha256=yTCCHiUPL4-trggSCtIPZ-Wz0bxYoQWK72McypGNmXI,8735
|
|
47
|
+
voiceio/ibus/pending.py,sha256=T6Y_8oimhabahunp9RogtO-OTA5aw9d9G4T5lH1WAL4,1464
|
|
46
48
|
voiceio/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
47
49
|
voiceio/models/silero_vad.onnx,sha256=GhU6IvRQnikqlOZ9b5uF6N6yW0mIaCt-F0xlJ52HiOM,2327524
|
|
48
50
|
voiceio/sounds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -64,13 +66,13 @@ voiceio/typers/__init__.py,sha256=lFIMEjfPGw8tfYGELhsq0mYM849uKLx_SZhbHqGJrlo,10
|
|
|
64
66
|
voiceio/typers/base.py,sha256=VVMgARlpaSVqen-zFUssnbUMYDrWryacRE8MKvlLk-s,1180
|
|
65
67
|
voiceio/typers/chain.py,sha256=F4QcAMTzYvrxeC-_Er4CbjnqQ1ONYjt7Fp11y8PNpqU,2964
|
|
66
68
|
voiceio/typers/clipboard.py,sha256=cxeOL_a_P2HeJ-nr-klG94nHjbd9rWu3nxGDXmyfzys,6110
|
|
67
|
-
voiceio/typers/ibus.py,sha256=
|
|
69
|
+
voiceio/typers/ibus.py,sha256=ksYaCXHVrDTYR1R2MMt6H6csd4mtlbaf82DpebOyXbo,18715
|
|
68
70
|
voiceio/typers/pynput_type.py,sha256=DTtkT59M-EKOAlTNkvcZrRvf_Fq52OpI8S5t_8S-QAY,1887
|
|
69
71
|
voiceio/typers/wtype.py,sha256=d1wG-HZdYDQxXIysV_Xvk9HixDpaJgl3VEoKbP5vhIs,1786
|
|
70
72
|
voiceio/typers/xdotool.py,sha256=dh1zhPqUT8ihJahJ7ZKm6PtfYY087UAzADx664DvQOM,1356
|
|
71
|
-
voiceio/typers/ydotool.py,sha256=
|
|
72
|
-
python_voiceio-0.
|
|
73
|
-
python_voiceio-0.
|
|
74
|
-
python_voiceio-0.
|
|
75
|
-
python_voiceio-0.
|
|
76
|
-
python_voiceio-0.
|
|
73
|
+
voiceio/typers/ydotool.py,sha256=dt0W9ot__W8LQG2so8vZLGIw9leK2Q6g3i-Voo0LXE4,5327
|
|
74
|
+
python_voiceio-0.5.0.dist-info/METADATA,sha256=kdTrm0Dg20K3plJVL0hlhXcu9LOJRSUTkgyiupAHag0,15877
|
|
75
|
+
python_voiceio-0.5.0.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
|
|
76
|
+
python_voiceio-0.5.0.dist-info/entry_points.txt,sha256=U64fA65zxzyLoC8bgbn2ztQVWHLsc0o0H0qCk1J9DMc,218
|
|
77
|
+
python_voiceio-0.5.0.dist-info/top_level.txt,sha256=piwtn309lD6uexQyXdZ-efAVBJF9y6Wfr48Z-8zkNhg,8
|
|
78
|
+
python_voiceio-0.5.0.dist-info/RECORD,,
|
voiceio/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.
|
|
1
|
+
__version__ = "0.5.0"
|