plexora
Start the Plexora local image viewer server.
Start the Plexora viewer and open it in your browser. With a project name, open that project directly. Plexora picks port 8000, or the next free one if 8000 is taken, and recognises JupyterHub, Open OnDemand, Colab and SSH sessions on its own so that the address it prints works where you are.
Usage
plexora [-h] [--version] [--host HOST] [--port PORT] [--data-dir DATA_DIR]
[--data-dir-default DATA_DIR_DEFAULT] [--base-url BASE_URL] [--plugins PLUGINS]
[-r] [--login-host LOGIN_HOST] [--bind-node] [--ood] [--no-token]
[--allowed-host NAME] [--also-serve KIND:ID=PATH] [--node-port NODE_PORT]
[--node-allow-origin ORIGIN] [--no-detect] [--allow-source-writes] [--desktop] [-v]
[--browser | --no-browser]
[datasource]Arguments
datasourceOptional datasource/project name to open directly.
Options
--versionshow program's version number and exit
--host HOSTdefault 127.0.0.1--port PORTPort to serve on (default 8000, or the next free one if that is taken). Pass 0 to always pick a free port.
--data-dir DATA_DIR--data-dir-default DATA_DIR_DEFAULTData directory to adopt if this account has not chosen one yet. A recorded setting always wins over it. This is what plexora connect sends, so a saved profile cannot silently point the viewer somewhere the account's own commands do not write.
--base-url BASE_URL--plugins PLUGINSComma-separated plugins to activate. Omit for all installed; pass an empty string for a core-only build.
-r, --remoteServing on a machine you reached over SSH: print the exact tunnel command to run from your own computer.
--login-host LOGIN_HOSTWith --remote on a cluster, the login node to tunnel through when the scheduler does not say.
--bind-nodeWith --remote on a cluster, bind all interfaces so the login node can forward to this one. For sites that refuse ssh into a compute node; the port becomes visible cluster-internally.
--oodServing from inside an Open OnDemand session: bind all interfaces, mount under the portal's /rnode/ proxy and print a token-protected URL to open through the portal.
--no-tokenServe without the per-user access token (the URL then needs no ?token=). Pages from other sites are still refused writes.
--allowed-host NAMErepeatableA host name, besides localhost and IP addresses, this viewer answers to -- e.g. an /etc/hosts alias for 127.0.0.1. Repeat for each.
--also-serve KIND:ID=PATHrepeatableAlso run a data node beside this viewer, serving one resource, e.g. --also-serve table:cells=/scratch/cells.h5ad. Repeat for each. Started as a second process and stopped with this one; plexora connect --also-serve sets it up from the other end and registers it for you.
--node-port NODE_PORTdefault 8642Port for the data node started by --also-serve.
--node-allow-origin ORIGINrepeatableA viewer origin the data node will accept browser requests from, so tiles can be fetched directly rather than relayed. Repeat for each.
--no-detectDo not work out the environment. Plexora otherwise recognises JupyterHub, Open OnDemand, Colab and an SSH session on its own and configures the URL to match; pass this to serve plain localhost regardless.
--allow-source-writesLet a token with admin scope (plexora ai token create --scope admin) write gates, QC flags and ROI columns into source files through /agent/v1/capabilities -- still only with confirm=true per call. Off by default: plain loopback and bridge calls never may.
--desktopinternalRun as the Plexora desktop app's server: loopback only, a per-launch token, one JSON ready line on stdout, and exit when stdin closes. Started by the app; not meant to be typed.
-v, --verboseShow what Plexora is doing as it loads and serves (debug messages, on stderr). PLEXORA_LOG_LEVEL=info is a quieter middle ground.
--browserOpen the Plexora URL in a browser even if the environment looks headless.
--no-browserDo not open a browser; only print the URL and serve.
Only one of --browser, --no-browser may be given.
Examples
Start the viewer
plexoraOpen one project directly
plexora exemplar-001Serve on a fixed port without opening a browser
plexora --port 8080 --no-browserOn a machine you reached over SSH
plexora --remotePrints the exact ssh -L command to run on your own computer.
Inside an Open OnDemand session
plexora --oodCore viewer only, no plugins
plexora --plugins ""Python equivalent
In a notebook, plexora.view(name) opens a project inline instead.
import plexora
plexora.view("exemplar-001")