Repository navigation
Kwargify Core v0.2.0 - Initial Release! 🎉
We are thrilled to announce the first public release of Kwargify Core (v0.2.0)!
Kwargify Core is a powerful Python framework designed for building, managing, and executing complex workflow pipelines, with seamless integration capabilities for AI-powered tasks. This initial release lays the foundation for creating modular, reusable, and robust workflows.
✨ Core Features
- DAG-based Workflow Definition: Construct intricate workflows using a directed acyclic graph (DAG) structure, allowing for clear dependency management and execution flow. (
src/kwargify_core/core/workflow.py) - Modular Block System: Utilize a range of pre-built blocks for common operations or extend the system by creating your own custom blocks. Blocks encapsulate specific functionalities and are the fundamental units of work. (
src/kwargify_core/core/block.py,src/kwargify_core/blocks/)- Built-in Blocks:
ReadFileBlock: Reads content from files.WriteFileBlock: Writes content to files.AIProcessorBlock: Processes text using AI models (e.g., GPT).AIExtractorBlock: Extracts structured data from text using AI.DocumentTemplateBlock: Generates documents using Jinja2-like templates.JsonToStringBlock: Converts JSON data to formatted strings.
- Built-in Blocks:
- Flexible Data Flow: Easily wire outputs from one block to the inputs of another using an intuitive mapping system, enabling dynamic data pipelines.
- Command Line Interface (CLI): A comprehensive CLI (
kwargify) to run, manage, register, validate, and visualize workflows. (src/kwargify_core/cli.py)- Initialize new projects with
kwargify init. - Run workflows from files or the registry.
- List and manage registered workflows.
- Initialize new projects with
- Workflow Registry: Version and catalog your workflows for easy discovery, reuse, and management. (
src/kwargify_core/registry.py) - Built-in Logging: Robust SQLite-based logging captures detailed information about workflow and block execution, including inputs, outputs, status, and errors. (
src/kwargify_core/logging/sqlite_logger.py) - Resume Capability: Interrupted workflows can be resumed from the point of failure, loading outputs of successfully completed blocks from the logs.
- Retry Mechanism: Configure automatic retries for blocks to handle transient errors gracefully.
- Configuration Management: Manage project-specific settings (like database paths) via a
config.tomlfile.
🚀 Getting Started
-
Installation:
You can installkwargify-coreusing pip or add it to your project with Poetry or UV:pip install kwargify-core # or poetry add kwargify-core # or uv add kwargify-core
For development, clone the repository and install with Poetry:
git clone https://github.com/kwargify/kwargify-core.git cd kwargify-core poetry install -
Initialize a Project:
kwargify init
This will guide you through setting up a
config.tomlfile. -
Explore Examples:
Check out theexamples/directory to see Kwargify Core in action, including:simple_workflow.pycontract_report_workflow_cli.py(demonstrates AI integration)
🛠️ For Developers
- Project Structure:
- Source code:
src/kwargify_core/ - Tests:
tests/(using pytest) - Dependencies managed by
pyproject.toml(Poetry).
- Source code:
- Contributing: We welcome contributions! Please see the "Contributing" section in the
README.mdfor guidelines.
🛣️ What's Next?
This is just the beginning! We plan to:
- Expand the library of built-in blocks.
- Enhance workflow visualization capabilities.
- Add more examples and detailed documentation.
- Explore further integrations and advanced features.
We are excited to see what you build with Kwargify Core! Please report any issues or suggest features on our GitHub issue tracker.