Skip to main content

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

  1. Install the package (see above).
  2. Configure environment variables (see Configuration).
  3. 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 project
  • wizelit-sdk scaffold <name> — basic scaffold (older command)
  • wizelit-sdk validate [path] — validate project structure
  • wizelit-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:

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:

  1. Verify the git working tree is clean.
  2. Run tests and linting (make check).
  3. Build the package (make build).
  4. Upload the artifacts in dist/ to PyPI via twine.

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

  1. Create a feature branch
  2. Make your changes
  3. Run tests and linting: make check
  4. Commit your changes
  5. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wizelit_sdk-0.1.40.tar.gz (222.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wizelit_sdk-0.1.40-py3-none-any.whl (38.7 kB view details)

Uploaded Python 3

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

Hashes for wizelit_sdk-0.1.40.tar.gz
Algorithm Hash digest
SHA256 a3e1dc4eceef4cc1625ee652c19eaffb0a87fbf3c4a1bad31d5a6ca7b0542d86
MD5 1d3a4e267cef95e1d0a0bc652d183878
BLAKE2b-256 f240869f2eca8b70604b41d3585e43c5be48f04428a1be1e2d971b226be9c367

See more details on using hashes here.

Provenance

The following attestation bundles were made for wizelit_sdk-0.1.40.tar.gz:

Publisher: release.yml on wizeline/wizelit-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for wizelit_sdk-0.1.40-py3-none-any.whl
Algorithm Hash digest
SHA256 9ef3ccbd7e02ae9665e9b0387e698f72228cd0281b300be1d2c8a4bd8b0ae62c
MD5 6d440e2448e3e7de74e0022d4aa33b71
BLAKE2b-256 86a140a3a9a926d37c27cb162f0dca6c2c2f701c877fb25a1384f95068e20cf8

See more details on using hashes here.

Provenance

The following attestation bundles were made for wizelit_sdk-0.1.40-py3-none-any.whl:

Publisher: release.yml on wizeline/wizelit-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page