Metadata-Version: 2.4
Name: agentify_toolkit
Version: 0.1.0
Summary: Declarative AI toolkit
Author-email: Lewis Sheridan <lewis@backplane.dev>
License:                                  Apache License
                                   Version 2.0, January 2004
                                http://www.apache.org/licenses/
        
        TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
        
        1.  Definitions.
            "License" shall mean the terms and conditions for use, reproduction,
            and distribution as defined by Sections 1 through 9 of this document.
        
            "Licensor" shall mean the copyright owner or entity authorized by
            the copyright owner that is granting the License.
        
            "Legal Entity" shall mean the union of the acting entity and all
            other entities that control, are controlled by, or are under common
            control with that entity.
        
            "You" (or "Your") shall mean an individual or Legal Entity
            exercising permissions granted by this License.
        
            "Source" form shall mean the preferred form for making modifications,
            including but not limited to software source code, documentation
            source, and configuration files.
        
            "Object" form shall mean any form resulting from mechanical
            transformation or translation of a Source form, including but
            not limited to compiled object code, generated documentation,
            and conversions to other media types.
        
            "Work" shall mean the work of authorship, whether in Source or
            Object form, made available under the License, as indicated by a
            copyright notice that is included in or attached to the work.
        
            "Derivative Works" shall mean any work, whether in Source or Object
            form, that is based on (or derived from) the Work and for which the
            editorial revisions, annotations, elaborations, or other modifications
            represent, as a whole, an original work of authorship.
        
            "Contribution" shall mean any work of authorship, including
            the original version of the Work and any modifications or additions
            to that Work or Derivative Works thereof, that is intentionally
            submitted to Licensor for inclusion in the Work by the copyright owner
            or by an individual or Legal Entity authorized to submit on behalf of
            the copyright owner.
        
            "Contributor" shall mean Licensor and any individual or Legal Entity
            on behalf of whom a Contribution has been received by Licensor and
            subsequently incorporated within the Work.
        
        2.  Grant of Copyright License.
            Subject to the terms and conditions of this License, each Contributor
            hereby grants to You a perpetual, worldwide, non-exclusive, no-charge,
            royalty-free, irrevocable copyright license to reproduce, prepare
            Derivative Works of, publicly display, publicly perform, sublicense,
            and distribute the Work and such Derivative Works in Source or Object
            form.
        
        3.  Grant of Patent License.
            Subject to the terms and conditions of this License, each Contributor
            hereby grants to You a perpetual, worldwide, non-exclusive, no-charge,
            royalty-free, irrevocable patent license to make, have made, use,
            offer to sell, sell, import, and otherwise transfer the Work.
        
        4.  Redistribution.
            You may reproduce and distribute copies of the Work or Derivative
            Works thereof in any medium, with or without modifications, provided
            that You meet the following conditions:
        
            (a) You must give any other recipients of the Work or
            Derivative Works a copy of this License; and
        
            (b) You must cause any modified files to carry prominent notices
            stating that You changed the files; and
        
            (c) You must retain, in the Source form of any Derivative Works,
            all copyright, patent, trademark, and attribution notices.
        
        5.  Submission of Contributions.
            Unless You explicitly state otherwise, any Contribution intentionally
            submitted for inclusion in the Work shall be under the terms and
            conditions of this License.
        
        6.  Trademarks.
            This License does not grant permission to use the trade names,
            trademarks, service marks, or product names of the Licensor.
        
        7.  Disclaimer of Warranty.
            Unless required by applicable law or agreed to in writing, Licensor
            provides the Work on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
            OF ANY KIND.
        
        8.  Limitation of Liability.
            In no event shall any Contributor be liable for any damages arising
            from the use of the Work.
        
        9.  Accepting Warranty or Additional Liability.
            While redistributing the Work, You may choose to offer support or
            warranty obligations on Your own behalf.
        
        END OF TERMS AND CONDITIONS
        
Project-URL: Homepage, https://github.com/backplane-cloud/agentify-toolkit
Project-URL: Issues, https://github.com/backplane-cloud/agentify-toolkit/issues
Keywords: ai,agents,llm,openai,anthropic,bedrock
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.10
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.0
Requires-Dist: click>=8.1
Requires-Dist: openai>=1.0
Requires-Dist: anthropic>=0.25
Requires-Dist: boto3>=1.34
Requires-Dist: xai_sdk>=1.5.0
Requires-Dist: google-genai>=0.8
Requires-Dist: fastapi>=0.105
Requires-Dist: uvicorn>=0.26
Requires-Dist: python-multipart>=0.0.6
Dynamic: license-file

# Agent Building Toolkit - Agentify 🤖

[![PyPI](https://img.shields.io/pypi/v/agentify)](https://pypi.org/project/agentify-toolkit/)
[![Python Version](https://img.shields.io/pypi/pyversions/agentify)](https://www.python.org/)
[![License](https://img.shields.io/badge/license-Apache%202.0-blue)](LICENSE)
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/backplane-cloud/agentify-toolkit/blob/main/examples/notebooks/Agentify_Developer_Quickstart.ipynb)

> Agentify is a lightweight, declarative-first Library for building **AI agents** in Python

## KeyFeatures

- Declarative agent definitions via YAML.
- Multi-LLM support: OpenAI, Anthropic, and more.
- Interactive CLI with TUI menu for exploring agents.
- Programmatic agent creation and execution for custom workflows.
- Lightweight, minimal dependencies: Click + Rich + PyYAML.

## 🚀 Getting Started

Prefer a hands-on walkthrough?

- 📘 [Agentify Developer Quickstart (Jupyter)](examples/notebooks/Agentify_Developer_Quickstart.ipynb)
- 📄 [Agentify YAML Deep Dive](examples/notebooks/Agentify_YAML_Deep_Dive.ipynb)

## How it works

Define your agents in simple YAML files or programmatically, and run them using an interactive CLI. Agentify abstracts LLM provider integrations and provides a simplified developer experience.

## Installation

```bash
pip install agentify-toolkit
```

Or install from source:

```bash
git clone https://github.com/backplane-software/agentify.git
cd agentify
pip install .
```

## Quick Start

### 1. Create an agent YAML

```yaml
name: claude
description: AI Engineer
version: 0.1.0
model:
  provider: anthropic
  id: claude-sonnet-4-5
  api_key_env: ANTHROPIC_API_KEY
role: |
  You are an AI Security Engineer.
  Provide concise, practical answers with examples.
```

### 2 .Run a single agent

```bash
agentify run examples/agent.yaml
```

> **Overriding Model** - you can pass a provider and model parameter to override the provider and model in the YAML file

```bash
agentify run examples/agent.yaml --provider=openai --model=gpt-5-nano
```

### 3. Run agents interactively from a folder

```bash
agentify run examples/agents
```

### 4. List agents interactively

```bash
agentify list agents
```

## Programmatic Usage

Install agentify with `pip install agentify` and then import.

```python
from agentify import Agent

def main():

    agent = Agent(
        name="Grok",
        description="X's Grok Agent",
        provider="x",
        model_id="grok-4",
        role="You are an AI Security Architect specialising in X AI Grok models"
    )

    response = agent.run("Which AI LLM is the best in 1 sentence ?")
    print(response)

if __name__ == "__main__":
    main()
```

## CLI Reference

| Command                        | Example                     |
| ------------------------------ | --------------------------- |
| Run agent from YAML            | `agentify run <agent.yaml>` |
| Run all YAML Agents in folder  | `agentify run <folder>`     |
| List all YAML Agents in folder | `agentify list <folder>`    |

## Adding LLM API Keys

To use the LLM Model providers, you will need an API key and they will need to be made available in your environment.

Implemented providers:

| Provider  | Instruction                                    | Link                                 |
| --------- | ---------------------------------------------- | ------------------------------------ |
| OpenAI    | `export OPENAI_API_KEY="your_api_key_here"`    | https://platform.openai.com/api-keys |
| Anthropic | `export ANTHROPIC_API_KEY="your_api_key_here"` |                                      |
| Gemini    | `export GEMINI_API_KEY="your_api_key_here"`    |                                      |
| Bedrock   | `export AWS_BEARER_TOKEN_BEDROCK`              |                                      |
| GROK      | `export XAI_API_KEY="your_api_key_here"`       |                                      |

> For Windows:
> $env:<Provider\>\_API_KEY="YOUR_API_KEY"

## License

Agentify is licensed under the Apache License, Version 2.0.
See LICENSE for details.
