These pages were written in October 2026, when the latest releases were sg-vivenu-sdk v0.8.0 and sg-intacct-xml-sdk v0.5.0. Changes made on
main since then are listed under Unreleased in each changelog until the next release.Overview
Both support Python 3.11 to 3.14, ship sync and async clients, and follow the same SDK Conventions. Code that uses both in one flow reads the same way.
Repositories
Install From a Release Tag
The repositories are private and the SDKs are not published to PyPI. Install a tagged release from GitHub. Your machine or CI runner needs read access to the repository.pyproject.toml
Key Files
Each repository has the same entry points.Several Hubs and Entities
Each hub is its own vivenu seller with its own API key and HMAC secret. Create one vivenu client per hub. Clients can share onehttpx.Client, because credentials are applied per request.
For Intacct, create one client per entity with client.for_entity(location_id), and bind writes to the entity with prepare_write(calls, location_id=...).
Pass the raw HMAC secret to the vivenu webhook helpers, the same value the receiving platform stores. Do not pass the base64 value pasted into the vivenu dashboard.
