Metadata-Version: 2.5
Name: fasthep-distributed
Version: 2026.10.1
Summary: Distributed execution foundations for FAST-HEP.
Author: FAST-HEP contributors
License-File: LICENSE
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: conda-pack
Requires-Dist: dask
Requires-Dist: dask-jobqueue
Requires-Dist: distributed
Requires-Dist: fasthep-flow>=2026.8.4.dev0
Requires-Dist: pyyaml
Provides-Extra: docs
Requires-Dist: myst-parser; extra == 'docs'
Requires-Dist: pydata-sphinx-theme; extra == 'docs'
Requires-Dist: sphinx; extra == 'docs'
Requires-Dist: sphinx-copybutton; extra == 'docs'
Requires-Dist: sphinx-design; extra == 'docs'
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'
Description-Content-Type: text/markdown

# FAST-HEP Distributed

WORK IN PROGRESS: This is a work-in-progress project. The API and features are not yet stable.

**fasthep-distributed aims to connect compiled FAST-HEP analysis plans to existing execution systems.**
It validates how `plan.yaml` (the analysis plan from fasthep-flow compilation step) maps to a chosen compute facility and exports a standalone, engine-native execution bundle.

Export specifications describe supported features and requirements, making incompatible mappings explicit before execution. Bundles include the plans, analysis configuration, runtime environment description and launch instructions, with external dependencies declared. They provide a reproducible artifact for execution, inspection and debugging.

Existing engines manage scheduling and resources; Flow’s runtime executes the analysis partitions.

```mermaid
flowchart LR
    P["plan.yaml manifest"] --> M["Validate mapping and export"]
    F["Facility profile + chosen route"] --> M
    M --> D["Dask driver"]
    M --> S["Snakefile / REANA package"]
    M --> C["Makeflow or other engine input"]
    D --> E["Existing execution engine"]
    S --> E
    C --> E
    E --> R["Flow partition runtime"]
    R --> O["Products + outcome records"]
```

*The diagram shows the intended architecture and illustrative export targets; individual integrations remain subject to compatibility studies and implementation.*

## Development

Install the local Pixi environment:

```bash
pixi install
```

Run the baseline checks:

```bash
pixi run test
pixi run lint
pixi run typecheck
pixi run docs-build
```
