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
Choosing an SDK
Pick the SDK that matches where your code runs, not a feature checklist.| You’re building… | Recommended SDK |
|---|---|
| Grasshopper C# automation, BIM QA scripts, Revit plugins | .NET |
| Desktop connectors and host-app integrations | .NET |
| Data engineering, notebooks, analytics (no C# host) | Python |
| Computational design in Python ecosystems | Python |
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.| Concept | What it is | Learn more |
|---|---|---|
| Authentication | How your code proves identity to Speckle Server (PAT, OAuth, stored accounts) | Authenticating with Speckle |
| Projects | Top-level containers for related work on a server | Projects, Models, and Versions |
| Models | Branches within a project (for example structural, MEP, main) | Projects, Models, and Versions |
| Versions | Immutable snapshots of a model, each referencing a sent object graph | Projects, Models, and Versions |
| Objects | The unit of data exchange — geometry, properties, nested graphs | Data Schema overview · Object schema |
| GraphQL | The API surface the SDKs call on Speckle Server | GraphQL API reference |
| Transports | How serialized objects move to storage (server, local cache, in-memory) | Python: Transports · .NET: Load and publish model data |
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
Do I need to read both SDK documentations?
Do I need to read both SDK documentations?
No. Read this page for orientation, then follow one learning path — Python or .NET — for installation, authentication, and examples.
Where is platform data structure documented?
Where is platform data structure documented?
Data Schema is language-agnostic. SDK Concepts pages explain how each language maps onto it.
Can I mix Python and .NET in one product?
Can I mix Python and .NET in one product?
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).