Skip to content

Releases: xxxxxthhh/rmclient

rmclient v0.2.1 — PyPI page link fixes

Choose a tag to compare

@xxxxxthhh xxxxxthhh released this 29 Aug 13:29

Patch release: all README links are now absolute, so the PyPI project page renders screenshots and documentation links correctly (they were relative and broke off-GitHub). Also hardens the publish pipeline: build/test and upload are separate jobs, releases are gated on tag-version match and non-prerelease, and the pypi environment only accepts v* tags. No functional changes.

rmclient v0.2.0 — uvx onboarding

Choose a tag to compare

@xxxxxthhh xxxxxthhh released this 29 Aug 13:00

Now on PyPI — with uv installed, no clone, no environment variables:

uvx rmclient demo            # try the real UI offline, no server or credentials
uvx rmclient setup           # interactive wizard: URL, email, password — then verifies the login
uvx rmclient serve --open    # open your own library in the browser

New

  • Published to PyPI via GitHub Trusted Publishing (OIDC, no tokens anywhere).
  • rmclient setup — interactive configuration wizard. Writes ~/.config/rmclient/config.toml plus a mode-600 password file, then signs in and reports what it sees. Environment variables still win when set; the existing fallback behaviour is unchanged.
  • rmclient demo — the offline in-memory demo is now part of the package (previously a repo-only script).
  • rmclient serve --open — opens the browser once the server is actually up.
  • Wheel-content regression checks (every page asset must ship).

Fixed

  • Freshly uploaded documents no longer show their own name as a type badge (the tree's type field echoes the visible name until the device syncs; presentation now filters it).
  • The deletion journal moved to the XDG state directory — under uvx it previously landed inside uv's cache and could vanish on uv cache clean.

Compatibility

Unchanged: tested only against rmfakecloud v0.0.31, not a client for the official reMarkable Cloud, deletes are permanent and propagate to the device. Requires Python 3.14 (managed automatically by uv).

rmclient v0.1.0 — initial public release

Choose a tag to compare

@xxxxxthhh xxxxxthhh released this 28 Aug 16:48

A local web UI + CLI for managing a self-hosted rmfakecloud library.

Highlights

  • Push EPUB / PDF / .rmdoc into any folder, with local content validation and duplicate-name detection before anything is sent
  • Full document tree management: search, sort, create/rename/move, multi-select bulk operations, explicit deletion plans with post-delete resurrection checks
  • Notebook preview rendered from .rm v6 (via rmscene) and whole-notebook PDF export
  • Download originals or complete .rmdoc packages (device annotations live in the package)
  • Duplicate-name report (report-only, never deletes)
  • English / Chinese UI with a top-bar switcher; English default, zh auto-detected
  • Offline demo — try the real UI with an in-memory public-domain library, no server or credentials:
    uv run python scripts/demo_serve.py

Compatibility & safety

  • Tested only against rmfakecloud v0.0.31 (the current latest release); the observed /ui/api contract and its pitfalls are documented in spike/REPORT.md
  • Not a client for the official reMarkable Cloud
  • Deletes are permanent and propagate to the device; the UI shows the full subtree before you confirm and records deletions for later resurrection re-checks
  • serve logs in once per process; restart it when the JWT expires
  • Requires Python 3.14 + uv; developed on macOS, CI on Linux