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.3.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.3-py3-none-any.whl (9.2 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bloom_lims-1.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 29acee75a2a0132893fb1e5137045ee0f2637b15778618578717b55eeb473ec2
MD5 4c360a458e29386285e8f1a7d8f5e178
BLAKE2b-256 0a9b495218dc9f296fd9725765b3f9a440535c4bad67b58a61c5df9401c747c6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bloom_lims-1.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b05d71aa9e99065c239bf8701720bd648a99ef251bba09f145835bdaa893fc1b
MD5 5bfae495a0717914e45ae67790f63258
BLAKE2b-256 1cdc3a1a1ae59a74fdfe8172d196a8ae06b61f80ede9667cf450f60c6266abbc

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