Skip to main content

Daylily Ursa beta analysis API

Project description

Release Tag CI

daylily-ursa

Daylily Ursa is the analysis execution, review, artifact-linking, and result-return service. It sits downstream of wet-lab execution and upstream of customer-visible delivery, coordinating analysis ingest, review state, Dewey artifact linkage, and Atlas return.

Ursa owns:

  • analysis ingest records linked to sequencing context
  • analysis and review state
  • Dewey artifact-link and registration flows for analysis inputs and outputs
  • Atlas result return after approval

Ursa does not own:

  • customer portal routes
  • storage policy authority
  • file or file-set identity
  • generic shared DB or auth lifecycle

Component View

flowchart LR
    Ingest["analysis ingest"] --> Ursa["Ursa API and review service"]
    Bloom["Bloom run context"] --> Ursa
    Ursa --> Dewey["artifact resolution and registration"]
    Ursa --> Atlas["approved result return"]
    Ursa --> TapDB["TapDB persistence"]

Prerequisites

  • Python 3.10+
  • local PostgreSQL/TapDB-compatible runtime
  • API keys and base URLs if you want live Bloom, Dewey, or Atlas integration
  • optional Playwright/test dependencies for E2E flows

Getting Started

Quickstart

source ./activate <deploy-name>
ursa config init
ursa server start --port 8913

ursa server start uses the shared TLS resolver by default. Pass --no-ssl for HTTP-only local testing, or --cert and --key to override the deployment-scoped cert pair.

Validation:

pytest -q

Architecture

Technology

  • FastAPI + Jinja2-facing service/UI pieces
  • Typer-based ursa CLI
  • TapDB for persistence
  • HTTP integration clients for Bloom, Dewey, and Atlas

Core Object Model

Ursa centers on:

  • analyses and ingest payloads
  • review state and approval
  • input references to storage URIs or Dewey artifacts
  • output artifacts registered or resolved through Dewey
  • result-return requests back into Atlas

Runtime Shape

  • app factory: daylib_ursa.workset_api:create_app
  • CLI: ursa
  • alternate entrypoint: daylily-workset-api

Request Lifecycle

  1. ingest analysis input and sequencing context
  2. resolve upstream run context as needed
  3. attach outputs and artifact links
  4. review and approve
  5. return approved results to Atlas

Cost Estimates

Approximate only.

  • Local development: workstation plus local database.
  • Shared sandbox: usually a service-level slice of the wider Dayhoff environment.
  • Production-like use grows with retained analysis metadata, integration traffic, and uptime requirements rather than unusual Ursa-specific infrastructure.

Development Notes

  • Canonical local entry path: source ./activate <deploy-name>
  • Use ursa ... for Ursa-owned runtime operations
  • Use tapdb ... only where Ursa explicitly delegates shared DB/runtime lifecycle
  • Use daycog ... only where Ursa explicitly delegates shared auth lifecycle

Useful checks:

source ./activate <deploy-name>
ursa --help
ursa --json version
ursa server --help
pytest -q

Sandboxing

  • Safe: docs work, tests, ursa --help, and local-only runtime work
  • Local-stateful: config init and local DB bootstrap paths
  • Requires extra care: live Atlas/Bloom/Dewey integrations and any deployed environment changes

Current Docs

References

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.6.8.tar.gz (2.6 MB 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.6.8-py3-none-any.whl (239.9 kB view details)

Uploaded Python 3

File details

Details for the file daylily_ursa-0.6.8.tar.gz.

File metadata

  • Download URL: daylily_ursa-0.6.8.tar.gz
  • Upload date:
  • Size: 2.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for daylily_ursa-0.6.8.tar.gz
Algorithm Hash digest
SHA256 0eaef5166d76f85d41aa7a297d96d558d7e2788bc555621d6905f20993587c70
MD5 e29438fa3aceb997ab4a61f68879113b
BLAKE2b-256 6e67dd5ca7b019a6135e34694238c7e9d4df383f37851daa0793b589dfbe19e5

See more details on using hashes here.

File details

Details for the file daylily_ursa-0.6.8-py3-none-any.whl.

File metadata

  • Download URL: daylily_ursa-0.6.8-py3-none-any.whl
  • Upload date:
  • Size: 239.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for daylily_ursa-0.6.8-py3-none-any.whl
Algorithm Hash digest
SHA256 d062e38b04b9957800c7327fc220b0fffe832b2657df4a1810d5cd050f3d94f4
MD5 ecfeca65a8b10ee3bbe268f41f444b00
BLAKE2b-256 432a994d79ddb6c13eec5008e5ab5eb6266a0b08d1b51bae97e4da171bb28cc3

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