summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md49
1 files changed, 40 insertions, 9 deletions
diff --git a/README.md b/README.md
index eb167d0..09db7cd 100644
--- a/README.md
+++ b/README.md
@@ -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