Requirements
Python Version
Python 3.11+ requiredWe use modern Python features including:
- Native async/await
- Type hints and generics
- Pattern matching
- Exception groups
Operating System
Cross-platform supportTested on:
- Linux (Ubuntu 20.04+, Debian 10+)
- macOS (11.0+)
- Windows (10+, WSL recommended)
Installation Methods
Basic Installation
Install the core package with minimal dependencies:With Optional Features
- CEL Expressions
- Redis Backend
- All Extras
Install with CEL (Common Expression Language) support for advanced conditional logic:This enables:
- Complex conditional routing
- Dynamic variable evaluation
- Rule-based workflows
Development Installation
For contributing or local development:Dependency Overview
Nadoo Flow Core has minimal dependencies by design:Core Dependencies
| Package | Version | Purpose |
|---|---|---|
pydantic | >=2.7.4 | Type validation and serialization |
typing-extensions | >=4.7.0 | Python 3.11 compatibility |
Optional Dependencies
| Feature | Package | Version | Purpose |
|---|---|---|---|
| CEL | celpy | >=1.0.0 | Expression evaluation |
| Redis | redis | >=4.5.0 | Distributed storage |
| Dev | pytest | >=8.0.0 | Testing framework |
| Dev | pytest-asyncio | >=0.23.0 | Async test support |
| Dev | black | >=23.0.0 | Code formatting |
| Dev | ruff | >=0.1.0 | Fast linting |
| Dev | mypy | >=1.7.0 | Type checking |
Environment Setup
Virtual Environment (Recommended)
Using venv
Using venv
Using conda
Using conda
Using poetry
Using poetry
Verification
After installation, verify everything is working:IDE Setup
VS Code
Install recommended extensions for the best development experience:PyCharm
- Open project settings:
File > Settings > Project > Python Interpreter - Select your virtual environment
- Enable type checking:
Editor > Inspections > Python > Type checker
Docker Installation
For containerized deployments:requirements.txt
Troubleshooting
ImportError: No module named 'nadoo_flow'
ImportError: No module named 'nadoo_flow'
Solution: Ensure you’ve activated your virtual environment and installed the package:If not listed, reinstall:
Python version error
Python version error
Solution: Nadoo Flow Core requires Python 3.11+:If older, upgrade Python or use pyenv/conda to manage versions.
Dependency conflicts
Dependency conflicts
Solution: Use a clean virtual environment:
Permission denied during installation
Permission denied during installation
Solution: Never use sudo with pip. Instead, use:
Platform-Specific Notes
macOS
On macOS with Apple Silicon (M1/M2), some dependencies may require Rosetta:
Windows
On Windows, we recommend using WSL2 for the best compatibility:Then follow the Linux installation instructions inside WSL.
Linux
On some Linux distributions, you may need to install Python development headers: