Skip to main content

Launch RBrowser with a local or remote (SSH) directory as a file server

Project description

RBrowser CLI

Launch RBrowser with a local or remote (SSH) directory as a file server backend. The frontend UI is bundled inside the wheel — one pip install and you're ready to go (no Node.js, no extra build step).

Install

pip install rbrowser-cli

Usage

# Open current directory (UI served from http://localhost:<port>)
rbrowser open .

# Open a specific directory
rbrowser open /data/myproject

# Open a remote SSH directory (requires ssh-agent or key auth)
rbrowser open user@host:/data/myproject

# Use a custom port
rbrowser open . --port 8888

# Override the bundled UI with a hosted RBrowser
rbrowser open . --frontend https://rbrowser.org

The CLI prints (and auto-opens) a URL like http://localhost:<port>/#/main?fileServerUrl=..., which jumps the user directly to the Main view's File Explorer panel — no home-page detour.

When run on a remote SSH host, the URL is printed as a Ctrl+Click hyperlink so you can open it from your local terminal.


Maintainer notes (release flow)

End users do not need to do this. To produce a wheel that ships the UI:

# One-shot: install JS deps, build frontend, build sdist + wheel
node rbrowser-cli/scripts/build_release.mjs

# Skip the npm install (faster local iterations)
node rbrowser-cli/scripts/build_release.mjs --skip-install

# Or via npm:
npm run release:cli                 # full pipeline
npm run build:cli-wheel             # skip-install variant

# Output is in rbrowser-cli/dist/  (sdist + wheel)

Publishing to PyPI via GitHub Actions

The workflow .github/workflows/publish-rbrowser-cli.yml publishes a release to PyPI using Trusted Publishing (OIDC — no API token in repo secrets). To set it up once:

  1. On https://pypi.org/manage/account/publishing/, add a pending publisher:
    • PyPI project name: rbrowser-cli
    • Owner: typekey · Repository: rna-browser
    • Workflow: publish-rbrowser-cli.yml
    • Environment: pypi
  2. In the GitHub repo Settings → Environments, create an environment named pypi (optionally with a required reviewer).

Then to release:

# One-liner: bump patch version, build, commit, tag, push.
# (PyPI is published automatically by the GitHub Action.)
npm run release:cli:patch        # 0.1.0 -> 0.1.1
npm run release:cli:minor        # 0.1.0 -> 0.2.0
npm run release:cli:major        # 0.1.0 -> 1.0.0

# Or pick an explicit version (and add --push when ready):
node rbrowser-cli/scripts/release.mjs 0.2.3 --push

# Dry-run / inspect first; create the tag locally without pushing:
node rbrowser-cli/scripts/release.mjs patch              # local tag only
node rbrowser-cli/scripts/release.mjs patch --dry-run    # print, don't mutate

What release.mjs does:

  1. Resolves the new version (explicit or patch / minor / major bump).
  2. Verifies the working tree is clean and on main (override with --allow-dirty / --branch=…).
  3. Rewrites pyproject.toml's version.
  4. Runs the full local build (skip with --no-build) so you can spot any issue before the tag is pushed.
  5. Commits, creates the annotated tag rbrowser-cli-vX.Y.Z, and (with --push) pushes both to origin — which fires the publish workflow.

Manual fallback (no script):

# Update version in rbrowser-cli/pyproject.toml first.
git commit -am "chore(rbrowser-cli): release v0.1.1"
git tag rbrowser-cli-v0.1.1
git push origin main rbrowser-cli-v0.1.1

pyproject.toml already declares frontend/**/* as package-data, so the built UI is included in the wheel automatically.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rbrowser-0.1.13.tar.gz (6.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rbrowser-0.1.13-py3-none-any.whl (7.0 MB view details)

Uploaded Python 3

File details

Details for the file rbrowser-0.1.13.tar.gz.

File metadata

  • Download URL: rbrowser-0.1.13.tar.gz
  • Upload date:
  • Size: 6.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rbrowser-0.1.13.tar.gz
Algorithm Hash digest
SHA256 7f05d46cddad28790850da7613fb08f46e68c7c4d8a51bb1d17927f35eaadd1e
MD5 8a9041be5a2f5deae8976aa9ba6ff716
BLAKE2b-256 8fb1a5ae10a65163b5a2cf1e53f11119943b5f7af880aa3c9e3763968663715b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rbrowser-0.1.13.tar.gz:

Publisher: publish-rbrowser-cli.yml on typekey/rna-browser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rbrowser-0.1.13-py3-none-any.whl.

File metadata

  • Download URL: rbrowser-0.1.13-py3-none-any.whl
  • Upload date:
  • Size: 7.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rbrowser-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 c48a9fc3bc22f3dc412e5653c9e9fb6d678d5570bc9bd9e2a70d00948826e8bb
MD5 d07d9948eb0bcb07aa05e207b29ccc4f
BLAKE2b-256 706c4a203e6798f6cf655cbc2d30b9307826b36b90af4f709fec2b0fe49f0003

See more details on using hashes here.

Provenance

The following attestation bundles were made for rbrowser-0.1.13-py3-none-any.whl:

Publisher: publish-rbrowser-cli.yml on typekey/rna-browser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page