Skip to content

๐Ÿ’Ž Fully typed Python client for (a)sync interaction with Up's banking API

License

Notifications You must be signed in to change notification settings

jcwillox/up-bank-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

80 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Up Bank API

Project version Supported python versions License CodeFactor Grade Monthly Downloads Total Downloads Code style

This is an unofficial Python API wrapper for the Australian Bank Up's API.

This package is fully typed, documented, and it has an intuitive structure, so I'd recommend just having quick look at the docs, and letting syntax completion take the wheel.

Installation

pip install up-bank-api

To include async support

pip install up-bank-api[async]

Usage

To use this library you will need a personal access token which can be retrieved from https://developer.up.com.au. When using this library you can either provide the token directly or use the environment variable UP_TOKEN.

Synchronous Client

from upbankapi import Client, NotAuthorizedException

# implicitly use the environment variable UP_TOKEN
client = Client()

# or directly provide token
client = Client(token="MY_TOKEN")

# check the token is valid
try:
    user_id = client.ping()
    print(f"Authorized: {user_id}")
except NotAuthorizedException:
    print("The token is invalid")

Asynchronous Client

import asyncio
from upbankapi import AsyncClient, NotAuthorizedException

async def main():
    # implicitly use the environment variable UP_TOKEN
    client = AsyncClient()

    # or directly provide token
    client = AsyncClient(token="MY_TOKEN")

    # use a context manager to automatically close the aiohttp session
    async with AsyncClient() as client:
        try:
            user_id = await client.ping()
            print(f"Authorized: {user_id}")
        except NotAuthorizedException:
            print("The token is invalid")

if __name__ == "__main__":
    asyncio.run(main())

See the docs for more information, examples and code reference.