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

Uploaded Python 3

File details

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

File metadata

  • Download URL: bloom_lims-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 bfee58770a0afc9d3f25a53a5c0efc2773cd0b8d71d8bcab730d593283094652
MD5 5662c5c7c5d97262f4bc0e34ba19c487
BLAKE2b-256 9bc3ff4bdbb610c5729c1708befa4c56adf2366453febd7a17fadaedb3be0470

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bloom_lims-1.0.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b78f95c171f9ba05b3d9e57e49bb6060c6bf68dba2af059b6d6631379c38b639
MD5 0cf6561ca693bc2f1181188aacd0876e
BLAKE2b-256 6696c9ceb572d84ab290e9f86fee893c64f99de18f4b246d03ebc1e341470235

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