The workbench

The workbench is Apptrope’s home screen, the place you return to between runs. Every app you point Apptrope at is saved here automatically, so your Library grows as you work. From the workbench you can search past apps, launch several of them at once in isolated tabs, read the live output from any run, and keep things tidy with pin, rename, and remove. This page walks through each of those pieces.

The Apptrope workbench: a searchable Library of saved apps, each shown as a card with its framework badge, source, and run count, plus the Run bar in the top corner.

Your workbench: the Library of saved apps, with the Run bar top-right and per-app cards below.

The Library

The Library is the grid of cards under Your workbench. You never add apps to it by hand. Every app you run is saved here automatically, so the Library becomes a record of everything you’ve opened in Apptrope. The heading shows the current count (for example, Apps · 6).

Each card carries the app’s metadata at a glance:

  • A framework badge showing the language (R or py) and the framework it runs on (Shiny, Streamlit, Gradio, Dash, Marimo, Solara, and so on).
  • The app name.
  • A one-line description.
  • The author (by Jane Researcher).
  • The source it was loaded from, such as a local path (~/apps/forecast-lab), a Git URL (github.com/jane-r/penguins-explorer), a gist, or a bundle (notes.apptrope).
  • The date it was last touched and its run count (Jul 1 · 37 runs).

Searching

Type in the Search apps… box above the grid to filter the Library. This is the fastest way to find something again once you’ve accumulated more than a screenful of apps. Search narrows the cards as you type.

Re-running from the Library

To run a saved app again, open its card (double-click, or use Open from the menu described below). Apptrope reuses the environment it resolved the first time, so repeat runs start quickly rather than re-resolving dependencies from scratch.

Running several apps at once

The workbench is multi-tab. The tab strip lives in the top bar next to the Library tab, with a + button to open a new one. Each running app gets its own tab and its own isolated environment, so you can keep several apps live side by side without them interfering with one another. Switch between them by clicking their tabs. The Library tab always stays available to launch more.

Because each tab is fully isolated, one app’s packages, R or Python version, and environment variables never leak into another’s. Running a Shiny app in one tab and a Streamlit app in the next is completely safe.

Per-app actions: the ⋯ menu

Every card has a button in its top-right corner. Opening it reveals the actions available for that app:

The per-app actions menu opened on a card, listing Open, Rename, Pin/Unpin, Remove, View logs, Environment, and Export bundle.

The menu on a card, with the app’s per-run and management actions.

Action What it does
Open Launches the app in a tab (same as opening the card).
Rename Gives the app a friendlier name in your Library.
Pin / Unpin Marks the app so it stays easy to find. The label reflects the current state. A pinned app shows Unpin.
Remove Takes the app out of your Library.
View logs Opens the captured output for the app’s runs (see below).
Environment… Opens the per-app environment-variable editor.
Export bundle… Packages the app into a shareable .apptrope file.

Pinning

You can also pin straight from the card without opening the menu. Click the star next to the app name. A filled star means the app is pinned. Pinning is just for your own convenience in keeping frequently-used apps prominent.

Renaming

Rename changes only the display name in your Library. It doesn’t touch the app’s source, its files, or its resolved environment. It’s purely a label to help you tell your apps apart.

Removing

Remove takes the app off your workbench. Use it to clear out apps you no longer need so the Library stays focused on what you actually use.

Per-run logs

Apptrope captures the full output of every run, live. That’s everything the app writes as it resolves dependencies and starts up. To read it, open a card’s → View logs.

Logs are the first place to look when an app doesn’t behave as expected:

  • If an app fails to start, the log usually shows the underlying error from the framework or the dependency resolver.
  • If a run is slow the first time, the log shows the resolve step doing its work. That only happens once per environment. Later runs reuse it.
  • If the app prints diagnostics or warnings of its own, they’re captured here too.

Because logs are kept per app, you can compare a working run against a broken one without them getting mixed together.

Where to go next

  • Set per-app secrets and configuration from → Environment… (see the environment-variables page).
  • Share an app with someone using → Export bundle… (see the bundles and sharing page).