A high-performance FastAPI boilerplate for creating Node APIs in workflows, with Gemini, Redis, and S3 integration.
Project description
PyFlow AI Stack
PyFlow AI Stack is a high-performance Python library and boilerplate designed for building robust Node APIs and AI Workers within workflow automation systems (like Dify, LangChain, or custom microservices).
It provides a unified, production-ready interface for interacting with essential services: Google Gemini AI, Redis Caching, and S3-compatible Object Storage (AWS S3, MinIO, etc.).
✨ Key Features
- Google Gemini AI: Seamless integration with Gemini models for content generation and file processing with managed concurrency.
- Redis Caching: Efficient asynchronous caching with automatic connection management and expiration support.
- S3 Storage: Asynchronous access to S3-compatible storage providers, optimized for high-performance file operations.
- Health Checks: Built-in monitoring for service health and connectivity status across all integrated components.
- Lifecycle Hooks: Flexible hook system to intercept execution at
before,after, anderrorstages. - Pydantic Validation: Strong typing and data validation for all service requests and responses.
🛠️ Installation
Install the stable version from PyPI:
pip install pyflow-ai-stack
Or install from source for development:
git clone https://github.com/tranthethang/pyflow-ai-stack.git
cd pyflow-ai-stack
pip install -e .[dev]
📚 Documentation
For detailed guides on configuration and usage, please refer to the following resources:
- Quick Start Guide: Library overview and basic examples.
- Configuration: Environment variables and system settings.
- Services Reference: Detailed documentation for Gemini, Redis, S3, and Health services.
- Data Schemas: Input/output models and validation rules.
- Lifecycle Hooks: How to extend service functionality using hooks.
- How-to Guides: Practical usage scenarios and best practices.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyflow_ai_stack-1.0.1.tar.gz.
File metadata
- Download URL: pyflow_ai_stack-1.0.1.tar.gz
- Upload date:
- Size: 16.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
116d45104d9898bed8d7992d27f60f02cf45faab762f9a6c627879bfa6eeefb0
|
|
| MD5 |
244f3a6147d62bde404f6d8ffb4c7fdb
|
|
| BLAKE2b-256 |
1a92e87e483c6781756902d0696d0b3ff5be53d2d54bc836b8f10f696a576809
|
File details
Details for the file pyflow_ai_stack-1.0.1-py3-none-any.whl.
File metadata
- Download URL: pyflow_ai_stack-1.0.1-py3-none-any.whl
- Upload date:
- Size: 14.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
acebb51293b8ace0f94d9a3795e5906b0bfcd79cedb027bcb94cb74e089254c0
|
|
| MD5 |
d78ee8e8f8e31e3bd01fb9be32ef8c0b
|
|
| BLAKE2b-256 |
ae8c99f502832f5e080f55816a5176345ec581790097b323b72610b33444060c
|