Name | aiecs JSON |
Version |
1.0.0
JSON |
| download |
home_page | None |
Summary | AI Execute Services - A middleware framework for AI-powered task execution and tool orchestration |
upload_time | 2025-09-18 16:16:07 |
maintainer | None |
docs_url | None |
author | None |
requires_python | <3.13,>=3.10 |
license | None |
keywords |
ai
middleware
llm
orchestration
async
tools
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# AIECS - AI Execute Services
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](https://badge.fury.io/py/aiecs)
AIECS (AI Execute Services) is a powerful Python middleware framework for building AI-powered applications with tool orchestration, task execution, and multi-provider LLM support.
## Features
- **Multi-Provider LLM Support**: Seamlessly integrate with OpenAI, Google Vertex AI, and xAI
- **Tool Orchestration**: Extensible tool system for various tasks (web scraping, data analysis, document processing, etc.)
- **Asynchronous Task Execution**: Built on Celery for scalable task processing
- **Real-time Communication**: WebSocket support for live updates and progress tracking
- **Enterprise-Ready**: Production-grade architecture with PostgreSQL, Redis, and Google Cloud Storage integration
- **Extensible Architecture**: Easy to add custom tools and AI providers
## Installation
### From PyPI (Recommended)
```bash
pip install aiecs
```
### From Source
```bash
# Clone the repository
git clone https://github.com/aiecs-team/aiecs.git
cd aiecs
# Install in development mode
pip install -e .
# Or install with development dependencies
pip install -e ".[dev]"
```
### Post-Installation Setup
After installation, you can use the built-in tools to set up dependencies and verify your installation:
```bash
# Check all dependencies
aiecs-check-deps
# Quick dependency check
aiecs-quick-check
# Download required NLP models and data
aiecs-download-nlp-data
# Fix common dependency issues automatically
aiecs-fix-deps
# Apply Weasel library patch (if needed)
aiecs-patch-weasel
```
## Quick Start
### Basic Usage
```python
from aiecs import AIECS
from aiecs.domain.task.task_context import TaskContext
# Initialize AIECS
aiecs = AIECS()
# Create a task context
context = TaskContext(
mode="execute",
service="default",
user_id="user123",
metadata={
"aiPreference": {
"provider": "OpenAI",
"model": "gpt-4"
}
},
data={
"task": "Analyze this text and extract key points",
"content": "Your text here..."
}
)
# Execute task
result = await aiecs.execute(context)
print(result)
```
### Using Tools
```python
from aiecs.tools import get_tool
# Get a specific tool
scraper = get_tool("scraper_tool")
# Execute tool
result = await scraper.execute({
"url": "https://example.com",
"extract": ["title", "content"]
})
```
### Custom Tool Development
```python
from aiecs.tools import register_tool
from aiecs.tools.base_tool import BaseTool
@register_tool("my_custom_tool")
class MyCustomTool(BaseTool):
"""Custom tool for specific tasks"""
name = "my_custom_tool"
description = "Does something specific"
async def execute(self, params: dict) -> dict:
# Your tool logic here
return {"result": "success"}
```
## Configuration
Create a `.env` file with the following variables:
```env
# LLM Providers
OPENAI_API_KEY=your_openai_key
VERTEX_PROJECT_ID=your_gcp_project
VERTEX_LOCATION=us-central1
GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json
XAI_API_KEY=your_xai_key
# Database
DB_HOST=localhost
DB_USER=postgres
DB_PASSWORD=your_password
DB_NAME=aiecs_db
DB_PORT=5432
# Redis (for Celery)
CELERY_BROKER_URL=redis://localhost:6379/0
# Google Cloud Storage
GOOGLE_CLOUD_PROJECT_ID=your_project_id
GOOGLE_CLOUD_STORAGE_BUCKET=your_bucket_name
# CORS
CORS_ALLOWED_ORIGINS=http://localhost:3000,https://yourdomain.com
```
## Command Line Tools
AIECS provides several command-line tools for setup and maintenance:
### Dependency Management
```bash
# Check all dependencies (comprehensive)
aiecs-check-deps
# Quick dependency check
aiecs-quick-check
# Automatically fix missing dependencies
aiecs-fix-deps --non-interactive
# Fix dependencies interactively (default)
aiecs-fix-deps
```
### Setup and Configuration
```bash
# Download required NLP models and data
aiecs-download-nlp-data
# Apply Weasel library patch (fixes validator conflicts)
aiecs-patch-weasel
```
### Main Application
```bash
# Start the AIECS server
aiecs
# Or start with custom configuration
aiecs --host 0.0.0.0 --port 8000
```
## Running as a Service
### Start the API Server
```bash
# Using the aiecs command (recommended)
aiecs
# Using uvicorn directly
uvicorn aiecs.main:app --host 0.0.0.0 --port 8000
# Or using the Python module
python -m aiecs
```
### Start Celery Workers
```bash
# Start worker
celery -A aiecs.tasks.worker.celery_app worker --loglevel=info
# Start beat scheduler (for periodic tasks)
celery -A aiecs.tasks.worker.celery_app beat --loglevel=info
# Start Flower (Celery monitoring)
celery -A aiecs.tasks.worker.celery_app flower
```
## API Endpoints
- `GET /health` - Health check
- `GET /api/tools` - List available tools
- `GET /api/services` - List available AI services
- `GET /api/providers` - List LLM providers
- `POST /api/execute` - Execute a task
- `GET /api/task/{task_id}` - Get task status
- `DELETE /api/task/{task_id}` - Cancel a task
## WebSocket Events
Connect to the WebSocket endpoint for real-time updates:
```javascript
const socket = io('http://localhost:8000');
socket.on('connect', () => {
console.log('Connected to AIECS');
// Register user for updates
socket.emit('register', { user_id: 'user123' });
});
socket.on('progress', (data) => {
console.log('Task progress:', data);
});
```
## Available Tools
AIECS comes with a comprehensive set of pre-built tools:
- **Web Tools**: Web scraping, search API integration
- **Data Analysis**: Pandas operations, statistical analysis
- **Document Processing**: PDF, Word, PowerPoint handling
- **Image Processing**: OCR, image manipulation
- **Research Tools**: Academic research, report generation
- **Chart Generation**: Data visualization tools
## Architecture
AIECS follows a clean architecture pattern with clear separation of concerns:
```
aiecs/
├── domain/ # Core business logic
├── application/ # Use cases and application services
├── infrastructure/ # External services and adapters
├── llm/ # LLM provider implementations
├── tools/ # Tool implementations
├── config/ # Configuration management
└── main.py # FastAPI application entry point
```
## Development
### Setting up Development Environment
```bash
# Clone the repository
git clone https://github.com/yourusername/aiecs.git
cd aiecs
# Install dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run linting
flake8 aiecs/
mypy aiecs/
```
### Contributing
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## Troubleshooting
### Common Issues
1. **Missing Dependencies**: Use the built-in dependency checker and fixer:
```bash
# Check what's missing
aiecs-check-deps
# Automatically fix issues
aiecs-fix-deps --non-interactive
```
2. **Weasel Library Validator Error**: If you encounter duplicate validator function errors:
```bash
aiecs-patch-weasel
```
3. **Missing NLP Models**: Download required models and data:
```bash
aiecs-download-nlp-data
```
4. **Database Connection Issues**: Ensure PostgreSQL is running and credentials are correct
5. **Redis Connection Issues**: Verify Redis is running for Celery task queue
### Dependency Check Output
The dependency checker provides detailed information about:
- ✅ Available dependencies
- ❌ Missing critical dependencies
- ⚠️ Missing optional dependencies
- 📦 System-level requirements
- 🤖 AI models and data files
Example output:
```
🔍 AIECS Quick Dependency Check
==================================================
📦 Critical Dependencies:
✅ All critical dependencies are available
🔧 Tool-Specific Dependencies:
✅ Image Tool
✅ Classfire Tool
✅ Office Tool
✅ Stats Tool
✅ Report Tool
✅ Scraper Tool
✅ All dependencies are satisfied!
```
## Development and Packaging
### Building the Package
To build the distribution packages:
```bash
# Clean previous builds
rm -rf build/ dist/ *.egg-info/
# Build both wheel and source distribution
python3 -m build --sdist --wheel
```
### Environment Cleanup
For development and before releasing, you may want to clean up the environment completely. Here's the comprehensive cleanup process:
#### 1. Clean Python Cache and Build Files
```bash
# Remove Python cache files
find . -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true
find . -name "*.pyc" -delete 2>/dev/null || true
find . -name "*.pyo" -delete 2>/dev/null || true
# Remove build and packaging artifacts
rm -rf build/ *.egg-info/ .eggs/
# Remove test and coverage cache
rm -rf .pytest_cache/ .coverage*
```
#### 2. Clean Log and Temporary Files
```bash
# Remove log files
rm -f *.log dependency_report.txt
# Remove temporary directories
rm -rf /tmp/wheel_*
# Remove backup files
find . -name "*.backup.*" -delete 2>/dev/null || true
```
#### 3. Uninstall AIECS Package (if installed)
```bash
# Uninstall the package completely
pip uninstall aiecs -y
# Verify removal
pip list | grep aiecs || echo "✅ aiecs package completely removed"
```
#### 4. Clean Downloaded NLP Data and Models
If you've used the AIECS NLP tools, you may want to remove downloaded data:
```bash
# Remove NLTK data (stopwords, punkt, wordnet, etc.)
rm -rf ~/nltk_data
# Remove spaCy models
pip uninstall en-core-web-sm zh-core-web-sm spacy-pkuseg -y 2>/dev/null || true
# Verify spaCy models removal
python3 -c "import spacy; print('spaCy models:', spacy.util.get_installed_models())" 2>/dev/null || echo "✅ spaCy models removed"
```
#### 5. Complete Cleanup Script
For convenience, here's a complete cleanup script:
```bash
#!/bin/bash
echo "🧹 Starting complete AIECS environment cleanup..."
# Python cache and build files
echo "📁 Cleaning Python cache and build files..."
find . -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true
find . -name "*.pyc" -delete 2>/dev/null || true
find . -name "*.pyo" -delete 2>/dev/null || true
rm -rf build/ *.egg-info/ .eggs/ .pytest_cache/ .coverage*
# Log and temporary files
echo "📝 Cleaning log and temporary files..."
rm -f *.log dependency_report.txt
rm -rf /tmp/wheel_*
find . -name "*.backup.*" -delete 2>/dev/null || true
# Uninstall package
echo "🗑️ Uninstalling AIECS package..."
pip uninstall aiecs -y 2>/dev/null || true
# Clean NLP data
echo "🤖 Cleaning NLP data and models..."
rm -rf ~/nltk_data
pip uninstall en-core-web-sm zh-core-web-sm spacy-pkuseg -y 2>/dev/null || true
# Verify final state
echo "✅ Cleanup complete! Final package state:"
ls -la dist/ 2>/dev/null || echo "No dist/ directory found"
echo "Environment is now clean and ready for release."
```
#### What Gets Preserved
The cleanup process preserves:
- ✅ Source code files
- ✅ Test files and coverage reports (for maintenance)
- ✅ Configuration files (`.gitignore`, `pyproject.toml`, etc.)
- ✅ Documentation files
- ✅ Final distribution packages in `dist/`
#### What Gets Removed
The cleanup removes:
- ❌ Python cache files (`__pycache__/`, `*.pyc`)
- ❌ Build artifacts (`build/`, `*.egg-info/`)
- ❌ Log files (`*.log`, `dependency_report.txt`)
- ❌ Installed AIECS package and command-line tools
- ❌ Downloaded NLP data and models (~110MB)
- ❌ Temporary and backup files
### Release Preparation
After cleanup, your `dist/` directory should contain only:
```
dist/
├── aiecs-1.0.0-py3-none-any.whl # Production-ready wheel package
└── aiecs-1.0.0.tar.gz # Production-ready source package
```
These packages are ready for:
- PyPI publication: `twine upload dist/*`
- GitHub Releases
- Private repository distribution
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- Built with FastAPI, Celery, and modern Python async patterns
- Integrates with leading AI providers
- Inspired by enterprise-grade middleware architectures
## Support
- Documentation: [https://aiecs.readthedocs.io](https://aiecs.readthedocs.io)
- Issues: [GitHub Issues](https://github.com/yourusername/aiecs/issues)
- Discussions: [GitHub Discussions](https://github.com/yourusername/aiecs/discussions)
---
Made with ❤️ by the AIECS Team
Raw data
{
"_id": null,
"home_page": null,
"name": "aiecs",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.10",
"maintainer_email": null,
"keywords": "ai, middleware, llm, orchestration, async, tools",
"author": null,
"author_email": "AIECS Team <iretbl@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/58/ab/e33ec431ef9d0a063f6c0053ba6cc43c70090cc7e1329f99dcfc1a5a3b7e/aiecs-1.0.0.tar.gz",
"platform": null,
"description": "# AIECS - AI Execute Services\n\n[](https://www.python.org/downloads/)\n[](https://opensource.org/licenses/MIT)\n[](https://badge.fury.io/py/aiecs)\n\nAIECS (AI Execute Services) is a powerful Python middleware framework for building AI-powered applications with tool orchestration, task execution, and multi-provider LLM support.\n\n## Features\n\n- **Multi-Provider LLM Support**: Seamlessly integrate with OpenAI, Google Vertex AI, and xAI\n- **Tool Orchestration**: Extensible tool system for various tasks (web scraping, data analysis, document processing, etc.)\n- **Asynchronous Task Execution**: Built on Celery for scalable task processing\n- **Real-time Communication**: WebSocket support for live updates and progress tracking\n- **Enterprise-Ready**: Production-grade architecture with PostgreSQL, Redis, and Google Cloud Storage integration\n- **Extensible Architecture**: Easy to add custom tools and AI providers\n\n## Installation\n\n### From PyPI (Recommended)\n\n```bash\npip install aiecs\n```\n\n### From Source\n\n```bash\n# Clone the repository\ngit clone https://github.com/aiecs-team/aiecs.git\ncd aiecs\n\n# Install in development mode\npip install -e .\n\n# Or install with development dependencies\npip install -e \".[dev]\"\n```\n\n### Post-Installation Setup\n\nAfter installation, you can use the built-in tools to set up dependencies and verify your installation:\n\n```bash\n# Check all dependencies\naiecs-check-deps\n\n# Quick dependency check\naiecs-quick-check\n\n# Download required NLP models and data\naiecs-download-nlp-data\n\n# Fix common dependency issues automatically\naiecs-fix-deps\n\n# Apply Weasel library patch (if needed)\naiecs-patch-weasel\n```\n\n## Quick Start\n\n### Basic Usage\n\n```python\nfrom aiecs import AIECS\nfrom aiecs.domain.task.task_context import TaskContext\n\n# Initialize AIECS\naiecs = AIECS()\n\n# Create a task context\ncontext = TaskContext(\n mode=\"execute\",\n service=\"default\",\n user_id=\"user123\",\n metadata={\n \"aiPreference\": {\n \"provider\": \"OpenAI\",\n \"model\": \"gpt-4\"\n }\n },\n data={\n \"task\": \"Analyze this text and extract key points\",\n \"content\": \"Your text here...\"\n }\n)\n\n# Execute task\nresult = await aiecs.execute(context)\nprint(result)\n```\n\n### Using Tools\n\n```python\nfrom aiecs.tools import get_tool\n\n# Get a specific tool\nscraper = get_tool(\"scraper_tool\")\n\n# Execute tool\nresult = await scraper.execute({\n \"url\": \"https://example.com\",\n \"extract\": [\"title\", \"content\"]\n})\n```\n\n### Custom Tool Development\n\n```python\nfrom aiecs.tools import register_tool\nfrom aiecs.tools.base_tool import BaseTool\n\n@register_tool(\"my_custom_tool\")\nclass MyCustomTool(BaseTool):\n \"\"\"Custom tool for specific tasks\"\"\"\n \n name = \"my_custom_tool\"\n description = \"Does something specific\"\n \n async def execute(self, params: dict) -> dict:\n # Your tool logic here\n return {\"result\": \"success\"}\n```\n\n## Configuration\n\nCreate a `.env` file with the following variables:\n\n```env\n# LLM Providers\nOPENAI_API_KEY=your_openai_key\nVERTEX_PROJECT_ID=your_gcp_project\nVERTEX_LOCATION=us-central1\nGOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json\nXAI_API_KEY=your_xai_key\n\n# Database\nDB_HOST=localhost\nDB_USER=postgres\nDB_PASSWORD=your_password\nDB_NAME=aiecs_db\nDB_PORT=5432\n\n# Redis (for Celery)\nCELERY_BROKER_URL=redis://localhost:6379/0\n\n# Google Cloud Storage\nGOOGLE_CLOUD_PROJECT_ID=your_project_id\nGOOGLE_CLOUD_STORAGE_BUCKET=your_bucket_name\n\n# CORS\nCORS_ALLOWED_ORIGINS=http://localhost:3000,https://yourdomain.com\n```\n\n## Command Line Tools\n\nAIECS provides several command-line tools for setup and maintenance:\n\n### Dependency Management\n\n```bash\n# Check all dependencies (comprehensive)\naiecs-check-deps\n\n# Quick dependency check\naiecs-quick-check\n\n# Automatically fix missing dependencies\naiecs-fix-deps --non-interactive\n\n# Fix dependencies interactively (default)\naiecs-fix-deps\n```\n\n### Setup and Configuration\n\n```bash\n# Download required NLP models and data\naiecs-download-nlp-data\n\n# Apply Weasel library patch (fixes validator conflicts)\naiecs-patch-weasel\n```\n\n### Main Application\n\n```bash\n# Start the AIECS server\naiecs\n\n# Or start with custom configuration\naiecs --host 0.0.0.0 --port 8000\n```\n\n## Running as a Service\n\n### Start the API Server\n\n```bash\n# Using the aiecs command (recommended)\naiecs\n\n# Using uvicorn directly\nuvicorn aiecs.main:app --host 0.0.0.0 --port 8000\n\n# Or using the Python module\npython -m aiecs\n```\n\n### Start Celery Workers\n\n```bash\n# Start worker\ncelery -A aiecs.tasks.worker.celery_app worker --loglevel=info\n\n# Start beat scheduler (for periodic tasks)\ncelery -A aiecs.tasks.worker.celery_app beat --loglevel=info\n\n# Start Flower (Celery monitoring)\ncelery -A aiecs.tasks.worker.celery_app flower\n```\n\n## API Endpoints\n\n- `GET /health` - Health check\n- `GET /api/tools` - List available tools\n- `GET /api/services` - List available AI services\n- `GET /api/providers` - List LLM providers\n- `POST /api/execute` - Execute a task\n- `GET /api/task/{task_id}` - Get task status\n- `DELETE /api/task/{task_id}` - Cancel a task\n\n## WebSocket Events\n\nConnect to the WebSocket endpoint for real-time updates:\n\n```javascript\nconst socket = io('http://localhost:8000');\n\nsocket.on('connect', () => {\n console.log('Connected to AIECS');\n \n // Register user for updates\n socket.emit('register', { user_id: 'user123' });\n});\n\nsocket.on('progress', (data) => {\n console.log('Task progress:', data);\n});\n```\n\n## Available Tools\n\nAIECS comes with a comprehensive set of pre-built tools:\n\n- **Web Tools**: Web scraping, search API integration\n- **Data Analysis**: Pandas operations, statistical analysis\n- **Document Processing**: PDF, Word, PowerPoint handling\n- **Image Processing**: OCR, image manipulation\n- **Research Tools**: Academic research, report generation\n- **Chart Generation**: Data visualization tools\n\n## Architecture\n\nAIECS follows a clean architecture pattern with clear separation of concerns:\n\n```\naiecs/\n\u251c\u2500\u2500 domain/ # Core business logic\n\u251c\u2500\u2500 application/ # Use cases and application services\n\u251c\u2500\u2500 infrastructure/ # External services and adapters\n\u251c\u2500\u2500 llm/ # LLM provider implementations\n\u251c\u2500\u2500 tools/ # Tool implementations\n\u251c\u2500\u2500 config/ # Configuration management\n\u2514\u2500\u2500 main.py # FastAPI application entry point\n```\n\n## Development\n\n### Setting up Development Environment\n\n```bash\n# Clone the repository\ngit clone https://github.com/yourusername/aiecs.git\ncd aiecs\n\n# Install dependencies\npip install -e \".[dev]\"\n\n# Run tests\npytest\n\n# Run linting\nflake8 aiecs/\nmypy aiecs/\n```\n\n### Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## Troubleshooting\n\n### Common Issues\n\n1. **Missing Dependencies**: Use the built-in dependency checker and fixer:\n ```bash\n # Check what's missing\n aiecs-check-deps\n\n # Automatically fix issues\n aiecs-fix-deps --non-interactive\n ```\n\n2. **Weasel Library Validator Error**: If you encounter duplicate validator function errors:\n ```bash\n aiecs-patch-weasel\n ```\n\n3. **Missing NLP Models**: Download required models and data:\n ```bash\n aiecs-download-nlp-data\n ```\n\n4. **Database Connection Issues**: Ensure PostgreSQL is running and credentials are correct\n\n5. **Redis Connection Issues**: Verify Redis is running for Celery task queue\n\n### Dependency Check Output\n\nThe dependency checker provides detailed information about:\n- \u2705 Available dependencies\n- \u274c Missing critical dependencies\n- \u26a0\ufe0f Missing optional dependencies\n- \ud83d\udce6 System-level requirements\n- \ud83e\udd16 AI models and data files\n\nExample output:\n```\n\ud83d\udd0d AIECS Quick Dependency Check\n==================================================\n\n\ud83d\udce6 Critical Dependencies:\n\u2705 All critical dependencies are available\n\n\ud83d\udd27 Tool-Specific Dependencies:\n \u2705 Image Tool\n \u2705 Classfire Tool\n \u2705 Office Tool\n \u2705 Stats Tool\n \u2705 Report Tool\n \u2705 Scraper Tool\n\n\u2705 All dependencies are satisfied!\n```\n\n## Development and Packaging\n\n### Building the Package\n\nTo build the distribution packages:\n\n```bash\n# Clean previous builds\nrm -rf build/ dist/ *.egg-info/\n\n# Build both wheel and source distribution\npython3 -m build --sdist --wheel\n```\n\n### Environment Cleanup\n\nFor development and before releasing, you may want to clean up the environment completely. Here's the comprehensive cleanup process:\n\n#### 1. Clean Python Cache and Build Files\n\n```bash\n# Remove Python cache files\nfind . -name \"__pycache__\" -type d -exec rm -rf {} + 2>/dev/null || true\nfind . -name \"*.pyc\" -delete 2>/dev/null || true\nfind . -name \"*.pyo\" -delete 2>/dev/null || true\n\n# Remove build and packaging artifacts\nrm -rf build/ *.egg-info/ .eggs/\n\n# Remove test and coverage cache\nrm -rf .pytest_cache/ .coverage*\n```\n\n#### 2. Clean Log and Temporary Files\n\n```bash\n# Remove log files\nrm -f *.log dependency_report.txt\n\n# Remove temporary directories\nrm -rf /tmp/wheel_*\n\n# Remove backup files\nfind . -name \"*.backup.*\" -delete 2>/dev/null || true\n```\n\n#### 3. Uninstall AIECS Package (if installed)\n\n```bash\n# Uninstall the package completely\npip uninstall aiecs -y\n\n# Verify removal\npip list | grep aiecs || echo \"\u2705 aiecs package completely removed\"\n```\n\n#### 4. Clean Downloaded NLP Data and Models\n\nIf you've used the AIECS NLP tools, you may want to remove downloaded data:\n\n```bash\n# Remove NLTK data (stopwords, punkt, wordnet, etc.)\nrm -rf ~/nltk_data\n\n# Remove spaCy models\npip uninstall en-core-web-sm zh-core-web-sm spacy-pkuseg -y 2>/dev/null || true\n\n# Verify spaCy models removal\npython3 -c \"import spacy; print('spaCy models:', spacy.util.get_installed_models())\" 2>/dev/null || echo \"\u2705 spaCy models removed\"\n```\n\n#### 5. Complete Cleanup Script\n\nFor convenience, here's a complete cleanup script:\n\n```bash\n#!/bin/bash\necho \"\ud83e\uddf9 Starting complete AIECS environment cleanup...\"\n\n# Python cache and build files\necho \"\ud83d\udcc1 Cleaning Python cache and build files...\"\nfind . -name \"__pycache__\" -type d -exec rm -rf {} + 2>/dev/null || true\nfind . -name \"*.pyc\" -delete 2>/dev/null || true\nfind . -name \"*.pyo\" -delete 2>/dev/null || true\nrm -rf build/ *.egg-info/ .eggs/ .pytest_cache/ .coverage*\n\n# Log and temporary files\necho \"\ud83d\udcdd Cleaning log and temporary files...\"\nrm -f *.log dependency_report.txt\nrm -rf /tmp/wheel_*\nfind . -name \"*.backup.*\" -delete 2>/dev/null || true\n\n# Uninstall package\necho \"\ud83d\uddd1\ufe0f Uninstalling AIECS package...\"\npip uninstall aiecs -y 2>/dev/null || true\n\n# Clean NLP data\necho \"\ud83e\udd16 Cleaning NLP data and models...\"\nrm -rf ~/nltk_data\npip uninstall en-core-web-sm zh-core-web-sm spacy-pkuseg -y 2>/dev/null || true\n\n# Verify final state\necho \"\u2705 Cleanup complete! Final package state:\"\nls -la dist/ 2>/dev/null || echo \"No dist/ directory found\"\necho \"Environment is now clean and ready for release.\"\n```\n\n#### What Gets Preserved\n\nThe cleanup process preserves:\n- \u2705 Source code files\n- \u2705 Test files and coverage reports (for maintenance)\n- \u2705 Configuration files (`.gitignore`, `pyproject.toml`, etc.)\n- \u2705 Documentation files\n- \u2705 Final distribution packages in `dist/`\n\n#### What Gets Removed\n\nThe cleanup removes:\n- \u274c Python cache files (`__pycache__/`, `*.pyc`)\n- \u274c Build artifacts (`build/`, `*.egg-info/`)\n- \u274c Log files (`*.log`, `dependency_report.txt`)\n- \u274c Installed AIECS package and command-line tools\n- \u274c Downloaded NLP data and models (~110MB)\n- \u274c Temporary and backup files\n\n### Release Preparation\n\nAfter cleanup, your `dist/` directory should contain only:\n\n```\ndist/\n\u251c\u2500\u2500 aiecs-1.0.0-py3-none-any.whl # Production-ready wheel package\n\u2514\u2500\u2500 aiecs-1.0.0.tar.gz # Production-ready source package\n```\n\nThese packages are ready for:\n- PyPI publication: `twine upload dist/*`\n- GitHub Releases\n- Private repository distribution\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- Built with FastAPI, Celery, and modern Python async patterns\n- Integrates with leading AI providers\n- Inspired by enterprise-grade middleware architectures\n\n## Support\n\n- Documentation: [https://aiecs.readthedocs.io](https://aiecs.readthedocs.io)\n- Issues: [GitHub Issues](https://github.com/yourusername/aiecs/issues)\n- Discussions: [GitHub Discussions](https://github.com/yourusername/aiecs/discussions)\n\n---\n\nMade with \u2764\ufe0f by the AIECS Team\n",
"bugtrack_url": null,
"license": null,
"summary": "AI Execute Services - A middleware framework for AI-powered task execution and tool orchestration",
"version": "1.0.0",
"project_urls": {
"Bug Tracker": "https://github.com/aiecs-team/aiecs/issues",
"Documentation": "https://aiecs.readthedocs.io",
"Homepage": "https://github.com/aiecs-team/aiecs"
},
"split_keywords": [
"ai",
" middleware",
" llm",
" orchestration",
" async",
" tools"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "21d12e33a8a07710f4183b0d48061579b503acea6d04a87ee59776a00fa8ea0e",
"md5": "4c43d76877ba454687a715636ccd0c64",
"sha256": "cb8e669369bb535f9df07a624139ba7ca2233288f386641968844b5424617f1b"
},
"downloads": -1,
"filename": "aiecs-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4c43d76877ba454687a715636ccd0c64",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.10",
"size": 190258,
"upload_time": "2025-09-18T16:16:06",
"upload_time_iso_8601": "2025-09-18T16:16:06.250594Z",
"url": "https://files.pythonhosted.org/packages/21/d1/2e33a8a07710f4183b0d48061579b503acea6d04a87ee59776a00fa8ea0e/aiecs-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "58abe33ec431ef9d0a063f6c0053ba6cc43c70090cc7e1329f99dcfc1a5a3b7e",
"md5": "d255a2de7afe3af495f51ffa74f009c9",
"sha256": "28abd3b3215e16943499c4e54413ece568671502567ae0378bc58652a7eab812"
},
"downloads": -1,
"filename": "aiecs-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "d255a2de7afe3af495f51ffa74f009c9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.10",
"size": 161797,
"upload_time": "2025-09-18T16:16:07",
"upload_time_iso_8601": "2025-09-18T16:16:07.672858Z",
"url": "https://files.pythonhosted.org/packages/58/ab/e33ec431ef9d0a063f6c0053ba6cc43c70090cc7e1329f99dcfc1a5a3b7e/aiecs-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-18 16:16:07",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "aiecs-team",
"github_project": "aiecs",
"github_not_found": true,
"lcname": "aiecs"
}