Skip to content

Add transparent pipeline resolution system for native and lightweight pipelines #96

@transientlunatic

Description

@transientlunatic

Implement a unified pipeline resolver that treats all pipelines uniformly from the user's perspective, with automatic fallback from installed plugins to Gravitic-based workflows.

Requirements:

Create a get_pipeline() function that:

First checks for installed pipeline entry points
Falls back to Gravitic workflow resolution if not found
Provides clear error messages when pipeline not found anywhere
Support lookup order:

Installed Python packages (bilby, pycbc, etc.)
Gravitic bundled workflows
Online workflow registry
Custom local workflow files
User always uses pipeline: name syntax - no distinction needed between "native" and "lightweight" pipelines

Acceptance Criteria:

Users can specify pipeline: psd-estimation and asimov automatically finds/runs the Gravitic workflow
No breaking changes to existing native pipelines (bilby, pycbc, etc.)
Clear error messages showing what was checked and what's available
Documentation updated to reflect unified pipeline concept

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions