Skip to main content
Speckle provides SDKs — libraries that let you authenticate with Speckle Server, send and receive AEC data, and build integrations in the language that fits your project. Each SDK implements the same platform: projects, models, versions, objects, and the GraphQL API. The APIs differ; the concepts transfer.
Compatible with Speckle Object Model v3. Platform structure is documented in Data Schema; language-specific setup lives under Python and .NET.

What are the Speckle SDKs?

The SDKs are how developers talk to Speckle outside the web app and desktop connectors. They let you:
  • Authenticate with Speckle Server
  • Create and query projects, models, and versions
  • Send and receive object graphs (geometry, BIM data, custom payloads)
  • Traverse, filter, and process data in code
specklepy (Python) and Speckle.Sdk (.NET) are the production SDKs documented today. speckle.js (TypeScript) is in development — see speckle.js. Each SDK follows its language ecosystem (packaging, patterns, tooling). Platform behaviour is shared; examples and onboarding are language-specific.

Choosing an SDK

Pick the SDK that matches where your code runs, not a feature checklist.
Both SDKs can call the same server, read the same projects, and work with the same object model. If your team already uses Python or C#, start there.

Common platform concepts

These ideas are the same in every SDK. Learn the platform once; apply it in whichever language you use.

Learning paths

Python (specklepy)

Introduction

specklepy overview and repository

Installation

Install with pip

Quickstart

First send and receive workflow

Core Concepts

Projects, objects, traversal

Guides

Task-oriented recipes

API Reference

Client, operations, resources

.NET (Speckle.Sdk)

Build your first model analysis tool

Load, traverse, export CSV — recommended start

Installation

Install with NuGet

Automate with scripts

Shortest path for scripts and Grasshopper C#

Full send/receive tour

Optional deep dive — Send, Receive, and transports

Core concepts

Projects, objects, send paths

Guides

Task-oriented recipes

API reference

Method lookup after you have a working script

One platform, multiple SDKs

Speckle is one platform. Each SDK embraces the conventions of its language — import-and-go in Python, a one-time bootstrap in .NET for scripts — while exposing the same server resources and object model. Platform concepts (projects, versions, objects, proxies, display values) transfer between SDKs. Code samples, bootstrap patterns, and API shapes stay language-specific. When a new SDK ships, it extends this shared model; you do not relearn what Speckle is.

FAQ

No. Read this page for orientation, then follow one learning path — Python or .NET — for installation, authentication, and examples.
Data Schema is language-agnostic. SDK Concepts pages explain how each language maps onto it.
Yes. Both can target the same Speckle Server and projects. Choose the SDK per component (for example Python for analytics, .NET for a Revit connector).
Last modified on July 18, 2026