diff --git a/AGENTS.md b/AGENTS.md index 8f36940..fe62483 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -20,8 +20,8 @@ uv sync # base install (Anthropic, OpenAI, LiteLLM + Nice uv sync --extra bertopic # + BERTopic topic backend (heavy) cp .env.example .env # add provider key(s); loaded automatically -uv run conference-analyzer # NiceGUI GUI on http://localhost:6868 -uv run conference-analyzer --clear-cache # wipe the on-disk cache +uv run conflens # NiceGUI GUI on http://localhost:6868 +uv run conflens --clear-cache # wipe the on-disk cache ``` The GUI (`app.py`) is a thin **NiceGUI** presentation layer; all non-UI logic @@ -46,7 +46,7 @@ behaviour, add a test next to the matching `tests/test_*.py`. Beyond the automated gate, for changes with real runtime surface: -- **Boot the app:** `uv run conference-analyzer`, confirm `GET /` returns 200 +- **Boot the app:** `uv run conflens`, confirm `GET /` returns 200 and the logs are clean. - **Scraper/source changes:** also validate against the live source (counts, a sample record's title/authors/abstract). ACL listing pages are large and may diff --git a/CLAUDE.md b/CLAUDE.md index ef339c0..ab7fc5e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -28,6 +28,6 @@ stays — this policy is about tooling attribution, not the app's providers. ## Front-end (NiceGUI) The app has a single **NiceGUI** GUI in `conflens/app.py` (console script -`conference-analyzer`). All non-UI logic (filtering, sorting, highlighting, the +`conflens`). All non-UI logic (filtering, sorting, highlighting, the computed view, exports) lives in **`conflens/view.py`** and the pipeline — put behaviour changes there so the UI stays a thin presentation layer. diff --git a/Dockerfile b/Dockerfile index a051d2d..1fef501 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,7 +20,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \ --mount=type=bind,source=pyproject.toml,target=pyproject.toml \ uv sync --frozen --no-install-project ${EXTRAS} -# 2) Copy the project and install it (the conference-analyzer entry point). +# 2) Copy the project and install it (the conflens entry point). COPY . /app COPY --link .env* /app/ RUN --mount=type=cache,target=/root/.cache/uv \ @@ -38,6 +38,6 @@ ENV HOME=/home/app EXPOSE 6868 # ENTRYPOINT + CMD: default launches the server; `docker run --clear-cache` -# (or any other flags) is appended to `conference-analyzer`. -ENTRYPOINT ["conference-analyzer"] +# (or any other flags) is appended to `conflens`. +ENTRYPOINT ["conflens"] CMD ["--host", "0.0.0.0", "--port", "6868"] diff --git a/README.md b/README.md index 3c84f09..4458da0 100644 --- a/README.md +++ b/README.md @@ -55,9 +55,12 @@ Requires Python 3.13+ and [uv](https://docs.astral.sh/uv/). ```bash uv sync # Claude, OpenAI, LiteLLM work out of the box cp .env.example .env # then fill in your provider key(s) -uv run conference-analyzer # or: uv run python run.py +uv run conflens # or: uv run python run.py ``` +(`conflens` is the console command once the package is installed; +`conference-analyzer` remains as an alias.) + Then open . Keys are read from `.env` (loaded automatically) or the process environment; @@ -248,11 +251,11 @@ rebuild from scratch. To wipe the cache from the command line: ```bash -uv run conference-analyzer --clear-cache # default ~/.cache/conflens -uv run conference-analyzer --clear-cache --cache-dir /path/to/cache +uv run conflens --clear-cache # default ~/.cache/conflens +uv run conflens --clear-cache --cache-dir /path/to/cache ``` -Other flags: `--host`, `--port` (run `conference-analyzer --help`). +Other flags: `--host`, `--port` (run `conflens --help`). ## Cost diff --git a/conflens/cli.py b/conflens/cli.py index 5539b5b..1d842e5 100644 --- a/conflens/cli.py +++ b/conflens/cli.py @@ -26,7 +26,7 @@ def _load_env() -> None: def _parse_args(argv: list[str] | None = None) -> argparse.Namespace: parser = argparse.ArgumentParser( - prog="conference-analyzer", + prog="conflens", description="Browse, theme-classify, and topic-model conference papers.", ) parser.add_argument( diff --git a/pyproject.toml b/pyproject.toml index ef17ed9..32633c9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,7 +20,8 @@ dependencies = [ bertopic = ["bertopic>=0.16"] [project.scripts] -conference-analyzer = "conflens.cli:main" +conflens = "conflens.cli:main" +conference-analyzer = "conflens.cli:main" # backward-compatible alias [dependency-groups] # Installed by default with `uv sync`; used for tests + linting / CI. diff --git a/run.py b/run.py index 808ace9..e75cd9a 100644 --- a/run.py +++ b/run.py @@ -1,6 +1,6 @@ """Convenience launcher: ``uv run python run.py`` (or ``python run.py``). -Equivalent to the installed ``conference-analyzer`` console script. +Equivalent to the installed ``conflens`` console script. Open http://localhost:6868 once it is running. """