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

Uploaded Python 3

File details

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

File metadata

  • Download URL: bloom_lims-0.32.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-0.32.1.tar.gz
Algorithm Hash digest
SHA256 dcd66f0b010c859723fda6fb2b19f3281d1076e536bcb5e0854187e8b71d13f6
MD5 cdd5e40d07e3475d1358500b8bda0230
BLAKE2b-256 74924ed6181f385db9abbff821564272e1335624d14d35b7fea0d395ee919134

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bloom_lims-0.32.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-0.32.1-py3-none-any.whl
Algorithm Hash digest
SHA256 24110e62e4810a69ffa1bd3950353db6d50f92da740faf1e9bce629b6e0825ed
MD5 5dba53676004695f7fcabd968ccdaebe
BLAKE2b-256 a703975388d6f2af593e70cd3171e956f7aa0ec6afe02765dbe1e52fb11cf980

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