Skip to main content

Overview

Transports define where Speckle objects are stored and retrieved from. They provide a consistent interface for operations.send() and operations.receive().

ServerTransport

Sends and receives objects from a Speckle server. This is the primary transport for production use.

Constructor

Parameters:
str
required
Project ID
SpeckleClient
default:"None"
Authenticated client
Account
default:"None"
Account object
str
default:"None"
Token (use with url parameter)
str
default:"None"
Server URL (use with token parameter)
str
default:"\"RemoteTransport\""
Transport identifier
Provide one authentication method: client, account, or token + url.

Usage

Authentication Options

Using Client (Recommended):
Using Token:
Using Account:

MemoryTransport

Stores objects in memory. Useful for testing and temporary operations.
Properties:
  • objects (Dict[str, str]) - Dictionary of stored objects
  • saved_object_count (int) - Number of objects saved
Data is lost when the application exits. Not suitable for production.

SQLiteTransport

Stores objects in a local SQLite database for persistent local storage.
Parameters:
str
default:"None"
Custom directory for database
str
default:"\"Speckle\""
Application name
str
default:"\"Objects\""
Database scope/purpose
float
default:"10.0"
Batch size in MB
Database location:
  • Windows: %APPDATA%\{app_name}\{scope}.db
  • macOS: ~/Library/Application Support/{app_name}/{scope}.db
  • Linux: ~/.config/{app_name}/{scope}.db
Use cases:
  • Local caching of server data
  • Offline workflows
  • Persistent local storage

Multiple Transports

Send to multiple locations simultaneously:

Custom Transports

Create custom transports by extending AbstractTransport:

Comparison

Operations

Send and receive operations

SpeckleClient

Client setup
Last modified on July 18, 2026