This notebook currently targets Revit-oriented analytics paths (for example
category
and proxy.level examples in EAV queries).
It expects versions published from Speckle Connectors >3.20.- Resolve a model version with SpecklePy.
- Check whether analytics datasets are available for that version.
- Download both artifacts from server endpoints.
- Query them locally with DuckDB.
Why this workflow
For analytics, this path is usually faster and more repeatable than traversing the full object graph:- The main dataset (
.duckdb) providesobjectsandroottables. - The EAV dataset (
.eav.duckdb) provides query-readypropertiesandproxiestables.
Prerequisites
- Python 3.10+
- Personal access token with project read access
- A version published from Speckle Connectors
>3.20 - A model URL (recommended), or
projectId+modelId(version optional) - Packages:
.env file in your working folder:
Endpoint shape
GivenprojectId, modelId, versionId, the server exposes:
- Main dataset:
/api/v1/projects/{projectId}/models/{modelId}/versions/{versionId}/download - EAV dataset:
/api/v1/projects/{projectId}/models/{modelId}/versions/{versionId}/eav/download
Step-by-step tutorial
1) Authenticate with SpecklePy
2) Resolve IDs with minimal input and check dataset availability
objectKey is the server-side signal that a version has a generated primary dataset.
3) Download datasets
4) Query with DuckDB
5) Optional EAV analytics queries
Notebook
Download the notebook. Save it locally, add your.env in the same folder, and run top to bottom.
Troubleshooting
404 on dataset download
404 on dataset download
Check
projectId, modelId, and versionId first. Then confirm the version has objectKey in
GraphQL metadata.Why does this fail on older published versions?
Why does this fail on older published versions?
Some historical versions were published before dataset auto-generation was enabled. Those
versions can return availability or download errors for this workflow. Use a newer published
version where datasets are generated.
403 or 401 on download
403 or 401 on download
Verify token scope and project access. Use a PAT with read access to that project.
EAV dataset missing but main dataset exists
EAV dataset missing but main dataset exists
The version may not have completed EAV extraction yet. Retry later, or use only the main dataset
until EAV is ready.