shaheenai


Nameshaheenai JSON
Version 0.2.1 PyPI version JSON
download
home_pageNone
SummaryA flexible, multi-LLM, agent-oriented Python library with self-reflection capabilities
upload_time2025-07-31 14:42:23
maintainerNone
docs_urlNone
authorHamza - AI Engineer, Python Developer, Machine Learning, Agentic AI, Data Science, Node, Express, Typescript, NextJS
requires_python>=3.10
licenseNone
keywords ai llm agents automation openai groq gemini
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # shaheenai

ShaheenAI is a flexible, multi-LLM, agent-oriented Python library that supports multiple language model providers like OpenAI, Anthropic, Ollama, and Cohere via a plugin/extras architecture. The library offers self-reflection, tool invocation, task chaining, research planning capabilities, and optional UI integrations using Streamlit and Chainlit.

## Features
- **Modular Agent Class:** Supports multiple LLMs with self-reflection, tool invocation, and task chaining.
- **Research Planning & Management:** Comprehensive tools for research project management, milestones, and bibliography.
- **Advanced Coding Assistant:** Specialized support for Python and multi-language programming assistance.
- **Real API Integration:** Built-in tools for weather (OpenWeatherMap), web search (Brave/SerpAPI/DuckDuckGo), and calculations.
- **Identity Awareness:** Agents respond with "I am Shaheen AI developed by Engr. Hamza" when asked about identity.
- **MCP Server Interface:** Tool integration via Model Context Protocol for extensibility.
- **Configurable via YAML or Code:** Supports playbooks and programmatic configuration.
- **Wide LLM Provider Support:** OpenAI, Anthropic, Ollama, Cohere, Google Gemini, etc.
- **Memory & Self-Reflection:** Conversation context tracking and response improvement capabilities.
- **Async/Sync Operations:** Both synchronous and asynchronous agent operations supported.
- **Streamlit and Chainlit Support:** Build interactive and conversational UIs for agents.

## Getting Started

### Prerequisites
- Python 3.10 or higher

### Installation
To install ShaheenAI, use pip:
```bash
pip install shaheenai
```

### Usage

#### 1. Basic Agent Creation
```python
from shaheenai import Agent

# Create a simple agent
agent = Agent(
    instructions="You are a helpful AI assistant specializing in Python programming.",
    llm="openai/gpt-3.5-turbo"
)

# Ask a question
response = agent.start("Explain list comprehensions in Python")
print(response)
```

#### 2. Agent with Memory
```python
from shaheenai import Agent

# Create an agent with conversation memory
agent = Agent(
    instructions="You are a knowledgeable tutor.",
    llm="openai/gpt-4",
    memory=True
)

# Have a conversation
print(agent.start("What is machine learning?"))
print(agent.start("Can you give me an example?"))  # Remembers previous context
print(agent.start("How does it relate to AI?"))   # Continues the conversation
```

#### 3. Agent with Self-Reflection
```python
from shaheenai import Agent

# Create an agent with self-reflection capabilities
agent = Agent(
    instructions="You are a research assistant that provides accurate information.",
    llm="anthropic/claude-3-sonnet",
    self_reflection=True,
    max_iterations=2
)

# The agent will reflect on and improve its initial response
response = agent.start("Explain quantum computing and its potential applications")
print(response)
```

#### 4. Multi-LLM Provider Support
```python
from shaheenai import Agent

# Different LLM providers
openai_agent = Agent(llm="openai/gpt-4")
anthropic_agent = Agent(llm="anthropic/claude-3-opus")
cohere_agent = Agent(llm="cohere/command-r-plus")
ollama_agent = Agent(llm="ollama/llama2")

# Use any agent
response = openai_agent.start("Hello, how are you?")
print(response)
```

#### 5. Agent Identity Feature
```python
from shaheenai import Agent

agent = Agent()

# Ask about identity
print(agent.start("Who are you?"))
# Output: "I am Shaheen AI developed by Engr. Hamza, an enthusiastic AI engineer."

print(agent.start("Who developed you?"))
# Output: "I am Shaheen AI developed by Engr. Hamza, an enthusiastic AI engineer."
```

#### 6. Async Operations
```python
import asyncio
from shaheenai import Agent

async def main():
    agent = Agent(
        instructions="You are a helpful assistant.",
        llm="openai/gpt-3.5-turbo"
    )
    
    # Use async method
    response = await agent.astart("What are the benefits of async programming?")
    print(response)

# Run async
asyncio.run(main())
```

#### 7. Using with Tools (MCP)
```python
from shaheenai import Agent, MCP

# Define and run the MCP server
mcp = MCP()

@mcp.tool()
async def get_weather(location: str) -e str:
    """Get weather information for a location using the OpenWeatherMap API"""
    return "Weather information is now retrieved using OpenWeatherMap API."

@mcp.tool()
async def web_search(query: str, max_results: int = 5) -e str:
    """Search the internet for information using real search APIs"""
    return "Search results are now retrieved using Brave, SerpAPI, or DuckDuckGo."

@mcp.tool()
async def calculate_tip(bill_amount: float, tip_percentage: float = 15.0) -e str:
    """Calculate tip amount"""
    tip = bill_amount * (tip_percentage / 100)
    total = bill_amount + tip
    return f"Bill: ${bill_amount:.2f}, Tip ({tip_percentage}%): ${tip:.2f}, Total: ${total:.2f}"

# Create an agent with tools
agent = Agent(
    instructions="You can use tools to help users with weather, calculations, and web searches.",
    llm="openai/gpt-3.5-turbo",
    tools=["get_weather", "web_search", "calculate_tip"]
)

# Use the agent
response = agent.start("What's the weather in Tokyo?")
print(response)

response = agent.start("Search for Python programming tutorials")
print(response)

response = agent.start("Calculate tip for a $50 bill")
print(response)
```

### API Configuration for Real Tools

ShaheenAI includes several built-in tools that require API keys for full functionality:

#### Weather Tool (`get_weather`)
Uses OpenWeatherMap API for real weather data:
```bash
# Windows PowerShell
$env:OPENWEATHER_API_KEY='your-openweathermap-api-key'

# Linux/Mac
export OPENWEATHER_API_KEY='your-openweathermap-api-key'
```
- Get your API key from: [OpenWeatherMap API](https://openweathermap.org/api)
- Features: Current weather, temperature, humidity, wind, pressure, visibility

#### Web Search Tool (`web_search`)
Supports multiple search providers (tries in order):

**Option 1: Brave Search API (Recommended)**
```bash
# Windows PowerShell
$env:BRAVE_API_KEY='your-brave-search-api-key'

# Linux/Mac
export BRAVE_API_KEY='your-brave-search-api-key'
```
- Get your API key from: [Brave Search API](https://api.search.brave.com)

**Option 2: SerpAPI (Google Search)**
```bash
# Windows PowerShell
$env:SERPAPI_KEY='your-serpapi-key'

# Linux/Mac
export SERPAPI_KEY='your-serpapi-key'
```
- Get your API key from: [SerpAPI](https://serpapi.com)

**Option 3: DuckDuckGo (Free, No API Key)**
- Automatically used as fallback if no API keys are configured
- Limited to instant answers and definitions

#### Example with Real APIs
```python
import os
from shaheenai import Agent

# Set up API keys
os.environ['OPENWEATHER_API_KEY'] = 'your-openweathermap-key'
os.environ['BRAVE_API_KEY'] = 'your-brave-search-key'

# Create agent with real tools
agent = Agent(
    instructions="I can help with weather, web searches, and calculations using real APIs.",
    llm="openai/gpt-3.5-turbo",
    tools=["get_weather", "web_search", "calculate"]
)

# Real weather data
weather = agent.start("What's the weather in New York?")
print(weather)
# Output: Detailed weather report with temperature, humidity, wind, etc.

# Real web search
search = agent.start("Search for latest AI developments")
print(search)
# Output: Real search results from Brave/Google/DuckDuckGo

# Built-in calculator
math = agent.start("Calculate 25 * 4 + 18")
print(math)
# Output: 118
```

### CLI
ShaheenAI provides a command-line interface for running agents defined in YAML playbooks or via auto-mode.

Example:
```bash
shaheenai run agents.yaml
```

## Built-in Tools

ShaheenAI comes with several built-in tools that work with real APIs:

### 🌤️ Weather Tool
- **Function:** `get_weather(location)`
- **API:** OpenWeatherMap
- **Features:** Temperature, humidity, wind, pressure, visibility
- **Usage:** "What's the weather in London?"

### 🔍 Web Search Tool
- **Function:** `web_search(query, max_results=5)`
- **APIs:** Brave Search, SerpAPI (Google), DuckDuckGo
- **Features:** Real-time web search results
- **Usage:** "Search for Python tutorials"

### 🧮 Calculator Tool
- **Function:** `calculate(expression)`
- **Features:** Mathematical expression evaluation
- **Usage:** "Calculate 25 * 4 + 18"

## Research Planning & Management

ShaheenAI includes comprehensive research planning and management capabilities:

### 📋 Research Project Management
```python
from shaheenai.research import ResearchProject
from datetime import datetime

# Create a research project
project = ResearchProject(
    name="AI Code Generation Study",
    description="Research on automatic code generation using LLMs",
    start_date=datetime(2024, 2, 1),
    end_date=datetime(2024, 8, 31)
)

# Add milestones
project.add_milestone(
    "Literature Review",
    "Comprehensive review of existing techniques",
    datetime(2024, 3, 15)
)

# Track progress
project.complete_milestone("Literature Review")
print(f"Progress: {project.get_progress():.1f}%")

# Generate project report
report = project.generate_report()
print(report)
```

### 📚 Bibliography Management
```python
from shaheenai.research import BibliographyManager

# Create bibliography manager
bib_manager = BibliographyManager()

# Add research papers
bib_manager.add_entry({
    "type": "article",
    "key": "chen2021evaluating",
    "title": "Evaluating Large Language Models Trained on Code",
    "author": "Chen, Mark and others",
    "year": "2021"
})

# Export to BibTeX
bib_manager.export_bibtex("references.bib")
```

### 📄 Research Templates
```python
from shaheenai.research import ResearchTemplates

# Generate research proposal template
proposal = ResearchTemplates.generate_template("proposal")
print(proposal)

# Generate research report template
report = ResearchTemplates.generate_template("report")
print(report)
```

### 🗂️ Research Planning
```python
from shaheenai.research import ResearchPlanner

# Create research planner
planner = ResearchPlanner()

# Add research tasks
planner.add_task("Literature review")
planner.add_task("Data collection")
planner.add_task("Methodology design")

# Set deadlines
planner.set_timeline("Literature review", "2024-03-15")

# View planned tasks
tasks = planner.view_tasks()
print(f"Tasks: {tasks}")
```

## Directory Structure
```
shaheenai/
 ├── shaheenai/
 │    ├── __init__.py
 │    ├── agent.py          # Main Agent class with tool integration
 │    ├── mcp.py            # MCP server and built-in tools
 │    ├── llm_providers/    # LLM provider implementations
 │    │     ├── openai.py
 │    │     ├── google.py   # Google Gemini
 │    │     ├── cohere.py
 │    │     └── ...
 │    ├── tools/            # Tool base classes
 │    ├── ui/               # UI integrations
 │    │     ├── streamlit_ui.py
 │    │     └── chainlit_ui.py
 │    └── config.py
 ├── pyproject.toml
 ├── README.md
 ├── LICENSE
 └── examples/
      ├── comprehensive_test.py
      ├── test_chainlit_app.py
      └── agents.yaml
```

## Contributing
Contributions are welcome! Please read the contribution guidelines first.

## License
This project is licensed under the MIT License.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "shaheenai",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "ai, llm, agents, automation, openai, groq, gemini",
    "author": "Hamza - AI Engineer, Python Developer, Machine Learning, Agentic AI, Data Science, Node, Express, Typescript, NextJS",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/da/12/999224fb3fc0dcab2aa1e106c7ac8cf1ac21ebf162e98fb15db40321209f/shaheenai-0.2.1.tar.gz",
    "platform": null,
    "description": "# shaheenai\r\n\r\nShaheenAI is a flexible, multi-LLM, agent-oriented Python library that supports multiple language model providers like OpenAI, Anthropic, Ollama, and Cohere via a plugin/extras architecture. The library offers self-reflection, tool invocation, task chaining, research planning capabilities, and optional UI integrations using Streamlit and Chainlit.\r\n\r\n## Features\r\n- **Modular Agent Class:** Supports multiple LLMs with self-reflection, tool invocation, and task chaining.\r\n- **Research Planning & Management:** Comprehensive tools for research project management, milestones, and bibliography.\r\n- **Advanced Coding Assistant:** Specialized support for Python and multi-language programming assistance.\r\n- **Real API Integration:** Built-in tools for weather (OpenWeatherMap), web search (Brave/SerpAPI/DuckDuckGo), and calculations.\r\n- **Identity Awareness:** Agents respond with \"I am Shaheen AI developed by Engr. Hamza\" when asked about identity.\r\n- **MCP Server Interface:** Tool integration via Model Context Protocol for extensibility.\r\n- **Configurable via YAML or Code:** Supports playbooks and programmatic configuration.\r\n- **Wide LLM Provider Support:** OpenAI, Anthropic, Ollama, Cohere, Google Gemini, etc.\r\n- **Memory & Self-Reflection:** Conversation context tracking and response improvement capabilities.\r\n- **Async/Sync Operations:** Both synchronous and asynchronous agent operations supported.\r\n- **Streamlit and Chainlit Support:** Build interactive and conversational UIs for agents.\r\n\r\n## Getting Started\r\n\r\n### Prerequisites\r\n- Python 3.10 or higher\r\n\r\n### Installation\r\nTo install ShaheenAI, use pip:\r\n```bash\r\npip install shaheenai\r\n```\r\n\r\n### Usage\r\n\r\n#### 1. Basic Agent Creation\r\n```python\r\nfrom shaheenai import Agent\r\n\r\n# Create a simple agent\r\nagent = Agent(\r\n    instructions=\"You are a helpful AI assistant specializing in Python programming.\",\r\n    llm=\"openai/gpt-3.5-turbo\"\r\n)\r\n\r\n# Ask a question\r\nresponse = agent.start(\"Explain list comprehensions in Python\")\r\nprint(response)\r\n```\r\n\r\n#### 2. Agent with Memory\r\n```python\r\nfrom shaheenai import Agent\r\n\r\n# Create an agent with conversation memory\r\nagent = Agent(\r\n    instructions=\"You are a knowledgeable tutor.\",\r\n    llm=\"openai/gpt-4\",\r\n    memory=True\r\n)\r\n\r\n# Have a conversation\r\nprint(agent.start(\"What is machine learning?\"))\r\nprint(agent.start(\"Can you give me an example?\"))  # Remembers previous context\r\nprint(agent.start(\"How does it relate to AI?\"))   # Continues the conversation\r\n```\r\n\r\n#### 3. Agent with Self-Reflection\r\n```python\r\nfrom shaheenai import Agent\r\n\r\n# Create an agent with self-reflection capabilities\r\nagent = Agent(\r\n    instructions=\"You are a research assistant that provides accurate information.\",\r\n    llm=\"anthropic/claude-3-sonnet\",\r\n    self_reflection=True,\r\n    max_iterations=2\r\n)\r\n\r\n# The agent will reflect on and improve its initial response\r\nresponse = agent.start(\"Explain quantum computing and its potential applications\")\r\nprint(response)\r\n```\r\n\r\n#### 4. Multi-LLM Provider Support\r\n```python\r\nfrom shaheenai import Agent\r\n\r\n# Different LLM providers\r\nopenai_agent = Agent(llm=\"openai/gpt-4\")\r\nanthropic_agent = Agent(llm=\"anthropic/claude-3-opus\")\r\ncohere_agent = Agent(llm=\"cohere/command-r-plus\")\r\nollama_agent = Agent(llm=\"ollama/llama2\")\r\n\r\n# Use any agent\r\nresponse = openai_agent.start(\"Hello, how are you?\")\r\nprint(response)\r\n```\r\n\r\n#### 5. Agent Identity Feature\r\n```python\r\nfrom shaheenai import Agent\r\n\r\nagent = Agent()\r\n\r\n# Ask about identity\r\nprint(agent.start(\"Who are you?\"))\r\n# Output: \"I am Shaheen AI developed by Engr. Hamza, an enthusiastic AI engineer.\"\r\n\r\nprint(agent.start(\"Who developed you?\"))\r\n# Output: \"I am Shaheen AI developed by Engr. Hamza, an enthusiastic AI engineer.\"\r\n```\r\n\r\n#### 6. Async Operations\r\n```python\r\nimport asyncio\r\nfrom shaheenai import Agent\r\n\r\nasync def main():\r\n    agent = Agent(\r\n        instructions=\"You are a helpful assistant.\",\r\n        llm=\"openai/gpt-3.5-turbo\"\r\n    )\r\n    \r\n    # Use async method\r\n    response = await agent.astart(\"What are the benefits of async programming?\")\r\n    print(response)\r\n\r\n# Run async\r\nasyncio.run(main())\r\n```\r\n\r\n#### 7. Using with Tools (MCP)\r\n```python\r\nfrom shaheenai import Agent, MCP\r\n\r\n# Define and run the MCP server\r\nmcp = MCP()\r\n\r\n@mcp.tool()\r\nasync def get_weather(location: str) -\u0003e str:\r\n    \"\"\"Get weather information for a location using the OpenWeatherMap API\"\"\"\r\n    return \"Weather information is now retrieved using OpenWeatherMap API.\"\r\n\r\n@mcp.tool()\r\nasync def web_search(query: str, max_results: int = 5) -\u0003e str:\r\n    \"\"\"Search the internet for information using real search APIs\"\"\"\r\n    return \"Search results are now retrieved using Brave, SerpAPI, or DuckDuckGo.\"\r\n\r\n@mcp.tool()\r\nasync def calculate_tip(bill_amount: float, tip_percentage: float = 15.0) -\u0003e str:\r\n    \"\"\"Calculate tip amount\"\"\"\r\n    tip = bill_amount * (tip_percentage / 100)\r\n    total = bill_amount + tip\r\n    return f\"Bill: ${bill_amount:.2f}, Tip ({tip_percentage}%): ${tip:.2f}, Total: ${total:.2f}\"\r\n\r\n# Create an agent with tools\r\nagent = Agent(\r\n    instructions=\"You can use tools to help users with weather, calculations, and web searches.\",\r\n    llm=\"openai/gpt-3.5-turbo\",\r\n    tools=[\"get_weather\", \"web_search\", \"calculate_tip\"]\r\n)\r\n\r\n# Use the agent\r\nresponse = agent.start(\"What's the weather in Tokyo?\")\r\nprint(response)\r\n\r\nresponse = agent.start(\"Search for Python programming tutorials\")\r\nprint(response)\r\n\r\nresponse = agent.start(\"Calculate tip for a $50 bill\")\r\nprint(response)\r\n```\r\n\r\n### API Configuration for Real Tools\r\n\r\nShaheenAI includes several built-in tools that require API keys for full functionality:\r\n\r\n#### Weather Tool (`get_weather`)\r\nUses OpenWeatherMap API for real weather data:\r\n```bash\r\n# Windows PowerShell\r\n$env:OPENWEATHER_API_KEY='your-openweathermap-api-key'\r\n\r\n# Linux/Mac\r\nexport OPENWEATHER_API_KEY='your-openweathermap-api-key'\r\n```\r\n- Get your API key from: [OpenWeatherMap API](https://openweathermap.org/api)\r\n- Features: Current weather, temperature, humidity, wind, pressure, visibility\r\n\r\n#### Web Search Tool (`web_search`)\r\nSupports multiple search providers (tries in order):\r\n\r\n**Option 1: Brave Search API (Recommended)**\r\n```bash\r\n# Windows PowerShell\r\n$env:BRAVE_API_KEY='your-brave-search-api-key'\r\n\r\n# Linux/Mac\r\nexport BRAVE_API_KEY='your-brave-search-api-key'\r\n```\r\n- Get your API key from: [Brave Search API](https://api.search.brave.com)\r\n\r\n**Option 2: SerpAPI (Google Search)**\r\n```bash\r\n# Windows PowerShell\r\n$env:SERPAPI_KEY='your-serpapi-key'\r\n\r\n# Linux/Mac\r\nexport SERPAPI_KEY='your-serpapi-key'\r\n```\r\n- Get your API key from: [SerpAPI](https://serpapi.com)\r\n\r\n**Option 3: DuckDuckGo (Free, No API Key)**\r\n- Automatically used as fallback if no API keys are configured\r\n- Limited to instant answers and definitions\r\n\r\n#### Example with Real APIs\r\n```python\r\nimport os\r\nfrom shaheenai import Agent\r\n\r\n# Set up API keys\r\nos.environ['OPENWEATHER_API_KEY'] = 'your-openweathermap-key'\r\nos.environ['BRAVE_API_KEY'] = 'your-brave-search-key'\r\n\r\n# Create agent with real tools\r\nagent = Agent(\r\n    instructions=\"I can help with weather, web searches, and calculations using real APIs.\",\r\n    llm=\"openai/gpt-3.5-turbo\",\r\n    tools=[\"get_weather\", \"web_search\", \"calculate\"]\r\n)\r\n\r\n# Real weather data\r\nweather = agent.start(\"What's the weather in New York?\")\r\nprint(weather)\r\n# Output: Detailed weather report with temperature, humidity, wind, etc.\r\n\r\n# Real web search\r\nsearch = agent.start(\"Search for latest AI developments\")\r\nprint(search)\r\n# Output: Real search results from Brave/Google/DuckDuckGo\r\n\r\n# Built-in calculator\r\nmath = agent.start(\"Calculate 25 * 4 + 18\")\r\nprint(math)\r\n# Output: 118\r\n```\r\n\r\n### CLI\r\nShaheenAI provides a command-line interface for running agents defined in YAML playbooks or via auto-mode.\r\n\r\nExample:\r\n```bash\r\nshaheenai run agents.yaml\r\n```\r\n\r\n## Built-in Tools\r\n\r\nShaheenAI comes with several built-in tools that work with real APIs:\r\n\r\n### \ud83c\udf24\ufe0f Weather Tool\r\n- **Function:** `get_weather(location)`\r\n- **API:** OpenWeatherMap\r\n- **Features:** Temperature, humidity, wind, pressure, visibility\r\n- **Usage:** \"What's the weather in London?\"\r\n\r\n### \ud83d\udd0d Web Search Tool\r\n- **Function:** `web_search(query, max_results=5)`\r\n- **APIs:** Brave Search, SerpAPI (Google), DuckDuckGo\r\n- **Features:** Real-time web search results\r\n- **Usage:** \"Search for Python tutorials\"\r\n\r\n### \ud83e\uddee Calculator Tool\r\n- **Function:** `calculate(expression)`\r\n- **Features:** Mathematical expression evaluation\r\n- **Usage:** \"Calculate 25 * 4 + 18\"\r\n\r\n## Research Planning & Management\r\n\r\nShaheenAI includes comprehensive research planning and management capabilities:\r\n\r\n### \ud83d\udccb Research Project Management\r\n```python\r\nfrom shaheenai.research import ResearchProject\r\nfrom datetime import datetime\r\n\r\n# Create a research project\r\nproject = ResearchProject(\r\n    name=\"AI Code Generation Study\",\r\n    description=\"Research on automatic code generation using LLMs\",\r\n    start_date=datetime(2024, 2, 1),\r\n    end_date=datetime(2024, 8, 31)\r\n)\r\n\r\n# Add milestones\r\nproject.add_milestone(\r\n    \"Literature Review\",\r\n    \"Comprehensive review of existing techniques\",\r\n    datetime(2024, 3, 15)\r\n)\r\n\r\n# Track progress\r\nproject.complete_milestone(\"Literature Review\")\r\nprint(f\"Progress: {project.get_progress():.1f}%\")\r\n\r\n# Generate project report\r\nreport = project.generate_report()\r\nprint(report)\r\n```\r\n\r\n### \ud83d\udcda Bibliography Management\r\n```python\r\nfrom shaheenai.research import BibliographyManager\r\n\r\n# Create bibliography manager\r\nbib_manager = BibliographyManager()\r\n\r\n# Add research papers\r\nbib_manager.add_entry({\r\n    \"type\": \"article\",\r\n    \"key\": \"chen2021evaluating\",\r\n    \"title\": \"Evaluating Large Language Models Trained on Code\",\r\n    \"author\": \"Chen, Mark and others\",\r\n    \"year\": \"2021\"\r\n})\r\n\r\n# Export to BibTeX\r\nbib_manager.export_bibtex(\"references.bib\")\r\n```\r\n\r\n### \ud83d\udcc4 Research Templates\r\n```python\r\nfrom shaheenai.research import ResearchTemplates\r\n\r\n# Generate research proposal template\r\nproposal = ResearchTemplates.generate_template(\"proposal\")\r\nprint(proposal)\r\n\r\n# Generate research report template\r\nreport = ResearchTemplates.generate_template(\"report\")\r\nprint(report)\r\n```\r\n\r\n### \ud83d\uddc2\ufe0f Research Planning\r\n```python\r\nfrom shaheenai.research import ResearchPlanner\r\n\r\n# Create research planner\r\nplanner = ResearchPlanner()\r\n\r\n# Add research tasks\r\nplanner.add_task(\"Literature review\")\r\nplanner.add_task(\"Data collection\")\r\nplanner.add_task(\"Methodology design\")\r\n\r\n# Set deadlines\r\nplanner.set_timeline(\"Literature review\", \"2024-03-15\")\r\n\r\n# View planned tasks\r\ntasks = planner.view_tasks()\r\nprint(f\"Tasks: {tasks}\")\r\n```\r\n\r\n## Directory Structure\r\n```\r\nshaheenai/\r\n \u251c\u2500\u2500 shaheenai/\r\n \u2502    \u251c\u2500\u2500 __init__.py\r\n \u2502    \u251c\u2500\u2500 agent.py          # Main Agent class with tool integration\r\n \u2502    \u251c\u2500\u2500 mcp.py            # MCP server and built-in tools\r\n \u2502    \u251c\u2500\u2500 llm_providers/    # LLM provider implementations\r\n \u2502    \u2502     \u251c\u2500\u2500 openai.py\r\n \u2502    \u2502     \u251c\u2500\u2500 google.py   # Google Gemini\r\n \u2502    \u2502     \u251c\u2500\u2500 cohere.py\r\n \u2502    \u2502     \u2514\u2500\u2500 ...\r\n \u2502    \u251c\u2500\u2500 tools/            # Tool base classes\r\n \u2502    \u251c\u2500\u2500 ui/               # UI integrations\r\n \u2502    \u2502     \u251c\u2500\u2500 streamlit_ui.py\r\n \u2502    \u2502     \u2514\u2500\u2500 chainlit_ui.py\r\n \u2502    \u2514\u2500\u2500 config.py\r\n \u251c\u2500\u2500 pyproject.toml\r\n \u251c\u2500\u2500 README.md\r\n \u251c\u2500\u2500 LICENSE\r\n \u2514\u2500\u2500 examples/\r\n      \u251c\u2500\u2500 comprehensive_test.py\r\n      \u251c\u2500\u2500 test_chainlit_app.py\r\n      \u2514\u2500\u2500 agents.yaml\r\n```\r\n\r\n## Contributing\r\nContributions are welcome! Please read the contribution guidelines first.\r\n\r\n## License\r\nThis project is licensed under the MIT License.\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A flexible, multi-LLM, agent-oriented Python library with self-reflection capabilities",
    "version": "0.2.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/hamza/shaheenai/issues",
        "Documentation": "https://shaheenai.readthedocs.io",
        "Homepage": "https://github.com/hamza/shaheenai",
        "Repository": "https://github.com/hamza/shaheenai"
    },
    "split_keywords": [
        "ai",
        " llm",
        " agents",
        " automation",
        " openai",
        " groq",
        " gemini"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d6c2a0442791c421897dc7972d680ea48eee3e8851b66419607686646f669006",
                "md5": "36ce853bf47212acc2c12574663e1628",
                "sha256": "be075b5952f7ac42b1eb9a2613edbd1aba09790bfc8d82b137df3834bf804070"
            },
            "downloads": -1,
            "filename": "shaheenai-0.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "36ce853bf47212acc2c12574663e1628",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 40546,
            "upload_time": "2025-07-31T14:42:20",
            "upload_time_iso_8601": "2025-07-31T14:42:20.763541Z",
            "url": "https://files.pythonhosted.org/packages/d6/c2/a0442791c421897dc7972d680ea48eee3e8851b66419607686646f669006/shaheenai-0.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "da12999224fb3fc0dcab2aa1e106c7ac8cf1ac21ebf162e98fb15db40321209f",
                "md5": "c6489b41ab9ea185709f0d571b271612",
                "sha256": "bf7a8281a5d5c807b3c5b82647567403d20dd2640c663328ca65a3d9db4a2833"
            },
            "downloads": -1,
            "filename": "shaheenai-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "c6489b41ab9ea185709f0d571b271612",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 41882,
            "upload_time": "2025-07-31T14:42:23",
            "upload_time_iso_8601": "2025-07-31T14:42:23.928846Z",
            "url": "https://files.pythonhosted.org/packages/da/12/999224fb3fc0dcab2aa1e106c7ac8cf1ac21ebf162e98fb15db40321209f/shaheenai-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-31 14:42:23",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "hamza",
    "github_project": "shaheenai",
    "github_not_found": true,
    "lcname": "shaheenai"
}
        
Elapsed time: 1.46130s