monzo-lib

Crates.iomonzo-lib
lib.rsmonzo-lib
version0.4.5
sourcesrc
created_at2019-10-15 11:08:53.797779
updated_at2024-08-23 10:31:02.912436
descriptionasync Monzo client in pure rust.
homepagehttps://github.com/danieleades/monzo-lib
repositoryhttps://github.com/danieleades/monzo-lib
max_upload_size
id172665
size121,339
(danieleades)

documentation

README

Monzo

Latest Docs Continuous integration codecov

This crate is a Monzo client in pure rust.

It's ergonomic, strongly-typed, and asynchronous.

In order to use this client, you will first need to get an access token and/or refresh token for the Monzo API (see the monzo API docs)

Usage

use monzo::Client;

#[tokio::main]
async fn main() -> monzo::Result<()> {
    // You can create a simple monzo client using only an access token
    let quick_client = Client::new("ACCESS_TOKEN");

    // get a list of accounts
    let accounts = quick_client.accounts().await?;

    // get the id of one of the accounts
    let account_id = &accounts[0].id;

    // get the balance of that account
    let balance = quick_client.balance(account_id).await?;

    // If you have a refresh token and client credentials
    // you can create or upgrade a client which is capable
    // of refreshing its own access token.
    let mut refreshable_client =
        quick_client.with_refresh_tokens("CLIENT_ID", "CLIENT_SECRET", "REFRESH_TOKEN");

    refreshable_client.refresh_auth().await?;

    Ok(())
}

Contributing

see the following issue tags for good starting points for contributions

or checkout the project board

There are a couple of small gaps in the API surface, but the majority of the endpoints are already supported. If you need a piece of functionality that is not yet implemented, please open an issue or even better, a pull request.


License: Apache-2.0

Commit count: 78

cargo fmt