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

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: rbrowser-0.1.15.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.15.tar.gz
Algorithm Hash digest
SHA256 ab04956681195e995836b44a593db8c8672ea7bbe1ace5c8dc3b9e7c9d6f5153
MD5 5ec938d89e5a7294b0822431bf0f4768
BLAKE2b-256 7bbc3ef467141d8aac88ce140c21cc1d68890d3592853e38737c9868f6e3cf80

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rbrowser-0.1.15-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.15-py3-none-any.whl
Algorithm Hash digest
SHA256 c475363ebe00db2f6fc981c9716c2b362946a4ef70b0e709a62b6af234f11eba
MD5 54ad9b5f00c00ea493068c377a1cdb5f
BLAKE2b-256 60cbe4fc2ef239937b3a6578bd279fcdd2ff8e1ca52fe05e1478a4045d11aa5d

See more details on using hashes here.

Provenance

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