Metadata-Version: 2.2
Name: flowhive
Version: 0.0.2
Summary: Task and Workflow orchestration.
Author-email: Jakob Kristensen <jakob@jakobk.dk>
License: MIT
Requires-Python: >=3.7
Description-Content-Type: text/markdown

# FlowHive

FlowHive is a flexible Python library for building pipelines that seamlessly integrate sequential processing, parallel execution, AI agents, and distributed task orchestration. Whether you’re creating a simple chain of tasks or deploying multi-agent workflows on a cluster, FlowHive provides an intuitive API to build scalable and maintainable solutions.

## Features

- **Sequential Pipelines**: Chain functions so that the output of one task is passed as the input to the next.
- **Parallel Execution**: Run multiple tasks concurrently on the same input to optimize performance.
- **AI Agent Integration**: Easily incorporate AI and multi-agent frameworks into your pipelines.
- **Distributed Orchestration**: Distribute tasks across a cluster for high-performance, scalable execution.
- **Simple & Extensible API**: Build your workflow with minimal configuration and customize it as your project grows.

## Installation

Install FlowHive from PyPI using pip:

```bash
pip install flowhive
```

## Quick Start

### Sequential Pipeline Example

Create a simple pipeline where tasks are executed one after another:

```python
from flowhive import Pipeline

def task1(data):
    print("Executing Task 1")
    return data + 1

def task2(data):
    print("Executing Task 2")
    return data * 2

# Create and run a sequential pipeline
pipeline = Pipeline([task1, task2])
result = pipeline.run(5)
print("Final Result:", result)  # Expected output: 12
```

### Parallel Pipeline Example

Run multiple tasks concurrently on the same input:

```python
from flowhive import ParallelPipeline

def task_a(data):
    return f"Task A processed {data * 2}"

def task_b(data):
    return f"Task B processed {data + 100}"

# Create and run a parallel pipeline
parallel_pipeline = ParallelPipeline([task_a, task_b])
results = parallel_pipeline.run(10)
print("Parallel Results:", results)
```

### Distributed Task Orchestration

FlowHive also supports integration with distributed task queues and multi-agent orchestration frameworks. For complex workflows running across clusters, check out our detailed [documentation](https://github.com/yourusername/flowhive/docs) for integration examples and best practices.

## Documentation

For comprehensive details on usage, API reference, and advanced features, please visit our [Documentation](https://github.com/yourusername/flowhive/docs).

## Contributing

We welcome contributions! If you'd like to help improve FlowHive, please check out our [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on how to get started.

## License

FlowHive is distributed under the [MIT License](LICENSE).

## Contact

For support, questions, or business inquiries, please open an issue on GitHub or contact us at [email@example.com](mailto:email@example.com).

---

Happy piping with FlowHive!
