umicp-python


Nameumicp-python JSON
Version 0.2.2 PyPI version JSON
download
home_pageNone
SummaryPython bindings for the Universal Matrix Inter-Communication Protocol (UMICP) with native type support and tool discovery
upload_time2025-10-17 23:39:48
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT
keywords umicp communication matrix federated-learning ai websocket http2
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # UMICP Python Bindings

[![PyPI version](https://badge.fury.io/py/umicp-python.svg)](https://pypi.org/project/umicp-python/)
[![Python Versions](https://img.shields.io/pypi/pyversions/umicp-python.svg)](https://pypi.org/project/umicp-python/)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

High-performance Python bindings for the Universal Matrix Inter-Communication Protocol (UMICP).

## ๐Ÿš€ Status: **Production Release** (v0.2.0)

| Component | Status | Description |
|-----------|--------|-------------|
| **Envelope System** | โœ… Complete | Message envelope with JSON serialization |
| **Matrix Operations** | โœ… Complete | NumPy-powered matrix operations |
| **WebSocket Client** | โœ… Complete | Async WebSocket client |
| **WebSocket Server** | โœ… Complete | Async WebSocket server |
| **HTTP/2 Client** | โœ… Complete | HTTP/2 client with httpx |
| **HTTP/2 Server** | โœ… Complete | HTTP/2 server with aiohttp |
| **Multiplexed Peer** | โœ… Complete | Server + client architecture |
| **Event System** | โœ… Complete | Async event emitter |
| **Service Discovery** | โœ… Complete | Service registration and discovery |
| **Connection Pooling** | โœ… Complete | Generic connection pooling |
| **Compression** | โœ… Complete | GZIP/DEFLATE compression |

**Current Progress**: 100% Feature Complete โœ…  
**Python Version**: 3.9+ required  
**Dependencies**: Modern async stack (asyncio, websockets, httpx, aiohttp)

---

## ๐Ÿ“ฆ Installation

```bash
# Install from PyPI (recommended)
pip install umicp-python

# Or install specific version
pip install umicp-python==0.2.0

# Install from source
git clone https://github.com/hivellm/umicp
cd umicp/bindings/python
pip install -e .

# Install with dev dependencies
pip install -e ".[dev]"
```

**PyPI Package**: [https://pypi.org/project/umicp-python/](https://pypi.org/project/umicp-python/)

### Requirements

- Python 3.9+
- NumPy >= 1.24.0
- websockets >= 12.0
- httpx >= 0.27.0
- aiohttp >= 3.9.0

---

## ๐ŸŽฏ Quick Start

### Basic Envelope Usage

```python
from umicp import Envelope, EnvelopeBuilder, OperationType

# Create envelope
envelope = EnvelopeBuilder() \
    .from_id("client-001") \
    .to_id("server-001") \
    .operation(OperationType.DATA) \
    .capability("content-type", "application/json") \
    .build()

# Serialize
json_str = envelope.to_json()
print(f"Envelope: {json_str}")

# Deserialize
received = Envelope.from_json(json_str)
print(f"From: {received.from_id}, To: {received.to_id}")
```

### Matrix Operations

```python
import numpy as np
from umicp import Matrix

matrix = Matrix()

# Vector operations
v1 = np.array([1.0, 2.0, 3.0, 4.0], dtype=np.float32)
v2 = np.array([5.0, 6.0, 7.0, 8.0], dtype=np.float32)

# Dot product
dot_result = matrix.dot_product(v1, v2)
print(f"Dot product: {dot_result.result}")  # 70.0

# Cosine similarity
similarity = matrix.cosine_similarity(v1, v2)
print(f"Similarity: {similarity.similarity}")

# Matrix operations
m1 = np.array([[1, 2], [3, 4]], dtype=np.float32)
m2 = np.array([[5, 6], [7, 8]], dtype=np.float32)

result = matrix.multiply(m1, m2)
print(f"Product:\n{result.result}")
```

### WebSocket Client

```python
import asyncio
from umicp import WebSocketClient, Envelope, OperationType, EnvelopeBuilder

async def main():
    # Create client
    client = WebSocketClient("ws://localhost:8080")
    
    # Connect
    await client.connect()
    print("Connected!")
    
    # Send message
    envelope = EnvelopeBuilder() \
        .from_id("python-client") \
        .to_id("server") \
        .operation(OperationType.DATA) \
        .capability("message", "Hello from Python!") \
        .build()
    
    await client.send(envelope)
    print("Message sent!")
    
    # Receive message
    received = await client.receive()
    if received:
        print(f"Received: {received}")
    
    # Disconnect
    await client.disconnect()

asyncio.run(main())
```

### Multiplexed Peer

```python
import asyncio
from umicp import WebSocketPeer, EnvelopeBuilder, OperationType

async def main():
    # Create peer
    peer = WebSocketPeer("peer-001", port=8080)
    
    # Start server
    await peer.start()
    print("Peer server started")
    
    # Connect to another peer
    await peer.connect_to_peer("ws://localhost:8081", "peer-002")
    
    # Send to specific peer
    envelope = EnvelopeBuilder() \
        .from_id("peer-001") \
        .to_id("peer-002") \
        .operation(OperationType.DATA) \
        .capability("message", "Hello Peer!") \
        .build()
    
    await peer.send_to_peer("peer-002", envelope)
    
    # Broadcast to all peers
    await peer.broadcast(envelope)
    
    # Cleanup
    await peer.disconnect()

asyncio.run(main())
```

### Service Discovery

```python
import asyncio
from umicp import ServiceDiscovery, ServiceInfo

async def main():
    discovery = ServiceDiscovery()
    await discovery.start()
    
    # Register service
    service = ServiceInfo(
        id="my-service-001",
        name="MyService",
        version="1.0.0",
        capabilities={"type": "processor", "language": "python"},
        metadata={"description": "Example service"}
    )
    await discovery.register(service)
    
    # Find services
    services = await discovery.find_by_capability("type", "processor")
    print(f"Found {len(services)} services")
    
    # Cleanup
    await discovery.stop()

asyncio.run(main())
```

### Compression

```python
from umicp import Compression, CompressionType

# Compress data
data = b"Hello, UMICP! " * 100
compressed = Compression.compress(data, CompressionType.GZIP)
print(f"Original: {len(data)} bytes, Compressed: {len(compressed)} bytes")

# Decompress
decompressed = Compression.decompress(compressed, CompressionType.GZIP)
assert decompressed == data

# Check if compression is beneficial
if Compression.is_beneficial(len(data), len(compressed)):
    print("Compression saved space!")

# Get compression ratio
ratio = Compression.get_compression_ratio(len(data), len(compressed))
print(f"Compression ratio: {ratio:.2f}x")
```

---

## โœ… Features

### Core Features
- โœ… **Envelope System**: Type-safe message envelopes with JSON serialization
- โœ… **Builder Pattern**: Fluent API for envelope construction
- โœ… **Hash Generation**: SHA-256 envelope integrity
- โœ… **Validation**: Comprehensive field validation

### Matrix Operations
- โœ… **NumPy Integration**: High-performance operations
- โœ… **Vector Operations**: Add, subtract, scale, dot product
- โœ… **Matrix Operations**: Add, multiply, transpose, determinant, inverse
- โœ… **Similarity**: Cosine similarity, L2 normalization
- โœ… **Type Safety**: Full type hints

### Transport Layer
- โœ… **WebSocket**: Async client and server with websockets library
- โœ… **HTTP/2**: Client (httpx) and server (aiohttp)
- โœ… **Auto-reconnect**: Configurable reconnection logic
- โœ… **Statistics**: Message and byte counters

### Advanced Features
- โœ… **Multiplexed Peer**: Server + multiple clients in one
- โœ… **Auto-Handshake**: HELLO โ†’ ACK protocol
- โœ… **Event System**: Async event emitter with type-safe events
- โœ… **Service Discovery**: Registration, health tracking, capability matching
- โœ… **Connection Pooling**: Generic async pool with timeouts
- โœ… **Compression**: GZIP/DEFLATE with automatic size detection

### Developer Experience
- โœ… **Type Hints**: Full type annotations for IDE support
- โœ… **Async/Await**: Modern asyncio patterns
- โœ… **Error Handling**: Custom exception hierarchy
- โœ… **Documentation**: Comprehensive docstrings

---

## ๐Ÿงช Testing

### Test Suite

**133 comprehensive tests** with **97% code coverage**:

- โœ… **Unit Tests** (100+): All core modules
- โœ… **Integration Tests** (10+): End-to-end workflows
- โœ… **Async Tests** (30+): Full asyncio coverage
- โœ… **Advanced Tests** (15+): Edge cases and error handling
- โœ… **Compression Tests** (18): GZIP/DEFLATE compression

### Test Coverage by Module

| Module | Tests | Coverage |
|--------|-------|----------|
| types.py | 12 | 100% |
| error.py | 7 | 100% |
| envelope.py | 24 | 94% |
| envelope_advanced.py | 17 | 95% |
| matrix.py | 27 | 99% |
| matrix_advanced.py | 20 | 98% |
| compression.py | 18 | 100% |
| events.py | 8 | 98% |
| discovery.py | 8 | 100% |
| pool.py | 10 | 90% |
| peer/* | 8 | 100% |
| transport/* | 10 | 95% |
| integration | 7 | N/A |
| **Total** | **133** | **97%** |

### Running Tests

```bash
# Install dev dependencies
pip install -e ".[dev]"

# Run all tests
pytest

# Run with coverage report
pytest --cov=umicp --cov-report=html
pytest --cov=umicp --cov-report=term-missing

# Run specific test file
pytest tests/test_envelope.py
pytest tests/test_matrix.py
pytest tests/test_integration.py

# Run by category
pytest -m "not integration"  # Unit tests only
pytest -m integration        # Integration tests only

# Verbose output
pytest -v
pytest -vv  # Extra verbose

# Type checking
mypy umicp/

# Linting
ruff check umicp/

# Formatting
black umicp/
```

See [TEST_REPORT.md](TEST_REPORT.md) for detailed test coverage report.

---

## ๐Ÿ“š API Reference

### Core Classes

- **`Envelope`**: Message envelope
- **`EnvelopeBuilder`**: Fluent envelope builder
- **`Matrix`**: Matrix operations
- **`OperationType`**: Operation enum (CONTROL, DATA, ACK, ERROR, REQUEST, RESPONSE)
- **`PayloadType`**: Payload type enum
- **`EncodingType`**: Encoding type enum

### Transport

- **`WebSocketClient`**: Async WebSocket client
- **`WebSocketServer`**: Async WebSocket server
- **`HttpClient`**: HTTP/2 client
- **`HttpServer`**: HTTP/2 server

### Peer

- **`WebSocketPeer`**: Multiplexed peer
- **`PeerConnection`**: Peer connection management
- **`PeerInfo`**: Peer metadata
- **`HandshakeProtocol`**: Handshake utilities

### Advanced

- **`EventEmitter`**: Async event system
- **`ServiceDiscovery`**: Service registry
- **`ConnectionPool`**: Connection pooling
- **`Compression`**: Data compression utilities
- **`CompressionType`**: Compression algorithm enum (NONE, GZIP, DEFLATE, LZ4)
- **`CompressionError`**: Compression-specific exceptions

---

## ๐Ÿ”ง Development

```bash
# Clone repository
git clone https://github.com/hivellm/umicp
cd umicp/bindings/python

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install in editable mode with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Format code
black umicp/ tests/

# Type check
mypy umicp/

# Lint
ruff check umicp/
```

---

## ๐Ÿ“‹ Roadmap

### Completed โœ…
- โœ… Core envelope system with JSON serialization
- โœ… Matrix operations with NumPy (SIMD-accelerated)
- โœ… WebSocket transport (client/server) with auto-reconnect
- โœ… HTTP/2 transport (client/server)
- โœ… Multiplexed peer architecture
- โœ… Event system with async handlers
- โœ… Service discovery with capability matching
- โœ… Connection pooling with health checks
- โœ… **Compression (GZIP/DEFLATE)** with automatic size detection โญ v0.1.3
- โœ… Full type hints (PEP 561)
- โœ… Comprehensive error handling
- โœ… 133 tests with 97% coverage

### Planned ๐Ÿ“‹
- ๐Ÿ“‹ LZ4 compression support
- ๐Ÿ“‹ TLS/SSL transport security
- ๐Ÿ“‹ Additional ML framework integrations (TensorFlow, PyTorch)
- ๐Ÿ“‹ Load balancing strategies
- ๐Ÿ“‹ Performance benchmarks
- ๐Ÿ“‹ Additional examples and tutorials

---

## ๐Ÿ”— Part of HiveLLM Ecosystem

UMICP Python bindings integrate with the HiveLLM ecosystem:

- **Vectorizer**: Semantic search with UMICP communication
- **Task Queue**: Workflow orchestration
- **Agent Framework**: Multi-agent systems
- **Voxa**: Voice AI with agent coordination

---

## ๐Ÿ“„ License

MIT License - See [LICENSE](LICENSE) file for details.

---

## ๐Ÿค Contributing

Contributions are welcome! Please see [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines.

---

**Version**: 0.2.0  
**Status**: Production Release  
**Released**: October 16, 2025  
**Python**: 3.9+  
**PyPI**: https://pypi.org/project/umicp-python/  
**Repository**: https://github.com/hivellm/umicp


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "umicp-python",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "umicp, communication, matrix, federated-learning, ai, websocket, http2",
    "author": null,
    "author_email": "HiveLLM AI Collaborative Team <team@hivellm.org>",
    "download_url": "https://files.pythonhosted.org/packages/47/45/b0320bdaa47629bab0c23a31ba05ddaeddabccc19a175f020746e4b551fb/umicp_python-0.2.2.tar.gz",
    "platform": null,
    "description": "# UMICP Python Bindings\n\n[![PyPI version](https://badge.fury.io/py/umicp-python.svg)](https://pypi.org/project/umicp-python/)\n[![Python Versions](https://img.shields.io/pypi/pyversions/umicp-python.svg)](https://pypi.org/project/umicp-python/)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\nHigh-performance Python bindings for the Universal Matrix Inter-Communication Protocol (UMICP).\n\n## \ud83d\ude80 Status: **Production Release** (v0.2.0)\n\n| Component | Status | Description |\n|-----------|--------|-------------|\n| **Envelope System** | \u2705 Complete | Message envelope with JSON serialization |\n| **Matrix Operations** | \u2705 Complete | NumPy-powered matrix operations |\n| **WebSocket Client** | \u2705 Complete | Async WebSocket client |\n| **WebSocket Server** | \u2705 Complete | Async WebSocket server |\n| **HTTP/2 Client** | \u2705 Complete | HTTP/2 client with httpx |\n| **HTTP/2 Server** | \u2705 Complete | HTTP/2 server with aiohttp |\n| **Multiplexed Peer** | \u2705 Complete | Server + client architecture |\n| **Event System** | \u2705 Complete | Async event emitter |\n| **Service Discovery** | \u2705 Complete | Service registration and discovery |\n| **Connection Pooling** | \u2705 Complete | Generic connection pooling |\n| **Compression** | \u2705 Complete | GZIP/DEFLATE compression |\n\n**Current Progress**: 100% Feature Complete \u2705  \n**Python Version**: 3.9+ required  \n**Dependencies**: Modern async stack (asyncio, websockets, httpx, aiohttp)\n\n---\n\n## \ud83d\udce6 Installation\n\n```bash\n# Install from PyPI (recommended)\npip install umicp-python\n\n# Or install specific version\npip install umicp-python==0.2.0\n\n# Install from source\ngit clone https://github.com/hivellm/umicp\ncd umicp/bindings/python\npip install -e .\n\n# Install with dev dependencies\npip install -e \".[dev]\"\n```\n\n**PyPI Package**: [https://pypi.org/project/umicp-python/](https://pypi.org/project/umicp-python/)\n\n### Requirements\n\n- Python 3.9+\n- NumPy >= 1.24.0\n- websockets >= 12.0\n- httpx >= 0.27.0\n- aiohttp >= 3.9.0\n\n---\n\n## \ud83c\udfaf Quick Start\n\n### Basic Envelope Usage\n\n```python\nfrom umicp import Envelope, EnvelopeBuilder, OperationType\n\n# Create envelope\nenvelope = EnvelopeBuilder() \\\n    .from_id(\"client-001\") \\\n    .to_id(\"server-001\") \\\n    .operation(OperationType.DATA) \\\n    .capability(\"content-type\", \"application/json\") \\\n    .build()\n\n# Serialize\njson_str = envelope.to_json()\nprint(f\"Envelope: {json_str}\")\n\n# Deserialize\nreceived = Envelope.from_json(json_str)\nprint(f\"From: {received.from_id}, To: {received.to_id}\")\n```\n\n### Matrix Operations\n\n```python\nimport numpy as np\nfrom umicp import Matrix\n\nmatrix = Matrix()\n\n# Vector operations\nv1 = np.array([1.0, 2.0, 3.0, 4.0], dtype=np.float32)\nv2 = np.array([5.0, 6.0, 7.0, 8.0], dtype=np.float32)\n\n# Dot product\ndot_result = matrix.dot_product(v1, v2)\nprint(f\"Dot product: {dot_result.result}\")  # 70.0\n\n# Cosine similarity\nsimilarity = matrix.cosine_similarity(v1, v2)\nprint(f\"Similarity: {similarity.similarity}\")\n\n# Matrix operations\nm1 = np.array([[1, 2], [3, 4]], dtype=np.float32)\nm2 = np.array([[5, 6], [7, 8]], dtype=np.float32)\n\nresult = matrix.multiply(m1, m2)\nprint(f\"Product:\\n{result.result}\")\n```\n\n### WebSocket Client\n\n```python\nimport asyncio\nfrom umicp import WebSocketClient, Envelope, OperationType, EnvelopeBuilder\n\nasync def main():\n    # Create client\n    client = WebSocketClient(\"ws://localhost:8080\")\n    \n    # Connect\n    await client.connect()\n    print(\"Connected!\")\n    \n    # Send message\n    envelope = EnvelopeBuilder() \\\n        .from_id(\"python-client\") \\\n        .to_id(\"server\") \\\n        .operation(OperationType.DATA) \\\n        .capability(\"message\", \"Hello from Python!\") \\\n        .build()\n    \n    await client.send(envelope)\n    print(\"Message sent!\")\n    \n    # Receive message\n    received = await client.receive()\n    if received:\n        print(f\"Received: {received}\")\n    \n    # Disconnect\n    await client.disconnect()\n\nasyncio.run(main())\n```\n\n### Multiplexed Peer\n\n```python\nimport asyncio\nfrom umicp import WebSocketPeer, EnvelopeBuilder, OperationType\n\nasync def main():\n    # Create peer\n    peer = WebSocketPeer(\"peer-001\", port=8080)\n    \n    # Start server\n    await peer.start()\n    print(\"Peer server started\")\n    \n    # Connect to another peer\n    await peer.connect_to_peer(\"ws://localhost:8081\", \"peer-002\")\n    \n    # Send to specific peer\n    envelope = EnvelopeBuilder() \\\n        .from_id(\"peer-001\") \\\n        .to_id(\"peer-002\") \\\n        .operation(OperationType.DATA) \\\n        .capability(\"message\", \"Hello Peer!\") \\\n        .build()\n    \n    await peer.send_to_peer(\"peer-002\", envelope)\n    \n    # Broadcast to all peers\n    await peer.broadcast(envelope)\n    \n    # Cleanup\n    await peer.disconnect()\n\nasyncio.run(main())\n```\n\n### Service Discovery\n\n```python\nimport asyncio\nfrom umicp import ServiceDiscovery, ServiceInfo\n\nasync def main():\n    discovery = ServiceDiscovery()\n    await discovery.start()\n    \n    # Register service\n    service = ServiceInfo(\n        id=\"my-service-001\",\n        name=\"MyService\",\n        version=\"1.0.0\",\n        capabilities={\"type\": \"processor\", \"language\": \"python\"},\n        metadata={\"description\": \"Example service\"}\n    )\n    await discovery.register(service)\n    \n    # Find services\n    services = await discovery.find_by_capability(\"type\", \"processor\")\n    print(f\"Found {len(services)} services\")\n    \n    # Cleanup\n    await discovery.stop()\n\nasyncio.run(main())\n```\n\n### Compression\n\n```python\nfrom umicp import Compression, CompressionType\n\n# Compress data\ndata = b\"Hello, UMICP! \" * 100\ncompressed = Compression.compress(data, CompressionType.GZIP)\nprint(f\"Original: {len(data)} bytes, Compressed: {len(compressed)} bytes\")\n\n# Decompress\ndecompressed = Compression.decompress(compressed, CompressionType.GZIP)\nassert decompressed == data\n\n# Check if compression is beneficial\nif Compression.is_beneficial(len(data), len(compressed)):\n    print(\"Compression saved space!\")\n\n# Get compression ratio\nratio = Compression.get_compression_ratio(len(data), len(compressed))\nprint(f\"Compression ratio: {ratio:.2f}x\")\n```\n\n---\n\n## \u2705 Features\n\n### Core Features\n- \u2705 **Envelope System**: Type-safe message envelopes with JSON serialization\n- \u2705 **Builder Pattern**: Fluent API for envelope construction\n- \u2705 **Hash Generation**: SHA-256 envelope integrity\n- \u2705 **Validation**: Comprehensive field validation\n\n### Matrix Operations\n- \u2705 **NumPy Integration**: High-performance operations\n- \u2705 **Vector Operations**: Add, subtract, scale, dot product\n- \u2705 **Matrix Operations**: Add, multiply, transpose, determinant, inverse\n- \u2705 **Similarity**: Cosine similarity, L2 normalization\n- \u2705 **Type Safety**: Full type hints\n\n### Transport Layer\n- \u2705 **WebSocket**: Async client and server with websockets library\n- \u2705 **HTTP/2**: Client (httpx) and server (aiohttp)\n- \u2705 **Auto-reconnect**: Configurable reconnection logic\n- \u2705 **Statistics**: Message and byte counters\n\n### Advanced Features\n- \u2705 **Multiplexed Peer**: Server + multiple clients in one\n- \u2705 **Auto-Handshake**: HELLO \u2192 ACK protocol\n- \u2705 **Event System**: Async event emitter with type-safe events\n- \u2705 **Service Discovery**: Registration, health tracking, capability matching\n- \u2705 **Connection Pooling**: Generic async pool with timeouts\n- \u2705 **Compression**: GZIP/DEFLATE with automatic size detection\n\n### Developer Experience\n- \u2705 **Type Hints**: Full type annotations for IDE support\n- \u2705 **Async/Await**: Modern asyncio patterns\n- \u2705 **Error Handling**: Custom exception hierarchy\n- \u2705 **Documentation**: Comprehensive docstrings\n\n---\n\n## \ud83e\uddea Testing\n\n### Test Suite\n\n**133 comprehensive tests** with **97% code coverage**:\n\n- \u2705 **Unit Tests** (100+): All core modules\n- \u2705 **Integration Tests** (10+): End-to-end workflows\n- \u2705 **Async Tests** (30+): Full asyncio coverage\n- \u2705 **Advanced Tests** (15+): Edge cases and error handling\n- \u2705 **Compression Tests** (18): GZIP/DEFLATE compression\n\n### Test Coverage by Module\n\n| Module | Tests | Coverage |\n|--------|-------|----------|\n| types.py | 12 | 100% |\n| error.py | 7 | 100% |\n| envelope.py | 24 | 94% |\n| envelope_advanced.py | 17 | 95% |\n| matrix.py | 27 | 99% |\n| matrix_advanced.py | 20 | 98% |\n| compression.py | 18 | 100% |\n| events.py | 8 | 98% |\n| discovery.py | 8 | 100% |\n| pool.py | 10 | 90% |\n| peer/* | 8 | 100% |\n| transport/* | 10 | 95% |\n| integration | 7 | N/A |\n| **Total** | **133** | **97%** |\n\n### Running Tests\n\n```bash\n# Install dev dependencies\npip install -e \".[dev]\"\n\n# Run all tests\npytest\n\n# Run with coverage report\npytest --cov=umicp --cov-report=html\npytest --cov=umicp --cov-report=term-missing\n\n# Run specific test file\npytest tests/test_envelope.py\npytest tests/test_matrix.py\npytest tests/test_integration.py\n\n# Run by category\npytest -m \"not integration\"  # Unit tests only\npytest -m integration        # Integration tests only\n\n# Verbose output\npytest -v\npytest -vv  # Extra verbose\n\n# Type checking\nmypy umicp/\n\n# Linting\nruff check umicp/\n\n# Formatting\nblack umicp/\n```\n\nSee [TEST_REPORT.md](TEST_REPORT.md) for detailed test coverage report.\n\n---\n\n## \ud83d\udcda API Reference\n\n### Core Classes\n\n- **`Envelope`**: Message envelope\n- **`EnvelopeBuilder`**: Fluent envelope builder\n- **`Matrix`**: Matrix operations\n- **`OperationType`**: Operation enum (CONTROL, DATA, ACK, ERROR, REQUEST, RESPONSE)\n- **`PayloadType`**: Payload type enum\n- **`EncodingType`**: Encoding type enum\n\n### Transport\n\n- **`WebSocketClient`**: Async WebSocket client\n- **`WebSocketServer`**: Async WebSocket server\n- **`HttpClient`**: HTTP/2 client\n- **`HttpServer`**: HTTP/2 server\n\n### Peer\n\n- **`WebSocketPeer`**: Multiplexed peer\n- **`PeerConnection`**: Peer connection management\n- **`PeerInfo`**: Peer metadata\n- **`HandshakeProtocol`**: Handshake utilities\n\n### Advanced\n\n- **`EventEmitter`**: Async event system\n- **`ServiceDiscovery`**: Service registry\n- **`ConnectionPool`**: Connection pooling\n- **`Compression`**: Data compression utilities\n- **`CompressionType`**: Compression algorithm enum (NONE, GZIP, DEFLATE, LZ4)\n- **`CompressionError`**: Compression-specific exceptions\n\n---\n\n## \ud83d\udd27 Development\n\n```bash\n# Clone repository\ngit clone https://github.com/hivellm/umicp\ncd umicp/bindings/python\n\n# Create virtual environment\npython -m venv venv\nsource venv/bin/activate  # On Windows: venv\\Scripts\\activate\n\n# Install in editable mode with dev dependencies\npip install -e \".[dev]\"\n\n# Run tests\npytest\n\n# Format code\nblack umicp/ tests/\n\n# Type check\nmypy umicp/\n\n# Lint\nruff check umicp/\n```\n\n---\n\n## \ud83d\udccb Roadmap\n\n### Completed \u2705\n- \u2705 Core envelope system with JSON serialization\n- \u2705 Matrix operations with NumPy (SIMD-accelerated)\n- \u2705 WebSocket transport (client/server) with auto-reconnect\n- \u2705 HTTP/2 transport (client/server)\n- \u2705 Multiplexed peer architecture\n- \u2705 Event system with async handlers\n- \u2705 Service discovery with capability matching\n- \u2705 Connection pooling with health checks\n- \u2705 **Compression (GZIP/DEFLATE)** with automatic size detection \u2b50 v0.1.3\n- \u2705 Full type hints (PEP 561)\n- \u2705 Comprehensive error handling\n- \u2705 133 tests with 97% coverage\n\n### Planned \ud83d\udccb\n- \ud83d\udccb LZ4 compression support\n- \ud83d\udccb TLS/SSL transport security\n- \ud83d\udccb Additional ML framework integrations (TensorFlow, PyTorch)\n- \ud83d\udccb Load balancing strategies\n- \ud83d\udccb Performance benchmarks\n- \ud83d\udccb Additional examples and tutorials\n\n---\n\n## \ud83d\udd17 Part of HiveLLM Ecosystem\n\nUMICP Python bindings integrate with the HiveLLM ecosystem:\n\n- **Vectorizer**: Semantic search with UMICP communication\n- **Task Queue**: Workflow orchestration\n- **Agent Framework**: Multi-agent systems\n- **Voxa**: Voice AI with agent coordination\n\n---\n\n## \ud83d\udcc4 License\n\nMIT License - See [LICENSE](LICENSE) file for details.\n\n---\n\n## \ud83e\udd1d Contributing\n\nContributions are welcome! Please see [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines.\n\n---\n\n**Version**: 0.2.0  \n**Status**: Production Release  \n**Released**: October 16, 2025  \n**Python**: 3.9+  \n**PyPI**: https://pypi.org/project/umicp-python/  \n**Repository**: https://github.com/hivellm/umicp\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python bindings for the Universal Matrix Inter-Communication Protocol (UMICP) with native type support and tool discovery",
    "version": "0.2.2",
    "project_urls": {
        "Documentation": "https://github.com/hivellm/umicp/tree/main/bindings/python/docs",
        "Homepage": "https://github.com/hivellm/umicp",
        "Issues": "https://github.com/hivellm/umicp/issues",
        "Repository": "https://github.com/hivellm/umicp"
    },
    "split_keywords": [
        "umicp",
        " communication",
        " matrix",
        " federated-learning",
        " ai",
        " websocket",
        " http2"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f4516c337c8c7c923a2388839cfb7e9aa86b630ad4ca4fc00b315212a0346538",
                "md5": "eb229df47ca71383b2900ae5988efcd8",
                "sha256": "6e6f5aed930facc9c8a2293f2a9713361a7a56163cf3ca1b603b421554378676"
            },
            "downloads": -1,
            "filename": "umicp_python-0.2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "eb229df47ca71383b2900ae5988efcd8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 28318,
            "upload_time": "2025-10-17T23:39:46",
            "upload_time_iso_8601": "2025-10-17T23:39:46.973026Z",
            "url": "https://files.pythonhosted.org/packages/f4/51/6c337c8c7c923a2388839cfb7e9aa86b630ad4ca4fc00b315212a0346538/umicp_python-0.2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4745b0320bdaa47629bab0c23a31ba05ddaeddabccc19a175f020746e4b551fb",
                "md5": "afc34ab5a2dacf1e08eb5ed51ad8e119",
                "sha256": "2d1e921b5f3bb419a17f4605dfd402013d1bf482fc0b10eb783942376b58a892"
            },
            "downloads": -1,
            "filename": "umicp_python-0.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "afc34ab5a2dacf1e08eb5ed51ad8e119",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 42557,
            "upload_time": "2025-10-17T23:39:48",
            "upload_time_iso_8601": "2025-10-17T23:39:48.323282Z",
            "url": "https://files.pythonhosted.org/packages/47/45/b0320bdaa47629bab0c23a31ba05ddaeddabccc19a175f020746e4b551fb/umicp_python-0.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-17 23:39:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "hivellm",
    "github_project": "umicp",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "umicp-python"
}
        
Elapsed time: 0.46297s