What is Flow Core?
Nadoo Flow Core is a flexible workflow orchestration framework with multi-backend support designed for production use. It’s the open-source foundation of the Nadoo AI platform.Current Version: v0.1.0 (Beta)Flow Core is actively maintained and available as open source.
Key Features
Based on the actual implementation in the source code:Type-Safe
Full Pydantic v2 support with runtime type validation and automatic serialization
Async-First
Built on asyncio for high-performance concurrent execution
Minimal Dependencies
Only 2 core dependencies: Pydantic and typing-extensions
Composable
Modular nodes with clear interfaces using the pipe operator (
|)Observable
Built-in execution tracking, callbacks, and streaming support
Flexible
Conditional branching, parallel execution, and dynamic routing
Core Components
The framework consists of 14 main modules with over 6,495 lines of production code:Essential Modules
| Module | Purpose | Key Classes |
|---|---|---|
| base.py | Core types and execution engine | WorkflowExecutor, NodeContext, IStepNode |
| chain.py | Fluent composition API | ChainableNode, NodeChain, FunctionNode |
| parallel.py | Concurrent execution | ParallelNode, FanOutFanInNode |
| callbacks.py | Observability system | CallbackManager, BaseCallbackHandler |
Advanced Features
| Module | Purpose | Use Case |
|---|---|---|
| resilience.py | Retry and fallback patterns | Handle transient failures |
| streaming.py | Real-time event streaming | UI updates, progress tracking |
| memory.py | Chat history management | Conversational AI |
| caching.py | Response caching | Performance optimization |
| rate_limiting.py | Token bucket algorithm | API quota management |
| batch.py | Batch processing | Bulk operations |
| tools.py | Tool management | LLM function calling |
| parsers.py | Output parsing | Structured extraction |
Quick Example
Here’s a simple workflow demonstrating the core concepts:Multi-Backend Architecture
Flow Core uses a protocol-based design that allows swapping execution backends:Comparison with LangChain
| Aspect | Nadoo Flow Core | LangChain/LangGraph |
|---|---|---|
| Dependencies | 2 (minimal) | 50+ (heavy) |
| API Style | run() / stream() | ainvoke() / astream() |
| Chaining | Pipe operator + Graph | LCEL (complex) |
| Target Audience | Platform builders | AI researchers |
| Learning Curve | Gentle | Steep |
| Customization | Build your own | Use pre-built |
When to Use Flow Core?
✅ Flow Core is Perfect For:
- Building no-code/low-code platforms - Full control over workflow execution
- Custom AI agent development - Create exactly what you need
- Production systems - Minimal dependencies reduce security risks
- Microservices - Lightweight footprint perfect for containers
- Educational projects - Clear abstractions easy to understand
❌ Consider Alternatives If:
- You need pre-built integrations (200+ in LangChain)
- You want to prototype quickly with standard patterns
- You prefer batteries-included frameworks
- You’re building research experiments vs production systems
Installation
Project Structure
The complete source code is organized as:Available Examples
Learn from working code in the examples directory:- Basic Chat Bot - Chat with memory management
- Streaming Chat - Real-time token streaming
- Parallel Search - Concurrent data fetching
- RAG Pipeline - Retrieval-augmented generation
- Advanced Features - Retry, fallback, caching
- Human-in-the-Loop - Workflow interruption and approval
Development Status
1
✅ Implemented
- Core workflow engine
- Chaining API
- Parallel execution
- Streaming support
- Memory management
- Resilience patterns
- Native backend
2
🚧 In Progress
- Additional backends (LangGraph, CrewAI)
- CEL expression evaluation
- Visual debugger
- Performance optimizations
3
📋 Planned
- Distributed execution
- Workflow versioning
- Advanced monitoring
- Cloud deployment tools
Getting Help
Documentation
Start with the quickstart guide
GitHub
Report issues and contribute
Discord
Join the community