Skip to main content

Python SDK + CLI for ausdata.io — the unified API for Australian public data (ABS, RBA, ATO, APRA, AIHW, ASIC, AEMO, WGEA, BOM).

Project description

ausdataio — Python SDK + CLI for ausdata.io

Official Python client and command-line interface for ausdata.io, the unified API for Australian public data: ABS, RBA, ATO, APRA, AIHW, ASIC, AEMO, WGEA, BOM. One auth key, one envelope, every major source.

pip install ausdataio

Quickstart (3 lines)

from ausdataio import Ausdata

client = Ausdata()                       # reads AUSDATA_API_KEY env var
print(client.economic_dashboard())

Get a free key at https://ausdata.io. Free tier: 500 calls / month.

CLI

ausdata configure                        # store key in ~/.ausdata/config.json
ausdata dashboard                        # five headline macro indicators
ausdata cpi --region australia --limit 8
ausdata cashrate
ausdata real-wages --limit 12
ausdata search "youth unemployment"
ausdata data abs CPI -f region=australia -f limit=4
ausdata weather sydney

Run ausdata --help for the full command list.

CLI commands

Command Endpoint
health GET /v1/health
status GET /v1/status
whoami GET /v1/whoami
search <query> GET /v1/search-datasets
list [source] GET /v1/datasets[/{source}]
describe <source> <id> GET /v1/describe/{source}/{id}
data <source> <id> [-f k=v] GET /v1/data/{source}/{id}
releases GET /v1/releases
cpi ABS CPI shortcut
cashrate GET /v1/real-cash-rate
real-wages GET /v1/real-wages
dashboard GET /v1/economic-dashboard
cost-of-living GET /v1/cost-of-living
youth-unemployment GET /v1/youth-unemployment
trade-balance GET /v1/trade-balance
housing-affordability GET /v1/housing-affordability
gender-pay GET /v1/gender-pay-context
energy GET /v1/energy-snapshot
weather <location> GET /v1/weather/{location}
configure Save key to ~/.ausdata/config.json

Sync SDK

from ausdataio import Ausdata

with Ausdata(api_key="ak_...") as client:
    print(client.cpi(region="australia", limit=4))
    print(client.cash_rate())
    print(client.real_wages(limit=12))
    print(client.data("rba", "F1.1", limit=24))

Async SDK

import asyncio
from ausdataio import AsyncAusdata

async def main():
    async with AsyncAusdata() as client:
        snapshot = await client.economic_dashboard()
        print(snapshot)

asyncio.run(main())

Errors

The SDK raises typed exceptions you can catch::

from ausdataio import Ausdata
from ausdataio.errors import AuthenticationError, RateLimitError, AusdataError

try:
    Ausdata().economic_dashboard()
except AuthenticationError:
    print("Bad / missing key")
except RateLimitError as exc:
    print(f"Quota hit; retry after {exc.retry_after}s")
except AusdataError as exc:
    print(f"API error {exc.status_code}: {exc}")

Auth precedence

  1. --api-key (CLI flag) / api_key=... (SDK kwarg)
  2. AUSDATA_API_KEY environment variable
  3. ~/.ausdata/config.json (CLI only)

Recipes / built-with

Ready-to-run examples that combine ausdata with common tools:

  • Daily CPI digest → Slackcron + ausdata + requests → Slack message every release morning
  • Notion macro tracker — sync live cash rate / CPI / unemployment to a Notion database
  • Discord economy bot!cpi, !cashrate commands for AU finance communities
  • Real-wages tweet threadcron + ChatGPT + tweepy auto-thread on every WPI release
  • Newsletter widget — drop a live economic-dashboard <script> into Substack
  • Cursor / Continue.dev IDE plugin — autocomplete with AU data inline

See ausdata.io/built-with for working source.

Companion projects

Docs

What ausdata.io doesn't do (honest)

  • ❌ Suburb-level property prices (use CoreLogic)
  • ❌ Live KYC / per-company verification (use Kyckr / vigil)
  • ❌ Address-level flood / hazard (insurer-only via ICA NFID)
  • ❌ Open Banking / CDR consumer data (use Basiq / Frollo)
  • ❌ 5-min wholesale electricity bid stacks (use AEMO NEMWEB directly)

ausdata.io covers public macro / aggregate data with citation-ready provenance — see https://ausdata.io/pricing#what-we-dont for the full list.

Licence

FSL-1.1-MIT — free for any non-competing use; reverts to MIT after two years.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ausdataio-0.1.0.tar.gz (34.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ausdataio-0.1.0-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

Details for the file ausdataio-0.1.0.tar.gz.

File metadata

  • Download URL: ausdataio-0.1.0.tar.gz
  • Upload date:
  • Size: 34.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ausdataio-0.1.0.tar.gz
Algorithm Hash digest
SHA256 39704bffe32c2cbe8b997fcad2f1ce7edd37b1b837725b112b4cb7f370a294b7
MD5 8cef2d24bc67546b98e7ca729c000936
BLAKE2b-256 08710deefbb3559bb819562d2a346f8e69c95cb0336af77cd137c6ce36dbd9b6

See more details on using hashes here.

File details

Details for the file ausdataio-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ausdataio-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ausdataio-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 09de13e986e1a626b9f4acd4b2faa86a31fd41434503ba2f2680b7517908432c
MD5 866af7aeebe95065d0aada5026672c5f
BLAKE2b-256 1de198d3b633f7d658b797662dfcaaa9789ee22149f3f6e12e4ad7d92cf5d966

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page