Skip to main content

Asynchronous Python wrapper around Bank of Maldives (BML) API

Project description

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.

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

aiobml-1.0.3.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

aiobml-1.0.3-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file aiobml-1.0.3.tar.gz.

File metadata

  • Download URL: aiobml-1.0.3.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for aiobml-1.0.3.tar.gz
Algorithm Hash digest
SHA256 7765892fdac77d569ab905bb32c1cfd365ea35a19fc3a4f80778710997b7bb94
MD5 aa260973c1712911c2d7b45e9e4d2c0a
BLAKE2b-256 f97721bebde7cd29c296a7d6d0605bb5b598c2897ff60c803f42eda3c530d5dc

See more details on using hashes here.

File details

Details for the file aiobml-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: aiobml-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 12.5 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for aiobml-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 25e6013247c7ba6665e8c5e1810233532a914348ad1216a4e07fb017bc19163f
MD5 11384b5a7118a39b73dab790a5b77743
BLAKE2b-256 a72f1a674fd8785897c50b3de7278d62d1cf2ae0c0dd4dbbb755cf9e3b783956

See more details on using hashes here.

Supported by

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