Skip to main content

The lightest Agentic AI Framework you'll ever see

Project description

FeatherAI Logo

FeatherAI

The lightest Agentic AI framework you'll ever see

Python License GitHub


What is FeatherAI?

FeatherAI is a lightweight Python library designed to make building AI agents incredibly simple. Whether you're creating chatbots, automation tools, or complex multi-agent systems, FeatherAI provides an elegant API that gets out of your way.

Key Features

  • Simple & Intuitive API - Create powerful AI agents in just a few lines of code
  • Multi-Provider Support - Works with OpenAI, Anthropic Claude, Google Gemini, and Mistral
  • Tool Calling - Easily integrate custom functions and external APIs
  • Structured Output - Get responses in validated Pydantic schemas
  • Multimodal Support - Process text, images, and PDFs seamlessly
  • Async/Await Ready - Built-in support for asynchronous execution
  • Built-in Tools - Web search, code execution, and more out of the box
  • Lightweight - Minimal dependencies, maximum performance

Installation

pip install feather-ai-sdk

Environment Setup

Create a .env file in your project root with your API keys:

# OpenAI (for GPT models)
OPENAI_API_KEY=your_openai_key_here

# Anthropic (for Claude models)
ANTHROPIC_API_KEY=your_anthropic_key_here

# Google (for Gemini models)
GOOGLE_API_KEY=your_google_key_here

# Mistral
MISTRAL_API_KEY=your_mistral_key_here

# For web search tools (optional)
TAVILY_API_KEY=your_tavily_key_here

Note: You only need to set the API keys for the providers you'll use.


Quick Start

Basic Agent

from feather_ai import AIAgent
from dotenv import load_dotenv

# Load environment variables
load_dotenv()

# Create an agent
agent = AIAgent(model="gpt-4")

# Run the agent
response = agent.run("What is the capital of France?")
print(response.content)  # Output: Paris

Agent with Instructions

from feather_ai import AIAgent

# Create an agent with custom instructions
agent = AIAgent(
    model="claude-haiku-4-5",
    instructions="You are a helpful assistant that provides concise answers. Always explain concepts in simple terms."
)

response = agent.run("Explain quantum computing")
print(response.content)

Agent with Tools

from feather_ai import AIAgent

# Define a custom tool
def get_weather(location: str) -> str:
    """Get the current weather for a location."""
    return f"The weather in {location} is sunny and 72°F"

# Create an agent with tools
agent = AIAgent(
    model="gpt-4",
    instructions="You are a helpful weather assistant. Use the available tools to answer questions.",
    tools=[get_weather]
)

response = agent.run("What's the weather like in San Francisco?")
print(response.content)
print(f"Tools called: {response.tool_calls}")

Structured Output

from feather_ai import AIAgent
from pydantic import BaseModel, Field

# Define your output schema
class WeatherResponse(BaseModel):
    location: str = Field(..., description="The location requested")
    temperature: int = Field(..., description="Temperature in Fahrenheit")
    conditions: str = Field(..., description="Weather conditions")
    confidence: float = Field(..., description="Confidence in answer (0-1)")

# Create agent with structured output
agent = AIAgent(
    model="gpt-4",
    output_schema=WeatherResponse
)

response = agent.run("What's the weather in Paris?")
print(response.content.location)      # Validated Pydantic object
print(response.content.temperature)   # Type-safe access
print(response.content.confidence)

Multimodal Input

from feather_ai import AIAgent, Prompt

# Create a prompt with documents
prompt = Prompt(
    text="Summarize these documents",
    documents=["report.pdf", "chart.png", "data.txt"]
)

agent = AIAgent(model="claude-sonnet-4-5")
response = agent.run(prompt)
print(response.content)

Async Execution

import asyncio
from feather_ai import AIAgent

async def main():
    agent = AIAgent(model="claude-haiku-4-5")
    response = await agent.arun("What is machine learning?")
    print(response.content)

asyncio.run(main())

Supported Models

FeatherAI supports a wide range of LLM providers:

  • OpenAI: gpt-4, gpt-5-nano, gpt-4-turbo, etc.
  • Anthropic: claude-sonnet-4-5, claude-haiku-4-5, claude-opus-4, etc.
  • Google: gemini-2.5-flash-lite, gemini-pro, etc.
  • Mistral: mistral-small-2506, mistral-large, etc.

Documentation

For detailed documentation, examples, and guides, visit our documentation site.

Topics Covered:

  • Getting Started
  • System Instructions
  • Tool Calling
  • Structured Output
  • Multimodal Input
  • Native Tools
  • Asynchronous Execution
  • Real-World Examples

Featured Projects

🍝 Piatto Cooks

An AI-powered cooking assistant that helps you discover recipes, plan meals, and get personalized cooking guidance.

  • Recipe Generation
  • Meal Planning
  • Dietary Preferences

🎓 NexoraAI

An intelligent mentoring platform that connects mentors and mentees, providing personalized guidance and learning paths.

  • Personalized Learning
  • Skill Assessment
  • Progress Tracking

Contributing

We welcome contributions! If you'd like to improve FeatherAI, please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

License

FeatherAI is released under the MIT License. See LICENSE for details.


Links


Made with ❤️ by the FeatherAI team

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

feather_ai_sdk-0.1.9.tar.gz (29.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

feather_ai_sdk-0.1.9-py3-none-any.whl (36.1 kB view details)

Uploaded Python 3

File details

Details for the file feather_ai_sdk-0.1.9.tar.gz.

File metadata

  • Download URL: feather_ai_sdk-0.1.9.tar.gz
  • Upload date:
  • Size: 29.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for feather_ai_sdk-0.1.9.tar.gz
Algorithm Hash digest
SHA256 81ab7f72bac48026de52b96dc2aef981866ec644f9962e7f09aaa3f6a80d4730
MD5 79750098773d28dcb3d8e510bb85ab26
BLAKE2b-256 9a2da1006733c83fb583a0ce9ce419a93d7b1c8001de1f1acabcedfa030ff033

See more details on using hashes here.

File details

Details for the file feather_ai_sdk-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: feather_ai_sdk-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 36.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for feather_ai_sdk-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 da5db516deeb8d0db82c2a428c4551d5a11eb62882bd2db3b9c144cfdf4317c6
MD5 1934c3849dbe6016be1ad3951f3d9dd7
BLAKE2b-256 7ed9f4b0df0721d3fb03cd1cec7bc972360b13e3bdf9b2b780c77ba16f4311f4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page