Skip to main content

budgetbakers-partner-sdk

Server SDK for the BudgetBakers Partner AISP API, for Python. One runtime dependency (httpx); Python ≥ 3.10; fully typed; import name budgetbakers_partner_sdk. Default base URL: https://aisp-partner.bbapi.io (the API key selects sandbox vs live).

Install

Until the package is on PyPI, download the wheel from the downloads page and install it locally:

pip install ./budgetbakers_partner_sdk-<version>-py3-none-any.whl

Once published, the package name is budgetbakers-partner-sdk; your code does not change.

Example

import os
from budgetbakers_partner_sdk import BudgetBakers

bb = BudgetBakers(api_key=os.environ["BB_API_KEY"])

# Capability discovery (mode = sandbox|live, decided by the key).
config = bb.partner.get_config()

# Clients upsert by externalId.
client = bb.clients.create(externalId="user-42", email="u42@example.com", countryCode="CZ")

# Client-scoped calls hide the X-Client-Id header.
scope = bb.client(client["id"])

# Hosted connect flow: open hostedUrl in the user's browser, then poll.
session = scope.connect_sessions.create("https://app.example.com/bb-callback")
done = scope.connect_sessions.wait_for_terminal(session["sessionId"])

# Accounts: every page walked (Disabled, unselected accounts included).
accounts = scope.connections.list_accounts(done["connectionId"])

# Cursor pagination as generators; filters and delta sync as keyword arguments.
for tx in scope.accounts.transactions(accounts[0]["id"], since_seq=0):
    ...  # tx["amount"] is a decimal.Decimal - money is never a float.

Webhook verification

# Constant-time verification against ALL active secrets (±300 s),
# typed events; unknown types pass through, never raise (respond 2xx).
from budgetbakers_partner_sdk import parse_event, verify
result = verify(secrets, request.headers["X-BB-Signature"], raw_body)
event = parse_event(raw_body)

Verify over the raw request body bytes, before any JSON parsing.

Behavior

  • Typed errors - PartnerApiError.code is the stable machine code (error.code); branch on it, never on messages. request_id carries the X-Request-Id correlation id.
  • Retries - exponential backoff + jitter on 429/5xx honoring Retry-After; POST retries only under an Idempotency-Key (auto-UUID on creates, explicit idempotency_key= override).
  • Money - json.loads(parse_float=Decimal) + quantization at the money keys; amounts are exact decimal.Decimal, never float.
  • Nullability - only id is guaranteed on Client/Connection/Account payloads (plus subscriptionStatus on accounts and seq/createdSeq/ recordDate on transactions).
  • Paths - reads and creates call /v2 and unwrap the {"data": ...} envelope; the connection lifecycle actions (connections.create/delete/ refresh/reconnect/revoke) call /v1, where they live today. clients.get_by_external_id returns None when nothing matches.

Documentation

Guides and the API reference: https://aisp-docs.bbapi.io. Questions: integration@budgetbakers.com.

Licence

Apache-2.0 (see LICENSE and NOTICE). Access to the Partner API itself is governed by the BudgetBakers Partner Terms of Service.

Metadata

Release files for budgetbakers-partner-sdk 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for budgetbakers-partner-sdk 0.2.0
File Size Uploaded Provenance
budgetbakers_partner_sdk-0.2.0.tar.gz 36.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for budgetbakers-partner-sdk 0.2.0
File Interpreter ABI Platform
budgetbakers_partner_sdk-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 58.3 kB

Release files / budgetbakers_partner_sdk-0.2.0.tar.gz

Download URL budgetbakers_partner_sdk-0.2.0.tar.gz
Size 36.5 kB
Tags Source
SHA-256 checksum
How to use checksums
a62ed93d55e8512bc6fd9ef242ae4d25c2859d30f9676a2e2b5a3f87934194af
BLAKE2b-256 checksum
How to use checksums
82b90a343b19cb38b61a7c3324c8c102cbdec211c12e8c4fa92d4f091ec03898
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / budgetbakers_partner_sdk-0.2.0-py3-none-any.whl

Download URL budgetbakers_partner_sdk-0.2.0-py3-none-any.whl
Size 21.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8868ecc50e9abd6f116eb6cb7ec92ce27d9f96ee5d6bd2e359af3241d37967a9
BLAKE2b-256 checksum
How to use checksums
2e8e57fae894d3a4fcabb2cbec3059ca5f15359988dadcdba0f14997308feb85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for budgetbakers-partner-sdk 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page