Hey devs! Welcome to the Speckle Dev Docs - a single source of documentation on everything Speckle! If you're looking for info on how to use Speckle, check our user guide.
Speckle is the open source data platform for architecture, engineering, and construction. It liberates your data from proprietary file formats and closed source software and puts it back into your hands.
This part of our docs is for any developer planning to extend, integrate or improve Speckle. We'll walk you through the main concepts behind our tech and guide you through fun tasks as writing your own connector or writing custom Speckle apps.
We hope to see the great things you'll do with our SDKs and APIs, let's go!
# Speckle, the platform
Our platfrom is made of many moving parts, the code for anything Speckle 2.0 onwards is hosted in our GitHub specklesystems organization (opens new window). Here's a quick summary of the main repos you'll find there, please make sure to give them a star ⭐️ if you like what you see!
Speckle Server (opens new window) contains all the web-based applications including the server backend, the frontend webapp, and the 3D viewer.
└── speckle-server ├── server ├── frontend └── viewer
Speckle Sharp (opens new window) contains all the C# desktop components including the .NET SDK, the Connectors (Rhino, Revit, Grasshopper, & Dynamo...), and Objects (our default interoperability kit).
└── speckle-sharp ├── core ├── connector revit ├── connector rhino ├── connector dynamo ├── connector grasshopper ├── connector autocadcivil ├── desktopui └── objects ├── objects └── conerters ├── revit ├── rhinogh ├── dynamo └── autocadcivil
To put it simply, Speckle Sharp is what you use to free your data from different models and desktop applications and Speckle Server is where you send all this data and interact with it in the browser.
Speckle Py (opens new window) is our Python SDK. Are you more of a pythonista than a .NET ninja? Have a play with it!
Speckle Unity (opens new window) is our Unity Connector, it might make it inside Speckle Sharp in the future.
# Additional tools
Inside our GitHub organization you'll also find a few additional tools you might want to check out, for example the two below.
Ever struggle with janky behaviour in Grasshopper as things start getting complicated? You might really enjoy the GrasshopperAsyncComponent (opens new window). Do any dev work in Revit and want a handy tool for viewing and running unit tests? xUnitRevit (opens new window) might be exactly what you've been looking for.