Name | shaheenai JSON |
Version |
0.2.1
JSON |
| download |
home_page | None |
Summary | A flexible, multi-LLM, agent-oriented Python library with self-reflection capabilities |
upload_time | 2025-07-31 14:42:23 |
maintainer | None |
docs_url | None |
author | Hamza - AI Engineer, Python Developer, Machine Learning, Agentic AI, Data Science, Node, Express, Typescript, NextJS |
requires_python | >=3.10 |
license | None |
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"
}