diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 49 |
1 files changed, 40 insertions, 9 deletions
@@ -6,7 +6,7 @@ See [SPEC.md](SPEC.md) for the architecture, delivery phases, insertion experime ## Status -Phase 1 is underway. The repository now contains a terminal-independent Python core for FFmpeg recording, JSONL transcription, and atomic transcript persistence, plus a standalone terminal frontend. The daemon, D-Bus API, clipboard integration, and GNOME extension are not implemented yet. +Phase 1's core is implemented and Phase 2 is underway. The repository contains the standalone frontend, an asynchronous per-user D-Bus daemon, `parleyctl`, GDK clipboard copying, prototype notifications, and service definitions. The custom shortcut installer, insertion experiments, and GNOME extension are not implemented yet. ## Development environment @@ -32,22 +32,23 @@ That binary presently requires host CUDA 13 and Intel MKL libraries. Do not copy ## Current developer usage -Create an environment and install the development checkout: +Set up the development checkout with `uv` and Arch's current system Python (Python 3.14). PyGObject is supplied by Arch, so the uv environment must inherit system site packages: ```bash cd ../parley -python -m venv .venv -. .venv/bin/activate -python -m pip install -e . +uv venv --python /usr/bin/python --system-site-packages +uv pip install -e . ``` +Use `uv run` for local Python commands. + Run the standalone frontend (Enter stops and transcribes; Escape cancels): ```bash -parley +uv run parley ``` -By default it uses the runtime and model in `../transcribe-parakeet` and saves under `$XDG_DATA_HOME/parley/transcripts` (normally `~/.local/share/parley/transcripts`). Development paths can be overridden with: +By default it finds `transcribe-cli` on `PATH` and the model at `$XDG_DATA_HOME/parley/models/parakeet-unified-en-0.6b-Q8_0.gguf`. During development, each falls back to the corresponding asset in `../transcribe-parakeet`. Transcripts are saved under `$XDG_DATA_HOME/parley/transcripts` (normally `~/.local/share/parley/transcripts`). Paths can be overridden with: - `PARLEY_FFMPEG` - `PARLEY_TRANSCRIBE_CLI` @@ -59,10 +60,40 @@ By default it uses the runtime and model in `../transcribe-parakeet` and saves u Run tests without desktop, microphone, or model dependencies: ```bash -python -m unittest discover -s tests +uv run python -m unittest discover -s tests +``` + +Run the daemon in a terminal for development: + +```bash +uv run parleyd ``` -Commands such as `parleyctl` and daemon startup will be documented when Phase 2 lands. +In another terminal, control it over the session bus: + +```bash +uv run parleyctl status +uv run parleyctl toggle # start recording +uv run parleyctl toggle # stop and transcribe +uv run parleyctl cancel +uv run parleyctl copy +``` + +## Arch Linux package + +The local PKGBUILD installs `parleyd` and the other executables under `/usr/bin`, the systemd **user** unit under `/usr/lib/systemd/user`, and the session D-Bus service under `/usr/share/dbus-1/services`. It builds from the latest committed state of this checkout: + +```bash +git status # commit the source you want packaged +cd packaging/arch +makepkg -si +systemctl --user daemon-reload +systemctl --user enable --now parley.service +``` + +The package deliberately does not bundle the runtime or model. Put `transcribe-cli` on `PATH` (for example at `~/.local/bin/transcribe-cli`) and the model at `~/.local/share/parley/models/parakeet-unified-en-0.6b-Q8_0.gguf`, or set the documented environment overrides. User-manager environment overrides can be placed in `~/.config/environment.d/parley.conf`; log in again after changing them. + +The daemon uses GDK 4 for clipboard ownership and `notify-send` for prototype notifications. ## Planned first milestone |
