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.12.tar.gz (27.2 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.12-py3-none-any.whl (27.3 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rbrowser-0.1.12.tar.gz
  • Upload date:
  • Size: 27.2 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.12.tar.gz
Algorithm Hash digest
SHA256 a7efd1659b901a8767d253b4ef88619269c8be8b0b6968969df4350425f7b97b
MD5 507e84149340ef05e016011f242d287d
BLAKE2b-256 b1df4f4c8cc1dc04b9660e4ec46701a85e9df817bf6bfd6dad6c5148e35d95e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for rbrowser-0.1.12.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.12-py3-none-any.whl.

File metadata

  • Download URL: rbrowser-0.1.12-py3-none-any.whl
  • Upload date:
  • Size: 27.3 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.12-py3-none-any.whl
Algorithm Hash digest
SHA256 543be0f3d56eb0d2e0e7f650ac362028375e65f65626990b4465d6f3fbe48318
MD5 9a6e84dffc9368cee89cb564efb7be6b
BLAKE2b-256 219a902f8abcbd5f10118ff9647d96544a22c83d2a47a3dee308ff19e754a631

See more details on using hashes here.

Provenance

The following attestation bundles were made for rbrowser-0.1.12-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