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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-voiceio
3
- Version: 0.4.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
- sudo apt install pipx ibus gir1.2-ibus-1.0 python3-gi python3-dev portaudio19-dev
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 ibus python3-gobject python3-devel portaudio-devel
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 portaudio
104
- # Note: Arch includes Python headers by default with the python package
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.4.0.dist-info/licenses/LICENSE,sha256=Gz61o8jFTAvZUZyB3nWDB3DQQVuipjfPkVu9W8hBHM0,1072
2
- voiceio/__init__.py,sha256=42STGor_9nKYXumfeV5tiyD_M8VdcddX7CEexmibPBk,22
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=V6XGwWvvB6C6detltWW4OGMKWYUZPcAFcWUL4gXdqBY,53130
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=a27O_1IIn6jaV3Q3f5w9BXtsg3zAAdNi0nDlGx2drU4,65822
10
- voiceio/clipboard_read.py,sha256=266u_QoJb_n3iLuy5fbccPZJfpYpPkjsNtZxjDNmqAE,2062
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=TORjFrY6VDb36CbX9W-U4uDwRaEdcUQY369-uV_EF8U,8137
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=lhVMdBC-9uh25-7AXl30CVrmpL53KeGrZhY4HAtuxDI,8626
15
+ voiceio/demo.py,sha256=QRNJuNObXCsjwGD-Cz3dh81cfb21xiuSeVyyU720U9Q,8673
15
16
  voiceio/feedback.py,sha256=TyUy_wy5HNTO0u3opx58aaPXz7mAqeN98UbNdLfnoiw,5136
16
- voiceio/health.py,sha256=aJcULea1F06iUjjmREGcD-uO_JF_7zar3b5CFIR_uUM,15204
17
+ voiceio/health.py,sha256=5YNu1mMzwTo6I_Z_Mu3Bs46ZHDpVmxP0AXyMNAbaczc,15707
17
18
  voiceio/hints.py,sha256=dmoiMAJ0YGTWwFc9kIPvEs_BQJN7UEUiwYuLUD_GoQQ,1415
18
- voiceio/history.py,sha256=bku01AmAkbpl376ud9Ldjp-F-gYKyH1RXoHV5_cxK5s,2699
19
+ voiceio/history.py,sha256=v7ciyZui8MndaKtTF5TdTKmql2ALOZNYKguE0Mo_lTY,5581
19
20
  voiceio/llm.py,sha256=_m13jodMVB1iEtze3VGkBCafkg85OssTPBEVyaRabgA,9250
20
- voiceio/llm_api.py,sha256=Vjs7x_qphd95TmdPELbMlUdenKdtblusZVFm2G8FQJE,6159
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=5Z_bUVDrU3-tuGQW6zaW_Q5EAER4_y07-wDS3d132fU,7870
24
- voiceio/postcorrect.py,sha256=S4aIbMjeYny8-oo7kUQM-6YZB8IDAy7vi80-F1qjwRc,7860
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=sTxkKpaGoixmnWnNmygb7dwifu5aZZAXGqRgH1pketE,12026
28
- voiceio/retention.py,sha256=MhXW3BOw8m50-q6ty6zjXic95VfLjmr6nUQytRuVPK0,2838
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=epPaQbJLDP8U18RR7LJaQ_KuYmlx2E1gv2lJsJNkloo,11702
32
- voiceio/transcriber.py,sha256=dslLArdozpqYe2ddTh7KZCXT35TnDpv1dCnRsVZkDjQ,8109
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=GEG0ykw52kF81CIA9JlatA0rSTxIxapmCMbTuOzA4EM,63350
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=olvGTKCvJAXpRFkhZUhm_yDaRmIDMuRziVfZm6DdZLA,8129
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=HfJndqVcqYNSVI0o6IbojODRpvu6QW-AIag0diTNiv8,17035
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=OQPNmaA2DxTAaJKBYpWzh_R6JnPSfum9OpmF7KvKYD4,3728
72
- python_voiceio-0.4.0.dist-info/METADATA,sha256=u1G5NlIoTB4K8BDw_phICZPzzQR9ov4WaSadS3kbMn8,15381
73
- python_voiceio-0.4.0.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
74
- python_voiceio-0.4.0.dist-info/entry_points.txt,sha256=U64fA65zxzyLoC8bgbn2ztQVWHLsc0o0H0qCk1J9DMc,218
75
- python_voiceio-0.4.0.dist-info/top_level.txt,sha256=piwtn309lD6uexQyXdZ-efAVBJF9y6Wfr48Z-8zkNhg,8
76
- python_voiceio-0.4.0.dist-info/RECORD,,
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.4.0"
1
+ __version__ = "0.5.0"