Skip to main content

This is an asynchronous wrapper around Bank of Maldives API.

How it works

Currently you can use this library to get the transaction history of all your Bank of Maldives accounts, details of all you BML accounts & contacts and add & remove contacts. If you want to check for new transactions; save the transactions to a db, check, alert and add any transactions that's not currently saved to the db check the basic example below.

Async Bank of Maldives (BML) API

Python Version aiobml · PyPI PyPI - Status Maintenance LICENSE

ViewCount GitHub forks GitHub stars PyPI - Downloads contributions welcome GitHub issues

This library is not fully completed yet. As of now it can be used to get the transactions done within the last 24 - 48 hours, get all the information about your Accounts and your contacts and add & remove contacts. scroll to the end to see the to do list of this library

setup

You must have python 3 installed

using PIP

$ pip install -U aiobml

From Source

$ git clone https://github.com/quillfires/aioBML.git

$ cd aioBML

$ python setup.py install

Basic Example

import asyncio

from aiobml import asyncBML

loop = asyncio.get_event_loop()
bank = asyncBML(username="your_user_name",password="your_password")

async def start_bank_client():
    await bank.start()

@bank.event('new_transaction')
async def on_new_transaction(transaction):
    print(transaction)
    # on app reboot, event will trigger for all the transactions within 24 hours
    # Use a db to avoid being notified of the same transaction.
    # check if transaction is in your db
    # if not, save to db and alert about the transaction

async def contacts():
    data = await bank.get_contacts()
    print(data)
    # show all the contacts you have saved

async def accounts():
    data = await bank.get_accounts()
    print(data)
    # show all the accounts you have in Bank of Maldives

async def add_cont(account, name):
    added_acc = await bank.add_contact(account, name)
    print(added_acc)
    # adds the account your contact list
    # throws DuplicateContent error if it is already in the contact list

async def delete_cont(account):
    await bank.delete_contact(account)
    # deletes the first match from your contact list
    # account can be the account number or the saved name

if __name__ == '__main__':
    try:
        loop.run_until_complete(start_bank_client())
    except (KeyboardInterrupt, SystemExit):
        pass
    finally:
        loop.run_until_complete(bank.close())

Changlog

See the change log here

Todo

  • Get todays history
  • Get Account details
  • Get contacts
  • Add contacts
  • Delete contacts
  • Get history from a date range
  • Make Transfer to a given account number
  • Make transfers to contacts.

Metadata

Release files for aiobml 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aiobml 1.0.4
File Size Uploaded Provenance
aiobml-1.0.4.tar.gz 11.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for aiobml 1.0.4
File Interpreter ABI Platform
aiobml-1.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 23.6 kB

Release files / aiobml-1.0.4.tar.gz

Download URL aiobml-1.0.4.tar.gz
Size 11.1 kB
Tags Source
SHA-256 checksum
How to use checksums
8bbbe5e24633417d1206453b8def4290702ccf950b230091732f54eb10a8d222
BLAKE2b-256 checksum
How to use checksums
db06297e0a751229554f05347bddc8f05e0be924f309fb6b5b78b3dd33194871
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.9

Release files / aiobml-1.0.4-py3-none-any.whl

Download URL aiobml-1.0.4-py3-none-any.whl
Size 12.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b649027c5b43c052fc295855686ae00fe9b7a459207759d028f38e44c0793746
BLAKE2b-256 checksum
How to use checksums
1e76bc86a3b2122b752976e164998c7038e943b9bd62297024cd54db26d4b130
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.9

Security for aiobml 1.0.4

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.

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