add provider bindings MVP to goose-sdk, and add python wheel publishing (#10208)

This commit is contained in:
Jack Amadeo
2026-07-05 18:15:54 -07:00
committed by GitHub
parent 782f69f175
commit 140158c756
23 changed files with 727 additions and 113 deletions
+15
View File
@@ -0,0 +1,15 @@
# goose-sdk
Python bindings for the Goose SDK.
This package is generated from the Rust `goose-sdk` crate using UniFFI.
## Build a local wheel
From the repository root:
```bash
just --justfile crates/goose-sdk/justfile python-wheel
```
The wheel is written to `crates/goose-sdk/python/dist/`.
+34
View File
@@ -0,0 +1,34 @@
[build-system]
requires = ["setuptools>=69", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "goose-sdk"
version = "0.1.0a0"
description = "Python bindings for the Goose SDK"
readme = "README.md"
requires-python = ">=3.9"
license = "Apache-2.0"
authors = [{ name = "AAIF", email = "ai-oss-tools@block.xyz" }]
keywords = ["goose", "sdk", "ai", "agent", "uniffi"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Rust",
]
[project.urls]
Homepage = "https://github.com/aaif-goose/goose"
Repository = "https://github.com/aaif-goose/goose"
Issues = "https://github.com/aaif-goose/goose/issues"
[tool.setuptools]
package-dir = { "" = "src" }
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
goose = ["*.so", "*.dylib", "*.dll", "py.typed"]
+15
View File
@@ -0,0 +1,15 @@
from setuptools import setup
from wheel.bdist_wheel import bdist_wheel
class BinaryWheel(bdist_wheel):
def finalize_options(self):
super().finalize_options()
self.root_is_pure = False
def get_tag(self):
_, _, platform_tag = super().get_tag()
return "py3", "none", platform_tag
setup(cmdclass={"bdist_wheel": BinaryWheel})