Metadata-Version: 2.1
Name: flux-core
Version: 0.1.1
Summary: Flux is a distributed workflow orchestration engine to build stateful and fault-tolerant workflows.
Author: Eduardo Dias
Author-email: edurdias@gmail.com
Requires-Python: >=3.12,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: fastapi (>=0.115.2,<0.116.0)
Requires-Dist: pydantic (>=2.9.2,<3.0.0)
Requires-Dist: sqlalchemy (>=2.0.35,<3.0.0)
Requires-Dist: uvicorn (>=0.31.1,<0.32.0)
Description-Content-Type: text/markdown

# Flux
Flux is a distributed workflow orchestration engine to build stateful and fault-tolerant workflows.

## Getting started

1. Install the latest version of Flux

```sh
pip install flux-core
```

> Flux requires Python 3.12 or later.

2. Create your first Workflow

```python
from flux import task, workflow, WorkflowExecutionContext

@task
def say_hello(name: str):
    return f"Hello, {name}"

@workflow
def hello_world(ctx: WorkflowExecutionContext[str]):
    return (yield say_hello(ctx.input))
if __name__ == "__main__":
    ctx = hello_world.run("Joe")
    print(ctx.to_json())
```

> For more examples, checkout the `examples` folder.

3. Execute the workflow locally

```sh
flux exec hello_world.py hello_world "Joe"
```

4. If you prefer via API

```sh
flux start examples

curl --location 'localhost:8000/hello_world' \
--header 'Content-Type: application/json' \
--data '"Joe"'
```

## Features

- High-Performance
- Fault-Tolerance
- Durable Execution
- Parallelism

## Next Steps

- Checkout the tutoarials and examples
- Learn how to configure and deploy Flux on different environments




