Metadata-Version: 2.4
Name: agi-app-global-dag
Version: 2026.5.22
Summary: AGILAB cross-app DAG preview showing artifact handoffs between demo projects
Author: Jean-Pierre Morard
Maintainer: Jean-Pierre Morard
License-Expression: BSD-3-Clause
Project-URL: Documentation, https://thalesgroup.github.io/agilab
Project-URL: Source, https://github.com/ThalesGroup/agilab/tree/main/src/agilab/lib/agi-app-global-dag
Project-URL: Issues, https://github.com/ThalesGroup/agilab/issues
Project-URL: Homepage, https://github.com/ThalesGroup/agilab
Project-URL: Repository, https://github.com/ThalesGroup/agilab
Project-URL: Discussions, https://github.com/ThalesGroup/agilab/discussions
Project-URL: Changelog, https://github.com/ThalesGroup/agilab/releases
Keywords: agilab,apps,reproducibility,workflow-orchestration
Classifier: Intended Audience :: Developers
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: agi-core<2027.0,>=2026.05.13
Dynamic: license-file

# agi-app-global-dag

[![PyPI version](https://img.shields.io/pypi/v/agi-app-global-dag.svg?cacheSeconds=300)](https://pypi.org/project/agi-app-global-dag/)
[![Python versions](https://img.shields.io/pypi/pyversions/agi-app-global-dag.svg)](https://pypi.org/project/agi-app-global-dag/)
[![License: BSD 3-Clause](https://img.shields.io/pypi/l/agi-app-global-dag)](https://opensource.org/licenses/BSD-3-Clause)

`agi-app-global-dag` publishes the `global_dag_project` AGILAB app as a
self-contained PyPI payload. It is a read-only workflow-contract example rather
than a domain worker benchmark.

## Purpose

Use this package to understand how AGILAB can connect several app projects with
explicit artifact handoffs. The bundled DAG shows a flight stage producing a
summary artifact that a weather stage can consume.

## Installed Project

The distribution name is `agi-app-global-dag`; the AGILAB project name is
`global_dag_project`. The package exposes both `global_dag` and
`global_dag_project` through the `agilab.apps` entry point group, so
`AgiEnv(app="global_dag_project")` resolves the project without a monorepo
checkout.

## Install

```bash
pip install agi-app-global-dag
```

Most users get this package through `agi-apps`, `agilab[ui]`, or
`agilab[examples]`; direct installation is useful when validating one app
package in isolation.

## Run In AGILAB

Select `global_dag_project`, open `WORKFLOW`, choose the multi-app DAG template,
and inspect the runner-state preview. This package is primarily for workflow
review; use `flight_telemetry_project` or `weather_forecast_project` when you
want to execute concrete worker code.

## Expected Inputs

The package ships a DAG template that names the producer and consumer projects.
No private data, cluster, service mode, or live external service is required for
the default preview.

## Expected Outputs

The preview writes a runner-state JSON file under the AGILAB execution logs and
renders the runnable versus blocked stages. It does not create a domain reducer
artifact because it demonstrates cross-app orchestration, not a worker merge.

## Change One Thing

Edit a handoff name in a copied DAG template and reload the preview. The blocked
stage should make the missing artifact contract obvious before any downstream
execution is attempted.

## Scope

This package teaches global DAG contracts. It is not a scheduler replacement,
an Airflow/Kubeflow clone, or a production workflow governance layer.
