suredata-client (0.1.1)

Published 2026-05-29 21:16:50 +00:00 by gurbakhshish in gurbakhshish/suredata_client

Installation

pip install --index-url  suredata-client

About this package

Python client and CLI for extracting data from the Sure Finance API

suredata-client

Python package and CLI for extracting data from the Sure Finance API.

Install

uv sync --all-extras

Configuration

Variable Description
SURE_BASE_URL API base URL (default: https://app.sure.am)
SURE_API_KEY API key sent as X-Api-Key

CLI flags --base-url and --api-key override environment variables.

CLI

# List supported resources
suredata-client resources

# List one page of accounts
export SURE_API_KEY=your-key
suredata-client list accounts --page 1 --per-page 25

# Fetch all pages as JSON
suredata-client list transactions --all -o json

# Stream JSONL to a file (container-friendly)
suredata-client list categories --all -o jsonl -f /data/categories.jsonl

# Get a single record
suredata-client get accounts <uuid>

# Balance sheet
suredata-client balance-sheet

Docker-style usage

docker run --rm \
  -e SURE_API_KEY \
  -e SURE_BASE_URL=https://app.sure.am \
  suredata-client:latest \
  list transactions --all -o jsonl -f /out/transactions.jsonl

Python API

from suredata_client import SureClient, load_settings
from suredata_client.endpoints import Endpoints

settings = load_settings()  # reads SURE_* env vars
with SureClient(settings) as client:
    api = Endpoints(client)
    for account in api.iter_all("accounts"):
        print(account["name"])

Development

uv sync --all-extras
ruff format .
ruff check .
uvx ty check
pytest

MVP resources

accounts, transactions, categories, merchants, tags, balances, holdings, trades, transfers, budgets, valuations, syncs, imports, family_exports, plus balance-sheet.

Requirements

Requires Python: >=3.12
Details
PyPI
2026-05-29 21:16:50 +00:00
2
42 KiB
Assets (2)
Versions (6) View all
0.3.1 2026-08-06
0.1.5 2026-08-04
0.1.4 2026-06-11
0.1.3 2026-06-10
0.1.2 2026-05-29