maahelper


Namemaahelper JSON
Version 0.0.5 PyPI version JSON
download
home_pagehttps://github.com/AIMLDev726/maahelper
SummaryMaaHelper - Advanced AI-powered coding assistant with real-time analysis and Git integration
upload_time2025-08-26 16:12:33
maintainerAIMLDev726
docs_urlNone
authorAIStudent
requires_python>=3.8
licenseNone
keywords ai assistant code-analysis bug-fixing automation
VCS
bugtrack_url
requirements openai rich cryptography structlog asyncio aiohttp aiofiles chardet tiktoken PyYAML pytest pytest-asyncio pytest-cov watchdog gitpython googlesearch-python pathlib2 typing-extensions
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# 🙏 MaaHelper v0.0.5

**Advanced AI-Powered Coding Assistant with Real-time Analysis & Git Integration**

Created by **Meet Solanki (AIML Student)**

[![PyPI version](https://badge.fury.io/py/maahelper.svg)](https://badge.fury.io/py/maahelper)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)


## ✨ Features

### 🎯 Core Features
- 🎨 **Rich CLI**: Real-time streaming, beautiful panels, markdown/code rendering
- 🤖 **Multi-Provider AI**: OpenAI, Groq, Anthropic, Google, Ollama
- 📁 **AI File Analysis**: `file-search <filepath>` for code/data/doc files
- 🔐 **Secure API Key Management**: Local encrypted storage in `C:/Users/<username>/.maahelper/`
- 💬 **Interactive Chat**: Persistent conversation history, context-aware
- 🚀 **Async Performance**: Fast streaming, low memory, instant startup
- 📊 **Live Stats**: Session, file, and model metrics

### 🆕 New in v0.0.5
- 🤖 **Custom Agent Prompts (Vibecoding)**: Specialized AI workflows for coding tasks
- 🔍 **Dynamic Model Discovery**: Auto-fetch latest models from all providers
- 📊 **Real-time Code Analysis**: Live error detection and suggestions
- 🔧 **Smart Git Integration**: AI-powered commit messages and branch suggestions
- ⚡ **Enhanced Performance**: Rate limiting, memory management, and caching


## 🚀 Quick Start

### Installation

```bash
pip install maahelper
```

### 📓 Complete Tutorial
**NEW**: Interactive Jupyter notebook with step-by-step guide!

```bash
# Download and run the complete tutorial
jupyter notebook MaaHelper_Getting_Started.ipynb
```

The notebook covers:
- ✅ Installation & API key setup
- ✅ Basic to advanced usage
- ✅ All new v0.0.5 features
- ✅ Pro tips and workflows

### Usage

```bash
# Start the CLI
maahelper

# Try new v0.0.5 commands
> prompts             # 🆕 List custom AI agent prompts
> code-review         # 🆕 AI-powered code review
> bug-analysis        # 🆕 Deep bug analysis
> discover-models     # Auto-discover latest AI models
> analyze-start       # Start real-time code analysis
> git-commit          # AI-powered smart commits

# Or run via Python
python -m maahelper.cli.modern_enhanced_cli
```

### API Key Setup

On first run, you'll be prompted to enter API keys for Groq, OpenAI, etc. These are securely stored in:

```
C:/Users/<username>/.maahelper/config.json
```

You can manage, edit, or delete keys via the Rich UI manager:

```bash
maahelper-keys
```


## 🎯 Core Commands

### Basic
- `help` — Show help
- `exit`, `quit`, `bye` — Exit
- `clear` — Clear history
- `status` — Show config

### File
- `file-search <filepath>` — AI file analysis
- `files` — Show files
- `dir` — Show directory

### Config
- `providers` — List providers
- `models` — List models


## 🤖 Supported AI Providers

| Provider | Models | Notes |
|----------|--------|-------|
| **Groq** | Llama 3.1, Llama 3.2, Mixtral, Gemma | ⚡ **Fastest & Free** |
| **OpenAI** | GPT-4, GPT-3.5-turbo | 🧠 Most capable |
| **Anthropic** | Claude 3, Claude 2 | 📝 Great for analysis |
| **Google** | Gemini Pro, Gemini Flash | 🔍 Multimodal support |
| **Ollama** | Local models | 🏠 Privacy-focused |


## 📁 File Analysis Example

```python
You: file-search src/main.py

🤖 AI Assistant
Analyzing your Python file...

File Analysis: src/main.py

File Type: Python Source Code
Size: 1.2KB
Language: Python 3.8+

### Key Components:
- Main Function: Entry point with argument parsing
- Error Handling: Comprehensive try-catch blocks
- Dependencies: requests, json, argparse

### Code Quality:
✅ Good Clean structure and readable code
⚠️ Suggestion: Add type hints for better maintainability
⚠️ Suggestion: Consider adding docstrings

### Recommendations:
1. Add input validation for user arguments
2. Implement logging for better debugging
3. Consider async/await for API calls
```


## 🎨 Rich CLI Features

- **Live Streaming**: See AI responses in real-time
- **Syntax Highlighting**: Code blocks with proper formatting
- **Progress Indicators**: Visual feedback for operations
- **Interactive Menus**: Beautiful provider and model selection
- **Error Handling**: Elegant error messages with helpful suggestions


## 🔧 Configuration

### API Key Management

MaaHelper uses a secure local configuration system:

```
C:\Users\{username}\.maahelper\
├── config.json          # Encrypted API keys
├── conversation_history/ # Chat sessions
└── logs/                # Application logs
```

### Environment Variables

```bash
# Recommended method
export GROQ_API_KEY="gsk_..."
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export GOOGLE_API_KEY="AIza..."
```


## 📊 Performance

- **Streaming Speed**: Up to 500+ tokens/second with Groq
- **Memory Usage**: < 50MB typical usage
- **Startup Time**: < 2 seconds cold start
- **File Analysis**: Processes files up to 10MB


## 🛠️ Development

### Requirements
- Python 3.8+
- Rich >= 13.0.0
- OpenAI >= 1.0.0
- Cryptography >= 3.4.0

### Installation for Development

```bash
git clone https://github.com/AIMLDev726/maahelper.git
cd maahelper
pip install -e .
```


## 📝 Examples

### Basic Chat
```bash
You: Explain async/await in Python

🤖 AI Assistant
# Async/Await in Python

**Async/await** is Python's way of handling asynchronous programming...
```

### File Analysis
```bash
You: file-search requirements.txt

🤖 AI Assistant
## Dependency Analysis

Your project has **12 dependencies**:
- **Core**: openai, rich, cryptography
- **Optional**: anthropic, google-generativeai
- **Development**: pytest, black, flake8
```

### Code Review
```bash
You: Review this function for bugs

🤖 AI Assistant
## Code Review Results

✅ **Good Practices**:
- Clear function naming
- Proper error handling

⚠️ **Issues Found**:
- Missing input validation on line 15
- Potential memory leak in loop (line 23)
```


# Demo Video

[![Watch the demo](https://img.youtube.com/vi/6NrRqqopUjw/0.jpg)](https://youtu.be/6NrRqqopUjw)




## 📚 Documentation

### 📓 Getting Started
- **[MaaHelper_Getting_Started.ipynb](MaaHelper_Getting_Started.ipynb)** - Complete interactive tutorial
- **[FEATURES_v0.0.5.md](FEATURES_v0.0.5.md)** - Detailed feature documentation
- **[CHANGELOG.md](CHANGELOG.md)** - Version history and changes

### 🏗️ Development
- **[CODE_STRUCTURE.md](CODE_STRUCTURE.md)** - Complete architecture documentation
- **[CLEANUP_REPORT.md](CLEANUP_REPORT.md)** - Code quality improvements

## 🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

### 🏗️ Development Setup
```bash
# Clone the repository
git clone https://github.com/AIMLDev726/maahelper.git
cd maahelper

# Install in development mode
pip install -e .

# Run tests
pytest tests/

# Check code structure
cat CODE_STRUCTURE.md
```


## 📄 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.


## 👨‍💻 Author

Created by **Meet Solanki (AIML Student)**

- GitHub: [@AIMLDev726](https://github.com/AIMLDev726)
- Email: aistudentlearn4@gmail.com


## 🙏 Acknowledgments

- Built with [Rich](https://github.com/Textualize/rich) for beautiful CLI
- Powered by [OpenAI](https://openai.com/) and multiple AI providers
- Thanks to the open-source Python community

---

**⭐ Star this repository if you find it helpful!**

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/AIMLDev726/maahelper",
    "name": "maahelper",
    "maintainer": "AIMLDev726",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "AIMLDev726 <aistudentlearn4@gmail.com>",
    "keywords": "ai, assistant, code-analysis, bug-fixing, automation",
    "author": "AIStudent",
    "author_email": "AIStudent <aistudentlearn4@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/b1/10/5d78b87eb3e2b97f4a8446730dc66b590153005c8cd284c707132e40404a/maahelper-0.0.5.tar.gz",
    "platform": null,
    "description": "\r\n# \ud83d\ude4f MaaHelper v0.0.5\r\n\r\n**Advanced AI-Powered Coding Assistant with Real-time Analysis & Git Integration**\r\n\r\nCreated by **Meet Solanki (AIML Student)**\r\n\r\n[![PyPI version](https://badge.fury.io/py/maahelper.svg)](https://badge.fury.io/py/maahelper)\r\n[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n\r\n\r\n## \u2728 Features\r\n\r\n### \ud83c\udfaf Core Features\r\n- \ud83c\udfa8 **Rich CLI**: Real-time streaming, beautiful panels, markdown/code rendering\r\n- \ud83e\udd16 **Multi-Provider AI**: OpenAI, Groq, Anthropic, Google, Ollama\r\n- \ud83d\udcc1 **AI File Analysis**: `file-search <filepath>` for code/data/doc files\r\n- \ud83d\udd10 **Secure API Key Management**: Local encrypted storage in `C:/Users/<username>/.maahelper/`\r\n- \ud83d\udcac **Interactive Chat**: Persistent conversation history, context-aware\r\n- \ud83d\ude80 **Async Performance**: Fast streaming, low memory, instant startup\r\n- \ud83d\udcca **Live Stats**: Session, file, and model metrics\r\n\r\n### \ud83c\udd95 New in v0.0.5\r\n- \ud83e\udd16 **Custom Agent Prompts (Vibecoding)**: Specialized AI workflows for coding tasks\r\n- \ud83d\udd0d **Dynamic Model Discovery**: Auto-fetch latest models from all providers\r\n- \ud83d\udcca **Real-time Code Analysis**: Live error detection and suggestions\r\n- \ud83d\udd27 **Smart Git Integration**: AI-powered commit messages and branch suggestions\r\n- \u26a1 **Enhanced Performance**: Rate limiting, memory management, and caching\r\n\r\n\r\n## \ud83d\ude80 Quick Start\r\n\r\n### Installation\r\n\r\n```bash\r\npip install maahelper\r\n```\r\n\r\n### \ud83d\udcd3 Complete Tutorial\r\n**NEW**: Interactive Jupyter notebook with step-by-step guide!\r\n\r\n```bash\r\n# Download and run the complete tutorial\r\njupyter notebook MaaHelper_Getting_Started.ipynb\r\n```\r\n\r\nThe notebook covers:\r\n- \u2705 Installation & API key setup\r\n- \u2705 Basic to advanced usage\r\n- \u2705 All new v0.0.5 features\r\n- \u2705 Pro tips and workflows\r\n\r\n### Usage\r\n\r\n```bash\r\n# Start the CLI\r\nmaahelper\r\n\r\n# Try new v0.0.5 commands\r\n> prompts             # \ud83c\udd95 List custom AI agent prompts\r\n> code-review         # \ud83c\udd95 AI-powered code review\r\n> bug-analysis        # \ud83c\udd95 Deep bug analysis\r\n> discover-models     # Auto-discover latest AI models\r\n> analyze-start       # Start real-time code analysis\r\n> git-commit          # AI-powered smart commits\r\n\r\n# Or run via Python\r\npython -m maahelper.cli.modern_enhanced_cli\r\n```\r\n\r\n### API Key Setup\r\n\r\nOn first run, you'll be prompted to enter API keys for Groq, OpenAI, etc. These are securely stored in:\r\n\r\n```\r\nC:/Users/<username>/.maahelper/config.json\r\n```\r\n\r\nYou can manage, edit, or delete keys via the Rich UI manager:\r\n\r\n```bash\r\nmaahelper-keys\r\n```\r\n\r\n\r\n## \ud83c\udfaf Core Commands\r\n\r\n### Basic\r\n- `help` \u2014 Show help\r\n- `exit`, `quit`, `bye` \u2014 Exit\r\n- `clear` \u2014 Clear history\r\n- `status` \u2014 Show config\r\n\r\n### File\r\n- `file-search <filepath>` \u2014 AI file analysis\r\n- `files` \u2014 Show files\r\n- `dir` \u2014 Show directory\r\n\r\n### Config\r\n- `providers` \u2014 List providers\r\n- `models` \u2014 List models\r\n\r\n\r\n## \ud83e\udd16 Supported AI Providers\r\n\r\n| Provider | Models | Notes |\r\n|----------|--------|-------|\r\n| **Groq** | Llama 3.1, Llama 3.2, Mixtral, Gemma | \u26a1 **Fastest & Free** |\r\n| **OpenAI** | GPT-4, GPT-3.5-turbo | \ud83e\udde0 Most capable |\r\n| **Anthropic** | Claude 3, Claude 2 | \ud83d\udcdd Great for analysis |\r\n| **Google** | Gemini Pro, Gemini Flash | \ud83d\udd0d Multimodal support |\r\n| **Ollama** | Local models | \ud83c\udfe0 Privacy-focused |\r\n\r\n\r\n## \ud83d\udcc1 File Analysis Example\r\n\r\n```python\r\nYou: file-search src/main.py\r\n\r\n\ud83e\udd16 AI Assistant\r\nAnalyzing your Python file...\r\n\r\nFile Analysis: src/main.py\r\n\r\nFile Type: Python Source Code\r\nSize: 1.2KB\r\nLanguage: Python 3.8+\r\n\r\n### Key Components:\r\n- Main Function: Entry point with argument parsing\r\n- Error Handling: Comprehensive try-catch blocks\r\n- Dependencies: requests, json, argparse\r\n\r\n### Code Quality:\r\n\u2705 Good Clean structure and readable code\r\n\u26a0\ufe0f Suggestion: Add type hints for better maintainability\r\n\u26a0\ufe0f Suggestion: Consider adding docstrings\r\n\r\n### Recommendations:\r\n1. Add input validation for user arguments\r\n2. Implement logging for better debugging\r\n3. Consider async/await for API calls\r\n```\r\n\r\n\r\n## \ud83c\udfa8 Rich CLI Features\r\n\r\n- **Live Streaming**: See AI responses in real-time\r\n- **Syntax Highlighting**: Code blocks with proper formatting\r\n- **Progress Indicators**: Visual feedback for operations\r\n- **Interactive Menus**: Beautiful provider and model selection\r\n- **Error Handling**: Elegant error messages with helpful suggestions\r\n\r\n\r\n## \ud83d\udd27 Configuration\r\n\r\n### API Key Management\r\n\r\nMaaHelper uses a secure local configuration system:\r\n\r\n```\r\nC:\\Users\\{username}\\.maahelper\\\r\n\u251c\u2500\u2500 config.json          # Encrypted API keys\r\n\u251c\u2500\u2500 conversation_history/ # Chat sessions\r\n\u2514\u2500\u2500 logs/                # Application logs\r\n```\r\n\r\n### Environment Variables\r\n\r\n```bash\r\n# Recommended method\r\nexport GROQ_API_KEY=\"gsk_...\"\r\nexport OPENAI_API_KEY=\"sk-...\"\r\nexport ANTHROPIC_API_KEY=\"sk-ant-...\"\r\nexport GOOGLE_API_KEY=\"AIza...\"\r\n```\r\n\r\n\r\n## \ud83d\udcca Performance\r\n\r\n- **Streaming Speed**: Up to 500+ tokens/second with Groq\r\n- **Memory Usage**: < 50MB typical usage\r\n- **Startup Time**: < 2 seconds cold start\r\n- **File Analysis**: Processes files up to 10MB\r\n\r\n\r\n## \ud83d\udee0\ufe0f Development\r\n\r\n### Requirements\r\n- Python 3.8+\r\n- Rich >= 13.0.0\r\n- OpenAI >= 1.0.0\r\n- Cryptography >= 3.4.0\r\n\r\n### Installation for Development\r\n\r\n```bash\r\ngit clone https://github.com/AIMLDev726/maahelper.git\r\ncd maahelper\r\npip install -e .\r\n```\r\n\r\n\r\n## \ud83d\udcdd Examples\r\n\r\n### Basic Chat\r\n```bash\r\nYou: Explain async/await in Python\r\n\r\n\ud83e\udd16 AI Assistant\r\n# Async/Await in Python\r\n\r\n**Async/await** is Python's way of handling asynchronous programming...\r\n```\r\n\r\n### File Analysis\r\n```bash\r\nYou: file-search requirements.txt\r\n\r\n\ud83e\udd16 AI Assistant\r\n## Dependency Analysis\r\n\r\nYour project has **12 dependencies**:\r\n- **Core**: openai, rich, cryptography\r\n- **Optional**: anthropic, google-generativeai\r\n- **Development**: pytest, black, flake8\r\n```\r\n\r\n### Code Review\r\n```bash\r\nYou: Review this function for bugs\r\n\r\n\ud83e\udd16 AI Assistant\r\n## Code Review Results\r\n\r\n\u2705 **Good Practices**:\r\n- Clear function naming\r\n- Proper error handling\r\n\r\n\u26a0\ufe0f **Issues Found**:\r\n- Missing input validation on line 15\r\n- Potential memory leak in loop (line 23)\r\n```\r\n\r\n\r\n# Demo Video\r\n\r\n[![Watch the demo](https://img.youtube.com/vi/6NrRqqopUjw/0.jpg)](https://youtu.be/6NrRqqopUjw)\r\n\r\n\r\n\r\n\r\n## \ud83d\udcda Documentation\r\n\r\n### \ud83d\udcd3 Getting Started\r\n- **[MaaHelper_Getting_Started.ipynb](MaaHelper_Getting_Started.ipynb)** - Complete interactive tutorial\r\n- **[FEATURES_v0.0.5.md](FEATURES_v0.0.5.md)** - Detailed feature documentation\r\n- **[CHANGELOG.md](CHANGELOG.md)** - Version history and changes\r\n\r\n### \ud83c\udfd7\ufe0f Development\r\n- **[CODE_STRUCTURE.md](CODE_STRUCTURE.md)** - Complete architecture documentation\r\n- **[CLEANUP_REPORT.md](CLEANUP_REPORT.md)** - Code quality improvements\r\n\r\n## \ud83e\udd1d Contributing\r\n\r\nContributions are welcome! Please feel free to submit a Pull Request.\r\n\r\n1. Fork the repository\r\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\r\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\r\n4. Push to the branch (`git push origin feature/AmazingFeature`)\r\n5. Open a Pull Request\r\n\r\n### \ud83c\udfd7\ufe0f Development Setup\r\n```bash\r\n# Clone the repository\r\ngit clone https://github.com/AIMLDev726/maahelper.git\r\ncd maahelper\r\n\r\n# Install in development mode\r\npip install -e .\r\n\r\n# Run tests\r\npytest tests/\r\n\r\n# Check code structure\r\ncat CODE_STRUCTURE.md\r\n```\r\n\r\n\r\n## \ud83d\udcc4 License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n\r\n## \ud83d\udc68\u200d\ud83d\udcbb Author\r\n\r\nCreated by **Meet Solanki (AIML Student)**\r\n\r\n- GitHub: [@AIMLDev726](https://github.com/AIMLDev726)\r\n- Email: aistudentlearn4@gmail.com\r\n\r\n\r\n## \ud83d\ude4f Acknowledgments\r\n\r\n- Built with [Rich](https://github.com/Textualize/rich) for beautiful CLI\r\n- Powered by [OpenAI](https://openai.com/) and multiple AI providers\r\n- Thanks to the open-source Python community\r\n\r\n---\r\n\r\n**\u2b50 Star this repository if you find it helpful!**\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "MaaHelper - Advanced AI-powered coding assistant with real-time analysis and Git integration",
    "version": "0.0.5",
    "project_urls": {
        "Bug Tracker": "https://github.com/AIMLDev726/maahelper/issues",
        "Changelog": "https://github.com/AIMLDev726/maahelper/blob/main/CHANGELOG.md",
        "Documentation": "https://github.com/AIMLDev726/maahelper#readme",
        "Homepage": "https://github.com/AIMLDev726/maahelper",
        "Repository": "https://github.com/AIMLDev726/maahelper"
    },
    "split_keywords": [
        "ai",
        " assistant",
        " code-analysis",
        " bug-fixing",
        " automation"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8dae72add229e60ceccada3a909ffa872032bb16419f07aa405982cc6e806861",
                "md5": "14208cd5d823899d66133f1877d610e6",
                "sha256": "3546206d36869f7698a766d4d3e2ecf4563cfe2412b70a86a28633a02a91c7a8"
            },
            "downloads": -1,
            "filename": "maahelper-0.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "14208cd5d823899d66133f1877d610e6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 117092,
            "upload_time": "2025-08-26T16:12:29",
            "upload_time_iso_8601": "2025-08-26T16:12:29.448415Z",
            "url": "https://files.pythonhosted.org/packages/8d/ae/72add229e60ceccada3a909ffa872032bb16419f07aa405982cc6e806861/maahelper-0.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b1105d78b87eb3e2b97f4a8446730dc66b590153005c8cd284c707132e40404a",
                "md5": "ef4b188c2dfbc8559f1f0808ec3225ae",
                "sha256": "764b91e462357e7639ef658558820c2043a848a88c352c31c86cc00b7529e902"
            },
            "downloads": -1,
            "filename": "maahelper-0.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "ef4b188c2dfbc8559f1f0808ec3225ae",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 108904,
            "upload_time": "2025-08-26T16:12:33",
            "upload_time_iso_8601": "2025-08-26T16:12:33.522713Z",
            "url": "https://files.pythonhosted.org/packages/b1/10/5d78b87eb3e2b97f4a8446730dc66b590153005c8cd284c707132e40404a/maahelper-0.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-26 16:12:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "AIMLDev726",
    "github_project": "maahelper",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "openai",
            "specs": [
                [
                    ">=",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "rich",
            "specs": [
                [
                    ">=",
                    "13.0.0"
                ]
            ]
        },
        {
            "name": "cryptography",
            "specs": [
                [
                    ">=",
                    "41.0.0"
                ]
            ]
        },
        {
            "name": "structlog",
            "specs": [
                [
                    ">=",
                    "23.0.0"
                ]
            ]
        },
        {
            "name": "asyncio",
            "specs": []
        },
        {
            "name": "aiohttp",
            "specs": [
                [
                    ">=",
                    "3.8.0"
                ]
            ]
        },
        {
            "name": "aiofiles",
            "specs": [
                [
                    ">=",
                    "23.0.0"
                ]
            ]
        },
        {
            "name": "chardet",
            "specs": [
                [
                    ">=",
                    "5.0.0"
                ]
            ]
        },
        {
            "name": "tiktoken",
            "specs": [
                [
                    ">=",
                    "0.5.0"
                ]
            ]
        },
        {
            "name": "PyYAML",
            "specs": [
                [
                    ">=",
                    "6.0"
                ]
            ]
        },
        {
            "name": "pytest",
            "specs": [
                [
                    ">=",
                    "7.0.0"
                ]
            ]
        },
        {
            "name": "pytest-asyncio",
            "specs": [
                [
                    ">=",
                    "0.21.0"
                ]
            ]
        },
        {
            "name": "pytest-cov",
            "specs": [
                [
                    ">=",
                    "4.0.0"
                ]
            ]
        },
        {
            "name": "watchdog",
            "specs": [
                [
                    ">=",
                    "3.0.0"
                ]
            ]
        },
        {
            "name": "gitpython",
            "specs": [
                [
                    ">=",
                    "3.1.0"
                ]
            ]
        },
        {
            "name": "googlesearch-python",
            "specs": [
                [
                    ">=",
                    "1.2.0"
                ]
            ]
        },
        {
            "name": "pathlib2",
            "specs": []
        },
        {
            "name": "typing-extensions",
            "specs": [
                [
                    ">=",
                    "4.0.0"
                ]
            ]
        }
    ],
    "lcname": "maahelper"
}
        
Elapsed time: 1.13340s