Templated Abstract Polymorphic LIMS - A Laboratory Information Management System
Project description
Bloom
Bloom is the LSMC beta authority for physical and material LIMS state.
Bloom owns:
- containers
- specimens
- plates and wells
- extraction outputs
- library prep outputs
- pools
- sequencing runs
- queue membership and queue-transition state for wet-lab execution
Bloom does not own:
- accessioning
- customer, order, patient, provider, shipment, or kit truth
- workflow or workflow-step orchestration for the beta path
Beta Architecture
The active beta path is queue-driven.
Canonical queues:
extraction_prodextraction_rndpost_extract_qcilmn_lib_prepont_lib_prepilmn_seq_poolont_seq_poolilmn_start_seq_runont_start_seq_run
Atlas records intake outcomes first. Bloom accepts only Atlas-approved material, stores explicit Atlas external links on Bloom-owned objects, and preserves lineage from specimen and container through plate and well placement, library prep, pooling, and sequencing run creation.
Ursa resolves run_euid + index_string through Bloom and receives:
atlas_tenant_idatlas_order_euidatlas_test_order_euid
Public beta APIs return EUIDs only. Internal UUIDs are not part of the supported contract.
Active Beta APIs
Atlas and Ursa integration paths live under:
/api/v1/external/specimens/api/v1/external/atlas/api/v1/external/atlas/beta
The queue-driven beta endpoints are:
POST /api/v1/external/atlas/beta/materialsPOST /api/v1/external/atlas/beta/queues/{queue_name}/items/{material_euid}POST /api/v1/external/atlas/beta/extractionsPOST /api/v1/external/atlas/beta/post-extract-qcPOST /api/v1/external/atlas/beta/library-prepPOST /api/v1/external/atlas/beta/poolsPOST /api/v1/external/atlas/beta/runsGET /api/v1/external/atlas/beta/runs/{run_euid}/resolve?index_string=...
Legacy Isolation
Legacy workflow and do_action code still exists in the repo for non-beta surfaces and historical GUI paths, but it is not on the active beta integration route. The old /api/v1/actions/execute API has been retired from the active API surface.
If a codepath depends on workflow-step runtime, accession ownership, or UUID-based external contracts, it is not part of the supported beta system.
Development
Bloom runs on the TapDB-backed adapter layer used across the LSMC refactor. The beta queue flow uses explicit object creation, lineage writes, targeted lookup queries, and idempotency keys on direct integration calls.
Focused validation commands for the beta refactor:
source bloom_activate.sh
pytest tests/test_api_atlas_bridge.py tests/test_atlas_lookup_resilience.py tests/test_queue_flow.py tests/test_run_resolver.py
ruff check bloom_lims tests
Remaining Shared-Library Gap
Bloom no longer uses the retired API-level do_action route for beta execution, but the repo still lacks first-class TapDB modern action templates dedicated to the new lab-operation events. That shared-library gap is documented in docs/tapdb_required_changes.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bloom_lims-0.31.0.tar.gz.
File metadata
- Download URL: bloom_lims-0.31.0.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1b7d6b58e7d24a310fb051885aefe871139c9b1be94432f8d45233e22b9be62
|
|
| MD5 |
8bf711c39becc27b7f7ca310fc73a3cc
|
|
| BLAKE2b-256 |
dded711a6fb706c2e86bcc70b745ae86d491ca8af27b01ca186ab76273ac1789
|
File details
Details for the file bloom_lims-0.31.0-py3-none-any.whl.
File metadata
- Download URL: bloom_lims-0.31.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae7042a2436f60dcd38483d1aa5e6459771920934f334c1a6ec25c4fe81a3cf5
|
|
| MD5 |
04ecf5341beb271e5b9a67588a1d5dbb
|
|
| BLAKE2b-256 |
f78a01d9cbc3f353f6cfcce4e09f74fe11c2fad9258cdccd73c19d26d9541df3
|