Daylily Ursa beta analysis API
Project description
daylily-ursa
Daylily Ursa beta analysis API.
Ursa is the analysis-only service in the beta stack. It no longer owns customer, biospecimen, manifest, portal, or workset truth.
Scope
Ursa now handles:
- run-linked analysis ingest
- Bloom resolver lookups for
run_euid + flowcell_id + lane + library_barcode - TapDB-backed analysis execution and review state
- analysis artifact registration
- Atlas result and artifact return
Ursa no longer serves:
- workset lifecycle APIs
- customer portal routes
- biospecimen or manifest ownership APIs
- file-registry-as-primary ownership
- monitor or workflow-runtime beta entrypoints
Runtime Contract
- Atlas and Bloom create the order, material, queue, and run context.
- Ursa ingests
run_euid,flowcell_id,lane, andlibrary_barcode. - Ursa resolves Atlas TRF/Test/process-item identity through Bloom.
- Ursa records analysis state, review state, and artifacts under the resolved identity.
- Ursa requires explicit
APPROVEDreview state before returning result and artifact references to Atlas.
Quick Start
source ./ursa_activate
export TAPDB_STRICT_NAMESPACE=1
export TAPDB_CLIENT_ID=local
export TAPDB_DATABASE_NAME=ursa
export TAPDB_ENV=dev
export URSA_INTERNAL_API_KEY=ursa-dev-internal-key
export BLOOM_BASE_URL=https://localhost:8912
export BLOOM_VERIFY_SSL=false
export ATLAS_BASE_URL=https://localhost:8915
export ATLAS_VERIFY_SSL=false
export ATLAS_INTERNAL_API_KEY=replace-me
ursa server start
Important Environment Variables
AWS_PROFILE=your-profile
URSA_ALLOWED_REGIONS=us-west-2
TAPDB_STRICT_NAMESPACE=1
TAPDB_CLIENT_ID=local
TAPDB_DATABASE_NAME=ursa
TAPDB_ENV=dev
URSA_INTERNAL_API_KEY=ursa-dev-internal-key
BLOOM_BASE_URL=https://localhost:8912
BLOOM_API_TOKEN=
BLOOM_VERIFY_SSL=false
ATLAS_BASE_URL=https://localhost:8915
ATLAS_INTERNAL_API_KEY=
ATLAS_VERIFY_SSL=false
URSA_HOST=0.0.0.0
URSA_PORT=8914
API Surface
POST /api/analyses/ingestGET /api/analyses/{analysis_euid}POST /api/analyses/{analysis_euid}/statusPOST /api/analyses/{analysis_euid}/artifactsPOST /api/analyses/{analysis_euid}/reviewPOST /api/analyses/{analysis_euid}/return
All write routes require:
X-API-KeyIdempotency-Keyon ingest and result return
The ingest payload includes:
run_euidflowcell_idlanelibrary_barcode
The stored and returned Atlas context includes:
sequenced_library_assignment_euidatlas_tenant_idatlas_trf_euidatlas_test_euidatlas_test_process_item_euid
Repo Notes
- execution plan: docs/ursa_refactor_execplan.md
- Atlas return contract: docs/ursa_atlas_return_contract.md
Validation
pytest tests/test_tapdb_backend.py tests/test_file_metadata.py tests/test_analysis_ingest.py tests/test_result_return.py tests/test_bloom_resolver_client.py tests/test_console_scripts.py
ruff check daylib_ursa tests/test_tapdb_backend.py tests/test_file_metadata.py tests/test_analysis_ingest.py tests/test_result_return.py tests/test_bloom_resolver_client.py tests/test_console_scripts.py
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 daylily_ursa-0.1.20.tar.gz.
File metadata
- Download URL: daylily_ursa-0.1.20.tar.gz
- Upload date:
- Size: 326.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03ff4304d5ca21580bd544fe8e72eb96a75e0d2850ac248c93017d67745e73b0
|
|
| MD5 |
0deaa9c5e61afb9062df928872c4398f
|
|
| BLAKE2b-256 |
7ab8000dd1ece727df53bfe4ae03e873471e026129b06a1552e69cf3dc2f1983
|
File details
Details for the file daylily_ursa-0.1.20-py3-none-any.whl.
File metadata
- Download URL: daylily_ursa-0.1.20-py3-none-any.whl
- Upload date:
- Size: 141.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b658d1495d8d6d6efa80b10e2e1c19f463b0f0bb0d3eaea17f41c5ff897a904
|
|
| MD5 |
5b3097751dea6ffa20304e99c4b57fc4
|
|
| BLAKE2b-256 |
a4ee25f3163eb600efa19ae19e95c078c53434f645213913532f396ff9071c98
|