Specklepy 3.0.0 is here

Hey @Community a new major version for specklepy is live.

This release marks the introduction of SpecklePy 3.0.0—the first SDK version built for compatibility with the NextGen Speckle connectors. It represents a major refactor of the object model, API surfaces, and transport layers to support Speckle’s v3 data schemas and workflows.

:warning: Breaking Changes

  • Full transition to v3 object model. All legacy Speckle data types (v2) have been replaced and they are not available any more in the SDK. If you are still operating on V2 connector data, we recommend pinning your specklepy version to the latest release, which is currently 2.23.0.
  • Removal of FE1 (GraphQL v1) client functions. All “FE1” aka old nomenclature (streams, branches, commits) mutations, and queries have been stripped out. Instead, a new FE2 API is used for all operations, so code using the old stream / client.branch queries must be updated to their new equivalents. The migration is mostly a drop in replacement.
  • Minimum Python version bumped to ≥ 3.10. Support for Python 3.8 and 3.9 has been dropped; if you’re still on an older interpreter, you’ll see compatibility errors until you upgrade.

:new_button: Features & Enhancements

Completely redesigned object schema

  • With the NextGen connector releases, we’ve redesigned our objects schema from the ground up to make it easier to get raw access to your 3D data.
    Read more on the migration on our blog

:robot: Speckle Automate updates

  • The Automate integration has been updated to use the new API only. Keep the breaking changes mentioned above while upgrading your function.
  • The attach_{result/error/warning...}_to_objects function signatures have been changed to require passing in the affected objects by reference, not just their objectIds. This allows us to better integrate automation results in our connectors.
  • The function template has also been updated to reflect these changes.
  • It also got some simplifications to its packaging and project management system. We’ve dropped poetry as a dependency and we’re now relying on plain old pip with the new standard pyproject.toml spec to manage your project and its dependencies. Read more in detail in the function readme.

That’s it for specklepy v3, stay tuned for a similar post for our c# stack soon.

12 Likes