Skip to content

Releases: kwargify/kwargify-core

Release list

0.2.0

Choose a tag to compare

@lalitgehani lalitgehani released this 12 May 02:02

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/)
  • 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.
  • 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.toml file.

🚀 Getting Started

  1. Installation:
    You can install kwargify-core using 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
  2. Initialize a Project:

    kwargify init

    This will guide you through setting up a config.toml file.

  3. Explore Examples:
    Check out the examples/ directory to see Kwargify Core in action, including:

🛠️ For Developers

  • Project Structure:
  • Contributing: We welcome contributions! Please see the "Contributing" section in the README.md for 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.