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.14.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.14-py3-none-any.whl (7.0 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rbrowser-0.1.14.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.14.tar.gz
Algorithm Hash digest
SHA256 57dd5f713137f11f21c33ef032bf3fdb867e7af9f9dc6664fb92578a69566a89
MD5 9ccacb0412ed576e1ac115fbfa1a37be
BLAKE2b-256 d7643fb22259a61841bd0354df971c1ef9b38cce79f237779d203683dab19ea0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rbrowser-0.1.14-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.14-py3-none-any.whl
Algorithm Hash digest
SHA256 500bcd8d5ef8b0d276079415ece22d6aaeff6917366483d08fde482c761a45c8
MD5 7a81f5be04a0d3dd84d2a51aad52e666
BLAKE2b-256 3179d96714a177c91355158ba755f59cedb582499bdc156429c38917a2516a62

See more details on using hashes here.

Provenance

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