Python SDK for WyseOS
Project description
๐ค WyseOS SDK for Python
The official Python SDK for WyseOS - Build intelligent AI-powered applications with seamless API integration, real-time WebSocket support, and simplified task execution.
๐ New in v0.2.1: Simplified task execution interface with
TaskRunner- execute complex AI tasks with just a few lines of code!
โจ What is WyseOS?
WyseOS is an advanced AI platform that enables developers to build sophisticated AI agents and workflows. The Python SDK provides:
- ๐ฏ Intelligent Task Execution - Run complex AI tasks with automatic plan acceptance
- ๐ Real-time Communication - WebSocket integration for live AI interactions
- ๐ File Processing - Upload and analyze documents, images, and data files
- ๐ Browser Automation - AI-powered web browsing and data extraction
- ๐ฅ Team Management - Organize AI agents and workflows by teams
- ๐ก๏ธ Enterprise Ready - Type-safe, robust error handling, and comprehensive logging
๐ Quick Start
Installation
pip install wyseos-sdk
30-Second Example
from wyseos.mate import Client
from wyseos.mate.config import load_config
from wyseos.mate.models import CreateSessionRequest
from wyseos.mate.websocket import WebSocketClient, TaskExecutionOptions
# Initialize client
client = Client(load_config("mate.yaml"))
# Create session
session = client.session.create(
CreateSessionRequest(team_id="wyse_mate", task="Analyze market trends")
)
session_info = client.session.get_info(session.session_id)
# Execute AI task
ws_client = WebSocketClient(
base_url=client.base_url,
api_key=client.api_key,
session_id=session_info.session_id
)
task_runner = ws_client.create_task_runner(client, session_info)
result = task_runner.run_task(
task="Analyze Q4 2024 market trends in tech sector",
team_id="wyse_mate",
options=TaskExecutionOptions(auto_accept_plan=True)
)
if result.success:
print(f"โ
Analysis complete: {result.final_answer}")
print(f"โฑ๏ธ Completed in {result.session_duration:.1f} seconds")
else:
print(f"โ Task failed: {result.error}")
๐ฏ Complete Quick Start Guide โ
๐ฎ Key Features
๐ค Simplified Task Execution
Execute complex AI workflows with minimal code:
# Automated execution - fire and forget
result = task_runner.run_task(
task="Create a comprehensive market analysis report",
team_id="wyse_mate",
options=TaskExecutionOptions(auto_accept_plan=True)
)
# Interactive execution - with user input
task_runner.run_interactive_session(
initial_task="Help me research competitors",
team_id="wyse_mate"
)
๐ File Upload & Processing
# Upload files for AI analysis
uploaded_files = []
upload_result = client.file_upload.upload_file("data.csv")
if upload_result.get("file_url"):
uploaded_files.append({
"file_name": "data.csv",
"file_url": upload_result["file_url"]
})
# Use files in task execution
result = task_runner.run_task(
task="Analyze this dataset and create visualizations",
attachments=uploaded_files,
team_id="wyse_mate"
)
โก Real-time WebSocket Integration
from wyseos.mate.websocket import WebSocketClient, MessageType
ws = WebSocketClient(
base_url=client.base_url,
api_key=client.api_key,
session_id=session_id
)
ws.set_message_handler(lambda msg: print(f"AI Agent: {msg.get('content')}"))
ws.connect(session_id)
๐ง Flexible Configuration
# mate.yaml
mate:
api_key: "your-api-key"
base_url: "https://api.wyseos.com"
timeout: 30
# Configuration options
options = TaskExecutionOptions(
auto_accept_plan=True, # โ
Auto-approve AI plans
capture_screenshots=False, # ๐ธ Browser screenshots
enable_browser_logging=True, # ๐ Browser activity logs
completion_timeout=300, # โฑ๏ธ Task timeout
)
๐ Documentation & Examples
| Resource | Description |
|---|---|
| ๐ Quick Start Guide | Get up and running in 5 minutes |
| ๐ Installation Guide | Detailed installation instructions |
| ๐ฏ Complete Example | Full-featured example application |
| ๐ Release Notes | Latest updates and changes |
๐ช Example Applications
The examples/ directory contains real-world usage patterns:
- ๐ Data Analysis: Upload CSV files and get AI-powered insights
- ๐ Web Research: Automated web browsing and data extraction
- ๐ Document Processing: Analyze PDFs, images, and text files
- ๐ฌ Interactive Sessions: Build chatbot-like experiences
- ๐ Workflow Automation: Chain multiple AI tasks together
๐ ๏ธ Development & Contributing
Development Setup
# Clone repository
git clone https://github.com/WyseOS/wyseos-sdk-python
cd wyseos-sdk-python
# Create virtual environment
python -m venv venv
source venv/bin/activate # or `venv\Scripts\activate` on Windows
# Install in development mode
pip install -e .
# Install development tools (optional)
pip install pytest pytest-cov black isort flake8 mypy
Testing
# Run tests
pytest
# With coverage
pytest --cov=wyseos
Contributing
We welcome contributions! Please:
- ๐ด Fork the repository
- ๐ฟ Create a feature branch (
git checkout -b feature/amazing-feature) - ๐พ Commit your changes (
git commit -m 'Add amazing feature') - ๐ค Push to the branch (
git push origin feature/amazing-feature) - ๐ Open a Pull Request
๐ Project Status
| Component | Status |
|---|---|
| ๐ง Core SDK | โ Complete |
| ๐ WebSocket Support | โ Complete |
| ๐ File Upload | โ Complete |
| ๐ค Task Execution | โ Complete |
| ๐ Documentation | โ Complete |
| ๐งช Test Coverage | ๐ง In Progress |
| ๐ฑ Mobile Examples | ๐ Planned |
๐๏ธ Architecture
wyseos/
โโโ mate/ # Core SDK module
โ โโโ client.py # Main API client
โ โโโ websocket.py # WebSocket + TaskRunner
โ โโโ models.py # Pydantic data models
โ โโโ config.py # Configuration management
โ โโโ errors.py # Exception classes
โ โโโ services/ # API service modules
โ โโโ user.py # User management
โ โโโ team.py # Team operations
โ โโโ agent.py # AI agent management
โ โโโ session.py # Session handling
โ โโโ browser.py # Browser automation
โ โโโ file_upload.py # File operations
๐ API Reference
Core Classes
| Class | Purpose |
|---|---|
Client |
Main API client for HTTP requests |
WebSocketClient |
Real-time WebSocket communication |
TaskRunner |
Simplified task execution interface |
TaskExecutionOptions |
Configuration for task execution |
TaskResult |
Comprehensive task execution results |
Key Methods
# Client operations
client.user.list_api_keys()
client.team.get_list()
client.agent.get_list()
client.session.create()
# File operations
client.file_upload.validate_file()
client.file_upload.upload_file()
# Task execution
task_runner.run_task() # Automated execution
task_runner.run_interactive_session() # Interactive mode
๐จ Error Handling
The SDK provides structured error handling:
from wyseos.mate.errors import APIError, ValidationError, NetworkError
try:
result = task_runner.run_task("Your task")
except ValidationError as e:
print(f"Validation error: {e}")
except APIError as e:
print(f"API error: {e.message}")
except NetworkError as e:
print(f"Network error: {e}")
๐ What's New in v0.2.0
- ๐ฏ New TaskRunner Interface: Execute AI tasks with 90% less code
- โก Performance Optimizations: Screenshots disabled by default for faster execution
- ๐ง Simplified Configuration: Cleaner options with intelligent defaults
- ๐ Enhanced Documentation: Complete rewrite with practical examples
- ๐๏ธ Improved Architecture: Better separation of concerns and modularity
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Support & Community
- ๐ Issues: GitHub Issues
- ๐ง Email: support@wyseos.com
- ๐ฌ Discussions: GitHub Discussions
- ๐ Documentation: API Docs
๐ Related Projects
- ๐ WyseOS Platform: wyseos.com
- ๐ฆ PyPI Package: pypi.org/project/wyseos-sdk
- ๐งช JavaScript SDK: Coming soon
- ๐ REST API: docs.wyseos.com
๐ Ready to build the future with AI?
Get Started โข View Examples โข API Docs
Built with โค๏ธ by the WyseOS team
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wyseos_sdk-0.2.1.tar.gz.
File metadata
- Download URL: wyseos_sdk-0.2.1.tar.gz
- Upload date:
- Size: 30.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7140ce46b98458478688a69f0d80da66729ae2fe34afb95dfec5194fd4ba1e9
|
|
| MD5 |
2f12c9c64614d42366d67e651e6f013a
|
|
| BLAKE2b-256 |
0a4455b4de63a5e7ce76a9731ec4bf92fc85bd524bdbf5e120c7fed914a7cfbf
|
File details
Details for the file wyseos_sdk-0.2.1-py3-none-any.whl.
File metadata
- Download URL: wyseos_sdk-0.2.1-py3-none-any.whl
- Upload date:
- Size: 32.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e2f825957012ff2dcbfed5e1b72551cef0423e4fc1d544d4b058b0402bad183
|
|
| MD5 |
89153e0af3636047a9078d71b4f108e0
|
|
| BLAKE2b-256 |
f453d24a694316ddf8cb772ec5bc10f377da835ddf69e888555fde5374b75b94
|