Skip to main content

Templated Abstract Polymorphic LIMS - A Laboratory Information Management System

Project description

Bloom

Bloom is the wet-lab and material-state authority in this workspace.

It owns the physical side of the beta LIMS flow:

  • containers and placements
  • specimens and derived materials
  • extraction, QC, library-prep, pool, and run objects
  • sequenced library assignments
  • wet-lab queue membership and queue-transition state
  • Bloom-side lineage linking to Atlas fulfillment context

It does not own:

  • customer-portal data and tenant administration
  • patient, clinician, shipment, TRF, or test truth
  • artifact registry authority
  • analysis execution or result-return workflows

Runtime Shape

Bloom is a FastAPI application with both API and server-rendered GUI surfaces.

Primary entrypoints:

  • app entrypoint: main.py
  • app factory: bloom_lims.app:create_app
  • CLI entrypoint: bloom

Primary CLI groups:

  • bloom server: start, stop, status, logs
  • bloom db: TapDB lifecycle and Bloom template seeding
  • bloom integrations atlas: show and validate Atlas integration config
  • bloom test, bloom quality, bloom users, bloom config

API Surface

Canonical API router prefix: /api/v1

Core route groups mounted today:

  • /api/v1/objects
  • /api/v1/containers
  • /api/v1/content
  • /api/v1/equipment
  • /api/v1/templates
  • /api/v1/subjects
  • /api/v1/lineages
  • /api/v1/search
  • /api/v1/search/v2
  • /api/v1/object-creation
  • /api/v1/tracking
  • /api/v1/user-tokens
  • /api/v1/admin/*
  • /api/v1/external/specimens
  • /api/v1/external/atlas
  • /api/v1/external/atlas/beta

Server-rendered GUI routes remain active under the root app, including login, operational views, and graph screens.

Cross-Repo Boundaries

  • Atlas sends accepted-material and status traffic into Bloom.
  • Bloom links physical execution state back to Atlas TRF/test/fulfillment-item context.
  • Bloom can register run artifacts in Dewey when Dewey integration is enabled.
  • Ursa resolves sequencing context from Bloom using run and lane identifiers.

TapDB Mount

Bloom can mount the TapDB admin surface inside the same server process.

Mounted path defaults to /admin/tapdb.

Mounted-mode rules:

  • Bloom session auth is the gate.
  • access is admin-only
  • unauthenticated browser requests redirect to /login
  • mounted TapDB local login is disabled

Timezone Policy

  • Bloom persists timestamps in UTC.
  • display timezone is user-configurable via TapDB-backed system_user preferences
  • canonical preference key: display_timezone

Local Development

Typical local flow:

source bloom_activate.sh
pip install -e .
bloom db build
bloom server start --foreground

Focused validation commands:

source bloom_activate.sh
pytest --no-cov tests/test_api_atlas_bridge.py tests/test_atlas_lookup_resilience.py tests/test_queue_flow.py tests/test_run_resolver.py tests/test_beta_cross_repo_smoke.py
ruff check bloom_lims tests

Current Docs

Historical execution plans remain in docs/, but they are reference material rather than the primary source of truth.

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

bloom_lims-1.0.1.tar.gz (13.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bloom_lims-1.0.1-py3-none-any.whl (9.2 MB view details)

Uploaded Python 3

File details

Details for the file bloom_lims-1.0.1.tar.gz.

File metadata

  • Download URL: bloom_lims-1.0.1.tar.gz
  • Upload date:
  • Size: 13.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for bloom_lims-1.0.1.tar.gz
Algorithm Hash digest
SHA256 74c7950cd2bfc1fe7c27c3d83b67a52827cd5a4888c4c9e1fc8621e04caf28ea
MD5 2011a60109038b245229fe3ee18829bf
BLAKE2b-256 0bc7cddaa0ed247e96f188bd5781220158e261fe0f6b30f47cadd6781ead02be

See more details on using hashes here.

File details

Details for the file bloom_lims-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: bloom_lims-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for bloom_lims-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d0283ea4f9f9de1fff20d3c3ad802b3e0da7faae5501b6334be1c203983d20f9
MD5 20a15e86c7cdf9dc446c003128c1ef0f
BLAKE2b-256 8c6a08e967c63c835655ca6330e47262c7599ff8b7c374cdb5098b4b05ed7922

See more details on using hashes here.

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