Metadata-Version: 2.4
Name: naas-abi-marketplace
Version: 1.8.0
Summary: Add your description here
Author-email: Maxime Jublou <maxime@naas.ai>, Florent Ravenel <florent@naas.ai>, Jeremy Ravenel <jeremy@naas.ai>
License: MIT License
Project-URL: Homepage, https://github.com/jupyter-naas/abi
Project-URL: Repository, https://github.com/jupyter-naas/abi/tree/main/libs/naas-abi-marketplace
Requires-Python: <4,>=3.10
Description-Content-Type: text/markdown
Requires-Dist: naas-abi-core>=1.4.0
Provides-Extra: ai-chatgpt
Requires-Dist: pdfplumber>=0.11.8; extra == "ai-chatgpt"
Provides-Extra: ai-claude
Requires-Dist: langchain-anthropic>=0.3.17; extra == "ai-claude"
Provides-Extra: ai-deepseek
Requires-Dist: langchain-ollama>=0.3.4; extra == "ai-deepseek"
Provides-Extra: ai-gemini
Requires-Dist: langchain-google-genai>=2.1.4; extra == "ai-gemini"
Provides-Extra: ai-gemma
Requires-Dist: langchain-ollama>=0.3.4; extra == "ai-gemma"
Provides-Extra: ai-grok
Requires-Dist: langchain-xai>=0.2.5; extra == "ai-grok"
Provides-Extra: ai-llama
Requires-Dist: langchain-ollama>=0.3.4; extra == "ai-llama"
Provides-Extra: ai-mistral
Requires-Dist: langchain-mistralai>=0.2.11; extra == "ai-mistral"
Provides-Extra: ai-perplexity
Requires-Dist: langchain-perplexity>=0.1.2; extra == "ai-perplexity"
Provides-Extra: ai-qwen
Requires-Dist: langchain-ollama>=0.3.4; extra == "ai-qwen"
Provides-Extra: applications-agicap
Provides-Extra: applications-airtable
Provides-Extra: applications-algolia
Requires-Dist: algoliasearch>=4.35.0; extra == "applications-algolia"
Provides-Extra: applications-arxiv
Requires-Dist: arxiv<3,>=2.1.3; extra == "applications-arxiv"
Provides-Extra: applications-bodo
Requires-Dist: boto3<2,>=1.38.19; extra == "applications-bodo"
Provides-Extra: applications-datagouv
Provides-Extra: applications-exchangeratesapi
Provides-Extra: applications-git
Provides-Extra: applications-github
Requires-Dist: pynacl<2,>=1.5.0; extra == "applications-github"
Provides-Extra: applications-gmail
Requires-Dist: google-api-python-client>=2.188.0; extra == "applications-gmail"
Requires-Dist: google-api-python-client-stubs>=1.31.0; extra == "applications-gmail"
Provides-Extra: applications-google-calendar
Provides-Extra: applications-google-drive
Provides-Extra: applications-google-sheets
Provides-Extra: applications-googlesearch
Requires-Dist: beautifulsoup4>=4.12.0; extra == "applications-googlesearch"
Provides-Extra: applications-hubspot
Provides-Extra: applications-linkedin
Requires-Dist: pandas>=2.3.3; extra == "applications-linkedin"
Provides-Extra: applications-naas
Provides-Extra: applications-nebari
Provides-Extra: applications-newsapi
Provides-Extra: applications-notion
Provides-Extra: applications-openrouter
Provides-Extra: applications-openweathermap
Provides-Extra: applications-pennylane
Provides-Extra: applications-postgres
Requires-Dist: psycopg2-binary<3,>=2.9.10; extra == "applications-postgres"
Requires-Dist: types-psycopg2>=2.9.21.20251012; extra == "applications-postgres"
Provides-Extra: applications-powerpoint
Requires-Dist: python-pptx<2,>=1.0.2; extra == "applications-powerpoint"
Provides-Extra: applications-pubmed
Requires-Dist: ratelimit>=2.2.1; extra == "applications-pubmed"
Requires-Dist: ratelimit-types==0.0.3; extra == "applications-pubmed"
Provides-Extra: applications-sanax
Provides-Extra: applications-sendgrid
Provides-Extra: applications-sharepoint
Provides-Extra: applications-spotify
Provides-Extra: applications-twilio
Requires-Dist: flask>=3.1.2; extra == "applications-twilio"
Requires-Dist: types-flask>=1.1.6; extra == "applications-twilio"
Requires-Dist: twilio>=9.10.0; extra == "applications-twilio"
Requires-Dist: twilio-stubs>=0.2.0; extra == "applications-twilio"
Provides-Extra: applications-worldbank
Provides-Extra: applications-yahoofinance
Requires-Dist: yfinance==0.2.66; extra == "applications-yahoofinance"
Requires-Dist: yahooquery==2.4.1; extra == "applications-yahoofinance"
Provides-Extra: domains-ontology-engineer
Requires-Dist: thefuzz==0.22.1; extra == "domains-ontology-engineer"
Requires-Dist: fuzzywuzzy-stubs==0.0.1; extra == "domains-ontology-engineer"

# naas-abi-marketplace

A comprehensive marketplace of pre-built modules, agents, integrations, and workflows for the ABI (Agentic Brain Infrastructure) framework. This package provides ready-to-use components organized into three main categories: AI agents, application integrations, and domain expert modules.

## Overview

`naas-abi-marketplace` is a collection of modular components that extend the ABI framework with:

- **AI Agent Modules**: Integration with major AI providers (ChatGPT, Claude, Gemini, Grok, Mistral, etc.)
- **Application Modules**: 50+ integrations with popular services and platforms
- **Domain Expert Modules**: Specialized agents for specific professional roles and tasks
- **Demo Applications**: Reference implementations and UI patterns

## Installation

```bash
pip install naas-abi-marketplace
```

### Optional Dependencies

Install specific module groups based on your needs:

```bash
# AI Agents
pip install naas-abi-marketplace[ai-chatgpt]
pip install naas-abi-marketplace[ai-claude]
pip install naas-abi-marketplace[ai-gemini]
pip install naas-abi-marketplace[ai-grok]
pip install naas-abi-marketplace[ai-mistral]
pip install naas-abi-marketplace[ai-perplexity]
pip install naas-abi-marketplace[ai-llama]
pip install naas-abi-marketplace[ai-qwen]
pip install naas-abi-marketplace[ai-deepseek]
pip install naas-abi-marketplace[ai-gemma]

# Application Integrations
pip install naas-abi-marketplace[applications-github]
pip install naas-abi-marketplace[applications-linkedin]
pip install naas-abi-marketplace[applications-postgres]
pip install naas-abi-marketplace[applications-powerpoint]
pip install naas-abi-marketplace[applications-arxiv]
pip install naas-abi-marketplace[applications-pubmed]
# ... and many more
```

## Module Categories

### AI Agent Modules

Pre-configured agents for major AI providers with optimized model configurations and capabilities.

#### Available AI Agents

1. **ChatGPT** (`ai.chatgpt`)
   - Models: GPT-4o, o3-pro, o3, GPT-4.1, GPT-4.1 mini
   - Features: Web search integration, advanced reasoning
   - Intelligence: 53-71 (depending on model)
   - Use cases: General purpose, code generation, research

2. **Claude** (`ai.claude`)
   - Models: Claude 4 Opus, Claude 4 Sonnet (with Thinking variants)
   - Features: Constitutional AI, advanced reasoning
   - Intelligence: 53-64
   - Use cases: Complex analysis, ethical considerations, nuanced understanding

3. **Gemini** (`ai.gemini`)
   - Models: Gemini Pro, Gemini Ultra
   - Features: Multimodal capabilities, creative tasks
   - Use cases: Image generation, creative content, multimodal analysis

4. **Grok** (`ai.grok`)
   - Models: Grok 4, Grok 3, Grok 3 mini Reasoning
   - Features: Highest intelligence scores globally, truth-seeking
   - Intelligence: 51-73 (highest globally)
   - Use cases: Truth-seeking, unbiased analysis, maximum capability tasks

5. **Mistral** (`ai.mistral`)
   - Models: Mistral Large, Mistral Medium
   - Features: Code and math excellence
   - Use cases: Programming assistance, mathematical reasoning

6. **Perplexity** (`ai.perplexity`)
   - Models: R1 1776
   - Features: AI-powered search, real-time information
   - Intelligence: 54
   - Use cases: Web search, current events, information discovery

7. **Llama** (`ai.llama`)
   - Models: Llama 3, Llama 3.1
   - Features: Open-source, local deployment
   - Use cases: Privacy-focused applications, local AI

8. **Qwen** (`ai.qwen`)
   - Models: Qwen 2.5, Qwen 2
   - Features: Multilingual support, efficient performance
   - Use cases: Multilingual tasks, cost-effective deployment

9. **DeepSeek** (`ai.deepseek`)
   - Models: DeepSeek V2, DeepSeek Coder
   - Features: Code-focused, high performance
   - Use cases: Software development, code analysis

10. **Gemma** (`ai.gemma`)
    - Models: Gemma 2, Gemma 3
    - Features: Lightweight, efficient
    - Use cases: Resource-constrained environments

**Usage Example:**

```python
from naas_abi_core.engine.Engine import Engine

engine = Engine()
engine.load(module_names=["naas_abi_marketplace.ai.chatgpt"])

# Access ChatGPT agent
from naas_abi_marketplace.ai.chatgpt.agents.ChatGPTAgent import create_agent

agent = create_agent()
response = agent.invoke("Explain quantum computing")
```

### Application Modules

50+ integrations with popular services, APIs, and platforms.

#### Available Applications

**Development & Code:**
- `applications.github` - GitHub integration (issues, PRs, repositories)
- `applications.git` - Git operations and repository management
- `applications.aws` - AWS services integration
- `applications.bodo` - Bodo platform integration

**Communication & Collaboration:**
- `applications.gmail` - Gmail integration
- `applications.slack` - Slack workspace integration
- `applications.whatsapp_business` - WhatsApp Business API
- `applications.sendgrid` - Email delivery service
- `applications.twilio` - SMS and voice communication

**Data & Analytics:**
- `applications.postgres` - PostgreSQL database integration
- `applications.google_analytics` - Google Analytics data
- `applications.google_sheets` - Google Sheets integration
- `applications.airtable` - Airtable database integration
- `applications.algolia` - Algolia search integration

**Research & Knowledge:**
- `applications.arxiv` - ArXiv scientific papers
- `applications.pubmed` - PubMed biomedical articles
- `applications.openalex` - OpenAlex academic data
- `applications.google_search` - Google Search integration
- `applications.newsapi` - News API integration

**Business & Finance:**
- `applications.yahoofinance` - Yahoo Finance data
- `applications.stripe` - Stripe payment processing
- `applications.qonto` - Qonto banking integration
- `applications.pennylane` - Pennylane accounting
- `applications.agicap` - Agicap financial management
- `applications.exchangeratesapi` - Currency exchange rates

**Productivity & Storage:**
- `applications.google_drive` - Google Drive integration
- `applications.google_calendar` - Google Calendar management
- `applications.notion` - Notion workspace integration
- `applications.sharepoint` - SharePoint integration
- `applications.powerpoint` - PowerPoint presentation generation

**Social & Media:**
- `applications.linkedin` - LinkedIn profile and company data
- `applications.youtube` - YouTube data and analytics
- `applications.instagram` - Instagram integration
- `applications.spotify` - Spotify music data

**Platforms & Services:**
- `applications.naas` - Naas.ai platform integration
- `applications.nebari` - Nebari platform integration
- `applications.salesforce` - Salesforce CRM integration
- `applications.hubspot` - HubSpot CRM integration
- `applications.zoho` - Zoho suite integration
- `applications.mercury` - Mercury platform integration
- `applications.sanax` - Sanax integration

**Data Sources:**
- `applications.datagouv` - French open data portal
- `applications.worldbank` - World Bank data
- `applications.openweathermap` - Weather data API
- `applications.openrouter` - OpenRouter API integration

**Usage Example:**

```python
from naas_abi_core.engine.Engine import Engine

engine = Engine()
engine.load(module_names=["naas_abi_marketplace.applications.github"])

# Access GitHub agent
from naas_abi_marketplace.applications.github.agents.GitHubAgent import create_agent

agent = create_agent()
response = agent.invoke("List open issues in repository jupyter-naas/abi")
```

### Domain Expert Modules

Specialized agents designed for specific professional roles and tasks.

#### Available Domain Experts

**Engineering & Development:**
- `domains.software-engineer` - Software engineering expertise
- `domains.devops-engineer` - DevOps and infrastructure
- `domains.data-engineer` - Data engineering and pipelines

**Business & Sales:**
- `domains.account-executive` - Account management
- `domains.business-development-representative` - Business development
- `domains.sales-development-representative` - Sales development
- `domains.inside-sales-representative` - Inside sales operations

**Marketing & Content:**
- `domains.content-creator` - Content creation
- `domains.content-strategist` - Content strategy
- `domains.content-analyst` - Content analysis
- `domains.campaign-manager` - Campaign management
- `domains.community-manager` - Community management

**Finance & Accounting:**
- `domains.accountant` - Accounting expertise
- `domains.financial-controller` - Financial control
- `domains.treasurer` - Treasury management

**Management & Operations:**
- `domains.project-manager` - Project management
- `domains.customer-success-manager` - Customer success
- `domains.human-resources-manager` - HR management

**Research & Investigation:**
- `domains.osint-researcher` - Open source intelligence
- `domains.private-investigator` - Investigation services

**Support:**
- `domains.support` - Technical support and issue management

**Usage Example:**

```python
from naas_abi_core.engine.Engine import Engine

engine = Engine()
engine.load(module_names=["naas_abi_marketplace.domains.software-engineer"])

# Access Software Engineer agent
from naas_abi_marketplace.domains.software_engineer.agents.SoftwareEngineerAgent import create_agent

agent = create_agent()
response = agent.invoke("Design a microservices architecture for an e-commerce platform")
```

## Module Structure

Each marketplace module follows a consistent structure:

```
module_name/
├── __init__.py              # Module definition and configuration
├── agents/                   # AI agents
│   └── *Agent.py            # Agent implementations
├── integrations/             # External service integrations
│   └── *Integration.py      # Integration implementations
├── workflows/                # Business logic workflows
│   └── *Workflow.py         # Workflow implementations
├── pipelines/               # Data processing pipelines
│   └── *Pipeline.py         # Pipeline implementations
├── ontologies/              # Semantic ontologies
│   └── *.ttl                # RDF/Turtle ontology files
├── orchestrations/          # Dagster orchestration (optional)
│   └── definitions.py      # Dagster definitions
└── README.md                # Module documentation
```

## Configuration

### Enabling Modules

Modules are configured in your `config.yaml`:

```yaml
modules:
  # AI Agents
  - module: naas_abi_marketplace.ai.chatgpt
    enabled: true
    config:
      openai_api_key: "${OPENAI_API_KEY}"
  
  - module: naas_abi_marketplace.ai.claude
    enabled: true
    config:
      anthropic_api_key: "${ANTHROPIC_API_KEY}"
  
  # Applications
  - module: naas_abi_marketplace.applications.github
    enabled: true
    config:
      github_token: "${GITHUB_TOKEN}"
  
  - module: naas_abi_marketplace.applications.linkedin
    enabled: true
    config:
      linkedin_api_key: "${LINKEDIN_API_KEY}"
  
  # Domain Experts
  - module: naas_abi_marketplace.domains.software-engineer
    enabled: true
  
  - module: naas_abi_marketplace.domains.support
    enabled: true
```

### Soft Dependencies

Many modules are marked as "soft" dependencies, meaning they're optional and won't cause failures if unavailable:

```python
# In naas_abi module dependencies
modules=[
    "naas_abi_marketplace.ai.claude#soft",  # Optional
    "naas_abi_marketplace.applications.github#soft",  # Optional
]
```

## Usage Patterns

### Loading Multiple Modules

```python
from naas_abi_core.engine.Engine import Engine

engine = Engine()
engine.load(module_names=[
    "naas_abi_marketplace.ai.chatgpt",
    "naas_abi_marketplace.ai.claude",
    "naas_abi_marketplace.applications.github",
    "naas_abi_marketplace.domains.software-engineer"
])
```

### Accessing Module Components

```python
# Access agents
for module_name, module in engine.modules.items():
    for agent_class in module.agents:
        print(f"{module_name}: {agent_class.__name__}")

# Access workflows
for module_name, module in engine.modules.items():
    for workflow in module.workflows:
        print(f"{module_name}: {workflow.__class__.__name__}")

# Access integrations
for module_name, module in engine.modules.items():
    for integration in module.integrations:
        print(f"{module_name}: {integration.__class__.__name__}")
```

## Demo Applications

The marketplace includes demo applications and UI patterns in `__demo__/apps/`:

- **Dashboard**: Central control hub
- **Chat Interface**: Multi-agent chat interface
- **Table Mode**: Advanced data table interface
- **Kanban Mode**: Project management with kanban boards
- **Ontology Mode**: Knowledge graph visualization
- **Calendar Mode**: Scheduling interface
- **Gallery Mode**: Media management
- **And more...**

## Marketplace UI

A Streamlit-based marketplace interface (`marketplace.py`) provides:

- **Module Discovery**: Browse available modules by category
- **Status Monitoring**: Check which modules are running
- **One-Click Launch**: Start applications and modules
- **Search**: Find modules by name or description

**Run the marketplace:**

```bash
streamlit run marketplace.py
```

## Key Features

### 🔌 **Extensive Integrations**
50+ pre-built integrations with popular services and platforms

### 🤖 **Multiple AI Providers**
Support for 10+ major AI providers with optimized configurations

### 👥 **Domain Expertise**
20+ specialized agents for professional roles and tasks

### 🧩 **Modular Architecture**
Pick and choose only the modules you need

### ⚡ **Optional Dependencies**
Modules can be installed individually to minimize dependencies

### 📚 **Comprehensive Documentation**
Each module includes detailed README and usage examples

### 🔄 **Consistent Interface**
All modules follow the same structure and patterns

## Dependencies

- `naas-abi-core>=1.0.0`: Core ABI framework

Optional dependencies are listed in `pyproject.toml` under `[project.optional-dependencies]` and can be installed per module as needed.

## Contributing

To add a new module to the marketplace:

1. Create a new directory under `ai/`, `applications/`, or `domains/`
2. Follow the standard module structure
3. Implement required components (agents, integrations, etc.)
4. Add module configuration in `__init__.py`
5. Create a README.md with documentation
6. Add optional dependencies to `pyproject.toml` if needed

## See Also

- [ABI Main README](../../README.md) - Complete ABI framework documentation
- [naas-abi-core](../naas-abi-core/) - Core engine documentation
- [naas-abi](../naas-abi/) - Main ABI module documentation
- [naas-abi-cli](../naas-abi-cli/) - CLI tool documentation

## License

MIT License

