Metadata-Version: 2.4
Name: abstractflow
Version: 0.1.0
Summary: Diagram-based AI workflow generation built on AbstractCore
Author-email: AbstractFlow Team <contact@abstractflow.ai>
Maintainer-email: AbstractFlow Team <contact@abstractflow.ai>
License-Expression: MIT
Project-URL: Homepage, https://github.com/lpalbou/AbstractFlow
Project-URL: Documentation, https://abstractflow.readthedocs.io
Project-URL: Repository, https://github.com/lpalbou/AbstractFlow
Project-URL: Bug Tracker, https://github.com/lpalbou/AbstractFlow/issues
Project-URL: Changelog, https://github.com/lpalbou/AbstractFlow/blob/main/CHANGELOG.md
Keywords: ai,workflow,diagram,llm,automation,visual-programming,abstractcore,machine-learning
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Distributed Computing
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: abstractcore>=2.0.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: typing-extensions>=4.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: isort>=5.12.0; extra == "dev"
Requires-Dist: flake8>=6.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: pre-commit>=3.0.0; extra == "dev"
Provides-Extra: server
Requires-Dist: fastapi>=0.100.0; extra == "server"
Requires-Dist: uvicorn[standard]>=0.23.0; extra == "server"
Requires-Dist: websockets>=11.0.0; extra == "server"
Provides-Extra: ui
Requires-Dist: streamlit>=1.28.0; extra == "ui"
Requires-Dist: plotly>=5.15.0; extra == "ui"
Requires-Dist: networkx>=3.1.0; extra == "ui"
Provides-Extra: all
Requires-Dist: abstractflow[dev,server,ui]; extra == "all"
Dynamic: license-file

# AbstractFlow

**Diagram-Based AI Workflow Generation**

> 🚧 **Coming Soon** - This project is currently in early development. We're reserving the PyPI name for the upcoming release.

AbstractFlow is an innovative Python library that enables visual, diagram-based creation and execution of AI workflows. Built on top of [AbstractCore](https://github.com/lpalbou/AbstractCore), it provides an intuitive interface for designing complex AI pipelines through interactive diagrams.

## 🎯 Vision

AbstractFlow aims to democratize AI workflow creation by providing:

- **Visual Workflow Design**: Create AI workflows using intuitive drag-and-drop diagrams
- **Multi-Provider Support**: Leverage any LLM provider through AbstractCore's unified interface
- **Real-time Execution**: Watch your workflows execute in real-time with live feedback
- **Collaborative Development**: Share and collaborate on workflow designs
- **Production Ready**: Deploy workflows to production with built-in monitoring and scaling

## 🚀 Planned Features

### Core Capabilities
- **Diagram Editor**: Web-based visual editor for workflow creation
- **Node Library**: Pre-built nodes for common AI operations (text generation, analysis, transformation)
- **Custom Nodes**: Create custom nodes with your own logic and AI models
- **Flow Control**: Conditional branching, loops, and parallel execution
- **Data Transformation**: Built-in data processing and transformation capabilities

### AI Integration
- **Universal LLM Support**: Works with OpenAI, Anthropic, Ollama, and all AbstractCore providers
- **Tool Calling**: Seamless integration with external APIs and services
- **Structured Output**: Type-safe data flow between workflow nodes
- **Streaming Support**: Real-time processing for interactive applications

### Deployment & Monitoring
- **Cloud Deployment**: One-click deployment to major cloud platforms
- **Monitoring Dashboard**: Real-time workflow execution monitoring
- **Version Control**: Git-based workflow versioning and collaboration
- **API Generation**: Automatic REST API generation from workflows

## 🏗️ Architecture

AbstractFlow is built on a robust foundation:

```
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Diagram UI    │    │  Workflow Engine │    │   AbstractCore  │
│                 │────│                 │────│                 │
│ Visual Editor   │    │ Execution Logic │    │ LLM Providers   │
└─────────────────┘    └─────────────────┘    └─────────────────┘
```

- **Frontend**: React-based diagram editor with real-time collaboration
- **Backend**: Python workflow execution engine with FastAPI
- **AI Layer**: AbstractCore for unified LLM provider access
- **Storage**: Workflow definitions, execution history, and metadata

## 🎨 Use Cases

### Business Process Automation
- Customer support ticket routing and response generation
- Document analysis and summarization pipelines
- Content creation and review workflows

### Data Processing
- Multi-step data analysis with AI insights
- Automated report generation from raw data
- Real-time data enrichment and validation

### Creative Workflows
- Multi-stage content creation (research → draft → review → publish)
- Interactive storytelling and narrative generation
- Collaborative writing and editing processes

### Research & Development
- Hypothesis generation and testing workflows
- Literature review and synthesis automation
- Experimental design and analysis pipelines

## 🛠️ Technology Stack

- **Core**: Python 3.8+ with AsyncIO support
- **AI Integration**: [AbstractCore](https://github.com/lpalbou/AbstractCore) for LLM provider abstraction
- **Web Framework**: FastAPI for high-performance API server
- **Frontend**: React with TypeScript for the diagram editor
- **Database**: PostgreSQL for workflow storage, Redis for caching
- **Deployment**: Docker containers with Kubernetes support

## 📦 Installation (Coming Soon)

```bash
# Install AbstractFlow
pip install abstractflow

# Or with all optional dependencies
pip install abstractflow[all]

# Development installation
pip install abstractflow[dev]
```

## 🚀 Quick Start (Preview)

```python
from abstractflow import WorkflowBuilder, TextNode, LLMNode

# Create a simple workflow
workflow = WorkflowBuilder()

# Add nodes
input_node = workflow.add_node(TextNode("user_input"))
llm_node = workflow.add_node(LLMNode(
    provider="openai",
    model="gpt-4o-mini",
    prompt="Analyze this text: {user_input}"
))
output_node = workflow.add_node(TextNode("analysis_result"))

# Connect nodes
workflow.connect(input_node, llm_node)
workflow.connect(llm_node, output_node)

# Execute workflow
result = await workflow.execute({
    "user_input": "The future of AI is bright and full of possibilities."
})

print(result["analysis_result"])
```

## 🎯 Roadmap

### Phase 1: Foundation (Q1 2025)
- [ ] Core workflow engine
- [ ] Basic node types (LLM, Transform, Condition)
- [ ] CLI interface for workflow execution
- [ ] AbstractCore integration

### Phase 2: Visual Editor (Q2 2025)
- [ ] Web-based diagram editor
- [ ] Real-time collaboration features
- [ ] Workflow templates and examples
- [ ] Import/export functionality

### Phase 3: Advanced Features (Q3 2025)
- [ ] Custom node development SDK
- [ ] Advanced flow control (loops, parallel execution)
- [ ] Monitoring and analytics dashboard
- [ ] Cloud deployment integration

### Phase 4: Enterprise (Q4 2025)
- [ ] Enterprise security features
- [ ] Advanced monitoring and alerting
- [ ] Multi-tenant support
- [ ] Professional services and support

## 🤝 Contributing

We welcome contributions from the community! Once development begins, you'll be able to:

- Report bugs and request features
- Submit pull requests for improvements
- Create and share workflow templates
- Contribute to documentation

## 📄 License

AbstractFlow will be released under the MIT License, ensuring it remains free and open-source for all users.

## 🔗 Related Projects

- **[AbstractCore](https://github.com/lpalbou/AbstractCore)**: The unified LLM interface powering AbstractFlow
- **[AbstractCore Documentation](http://www.abstractcore.ai/)**: Comprehensive guides and API reference

## 📞 Contact

For early access, partnerships, or questions about AbstractFlow:

- **GitHub**: [Issues and Discussions](https://github.com/lpalbou/AbstractFlow) (coming soon)
- **Email**: Contact through AbstractCore channels
- **Website**: [www.abstractflow.ai](http://www.abstractflow.ai) (coming soon)

---

**AbstractFlow** - Visualize, Create, Execute. The future of AI workflow development is here.

> Built with ❤️ on top of [AbstractCore](https://github.com/lpalbou/AbstractCore)
