Skip to content

Aperture — Interface Layer

Not Yet Implemented

Aperture is in the design specification phase. The CLI design is fully specified for v0.1; the web UI and API client libraries are deferred to v0.2.

Aperture is the interface layer of the BASS platform. It provides the tools that humans use to interact with Hippo, Cappella, Canon, and Bridge — via a command-line interface, a web-based portal, and programmatic API client libraries.

Aperture does not contain business logic. It translates user intent into calls against the underlying BASS component SDKs and APIs, and presents the results in human-readable form. Aperture is to BASS what git CLI + GitHub UI are to Git: a thin, ergonomic surface over a well-defined SDK layer.

Who Is Aperture For?

Persona Primary interface Key workflows
Bench scientist Web portal (v0.2) Browse entities, request collections, view provenance, download manifests
Bioinformatician CLI + Python SDK Query entities, trigger ingestion, inspect schemas, script collection requests
Data manager CLI + Web portal Bulk ingest metadata, monitor reconciliation, review audit trails
Platform admin CLI Check system status, validate schemas, manage configuration

When to Use Aperture

Use Aperture when you need to:

  • Browse and search Hippo entities from the command line or (in v0.2) a web browser
  • Create and update entities interactively, with guided workflows and validation
  • Inspect schemas — see what entity types, fields, relationships, and validation rules are loaded
  • Trigger ingestion — load metadata from flat files or external sources
  • View provenance — see the full change history of any entity

Aperture works with or without other BASS components. A researcher using only Hippo on their laptop uses the bass CLI. A team running the full platform uses the same CLI plus the web portal with Bridge for authentication.

Key Features

  • CLI-first — Typer-based CLI (bass command) with auto-completion and --format table|json|csv output
  • Entity browsing — List, filter, inspect, and search Hippo entities
  • Entity management — Create, update, and change availability of entities
  • Provenance viewing — Browse entity history and provenance events
  • Ingestion — Trigger and monitor batch ingestion jobs
  • Schema inspection — Display loaded schema, entity types, fields, and validation rules
  • System status — Show deployment health: component connectivity, adapter types, entity counts

Not Yet Implemented

The following features are planned for v0.2 and are not yet available:

  • Web portal — Browser-based entity browsing and management
  • API client libraries — Python and R client packages
  • Cappella/Canon/Bridge integration — Cross-component operations via CLI

Key Concepts

Concept Description
bass CLI The primary command-line tool. Wraps Hippo SDK (local mode) or Hippo REST API (remote mode).
Output formats All commands support --format table\|json\|csv for scripting and human readability.
Local vs. remote mode Configure Aperture to use Hippo's Python SDK directly (no server needed) or point at a remote REST endpoint.
Stateless Aperture stores no persistent state. All data lives in Hippo.

Getting Started

pip install bass-aperture
bass config set hippo.url http://localhost:8000  # or use local SDK mode
bass entity list Subject
bass schema show Subject

See the Quick Start guide for a 10-minute walkthrough covering entity browsing, creation, search, and provenance viewing.

  • Hippo — Primary data source for entity browsing and management (v0.1)
  • Cappella — Collection requests and ingestion triggers (v0.2)
  • Canon — Artifact resolution display (v0.2)
  • Bridge — Authentication delegation for multi-user deployments (v0.2)

User Documentation

Design Specification