Skip to main content

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

  1. Atlas and Bloom create the order, material, queue, and run context.
  2. Ursa ingests run_euid, flowcell_id, lane, and library_barcode.
  3. Ursa resolves Atlas TRF/Test/process-item identity through Bloom.
  4. Ursa records analysis state, review state, and artifacts under the resolved identity.
  5. Ursa requires explicit APPROVED review 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/ingest
  • GET /api/analyses/{analysis_euid}
  • POST /api/analyses/{analysis_euid}/status
  • POST /api/analyses/{analysis_euid}/artifacts
  • POST /api/analyses/{analysis_euid}/review
  • POST /api/analyses/{analysis_euid}/return

All write routes require:

  • X-API-Key
  • Idempotency-Key on ingest and result return

The ingest payload includes:

  • run_euid
  • flowcell_id
  • lane
  • library_barcode

The stored and returned Atlas context includes:

  • sequenced_library_assignment_euid
  • atlas_tenant_id
  • atlas_trf_euid
  • atlas_test_euid
  • atlas_test_process_item_euid

Repo Notes

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

daylily_ursa-0.1.20.tar.gz (326.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

daylily_ursa-0.1.20-py3-none-any.whl (141.0 kB view details)

Uploaded Python 3

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

Hashes for daylily_ursa-0.1.20.tar.gz
Algorithm Hash digest
SHA256 03ff4304d5ca21580bd544fe8e72eb96a75e0d2850ac248c93017d67745e73b0
MD5 0deaa9c5e61afb9062df928872c4398f
BLAKE2b-256 7ab8000dd1ece727df53bfe4ae03e873471e026129b06a1552e69cf3dc2f1983

See more details on using hashes here.

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

Hashes for daylily_ursa-0.1.20-py3-none-any.whl
Algorithm Hash digest
SHA256 0b658d1495d8d6d6efa80b10e2e1c19f463b0f0bb0d3eaea17f41c5ff897a904
MD5 5b3097751dea6ffa20304e99c4b57fc4
BLAKE2b-256 a4ee25f3163eb600efa19ae19e95c078c53434f645213913532f396ff9071c98

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