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-2.0.0.tar.gz (13.3 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-2.0.0-py3-none-any.whl (9.2 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for bloom_lims-2.0.0.tar.gz
Algorithm Hash digest
SHA256 a584a665b80eaf76aa4992d00e6226a48c555e76609542d332b5196a065cf7c2
MD5 b1162c64e2c7c6a14f1057e0001b81f0
BLAKE2b-256 8f511c0cfc9566d62b16a4f81b4aac5a5cfe61970e9eea6178f660133b11f72f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bloom_lims-2.0.0-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-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 74541fcb8e5d3430bb6382e063293aae68d9e5f9bb1c9a3cb8fe3fd6a30e8fa9
MD5 d9c1f659e7f1958356aa5e50eefa357a
BLAKE2b-256 0688fcb265af39e9406c320395e75d17743c7732f5d14dc99715f0f20824f246

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