Skip to main content
Documentation Coming Soon - Comprehensive Python SDK documentation is being prepared. In the meantime, use the API Reference and code examples throughout the guides.

Quick Start

Installation

pip install intelliprint

Basic Usage

import intelliprint

ip = intelliprint.Client('your-api-key')

print_job = ip.prints.create(
    testmode=True,
    content='<h1>Hello World!</h1>',
    recipients=[{
        'address': {
            'name': 'John Doe',
            'line': '123 Main St, London',
            'postcode': 'SW1A 1AA',
            'country': 'GB'
        }
    }],
    confirmed=True
)

print(f'Print job created: {print_job.id}')

Resources

The Python SDK provides access to all API resources:
  • ip.prints - Print jobs
  • ip.backgrounds - Letterheads and templates
  • ip.mailing_lists - Recipient lists
  • ip.mailing_list_recipients - Individual recipients

Guides & Examples

While the complete SDK reference is being prepared, explore these guides with Python examples:

Configuration

ip = intelliprint.Client(
    'your-api-key',
    timeout=10,          # Request timeout (seconds) - default 30
    max_retries=3,       # Auto-retry failed requests - default 0
    api_version='v1'     # API version - default 'v1'
)

Error Handling

try:
    print_job = ip.prints.create(params)
except intelliprint.errors.InvalidRequestError as e:
    # Handle validation errors
    print(f'Invalid request: {e.message}')
except intelliprint.errors.AuthenticationError as e:
    # Handle auth errors
    print(f'Authentication failed: {e.message}')
except intelliprint.errors.IntelliPrintError as e:
    # Handle other errors
    print(f'Error: {e.message}')
    print(f'Type: {e.type}')
    print(f'Code: {e.code}')

Type Hints

The SDK includes full type hints for modern Python development:
from intelliprint import Client
from intelliprint.types import PrintJob, PrintJobCreateParams

ip: Client = intelliprint.Client('your-api-key')

params: PrintJobCreateParams = {
    'testmode': True,
    'content': '<h1>Hello</h1>',
    'recipients': [{
        'address': {
            'name': 'John Doe',
            'line': '123 Main St',
            'postcode': 'SW1A 1AA',
            'country': 'GB'
        }
    }]
}

print_job: PrintJob = ip.prints.create(**params)

Async Support

import asyncio
import intelliprint

async def send_letter():
    ip = intelliprint.AsyncClient('your-api-key')
    
    print_job = await ip.prints.create(
        testmode=True,
        content='<h1>Hello</h1>',
        recipients=[{'address': {}}],
        confirmed=True
    )
    
    print(f'Print job: {print_job.id}')

asyncio.run(send_letter())

Need Help?