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

Uploaded Python 3

File details

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

File metadata

  • Download URL: rbrowser-0.1.7.tar.gz
  • Upload date:
  • Size: 25.4 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.7.tar.gz
Algorithm Hash digest
SHA256 29bbe4aaa477bc760acc537fa205527959574a6ac2d540eba0a0e3a697752bdb
MD5 4c0842feb6706d12e701515b6aca0433
BLAKE2b-256 946f1441b442c65552fd26a501d2bcabbf1c5ebc54350a9ba99bf9b19a0096b6

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rbrowser-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 25.5 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 76e5ea215dee3cc32a93dc6feb4ac114f35783fcde8154ca3488375708965f21
MD5 a01cefdb830b23ecf3b32aa47c99b15d
BLAKE2b-256 c74a0409b46b91c4b093574bc89746b96dab4efbb38dcd5743543c51211dd997

See more details on using hashes here.

Provenance

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