Wizelit Agent Wrapper - Internal utility package
Project description
wizelit-sdk
Internal utility package for Wizelit Agent operations.
New to Wizelit? Start with the Quick Start Guide to build your first agent in under 30 minutes!
Installation
Install from PyPI
uv pip install wizelit-sdk
Add to pyproject.toml
[project]
dependencies = [
"wizelit-sdk"
]
Quickstart
- Install the package (see above).
- Configure environment variables (see Configuration).
- Import and use the SDK from your app.
CLI
The package also installs a small command-line tool named wizelit-sdk which helps scaffold and manage agent projects.
Install and run the CLI:
# Install package (global or in virtualenv)
pip install wizelit-sdk
# Create a new project using a template (fast|slow|hybrid)
wizelit-sdk init "My Agent" --template hybrid
# Alternative (without wrapper):
python -m wizelit_sdk.cli init "My Agent" --template hybrid
Useful commands:
wizelit-sdk init <name> [--template fast|slow|hybrid]— scaffold a new agent projectwizelit-sdk scaffold <name>— basic scaffold (older command)wizelit-sdk validate [path]— validate project structurewizelit-sdk list-tools [path]— list functions decorated with@mcp.ingest
If you are developing locally, install editable and use the wrapper from your virtualenv:
# from repo root
pip install -e .
source .venv/bin/activate
wizelit-sdk init "My Agent"
Usage
from wizelit_agent_wrapper import your_module
# Use the wrapper
result = your_module.function()
SDK Guide
Basic import patterns
from wizelit_sdk import database, exceptions
from wizelit_sdk.agent_wrapper import agent_wrapper
Initialize and call
# Example: create a wrapper and call a method
wrapper = agent_wrapper.WizelitAgentWrapper()
result = wrapper.run()
Error handling
from wizelit_sdk.exceptions import WizelitError
try:
wrapper.run()
except WizelitError as exc:
# handle SDK-specific errors
print(exc)
Features
Universal MCP Bridge (Multi-Language Support)
The Universal MCP Bridge enables you to create language-independent MCP servers that can invoke tools written in any programming language (Python, Node.js, Go, Rust, etc.).
Key Capabilities:
- Subprocess Execution: Run scripts or CLI tools in any language
- HTTP/REST Integration: Call HTTP services or APIs
- gRPC Support: Invoke gRPC services (optional)
- Python Functions: Direct Python function calls (backward compatibility)
- Job Management: Long-running job support with progress tracking
- Log Streaming: Real-time log streaming via Redis
Quick Example:
from wizelit_sdk.universal_bridge import UniversalMCPBridge
# Create a multi-language bridge from config
bridge = UniversalMCPBridge(
config_file="bridge-config.yaml",
name="multi-language-bridge",
host="0.0.0.0",
port=8080,
)
# Start the server
bridge.run()
Configuration Example:
# bridge-config.yaml
adapters:
subprocess:
enabled: true
http:
enabled: true
timeout: 30
tools:
# Node.js tool via subprocess
- name: 'analyze_code'
type: 'subprocess'
language: 'nodejs'
command: 'node'
script: '/path/to/analyze.js'
args: ['{code}', '{language}']
# Go service via HTTP
- name: 'format_code'
type: 'http'
language: 'go'
url: 'http://localhost:8081/format'
method: 'POST'
Learn More:
- 📖 Universal Bridge Documentation
- � Node.js Integration Guide - Complete guide with examples
- 📂 Configuration Examples
- 💻 Node.js Example Project
- 🏗️ Architecture Overview
Configuration
The SDK reads database configuration from the hosting application's environment. Provide these variables in the consuming project (e.g., via your app's .env or deployment secrets):
- POSTGRES_USER
- POSTGRES_PASSWORD
- POSTGRES_HOST
- POSTGRES_PORT
- POSTGRES_DB
You can also supply a full connection string via DATABASE_URL (overrides the individual fields). If using streaming/logging with Redis, set REDIS_HOST, REDIS_PORT, and optionally REDIS_PASSWORD.
Development
Setup Development Environment
# Clone repository
git clone https://github.com/your-org/wizelit-sdk.git
cd wizelit-sdk
# Set up environment
make setup
# Activate virtual environment
source .venv/bin/activate # Windows: .venv\Scripts\activate
# Install in development mode
make install-dev
Available Make Commands
make setup # Set up development environment
make install # Install package (production mode)
make install-dev # Install in development mode
make test # Run tests
make lint # Run code linting
make format # Format code with black
make check # Run tests and linting
make clean # Clean build artifacts
make build # Build package
make release x.x.x # Create new release (updates version, tags, pushes)
make tag VERSION=x.x.x # Create and push git tag
make push # Push code and tags to remote
make publish # Publish package (run checks, build, push to remote)
make publish-pypi # Publish package to public PyPI
make publish-artifactory # Publish package to private Artifactory/PyPI
make version # Show current version
make versions # List all available versions
Deploy to PyPI
Use the built-in Makefile target (recommended):
make publish-pypi
This target will:
- Verify the git working tree is clean.
- Run tests and linting (
make check). - Build the package (
make build). - Upload the artifacts in
dist/to PyPI viatwine.
Optional release/tag flow (before publishing):
# Interactive release flow (updates version, tags, pushes)
make release x.x.x
# Or tag a specific version
make tag VERSION=x.x.x
Notes:
- Ensure your PyPI credentials are configured locally (e.g., via $HOME/.pypirc or your preferred environment variables).
- The package version must be unique on PyPI; if a version already exists, bump it and rebuild.
Contributing
- Create a feature branch
- Make your changes
- Run tests and linting:
make check - Commit your changes
- Push and create a pull request
Versioning
We use Semantic Versioning:
- MAJOR version for incompatible API changes
- MINOR version for new functionality (backward compatible)
- PATCH version for bug fixes
See CHANGELOG.md for version history.
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 wizelit_sdk-0.1.40.tar.gz.
File metadata
- Download URL: wizelit_sdk-0.1.40.tar.gz
- Upload date:
- Size: 222.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3e1dc4eceef4cc1625ee652c19eaffb0a87fbf3c4a1bad31d5a6ca7b0542d86
|
|
| MD5 |
1d3a4e267cef95e1d0a0bc652d183878
|
|
| BLAKE2b-256 |
f240869f2eca8b70604b41d3585e43c5be48f04428a1be1e2d971b226be9c367
|
Provenance
The following attestation bundles were made for wizelit_sdk-0.1.40.tar.gz:
Publisher:
release.yml on wizeline/wizelit-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wizelit_sdk-0.1.40.tar.gz -
Subject digest:
a3e1dc4eceef4cc1625ee652c19eaffb0a87fbf3c4a1bad31d5a6ca7b0542d86 - Sigstore transparency entry: 1027219548
- Sigstore integration time:
-
Permalink:
wizeline/wizelit-sdk@d2b7090a493ab93815bea79dbf5794f658185f77 -
Branch / Tag:
refs/tags/v0.1.40 - Owner: https://github.com/wizeline
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d2b7090a493ab93815bea79dbf5794f658185f77 -
Trigger Event:
push
-
Statement type:
File details
Details for the file wizelit_sdk-0.1.40-py3-none-any.whl.
File metadata
- Download URL: wizelit_sdk-0.1.40-py3-none-any.whl
- Upload date:
- Size: 38.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ef3ccbd7e02ae9665e9b0387e698f72228cd0281b300be1d2c8a4bd8b0ae62c
|
|
| MD5 |
6d440e2448e3e7de74e0022d4aa33b71
|
|
| BLAKE2b-256 |
86a140a3a9a926d37c27cb162f0dca6c2c2f701c877fb25a1384f95068e20cf8
|
Provenance
The following attestation bundles were made for wizelit_sdk-0.1.40-py3-none-any.whl:
Publisher:
release.yml on wizeline/wizelit-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wizelit_sdk-0.1.40-py3-none-any.whl -
Subject digest:
9ef3ccbd7e02ae9665e9b0387e698f72228cd0281b300be1d2c8a4bd8b0ae62c - Sigstore transparency entry: 1027219629
- Sigstore integration time:
-
Permalink:
wizeline/wizelit-sdk@d2b7090a493ab93815bea79dbf5794f658185f77 -
Branch / Tag:
refs/tags/v0.1.40 - Owner: https://github.com/wizeline
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d2b7090a493ab93815bea79dbf5794f658185f77 -
Trigger Event:
push
-
Statement type: