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.1

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.1
File Size Uploaded Provenance
budgetbakers_partner_sdk-0.2.1.tar.gz 36.5 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 58.3 kB

Release files / budgetbakers_partner_sdk-0.2.1.tar.gz

Download URL budgetbakers_partner_sdk-0.2.1.tar.gz
Size 36.5 kB
Tags Source
SHA-256 checksum
How to use checksums
163d936e397d511305e354bf26a109605f2057de94c0f3b5e81d37013eda6d06
BLAKE2b-256 checksum
How to use checksums
59bab4d5e11ab8833e5b6374d2aa44b25c7b4cd49d8b17f6e0ec64d2b8d50109
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.1-py3-none-any.whl

Download URL budgetbakers_partner_sdk-0.2.1-py3-none-any.whl
Size 21.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
361aeae52bbd748772bf21cbfd990ec8348c71b5c0deded1276148606a64b062
BLAKE2b-256 checksum
How to use checksums
feefcde889b8220c1907ccaf53cec4d7ba18a2316d49cba5935c56dc5c26cc62
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.1

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.1 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